<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.2"?>
<plugin>

   <extension
         point="org.eclipse.datatools.connectivity.connectionProfile">
      <newWizard
            name="%newwizard.name"
            icon="icons/new_db_element.gif"
            profile="%oda.data.source.id"
            description="%newwizard.description"
            class="org.eclipse.datatools.connectivity.oda.design.ui.profile.db.wizards.NewDbDataSourceWizard"
            id="%oda.data.source.id">
      </newWizard>
   </extension>
   <extension
         point="org.eclipse.ui.propertyPages">
      <page
            name="%profile.propertypage.name"
            class="org.eclipse.datatools.connectivity.oda.design.ui.profile.db.wizards.DbProfileEditorPage"
            id="%oda.data.source.id">
         <enabledWhen>
            <instanceof
                  value="org.eclipse.datatools.connectivity.IConnectionProfile">
            </instanceof>
         </enabledWhen>
         <filter
               name="org.eclipse.datatools.profile.property.id"
               value="%oda.data.source.id">
         </filter>
      </page>
   </extension>
   <extension
         point="org.eclipse.datatools.connectivity.oda.design.ui.dataSource">
      <dataSourceUI
            id="%oda.data.source.id">
         <newDataSourceWizard
               pageClass="dummy"
               includesProgressMonitor="false"
               pageTitle="%wizard.data.source.page.title"
               windowTitle="%wizard.window.title">
         </newDataSourceWizard>
      </dataSourceUI>
      <dataSetUI
            supportsOutParameters="false"
            supportsInParameters="false"
            initialPageId="org.eclipse.datatools.connectivity.oda.jdbc.dbprofile.sample.dataSet.page1"
            id="org.eclipse.datatools.connectivity.oda.jdbc.dbprofile.sample.dataSet">
         <dataSetWizard
               class="org.eclipse.datatools.connectivity.oda.design.ui.wizards.DataSetWizard"
               windowTitle="%wizard.data.set.window.title">
         </dataSetWizard>
         <dataSetPage
               displayName="%wizard.data.set.page.title"
               icon="icons/datasetpage.ico"
               wizardPageClass="org.eclipse.datatools.connectivity.oda.jdbc.dbprofile.sample.ui.impl.CustomDataSetWizardPage"
               path="/"
               id="org.eclipse.datatools.connectivity.oda.jdbc.dbprofile.sample.dataSet.page1">
         </dataSetPage>
      </dataSetUI>
   </extension>
   <extension
         point="org.eclipse.ui.navigator.viewer">
      <viewerContentBinding
            viewerId="org.eclipse.datatools.connectivity.DataSourceExplorerNavigator">
         <includes>
            <contentExtension
                  isRoot="false"
                  pattern="org.eclipse.datatools.connectivity.oda.jdbc.dbprofile.sample.ui.filter.commonFilter">
            </contentExtension>
         </includes>
      </viewerContentBinding>
      <viewerActionBinding
            viewerId="org.eclipse.datatools.connectivity.DataSourceExplorerNavigator">
         <includes>
            <actionExtension
                  pattern="org.eclipse.datatools.connectivity.oda.jdbc.dbprofile.sample.ui.filter.actionExtension">
            </actionExtension>
         </includes>
      </viewerActionBinding>
   </extension>
   <extension
         point="org.eclipse.ui.navigator.navigatorContent">
      <commonFilter
            activeByDefault="true"
            description="Filters out this ODA DB Profile Category in Data Source Explorer"
            id="org.eclipse.datatools.connectivity.oda.jdbc.dbprofile.sample.ui.filter.commonFilter"
            name="ODA Databases Profiles Category Sample Filter">
         <filterExpression>
            <and>
               <instanceof
                     value="org.eclipse.datatools.connectivity.ICategory">
               </instanceof>
               <test
                     property="org.eclipse.datatools.connectivity.category.property.categoryID"
                     value="%oda.data.source.id">
               </test>
            </and>
         </filterExpression>
      </commonFilter>
      <actionProvider
            class="org.eclipse.datatools.connectivity.oda.jdbc.dbprofile.sample.ui.filter.DbProfileActionProvider"
            id="org.eclipse.datatools.connectivity.oda.jdbc.dbprofile.sample.ui.filter.actionExtension"
            overrides="org.eclipse.datatools.connectivity.ui.dse.actions.ProfileActionsActionProvider"
            priority="lowest">
         <enablement>
            <and>
               <instanceof
                     value="org.eclipse.datatools.connectivity.ICategory">
               </instanceof>
               <test
                     property="org.eclipse.datatools.connectivity.category.property.categoryID"
                     value="%parent.category.id">
               </test>
            </and>
         </enablement>
      </actionProvider>
   </extension>
   <extension
         point="org.eclipse.ui.handlers">
    <handler
            class="org.eclipse.datatools.connectivity.oda.jdbc.dbprofile.sample.ui.filter.AddDbProfileViewAction"
            commandId="org.eclipse.datatools.connectivity.commands.addprofile">
     <enabledWhen>
      <or>
       <with
          variable="selection">
          <count
             value="0">
          </count>
       </with>
	   <with variable="selection">
	      <count value="+" />
	      <iterate>
	       <or>
            <and>
              <instanceof
                    value="org.eclipse.datatools.connectivity.ICategory">
              </instanceof>
              <test
                    property="org.eclipse.datatools.connectivity.category.property.categoryID"
                    value="%parent.category.id">
              </test>
            </and>
            <and>
               <instanceof
                     value="org.eclipse.datatools.connectivity.IConnectionProfile">
               </instanceof>
               <test
                     property="org.eclipse.datatools.connectivity.profile.property.categoryID"
                     value="%parent.category.id">
               </test>
            </and>
           </or>
	      </iterate>
	   </with>
	  </or>
     </enabledWhen>
     <activeWhen>
      <or>
       <with
          variable="selection">
          <count
             value="0">
          </count>
       </with>
	   <with variable="selection">
	      <count value="+" />
	      <iterate>
	       <or>
            <and>
              <instanceof
                    value="org.eclipse.datatools.connectivity.ICategory">
              </instanceof>
              <test
                    property="org.eclipse.datatools.connectivity.category.property.categoryID"
                    value="%parent.category.id">
              </test>
            </and>
            <and>
               <instanceof
                     value="org.eclipse.datatools.connectivity.IConnectionProfile">
               </instanceof>
               <test
                     property="org.eclipse.datatools.connectivity.profile.property.categoryID"
                     value="%parent.category.id">
               </test>
            </and>
	       </or>
	      </iterate>
	   </with>
	  </or>
     </activeWhen>
    </handler>
   </extension>
   
   <extension
         point="org.eclipse.datatools.connectivity.oda.consumer.propertyProvider">
      <dataSourcePropertyService
            consumerApplicationId="%oda.data.source.id"
            providerClass="org.eclipse.datatools.connectivity.oda.jdbc.dbprofile.sample.ui.impl.ProfilePropertyProvider">
      </dataSourcePropertyService>
   </extension>

</plugin>
