<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>
<!--
/**
 *************************************************************************
 * Copyright (c) 2006, 2008 Actuate Corporation.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License 2.0
 * which accompanies this distribution, and is available at
 * https://www.eclipse.org/legal/epl-2.0/
 *
 * Contributors:
 *  Actuate Corporation - initial API and implementation
 *  
 *************************************************************************
 *
 * $Id: plugin.xml,v 1.13 2008/02/21 05:01:55 lchan Exp $
 */
-->

<plugin>

   <extension-point id="dataSource" name="Open Data Access Designer UI Extension Point" schema="schema/datasource.exsd"/>
   <extension
         point="org.eclipse.datatools.connectivity.connectionProfile">
      <category
            id="%oda.parent.category.id"
            name="%oda.parent.category.name"/>
   </extension>
   <extension
         point="org.eclipse.ui.preferencePages">
      <page
            category="org.eclipse.datatools.connectivity.internal.ui.preferences.DataToolsMainPage"
            class="org.eclipse.datatools.connectivity.oda.design.internal.ui.preferences.OpenDataAccessPage"
            id="org.eclipse.datatools.connectivity.oda.design.ui.preferences.OpenDataAccessPage"
            name="%oda.preference.page.name"/>
   </extension>
   <extension
         point="org.eclipse.ui.navigator.viewer">
      <viewerActionBinding
            viewerId="org.eclipse.datatools.connectivity.DataSourceExplorerNavigator">
         <includes>
            <actionExtension
                  pattern="org.eclipse.datatools.connectivity.oda.design.ui.dse.actionExtension">
            </actionExtension>
         </includes>
      </viewerActionBinding>
   </extension>
   <extension
         point="org.eclipse.ui.navigator.navigatorContent">
      <actionProvider
            class="org.eclipse.datatools.connectivity.oda.design.internal.ui.profile.filter.OdaProfileActionProvider"
            id="org.eclipse.datatools.connectivity.oda.design.ui.dse.actionExtension"
            overrides="org.eclipse.datatools.connectivity.ui.dse.actions.ProfileActionsActionProvider"
            priority="normal">
         <enablement>
            <and>
               <instanceof
                     value="org.eclipse.datatools.connectivity.ICategory">
               </instanceof>
               <or>
                  <test
                        property="org.eclipse.datatools.connectivity.category.property.categoryID"
                        value="org.eclipse.datatools.connectivity.db.category">
                  </test>
                  <test
                        property="org.eclipse.datatools.connectivity.category.property.categoryID"
                        value="%oda.parent.category.id">
                  </test></or>
            </and>
         </enablement>
      </actionProvider>
   </extension>
   <extension
         point="org.eclipse.ui.handlers">
      <handler
            class="org.eclipse.datatools.connectivity.oda.design.internal.ui.profile.filter.NewProfileAction"
            commandId="org.eclipse.datatools.connectivity.commands.addprofile">
         <activeWhen>
            <with
                  variable="activePartId">
               <equals
                     value="org.eclipse.datatools.connectivity.DataSourceExplorerNavigator">
               </equals>
            </with>
         </activeWhen>
         <enabledWhen>
            <with
                  variable="activePartId">
               <equals
                     value="org.eclipse.datatools.connectivity.DataSourceExplorerNavigator">
               </equals>
            </with>
         </enabledWhen>
      </handler>
   </extension>

</plugin>
