<?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>		
		    
	</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>
		
	</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>
		
	</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.JpaJavaConverterMetadataConversionHandler">
		</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>
		
	 </extension>
 	
 	 <extension
		point="org.eclipse.ui.menus">
        
        <!-- 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>
