blob: 07ff6d935a68a7cc9f348359f00fbe0e5f8c9f4e [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.2"?>
<!--
Copyright (c) 2010, 2013 Oracle. 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 http://www.eclipse.org/legal/epl-2.0/
Contributors:
Oracle - initial API and implementation
-->
<plugin>
<extension-point
id="jaxbPlatformUis"
name="%jaxbPlatformUi"
schema="schema/jaxbPlatformUis.exsd"/>
<extension
point="org.eclipse.core.runtime.adapters">
<!-- JaxbPlatform -> JaxbPlatformUi -->
<factory
adaptableType="org.eclipse.jpt.jaxb.core.platform.JaxbPlatform"
class="org.eclipse.jpt.jaxb.ui.internal.JaxbPlatformAdapterFactory">
<adapter type="org.eclipse.jpt.jaxb.ui.platform.JaxbPlatformUi"/>
</factory>
<!-- IWorkbench -> JaxbWorkbench -->
<factory
adaptableType="org.eclipse.ui.IWorkbench"
class="org.eclipse.jpt.jaxb.ui.internal.WorkbenchAdapterFactory">
<adapter type="org.eclipse.jpt.jaxb.ui.JaxbWorkbench"/>
</factory>
<!-- IWorkspace -> JpaProjectsModel -->
<factory
adaptableType="org.eclipse.core.resources.IWorkspace"
class="org.eclipse.jpt.jaxb.ui.internal.WorkspaceAdapterFactory">
<adapter type="org.eclipse.jpt.jaxb.ui.JaxbProjectsModel"/>
</factory>
<!-- IProject -> JpaProjectModel -->
<factory
adaptableType="org.eclipse.core.resources.IProject"
class="org.eclipse.jpt.jaxb.ui.internal.ProjectAdapterFactory">
<adapter type="org.eclipse.jpt.jaxb.ui.JaxbProjectModel"/>
</factory>
</extension>
<extension
point="org.eclipse.ui.newWizards">
<category
id="org.eclipse.jpt.jaxb"
name="%jaxbWizardCategoryName"/>
<wizard
id="org.eclipse.jpt.jaxb.ui.wizard.generateSchemaFromClasses"
name="%generateSchemaFromClassesName"
category="org.eclipse.jpt.jaxb"
class="org.eclipse.jpt.jaxb.ui.internal.wizards.schemagen.SchemaGeneratorWizard"
icon="$nl$/images/buttons/new-xsd.gif">
<description>%generateSchemaFromClassesDesc</description>
<selection class="org.eclipse.core.resources.IResource"/>
</wizard>
<wizard
id="org.eclipse.jpt.jaxb.ui.wizard.generateJAXBClasses"
name="%generateClassesFromSchemaName"
category="org.eclipse.jpt.jaxb"
class="org.eclipse.jpt.jaxb.ui.internal.wizards.classesgen.ClassesGeneratorWizard"
icon="$nl$/images/buttons/new-class.gif">
<description>%generateClassesFromSchemaDesc</description>
</wizard>
<!-- will need to specify a final perspective once we have a jaxb perspective -->
<wizard
id="org.eclipse.jpt.jaxb.ui.wizard.newJaxbProject"
name="%newJaxbProjectWizardName"
icon="$nl$/images/buttons/new-jaxb-project.gif"
category="org.eclipse.jpt.jaxb"
project="true">
<description>%newJaxbProjectWizardDesc</description>
<class class="org.eclipse.jpt.jaxb.ui.internal.wizards.proj.JaxbProjectWizard">
<parameter name="menuIndex" value="35"/>
</class>
</wizard>
</extension>
<extension
point="org.eclipse.jdt.ui.javaCompletionProposalComputer"
id="jaxbCompletionProposals"
name="%jaxbCompletionProposals">
<proposalCategory
icon="$nl$/images/jaxb-facet.gif">
<enablement>
<with variable="project">
<adapt type="org.eclipse.core.resources.IProject">
<reference definitionId="org.eclipse.jpt.jaxb.expression.hasJaxbFacet"/>
</adapt>
</with>
</enablement>
</proposalCategory>
</extension>
<extension
point="org.eclipse.jdt.ui.javaCompletionProposalComputer"
id="jaxbCompletionProposalComputer"
name="%jaxbCompletionProposalComputer">
<!-- activate = "true", but our plug-in will only activate if the JAXB proposal category is enabled (has JAXB facet) bug 386358 -->
<javaCompletionProposalComputer
activate="true"
categoryId="org.eclipse.jpt.jaxb.ui.jaxbCompletionProposals"
class="org.eclipse.jpt.jaxb.ui.internal.JaxbJavaCompletionProposalComputer"
requiresUIThread="false">
<partition type="__dftl_partition_content_type"/>
<partition type="__java_string"/>
</javaCompletionProposalComputer>
</extension>
<extension
point="org.eclipse.jpt.jaxb.ui.jaxbPlatformUis">
<jaxbPlatformUi
id="generic_2_1.ui"
jaxbPlatform="generic_2_1"
class="org.eclipse.jpt.jaxb.ui.internal.jaxb21.GenericJaxb_2_1_PlatformUi"/>
<jaxbPlatformUi
id="generic_2_2.ui"
jaxbPlatform="generic_2_2"
class="org.eclipse.jpt.jaxb.ui.internal.jaxb22.GenericJaxb_2_2_PlatformUi"/>
</extension>
<extension
point="org.eclipse.jst.common.project.facet.ui.libraryProviderActionPanels">
<panel
provider="jaxb-jre-library-provider"
class="org.eclipse.jst.common.project.facet.ui.libprov.SimpleMessageLibraryProviderInstallPanel"/>
</extension>
<!-- ***** commands ***** -->
<extension
point="org.eclipse.ui.commands">
<command
id="org.eclipse.jpt.jaxb.ui.command.createPackageInfo"
name="%createPackageInfoCommand"/>
<command
id="org.eclipse.jpt.jaxb.ui.generateJaxbClasses"
name="%generateJaxbClasses" >
</command>
</extension>
<!-- ***** handlers ***** -->
<extension
point="org.eclipse.ui.handlers">
<handler
commandId="org.eclipse.jpt.jaxb.ui.command.createPackageInfo"
class="org.eclipse.jpt.jaxb.ui.internal.handlers.CreatePackageInfoCommandHandler">
<enabledWhen>
<iterate ifEmpty="false">
<adapt type="org.eclipse.jpt.jaxb.core.context.JaxbPackage">
<test
property="org.eclipse.jpt.jaxb.core.hasPackageInfo"
value="false"/>
</adapt>
</iterate>
</enabledWhen>
</handler>
<handler
commandId="org.eclipse.jpt.jaxb.ui.generateJaxbClasses"
class="org.eclipse.jpt.jaxb.ui.internal.handlers.GenerateClassesHandler">
<activeWhen>
<with variable="selection">
<count value="1"/>
<iterate>
<and>
<adapt type="org.eclipse.core.resources.IFile">
<and>
<test
property="org.eclipse.core.resources.name"
value="*.xsd"/>
<test
property="org.eclipse.core.resources.projectNature"
value="org.eclipse.jdt.core.javanature"/>
</and>
</adapt>
</and>
</iterate>
</with>
</activeWhen>
</handler>
</extension>
<!-- ***** menus ***** -->
<extension
point="org.eclipse.ui.menus">
<!-- contributions for any popup -->
<menuContribution
locationURI="popup:org.eclipse.ui.popup.any">
<!--
"JAXB" submenu for any JaxbPackage
-->
<menu
id="org.eclipse.jpt.jaxb.ui.menu.jaxb"
label="%jaxbMenu">
<visibleWhen>
<with variable="selection">
<iterate ifEmpty="false">
<!-- bug 377809 test for jaxb facet: if o.e.jpt.jaxb.core plug-in not active,
the JaxbPackage AdapterFactory will not be called and the expression evaluates to true,
that causes the JAXB menu to appear for JPA project packages -->
<adapt type="org.eclipse.core.resources.IResource">
<reference definitionId="org.eclipse.jpt.jaxb.expression.hasJaxbFacet"/>
</adapt>
<adapt type="org.eclipse.jpt.jaxb.core.context.JaxbPackage"/>
</iterate>
</with>
</visibleWhen>
</menu>
</menuContribution>
<!-- contributions to the JAXB menu -->
<menuContribution
locationURI="popup:org.eclipse.jpt.jaxb.ui.menu.jaxb">
<!--
"Create package-info.java" menu item for any JaxbPackage
that does not already have one
-->
<command
commandId="org.eclipse.jpt.jaxb.ui.command.createPackageInfo">
<visibleWhen>
<with variable="selection">
<iterate ifEmpty="false">
<adapt type="org.eclipse.jpt.jaxb.core.context.JaxbPackage">
<test
property="org.eclipse.jpt.jaxb.core.hasPackageInfo"
value="false"/>
</adapt>
</iterate>
</with>
</visibleWhen>
</command>
</menuContribution>
<!-- contributions to the "Generate" submenu -->
<menuContribution
locationURI="popup:generateMenuId?after=additions">
<command commandId="org.eclipse.jpt.jaxb.ui.generateJaxbClasses">
<visibleWhen checkEnabled="true"/>
</command>
</menuContribution>
</extension>
<extension
point="org.eclipse.ui.navigator.navigatorContent">
<navigatorContent
id="org.eclipse.jpt.jaxb.ui.jaxbNavigatorContent"
name="%jaxbNavigatorContent"
priority="higher"
appearsBefore="org.eclipse.jst.servlet.ui.EnhancedJavaRendering"
icon="$nl$/images/objects/jaxb-content.gif"
activeByDefault="true"
contentProvider="org.eclipse.jpt.jaxb.ui.internal.navigator.JaxbNavigatorContentProvider"
labelProvider="org.eclipse.jpt.common.ui.internal.navigator.NavigatorLabelProvider">
<triggerPoints>
<or>
<instanceof value="org.eclipse.jpt.jaxb.core.context.JaxbContextNode"/>
<adapt type="org.eclipse.core.resources.IProject">
<reference definitionId="org.eclipse.jpt.jaxb.expression.hasJaxbFacet"/>
</adapt>
</or>
</triggerPoints>
<possibleChildren>
<instanceof value="org.eclipse.jpt.jaxb.core.context.JaxbContextNode"/>
</possibleChildren>
<actionProvider
class="org.eclipse.jpt.jaxb.ui.internal.navigator.OpenJaxbResourceActionProvider"
id="org.eclipse.jpt.jaxb.ui.OpenJaxbResourceActionProvider">
<enablement>
<instanceof value="org.eclipse.jpt.jaxb.core.context.JaxbContextNode"/>
</enablement>
</actionProvider>
<actionProvider
class="org.eclipse.ui.navigator.resources.GoIntoActionProvider"
id="org.eclipse.jpt.jaxb.ui.GoIntoActionProvider">
<enablement>
<and>
<instanceof value="org.eclipse.jpt.jaxb.core.context.JaxbContextNode"/>
</and>
</enablement>
</actionProvider>
<!--
<commonSorter
id="org.eclipse.jst.j2ee.navigator.internal.J2EEViewerSorter"
class="org.eclipse.jst.j2ee.navigator.internal.J2EEViewerSorter" />
-->
</navigatorContent>
</extension>
<extension
point="org.eclipse.ui.navigator.viewer">
<viewerContentBinding
viewerId="org.eclipse.ui.navigator.ProjectExplorer">
<includes>
<contentExtension pattern="org.eclipse.jpt.jaxb.ui.*"/>
</includes>
</viewerContentBinding>
</extension>
<extension
point="org.eclipse.ui.preferencePages">
<!-- no actual preferences yet
<page
id="org.eclipse.jpt.jaxb.ui.jaxbPreferences"
category="org.eclipse.jpt.jpa.ui.preferences"
class="org.eclipse.jpt.jaxb.ui.internal.preferences.JaxbPreferencesPage"
name="%jaxbNode"/>
-->
<!--
<page
id="org.eclipse.jpt.jaxb.ui.jaxbProblemSeveritiesPreferences"
category="org.eclipse.jpt.jaxb.ui.jaxbPreferences"
class="org.eclipse.jpt.jaxb.ui.internal.preferences.JaxbProblemSeveritiesPage"
name="%jaxbProblemSeveritiesNode">
</page>
-->
</extension>
<extension
point="org.eclipse.ui.propertyPages">
<page
id="org.eclipse.jpt.jaxb.ui.jaxbProjectProperties"
name="%jaxbNode"
class="org.eclipse.jpt.jaxb.ui.internal.properties.JaxbProjectPropertiesPage">
<enabledWhen>
<adapt type="org.eclipse.core.resources.IProject">
<reference definitionId="org.eclipse.jpt.jaxb.expression.hasJaxbFacet"/>
</adapt>
</enabledWhen>
</page>
<page
id="org.eclipse.jpt.jaxb.ui.jaxbSchemasProperties"
name="%jaxbSchemas"
category="org.eclipse.jpt.jaxb.ui.jaxbProjectProperties"
class="org.eclipse.jpt.jaxb.ui.internal.properties.JaxbSchemasPropertiesPage">
<enabledWhen>
<adapt type="org.eclipse.core.resources.IProject">
<reference definitionId="org.eclipse.jpt.jaxb.expression.hasJaxbFacet"/>
</adapt>
</enabledWhen>
</page>
<!--
<page
id="org.eclipse.jpt.jpa.ui.jaxbProblemSeveritiesProperties"
name="%jaxbProblemSeveritiesNode"
category="org.eclipse.jpt.jaxb.ui.jaxbProjectProperties"
class="org.eclipse.jpt.jaxb.ui.internal.preferences.JaxbProblemSeveritiesPage">
<enabledWhen>
<adapt type="org.eclipse.core.resources.IProject">
<reference definitionId="org.eclipse.jpt.jaxb.expression.hasJaxbFacet"/>
</adapt>
</enabledWhen>
</page>
-->
</extension>
<extension
point="org.eclipse.wst.common.project.facet.ui.images">
<image facet="jpt.jaxb" path="$nl$/images/jaxb-facet.gif"/>
</extension>
<extension
point="org.eclipse.wst.common.project.facet.ui.wizardPages">
<wizard-pages action="jpt.jaxb.install">
<page class="org.eclipse.jpt.jaxb.ui.internal.wizards.facet.JaxbFacetInstallPage"/>
</wizard-pages>
<wizard-pages action="jpt.jaxb.version-change">
<page class="org.eclipse.jpt.jaxb.ui.internal.wizards.facet.JaxbFacetVersionChangePage"/>
</wizard-pages>
</extension>
</plugin>