blob: 95120c12da3f38bfcf303e41291d98e40b3e2f66 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>
<!--
Copyright (c) 2007, 2010 Oracle. All rights reserved.
This program and the accompanying materials are made available under the
terms of the Eclipse Public License v1.0, which accompanies this distribution
and is available at http://www.eclipse.org/legal/epl-v10.html.
Contributors:
Oracle - initial API and implementation
-->
<plugin>
<!-- ***** extension points ***** -->
<extension-point
id="jpaPlatforms"
name="%JPA_PLATFORM"
schema="schema/jpaPlatforms.exsd"
/>
<!-- ***** Eclipse core extensions ***** -->
<extension
point="org.eclipse.core.contenttype.contentTypes">
<!-- "abstract" content type to be extended by all JPA XML file content types -->
<content-type
id="org.eclipse.jpt.core.content.baseJpaContent"
name="%BASE_JPA_CONTENT"
base-type="org.eclipse.core.runtime.xml"
describer="org.eclipse.jpt.core.internal.resource.IndeterminateContentDescriber">
</content-type>
<!-- persistence.xml content type -->
<content-type
id="org.eclipse.jpt.core.content.persistence"
name="%PERSISTENCE_XML_CONTENT"
base-type="org.eclipse.jpt.core.content.baseJpaContent"
file-names="persistence.xml">
<describer
class="org.eclipse.core.runtime.content.XMLRootElementContentDescriber2">
<parameter
name="element"
value="{http://java.sun.com/xml/ns/persistence}persistence"/>
</describer>
</content-type>
<!-- "abstract" mapping file content type -->
<content-type
id="org.eclipse.jpt.core.content.mappingFile"
name="%MAPPING_FILE_CONTENT"
base-type="org.eclipse.jpt.core.content.baseJpaContent">
</content-type>
<!-- orm.xml content type -->
<content-type
id="org.eclipse.jpt.core.content.orm"
name="%ORM_XML_CONTENT"
base-type="org.eclipse.jpt.core.content.mappingFile">
<describer
class="org.eclipse.core.runtime.content.XMLRootElementContentDescriber2">
<parameter
name="element"
value="{http://java.sun.com/xml/ns/persistence/orm}entity-mappings"/>
</describer>
</content-type>
<!-- JAR content type -->
<content-type
id="org.eclipse.jpt.core.content.jar"
name="%JAR_CONTENT"
file-extensions="jar, zip">
<describer
class="org.eclipse.core.runtime.content.BinarySignatureDescriber">
<parameter name="signature" value="50 4B 03 04"/>
</describer>
</content-type>
</extension>
<extension
point="org.eclipse.core.expressions.propertyTesters">
<propertyTester
id="org.eclipse.jpt.core.propertyTester.persistentAttribute"
type="org.eclipse.jpt.core.context.PersistentAttribute"
namespace="org.eclipse.jpt.core"
properties="isMapped, isVirtual"
class="org.eclipse.jpt.core.internal.context.PersistentAttributePropertyTester"/>
<propertyTester
id="org.eclipse.jpt.core.propertyTester.platformResource"
type="org.eclipse.core.resources.IResource"
namespace="org.eclipse.jpt.core"
properties="jpaPlatform"
class="org.eclipse.jpt.core.internal.JpaPlatformTester"/>
<propertyTester
id="org.eclipse.jpt.core.propertyTester.javaElement"
type="org.eclipse.jdt.core.IJavaElement"
namespace="org.eclipse.jpt.core"
properties="jpaPlatform"
class="org.eclipse.jpt.core.internal.JpaPlatformTester"/>
<propertyTester
id="org.eclipse.jpt.core.propertyTester.xmlResource"
type="org.eclipse.jpt.core.resource.xml.JpaXmlResource"
namespace="org.eclipse.jpt.core"
properties="isLatestSupportedVersion"
class="org.eclipse.jpt.core.internal.resource.xml.JpaXmlResourcePropertyTester"/>
<propertyTester
id="org.eclipse.jpt.core.propertyTester.xmlFile"
type="org.eclipse.jpt.core.context.XmlFile"
namespace="org.eclipse.jpt.core"
properties="isLatestSupportedVersion"
class="org.eclipse.jpt.core.internal.resource.xml.JpaXmlResourcePropertyTester"/>
</extension>
<extension
point="org.eclipse.core.runtime.adapters">
<factory
class="org.eclipse.jpt.core.internal.ProjectAdapterFactory"
adaptableType="org.eclipse.core.resources.IProject">
<adapter type="org.eclipse.jpt.core.JpaProject"/>
</factory>
<factory
class="org.eclipse.jpt.core.internal.ProjectAdapterFactory"
adaptableType="org.eclipse.jdt.core.IJavaProject">
<adapter type="org.eclipse.jpt.core.JpaProject"/>
</factory>
<factory
class="org.eclipse.jpt.core.internal.ResourceAdapterFactory"
adaptableType="org.eclipse.core.resources.IResource">
<adapter type="org.eclipse.jpt.core.IResourcePart"/>
</factory>
<factory
class="org.eclipse.jpt.core.internal.resource.xml.JpaXmlResourceAdapterFactory"
adaptableType="org.eclipse.core.resources.IFile">
<adapter type="org.eclipse.jpt.core.resource.xml.JpaXmlResource"/>
</factory>
</extension>
<extension
point="org.eclipse.core.runtime.preferences">
<initializer
class="org.eclipse.jpt.core.internal.prefs.JpaPreferenceInitializer"/>
</extension>
<!-- ***** JPT extensions (eat our own dogfood) ***** -->
<extension
point="org.eclipse.jpt.core.jpaPlatforms">
<jpaPlatform
id="generic"
label="%GENERIC_1_0_PLATFORM_LABEL"
factoryClass="org.eclipse.jpt.core.internal.GenericJpaPlatformFactory"
jpaFacetVersion="1.0"
default="false">
</jpaPlatform>
<jpaPlatform
id="generic2_0"
label="%GENERIC_2_0_PLATFORM_LABEL"
factoryClass="org.eclipse.jpt.core.internal.jpa2.Generic2_0JpaPlatformFactory"
jpaFacetVersion="2.0"
default="false">
</jpaPlatform>
</extension>
<!--
******************************************
* Library Provider Framework Integration *
******************************************
-->
<extension
point="org.eclipse.jst.common.project.facet.core.libraryProviders">
<provider
id="jpa-legacy-library-provider"
extends="legacy-library-provider"
hidden="true">
<action type="UNINSTALL">
<operation
class="org.eclipse.jpt.core.internal.facet.LegacyJpaLibraryProviderInstallOperation"/>
</action>
</provider>
<provider
id="jpa-no-op-library-provider"
extends="no-op-library-provider">
<param name="message" value="%NO_OP_LIBRARY_PROVIDER_MESSAGE"/>
<param name="warning" value="%NO_OP_LIBRARY_PROVIDER_WARNING"/>
<enablement>
<with variable="requestingProjectFacet">
<test property="org.eclipse.wst.common.project.facet.core.projectFacet" value="jpt.jpa" forcePluginActivation="true"/>
</with>
</enablement>
</provider>
<provider
id="jpa-generic1_0-user-library-provider"
extends="wtp-user-library-provider">
<param name="validator" value="org.eclipse.jpt.core.internal.utility.KeyClassesValidator"/>
<param name="validator.param.0" value="javax.persistence.Entity"/>
<enablement>
<and>
<with variable="requestingProjectFacet">
<test property="org.eclipse.wst.common.project.facet.core.projectFacet" value="jpt.jpa" forcePluginActivation="true"/>
</with>
<with variable="jpaPlatform">
<equals value="generic"/>
</with>
</and>
</enablement>
</provider>
<provider
id="jpa-generic2_0-user-library-provider"
extends="wtp-user-library-provider">
<param name="validator" value="org.eclipse.jpt.core.internal.utility.KeyClassesValidator"/>
<param name="validator.param.0" value="javax.persistence.Entity"/>
<param name="validator.param.1" value="javax.persistence.ElementCollection"/>
<enablement>
<and>
<with variable="requestingProjectFacet">
<test property="org.eclipse.wst.common.project.facet.core.projectFacet" value="jpt.jpa" forcePluginActivation="true"/>
</with>
<with variable="jpaPlatform">
<equals value="generic2_0"/>
</with>
</and>
</enablement>
</provider>
</extension>
<extension
point="org.eclipse.jst.common.project.facet.core.legacyLibraryProviderDetectors">
<detector
class="org.eclipse.jpt.core.internal.facet.LegacyJpaLibraryProviderDetector"/>
</extension>
<extension point="org.eclipse.jst.common.project.facet.core.libraryProviders">
<provider id="eclipselink-102-osgi-bundles-library-provider" extends="wtp-osgi-bundles-library-provider">
<label>EclipseLink 1.0.x</label>
<param name="container.label" value="EclipseLink 1.0.x"/>
<param name="bundle.0" value="javax.persistence:[1.0.0, 2.0.0)"/>
<param name="bundle.1" value="org.eclipse.persistence.core:[1.0.0, 1.1.0)"/>
<param name="bundle.2" value="org.eclipse.persistence.jpa:[1.0.0, 1.1.0)"/>
<param name="bundle.3" value="org.eclipse.persistence.asm:[1.0.0, 1.1.0)"/>
<param name="bundle.4" value="org.eclipse.persistence.antlr:[1.0.0, 1.1.0)"/>
<enablement>
<with variable="requestingProjectFacet">
<test property="org.eclipse.wst.common.project.facet.core.projectFacet" value="jpt.jpa" forcePluginActivation="true"/>
</with>
</enablement>
</provider>
<provider id="eclipselink-110-osgi-bundles-library-provider" extends="wtp-osgi-bundles-library-provider">
<label>EclipseLink 1.1.x</label>
<param name="container.label" value="EclipseLink 1.1.x"/>
<param name="bundle.0" value="javax.persistence:[1.99.0, 2.1.0)"/>
<param name="bundle.1" value="org.eclipse.persistence.core:[1.1.0, 1.2.0)"/>
<param name="bundle.2" value="org.eclipse.persistence.jpa:[1.1.0, 1.2.0)"/>
<param name="bundle.3" value="org.eclipse.persistence.asm:[1.1.0, 1.2.0)"/>
<param name="bundle.4" value="org.eclipse.persistence.antlr:[1.1.0, 1.2.0)"/>
<enablement>
<with variable="requestingProjectFacet">
<test property="org.eclipse.wst.common.project.facet.core.projectFacet" value="jpt.jpa" forcePluginActivation="true"/>
</with>
</enablement>
</provider>
<provider id="eclipselink-120-osgi-bundles-library-provider" extends="wtp-osgi-bundles-library-provider">
<label>EclipseLink 1.2.x</label>
<param name="container.label" value="EclipseLink 1.2.x"/>
<param name="bundle.0" value="javax.persistence:[1.99.0, 2.1.0)"/>
<param name="bundle.1" value="org.eclipse.persistence.core:[1.2.0, 1.3.0)"/>
<param name="bundle.2" value="org.eclipse.persistence.jpa:[1.2.0, 1.3.0)"/>
<param name="bundle.3" value="org.eclipse.persistence.asm:[1.2.0, 1.3.0)"/>
<param name="bundle.4" value="org.eclipse.persistence.antlr:[1.2.0, 1.3.0)"/>
<enablement>
<with variable="requestingProjectFacet">
<test property="org.eclipse.wst.common.project.facet.core.projectFacet" value="jpt.jpa" forcePluginActivation="true"/>
</with>
</enablement>
</provider>
<provider id="eclipselink-200-osgi-bundles-library-provider" extends="wtp-osgi-bundles-library-provider">
<label>EclipseLink 2.0.x</label>
<param name="container.label" value="EclipseLink 2.0.x"/>
<param name="bundle.0" value="javax.persistence:[2.0.0, 2.1.0)"/>
<param name="bundle.1" value="org.eclipse.persistence.core:[2.0.0, 2.1.0)"/>
<param name="bundle.2" value="org.eclipse.persistence.jpa:[2.0.0, 2.1.0)"/>
<param name="bundle.3" value="org.eclipse.persistence.asm:[2.0.0, 2.1.0)"/>
<param name="bundle.4" value="org.eclipse.persistence.antlr:[2.0.0, 2.1.0)"/>
<enablement>
<with variable="requestingProjectFacet">
<test property="org.eclipse.wst.common.project.facet.core.projectFacet" value="jpt.jpa" forcePluginActivation="true"/>
</with>
</enablement>
</provider>
<provider id="eclipselink-210-osgi-bundles-library-provider" extends="wtp-osgi-bundles-library-provider">
<label>EclipseLink 2.1.x</label>
<param name="container.label" value="EclipseLink 2.1.x"/>
<param name="bundle.0" value="javax.persistence:[2.0.0, 2.1.0)"/>
<param name="bundle.1" value="org.eclipse.persistence.core:[2.1.0, 2.2.0)"/>
<param name="bundle.2" value="org.eclipse.persistence.jpa:[2.1.0, 2.2.0)"/>
<param name="bundle.3" value="org.eclipse.persistence.asm:[2.1.0, 2.2.0)"/>
<param name="bundle.4" value="org.eclipse.persistence.antlr:[2.1.0, 2.2.0)"/>
<enablement>
<with variable="requestingProjectFacet">
<test property="org.eclipse.wst.common.project.facet.core.projectFacet" value="jpt.jpa" forcePluginActivation="true"/>
</with>
</enablement>
</provider>
</extension>
<!-- ***** WTP extensions ***** -->
<extension
point="org.eclipse.wst.common.modulecore.resourceFactories">
<resourceFactory
class="org.eclipse.jpt.core.resource.persistence.PersistenceXmlResourceFactory"
isDefault="true">
<contentTypeBinding
contentTypeId="org.eclipse.jpt.core.content.persistence">
</contentTypeBinding>
</resourceFactory>
<resourceFactory
class="org.eclipse.jpt.core.resource.orm.OrmXmlResourceFactory"
isDefault="true">
<contentTypeBinding
contentTypeId="org.eclipse.jpt.core.content.orm">
</contentTypeBinding>
</resourceFactory>
</extension>
<extension
point="org.eclipse.wst.common.project.facet.core.groups">
<group id="jpa-prereqs">
<label>%JPA_PREREQ_GROUP_LABEL</label>
<description>The set of facets that each fulfill JPA prerequisites</description>
<include facet="jst.utility" versions="[1.0"/>
<include facet="jst.appclient" versions="[1.2"/>
<include facet="jst.ejb" versions="[1.1"/>
<include facet="jst.connector" versions="[1.0"/>
<include facet="jst.web" versions="[2.2"/>
</group>
</extension>
<extension
point="org.eclipse.wst.common.project.facet.core.facets">
<project-facet id="jpt.jpa">
<label>%JPA_FACET_LABEL</label>
<description>%JPA_FACET_DESCRIPTION</description>
</project-facet>
<project-facet-version facet="jpt.jpa" version="1.0">
<constraint>
<and>
<requires facet="jst.java" version="[5.0"/>
<requires group="jpa-prereqs"/>
</and>
</constraint>
</project-facet-version>
<project-facet-version facet="jpt.jpa" version="2.0">
<constraint>
<and>
<requires facet="jst.java" version="[5.0"/>
<requires group="jpa-prereqs"/>
</and>
</constraint>
</project-facet-version>
<template id="jpt.jpa.template">
<label>%JPA_TEMPLATE_LABEL</label>
<fixed facet="jpt.jpa"/>
<fixed facet="jst.java"/>
<fixed facet="jst.utility"/>
<preset id="jpt.jpa.2_0.preset"/>
</template>
<action facet="jpt.jpa" type="install" id="jpt.jpa.install">
<config-factory class="org.eclipse.jpt.core.internal.facet.JpaFacetInstallDataModelProvider"/>
<delegate class="org.eclipse.jpt.core.internal.facet.JpaFacetInstallDelegate"/>
</action>
<!--
The uninstall action is only used to enable facet uninstallation
through the facet UI. The delegate currently has no functionality.
-->
<action facet="jpt.jpa" type="uninstall" id="jpt.jpa.uninstall">
<delegate class="org.eclipse.jpt.core.internal.facet.JpaFacetUninstallDelegate"/>
</action>
<!--
The version change
-->
<action facet="jpt.jpa" type="version-change" id="jpt.jpa.version-change">
<config-factory class="org.eclipse.jpt.core.internal.facet.JpaFacetVersionChangeDataModelProvider"/>
<delegate class="org.eclipse.jpt.core.internal.facet.JpaFacetVersionChangeDelegate"/>
</action>
</extension>
<extension
point="org.eclipse.wst.common.project.facet.core.presets">
<static-preset id="jpt.jpa.1_0.preset">
<label>%JPA_1.0_PRESET_LABEL</label>
<facet id="jst.java" version="5.0"/>
<facet id="jst.utility" version="1.0"/>
<facet id="jpt.jpa" version="1.0"/>
</static-preset>
<static-preset id="jpt.jpa.2_0.preset">
<label>%JPA_2.0_PRESET_LABEL</label>
<facet id="jst.java" version="6.0"/>
<facet id="jst.utility" version="1.0"/>
<facet id="jpt.jpa" version="2.0"/>
</static-preset>
</extension>
<extension
point="org.eclipse.wst.common.project.facet.core.runtimes">
<supported>
<runtime-component any="true"/>
<facet id="jpt.jpa"/>
</supported>
</extension>
<extension
point="org.eclipse.wst.validation.validatorV2"
id="jpaValidator"
name="%JPA_VALIDATOR">
<validator
class="org.eclipse.jpt.core.internal.validation.JpaValidator">
<include>
<rules>
<facet id="jpt.jpa"/>
</rules>
</include>
<include>
<rules>
<contentType id="org.eclipse.jdt.core.javaSource"/>
<contentType id="org.eclipse.jpt.core.content.jar"/>
<contentType id="org.eclipse.jpt.core.content.baseJpaContent" exactMatch="false"/>
</rules>
</include>
</validator>
</extension>
</plugin>