<?xml version="1.0" encoding="UTF-8"?>
<!--
  Copyright (c) 2007, 2012 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
		point="org.eclipse.jpt.jpa.ui.jpaPlatformUis">
		 
		<jpaPlatformUi
			id="org.eclipse.eclipselink.platform.ui"
			jpaPlatform="org.eclipse.eclipselink.platform"
			factoryClass="org.eclipse.jpt.jpa.eclipselink.ui.internal.platform.EclipseLinkJpaPlatformUiFactory"/>
			
		<jpaPlatformUi
			id="eclipselink1_1.ui"
			jpaPlatform="eclipselink1_1"
			factoryClass="org.eclipse.jpt.jpa.eclipselink.ui.internal.platform.EclipseLink1_1JpaPlatformUiFactory"/>
			
		<jpaPlatformUi
			id="eclipselink1_2.ui"
			jpaPlatform="eclipselink1_2"
			factoryClass="org.eclipse.jpt.jpa.eclipselink.ui.internal.platform.EclipseLink1_2JpaPlatformUiFactory"/>
		
		<jpaPlatformUi
			id="eclipselink2_0.ui"
			jpaPlatform="eclipselink2_0"
			factoryClass="org.eclipse.jpt.jpa.eclipselink.ui.internal.platform.EclipseLink2_0JpaPlatformUiFactory"/>
		
		<jpaPlatformUi
			id="eclipselink2_1.ui"
			jpaPlatform="eclipselink2_1"
			factoryClass="org.eclipse.jpt.jpa.eclipselink.ui.internal.platform.EclipseLink2_1JpaPlatformUiFactory"/>
		
		<jpaPlatformUi
			id="eclipselink2_2.ui"
			jpaPlatform="eclipselink2_2"
			factoryClass="org.eclipse.jpt.jpa.eclipselink.ui.internal.platform.EclipseLink2_2JpaPlatformUiFactory"/>
		
		<jpaPlatformUi
			id="eclipselink2_3.ui"
			jpaPlatform="eclipselink2_3"
			factoryClass="org.eclipse.jpt.jpa.eclipselink.ui.internal.platform.EclipseLink2_3JpaPlatformUiFactory"/>
		
		<jpaPlatformUi
			id="eclipselink2_4.ui"
			jpaPlatform="eclipselink2_4"
			factoryClass="org.eclipse.jpt.jpa.eclipselink.ui.internal.platform.EclipseLink2_4JpaPlatformUiFactory"/>
	</extension>
	
	
	<extension
		point="org.eclipse.ui.newWizards">
		
		<category
			id="org.eclipse.jpt.jpa.eclipselink"
			name="%eclipseLinkWizardCategoryName"
			parentCategory="org.eclipse.jpt.jpa"/>
		
		<wizard
            id="org.eclipse.jpt.jpa.eclipselink.ui.wizard.newEclipseLinkMappingFile"
			name="%newEclipseLinkMappingFileWizardName"
			icon="platform:/plugin/org.eclipse.jpt.jpa.ui/icons/full/etool16/new_jpa_file_wiz.gif"
			category="org.eclipse.jpt.jpa/org.eclipse.jpt.jpa.eclipselink">
			<description>%newEclipseLinkJpaMappingFileWizardDesc</description>
			<class class="org.eclipse.jpt.jpa.eclipselink.ui.internal.wizards.EclipseLinkMappingFileWizard"> 
				<parameter name="javaeeartifact" value="true"/> 
				<parameter name="menuIndex" value="40" /> 
				<parameter name="jptartifact" value="true"/> 
			</class> 
		</wizard>
		
		<wizard
			category="org.eclipse.jpt.jpa/org.eclipse.jpt.jpa.eclipselink"
			class="org.eclipse.jpt.jpa.eclipselink.ui.internal.wizards.gen.GenerateDynamicEntitiesFromSchemaWizard"
			icon="platform:/plugin/org.eclipse.jpt.jpa.ui/icons/full/etool16/new_jpa_file_wiz.gif"
			id="org.eclipse.jpt.jpa.eclipselink.ui.wizard.newDynamicEntitiesFromTables"
			name="%newDynamicEntityFromTableWizardName">
			<description>%newDynamicEntityFromTableWizardDesc</description>
			<selection class="org.eclipse.core.resources.IResource"/> 
        </wizard>		

        <wizard
            id="org.eclipse.jpt.jpa.eclipselink.ui.wizard.newEclipseLinkDynamicEntity"
			name="%newEclipseLinkDynamicEntityName"
			icon="platform:/plugin/org.eclipse.jpt.jpa.ui/icons/full/etool16/new_entity_wiz.gif"
			category="org.eclipse.jpt.jpa/org.eclipse.jpt.jpa.eclipselink">
			<description>%newEclipseLinkDynamicEntityWizardDesc</description>
			<class class="org.eclipse.jpt.jpa.eclipselink.ui.internal.wizards.EclipseLinkDynamicEntityWizard"> 
				<parameter name="javaeeartifact" value="true"/> 
				<parameter name="menuIndex" value="41" /> 
				<parameter name="jptartifact" value="true"/> 
			</class> 
		</wizard>
		    
	</extension>


	<extension
		point="org.eclipse.ui.navigator.navigatorContent">
		
		<commonWizard
			menuGroupId="org.eclipse.jpt.jpa.ui"
			type="new"
			wizardId="org.eclipse.jpt.jpa.eclipselink.ui.wizard.newEclipseLinkMappingFile">
			<enablement>
				<and>
					<or>
						<instanceof value="org.eclipse.core.resources.IProject"/>
                    	<instanceof value="org.eclipse.core.resources.IFolder"/>
						<instanceof value="org.eclipse.jdt.core.IPackageFragmentRoot"/>
						<instanceof value="org.eclipse.jdt.core.IPackageFragment"/>
					</or>
					<adapt type="org.eclipse.core.resources.IResource">
						<test 
							property="org.eclipse.wst.common.project.facet.core.projectFacet"
							value="jpt.jpa"
							forcePluginActivation="true"/>
					</adapt>
					<adapt type = "org.eclipse.jpt.jpa.core.platform.JpaPlatformDescription">
						<test property="org.eclipse.jpt.jpa.core.jpaPlatformGroup"
							value="eclipselink"/>
					</adapt>
				</and>
			</enablement>
		</commonWizard>
		
		<commonWizard
			menuGroupId="org.eclipse.jpt.jpa.ui"
			type="new"
			wizardId="org.eclipse.jpt.jpa.eclipselink.ui.wizard.newEclipseLinkDynamicEntity">
			<enablement>
				<and>
					<or>
						<instanceof value="org.eclipse.core.resources.IProject"/>
						<instanceof value="org.eclipse.jdt.core.IPackageFragmentRoot"/>
						<instanceof value="org.eclipse.jdt.core.IPackageFragment"/>
					</or>
					<adapt type="org.eclipse.core.resources.IResource">
						<test 
							property="org.eclipse.wst.common.project.facet.core.projectFacet"
							value="jpt.jpa"
							forcePluginActivation="true"/>
					</adapt>
					<adapt type = "org.eclipse.jpt.jpa.core.platform.JpaPlatformDescription">
						<test property="org.eclipse.jpt.jpa.core.jpaPlatformGroup"
							value="eclipselink"/>
						<not> 
                        	<test 
                            	property="org.eclipse.jpt.jpa.core.jpaPlatform" 
                                value="org.eclipse.eclipselink.platform"/>
                        </not>
						<not> 
                        	<test 
                            	property="org.eclipse.jpt.jpa.core.jpaPlatform" 
                                value="eclipselink1_1"/>
                        </not>
                        <not> 
                        	<test 
                            	property="org.eclipse.jpt.jpa.core.jpaPlatform" 
                                value="eclipselink1_2"/>
                        </not>
                        <not> 
                        	<test 
                            	property="org.eclipse.jpt.jpa.core.jpaPlatform" 
                                value="eclipselink2_0"/>
                        </not> 
					</adapt>
				</and>
			</enablement>
		</commonWizard>
		
	</extension>
	
	
	<extension
		point="org.eclipse.ui.perspectiveExtensions">
		
		<perspectiveExtension
			targetID="org.eclipse.jpt.ui.jpaPerspective">
			<newWizardShortcut
				id="org.eclipse.jpt.jpa.eclipselink.ui.wizard.newEclipseLinkMappingFile">
			</newWizardShortcut>
		</perspectiveExtension>
		
		<perspectiveExtension
			targetID="org.eclipse.jpt.ui.jpaPerspective">
			<newWizardShortcut
				id="org.eclipse.jpt.jpa.eclipselink.ui.wizard.newEclipseLinkDynamicEntity">
			</newWizardShortcut>
		</perspectiveExtension>
		
	</extension>

	<extension
		point="org.eclipse.ui.propertyPages">
		
		<page
			id="org.eclipse.jpt.jpa.eclipselink.ui.eclipselinkProjectProperties"
			name="%eclipseLinkNode"
			category="org.eclipse.jpt.jpa.ui.jpaProjectProperties"
			class="org.eclipse.jpt.jpa.eclipselink.ui.internal.weave.EclipselinkPreferencePage">
			<enabledWhen>
				<adapt type="org.eclipse.core.resources.IProject">
					<test
						forcePluginActivation="true"
						property="org.eclipse.wst.common.project.facet.core.projectFacet"
						value="jpt.jpa"/>
				</adapt>
			</enabledWhen>
		</page>
		
	</extension>

	<!-- ***** commands ***** -->

  	<extension
        point="org.eclipse.ui.commands">
		
		<command
			id="org.eclipse.jpt.jpa.eclipselink.ui.persistentTypeAddVirtualAttribute"
			name="%addVirtualAttribute"
			categoryId="org.eclipse.jpt.jpa.ui.jpaStructureViewCommands"/>
		
		<command
			id="org.eclipse.jpt.jpa.eclipselink.ui.convertJavaConverters"
			name="%convertJavaConverters"
			categoryId="org.eclipse.jpt.jpa.ui.jpaMetadataConversionCommands"/>
		
		<command
			id="org.eclipse.jpt.jpa.eclipselink.ui.generateDynamicEntities"
			name="%generateDynamicEntities"/>

  	</extension>

	<!-- ***** handlers ***** -->

   <extension
          point="org.eclipse.ui.handlers">
		
		<handler
			commandId="org.eclipse.jpt.jpa.eclipselink.ui.persistentTypeAddVirtualAttribute"
			class="org.eclipse.jpt.jpa.eclipselink.ui.internal.handlers.AddVirtualAttributeHandler">
			<activeWhen>
				<and>
					<with variable="activePartId">
		    			<equals value="org.eclipse.jpt.ui.jpaStructureView"/>
		   			</with>
					<with variable="selection">
						<count value="1"/>
						<iterate operator="and">
							<instanceof value="org.eclipse.jpt.jpa.eclipselink.core.context.orm.EclipseLinkOrmPersistentType"/>
							<test property="org.eclipse.jpt.jpa.core.isCompatibleVersion" value="&apos;2.1&apos;"/>
						</iterate>
					</with>
				</and>
			</activeWhen>
		</handler>
		
		<handler
			commandId="org.eclipse.jpt.jpa.eclipselink.ui.convertJavaConverters"
			class="org.eclipse.jpt.jpa.eclipselink.ui.internal.commands.JavaConverterConversionHandler">
		</handler>
		
		<handler
			commandId="org.eclipse.jpt.jpa.eclipselink.ui.generateDynamicEntities"
			class="org.eclipse.jpt.jpa.eclipselink.ui.internal.commands.GenerateDynamicEntitiesHandler">
		</handler>
		
	</extension>
	
	
	<!-- ***** menus ***** -->

	<extension
		point="org.eclipse.ui.menus">
		
		<!-- contributions to the "JPA Tools" submenu -->
		<menuContribution
			locationURI="popup:org.eclipse.jpt.jpa.ui.menu.JpaTools?after=generate">
			
			<command
				commandId="org.eclipse.jpt.jpa.eclipselink.ui.generateDynamicEntities">
				<visibleWhen>
					<with
						variable="selection">
						<and>
							<count value="1"/>
							<iterate>
								<and>
									<adapt type="org.eclipse.core.resources.IProject">
										<test
											property="org.eclipse.wst.common.project.facet.core.projectFacet"
											value="jpt.jpa"/>
									</adapt>
									<adapt type="org.eclipse.jpt.jpa.core.platform.JpaPlatformDescription">
										<test 
											property="org.eclipse.jpt.jpa.core.jpaPlatformGroup"
											value="eclipselink"/>
									</adapt>
								</and>
							</iterate>
						</and>
					</with>
				</visibleWhen>
			</command>
			
		</menuContribution>
		
		<!-- contributions to objects in the JPA structure view -->
		<menuContribution
			locationURI="popup:org.eclipse.jpt.ui.jpaStructureView">
			
			<command
				commandId="org.eclipse.jpt.jpa.eclipselink.ui.persistentTypeAddVirtualAttribute">
				<visibleWhen>
					<with variable="selection">
						<count value="1"/>
						<iterate operator="and">
							<instanceof value="org.eclipse.jpt.jpa.eclipselink.core.context.orm.EclipseLinkOrmPersistentType"/>
							<test property="org.eclipse.jpt.jpa.core.isCompatibleVersion" value="&apos;2.1&apos;"/>
						</iterate>
					</with>
				</visibleWhen>
			</command>
		</menuContribution>
		
        <!-- contributions to "Move to XML" submenu-->
        <menuContribution
			locationURI="popup:org.eclipse.jpt.jpa.ui.menu.moveToXml">
			
			<command
				commandId="org.eclipse.jpt.jpa.eclipselink.ui.convertJavaConverters">	
				<visibleWhen
					checkEnabled="false">
					<with
						variable="activeMenuSelection">
						<iterate 
							ifEmpty="false"
							operator="and">
							<adapt
								type="org.eclipse.core.resources.IProject">
								<test
									property="org.eclipse.wst.common.project.facet.core.projectFacet" 
									value="jpt.jpa"/>
							</adapt>
							<adapt type = "org.eclipse.jpt.jpa.core.platform.JpaPlatformDescription">
								<test
									property="org.eclipse.jpt.jpa.core.jpaPlatformGroup"
									value="eclipselink"/>
							</adapt>
						</iterate>
					</with>
				</visibleWhen>
			</command>
			
		</menuContribution>
	
	
	 </extension>
	
</plugin>
