Author: dgeraskov
Date: 2010-06-23 07:53:25 -0400 (Wed, 23 Jun 2010)
New Revision: 22942
Added:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/HibernateAbstractJpaFactory.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/AbstractHibernateJavaManyToOneMapping.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/AbstractHibernateJavaOneToOneMapping.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/jpa2/
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/jpa2/HibernateJavaManyToOneMapping2_0.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/jpa2/HibernateJavaManyToOneRelationshipReference2_0.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/jpa2/HibernateJavaOneToManyMapping2_0.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/jpa2/HibernateJavaOneToManyRelationshipReference2_0.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/jpa2/HibernateJavaOneToOneMapping2_0.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/jpa2/HibernateJavaOneToOneRelationshipReference2_0.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmJoinTableJoiningStrategy.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmManyToManyRelationshipReference.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmOneToManyRelationshipReference.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmXmlDefinition.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/jpa2/
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/jpa2/HibernateOrmManyToOneMapping2_0.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/jpa2/HibernateOrmManyToOneRelationshipReference2_0.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/jpa2/HibernateOrmOneToManyMapping2_0.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/jpa2/HibernateOrmOneToManyRelationshipReference2_0.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/jpa2/HibernateOrmOneToOneMapping2_0.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/jpa2/HibernateOrmOneToOneRelationshipReference2_0.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/jpa2/HibernateOrmXml2_0ContextNodeFactory.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/jpa2/HibernateOrmXml2_0Definition.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/persistence/jpa2/
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/persistence/jpa2/Hibernate2_0PersistenceXmlContextNodeFactory.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/persistence/jpa2/Hibernate2_0PersistenceXmlDefinition.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/jpa2/
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/jpa2/HibernateJpa2_0AnnotationDefinitionProvider.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/jpa2/HibernateJpa2_0PlatformFactory.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/jpa2/HibernateJpa2_0PlatformProvider.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/jpa2/HibernateJpaFactory2_0.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/HibernateJpa2_0PlatformUiProvider.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/details/
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/details/HibernateTableComposite.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/details/orm/
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/details/orm/HibernateOrmEntityComposite.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/details/orm/HibernateOrmIdMappingComposite.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/jpa2/
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/jpa2/details/
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/jpa2/details/orm/
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/jpa2/details/orm/Hibernate2_0OrmEntityComposite.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/jpa2/details/orm/Hibernate2_0OrmIdMappingComposite.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/jpa2/mapping/
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/jpa2/mapping/details/
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/jpa2/mapping/details/orm/
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/jpa2/mapping/details/orm/Hibernate2_0OrmXmlUiDefinition.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/jpa2/mapping/details/orm/Hibernate2_0OrmXmlUiFactory.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/HibernateGenerationComposite.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/java/Hibernate2_0JavaResourceUiDefinition.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/java/Hibernate2_0JavaUiFactory.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/persistence/details/jpa2/
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/persistence/details/jpa2/HibernatePersistenceXml2_0UiDefinition.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/persistence/details/jpa2/HibernatePersistenceXml2_0UiFactory.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/platform/HibernateJpa2_0PlatformUiFactory.java
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/.classpath
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/.project
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/.settings/
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/.settings/org.eclipse.jdt.core.prefs
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/.settings/org.eclipse.jpt.core.prefs
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/.settings/org.eclipse.wst.common.component
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/.settings/org.eclipse.wst.common.project.facet.core.prefs.xml
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/.settings/org.eclipse.wst.common.project.facet.core.xml
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/.settings/org.hibernate.eclipse.console.prefs
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/lib/
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/lib/ejb3-persistence.jar
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/lib/hibernate-annotations.jar
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/lib/hibernate3.jar
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/lib/postgresql-8.4-701.jdbc3.jar
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/src/
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/src/META-INF/
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/src/META-INF/MANIFEST.MF
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/src/META-INF/orm.xml
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/src/META-INF/persistence.xml
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/src/entity/
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/src/entity/JustData.java
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/src/entity/ManyToMany1.java
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/src/entity/ManyToMany2.java
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/src/ns/
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/src/ns/NamingStrategy.java
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/src/schema.sql
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/testHibernateJpaOrmProject.launch
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/src/org/jboss/tools/hibernate/jpt/core/test/HibernateJpaOrmModelTests.java
Removed:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/HibernateGenerationComposite2.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/HibernateTableComposite.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/orm/details/
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/src/org/jboss/tools/hibernate/jpt/core/test/HibernateJpaAllTests.java
Modified:
trunk/hibernatetools/plugins/org.hibernate.eclipse.console/src/org/hibernate/eclipse/console/properties/HibernatePropertiesConstants.java
trunk/hibernatetools/plugins/org.hibernate.eclipse.console/src/org/hibernate/eclipse/console/properties/HibernatePropertyPage.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/plugin.xml
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/HibernateJpaFactory.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/HibernateJpaPlatform.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/HibernateJpaPlatformFactory.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/HibernateJpaPlatformProvider.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/HibernateJptPlugin.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/JPAPostInstallFasetListener.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/NamingStrategyMappingTools.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaBasicMappingImpl.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaEntityImpl.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaGeneratorContainerImpl.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaIdMappingImpl.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaJoinTableJoiningStrategy.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaManyToManyMapping.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaManyToOneMapping.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaOneToManyMapping.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaOneToManyRelationshipReference.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaOneToOneMapping.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaQueryContainerImpl.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/JavaGenericGeneratorImpl.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmEntityImpl.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmManyToManyMapping.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmManyToOneMapping.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmOneToManyMapping.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmOneToOneMapping.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmXmlContextNodeFactory.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/plugin.xml
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/HibernateJpaPlatformUiProvider.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/java/details/HibernateJavaEntityComposite.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/HibernateIdMappingComposite.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/java/HibernateJavaUiFactory.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/orm/HibernateOrmXmlUiFactory.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/wizard/GenerateInitWizardPage.java
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/src/org/jboss/tools/hibernate/jpt/core/test/HibernateJpaModelTests.java
Log:
https://jira.jboss.org/browse/JBIDE-6473
Implement jpa2.0 support in hibernate tools plugins
Fixed some orm-mapping problems
Modified:
trunk/hibernatetools/plugins/org.hibernate.eclipse.console/src/org/hibernate/eclipse/console/properties/HibernatePropertiesConstants.java
===================================================================
---
trunk/hibernatetools/plugins/org.hibernate.eclipse.console/src/org/hibernate/eclipse/console/properties/HibernatePropertiesConstants.java 2010-06-23
07:30:21 UTC (rev 22941)
+++
trunk/hibernatetools/plugins/org.hibernate.eclipse.console/src/org/hibernate/eclipse/console/properties/HibernatePropertiesConstants.java 2010-06-23
11:53:25 UTC (rev 22942)
@@ -30,5 +30,7 @@
public static final String HIBERNATE_CONSOLE_NODE =
"org.hibernate.eclipse.console"; //$NON-NLS-1$
public static final String HIBERNATE_JPA_PLATFORM_ID = "hibernate";
//$NON-NLS-1$
+
+ public static final String HIBERNATE_JPA2_0_PLATFORM_ID = "hibernate2_0";
//$NON-NLS-1$
}
Modified:
trunk/hibernatetools/plugins/org.hibernate.eclipse.console/src/org/hibernate/eclipse/console/properties/HibernatePropertyPage.java
===================================================================
---
trunk/hibernatetools/plugins/org.hibernate.eclipse.console/src/org/hibernate/eclipse/console/properties/HibernatePropertyPage.java 2010-06-23
07:30:21 UTC (rev 22941)
+++
trunk/hibernatetools/plugins/org.hibernate.eclipse.console/src/org/hibernate/eclipse/console/properties/HibernatePropertyPage.java 2010-06-23
11:53:25 UTC (rev 22942)
@@ -284,7 +284,8 @@
private boolean isHibernateJpaProject(){
JpaProject jpaProject = (JpaProject) getProject().getAdapter(JpaProject.class);
- return (jpaProject != null) &&
(jpaProject.getJpaPlatform().getId().equals(HibernatePropertiesConstants.HIBERNATE_JPA_PLATFORM_ID));
+ return (jpaProject != null) &&
((jpaProject.getJpaPlatform().getId().equals(HibernatePropertiesConstants.HIBERNATE_JPA_PLATFORM_ID))
+ ||
(jpaProject.getJpaPlatform().getId().equals(HibernatePropertiesConstants.HIBERNATE_JPA2_0_PLATFORM_ID)));
}
private IProject getProject() {
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/plugin.xml
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/plugin.xml 2010-06-23
07:30:21 UTC (rev 22941)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/plugin.xml 2010-06-23
11:53:25 UTC (rev 22942)
@@ -8,6 +8,12 @@
default="false"
id="hibernate"
label="Hibernate">
+ </jpaPlatform>
+ <jpaPlatform
+ factoryClass="org.jboss.tools.hibernate.jpt.core.internal.jpa2.HibernateJpa2_0PlatformFactory"
+ default="false"
+ id="hibernate2_0"
+ label="Hibernate jpa 2.0">
</jpaPlatform>
</extension>
<extension
@@ -30,9 +36,14 @@
<with variable="requestingProjectFacet">
<test
property="org.eclipse.wst.common.project.facet.core.projectFacet"
value="jpt.jpa" forcePluginActivation="true"/>
</with>
- <with variable="jpaPlatform">
- <equals value="hibernate"/>
- </with>
+ <or>
+ <with variable="jpaPlatform">
+ <equals value="hibernate"/>
+ </with>
+ <with variable="jpaPlatform">
+ <equals value="hibernate2_0"/>
+ </with>
+ </or>
</and>
</enablement>
</provider>
Added:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/HibernateAbstractJpaFactory.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/HibernateAbstractJpaFactory.java
(rev 0)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/HibernateAbstractJpaFactory.java 2010-06-23
11:53:25 UTC (rev 22942)
@@ -0,0 +1,152 @@
+package org.jboss.tools.hibernate.jpt.core.internal;
+
+import org.eclipse.jpt.core.JpaProject;
+import org.eclipse.jpt.core.context.java.JavaBaseColumn;
+import org.eclipse.jpt.core.context.java.JavaBasicMapping;
+import org.eclipse.jpt.core.context.java.JavaColumn;
+import org.eclipse.jpt.core.context.java.JavaDiscriminatorColumn;
+import org.eclipse.jpt.core.context.java.JavaEntity;
+import org.eclipse.jpt.core.context.java.JavaGeneratorContainer;
+import org.eclipse.jpt.core.context.java.JavaIdMapping;
+import org.eclipse.jpt.core.context.java.JavaJoinColumn;
+import org.eclipse.jpt.core.context.java.JavaJoinTable;
+import org.eclipse.jpt.core.context.java.JavaJoinTableJoiningStrategy;
+import org.eclipse.jpt.core.context.java.JavaJpaContextNode;
+import org.eclipse.jpt.core.context.java.JavaManyToManyMapping;
+import org.eclipse.jpt.core.context.java.JavaPersistentAttribute;
+import org.eclipse.jpt.core.context.java.JavaPersistentType;
+import org.eclipse.jpt.core.context.java.JavaQueryContainer;
+import org.eclipse.jpt.core.context.java.JavaSecondaryTable;
+import org.eclipse.jpt.core.internal.AbstractJpaFactory;
+import org.jboss.tools.hibernate.jpt.core.internal.context.ForeignKey;
+import org.jboss.tools.hibernate.jpt.core.internal.context.HibernateNamedNativeQuery;
+import org.jboss.tools.hibernate.jpt.core.internal.context.HibernateNamedQuery;
+import org.jboss.tools.hibernate.jpt.core.internal.context.java.ForeignKeyImpl;
+import
org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaBasicMappingImpl;
+import org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaColumnImpl;
+import
org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaDiscriminatorColumnImpl;
+import org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaEntity;
+import org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaEntityImpl;
+import
org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaGeneratorContainerImpl;
+import
org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaIdMappingImpl;
+import
org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaJoinColumnImpl;
+import
org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaJoinTableImpl;
+import
org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaManyToManyMapping;
+import org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaParameter;
+import
org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaQueryContainerImpl;
+import
org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaSecondaryTableImpl;
+import org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaTable;
+import org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaTableImpl;
+import
org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateNamedNativeQueryImpl;
+import org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateNamedQueryImpl;
+import org.jboss.tools.hibernate.jpt.core.internal.context.java.IndexImpl;
+import
org.jboss.tools.hibernate.jpt.core.internal.context.java.JavaDiscriminatorFormula;
+import
org.jboss.tools.hibernate.jpt.core.internal.context.java.JavaDiscriminatorFormulaImpl;
+import org.jboss.tools.hibernate.jpt.core.internal.context.java.JavaGenericGenerator;
+import
org.jboss.tools.hibernate.jpt.core.internal.context.java.JavaGenericGeneratorImpl;
+import org.jboss.tools.hibernate.jpt.core.internal.context.java.JavaIndex;
+import org.jboss.tools.hibernate.jpt.core.internal.context.java.JavaParameter;
+
+public abstract class HibernateAbstractJpaFactory extends AbstractJpaFactory {
+
+ // ********** Core Model **********
+ public JpaProject buildJpaProject(JpaProject.Config config){
+ return new HibernateJpaProject(config);
+ }
+
+ // ********** Java Context Model **********
+ @Override
+ public JavaEntity buildJavaEntity(JavaPersistentType parent) {
+ return new HibernateJavaEntityImpl(parent);
+ }
+
+ @Override
+ public JavaIdMapping buildJavaIdMapping(JavaPersistentAttribute parent) {
+ return new HibernateJavaIdMappingImpl(parent);
+ }
+
+ public JavaGenericGenerator buildJavaGenericGenerator(JavaJpaContextNode parent) {
+ return new JavaGenericGeneratorImpl(parent);
+ }
+
+ @Override
+ public JavaDiscriminatorColumn buildJavaDiscriminatorColumn(
+ JavaEntity parent,
+ org.eclipse.jpt.core.context.java.JavaDiscriminatorColumn.Owner owner) {
+ return new HibernateJavaDiscriminatorColumnImpl(parent, owner);
+ }
+
+ public HibernateNamedQuery buildHibernateJavaNamedQuery(JavaJpaContextNode parent) {
+ return new HibernateNamedQueryImpl(parent);
+ }
+
+ public HibernateNamedNativeQuery buildHibernateJavaNamedNativeQuery(JavaJpaContextNode
parent) {
+ return new HibernateNamedNativeQueryImpl(parent);
+ }
+
+ public JavaParameter buildJavaParameter(JavaGenericGeneratorImpl
javaGenericGeneratorImpl) {
+ return new HibernateJavaParameter(javaGenericGeneratorImpl);
+ }
+
+ public JavaDiscriminatorFormula buildJavaDiscriminatorFormula(
+ HibernateJavaEntity hibernateJavaEntity) {
+ return new JavaDiscriminatorFormulaImpl(hibernateJavaEntity);
+ }
+
+ @Override
+ public JavaColumn buildJavaColumn(JavaJpaContextNode parent, JavaBaseColumn.Owner owner)
{
+ return new HibernateJavaColumnImpl(parent, owner);
+ }
+
+ @Override
+ public JavaManyToManyMapping buildJavaManyToManyMapping(
+ JavaPersistentAttribute parent) {
+ //same for jpa2_0 and 1_0
+ return new HibernateJavaManyToManyMapping(parent);
+ }
+
+ @Override
+ public JavaJoinColumn buildJavaJoinColumn(JavaJpaContextNode parent,
+ org.eclipse.jpt.core.context.java.JavaJoinColumn.Owner owner) {
+ return new HibernateJavaJoinColumnImpl(parent, owner);
+ }
+
+ @Override
+ public JavaSecondaryTable buildJavaSecondaryTable(JavaEntity parent) {
+ return new HibernateJavaSecondaryTableImpl(parent);
+ }
+
+ @Override
+ public JavaJoinTable buildJavaJoinTable(JavaJoinTableJoiningStrategy parent) {
+ return new HibernateJavaJoinTableImpl(parent);
+ }
+
+ @Override
+ public HibernateJavaTable buildJavaTable(JavaEntity parent) {
+ return new HibernateJavaTableImpl(parent);
+ }
+
+ @Override
+ public JavaBasicMapping buildJavaBasicMapping(JavaPersistentAttribute parent) {
+ return new HibernateJavaBasicMappingImpl(parent);
+ }
+
+ @Override
+ public JavaQueryContainer buildJavaQueryContainer(JavaJpaContextNode parent) {
+ return new HibernateJavaQueryContainerImpl(parent);
+ }
+
+ @Override
+ public JavaGeneratorContainer buildJavaGeneratorContainer(JavaJpaContextNode parent) {
+ return new HibernateJavaGeneratorContainerImpl(parent);
+ }
+
+ public JavaIndex buildIndex(JavaJpaContextNode parent) {
+ return new IndexImpl(parent);
+ }
+
+ public ForeignKey buildForeignKey(JavaJpaContextNode parent) {
+ return new ForeignKeyImpl(parent);
+ }
+
+}
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/HibernateJpaFactory.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/HibernateJpaFactory.java 2010-06-23
07:30:21 UTC (rev 22941)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/HibernateJpaFactory.java 2010-06-23
11:53:25 UTC (rev 22942)
@@ -10,147 +10,31 @@
******************************************************************************/
package org.jboss.tools.hibernate.jpt.core.internal;
-import org.eclipse.jpt.core.JpaProject;
-import org.eclipse.jpt.core.context.java.JavaBaseColumn;
-import org.eclipse.jpt.core.context.java.JavaBasicMapping;
-import org.eclipse.jpt.core.context.java.JavaColumn;
-import org.eclipse.jpt.core.context.java.JavaDiscriminatorColumn;
import org.eclipse.jpt.core.context.java.JavaEmbeddable;
-import org.eclipse.jpt.core.context.java.JavaEntity;
-import org.eclipse.jpt.core.context.java.JavaGeneratorContainer;
-import org.eclipse.jpt.core.context.java.JavaIdMapping;
-import org.eclipse.jpt.core.context.java.JavaJoinColumn;
-import org.eclipse.jpt.core.context.java.JavaJoinTable;
-import org.eclipse.jpt.core.context.java.JavaJoinTableJoiningStrategy;
-import org.eclipse.jpt.core.context.java.JavaJpaContextNode;
-import org.eclipse.jpt.core.context.java.JavaManyToManyMapping;
import org.eclipse.jpt.core.context.java.JavaManyToOneMapping;
import org.eclipse.jpt.core.context.java.JavaOneToManyMapping;
import org.eclipse.jpt.core.context.java.JavaOneToOneMapping;
import org.eclipse.jpt.core.context.java.JavaPersistentAttribute;
import org.eclipse.jpt.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.core.context.java.JavaQueryContainer;
-import org.eclipse.jpt.core.context.java.JavaSecondaryTable;
-import org.eclipse.jpt.core.context.orm.OrmManyToManyMapping;
-import org.eclipse.jpt.core.context.orm.OrmManyToOneMapping;
-import org.eclipse.jpt.core.context.orm.OrmOneToManyMapping;
-import org.eclipse.jpt.core.context.orm.OrmOneToOneMapping;
-import org.eclipse.jpt.core.context.orm.OrmPersistentAttribute;
-import org.eclipse.jpt.core.internal.AbstractJpaFactory;
-import org.eclipse.jpt.core.resource.orm.XmlManyToMany;
-import org.eclipse.jpt.core.resource.orm.XmlManyToOne;
-import org.eclipse.jpt.core.resource.orm.XmlOneToMany;
-import org.eclipse.jpt.core.resource.orm.XmlOneToOne;
-import org.jboss.tools.hibernate.jpt.core.internal.context.ForeignKey;
-import org.jboss.tools.hibernate.jpt.core.internal.context.HibernateNamedNativeQuery;
-import org.jboss.tools.hibernate.jpt.core.internal.context.HibernateNamedQuery;
-import org.jboss.tools.hibernate.jpt.core.internal.context.java.ForeignKeyImpl;
-import
org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaBasicMappingImpl;
-import org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaColumnImpl;
-import
org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaDiscriminatorColumnImpl;
import org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaEmbeddable;
-import org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaEntity;
-import org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaEntityImpl;
-import
org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaGeneratorContainerImpl;
-import
org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaIdMappingImpl;
-import
org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaJoinColumnImpl;
-import
org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaJoinTableImpl;
-import
org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaManyToManyMapping;
import
org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaManyToOneMapping;
import
org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaOneToManyMapping;
import
org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaOneToOneMapping;
-import org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaParameter;
-import
org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaQueryContainerImpl;
-import
org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaSecondaryTableImpl;
-import org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaTable;
-import org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaTableImpl;
-import
org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateNamedNativeQueryImpl;
-import org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateNamedQueryImpl;
-import org.jboss.tools.hibernate.jpt.core.internal.context.java.IndexImpl;
-import
org.jboss.tools.hibernate.jpt.core.internal.context.java.JavaDiscriminatorFormula;
-import
org.jboss.tools.hibernate.jpt.core.internal.context.java.JavaDiscriminatorFormulaImpl;
-import org.jboss.tools.hibernate.jpt.core.internal.context.java.JavaGenericGenerator;
-import
org.jboss.tools.hibernate.jpt.core.internal.context.java.JavaGenericGeneratorImpl;
-import org.jboss.tools.hibernate.jpt.core.internal.context.java.JavaIndex;
-import org.jboss.tools.hibernate.jpt.core.internal.context.java.JavaParameter;
-import
org.jboss.tools.hibernate.jpt.core.internal.context.orm.HibernateOrmManyToManyMapping;
-import
org.jboss.tools.hibernate.jpt.core.internal.context.orm.HibernateOrmManyToOneMapping;
-import
org.jboss.tools.hibernate.jpt.core.internal.context.orm.HibernateOrmOneToManyMapping;
-import
org.jboss.tools.hibernate.jpt.core.internal.context.orm.HibernateOrmOneToOneMapping;
/**
* @author Dmitry Geraskov
*
*/
-public class HibernateJpaFactory extends AbstractJpaFactory {
+public class HibernateJpaFactory extends HibernateAbstractJpaFactory {
- // ********** Core Model **********
- public JpaProject buildJpaProject(JpaProject.Config config){
- return new HibernateJpaProject(config);
- }
+ // ********** Hibernate Specific **********
- // ********** Java Context Model **********
- @Override
- public JavaEntity buildJavaEntity(JavaPersistentType parent) {
- return new HibernateJavaEntityImpl(parent);
- }
-
- @Override
- public JavaIdMapping buildJavaIdMapping(JavaPersistentAttribute parent) {
- return new HibernateJavaIdMappingImpl(parent);
- }
-
- public JavaGenericGenerator buildJavaGenericGenerator(JavaJpaContextNode parent) {
- return new JavaGenericGeneratorImpl(parent);
- }
-
- @Override
- public JavaDiscriminatorColumn buildJavaDiscriminatorColumn(
- JavaEntity parent,
- org.eclipse.jpt.core.context.java.JavaDiscriminatorColumn.Owner owner) {
- return new HibernateJavaDiscriminatorColumnImpl(parent, owner);
- }
-
- public HibernateNamedQuery buildHibernateJavaNamedQuery(JavaJpaContextNode parent) {
- return new HibernateNamedQueryImpl(parent);
- }
-
- public HibernateNamedNativeQuery buildHibernateJavaNamedNativeQuery(JavaJpaContextNode
parent) {
- return new HibernateNamedNativeQueryImpl(parent);
- }
-
- public JavaParameter buildJavaParameter(JavaGenericGeneratorImpl
javaGenericGeneratorImpl) {
- return new HibernateJavaParameter(javaGenericGeneratorImpl);
- }
-
- public JavaDiscriminatorFormula buildJavaDiscriminatorFormula(
- HibernateJavaEntity hibernateJavaEntity) {
- return new JavaDiscriminatorFormulaImpl(hibernateJavaEntity);
- }
-
public JavaEmbeddable buildJavaEmbeddable(JavaPersistentType parent) {
return new HibernateJavaEmbeddable(parent);
}
@Override
- public JavaColumn buildJavaColumn(JavaJpaContextNode parent, JavaBaseColumn.Owner owner)
{
- return new HibernateJavaColumnImpl(parent, owner);
- }
-
- @Override
- public JavaOneToManyMapping buildJavaOneToManyMapping(
- JavaPersistentAttribute parent) {
- return new HibernateJavaOneToManyMapping(parent);
- }
-
- @Override
- public JavaManyToManyMapping buildJavaManyToManyMapping(
- JavaPersistentAttribute parent) {
- return new HibernateJavaManyToManyMapping(parent);
- }
-
- @Override
public JavaManyToOneMapping buildJavaManyToOneMapping(
JavaPersistentAttribute parent) {
return new HibernateJavaManyToOneMapping(parent);
@@ -163,67 +47,9 @@
}
@Override
- public JavaJoinColumn buildJavaJoinColumn(JavaJpaContextNode parent,
- org.eclipse.jpt.core.context.java.JavaJoinColumn.Owner owner) {
- return new HibernateJavaJoinColumnImpl(parent, owner);
+ public JavaOneToManyMapping buildJavaOneToManyMapping(
+ JavaPersistentAttribute parent) {
+ return new HibernateJavaOneToManyMapping(parent);
}
-
- @Override
- public JavaSecondaryTable buildJavaSecondaryTable(JavaEntity parent) {
- return new HibernateJavaSecondaryTableImpl(parent);
- }
-
- @Override
- public JavaJoinTable buildJavaJoinTable(JavaJoinTableJoiningStrategy parent) {
- return new HibernateJavaJoinTableImpl(parent);
- }
-
- @Override
- public HibernateJavaTable buildJavaTable(JavaEntity parent) {
- return new HibernateJavaTableImpl(parent);
- }
-
- public JavaBasicMapping buildJavaBasicMapping(JavaPersistentAttribute parent) {
- return new HibernateJavaBasicMappingImpl(parent);
- }
-
- public JavaQueryContainer buildJavaQueryContainer(JavaJpaContextNode parent) {
- return new HibernateJavaQueryContainerImpl(parent);
- }
-
- public JavaGeneratorContainer buildJavaGeneratorContainer(JavaJpaContextNode parent) {
- return new HibernateJavaGeneratorContainerImpl(parent);
- }
-
- // ********** ORM Context Model **********
-
-
- @SuppressWarnings("unchecked")
- public OrmManyToManyMapping buildOrmManyToManyMapping(OrmPersistentAttribute parent,
XmlManyToMany resourceMapping) {
- return new HibernateOrmManyToManyMapping(parent, resourceMapping);
- }
-
- @SuppressWarnings("unchecked")
- public OrmManyToOneMapping buildOrmManyToOneMapping(OrmPersistentAttribute parent,
XmlManyToOne resourceMapping) {
- return new HibernateOrmManyToOneMapping(parent, resourceMapping);
- }
-
- @SuppressWarnings("unchecked")
- public OrmOneToManyMapping buildOrmOneToManyMapping(OrmPersistentAttribute parent,
XmlOneToMany resourceMapping) {
- return new HibernateOrmOneToManyMapping(parent, resourceMapping);
- }
-
- @SuppressWarnings("unchecked")
- public OrmOneToOneMapping buildOrmOneToOneMapping(OrmPersistentAttribute parent,
XmlOneToOne resourceMapping) {
- return new HibernateOrmOneToOneMapping(parent, resourceMapping);
- }
- public JavaIndex buildIndex(JavaJpaContextNode parent) {
- return new IndexImpl(parent);
- }
-
- public ForeignKey buildForeignKey(JavaJpaContextNode parent) {
- return new ForeignKeyImpl(parent);
- }
-
}
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/HibernateJpaPlatform.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/HibernateJpaPlatform.java 2010-06-23
07:30:21 UTC (rev 22941)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/HibernateJpaPlatform.java 2010-06-23
11:53:25 UTC (rev 22942)
@@ -25,8 +25,10 @@
*/
public class HibernateJpaPlatform extends GenericJpaPlatform {
- public static final String ID = "hibernate"; //$NON-NLS-1$
+ public static final String HIBERNATE_PLATFORM_ID = "hibernate"; //$NON-NLS-1$
+ public static final String HIBERNATE2_0_PLATFORM_ID = "hibernate2_0";
//$NON-NLS-1$
+
@Override
public ResourceDefinition getResourceDefinition(JpaResourceType resourceType) {
for (ResourceDefinition resourceDefinition :
CollectionTools.iterable(resourceDefinitions())) {
@@ -41,9 +43,4 @@
super(id, jpaVersion, jpaFactory, jpaAnnotationProvider, platformProvider,
jpaVariation);
}
- @Override
- public String getId() {
- return ID;
- }
-
}
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/HibernateJpaPlatformFactory.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/HibernateJpaPlatformFactory.java 2010-06-23
07:30:21 UTC (rev 22941)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/HibernateJpaPlatformFactory.java 2010-06-23
11:53:25 UTC (rev 22942)
@@ -15,6 +15,7 @@
import org.eclipse.jpt.core.JpaPlatform;
import org.eclipse.jpt.core.JpaPlatformFactory;
import org.eclipse.jpt.core.JpaPlatformVariation;
+import org.eclipse.jpt.core.JptCorePlugin;
import org.eclipse.jpt.core.internal.GenericJpaAnnotationDefinitionProvider;
import org.eclipse.jpt.core.internal.GenericJpaAnnotationProvider;
import org.eclipse.jpt.core.internal.GenericJpaPlatformFactory.SimpleVersion;
@@ -45,7 +46,7 @@
private JpaPlatform.Version buildJpaVersion() {
- return new SimpleVersion(HibernateJptPlugin.JPA_FACET_VERSION_1_0);
+ return new SimpleVersion(JptCorePlugin.JPA_FACET_VERSION_1_0);
}
protected JpaFactory buildJpaFactory() {
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/HibernateJpaPlatformProvider.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/HibernateJpaPlatformProvider.java 2010-06-23
07:30:21 UTC (rev 22941)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/HibernateJpaPlatformProvider.java 2010-06-23
11:53:25 UTC (rev 22942)
@@ -36,7 +36,7 @@
import org.eclipse.jpt.core.internal.context.java.JavaOneToOneMappingDefinition;
import org.eclipse.jpt.core.internal.context.java.JavaTransientMappingDefinition;
import org.eclipse.jpt.core.internal.context.java.JavaVersionMappingDefinition;
-import org.eclipse.jpt.core.internal.jpa1.context.orm.GenericOrmXmlDefinition;
+import
org.jboss.tools.hibernate.jpt.core.internal.context.orm.HibernateOrmXmlDefinition;
import
org.jboss.tools.hibernate.jpt.core.internal.context.persistence.HibernatePersistenceXmlDefinition;
/**
@@ -144,7 +144,7 @@
protected ResourceDefinition[] buildResourceDefinitions() {
return new ResourceDefinition[] {
HibernatePersistenceXmlDefinition.instance(),
- GenericOrmXmlDefinition.instance()};
+ HibernateOrmXmlDefinition.instance()};
}
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/HibernateJptPlugin.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/HibernateJptPlugin.java 2010-06-23
07:30:21 UTC (rev 22941)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/HibernateJptPlugin.java 2010-06-23
11:53:25 UTC (rev 22942)
@@ -39,8 +39,6 @@
public static final String ID = "org.jboss.tools.hibernate.jpt.core";
//$NON-NLS-1$
- public static final String JPA_FACET_VERSION_1_0 = "1.0"; //$NON-NLS-1$
-
private static HibernateJptPlugin inst = null;
public static HibernateJptPlugin getDefault() {
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/JPAPostInstallFasetListener.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/JPAPostInstallFasetListener.java 2010-06-23
07:30:21 UTC (rev 22941)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/JPAPostInstallFasetListener.java 2010-06-23
11:53:25 UTC (rev 22942)
@@ -28,9 +28,9 @@
import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
import org.eclipse.jpt.core.JptCorePlugin;
import org.eclipse.wst.common.project.facet.core.events.IFacetedProjectEvent;
+import org.eclipse.wst.common.project.facet.core.events.IFacetedProjectEvent.Type;
import org.eclipse.wst.common.project.facet.core.events.IFacetedProjectListener;
import org.eclipse.wst.common.project.facet.core.events.IProjectFacetActionEvent;
-import org.eclipse.wst.common.project.facet.core.events.IFacetedProjectEvent.Type;
import
org.hibernate.console.preferences.ConsoleConfigurationPreferences.ConfigurationMode;
import org.hibernate.eclipse.console.utils.LaunchHelper;
import org.hibernate.eclipse.console.utils.ProjectUtils;
@@ -47,7 +47,8 @@
IProject project = event.getProject().getProject();
IProjectFacetActionEvent pEvent = (IProjectFacetActionEvent)event;
if (pEvent.getProjectFacet().getId().equals(JptCorePlugin.FACET_ID)
- &&
HibernateJpaPlatform.ID.equals(JptCorePlugin.getJpaPlatformId(project))){
+ &&
(HibernateJpaPlatform.HIBERNATE_PLATFORM_ID.equals(JptCorePlugin.getJpaPlatformId(project))
+ ||
HibernateJpaPlatform.HIBERNATE2_0_PLATFORM_ID.equals(JptCorePlugin.getJpaPlatformId(project)))){
if (checkPreConditions(project)){
buildConsoleConfiguration(project);
}
@@ -96,7 +97,7 @@
protected void buildConsoleConfiguration(IProject project){
ILaunchManager lm = DebugPlugin.getDefault().getLaunchManager();
ILaunchConfigurationType lct = LaunchHelper.getHibernateLaunchConfigsType();
- String launchName = lm.generateUniqueLaunchConfigurationNameFrom(project.getName());
+ String launchName = lm.generateLaunchConfigurationName(project.getName());
ILaunchConfigurationWorkingCopy wc;
try {
wc = lct.newInstance(null, launchName);
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/NamingStrategyMappingTools.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/NamingStrategyMappingTools.java 2010-06-23
07:30:21 UTC (rev 22941)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/NamingStrategyMappingTools.java 2010-06-23
11:53:25 UTC (rev 22942)
@@ -37,6 +37,10 @@
if (relationshipMapping == null) {
return null;
}
+
+ if (!(relationshipReference.getTypeMapping() instanceof Entity))
+ return null;//could be JavaNullTypeMapping
+
Entity ownerEntity = (Entity) relationshipReference.getTypeMapping();
org.eclipse.jpt.core.context.Table ownerTable = ownerEntity.getTable();
if (ownerTable == null) {
Added:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/AbstractHibernateJavaManyToOneMapping.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/AbstractHibernateJavaManyToOneMapping.java
(rev 0)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/AbstractHibernateJavaManyToOneMapping.java 2010-06-23
11:53:25 UTC (rev 22942)
@@ -0,0 +1,162 @@
+package org.jboss.tools.hibernate.jpt.core.internal.context.java;
+
+import java.util.Iterator;
+import java.util.List;
+import java.util.Vector;
+
+import org.eclipse.jdt.core.dom.CompilationUnit;
+import org.eclipse.jpt.core.context.java.JavaPersistentAttribute;
+import org.eclipse.jpt.core.internal.context.java.AbstractJavaManyToOneMapping;
+import org.eclipse.jpt.core.utility.TextRange;
+import org.eclipse.jpt.db.Table;
+import org.eclipse.wst.validation.internal.provisional.core.IMessage;
+import org.eclipse.wst.validation.internal.provisional.core.IReporter;
+import org.jboss.tools.hibernate.jpt.core.internal.HibernateAbstractJpaFactory;
+import org.jboss.tools.hibernate.jpt.core.internal.context.ForeignKey;
+import org.jboss.tools.hibernate.jpt.core.internal.context.ForeignKeyHolder;
+import
org.jboss.tools.hibernate.jpt.core.internal.context.HibernatePersistenceUnit.LocalMessage;
+import org.jboss.tools.hibernate.jpt.core.internal.context.Messages;
+import org.jboss.tools.hibernate.jpt.core.internal.context.basic.Hibernate;
+
+public abstract class AbstractHibernateJavaManyToOneMapping extends
+ AbstractJavaManyToOneMapping implements ForeignKeyHolder {
+
+ protected ForeignKey foreignKey;
+
+ public AbstractHibernateJavaManyToOneMapping(JavaPersistentAttribute parent) {
+ super(parent);
+ }
+
+ @Override
+ protected void addSupportingAnnotationNamesTo(Vector<String> names) {
+ super.addSupportingAnnotationNamesTo(names);
+ names.add(Hibernate.FOREIGN_KEY);
+ }
+
+ @Override
+ protected HibernateAbstractJpaFactory getJpaFactory() {
+ return (HibernateAbstractJpaFactory) super.getJpaFactory();
+ }
+
+ @Override
+ protected void initialize() {
+ super.initialize();
+ this.initializeForeignKey();
+ }
+
+ @Override
+ protected void update() {
+ super.update();
+ this.updateForeignKey();
+ }
+
+ // *** foreignKey
+
+ protected void initializeForeignKey() {
+ ForeignKeyAnnotation foreignKeyResource = getResourceForeignKey();
+ if (foreignKeyResource != null) {
+ this.foreignKey = buildForeignKey(foreignKeyResource);
+ }
+ }
+
+ protected void updateForeignKey() {
+ ForeignKeyAnnotation foreignKeyResource = getResourceForeignKey();
+ if (foreignKeyResource == null) {
+ if (getForeignKey() != null) {
+ setForeignKey(null);
+ }
+ } else {
+ if (getForeignKey() == null) {
+ setForeignKey(buildForeignKey(foreignKeyResource));
+ } else {
+ getForeignKey().update(foreignKeyResource);
+ }
+ }
+ }
+
+ public ForeignKey addForeignKey() {
+ if (getForeignKey() != null) {
+ throw new IllegalStateException("foreignKey already exists"); //$NON-NLS-1$
+ }
+ this.foreignKey = getJpaFactory().buildForeignKey(this);
+ ForeignKeyAnnotation foreignKeyResource = (ForeignKeyAnnotation)
getResourcePersistentAttribute()
+ .addAnnotation(ForeignKeyAnnotation.ANNOTATION_NAME);
+ this.foreignKey.initialize(foreignKeyResource);
+ firePropertyChanged(FOREIGN_KEY_PROPERTY, null, this.foreignKey);
+ return this.foreignKey;
+ }
+
+ public ForeignKey getForeignKey() {
+ return this.foreignKey;
+ }
+
+ protected void setForeignKey(ForeignKey newForeignKey) {
+ ForeignKey oldForeignKey = this.foreignKey;
+ this.foreignKey = newForeignKey;
+ firePropertyChanged(FOREIGN_KEY_PROPERTY, oldForeignKey, newForeignKey);
+ }
+
+ public void removeForeignKey() {
+ if (getForeignKey() == null) {
+ throw new IllegalStateException(
+ "foreignKey does not exist, cannot be removed"); //$NON-NLS-1$
+ }
+ ForeignKey oldForeignKey = this.foreignKey;
+ this.foreignKey = null;
+ this.getResourcePersistentAttribute().removeAnnotation(
+ ForeignKeyAnnotation.ANNOTATION_NAME);
+ firePropertyChanged(FOREIGN_KEY_PROPERTY, oldForeignKey, null);
+ }
+
+ protected ForeignKey buildForeignKey(ForeignKeyAnnotation foreignKeyResource) {
+ ForeignKey foreignKey = getJpaFactory().buildForeignKey(this);
+ foreignKey.initialize(foreignKeyResource);
+ return foreignKey;
+ }
+
+ protected ForeignKeyAnnotation getResourceForeignKey() {
+ return (ForeignKeyAnnotation) this.getResourcePersistentAttribute()
+ .getAnnotation(ForeignKeyAnnotation.ANNOTATION_NAME);
+ }
+
+ public Table getForeignKeyDbTable() {
+ return getTypeMapping().getPrimaryDbTable();
+ }
+
+ @Override
+ public void validate(List<IMessage> messages, IReporter reporter,
+ CompilationUnit astRoot) {
+ super.validate(messages, reporter, astRoot);
+ this.validateForeignKey(messages, astRoot);
+ }
+
+ protected void validateForeignKey(List<IMessage> messages,
+ CompilationUnit astRoot) {
+ Table table = getTypeMapping().getPrimaryDbTable();
+ if (!shouldValidateAgainstDatabase() || foreignKey == null
+ || table == null) {
+ return;
+ }
+ Iterator<org.eclipse.jpt.db.ForeignKey> fks = table.getForeignKeys()
+ .iterator();
+ while (fks.hasNext()) {
+ org.eclipse.jpt.db.ForeignKey fk = (org.eclipse.jpt.db.ForeignKey) fks
+ .next();
+ if (foreignKey.getName().equals(fk.getIdentifier())) {
+ return;
+ }
+ }
+ TextRange textRange = this.getResourceForeignKey().getNameTextRange(
+ astRoot);
+ IMessage message = new LocalMessage(IMessage.HIGH_SEVERITY,
+ Messages.UNRESOLVED_FOREIGN_KEY_NAME, new String[] {
+ foreignKey.getName(),
+ getTypeMapping().getPrimaryTableName() },
+ this.foreignKey);
+ message.setLineNo(textRange.getLineNumber());
+ message.setOffset(textRange.getOffset());
+ message.setLength(textRange.getLength());
+ messages.add(message);
+ }
+
+}
Added:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/AbstractHibernateJavaOneToOneMapping.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/AbstractHibernateJavaOneToOneMapping.java
(rev 0)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/AbstractHibernateJavaOneToOneMapping.java 2010-06-23
11:53:25 UTC (rev 22942)
@@ -0,0 +1,161 @@
+package org.jboss.tools.hibernate.jpt.core.internal.context.java;
+
+import java.util.Iterator;
+import java.util.List;
+import java.util.Vector;
+
+import org.eclipse.jdt.core.dom.CompilationUnit;
+import org.eclipse.jpt.core.context.java.JavaPersistentAttribute;
+import org.eclipse.jpt.core.internal.context.java.AbstractJavaOneToOneMapping;
+import org.eclipse.jpt.core.utility.TextRange;
+import org.eclipse.jpt.db.Table;
+import org.eclipse.wst.validation.internal.provisional.core.IMessage;
+import org.eclipse.wst.validation.internal.provisional.core.IReporter;
+import org.jboss.tools.hibernate.jpt.core.internal.HibernateJpaFactory;
+import org.jboss.tools.hibernate.jpt.core.internal.context.ForeignKey;
+import org.jboss.tools.hibernate.jpt.core.internal.context.ForeignKeyHolder;
+import
org.jboss.tools.hibernate.jpt.core.internal.context.HibernatePersistenceUnit.LocalMessage;
+import org.jboss.tools.hibernate.jpt.core.internal.context.Messages;
+import org.jboss.tools.hibernate.jpt.core.internal.context.basic.Hibernate;
+
+public abstract class AbstractHibernateJavaOneToOneMapping extends
+ AbstractJavaOneToOneMapping implements ForeignKeyHolder {
+
+ protected ForeignKey foreignKey;
+
+ public AbstractHibernateJavaOneToOneMapping(JavaPersistentAttribute parent) {
+ super(parent);
+ }
+
+ @Override
+ protected void addSupportingAnnotationNamesTo(Vector<String> names) {
+ super.addSupportingAnnotationNamesTo(names);
+ names.add(Hibernate.FOREIGN_KEY);
+ }
+
+ @Override
+ protected HibernateJpaFactory getJpaFactory() {
+ return (HibernateJpaFactory) super.getJpaFactory();
+ }
+
+ @Override
+ protected void initialize() {
+ super.initialize();
+ this.initializeForeignKey();
+ }
+
+ @Override
+ protected void update() {
+ super.update();
+ this.updateForeignKey();
+ }
+
+ // *** foreignKey
+
+ protected void initializeForeignKey() {
+ ForeignKeyAnnotation foreignKeyResource = getResourceForeignKey();
+ if (foreignKeyResource != null) {
+ this.foreignKey = buildForeignKey(foreignKeyResource);
+ }
+ }
+
+ protected void updateForeignKey() {
+ ForeignKeyAnnotation foreignKeyResource = getResourceForeignKey();
+ if (foreignKeyResource == null) {
+ if (getForeignKey() != null) {
+ setForeignKey(null);
+ }
+ } else {
+ if (getForeignKey() == null) {
+ setForeignKey(buildForeignKey(foreignKeyResource));
+ } else {
+ getForeignKey().update(foreignKeyResource);
+ }
+ }
+ }
+
+ public ForeignKey addForeignKey() {
+ if (getForeignKey() != null) {
+ throw new IllegalStateException("foreignKey already exists"); //$NON-NLS-1$
+ }
+ this.foreignKey = getJpaFactory().buildForeignKey(this);
+ ForeignKeyAnnotation foreignKeyResource = (ForeignKeyAnnotation)
getResourcePersistentAttribute()
+ .addAnnotation(ForeignKeyAnnotation.ANNOTATION_NAME);
+ this.foreignKey.initialize(foreignKeyResource);
+ firePropertyChanged(FOREIGN_KEY_PROPERTY, null, this.foreignKey);
+ return this.foreignKey;
+ }
+
+ public ForeignKey getForeignKey() {
+ return this.foreignKey;
+ }
+
+ protected void setForeignKey(ForeignKey newForeignKey) {
+ ForeignKey oldForeignKey = this.foreignKey;
+ this.foreignKey = newForeignKey;
+ firePropertyChanged(FOREIGN_KEY_PROPERTY, oldForeignKey, newForeignKey);
+ }
+
+ public void removeForeignKey() {
+ if (getForeignKey() == null) {
+ throw new IllegalStateException(
+ "foreignKey does not exist, cannot be removed"); //$NON-NLS-1$
+ }
+ ForeignKey oldForeignKey = this.foreignKey;
+ this.foreignKey = null;
+ this.getResourcePersistentAttribute().removeAnnotation(
+ ForeignKeyAnnotation.ANNOTATION_NAME);
+ firePropertyChanged(FOREIGN_KEY_PROPERTY, oldForeignKey, null);
+ }
+
+ protected ForeignKey buildForeignKey(ForeignKeyAnnotation foreignKeyResource) {
+ ForeignKey foreignKey = getJpaFactory().buildForeignKey(this);
+ foreignKey.initialize(foreignKeyResource);
+ return foreignKey;
+ }
+
+ protected ForeignKeyAnnotation getResourceForeignKey() {
+ return (ForeignKeyAnnotation) this.getResourcePersistentAttribute()
+ .getAnnotation(ForeignKeyAnnotation.ANNOTATION_NAME);
+ }
+
+ public Table getForeignKeyDbTable() {
+ return getTypeMapping().getPrimaryDbTable();
+ }
+
+ @Override
+ public void validate(List<IMessage> messages, IReporter reporter,
+ CompilationUnit astRoot) {
+ super.validate(messages, reporter, astRoot);
+ this.validateForeignKey(messages, astRoot);
+ }
+
+ protected void validateForeignKey(List<IMessage> messages,
+ CompilationUnit astRoot) {
+ Table table = getTypeMapping().getPrimaryDbTable();
+ if (!shouldValidateAgainstDatabase() || foreignKey == null
+ || table == null) {
+ return;
+ }
+ Iterator<org.eclipse.jpt.db.ForeignKey> fks = table.getForeignKeys()
+ .iterator();
+ while (fks.hasNext()) {
+ org.eclipse.jpt.db.ForeignKey fk = (org.eclipse.jpt.db.ForeignKey) fks
+ .next();
+ if (foreignKey.getName().equals(fk.getIdentifier())) {
+ return;
+ }
+ }
+ TextRange textRange = this.getResourceForeignKey().getNameTextRange(
+ astRoot);
+ IMessage message = new LocalMessage(IMessage.HIGH_SEVERITY,
+ Messages.UNRESOLVED_FOREIGN_KEY_NAME, new String[] {
+ foreignKey.getName(),
+ getTypeMapping().getPrimaryTableName() },
+ this.foreignKey);
+ message.setLineNo(textRange.getLineNumber());
+ message.setOffset(textRange.getOffset());
+ message.setLength(textRange.getLength());
+ messages.add(message);
+ }
+}
\ No newline at end of file
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaBasicMappingImpl.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaBasicMappingImpl.java 2010-06-23
07:30:21 UTC (rev 22941)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaBasicMappingImpl.java 2010-06-23
11:53:25 UTC (rev 22942)
@@ -15,7 +15,7 @@
import org.eclipse.jpt.core.context.java.JavaPersistentAttribute;
import org.eclipse.jpt.core.internal.context.java.AbstractJavaBasicMapping;
-import org.jboss.tools.hibernate.jpt.core.internal.HibernateJpaFactory;
+import org.jboss.tools.hibernate.jpt.core.internal.HibernateAbstractJpaFactory;
import org.jboss.tools.hibernate.jpt.core.internal.context.Generated;
import org.jboss.tools.hibernate.jpt.core.internal.context.GenerationTime;
import org.jboss.tools.hibernate.jpt.core.internal.context.basic.Hibernate;
@@ -44,8 +44,8 @@
}
@Override
- protected HibernateJpaFactory getJpaFactory() {
- return (HibernateJpaFactory) super.getJpaFactory();
+ protected HibernateAbstractJpaFactory getJpaFactory() {
+ return (HibernateAbstractJpaFactory) super.getJpaFactory();
}
@Override
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaEntityImpl.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaEntityImpl.java 2010-06-23
07:30:21 UTC (rev 22941)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaEntityImpl.java 2010-06-23
11:53:25 UTC (rev 22942)
@@ -23,7 +23,9 @@
import org.eclipse.jpt.core.context.java.JavaPersistentType;
import org.eclipse.jpt.core.internal.context.java.AbstractJavaEntity;
import org.eclipse.jpt.core.internal.jpa2.context.java.NullJavaCacheable2_0;
+import org.eclipse.jpt.core.jpa2.context.CacheableHolder2_0;
import org.eclipse.jpt.core.jpa2.context.java.JavaCacheable2_0;
+import org.eclipse.jpt.core.jpa2.context.persistence.PersistenceUnit2_0;
import org.eclipse.jpt.core.resource.java.JavaResourcePersistentType;
import org.eclipse.jpt.core.utility.TextRange;
import org.eclipse.jpt.utility.Filter;
@@ -34,7 +36,7 @@
import org.eclipse.wst.validation.internal.provisional.core.IMessage;
import org.eclipse.wst.validation.internal.provisional.core.IReporter;
import org.hibernate.cfg.NamingStrategy;
-import org.jboss.tools.hibernate.jpt.core.internal.HibernateJpaFactory;
+import org.jboss.tools.hibernate.jpt.core.internal.HibernateAbstractJpaFactory;
import org.jboss.tools.hibernate.jpt.core.internal.HibernateJpaProject;
import org.jboss.tools.hibernate.jpt.core.internal.HibernateJptPlugin;
import org.jboss.tools.hibernate.jpt.core.internal.context.ForeignKey;
@@ -80,8 +82,8 @@
this.updateForeignKey();
}
- protected HibernateJpaFactory getJpaFactory() {
- return (HibernateJpaFactory) this.getJpaPlatform().getJpaFactory();
+ protected HibernateAbstractJpaFactory getJpaFactory() {
+ return (HibernateAbstractJpaFactory) this.getJpaPlatform().getJpaFactory();
}
@Override
@@ -435,11 +437,15 @@
}
public JavaCacheable2_0 getCacheable() {
- return cachable;
+ return this.cachable;
}
- public boolean calculateDefaultCacheable() {
- return false;
+ public boolean calculateDefaultCacheable() {
+ CacheableHolder2_0 parentEntity = (CacheableHolder2_0) getParentEntity();
+ if (parentEntity != null) {
+ return parentEntity.getCacheable().isCacheable();
+ }
+ return ((PersistenceUnit2_0) getPersistenceUnit()).calculateDefaultCacheable();
}
}
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaGeneratorContainerImpl.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaGeneratorContainerImpl.java 2010-06-23
07:30:21 UTC (rev 22941)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaGeneratorContainerImpl.java 2010-06-23
11:53:25 UTC (rev 22942)
@@ -22,7 +22,7 @@
import org.eclipse.jpt.core.resource.java.NestableAnnotation;
import org.eclipse.jpt.utility.internal.CollectionTools;
import org.eclipse.jpt.utility.internal.iterators.CloneListIterator;
-import org.jboss.tools.hibernate.jpt.core.internal.HibernateJpaFactory;
+import org.jboss.tools.hibernate.jpt.core.internal.HibernateAbstractJpaFactory;
import org.jboss.tools.hibernate.jpt.core.internal.context.GenericGenerator;
import
org.jboss.tools.hibernate.jpt.core.internal.resource.java.GenericGeneratorAnnotation;
import
org.jboss.tools.hibernate.jpt.core.internal.resource.java.GenericGeneratorsAnnotation;
@@ -42,8 +42,8 @@
this.genericGenerators = new ArrayList<JavaGenericGenerator>();
}
- public HibernateJpaFactory getJpaFactory(){
- return (HibernateJpaFactory)super.getJpaFactory();
+ public HibernateAbstractJpaFactory getJpaFactory(){
+ return (HibernateAbstractJpaFactory)super.getJpaFactory();
}
@Override
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaIdMappingImpl.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaIdMappingImpl.java 2010-06-23
07:30:21 UTC (rev 22941)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaIdMappingImpl.java 2010-06-23
11:53:25 UTC (rev 22942)
@@ -14,7 +14,7 @@
import org.eclipse.jpt.core.context.java.JavaPersistentAttribute;
import org.eclipse.jpt.core.internal.context.java.AbstractJavaIdMapping;
-import org.jboss.tools.hibernate.jpt.core.internal.HibernateJpaFactory;
+import org.jboss.tools.hibernate.jpt.core.internal.HibernateAbstractJpaFactory;
import org.jboss.tools.hibernate.jpt.core.internal.context.basic.Hibernate;
import
org.jboss.tools.hibernate.jpt.core.internal.resource.java.GenericGeneratorAnnotation;
import org.jboss.tools.hibernate.jpt.core.internal.resource.java.IndexAnnotation;
@@ -49,8 +49,8 @@
}
@Override
- protected HibernateJpaFactory getJpaFactory() {
- return (HibernateJpaFactory) super.getJpaFactory();
+ protected HibernateAbstractJpaFactory getJpaFactory() {
+ return (HibernateAbstractJpaFactory) super.getJpaFactory();
}
@Override
@@ -87,7 +87,7 @@
}
protected JavaGenericGenerator buildGenericGenerator(GenericGeneratorAnnotation
genericGeneratorResource) {
- JavaGenericGenerator generator = ((HibernateJpaFactory)
getJpaFactory()).buildJavaGenericGenerator(this);
+ JavaGenericGenerator generator = ((HibernateAbstractJpaFactory)
getJpaFactory()).buildJavaGenericGenerator(this);
generator.initialize(genericGeneratorResource);
return generator;
}
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaJoinTableJoiningStrategy.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaJoinTableJoiningStrategy.java 2010-06-23
07:30:21 UTC (rev 22941)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaJoinTableJoiningStrategy.java 2010-06-23
11:53:25 UTC (rev 22942)
@@ -29,6 +29,7 @@
super(parent);
}
+ @Override
public String getJoinTableDefaultName() {
return
NamingStrategyMappingTools.buildJoinTableDefaultName(getRelationshipReference());
}
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaManyToManyMapping.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaManyToManyMapping.java 2010-06-23
07:30:21 UTC (rev 22941)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaManyToManyMapping.java 2010-06-23
11:53:25 UTC (rev 22942)
@@ -18,7 +18,7 @@
import org.eclipse.jdt.core.dom.CompilationUnit;
import org.eclipse.jpt.core.context.java.JavaPersistentAttribute;
import org.eclipse.jpt.core.context.java.JavaRelationshipReference;
-import org.eclipse.jpt.core.internal.jpa1.context.java.GenericJavaManyToManyMapping;
+import org.eclipse.jpt.core.internal.context.java.AbstractJavaManyToManyMapping;
import org.eclipse.jpt.core.utility.TextRange;
import org.eclipse.jpt.db.Table;
import org.eclipse.wst.validation.internal.provisional.core.IMessage;
@@ -36,7 +36,7 @@
*/
public class HibernateJavaManyToManyMapping extends
- GenericJavaManyToManyMapping implements ForeignKeyHolder{
+AbstractJavaManyToManyMapping implements ForeignKeyHolder{
protected ForeignKey foreignKey;
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaManyToOneMapping.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaManyToOneMapping.java 2010-06-23
07:30:21 UTC (rev 22941)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaManyToOneMapping.java 2010-06-23
11:53:25 UTC (rev 22942)
@@ -11,160 +11,23 @@
package org.jboss.tools.hibernate.jpt.core.internal.context.java;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Vector;
-
-import org.eclipse.jdt.core.dom.CompilationUnit;
import org.eclipse.jpt.core.context.java.JavaPersistentAttribute;
-import org.eclipse.jpt.core.internal.jpa1.context.java.GenericJavaManyToOneMapping;
-import org.eclipse.jpt.core.utility.TextRange;
-import org.eclipse.jpt.db.Table;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-import org.eclipse.wst.validation.internal.provisional.core.IReporter;
-import org.jboss.tools.hibernate.jpt.core.internal.HibernateJpaFactory;
-import org.jboss.tools.hibernate.jpt.core.internal.context.ForeignKey;
-import org.jboss.tools.hibernate.jpt.core.internal.context.ForeignKeyHolder;
-import
org.jboss.tools.hibernate.jpt.core.internal.context.HibernatePersistenceUnit.LocalMessage;
-import org.jboss.tools.hibernate.jpt.core.internal.context.Messages;
-import org.jboss.tools.hibernate.jpt.core.internal.context.basic.Hibernate;
+import
org.eclipse.jpt.core.internal.context.java.GenericJavaManyToOneRelationshipReference;
+import org.eclipse.jpt.core.jpa2.context.java.JavaManyToOneRelationshipReference2_0;
/**
* @author Dmitry Geraskov
*
*/
-public class HibernateJavaManyToOneMapping extends GenericJavaManyToOneMapping
-implements ForeignKeyHolder {
+public class HibernateJavaManyToOneMapping extends AbstractHibernateJavaManyToOneMapping
{
- protected ForeignKey foreignKey;
-
public HibernateJavaManyToOneMapping(JavaPersistentAttribute parent) {
super(parent);
}
@Override
- protected void addSupportingAnnotationNamesTo(Vector<String> names) {
- super.addSupportingAnnotationNamesTo(names);
- names.add(Hibernate.FOREIGN_KEY);
- }
-
- @Override
- protected HibernateJpaFactory getJpaFactory() {
- return (HibernateJpaFactory) super.getJpaFactory();
- }
-
- @Override
- protected void initialize() {
- super.initialize();
- this.initializeForeignKey();
- }
-
- @Override
- protected void update() {
- super.update();
- this.updateForeignKey();
- }
-
+ protected JavaManyToOneRelationshipReference2_0 buildRelationshipReference() {
+ return new GenericJavaManyToOneRelationshipReference(this);
+ }
-
- // *** foreignKey
-
- protected void initializeForeignKey() {
- ForeignKeyAnnotation foreignKeyResource = getResourceForeignKey();
- if (foreignKeyResource != null) {
- this.foreignKey = buildForeignKey(foreignKeyResource);
- }
- }
-
- protected void updateForeignKey() {
- ForeignKeyAnnotation foreignKeyResource = getResourceForeignKey();
- if (foreignKeyResource == null) {
- if (getForeignKey() != null) {
- setForeignKey(null);
- }
- }
- else {
- if (getForeignKey() == null) {
- setForeignKey(buildForeignKey(foreignKeyResource));
- }
- else {
- getForeignKey().update(foreignKeyResource);
- }
- }
- }
-
- public ForeignKey addForeignKey() {
- if (getForeignKey() != null) {
- throw new IllegalStateException("foreignKey already exists"); //$NON-NLS-1$
- }
- this.foreignKey = getJpaFactory().buildForeignKey(this);
- ForeignKeyAnnotation foreignKeyResource = (ForeignKeyAnnotation)
getResourcePersistentAttribute().addAnnotation(ForeignKeyAnnotation.ANNOTATION_NAME);
- this.foreignKey.initialize(foreignKeyResource);
- firePropertyChanged(FOREIGN_KEY_PROPERTY, null, this.foreignKey);
- return this.foreignKey;
- }
-
- public ForeignKey getForeignKey() {
- return this.foreignKey;
- }
-
- protected void setForeignKey(ForeignKey newForeignKey) {
- ForeignKey oldForeignKey = this.foreignKey;
- this.foreignKey = newForeignKey;
- firePropertyChanged(FOREIGN_KEY_PROPERTY, oldForeignKey, newForeignKey);
- }
-
- public void removeForeignKey() {
- if (getForeignKey() == null) {
- throw new IllegalStateException("foreignKey does not exist, cannot be
removed"); //$NON-NLS-1$
- }
- ForeignKey oldForeignKey = this.foreignKey;
- this.foreignKey = null;
- this.getResourcePersistentAttribute().removeAnnotation(ForeignKeyAnnotation.ANNOTATION_NAME);
- firePropertyChanged(FOREIGN_KEY_PROPERTY, oldForeignKey, null);
- }
-
- protected ForeignKey buildForeignKey(ForeignKeyAnnotation foreignKeyResource) {
- ForeignKey foreignKey = getJpaFactory().buildForeignKey(this);
- foreignKey.initialize(foreignKeyResource);
- return foreignKey;
- }
-
- protected ForeignKeyAnnotation getResourceForeignKey() {
- return (ForeignKeyAnnotation)
this.getResourcePersistentAttribute().getAnnotation(ForeignKeyAnnotation.ANNOTATION_NAME);
- }
-
- public Table getForeignKeyDbTable() {
- return getTypeMapping().getPrimaryDbTable();
- }
-
- @Override
- public void validate(List<IMessage> messages, IReporter reporter,
- CompilationUnit astRoot) {
- super.validate(messages, reporter, astRoot);
- this.validateForeignKey(messages, astRoot);
- }
-
- protected void validateForeignKey(List<IMessage> messages, CompilationUnit
astRoot) {
- Table table = getTypeMapping().getPrimaryDbTable();
- if (!shouldValidateAgainstDatabase() || foreignKey == null || table == null ){
- return;
- }
- Iterator<org.eclipse.jpt.db.ForeignKey> fks = table.getForeignKeys().iterator();
- while (fks.hasNext()) {
- org.eclipse.jpt.db.ForeignKey fk = (org.eclipse.jpt.db.ForeignKey) fks.next();
- if (foreignKey.getName().equals(fk.getIdentifier())){
- return;
- }
- }
- TextRange textRange = this.getResourceForeignKey().getNameTextRange(astRoot);
- IMessage message = new LocalMessage(IMessage.HIGH_SEVERITY,
- Messages.UNRESOLVED_FOREIGN_KEY_NAME, new String[] {foreignKey.getName(),
getTypeMapping().getPrimaryTableName()},
- this.foreignKey);
- message.setLineNo(textRange.getLineNumber());
- message.setOffset(textRange.getOffset());
- message.setLength(textRange.getLength());
- messages.add(message);
- }
-
}
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaOneToManyMapping.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaOneToManyMapping.java 2010-06-23
07:30:21 UTC (rev 22941)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaOneToManyMapping.java 2010-06-23
11:53:25 UTC (rev 22942)
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009 Red Hat, Inc.
+ * Copyright (c) 2010 Red Hat, Inc.
* Distributed under license by Red Hat, Inc. All rights reserved.
* This program is made available under the terms of the
* Eclipse Public License v1.0 which accompanies this distribution,
@@ -8,7 +8,6 @@
* Contributor:
* Red Hat, Inc. - initial API and implementation
******************************************************************************/
-
package org.jboss.tools.hibernate.jpt.core.internal.context.java;
import org.eclipse.jpt.core.context.java.JavaPersistentAttribute;
@@ -21,13 +20,16 @@
*/
public class HibernateJavaOneToManyMapping extends GenericJavaOneToManyMapping {
+ /**
+ * @param parent
+ */
public HibernateJavaOneToManyMapping(JavaPersistentAttribute parent) {
super(parent);
}
@Override
protected JavaRelationshipReference buildRelationshipReference() {
- return super.buildRelationshipReference();
+ return new HibernateJavaOneToManyRelationshipReference(this);
}
}
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaOneToManyRelationshipReference.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaOneToManyRelationshipReference.java 2010-06-23
07:30:21 UTC (rev 22941)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaOneToManyRelationshipReference.java 2010-06-23
11:53:25 UTC (rev 22942)
@@ -29,6 +29,7 @@
super(parent);
}
+ @Override
protected JavaJoinTableJoiningStrategy buildJoinTableJoiningStrategy() {
return new HibernateJavaJoinTableJoiningStrategy(this);
}
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaOneToOneMapping.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaOneToOneMapping.java 2010-06-23
07:30:21 UTC (rev 22941)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaOneToOneMapping.java 2010-06-23
11:53:25 UTC (rev 22942)
@@ -11,171 +11,25 @@
package org.jboss.tools.hibernate.jpt.core.internal.context.java;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Vector;
-
-import org.eclipse.jdt.core.dom.CompilationUnit;
import org.eclipse.jpt.core.context.java.JavaPersistentAttribute;
-import org.eclipse.jpt.core.internal.jpa1.context.java.GenericJavaOneToOneMapping;
-import org.eclipse.jpt.core.utility.TextRange;
-import org.eclipse.jpt.db.Table;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
-import org.eclipse.wst.validation.internal.provisional.core.IReporter;
-import org.jboss.tools.hibernate.jpt.core.internal.HibernateJpaFactory;
-import org.jboss.tools.hibernate.jpt.core.internal.context.ForeignKey;
-import org.jboss.tools.hibernate.jpt.core.internal.context.ForeignKeyHolder;
-import
org.jboss.tools.hibernate.jpt.core.internal.context.HibernatePersistenceUnit.LocalMessage;
-import org.jboss.tools.hibernate.jpt.core.internal.context.Messages;
-import org.jboss.tools.hibernate.jpt.core.internal.context.basic.Hibernate;
+import
org.eclipse.jpt.core.internal.context.java.GenericJavaOneToOneRelationshipReference;
+import org.eclipse.jpt.core.jpa2.context.java.JavaOneToOneRelationshipReference2_0;
/**
* @author Dmitry Geraskov
*
*/
-public class HibernateJavaOneToOneMapping extends GenericJavaOneToOneMapping
-implements ForeignKeyHolder {
+public class HibernateJavaOneToOneMapping extends AbstractHibernateJavaOneToOneMapping {
- protected ForeignKey foreignKey;
-
public HibernateJavaOneToOneMapping(JavaPersistentAttribute parent) {
super(parent);
}
-
- /*@Override
- public String getJoinTableDefaultName() {
- return NamingStrategyMappingTools.buildJoinTableDefaultName(this);
- }
-
- @Override
- protected JavaRelationshipReference buildRelationshipReference() {
- return new HibernateJavaOneToOneRelationshipReference(this);
- }*/
-
- @Override
- protected void addSupportingAnnotationNamesTo(Vector<String> names) {
- super.addSupportingAnnotationNamesTo(names);
- names.add(Hibernate.FOREIGN_KEY);
- }
-
- @Override
- protected HibernateJpaFactory getJpaFactory() {
- return (HibernateJpaFactory) super.getJpaFactory();
- }
-
- @Override
- protected void initialize() {
- super.initialize();
- this.initializeForeignKey();
- }
-
- @Override
- protected void update() {
- super.update();
- this.updateForeignKey();
- }
-
-
- // *** foreignKey
-
- protected void initializeForeignKey() {
- ForeignKeyAnnotation foreignKeyResource = getResourceForeignKey();
- if (foreignKeyResource != null) {
- this.foreignKey = buildForeignKey(foreignKeyResource);
- }
- }
-
- protected void updateForeignKey() {
- ForeignKeyAnnotation foreignKeyResource = getResourceForeignKey();
- if (foreignKeyResource == null) {
- if (getForeignKey() != null) {
- setForeignKey(null);
- }
- }
- else {
- if (getForeignKey() == null) {
- setForeignKey(buildForeignKey(foreignKeyResource));
- }
- else {
- getForeignKey().update(foreignKeyResource);
- }
- }
- }
-
- public ForeignKey addForeignKey() {
- if (getForeignKey() != null) {
- throw new IllegalStateException("foreignKey already exists"); //$NON-NLS-1$
- }
- this.foreignKey = getJpaFactory().buildForeignKey(this);
- ForeignKeyAnnotation foreignKeyResource = (ForeignKeyAnnotation)
getResourcePersistentAttribute().addAnnotation(ForeignKeyAnnotation.ANNOTATION_NAME);
- this.foreignKey.initialize(foreignKeyResource);
- firePropertyChanged(FOREIGN_KEY_PROPERTY, null, this.foreignKey);
- return this.foreignKey;
- }
-
- public ForeignKey getForeignKey() {
- return this.foreignKey;
- }
-
- protected void setForeignKey(ForeignKey newForeignKey) {
- ForeignKey oldForeignKey = this.foreignKey;
- this.foreignKey = newForeignKey;
- firePropertyChanged(FOREIGN_KEY_PROPERTY, oldForeignKey, newForeignKey);
- }
-
- public void removeForeignKey() {
- if (getForeignKey() == null) {
- throw new IllegalStateException("foreignKey does not exist, cannot be
removed"); //$NON-NLS-1$
- }
- ForeignKey oldForeignKey = this.foreignKey;
- this.foreignKey = null;
- this.getResourcePersistentAttribute().removeAnnotation(ForeignKeyAnnotation.ANNOTATION_NAME);
- firePropertyChanged(FOREIGN_KEY_PROPERTY, oldForeignKey, null);
- }
-
- protected ForeignKey buildForeignKey(ForeignKeyAnnotation foreignKeyResource) {
- ForeignKey foreignKey = getJpaFactory().buildForeignKey(this);
- foreignKey.initialize(foreignKeyResource);
- return foreignKey;
- }
-
- protected ForeignKeyAnnotation getResourceForeignKey() {
- return (ForeignKeyAnnotation)
this.getResourcePersistentAttribute().getAnnotation(ForeignKeyAnnotation.ANNOTATION_NAME);
- }
-
- public Table getForeignKeyDbTable() {
- return getTypeMapping().getPrimaryDbTable();
- }
-
@Override
- public void validate(List<IMessage> messages, IReporter reporter,
- CompilationUnit astRoot) {
- super.validate(messages, reporter, astRoot);
- this.validateForeignKey(messages, astRoot);
+ protected JavaOneToOneRelationshipReference2_0 buildRelationshipReference() {
+ return new GenericJavaOneToOneRelationshipReference(this);
}
- protected void validateForeignKey(List<IMessage> messages, CompilationUnit
astRoot) {
- Table table = getTypeMapping().getPrimaryDbTable();
- if (!shouldValidateAgainstDatabase() || foreignKey == null || table == null ){
- return;
- }
- Iterator<org.eclipse.jpt.db.ForeignKey> fks = table.getForeignKeys().iterator();
- while (fks.hasNext()) {
- org.eclipse.jpt.db.ForeignKey fk = (org.eclipse.jpt.db.ForeignKey) fks.next();
- if (foreignKey.getName().equals(fk.getIdentifier())){
- return;
- }
- }
- TextRange textRange = this.getResourceForeignKey().getNameTextRange(astRoot);
- IMessage message = new LocalMessage(IMessage.HIGH_SEVERITY,
- Messages.UNRESOLVED_FOREIGN_KEY_NAME, new String[] {foreignKey.getName(),
getTypeMapping().getPrimaryTableName()},
- this.foreignKey);
- message.setLineNo(textRange.getLineNumber());
- message.setOffset(textRange.getOffset());
- message.setLength(textRange.getLength());
- messages.add(message);
- }
}
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaQueryContainerImpl.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaQueryContainerImpl.java 2010-06-23
07:30:21 UTC (rev 22941)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaQueryContainerImpl.java 2010-06-23
11:53:25 UTC (rev 22942)
@@ -25,7 +25,7 @@
import org.eclipse.jpt.core.resource.java.NestableAnnotation;
import org.eclipse.jpt.utility.internal.CollectionTools;
import org.eclipse.jpt.utility.internal.iterators.CloneListIterator;
-import org.jboss.tools.hibernate.jpt.core.internal.HibernateJpaFactory;
+import org.jboss.tools.hibernate.jpt.core.internal.HibernateAbstractJpaFactory;
import org.jboss.tools.hibernate.jpt.core.internal.context.HibernateNamedNativeQuery;
import org.jboss.tools.hibernate.jpt.core.internal.context.HibernateNamedQuery;
import
org.jboss.tools.hibernate.jpt.core.internal.resource.java.HibernateNamedNativeQueriesAnnotation;
@@ -51,8 +51,8 @@
this.hibernateNamedNativeQueries = new ArrayList<HibernateNamedNativeQuery>();
}
- public HibernateJpaFactory getJpaFactory(){
- return (HibernateJpaFactory)super.getJpaFactory();
+ public HibernateAbstractJpaFactory getJpaFactory(){
+ return (HibernateAbstractJpaFactory)super.getJpaFactory();
}
public void initialize(JavaResourcePersistentMember jrpm) {
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/JavaGenericGeneratorImpl.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/JavaGenericGeneratorImpl.java 2010-06-23
07:30:21 UTC (rev 22941)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/JavaGenericGeneratorImpl.java 2010-06-23
11:53:25 UTC (rev 22942)
@@ -26,11 +26,11 @@
import org.eclipse.jpt.utility.internal.iterators.CloneListIterator;
import org.eclipse.wst.validation.internal.provisional.core.IMessage;
import org.eclipse.wst.validation.internal.provisional.core.IReporter;
-import org.jboss.tools.hibernate.jpt.core.internal.HibernateJpaFactory;
+import org.jboss.tools.hibernate.jpt.core.internal.HibernateAbstractJpaFactory;
import org.jboss.tools.hibernate.jpt.core.internal.context.GenericGenerator;
+import
org.jboss.tools.hibernate.jpt.core.internal.context.HibernatePersistenceUnit.LocalMessage;
import org.jboss.tools.hibernate.jpt.core.internal.context.Messages;
import org.jboss.tools.hibernate.jpt.core.internal.context.Parameter;
-import
org.jboss.tools.hibernate.jpt.core.internal.context.HibernatePersistenceUnit.LocalMessage;
import
org.jboss.tools.hibernate.jpt.core.internal.resource.java.GenericGeneratorAnnotation;
import org.jboss.tools.hibernate.jpt.core.internal.resource.java.ParameterAnnotation;
@@ -200,8 +200,8 @@
}
@Override
- protected HibernateJpaFactory getJpaFactory() {
- return (HibernateJpaFactory) super.getJpaFactory();
+ protected HibernateAbstractJpaFactory getJpaFactory() {
+ return (HibernateAbstractJpaFactory) super.getJpaFactory();
}
//************************ parameters ***********************
Added:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/jpa2/HibernateJavaManyToOneMapping2_0.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/jpa2/HibernateJavaManyToOneMapping2_0.java
(rev 0)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/jpa2/HibernateJavaManyToOneMapping2_0.java 2010-06-23
11:53:25 UTC (rev 22942)
@@ -0,0 +1,33 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is 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
+ *
+ * Contributor:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+
+package org.jboss.tools.hibernate.jpt.core.internal.context.java.jpa2;
+
+import org.eclipse.jpt.core.context.java.JavaPersistentAttribute;
+import org.eclipse.jpt.core.jpa2.context.java.JavaManyToOneRelationshipReference2_0;
+import
org.jboss.tools.hibernate.jpt.core.internal.context.java.AbstractHibernateJavaManyToOneMapping;
+
+/**
+ * @author Dmitry Geraskov
+ *
+ */
+public class HibernateJavaManyToOneMapping2_0 extends
AbstractHibernateJavaManyToOneMapping {
+
+ public HibernateJavaManyToOneMapping2_0(JavaPersistentAttribute parent) {
+ super(parent);
+ }
+
+ @Override
+ protected JavaManyToOneRelationshipReference2_0 buildRelationshipReference() {
+ return new HibernateJavaManyToOneRelationshipReference2_0(this);
+ }
+
+}
Added:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/jpa2/HibernateJavaManyToOneRelationshipReference2_0.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/jpa2/HibernateJavaManyToOneRelationshipReference2_0.java
(rev 0)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/jpa2/HibernateJavaManyToOneRelationshipReference2_0.java 2010-06-23
11:53:25 UTC (rev 22942)
@@ -0,0 +1,45 @@
+/*******************************************************************************
+ * Copyright (c) 2010 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is 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
+ *
+ * Contributor:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.hibernate.jpt.core.internal.context.java.jpa2;
+
+import org.eclipse.jpt.core.context.java.JavaJoinColumnJoiningStrategy;
+import org.eclipse.jpt.core.context.java.JavaJoinTableJoiningStrategy;
+import
org.eclipse.jpt.core.internal.jpa2.context.java.GenericJavaManyToOneRelationshipReference2_0;
+import org.eclipse.jpt.core.jpa2.context.java.JavaManyToOneMapping2_0;
+import
org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaJoinColumnJoiningStrategy;
+import
org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaJoinTableJoiningStrategy;
+
+/**
+ * @author Dmitry Geraskov
+ *
+ */
+public class HibernateJavaManyToOneRelationshipReference2_0 extends
+ GenericJavaManyToOneRelationshipReference2_0 {
+
+ /**
+ * @param parent
+ */
+ public HibernateJavaManyToOneRelationshipReference2_0(
+ JavaManyToOneMapping2_0 parent) {
+ super(parent);
+ }
+
+ @Override
+ protected JavaJoinColumnJoiningStrategy buildJoinColumnJoiningStrategy() {
+ return new HibernateJavaJoinColumnJoiningStrategy(this);
+ }
+
+ @Override
+ protected JavaJoinTableJoiningStrategy buildJoinTableJoiningStrategy() {
+ return new HibernateJavaJoinTableJoiningStrategy(this);
+ }
+
+}
Added:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/jpa2/HibernateJavaOneToManyMapping2_0.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/jpa2/HibernateJavaOneToManyMapping2_0.java
(rev 0)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/jpa2/HibernateJavaOneToManyMapping2_0.java 2010-06-23
11:53:25 UTC (rev 22942)
@@ -0,0 +1,36 @@
+/*******************************************************************************
+ * Copyright (c) 2010 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is 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
+ *
+ * Contributor:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.hibernate.jpt.core.internal.context.java.jpa2;
+
+import org.eclipse.jpt.core.context.java.JavaPersistentAttribute;
+import org.eclipse.jpt.core.context.java.JavaRelationshipReference;
+import org.eclipse.jpt.core.internal.jpa2.context.java.GenericJavaOneToManyMapping2_0;
+
+/**
+ * @author Dmitry Geraskov
+ *
+ */
+public class HibernateJavaOneToManyMapping2_0 extends
+ GenericJavaOneToManyMapping2_0 {
+
+ /**
+ * @param parent
+ */
+ public HibernateJavaOneToManyMapping2_0(JavaPersistentAttribute parent) {
+ super(parent);
+ }
+
+ @Override
+ protected JavaRelationshipReference buildRelationshipReference() {
+ return new HibernateJavaOneToManyRelationshipReference2_0(this);
+ }
+
+}
Added:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/jpa2/HibernateJavaOneToManyRelationshipReference2_0.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/jpa2/HibernateJavaOneToManyRelationshipReference2_0.java
(rev 0)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/jpa2/HibernateJavaOneToManyRelationshipReference2_0.java 2010-06-23
11:53:25 UTC (rev 22942)
@@ -0,0 +1,38 @@
+/*******************************************************************************
+ * Copyright (c) 2010 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is 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
+ *
+ * Contributor:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.hibernate.jpt.core.internal.context.java.jpa2;
+
+import org.eclipse.jpt.core.context.java.JavaJoinTableJoiningStrategy;
+import org.eclipse.jpt.core.context.java.JavaOneToManyMapping;
+import
org.eclipse.jpt.core.internal.jpa2.context.java.GenericJavaOneToManyRelationshipReference2_0;
+import
org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaJoinTableJoiningStrategy;
+
+/**
+ * @author Dmitry Geraskov
+ *
+ */
+public class HibernateJavaOneToManyRelationshipReference2_0 extends
+ GenericJavaOneToManyRelationshipReference2_0 {
+
+ /**
+ * @param parent
+ */
+ public HibernateJavaOneToManyRelationshipReference2_0(
+ JavaOneToManyMapping parent) {
+ super(parent);
+ }
+
+ @Override
+ protected JavaJoinTableJoiningStrategy buildJoinTableJoiningStrategy() {
+ return new HibernateJavaJoinTableJoiningStrategy(this);
+ }
+
+}
Added:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/jpa2/HibernateJavaOneToOneMapping2_0.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/jpa2/HibernateJavaOneToOneMapping2_0.java
(rev 0)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/jpa2/HibernateJavaOneToOneMapping2_0.java 2010-06-23
11:53:25 UTC (rev 22942)
@@ -0,0 +1,35 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is 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
+ *
+ * Contributor:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+
+package org.jboss.tools.hibernate.jpt.core.internal.context.java.jpa2;
+
+import org.eclipse.jpt.core.context.java.JavaPersistentAttribute;
+import org.eclipse.jpt.core.jpa2.context.java.JavaOneToOneRelationshipReference2_0;
+import
org.jboss.tools.hibernate.jpt.core.internal.context.java.AbstractHibernateJavaOneToOneMapping;
+
+/**
+ * @author Dmitry Geraskov
+ *
+ */
+public class HibernateJavaOneToOneMapping2_0 extends AbstractHibernateJavaOneToOneMapping
{
+
+ public HibernateJavaOneToOneMapping2_0(JavaPersistentAttribute parent) {
+ super(parent);
+ }
+
+ @Override
+ protected JavaOneToOneRelationshipReference2_0 buildRelationshipReference() {
+ return new HibernateJavaOneToOneRelationshipReference2_0(this);
+ }
+
+
+}
+
Added:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/jpa2/HibernateJavaOneToOneRelationshipReference2_0.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/jpa2/HibernateJavaOneToOneRelationshipReference2_0.java
(rev 0)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/jpa2/HibernateJavaOneToOneRelationshipReference2_0.java 2010-06-23
11:53:25 UTC (rev 22942)
@@ -0,0 +1,44 @@
+/*******************************************************************************
+ * Copyright (c) 2010 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is 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
+ *
+ * Contributor:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.hibernate.jpt.core.internal.context.java.jpa2;
+
+import org.eclipse.jpt.core.context.java.JavaJoinColumnJoiningStrategy;
+import org.eclipse.jpt.core.context.java.JavaJoinTableJoiningStrategy;
+import org.eclipse.jpt.core.context.java.JavaOneToOneMapping;
+import
org.eclipse.jpt.core.internal.jpa2.context.java.GenericJavaOneToOneRelationshipReference2_0;
+import
org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaJoinColumnJoiningStrategy;
+import
org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaJoinTableJoiningStrategy;
+
+/**
+ * @author Dmitry Geraskov
+ *
+ */
+public class HibernateJavaOneToOneRelationshipReference2_0 extends
+ GenericJavaOneToOneRelationshipReference2_0 {
+
+ /**
+ * @param parent
+ */
+ public HibernateJavaOneToOneRelationshipReference2_0(
+ JavaOneToOneMapping parent) {
+ super(parent);
+ }
+
+ @Override
+ protected JavaJoinTableJoiningStrategy buildJoinTableJoiningStrategy() {
+ return new HibernateJavaJoinTableJoiningStrategy(this);
+ }
+
+ @Override
+ protected JavaJoinColumnJoiningStrategy buildJoinColumnJoiningStrategy() {
+ return new HibernateJavaJoinColumnJoiningStrategy(this);
+ }
+}
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmEntityImpl.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmEntityImpl.java 2010-06-23
07:30:21 UTC (rev 22941)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmEntityImpl.java 2010-06-23
11:53:25 UTC (rev 22942)
@@ -23,7 +23,9 @@
import org.eclipse.jpt.core.context.orm.OrmPersistentType;
import org.eclipse.jpt.core.internal.context.orm.AbstractOrmEntity;
import org.eclipse.jpt.core.internal.jpa2.context.orm.NullOrmCacheable2_0;
+import org.eclipse.jpt.core.jpa2.context.CacheableHolder2_0;
import org.eclipse.jpt.core.jpa2.context.orm.OrmCacheable2_0;
+import org.eclipse.jpt.core.jpa2.context.persistence.PersistenceUnit2_0;
import org.eclipse.jpt.core.resource.orm.XmlEntity;
import org.eclipse.jpt.core.utility.TextRange;
import org.eclipse.jpt.utility.internal.iterators.EmptyListIterator;
@@ -34,9 +36,9 @@
import org.jboss.tools.hibernate.jpt.core.internal.HibernateJpaProject;
import org.jboss.tools.hibernate.jpt.core.internal.HibernateJptPlugin;
import org.jboss.tools.hibernate.jpt.core.internal.context.GenericGenerator;
-import
org.jboss.tools.hibernate.jpt.core.internal.context.HibernatePersistenceUnit.LocalMessage;
import org.jboss.tools.hibernate.jpt.core.internal.context.HibernateNamedNativeQuery;
import org.jboss.tools.hibernate.jpt.core.internal.context.HibernateNamedQuery;
+import
org.jboss.tools.hibernate.jpt.core.internal.context.HibernatePersistenceUnit.LocalMessage;
import org.jboss.tools.hibernate.jpt.core.internal.context.HibernateTable;
import org.jboss.tools.hibernate.jpt.core.internal.context.Messages;
@@ -64,9 +66,20 @@
}
public boolean calculateDefaultCacheable() {
- return false;
+ if (!isMetadataComplete()) {
+ CacheableHolder2_0 javaEntity = (CacheableHolder2_0) getJavaEntity();
+ if (javaEntity != null) {
+ return javaEntity.getCacheable().isCacheable();
+ }
+ }
+
+ CacheableHolder2_0 parentEntity = (CacheableHolder2_0) getParentEntity();
+ if (parentEntity != null) {
+ return parentEntity.getCacheable().isCacheable();
+ }
+ return ((PersistenceUnit2_0) getPersistenceUnit()).calculateDefaultCacheable();
}
-
+
@Override
public HibernateJpaProject getJpaProject() {
return (HibernateJpaProject) super.getJpaProject();
@@ -129,11 +142,13 @@
return null;
}
Entity parentEntity = HibernateOrmEntityImpl.this.getParentEntity();
+ String colName = (parentEntity == null)
+ ? getPrimaryKeyColumnName() : parentEntity.getPrimaryKeyColumnName();
NamingStrategy ns = HibernateOrmEntityImpl.this.getJpaProject().getNamingStrategy();
if (getJpaProject().isNamingStrategyEnabled() && ns != null){
try {
- String name = ns.joinKeyColumnName(parentEntity.getPrimaryKeyColumnName(),
- parentEntity.getPrimaryTableName());
+ String name = ns.joinKeyColumnName(colName, (parentEntity == null)
+ ? getTable().getName() : parentEntity.getPrimaryTableName());
return name;
} catch (Exception e) {
Message m = new LocalMessage(IMessage.HIGH_SEVERITY,
@@ -141,7 +156,7 @@
HibernateJptPlugin.logException(m.getText(), e);
}
}
- return parentEntity.getPrimaryKeyColumnName();
+ return colName;
}
public String getDefaultTableName() {
Added:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmJoinTableJoiningStrategy.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmJoinTableJoiningStrategy.java
(rev 0)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmJoinTableJoiningStrategy.java 2010-06-23
11:53:25 UTC (rev 22942)
@@ -0,0 +1,40 @@
+/*******************************************************************************
+ * Copyright (c) 2010 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is 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
+ *
+ * Contributor:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.hibernate.jpt.core.internal.context.orm;
+
+import org.eclipse.jpt.core.context.orm.OrmJoinTableEnabledRelationshipReference;
+import org.eclipse.jpt.core.internal.context.orm.GenericOrmJoinTableJoiningStrategy;
+import org.eclipse.jpt.core.resource.orm.XmlJoinTableMapping;
+import org.jboss.tools.hibernate.jpt.core.internal.context.NamingStrategyMappingTools;
+
+/**
+ * @author Dmitry Geraskov
+ *
+ */
+public class HibernateOrmJoinTableJoiningStrategy extends
+ GenericOrmJoinTableJoiningStrategy {
+
+ /**
+ * @param parent
+ * @param resource
+ */
+ public HibernateOrmJoinTableJoiningStrategy(
+ OrmJoinTableEnabledRelationshipReference parent,
+ XmlJoinTableMapping resource) {
+ super(parent, resource);
+ }
+
+ @Override
+ public String getJoinTableDefaultName() {
+ return
NamingStrategyMappingTools.buildJoinTableDefaultName(getRelationshipReference());
+ }
+
+}
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmManyToManyMapping.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmManyToManyMapping.java 2010-06-23
07:30:21 UTC (rev 22941)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmManyToManyMapping.java 2010-06-23
11:53:25 UTC (rev 22942)
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009 Red Hat, Inc.
+ * Copyright (c) 2010 Red Hat, Inc.
* Distributed under license by Red Hat, Inc. All rights reserved.
* This program is made available under the terms of the
* Eclipse Public License v1.0 which accompanies this distribution,
@@ -8,29 +8,31 @@
* Contributor:
* Red Hat, Inc. - initial API and implementation
******************************************************************************/
-
package org.jboss.tools.hibernate.jpt.core.internal.context.orm;
import org.eclipse.jpt.core.context.orm.OrmPersistentAttribute;
-import org.eclipse.jpt.core.internal.context.orm.AbstractOrmManyToManyMapping;
+import org.eclipse.jpt.core.context.orm.OrmRelationshipReference;
+import org.eclipse.jpt.core.internal.jpa1.context.orm.GenericOrmManyToManyMapping;
import org.eclipse.jpt.core.resource.orm.XmlManyToMany;
-import org.jboss.tools.hibernate.jpt.core.internal.context.NamingStrategyMappingTools;
/**
* @author Dmitry Geraskov
*
*/
-public class HibernateOrmManyToManyMapping<T extends XmlManyToMany> extends
- AbstractOrmManyToManyMapping<T> {
-
+public class HibernateOrmManyToManyMapping extends GenericOrmManyToManyMapping {
+
+ /**
+ * @param parent
+ * @param resourceMapping
+ */
public HibernateOrmManyToManyMapping(OrmPersistentAttribute parent,
- T resourceMapping) {
+ XmlManyToMany resourceMapping) {
super(parent, resourceMapping);
}
- /*@Override
- public String getJoinTableDefaultName() {
- return NamingStrategyMappingTools.buildJoinTableDefaultName(this);
- }*/
+ @Override
+ protected OrmRelationshipReference buildRelationshipReference() {
+ return new HibernateOrmManyToManyRelationshipReference(this,
this.resourceAttributeMapping);
+ }
}
Added:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmManyToManyRelationshipReference.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmManyToManyRelationshipReference.java
(rev 0)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmManyToManyRelationshipReference.java 2010-06-23
11:53:25 UTC (rev 22942)
@@ -0,0 +1,39 @@
+/*******************************************************************************
+ * Copyright (c) 2010 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is 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
+ *
+ * Contributor:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.hibernate.jpt.core.internal.context.orm;
+
+import org.eclipse.jpt.core.context.orm.OrmJoinTableJoiningStrategy;
+import org.eclipse.jpt.core.context.orm.OrmManyToManyMapping;
+import
org.eclipse.jpt.core.internal.context.orm.GenericOrmManyToManyRelationshipReference;
+import org.eclipse.jpt.core.resource.orm.XmlManyToMany;
+
+/**
+ * @author Dmitry Geraskov
+ *
+ */
+public class HibernateOrmManyToManyRelationshipReference extends
+ GenericOrmManyToManyRelationshipReference {
+
+ /**
+ * @param parent
+ * @param resource
+ */
+ public HibernateOrmManyToManyRelationshipReference(
+ OrmManyToManyMapping parent, XmlManyToMany resource) {
+ super(parent, resource);
+ }
+
+ @Override
+ protected OrmJoinTableJoiningStrategy buildJoinTableJoiningStrategy() {
+ return new HibernateOrmJoinTableJoiningStrategy(this, getResourceMapping());
+ }
+
+}
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmManyToOneMapping.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmManyToOneMapping.java 2010-06-23
07:30:21 UTC (rev 22941)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmManyToOneMapping.java 2010-06-23
11:53:25 UTC (rev 22942)
@@ -15,7 +15,6 @@
import org.eclipse.jpt.core.context.orm.OrmRelationshipReference;
import org.eclipse.jpt.core.internal.context.orm.AbstractOrmManyToOneMapping;
import org.eclipse.jpt.core.resource.orm.XmlManyToOne;
-import org.jboss.tools.hibernate.jpt.core.internal.context.NamingStrategyMappingTools;
/**
* @author Dmitry Geraskov
@@ -28,11 +27,6 @@
T resourceMapping) {
super(parent, resourceMapping);
}
-
- /*@Override
- public String getJoinTableDefaultName() {
- return NamingStrategyMappingTools.buildJoinTableDefaultName(this);
- }*/
@Override
protected OrmRelationshipReference buildRelationshipReference() {
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmOneToManyMapping.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmOneToManyMapping.java 2010-06-23
07:30:21 UTC (rev 22941)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmOneToManyMapping.java 2010-06-23
11:53:25 UTC (rev 22942)
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009 Red Hat, Inc.
+ * Copyright (c) 2010 Red Hat, Inc.
* Distributed under license by Red Hat, Inc. All rights reserved.
* This program is made available under the terms of the
* Eclipse Public License v1.0 which accompanies this distribution,
@@ -8,10 +8,10 @@
* Contributor:
* Red Hat, Inc. - initial API and implementation
******************************************************************************/
-
package org.jboss.tools.hibernate.jpt.core.internal.context.orm;
import org.eclipse.jpt.core.context.orm.OrmPersistentAttribute;
+import org.eclipse.jpt.core.context.orm.OrmRelationshipReference;
import org.eclipse.jpt.core.internal.jpa1.context.orm.GenericOrmOneToManyMapping;
import org.eclipse.jpt.core.resource.orm.XmlOneToMany;
@@ -19,17 +19,20 @@
* @author Dmitry Geraskov
*
*/
-public class HibernateOrmOneToManyMapping
- extends GenericOrmOneToManyMapping {
+public class HibernateOrmOneToManyMapping extends GenericOrmOneToManyMapping {
+ /**
+ * @param parent
+ * @param resourceMapping
+ */
public HibernateOrmOneToManyMapping(OrmPersistentAttribute parent,
XmlOneToMany resourceMapping) {
super(parent, resourceMapping);
}
- /*@Override
- public String getJoinTableDefaultName() {
- return NamingStrategyMappingTools.buildJoinTableDefaultName(this);
- }*/
+ @Override
+ protected OrmRelationshipReference buildRelationshipReference() {
+ return new HibernateOrmOneToManyRelationshipReference(this,
this.resourceAttributeMapping);
+ }
}
Added:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmOneToManyRelationshipReference.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmOneToManyRelationshipReference.java
(rev 0)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmOneToManyRelationshipReference.java 2010-06-23
11:53:25 UTC (rev 22942)
@@ -0,0 +1,39 @@
+/*******************************************************************************
+ * Copyright (c) 2010 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is 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
+ *
+ * Contributor:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.hibernate.jpt.core.internal.context.orm;
+
+import org.eclipse.jpt.core.context.orm.OrmJoinTableJoiningStrategy;
+import org.eclipse.jpt.core.context.orm.OrmOneToManyMapping;
+import
org.eclipse.jpt.core.internal.jpa1.context.orm.GenericOrmOneToManyRelationshipReference;
+import org.eclipse.jpt.core.resource.orm.XmlOneToMany;
+
+/**
+ * @author Dmitry Geraskov
+ *
+ */
+public class HibernateOrmOneToManyRelationshipReference extends
+ GenericOrmOneToManyRelationshipReference {
+
+ /**
+ * @param parent
+ * @param resource
+ */
+ public HibernateOrmOneToManyRelationshipReference(
+ OrmOneToManyMapping parent, XmlOneToMany resource) {
+ super(parent, resource);
+ }
+
+ @Override
+ protected OrmJoinTableJoiningStrategy buildJoinTableJoiningStrategy() {
+ return new HibernateOrmJoinTableJoiningStrategy(this, getResourceMapping());
+ }
+
+}
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmOneToOneMapping.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmOneToOneMapping.java 2010-06-23
07:30:21 UTC (rev 22941)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmOneToOneMapping.java 2010-06-23
11:53:25 UTC (rev 22942)
@@ -15,7 +15,6 @@
import org.eclipse.jpt.core.context.orm.OrmRelationshipReference;
import org.eclipse.jpt.core.internal.context.orm.AbstractOrmOneToOneMapping;
import org.eclipse.jpt.core.resource.orm.XmlOneToOne;
-import org.jboss.tools.hibernate.jpt.core.internal.context.NamingStrategyMappingTools;
/**
* @author Dmitry Geraskov
@@ -28,11 +27,6 @@
T resourceMapping) {
super(parent, resourceMapping);
}
-
- /*@Override
- public String getJoinTableDefaultName() {
- return NamingStrategyMappingTools.buildJoinTableDefaultName(this);
- }*/
@Override
protected OrmRelationshipReference buildRelationshipReference() {
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmXmlContextNodeFactory.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmXmlContextNodeFactory.java 2010-06-23
07:30:21 UTC (rev 22941)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmXmlContextNodeFactory.java 2010-06-23
11:53:25 UTC (rev 22942)
@@ -1,3 +1,13 @@
+/*******************************************************************************
+ * Copyright (c) 2010 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is 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
+ *
+ * Contributor:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
package org.jboss.tools.hibernate.jpt.core.internal.context.orm;
import org.eclipse.jpt.core.context.XmlContextNode;
@@ -8,20 +18,30 @@
import org.eclipse.jpt.core.context.orm.OrmJoinColumn;
import org.eclipse.jpt.core.context.orm.OrmJoinTable;
import org.eclipse.jpt.core.context.orm.OrmJoinTableJoiningStrategy;
+import org.eclipse.jpt.core.context.orm.OrmManyToManyMapping;
+import org.eclipse.jpt.core.context.orm.OrmManyToOneMapping;
+import org.eclipse.jpt.core.context.orm.OrmOneToManyMapping;
+import org.eclipse.jpt.core.context.orm.OrmOneToOneMapping;
import org.eclipse.jpt.core.context.orm.OrmPersistentAttribute;
import org.eclipse.jpt.core.context.orm.OrmPersistentType;
import org.eclipse.jpt.core.context.orm.OrmTable;
-import org.eclipse.jpt.core.internal.context.orm.AbstractOrmXmlContextNodeFactory;
+import org.eclipse.jpt.core.internal.context.orm.GenericOrmXmlContextNodeFactory;
import org.eclipse.jpt.core.resource.orm.XmlBasic;
import org.eclipse.jpt.core.resource.orm.XmlEntity;
import org.eclipse.jpt.core.resource.orm.XmlId;
import org.eclipse.jpt.core.resource.orm.XmlJoinColumn;
import org.eclipse.jpt.core.resource.orm.XmlJoinTable;
-import org.eclipse.jpt.core.resource.orm.XmlJoinTableMapping;
+import org.eclipse.jpt.core.resource.orm.XmlManyToMany;
+import org.eclipse.jpt.core.resource.orm.XmlManyToOne;
+import org.eclipse.jpt.core.resource.orm.XmlOneToMany;
+import org.eclipse.jpt.core.resource.orm.XmlOneToOne;
-public class HibernateOrmXmlContextNodeFactory extends
- AbstractOrmXmlContextNodeFactory {
-
+/**
+ * @author Dmitry Geraskov
+ *
+ */
+public class HibernateOrmXmlContextNodeFactory extends GenericOrmXmlContextNodeFactory {
+
@Override
public OrmBasicMapping buildOrmBasicMapping(OrmPersistentAttribute parent,
XmlBasic resourceMapping) {
@@ -64,4 +84,30 @@
return new HibernateOrmJoinColumnImpl(parent, owner, resourceJoinColumn);
}
+ @Override
+ public OrmManyToOneMapping buildOrmManyToOneMapping(
+ OrmPersistentAttribute parent, XmlManyToOne resourceMapping) {
+ return new HibernateOrmManyToOneMapping<XmlManyToOne>(parent,
+ resourceMapping);
+ }
+
+ @Override
+ public OrmOneToOneMapping buildOrmOneToOneMapping(
+ OrmPersistentAttribute parent, XmlOneToOne resourceMapping) {
+ return new HibernateOrmOneToOneMapping<XmlOneToOne>(parent,
+ resourceMapping);
+ }
+
+ @Override
+ public OrmOneToManyMapping buildOrmOneToManyMapping(
+ OrmPersistentAttribute parent, XmlOneToMany resourceMapping) {
+ return new HibernateOrmOneToManyMapping(parent, resourceMapping);
+ }
+
+ @Override
+ public OrmManyToManyMapping buildOrmManyToManyMapping(
+ OrmPersistentAttribute parent, XmlManyToMany resourceMapping) {
+ return new HibernateOrmManyToManyMapping(parent, resourceMapping);
+ }
+
}
Added:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmXmlDefinition.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmXmlDefinition.java
(rev 0)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/HibernateOrmXmlDefinition.java 2010-06-23
11:53:25 UTC (rev 22942)
@@ -0,0 +1,111 @@
+/*******************************************************************************
+ * Copyright (c) 2010 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is 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
+ *
+ * Contributor:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.hibernate.jpt.core.internal.context.orm;
+
+import org.eclipse.emf.ecore.EFactory;
+import org.eclipse.jpt.core.JpaResourceType;
+import org.eclipse.jpt.core.JptCorePlugin;
+import org.eclipse.jpt.core.context.orm.NullOrmAttributeMappingDefinition;
+import org.eclipse.jpt.core.context.orm.OrmAttributeMappingDefinition;
+import org.eclipse.jpt.core.context.orm.OrmTypeMappingDefinition;
+import org.eclipse.jpt.core.context.orm.OrmXmlContextNodeFactory;
+import org.eclipse.jpt.core.context.orm.OrmXmlDefinition;
+import org.eclipse.jpt.core.internal.context.orm.AbstractOrmXmlDefinition;
+import org.eclipse.jpt.core.internal.context.orm.OrmBasicMappingDefinition;
+import org.eclipse.jpt.core.internal.context.orm.OrmEmbeddableDefinition;
+import org.eclipse.jpt.core.internal.context.orm.OrmEmbeddedIdMappingDefinition;
+import org.eclipse.jpt.core.internal.context.orm.OrmEmbeddedMappingDefinition;
+import org.eclipse.jpt.core.internal.context.orm.OrmEntityDefinition;
+import org.eclipse.jpt.core.internal.context.orm.OrmIdMappingDefinition;
+import org.eclipse.jpt.core.internal.context.orm.OrmManyToManyMappingDefinition;
+import org.eclipse.jpt.core.internal.context.orm.OrmManyToOneMappingDefinition;
+import org.eclipse.jpt.core.internal.context.orm.OrmMappedSuperclassDefinition;
+import org.eclipse.jpt.core.internal.context.orm.OrmOneToManyMappingDefinition;
+import org.eclipse.jpt.core.internal.context.orm.OrmOneToOneMappingDefinition;
+import org.eclipse.jpt.core.internal.context.orm.OrmTransientMappingDefinition;
+import org.eclipse.jpt.core.internal.context.orm.OrmVersionMappingDefinition;
+import org.eclipse.jpt.core.resource.orm.OrmFactory;
+
+/**
+ *
+ * @author Dmitry Geraskov
+ *
+ */
+public class HibernateOrmXmlDefinition extends AbstractOrmXmlDefinition {
+
+ // singleton
+ private static final OrmXmlDefinition INSTANCE =
+ new HibernateOrmXmlDefinition();
+
+
+ /**
+ * Return the singleton
+ */
+ public static OrmXmlDefinition instance() {
+ return INSTANCE;
+ }
+
+
+ /**
+ * Enforce singleton usage
+ */
+ private HibernateOrmXmlDefinition() {
+ super();
+ }
+
+
+ public EFactory getResourceNodeFactory() {
+ return OrmFactory.eINSTANCE;
+ }
+
+ @Override
+ protected OrmXmlContextNodeFactory buildContextNodeFactory() {
+ return new HibernateOrmXmlContextNodeFactory();
+ }
+
+ public JpaResourceType getResourceType() {
+ return JptCorePlugin.ORM_XML_1_0_RESOURCE_TYPE;
+ }
+
+
+ // ********** ORM type mappings **********
+
+ @Override
+ protected OrmTypeMappingDefinition[] buildOrmTypeMappingDefinitions() {
+ // order should not matter here, but we'll use the same order as for java
+ // (@see {@link GenericJpaPlatformProvider})
+ return new OrmTypeMappingDefinition[] {
+ OrmEntityDefinition.instance(),
+ OrmEmbeddableDefinition.instance(),
+ OrmMappedSuperclassDefinition.instance()};
+ }
+
+
+ // ********** ORM attribute mappings **********
+
+ @Override
+ protected OrmAttributeMappingDefinition[] buildOrmAttributeMappingDefinitions() {
+ // order should not matter here, but we'll use the same order as for java
+ // (@see {@link GenericJpaPlatformProvider})
+ return new OrmAttributeMappingDefinition[] {
+ OrmTransientMappingDefinition.instance(),
+ OrmIdMappingDefinition.instance(),
+ OrmVersionMappingDefinition.instance(),
+ OrmBasicMappingDefinition.instance(),
+ OrmEmbeddedMappingDefinition.instance(),
+ OrmEmbeddedIdMappingDefinition.instance(),
+ OrmManyToManyMappingDefinition.instance(),
+ OrmManyToOneMappingDefinition.instance(),
+ OrmOneToManyMappingDefinition.instance(),
+ OrmOneToOneMappingDefinition.instance(),
+ NullOrmAttributeMappingDefinition.instance()};
+ }
+}
Added:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/jpa2/HibernateOrmManyToOneMapping2_0.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/jpa2/HibernateOrmManyToOneMapping2_0.java
(rev 0)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/jpa2/HibernateOrmManyToOneMapping2_0.java 2010-06-23
11:53:25 UTC (rev 22942)
@@ -0,0 +1,36 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is 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
+ *
+ * Contributor:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+
+package org.jboss.tools.hibernate.jpt.core.internal.context.orm.jpa2;
+
+import org.eclipse.jpt.core.context.orm.OrmPersistentAttribute;
+import org.eclipse.jpt.core.context.orm.OrmRelationshipReference;
+import org.eclipse.jpt.core.internal.context.orm.AbstractOrmManyToOneMapping;
+import org.eclipse.jpt.core.resource.orm.XmlManyToOne;
+
+/**
+ * @author Dmitry Geraskov
+ *
+ */
+public class HibernateOrmManyToOneMapping2_0<T extends XmlManyToOne>
+extends AbstractOrmManyToOneMapping<T> {
+
+ public HibernateOrmManyToOneMapping2_0(OrmPersistentAttribute parent,
+ T resourceMapping) {
+ super(parent, resourceMapping);
+ }
+
+ @Override
+ protected OrmRelationshipReference buildRelationshipReference() {
+ return new HibernateOrmManyToOneRelationshipReference2_0(this,
this.resourceAttributeMapping);
+ }
+
+}
Added:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/jpa2/HibernateOrmManyToOneRelationshipReference2_0.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/jpa2/HibernateOrmManyToOneRelationshipReference2_0.java
(rev 0)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/jpa2/HibernateOrmManyToOneRelationshipReference2_0.java 2010-06-23
11:53:25 UTC (rev 22942)
@@ -0,0 +1,44 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is 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
+ *
+ * Contributor:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+
+package org.jboss.tools.hibernate.jpt.core.internal.context.orm.jpa2;
+
+import org.eclipse.jpt.core.context.orm.OrmJoinColumnJoiningStrategy;
+import org.eclipse.jpt.core.context.orm.OrmJoinTableJoiningStrategy;
+import org.eclipse.jpt.core.context.orm.OrmManyToOneMapping;
+import
org.eclipse.jpt.core.internal.jpa2.context.orm.GenericOrmManyToOneRelationshipReference2_0;
+import org.eclipse.jpt.core.resource.orm.XmlManyToOne;
+import
org.jboss.tools.hibernate.jpt.core.internal.context.orm.HibernateOrmJoinColumnJoiningStrategy;
+import
org.jboss.tools.hibernate.jpt.core.internal.context.orm.HibernateOrmJoinTableJoiningStrategy;
+
+/**
+ * @author Dmitry Geraskov
+ *
+ */
+public class HibernateOrmManyToOneRelationshipReference2_0 extends
+ GenericOrmManyToOneRelationshipReference2_0 {
+
+ public HibernateOrmManyToOneRelationshipReference2_0(
+ OrmManyToOneMapping parent, XmlManyToOne resource) {
+ super(parent, resource);
+ }
+
+ @Override
+ protected OrmJoinColumnJoiningStrategy buildJoinColumnJoiningStrategy() {
+ return new HibernateOrmJoinColumnJoiningStrategy(this, getResourceMapping());
+ }
+
+ @Override
+ protected OrmJoinTableJoiningStrategy buildJoinTableJoiningStrategy() {
+ return new HibernateOrmJoinTableJoiningStrategy(this, getResourceMapping());
+ }
+
+}
Added:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/jpa2/HibernateOrmOneToManyMapping2_0.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/jpa2/HibernateOrmOneToManyMapping2_0.java
(rev 0)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/jpa2/HibernateOrmOneToManyMapping2_0.java 2010-06-23
11:53:25 UTC (rev 22942)
@@ -0,0 +1,39 @@
+/*******************************************************************************
+ * Copyright (c) 2010 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is 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
+ *
+ * Contributor:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.hibernate.jpt.core.internal.context.orm.jpa2;
+
+import org.eclipse.jpt.core.context.orm.OrmPersistentAttribute;
+import org.eclipse.jpt.core.context.orm.OrmRelationshipReference;
+import org.eclipse.jpt.core.internal.jpa2.context.orm.GenericOrmOneToManyMapping2_0;
+import org.eclipse.jpt.core.resource.orm.XmlOneToMany;
+
+/**
+ * @author Dmitry Geraskov
+ *
+ */
+public class HibernateOrmOneToManyMapping2_0 extends
+ GenericOrmOneToManyMapping2_0 {
+
+ /**
+ * @param parent
+ * @param resourceMapping
+ */
+ public HibernateOrmOneToManyMapping2_0(OrmPersistentAttribute parent,
+ XmlOneToMany resourceMapping) {
+ super(parent, resourceMapping);
+ }
+
+ @Override
+ protected OrmRelationshipReference buildRelationshipReference() {
+ return new HibernateOrmOneToManyRelationshipReference2_0(this,
this.resourceAttributeMapping);
+ }
+
+}
Added:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/jpa2/HibernateOrmOneToManyRelationshipReference2_0.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/jpa2/HibernateOrmOneToManyRelationshipReference2_0.java
(rev 0)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/jpa2/HibernateOrmOneToManyRelationshipReference2_0.java 2010-06-23
11:53:25 UTC (rev 22942)
@@ -0,0 +1,40 @@
+/*******************************************************************************
+ * Copyright (c) 2010 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is 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
+ *
+ * Contributor:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.hibernate.jpt.core.internal.context.orm.jpa2;
+
+import org.eclipse.jpt.core.context.orm.OrmJoinTableJoiningStrategy;
+import org.eclipse.jpt.core.context.orm.OrmOneToManyMapping;
+import
org.eclipse.jpt.core.internal.jpa2.context.orm.GenericOrmOneToManyRelationshipReference2_0;
+import org.eclipse.jpt.core.resource.orm.XmlOneToMany;
+import
org.jboss.tools.hibernate.jpt.core.internal.context.orm.HibernateOrmJoinTableJoiningStrategy;
+
+/**
+ * @author Dmitry Geraskov
+ *
+ */
+public class HibernateOrmOneToManyRelationshipReference2_0 extends
+ GenericOrmOneToManyRelationshipReference2_0 {
+
+ /**
+ * @param parent
+ * @param resource
+ */
+ public HibernateOrmOneToManyRelationshipReference2_0(
+ OrmOneToManyMapping parent, XmlOneToMany resource) {
+ super(parent, resource);
+ }
+
+ @Override
+ protected OrmJoinTableJoiningStrategy buildJoinTableJoiningStrategy() {
+ return new HibernateOrmJoinTableJoiningStrategy(this, getResourceMapping());
+ }
+
+}
Added:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/jpa2/HibernateOrmOneToOneMapping2_0.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/jpa2/HibernateOrmOneToOneMapping2_0.java
(rev 0)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/jpa2/HibernateOrmOneToOneMapping2_0.java 2010-06-23
11:53:25 UTC (rev 22942)
@@ -0,0 +1,36 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is 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
+ *
+ * Contributor:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+
+package org.jboss.tools.hibernate.jpt.core.internal.context.orm.jpa2;
+
+import org.eclipse.jpt.core.context.orm.OrmPersistentAttribute;
+import org.eclipse.jpt.core.context.orm.OrmRelationshipReference;
+import org.eclipse.jpt.core.internal.context.orm.AbstractOrmOneToOneMapping;
+import org.eclipse.jpt.core.resource.orm.XmlOneToOne;
+
+/**
+ * @author Dmitry Geraskov
+ *
+ */
+public class HibernateOrmOneToOneMapping2_0<T extends XmlOneToOne> extends
+AbstractOrmOneToOneMapping<T> {
+
+ public HibernateOrmOneToOneMapping2_0(OrmPersistentAttribute parent,
+ T resourceMapping) {
+ super(parent, resourceMapping);
+ }
+
+ @Override
+ protected OrmRelationshipReference buildRelationshipReference() {
+ return new HibernateOrmOneToOneRelationshipReference2_0(this,
this.resourceAttributeMapping);
+ }
+
+}
Added:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/jpa2/HibernateOrmOneToOneRelationshipReference2_0.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/jpa2/HibernateOrmOneToOneRelationshipReference2_0.java
(rev 0)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/jpa2/HibernateOrmOneToOneRelationshipReference2_0.java 2010-06-23
11:53:25 UTC (rev 22942)
@@ -0,0 +1,44 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is 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
+ *
+ * Contributor:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+
+package org.jboss.tools.hibernate.jpt.core.internal.context.orm.jpa2;
+
+import org.eclipse.jpt.core.context.orm.OrmJoinColumnJoiningStrategy;
+import org.eclipse.jpt.core.context.orm.OrmJoinTableJoiningStrategy;
+import org.eclipse.jpt.core.context.orm.OrmOneToOneMapping;
+import
org.eclipse.jpt.core.internal.jpa2.context.orm.GenericOrmOneToOneRelationshipReference2_0;
+import org.eclipse.jpt.core.resource.orm.XmlOneToOne;
+import
org.jboss.tools.hibernate.jpt.core.internal.context.orm.HibernateOrmJoinColumnJoiningStrategy;
+import
org.jboss.tools.hibernate.jpt.core.internal.context.orm.HibernateOrmJoinTableJoiningStrategy;
+
+/**
+ * @author Dmitry Geraskov
+ *
+ */
+public class HibernateOrmOneToOneRelationshipReference2_0 extends
+ GenericOrmOneToOneRelationshipReference2_0 {
+
+ public HibernateOrmOneToOneRelationshipReference2_0(OrmOneToOneMapping parent,
+ XmlOneToOne resource) {
+ super(parent, resource);
+ }
+
+ @Override
+ protected OrmJoinColumnJoiningStrategy buildJoinColumnJoiningStrategy() {
+ return new HibernateOrmJoinColumnJoiningStrategy(this, getResourceMapping());
+ }
+
+ @Override
+ protected OrmJoinTableJoiningStrategy buildJoinTableJoiningStrategy() {
+ return new HibernateOrmJoinTableJoiningStrategy(this, getResourceMapping());
+ }
+
+}
Added:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/jpa2/HibernateOrmXml2_0ContextNodeFactory.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/jpa2/HibernateOrmXml2_0ContextNodeFactory.java
(rev 0)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/jpa2/HibernateOrmXml2_0ContextNodeFactory.java 2010-06-23
11:53:25 UTC (rev 22942)
@@ -0,0 +1,121 @@
+/*******************************************************************************
+ * Copyright (c) 2010 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is 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
+ *
+ * Contributor:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.hibernate.jpt.core.internal.context.orm.jpa2;
+
+import org.eclipse.jpt.core.context.XmlContextNode;
+import org.eclipse.jpt.core.context.orm.OrmBasicMapping;
+import org.eclipse.jpt.core.context.orm.OrmColumn;
+import org.eclipse.jpt.core.context.orm.OrmEntity;
+import org.eclipse.jpt.core.context.orm.OrmIdMapping;
+import org.eclipse.jpt.core.context.orm.OrmJoinColumn;
+import org.eclipse.jpt.core.context.orm.OrmJoinTable;
+import org.eclipse.jpt.core.context.orm.OrmJoinTableJoiningStrategy;
+import org.eclipse.jpt.core.context.orm.OrmManyToManyMapping;
+import org.eclipse.jpt.core.context.orm.OrmManyToOneMapping;
+import org.eclipse.jpt.core.context.orm.OrmOneToManyMapping;
+import org.eclipse.jpt.core.context.orm.OrmOneToOneMapping;
+import org.eclipse.jpt.core.context.orm.OrmPersistentAttribute;
+import org.eclipse.jpt.core.context.orm.OrmPersistentType;
+import org.eclipse.jpt.core.context.orm.OrmTable;
+import
org.eclipse.jpt.core.internal.jpa2.context.orm.GenericOrmXml2_0ContextNodeFactory;
+import org.eclipse.jpt.core.resource.orm.XmlBasic;
+import org.eclipse.jpt.core.resource.orm.XmlEntity;
+import org.eclipse.jpt.core.resource.orm.XmlId;
+import org.eclipse.jpt.core.resource.orm.XmlJoinColumn;
+import org.eclipse.jpt.core.resource.orm.XmlJoinTable;
+import org.eclipse.jpt.core.resource.orm.XmlManyToMany;
+import org.eclipse.jpt.core.resource.orm.XmlManyToOne;
+import org.eclipse.jpt.core.resource.orm.XmlOneToMany;
+import org.eclipse.jpt.core.resource.orm.XmlOneToOne;
+import org.jboss.tools.hibernate.jpt.core.internal.context.orm.HibernateOrmBasicMapping;
+import org.jboss.tools.hibernate.jpt.core.internal.context.orm.HibernateOrmColumnImpl;
+import org.jboss.tools.hibernate.jpt.core.internal.context.orm.HibernateOrmEntityImpl;
+import
org.jboss.tools.hibernate.jpt.core.internal.context.orm.HibernateOrmIdMappingImpl;
+import
org.jboss.tools.hibernate.jpt.core.internal.context.orm.HibernateOrmJoinColumnImpl;
+import
org.jboss.tools.hibernate.jpt.core.internal.context.orm.HibernateOrmJoinTableImpl;
+import
org.jboss.tools.hibernate.jpt.core.internal.context.orm.HibernateOrmManyToManyMapping;
+import org.jboss.tools.hibernate.jpt.core.internal.context.orm.HibernateOrmTableImpl;
+
+/**
+ * @author Dmitry Geraskov
+ *
+ */
+public class HibernateOrmXml2_0ContextNodeFactory extends
GenericOrmXml2_0ContextNodeFactory {
+
+ @Override
+ public OrmBasicMapping buildOrmBasicMapping(OrmPersistentAttribute parent,
+ XmlBasic resourceMapping) {
+ return new HibernateOrmBasicMapping(parent, resourceMapping);
+ }
+
+ @Override
+ public OrmIdMapping buildOrmIdMapping(OrmPersistentAttribute parent,
+ XmlId resourceMapping) {
+ return new HibernateOrmIdMappingImpl(parent, resourceMapping);
+ }
+
+ @Override
+ public OrmEntity buildOrmEntity(OrmPersistentType parent,
+ XmlEntity resourceMapping) {
+ return new HibernateOrmEntityImpl(parent, resourceMapping);
+ }
+
+ @Override
+ public OrmTable buildOrmTable(OrmEntity parent) {
+ return new HibernateOrmTableImpl(parent);
+ }
+
+ @Override
+ public OrmJoinTable buildOrmJoinTable(OrmJoinTableJoiningStrategy parent,
+ XmlJoinTable resourceJoinTable) {
+ return new HibernateOrmJoinTableImpl(parent, resourceJoinTable);
+ }
+
+ @Override
+ public OrmColumn buildOrmColumn(XmlContextNode parent,
+ org.eclipse.jpt.core.context.orm.OrmColumn.Owner owner) {
+ return new HibernateOrmColumnImpl(parent, owner);
+ }
+
+ @Override
+ public OrmJoinColumn buildOrmJoinColumn(XmlContextNode parent,
+ org.eclipse.jpt.core.context.orm.OrmJoinColumn.Owner owner,
+ XmlJoinColumn resourceJoinColumn) {
+ return new HibernateOrmJoinColumnImpl(parent, owner, resourceJoinColumn);
+ }
+
+ @Override
+ public OrmManyToOneMapping buildOrmManyToOneMapping(
+ OrmPersistentAttribute parent, XmlManyToOne resourceMapping) {
+ return new HibernateOrmManyToOneMapping2_0<XmlManyToOne>(parent,
+ resourceMapping);
+ }
+
+ @Override
+ public OrmOneToOneMapping buildOrmOneToOneMapping(
+ OrmPersistentAttribute parent, XmlOneToOne resourceMapping) {
+ return new HibernateOrmOneToOneMapping2_0<XmlOneToOne>(parent,
+ resourceMapping);
+ }
+
+ @Override
+ public OrmOneToManyMapping buildOrmOneToManyMapping(
+ OrmPersistentAttribute parent, XmlOneToMany resourceMapping) {
+ return new HibernateOrmOneToManyMapping2_0(parent, resourceMapping);
+ }
+
+ @Override
+ public OrmManyToManyMapping buildOrmManyToManyMapping(
+ OrmPersistentAttribute parent, XmlManyToMany resourceMapping) {
+ return new HibernateOrmManyToManyMapping(parent, resourceMapping);
+ }
+
+}
Added:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/jpa2/HibernateOrmXml2_0Definition.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/jpa2/HibernateOrmXml2_0Definition.java
(rev 0)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/orm/jpa2/HibernateOrmXml2_0Definition.java 2010-06-23
11:53:25 UTC (rev 22942)
@@ -0,0 +1,111 @@
+/*******************************************************************************
+ * Copyright (c) 2010 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is 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
+ *
+ * Contributor:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.hibernate.jpt.core.internal.context.orm.jpa2;
+
+import org.eclipse.emf.ecore.EFactory;
+import org.eclipse.jpt.core.JpaResourceType;
+import org.eclipse.jpt.core.JptCorePlugin;
+import org.eclipse.jpt.core.context.orm.NullOrmAttributeMappingDefinition;
+import org.eclipse.jpt.core.context.orm.OrmAttributeMappingDefinition;
+import org.eclipse.jpt.core.context.orm.OrmTypeMappingDefinition;
+import org.eclipse.jpt.core.context.orm.OrmXmlContextNodeFactory;
+import org.eclipse.jpt.core.context.orm.OrmXmlDefinition;
+import org.eclipse.jpt.core.internal.context.orm.AbstractOrmXmlDefinition;
+import org.eclipse.jpt.core.internal.context.orm.OrmBasicMappingDefinition;
+import org.eclipse.jpt.core.internal.context.orm.OrmEmbeddableDefinition;
+import org.eclipse.jpt.core.internal.context.orm.OrmEmbeddedIdMappingDefinition;
+import org.eclipse.jpt.core.internal.context.orm.OrmEmbeddedMappingDefinition;
+import org.eclipse.jpt.core.internal.context.orm.OrmEntityDefinition;
+import org.eclipse.jpt.core.internal.context.orm.OrmIdMappingDefinition;
+import org.eclipse.jpt.core.internal.context.orm.OrmManyToManyMappingDefinition;
+import org.eclipse.jpt.core.internal.context.orm.OrmManyToOneMappingDefinition;
+import org.eclipse.jpt.core.internal.context.orm.OrmMappedSuperclassDefinition;
+import org.eclipse.jpt.core.internal.context.orm.OrmOneToManyMappingDefinition;
+import org.eclipse.jpt.core.internal.context.orm.OrmOneToOneMappingDefinition;
+import org.eclipse.jpt.core.internal.context.orm.OrmTransientMappingDefinition;
+import org.eclipse.jpt.core.internal.context.orm.OrmVersionMappingDefinition;
+import org.eclipse.jpt.core.resource.orm.OrmFactory;
+
+/**
+ *
+ * @author Dmitry Geraskov
+ *
+ */
+public class HibernateOrmXml2_0Definition extends AbstractOrmXmlDefinition {
+
+ // singleton
+ private static final OrmXmlDefinition INSTANCE =
+ new HibernateOrmXml2_0Definition();
+
+
+ /**
+ * Return the singleton
+ */
+ public static OrmXmlDefinition instance() {
+ return INSTANCE;
+ }
+
+
+ /**
+ * Enforce singleton usage
+ */
+ private HibernateOrmXml2_0Definition() {
+ super();
+ }
+
+
+ public EFactory getResourceNodeFactory() {
+ return OrmFactory.eINSTANCE;
+ }
+
+ @Override
+ protected OrmXmlContextNodeFactory buildContextNodeFactory() {
+ return new HibernateOrmXml2_0ContextNodeFactory();
+ }
+
+ public JpaResourceType getResourceType() {
+ return JptCorePlugin.ORM_XML_1_0_RESOURCE_TYPE;
+ }
+
+
+ // ********** ORM type mappings **********
+
+ @Override
+ protected OrmTypeMappingDefinition[] buildOrmTypeMappingDefinitions() {
+ // order should not matter here, but we'll use the same order as for java
+ // (@see {@link GenericJpaPlatformProvider})
+ return new OrmTypeMappingDefinition[] {
+ OrmEntityDefinition.instance(),
+ OrmEmbeddableDefinition.instance(),
+ OrmMappedSuperclassDefinition.instance()};
+ }
+
+
+ // ********** ORM attribute mappings **********
+
+ @Override
+ protected OrmAttributeMappingDefinition[] buildOrmAttributeMappingDefinitions() {
+ // order should not matter here, but we'll use the same order as for java
+ // (@see {@link GenericJpaPlatformProvider})
+ return new OrmAttributeMappingDefinition[] {
+ OrmTransientMappingDefinition.instance(),
+ OrmIdMappingDefinition.instance(),
+ OrmVersionMappingDefinition.instance(),
+ OrmBasicMappingDefinition.instance(),
+ OrmEmbeddedMappingDefinition.instance(),
+ OrmEmbeddedIdMappingDefinition.instance(),
+ OrmManyToManyMappingDefinition.instance(),
+ OrmManyToOneMappingDefinition.instance(),
+ OrmOneToManyMappingDefinition.instance(),
+ OrmOneToOneMappingDefinition.instance(),
+ NullOrmAttributeMappingDefinition.instance()};
+ }
+}
Added:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/persistence/jpa2/Hibernate2_0PersistenceXmlContextNodeFactory.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/persistence/jpa2/Hibernate2_0PersistenceXmlContextNodeFactory.java
(rev 0)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/persistence/jpa2/Hibernate2_0PersistenceXmlContextNodeFactory.java 2010-06-23
11:53:25 UTC (rev 22942)
@@ -0,0 +1,34 @@
+/*******************************************************************************
+ * Copyright (c) 2010 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is 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
+ *
+ * Contributor:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.hibernate.jpt.core.internal.context.persistence.jpa2;
+
+import org.eclipse.jpt.core.context.persistence.Persistence;
+import org.eclipse.jpt.core.context.persistence.PersistenceUnit;
+import
org.eclipse.jpt.core.internal.context.persistence.GenericPersistenceXmlContextNodeFactory;
+import org.eclipse.jpt.core.resource.persistence.XmlPersistenceUnit;
+import org.jboss.tools.hibernate.jpt.core.internal.context.HibernatePersistenceUnit;
+import
org.jboss.tools.hibernate.jpt.core.internal.context.basic.HibernatePersistenceUnitProperties;
+
+/**
+ * @author Dmitry Geraskov
+ *
+ */
+public class Hibernate2_0PersistenceXmlContextNodeFactory extends
+ GenericPersistenceXmlContextNodeFactory {
+
+ public PersistenceUnit buildPersistenceUnit(Persistence parent, XmlPersistenceUnit
xmlPersistenceUnit) {
+ return new HibernatePersistenceUnit(parent, xmlPersistenceUnit);
+ }
+
+ public HibernatePersistenceUnitProperties
buildHibernatePersistenceUnitProperties(PersistenceUnit parent) {
+ return new HibernatePersistenceUnitProperties(parent);
+ }
+}
Added:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/persistence/jpa2/Hibernate2_0PersistenceXmlDefinition.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/persistence/jpa2/Hibernate2_0PersistenceXmlDefinition.java
(rev 0)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/persistence/jpa2/Hibernate2_0PersistenceXmlDefinition.java 2010-06-23
11:53:25 UTC (rev 22942)
@@ -0,0 +1,62 @@
+/*******************************************************************************
+ * Copyright (c) 2010 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is 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
+ *
+ * Contributor:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.hibernate.jpt.core.internal.context.persistence.jpa2;
+
+import org.eclipse.emf.ecore.EFactory;
+import org.eclipse.jpt.core.JpaResourceType;
+import org.eclipse.jpt.core.JptCorePlugin;
+import org.eclipse.jpt.core.context.persistence.PersistenceXmlContextNodeFactory;
+import org.eclipse.jpt.core.context.persistence.PersistenceXmlDefinition;
+import
org.eclipse.jpt.core.internal.context.persistence.AbstractPersistenceXmlDefinition;
+import org.eclipse.jpt.core.resource.persistence.PersistenceFactory;
+
+/**
+ * @author Dmitry Geraskov
+ *
+ */
+public class Hibernate2_0PersistenceXmlDefinition extends
+ AbstractPersistenceXmlDefinition {
+
+ // singleton
+ private static final PersistenceXmlDefinition INSTANCE =
+ new Hibernate2_0PersistenceXmlDefinition();
+
+
+ /**
+ * Return the singleton
+ */
+ public static PersistenceXmlDefinition instance() {
+ return INSTANCE;
+ }
+
+
+ /**
+ * Enforce singleton usage
+ */
+ private Hibernate2_0PersistenceXmlDefinition() {
+ super();
+ }
+
+
+ public EFactory getResourceNodeFactory() {
+ return PersistenceFactory.eINSTANCE;
+ }
+
+ @Override
+ protected PersistenceXmlContextNodeFactory buildContextNodeFactory() {
+ return new Hibernate2_0PersistenceXmlContextNodeFactory();
+ }
+
+ public JpaResourceType getResourceType() {
+ return JptCorePlugin.PERSISTENCE_XML_1_0_RESOURCE_TYPE;
+ }
+
+}
Added:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/jpa2/HibernateJpa2_0AnnotationDefinitionProvider.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/jpa2/HibernateJpa2_0AnnotationDefinitionProvider.java
(rev 0)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/jpa2/HibernateJpa2_0AnnotationDefinitionProvider.java 2010-06-23
11:53:25 UTC (rev 22942)
@@ -0,0 +1,71 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2009 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is 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
+ *
+ * Contributor:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.hibernate.jpt.core.internal.jpa2;
+
+import java.util.List;
+
+import org.eclipse.jpt.core.JpaAnnotationDefinitionProvider;
+import org.eclipse.jpt.core.internal.AbstractJpaAnnotationDefintionProvider;
+import org.eclipse.jpt.core.resource.java.AnnotationDefinition;
+import
org.jboss.tools.hibernate.jpt.core.internal.resource.java.DiscriminatorFormulaAnnotationImpl.DiscriminatorFormulaAnnotationDefinition;
+import
org.jboss.tools.hibernate.jpt.core.internal.resource.java.ForeignKeyAnnotationImpl.ForeignKeyAnnotationDefinition;
+import
org.jboss.tools.hibernate.jpt.core.internal.resource.java.GeneratedAnnotationImpl.GeneratedAnnotationDefinition;
+import
org.jboss.tools.hibernate.jpt.core.internal.resource.java.GenericGeneratorAnnotationImpl.GenericGeneratorAnnotationDefinition;
+import
org.jboss.tools.hibernate.jpt.core.internal.resource.java.HibernateNamedNativeQueriesAnnotationDefinition;
+import
org.jboss.tools.hibernate.jpt.core.internal.resource.java.HibernateNamedNativeQueryAnnotationDefinition;
+import
org.jboss.tools.hibernate.jpt.core.internal.resource.java.HibernateNamedQueriesAnnotationDefinition;
+import
org.jboss.tools.hibernate.jpt.core.internal.resource.java.HibernateNamedQueryAnnotationDefinition;
+import
org.jboss.tools.hibernate.jpt.core.internal.resource.java.IndexAnnotationImpl.IndexAnnotationDefinition;
+import
org.jboss.tools.hibernate.jpt.core.internal.resource.java.SourceGenericGeneratorsAnnotation.GenericGeneratorsAnnotationDefinition;
+
+/**
+ * @author Dmitry Geraskov
+ *
+ */
+public class HibernateJpa2_0AnnotationDefinitionProvider extends
AbstractJpaAnnotationDefintionProvider
+{
+ // singleton
+ private static final JpaAnnotationDefinitionProvider INSTANCE = new
HibernateJpa2_0AnnotationDefinitionProvider();
+
+ /**
+ * Return the singleton.
+ */
+ public static JpaAnnotationDefinitionProvider instance() {
+ return INSTANCE;
+ }
+
+ /**
+ * Ensure single instance.
+ */
+ private HibernateJpa2_0AnnotationDefinitionProvider() {
+ super();
+ }
+
+ @Override
+ protected void addTypeAnnotationDefinitionsTo(List<AnnotationDefinition>
definitions) {
+ definitions.add(GenericGeneratorAnnotationDefinition.instance());
+ definitions.add(GenericGeneratorsAnnotationDefinition.instance());
+ definitions.add(HibernateNamedQueryAnnotationDefinition.instance());
+ definitions.add(HibernateNamedQueriesAnnotationDefinition.instance());
+ definitions.add(HibernateNamedNativeQueryAnnotationDefinition.instance());
+ definitions.add(HibernateNamedNativeQueriesAnnotationDefinition.instance());
+ definitions.add(DiscriminatorFormulaAnnotationDefinition.instance());
+ definitions.add(ForeignKeyAnnotationDefinition.instance());
+ }
+
+ @Override
+ protected void addAttributeAnnotationDefinitionsTo(List<AnnotationDefinition>
definitions) {
+ definitions.add(GenericGeneratorAnnotationDefinition.instance());
+ definitions.add(GeneratedAnnotationDefinition.instance());
+ definitions.add(IndexAnnotationDefinition.instance());
+ definitions.add(ForeignKeyAnnotationDefinition.instance());
+ }
+}
Added:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/jpa2/HibernateJpa2_0PlatformFactory.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/jpa2/HibernateJpa2_0PlatformFactory.java
(rev 0)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/jpa2/HibernateJpa2_0PlatformFactory.java 2010-06-23
11:53:25 UTC (rev 22942)
@@ -0,0 +1,75 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2009 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is 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
+ *
+ * Contributor:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.hibernate.jpt.core.internal.jpa2;
+
+import org.eclipse.jpt.core.JpaAnnotationProvider;
+import org.eclipse.jpt.core.JpaFactory;
+import org.eclipse.jpt.core.JpaPlatform;
+import org.eclipse.jpt.core.JpaPlatformFactory;
+import org.eclipse.jpt.core.JpaPlatformVariation;
+import org.eclipse.jpt.core.JptCorePlugin;
+import org.eclipse.jpt.core.internal.GenericJpaAnnotationProvider;
+import org.eclipse.jpt.core.internal.GenericJpaPlatformFactory.SimpleVersion;
+import org.eclipse.jpt.core.internal.jpa2.Generic2_0JpaAnnotationDefinitionProvider;
+import org.jboss.tools.hibernate.jpt.core.internal.HibernateJpaPlatform;
+
+/**
+ * @author Dmitry Geraskov
+ *
+ */
+public class HibernateJpa2_0PlatformFactory implements JpaPlatformFactory {
+
+ /**
+ * zero-argument constructor
+ */
+ public HibernateJpa2_0PlatformFactory() {
+ super();
+ }
+
+ public JpaPlatform buildJpaPlatform(String id) {
+ return new HibernateJpaPlatform(
+ id,
+ this.buildJpaVersion(),
+ this.buildJpaFactory(),
+ this.buildJpaAnnotationProvider(),
+ HibernateJpa2_0PlatformProvider.instance(),
+ this.buildJpaPlatformVariation());
+ }
+
+
+
+ private JpaPlatform.Version buildJpaVersion() {
+ return new SimpleVersion(JptCorePlugin.JPA_FACET_VERSION_2_0);
+ }
+
+ protected JpaFactory buildJpaFactory() {
+ return new HibernateJpaFactory2_0();
+ }
+
+ protected JpaAnnotationProvider buildJpaAnnotationProvider() {
+ return new GenericJpaAnnotationProvider(
+ Generic2_0JpaAnnotationDefinitionProvider.instance(),
+ HibernateJpa2_0AnnotationDefinitionProvider.instance());
+ }
+
+ protected JpaPlatformVariation buildJpaPlatformVariation() {
+ return new JpaPlatformVariation() {
+ //table_per_class inheritance support is optional in the 2.0 spec
+ public Supported getTablePerConcreteClassInheritanceIsSupported() {
+ return Supported.MAYBE;
+ }
+ public boolean isJoinTableOverridable() {
+ return true;
+ }
+ };
+ }
+
+}
Added:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/jpa2/HibernateJpa2_0PlatformProvider.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/jpa2/HibernateJpa2_0PlatformProvider.java
(rev 0)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/jpa2/HibernateJpa2_0PlatformProvider.java 2010-06-23
11:53:25 UTC (rev 22942)
@@ -0,0 +1,151 @@
+/*******************************************************************************
+ * Copyright (c) 2007-2008 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is 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
+ *
+ * Contributor:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.hibernate.jpt.core.internal.jpa2;
+
+import org.eclipse.core.runtime.content.IContentType;
+import org.eclipse.jpt.core.JpaPlatformProvider;
+import org.eclipse.jpt.core.JpaResourceModelProvider;
+import org.eclipse.jpt.core.JpaResourceType;
+import org.eclipse.jpt.core.JptCorePlugin;
+import org.eclipse.jpt.core.ResourceDefinition;
+import org.eclipse.jpt.core.context.java.JavaAttributeMappingDefinition;
+import org.eclipse.jpt.core.context.java.JavaTypeMappingDefinition;
+import org.eclipse.jpt.core.internal.AbstractJpaPlatformProvider;
+import org.eclipse.jpt.core.internal.JarResourceModelProvider;
+import org.eclipse.jpt.core.internal.JavaResourceModelProvider;
+import org.eclipse.jpt.core.internal.OrmResourceModelProvider;
+import org.eclipse.jpt.core.internal.PersistenceResourceModelProvider;
+import org.eclipse.jpt.core.internal.context.java.JavaBasicMappingDefinition;
+import org.eclipse.jpt.core.internal.context.java.JavaEmbeddableDefinition;
+import org.eclipse.jpt.core.internal.context.java.JavaEmbeddedIdMappingDefinition;
+import org.eclipse.jpt.core.internal.context.java.JavaEmbeddedMappingDefinition;
+import org.eclipse.jpt.core.internal.context.java.JavaEntityDefinition;
+import org.eclipse.jpt.core.internal.context.java.JavaIdMappingDefinition;
+import org.eclipse.jpt.core.internal.context.java.JavaManyToManyMappingDefinition;
+import org.eclipse.jpt.core.internal.context.java.JavaManyToOneMappingDefinition;
+import org.eclipse.jpt.core.internal.context.java.JavaMappedSuperclassDefinition;
+import org.eclipse.jpt.core.internal.context.java.JavaOneToManyMappingDefinition;
+import org.eclipse.jpt.core.internal.context.java.JavaOneToOneMappingDefinition;
+import org.eclipse.jpt.core.internal.context.java.JavaTransientMappingDefinition;
+import org.eclipse.jpt.core.internal.context.java.JavaVersionMappingDefinition;
+import
org.jboss.tools.hibernate.jpt.core.internal.context.orm.jpa2.HibernateOrmXml2_0Definition;
+import
org.jboss.tools.hibernate.jpt.core.internal.context.persistence.jpa2.Hibernate2_0PersistenceXmlDefinition;
+
+/**
+ * @author Dmitry Geraskov
+ *
+ */
+public class HibernateJpa2_0PlatformProvider extends AbstractJpaPlatformProvider {
+
+public static final String ID = "hibernate2_0"; //$NON-NLS-1$
+
+ // singleton
+ private static final JpaPlatformProvider INSTANCE =
+ new HibernateJpa2_0PlatformProvider();
+
+
+ /**
+ * Return the singleton.
+ */
+ public static JpaPlatformProvider instance() {
+ return INSTANCE;
+ }
+
+
+ /**
+ * Enforce singleton usage
+ */
+ private HibernateJpa2_0PlatformProvider() {
+ super();
+ }
+
+
+ // ********** resource models **********
+
+ public JpaResourceType getMostRecentSupportedResourceType(IContentType contentType) {
+ if (contentType.equals(JptCorePlugin.JAVA_SOURCE_CONTENT_TYPE)) {
+ return JptCorePlugin.JAVA_SOURCE_RESOURCE_TYPE;
+ }
+ else if (contentType.equals(JptCorePlugin.JAR_CONTENT_TYPE)) {
+ return JptCorePlugin.JAR_RESOURCE_TYPE;
+ }
+ else if (contentType.equals(JptCorePlugin.PERSISTENCE_XML_CONTENT_TYPE)) {
+ return JptCorePlugin.PERSISTENCE_XML_2_0_RESOURCE_TYPE;
+ }
+ else if (contentType.equals(JptCorePlugin.ORM_XML_CONTENT_TYPE)) {
+ return JptCorePlugin.ORM_XML_2_0_RESOURCE_TYPE;
+ }
+ else {
+ throw new IllegalArgumentException(contentType.toString());
+ }
+ }
+
+ @Override
+ protected JpaResourceModelProvider[] buildResourceModelProviders() {
+ // order should not be important here
+ return new JpaResourceModelProvider[] {
+ JavaResourceModelProvider.instance(),
+ JarResourceModelProvider.instance(),
+ PersistenceResourceModelProvider.instance(),
+ OrmResourceModelProvider.instance()};
+ }
+
+
+ // ********** Java type mappings **********
+
+ @Override
+ protected JavaTypeMappingDefinition[] buildNonNullJavaTypeMappingDefinitions() {
+ // order determined by analyzing order that reference implementation (toplink) uses
+ return new JavaTypeMappingDefinition[] {
+ JavaEntityDefinition.instance(),
+ JavaEmbeddableDefinition.instance(),
+ JavaMappedSuperclassDefinition.instance()};
+ }
+
+
+ // ********** Java attribute mappings **********
+
+ @Override
+ protected JavaAttributeMappingDefinition[]
buildNonNullDefaultJavaAttributeMappingDefinitions() {
+ // order determined by analyzing order that reference implementation (toplink) uses
+ return new JavaAttributeMappingDefinition[] {
+ JavaEmbeddedMappingDefinition.instance(),
+ JavaBasicMappingDefinition.instance()};
+ }
+
+ @Override
+ protected JavaAttributeMappingDefinition[]
buildNonNullSpecifiedJavaAttributeMappingDefinitions() {
+ // order determined by analyzing order that reference implementation (eclipselink)
uses
+ return new JavaAttributeMappingDefinition[] {
+ JavaTransientMappingDefinition.instance(),
+ JavaIdMappingDefinition.instance(),
+ JavaVersionMappingDefinition.instance(),
+ JavaBasicMappingDefinition.instance(),
+ JavaEmbeddedMappingDefinition.instance(),
+ JavaEmbeddedIdMappingDefinition.instance(),
+ JavaManyToManyMappingDefinition.instance(),
+ JavaManyToOneMappingDefinition.instance(),
+ JavaOneToManyMappingDefinition.instance(),
+ JavaOneToOneMappingDefinition.instance()};
+ }
+
+
+ // ********** Mapping Files **********
+
+ @Override
+ protected ResourceDefinition[] buildResourceDefinitions() {
+ return new ResourceDefinition[] {
+ Hibernate2_0PersistenceXmlDefinition.instance(),
+ HibernateOrmXml2_0Definition.instance()};
+ }
+
+
+}
Added:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/jpa2/HibernateJpaFactory2_0.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/jpa2/HibernateJpaFactory2_0.java
(rev 0)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/jpa2/HibernateJpaFactory2_0.java 2010-06-23
11:53:25 UTC (rev 22942)
@@ -0,0 +1,177 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is 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
+ *
+ * Contributor:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.hibernate.jpt.core.internal.jpa2;
+
+import org.eclipse.jpt.core.JpaProject;
+import org.eclipse.jpt.core.context.JoiningStrategy;
+import org.eclipse.jpt.core.context.PersistentType;
+import org.eclipse.jpt.core.context.java.JavaAssociationOverride;
+import org.eclipse.jpt.core.context.java.JavaAssociationOverrideContainer;
+import org.eclipse.jpt.core.context.java.JavaAssociationOverrideRelationshipReference;
+import org.eclipse.jpt.core.context.java.JavaEmbeddable;
+import org.eclipse.jpt.core.context.java.JavaJpaContextNode;
+import org.eclipse.jpt.core.context.java.JavaManyToOneMapping;
+import org.eclipse.jpt.core.context.java.JavaNamedColumn;
+import org.eclipse.jpt.core.context.java.JavaNamedQuery;
+import org.eclipse.jpt.core.context.java.JavaOneToManyMapping;
+import org.eclipse.jpt.core.context.java.JavaOneToOneMapping;
+import org.eclipse.jpt.core.context.java.JavaPersistentAttribute;
+import org.eclipse.jpt.core.context.java.JavaPersistentType;
+import org.eclipse.jpt.core.context.java.JavaSequenceGenerator;
+import
org.eclipse.jpt.core.internal.jpa1.context.java.GenericJavaAssociationOverrideContainer;
+import org.eclipse.jpt.core.internal.jpa2.GenericMetamodelSynchronizer;
+import
org.eclipse.jpt.core.internal.jpa2.context.java.GenericJavaAssociationOverrideRelationshipReference2_0;
+import org.eclipse.jpt.core.internal.jpa2.context.java.GenericJavaCacheable2_0;
+import org.eclipse.jpt.core.internal.jpa2.context.java.GenericJavaCollectionTable2_0;
+import org.eclipse.jpt.core.internal.jpa2.context.java.GenericJavaDerivedIdentity2_0;
+import
org.eclipse.jpt.core.internal.jpa2.context.java.GenericJavaElementCollectionMapping2_0;
+import org.eclipse.jpt.core.internal.jpa2.context.java.GenericJavaEmbeddable2_0;
+import org.eclipse.jpt.core.internal.jpa2.context.java.GenericJavaNamedQuery2_0;
+import org.eclipse.jpt.core.internal.jpa2.context.java.GenericJavaOrderColumn2_0;
+import org.eclipse.jpt.core.internal.jpa2.context.java.GenericJavaOrphanRemoval2_0;
+import
org.eclipse.jpt.core.internal.jpa2.context.java.GenericJavaPersistentAttribute2_0;
+import org.eclipse.jpt.core.internal.jpa2.context.java.GenericJavaPersistentType2_0;
+import org.eclipse.jpt.core.internal.jpa2.context.java.GenericJavaSequenceGenerator2_0;
+import
org.eclipse.jpt.core.internal.jpa2.context.java.VirtualAssociationOverride2_0Annotation;
+import org.eclipse.jpt.core.jpa2.JpaProject2_0;
+import org.eclipse.jpt.core.jpa2.context.MetamodelSourceType;
+import org.eclipse.jpt.core.jpa2.context.java.JavaCacheable2_0;
+import org.eclipse.jpt.core.jpa2.context.java.JavaCacheableHolder2_0;
+import org.eclipse.jpt.core.jpa2.context.java.JavaCollectionTable2_0;
+import org.eclipse.jpt.core.jpa2.context.java.JavaDerivedIdentity2_0;
+import org.eclipse.jpt.core.jpa2.context.java.JavaElementCollectionMapping2_0;
+import org.eclipse.jpt.core.jpa2.context.java.JavaEmbeddedMapping2_0;
+import org.eclipse.jpt.core.jpa2.context.java.JavaOrderColumn2_0;
+import org.eclipse.jpt.core.jpa2.context.java.JavaOrderable2_0;
+import org.eclipse.jpt.core.jpa2.context.java.JavaOrphanRemovable2_0;
+import org.eclipse.jpt.core.jpa2.context.java.JavaOrphanRemovalHolder2_0;
+import org.eclipse.jpt.core.jpa2.context.java.JavaSingleRelationshipMapping2_0;
+import org.eclipse.jpt.core.resource.java.AssociationOverrideAnnotation;
+import org.eclipse.jpt.core.resource.java.JavaResourcePersistentAttribute;
+import org.eclipse.jpt.core.resource.java.JavaResourcePersistentMember;
+import org.eclipse.jpt.core.resource.java.JavaResourcePersistentType;
+import org.jboss.tools.hibernate.jpt.core.internal.HibernateAbstractJpaFactory;
+import
org.jboss.tools.hibernate.jpt.core.internal.context.java.jpa2.HibernateJavaManyToOneMapping2_0;
+import
org.jboss.tools.hibernate.jpt.core.internal.context.java.jpa2.HibernateJavaOneToManyMapping2_0;
+import
org.jboss.tools.hibernate.jpt.core.internal.context.java.jpa2.HibernateJavaOneToOneMapping2_0;
+
+
+/**
+ * @author Dmitry Geraskov
+ *
+ */
+public class HibernateJpaFactory2_0 extends HibernateAbstractJpaFactory {
+
+ // ********** Core Model **********
+ public JpaProject buildJpaProject(JpaProject.Config config){
+ if ( ! (config instanceof JpaProject2_0.Config)) {
+ throw new IllegalArgumentException("config must be 2.0-compatible: " +
config); //$NON-NLS-1$
+ }
+ return super.buildJpaProject(config);
+ }
+
+ // ********** Hibernate Specific **********
+ @Override
+ public JavaManyToOneMapping buildJavaManyToOneMapping(
+ JavaPersistentAttribute parent) {
+ return new HibernateJavaManyToOneMapping2_0(parent);
+ }
+
+ @Override
+ public JavaOneToOneMapping buildJavaOneToOneMapping(
+ JavaPersistentAttribute parent) {
+ return new HibernateJavaOneToOneMapping2_0(parent);
+ }
+
+ @Override
+ public JavaOneToManyMapping buildJavaOneToManyMapping(
+ JavaPersistentAttribute parent) {
+ return new HibernateJavaOneToManyMapping2_0(parent);
+ }
+
+ // ********** From GenericJpa2_0 Model **********
+ @Override
+ public MetamodelSourceType.Synchronizer buildMetamodelSynchronizer(MetamodelSourceType
sourceType) {
+ return new GenericMetamodelSynchronizer(sourceType);
+ }
+
+ @Override
+ public JavaPersistentType buildJavaPersistentType(PersistentType.Owner owner,
JavaResourcePersistentType jrpt) {
+ return new GenericJavaPersistentType2_0(owner, jrpt);
+ }
+
+ @Override
+ public JavaPersistentAttribute buildJavaPersistentAttribute(PersistentType parent,
JavaResourcePersistentAttribute jrpa) {
+ return new GenericJavaPersistentAttribute2_0(parent, jrpa);
+ }
+
+ @Override
+ public JavaEmbeddable buildJavaEmbeddable(JavaPersistentType parent) {
+ return new GenericJavaEmbeddable2_0(parent);
+ }
+
+ @Override
+ public JavaSequenceGenerator buildJavaSequenceGenerator(JavaJpaContextNode parent) {
+ return new GenericJavaSequenceGenerator2_0(parent);
+ }
+
+ //The 2.0 JPA spec supports association overrides on an embedded mapping while the 1.0
spec did not
+ @Override
+ public JavaAssociationOverrideContainer
buildJavaAssociationOverrideContainer(JavaEmbeddedMapping2_0 parent,
JavaAssociationOverrideContainer.Owner owner) {
+ return new GenericJavaAssociationOverrideContainer(parent, owner);
+ }
+
+ @Override
+ public JavaAssociationOverrideRelationshipReference
buildJavaAssociationOverrideRelationshipReference(JavaAssociationOverride parent) {
+ return new GenericJavaAssociationOverrideRelationshipReference2_0(parent);
+ }
+
+ @Override
+ public AssociationOverrideAnnotation
buildJavaVirtualAssociationOverrideAnnotation(JavaResourcePersistentMember jrpm, String
name, JoiningStrategy joiningStrategy) {
+ return new VirtualAssociationOverride2_0Annotation(jrpm, name, joiningStrategy);
+ }
+
+ @Override
+ public JavaDerivedIdentity2_0 buildJavaDerivedIdentity(JavaSingleRelationshipMapping2_0
parent) {
+ return new GenericJavaDerivedIdentity2_0(parent);
+ }
+
+ @Override
+ public JavaElementCollectionMapping2_0
buildJavaElementCollectionMapping2_0(JavaPersistentAttribute parent) {
+ return new GenericJavaElementCollectionMapping2_0(parent);
+ }
+
+ @Override
+ public JavaCacheable2_0 buildJavaCacheable(JavaCacheableHolder2_0 parent) {
+ return new GenericJavaCacheable2_0(parent);
+ }
+
+ @Override
+ public JavaOrphanRemovable2_0 buildJavaOrphanRemoval(JavaOrphanRemovalHolder2_0 parent)
{
+ return new GenericJavaOrphanRemoval2_0(parent);
+ }
+
+ @Override
+ public JavaNamedQuery buildJavaNamedQuery(JavaJpaContextNode parent) {
+ return new GenericJavaNamedQuery2_0(parent);
+ }
+
+ @Override
+ public JavaCollectionTable2_0 buildJavaCollectionTable(JavaElementCollectionMapping2_0
parent) {
+ return new GenericJavaCollectionTable2_0(parent);
+ }
+
+ @Override
+ public JavaOrderColumn2_0 buildJavaOrderColumn(JavaOrderable2_0 parent,
JavaNamedColumn.Owner owner) {
+ return new GenericJavaOrderColumn2_0(parent, owner);
+ }
+
+}
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/plugin.xml
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/plugin.xml 2010-06-23
07:30:21 UTC (rev 22941)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/plugin.xml 2010-06-23
11:53:25 UTC (rev 22942)
@@ -10,4 +10,13 @@
id="hibernate">
</jpaPlatformUi>
</extension>
+ <extension
+ id="org.jboss.tools.hibernate2_0.jpt"
+ point="org.eclipse.jpt.ui.jpaPlatformUis">
+ <jpaPlatformUi
+
factoryClass="org.jboss.tools.hibernate.jpt.ui.internal.platform.HibernateJpaPlatformUiFactory"
+ jpaPlatform="hibernate2_0"
+ id="hibernate2_0">
+ </jpaPlatformUi>
+ </extension>
</plugin>
Added:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/HibernateJpa2_0PlatformUiProvider.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/HibernateJpa2_0PlatformUiProvider.java
(rev 0)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/HibernateJpa2_0PlatformUiProvider.java 2010-06-23
11:53:25 UTC (rev 22942)
@@ -0,0 +1,87 @@
+/*******************************************************************************
+ * Copyright (c) 2010 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is 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
+ *
+ * Contributor:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.hibernate.jpt.ui.internal;
+
+import java.util.List;
+
+import org.eclipse.jpt.ui.JpaPlatformUi;
+import org.eclipse.jpt.ui.JpaPlatformUiProvider;
+import org.eclipse.jpt.ui.ResourceUiDefinition;
+import org.eclipse.jpt.ui.details.JpaDetailsProvider;
+import org.eclipse.jpt.ui.internal.AbstractJpaPlatformUiProvider;
+import org.eclipse.jpt.ui.internal.details.java.JavaPersistentAttributeDetailsProvider;
+import org.eclipse.jpt.ui.internal.details.java.JavaPersistentTypeDetailsProvider;
+import org.eclipse.jpt.ui.internal.details.orm.EntityMappingsDetailsProvider;
+import org.eclipse.jpt.ui.internal.details.orm.OrmPersistentAttributeDetailsProvider;
+import org.eclipse.jpt.ui.internal.details.orm.OrmPersistentTypeDetailsProvider;
+import org.eclipse.jpt.ui.internal.jpa2.details.orm.EntityMappings2_0DetailsProvider;
+import org.eclipse.jpt.ui.internal.platform.generic.GenericNavigatorProvider;
+import
org.jboss.tools.hibernate.jpt.ui.internal.jpa2.mapping.details.orm.Hibernate2_0OrmXmlUiDefinition;
+import
org.jboss.tools.hibernate.jpt.ui.internal.mapping.details.java.Hibernate2_0JavaResourceUiDefinition;
+import
org.jboss.tools.hibernate.jpt.ui.internal.mapping.details.orm.HibernateOrmXmlUiDefinition;
+import
org.jboss.tools.hibernate.jpt.ui.internal.persistence.details.HibernatePersistenceXmlUiDefinition;
+import
org.jboss.tools.hibernate.jpt.ui.internal.persistence.details.jpa2.HibernatePersistenceXml2_0UiDefinition;
+import org.jboss.tools.hibernate.jpt.ui.internal.platform.HibernateJpaPlatformUi;
+
+/**
+ * @author Dmitry Geraskov
+ *
+ */
+public class HibernateJpa2_0PlatformUiProvider extends
+ AbstractJpaPlatformUiProvider {
+
+ // singleton
+ private static final JpaPlatformUiProvider INSTANCE = new
HibernateJpa2_0PlatformUiProvider();
+
+ /**
+ * Return the singleton.
+ */
+ public static JpaPlatformUiProvider instance() {
+ return INSTANCE;
+ }
+
+ /**
+ * Ensure single instance.
+ */
+ private HibernateJpa2_0PlatformUiProvider() {
+ super();
+ }
+
+ public JpaPlatformUi buildJpaPlatformUi() {
+ return new HibernateJpaPlatformUi(new GenericNavigatorProvider(),
+ HibernateJpa2_0PlatformUiProvider.instance());
+ }
+
+ // ********** details providers **********
+
+ @Override
+ protected void addDetailsProvidersTo(List<JpaDetailsProvider> providers) {
+ providers.add(JavaPersistentTypeDetailsProvider.instance());
+ providers.add(JavaPersistentAttributeDetailsProvider.instance());
+ providers.add(EntityMappingsDetailsProvider.instance());
+ providers.add(OrmPersistentTypeDetailsProvider.instance());
+ providers.add(OrmPersistentAttributeDetailsProvider.instance());
+ providers.add(EntityMappings2_0DetailsProvider.instance());
+ }
+
+ // ********** resource ui definitions **********
+
+ @Override
+ protected void addResourceUiDefinitionsTo(
+ List<ResourceUiDefinition> definitions) {
+ definitions.add(Hibernate2_0JavaResourceUiDefinition.instance());
+ definitions.add(HibernateOrmXmlUiDefinition.instance());
+ definitions.add(Hibernate2_0OrmXmlUiDefinition.instance());
+ definitions.add(HibernatePersistenceXmlUiDefinition.instance());
+ definitions.add(HibernatePersistenceXml2_0UiDefinition.instance());
+ }
+
+}
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/HibernateJpaPlatformUiProvider.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/HibernateJpaPlatformUiProvider.java 2010-06-23
07:30:21 UTC (rev 22941)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/HibernateJpaPlatformUiProvider.java 2010-06-23
11:53:25 UTC (rev 22942)
@@ -33,7 +33,7 @@
*
*/
public class HibernateJpaPlatformUiProvider extends
-AbstractJpaPlatformUiProvider {
+ AbstractJpaPlatformUiProvider {
// singleton
private static final JpaPlatformUiProvider INSTANCE = new
HibernateJpaPlatformUiProvider();
Copied:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/details/HibernateTableComposite.java
(from rev 22779,
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/HibernateTableComposite.java)
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/details/HibernateTableComposite.java
(rev 0)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/details/HibernateTableComposite.java 2010-06-23
11:53:25 UTC (rev 22942)
@@ -0,0 +1,279 @@
+/*******************************************************************************
+ * Copyright (c) 2009-2010 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is 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
+ *
+ * Contributor:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.hibernate.jpt.ui.internal.details;
+
+import java.util.Collection;
+
+import org.eclipse.jpt.db.Schema;
+import org.eclipse.jpt.db.SchemaContainer;
+import org.eclipse.jpt.ui.internal.JpaHelpContextIds;
+import org.eclipse.jpt.ui.internal.details.JptUiDetailsMessages;
+import org.eclipse.jpt.ui.internal.details.db.CatalogCombo;
+import org.eclipse.jpt.ui.internal.details.db.SchemaCombo;
+import org.eclipse.jpt.ui.internal.util.PaneEnabler;
+import org.eclipse.jpt.ui.internal.widgets.Pane;
+import org.eclipse.jpt.utility.internal.model.value.PropertyAspectAdapter;
+import org.eclipse.jpt.utility.model.value.PropertyValueModel;
+import org.eclipse.jpt.utility.model.value.WritablePropertyValueModel;
+import org.eclipse.swt.events.FocusEvent;
+import org.eclipse.swt.events.FocusListener;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Group;
+import org.jboss.tools.hibernate.jpt.core.internal.context.HibernateEntity;
+import org.jboss.tools.hibernate.jpt.core.internal.context.HibernateTable;
+import org.jboss.tools.hibernate.jpt.ui.internal.mappings.db.xpl.TableCombo;
+
+/**
+ * @author Dmitry Geraskov
+ *
+ * Here the layout of this pane:
+ * <pre>
+ * -----------------------------------------------------------------------------
+ * | |
+ * | - Table ----------------------------------------------------------------- |
+ * | | ------------------------------------------------------------ | |
+ * | | Table: | TableCombo | | |
+ * | | ------------------------------------------------------------ | |
+ * | | ------------------------------------------------------------ | |
+ * | | Catalog: | CatalogCombo | | |
+ * | | ------------------------------------------------------------ | |
+ * | | ------------------------------------------------------------ | |
+ * | | Schema: | SchemaCombo | | |
+ * | | ------------------------------------------------------------ | |
+ * | ------------------------------------------------------------------------- |
+ *
-----------------------------------------------------------------------------</pre>
+ *
+ * @see Table
+ * @see EntityComposite - The parent container
+ * @see TableCombo
+ * @see CatalogCombo
+ * @see SchemaCombo
+ *
+ * @TODO repopulate this panel based on the Entity table changing
+ *
+ * @version 2.0
+ * @since 1.0
+ */
+public class HibernateTableComposite extends Pane<HibernateEntity>
+{
+ /**
+ * Creates a new <code>HibernateTableComposite</code>.
+ *
+ * @param parentPane The parent container of this one
+ * @param subjectHolder The holder of the subject
+ * @param parent The parent container
+ */
+ public HibernateTableComposite(Pane<? extends HibernateEntity> parentPane,
+ Composite parent) {
+
+ super(parentPane, parent, false);
+ }
+
+ @Override
+ protected void initializeLayout(Composite container) {
+
+ // Table group pane
+ Group tableGroupPane = addTitledGroup(
+ container,
+ JptUiDetailsMessages.TableComposite_tableSection
+ );
+
+ PropertyValueModel<HibernateTable> subjectHolder = buildTableHolder();
+
+ // Table widgets
+ addLabeledComposite(
+ tableGroupPane,
+ JptUiDetailsMessages.TableChooser_label,
+ addTableCombo(subjectHolder, tableGroupPane),
+ JpaHelpContextIds.ENTITY_TABLE
+ );
+
+ // Catalog widgets
+ addLabeledComposite(
+ tableGroupPane,
+ JptUiDetailsMessages.CatalogChooser_label,
+ addCatalogCombo(subjectHolder, tableGroupPane),
+ JpaHelpContextIds.ENTITY_CATALOG
+ );
+
+ // Schema widgets
+ addLabeledComposite(
+ tableGroupPane,
+ JptUiDetailsMessages.SchemaChooser_label,
+ addSchemaCombo(subjectHolder, tableGroupPane),
+ JpaHelpContextIds.ENTITY_SCHEMA
+ );
+
+ new PaneEnabler(buildTableEnabledHolder(), this);
+ }
+
+ protected WritablePropertyValueModel<HibernateTable> buildTableHolder() {
+
+ return new PropertyAspectAdapter<HibernateEntity,
HibernateTable>(getSubjectHolder(), HibernateEntity.TABLE_IS_UNDEFINED_PROPERTY) {
+ @Override
+ protected HibernateTable buildValue_() {
+ return this.subject.tableIsUndefined() ? null : this.subject.getTable();
+ }
+ };
+ }
+
+ protected WritablePropertyValueModel<Boolean> buildTableEnabledHolder() {
+ return new PropertyAspectAdapter<HibernateEntity, Boolean>(getSubjectHolder(),
HibernateEntity.SPECIFIED_TABLE_IS_ALLOWED_PROPERTY) {
+ @Override
+ protected Boolean buildValue_() {
+ return Boolean.valueOf(this.subject.specifiedTableIsAllowed());
+ }
+ };
+ }
+
+ private CatalogCombo<HibernateTable>
addCatalogCombo(PropertyValueModel<HibernateTable> tableHolder, Composite container)
{
+
+ return new CatalogCombo<HibernateTable>(this, tableHolder, container) {
+
+ @Override
+ protected void addPropertyNames(Collection<String> propertyNames) {
+ super.addPropertyNames(propertyNames);
+ propertyNames.add(HibernateTable.DEFAULT_CATALOG_PROPERTY);
+ propertyNames.add(HibernateTable.SPECIFIED_CATALOG_PROPERTY);
+ }
+
+ @Override
+ protected String getDefaultValue() {
+ return getSubject().getDefaultCatalog();
+ }
+
+ @Override
+ protected void setValue(String value) {
+ getSubject().setSpecifiedCatalog(value);
+ }
+
+ @Override
+ protected String getValue() {
+ return getSubject().getSpecifiedCatalog();
+ }
+ };
+ }
+
+ private SchemaCombo<HibernateTable>
addSchemaCombo(PropertyValueModel<HibernateTable> subjectHolder, Composite
container) {
+
+ return new SchemaCombo<HibernateTable>(this, subjectHolder, container) {
+
+ @Override
+ protected void addPropertyNames(Collection<String> propertyNames) {
+ super.addPropertyNames(propertyNames);
+ propertyNames.add(HibernateTable.DEFAULT_SCHEMA_PROPERTY);
+ propertyNames.add(HibernateTable.SPECIFIED_SCHEMA_PROPERTY);
+ }
+
+ @Override
+ protected String getDefaultValue() {
+ return getSubject().getDefaultSchema();
+ }
+
+ @Override
+ protected void setValue(String value) {
+ getSubject().setSpecifiedSchema(value);
+ }
+
+ @Override
+ protected String getValue() {
+ return getSubject().getSpecifiedSchema();
+ }
+
+ @Override
+ protected SchemaContainer getDbSchemaContainer_() {
+ return this.getSubject().getDbSchemaContainer();
+ }
+ };
+ }
+
+ private TableCombo<HibernateTable>
addTableCombo(PropertyValueModel<HibernateTable> subjectHolder, Composite container)
{
+
+ return new TableCombo<HibernateTable>(this, subjectHolder, container) {
+
+ @Override
+ protected void initializeLayout(Composite container) {
+ super.initializeLayout(container);
+ comboBox.addFocusListener(new FocusListener() {
+
+ public void focusGained(FocusEvent e) {
+ if (comboBox.getSelectionIndex() != 0){
+ setPopulating(true);
+ comboBox.setText(getSubject().getName());
+ setPopulating(false);
+ }
+ }
+
+ public void focusLost(FocusEvent e) {
+ if (comboBox.getSelectionIndex() != 0){
+ setPopulating(true);
+ comboBox.setText(getValue());
+ setPopulating(false);
+ }
+ }
+ });
+ }
+
+ @Override
+ protected void addPropertyNames(Collection<String> propertyNames) {
+ super.addPropertyNames(propertyNames);
+ propertyNames.add(HibernateTable.DEFAULT_NAME_PROPERTY);
+ propertyNames.add(HibernateTable.SPECIFIED_NAME_PROPERTY);
+ propertyNames.add(HibernateTable.DEFAULT_SCHEMA_PROPERTY);
+ propertyNames.add(HibernateTable.SPECIFIED_SCHEMA_PROPERTY);
+ propertyNames.add(HibernateTable.DEFAULT_CATALOG_PROPERTY);
+ propertyNames.add(HibernateTable.SPECIFIED_CATALOG_PROPERTY);
+ }
+
+ @Override
+ protected void propertyChanged(String propertyName) {
+ super.propertyChanged(propertyName);
+ if (propertyName == HibernateTable.DEFAULT_SCHEMA_PROPERTY
+ || propertyName == HibernateTable.SPECIFIED_SCHEMA_PROPERTY
+ || propertyName == HibernateTable.DEFAULT_CATALOG_PROPERTY
+ || propertyName == HibernateTable.SPECIFIED_CATALOG_PROPERTY ) {
+ repopulate();
+ }
+ }
+
+ @Override
+ protected String getDefaultValue() {
+ return this.getSubject().getDefaultDBTableName();
+ }
+
+ @Override
+ protected void setValue(String value) {
+ this.getSubject().setSpecifiedName(value);
+ }
+
+ @Override
+ public String getValue() {
+ String specifiedName = this.getSubject().getSpecifiedName();
+ if (specifiedName == null){
+ return null;
+ }
+ String dbTableName = this.getSubject().getDBTableName();
+ if (specifiedName.equals(dbTableName)){
+ return specifiedName;
+ } else {
+ return specifiedName + " (" + dbTableName +")"; //$NON-NLS-1$
//$NON-NLS-2$
+ }
+ }
+
+ @Override
+ protected Schema getDbSchema_() {
+ return this.getSubject().getDbSchema();
+ }
+
+ };
+ }
+
+}
Copied:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/details/orm/HibernateOrmEntityComposite.java
(from rev 22779,
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/orm/details/HibernateOrmEntityComposite.java)
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/details/orm/HibernateOrmEntityComposite.java
(rev 0)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/details/orm/HibernateOrmEntityComposite.java 2010-06-23
11:53:25 UTC (rev 22942)
@@ -0,0 +1,76 @@
+/*******************************************************************************
+ * Copyright (c) 2009-2010 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is 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
+ *
+ * Contributor:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+
+package org.jboss.tools.hibernate.jpt.ui.internal.details.orm;
+
+import org.eclipse.jpt.core.context.AccessHolder;
+import org.eclipse.jpt.core.context.orm.OrmEntity;
+import org.eclipse.jpt.ui.WidgetFactory;
+import org.eclipse.jpt.ui.internal.details.AbstractEntityComposite;
+import org.eclipse.jpt.ui.internal.details.AccessTypeComposite;
+import org.eclipse.jpt.ui.internal.details.EntityNameComposite;
+import org.eclipse.jpt.ui.internal.details.IdClassComposite;
+import org.eclipse.jpt.ui.internal.details.orm.MetadataCompleteComposite;
+import org.eclipse.jpt.ui.internal.details.orm.OrmInheritanceComposite;
+import org.eclipse.jpt.ui.internal.details.orm.OrmJavaClassChooser;
+import org.eclipse.jpt.ui.internal.details.orm.OrmSecondaryTablesComposite;
+import org.eclipse.jpt.utility.internal.model.value.PropertyAspectAdapter;
+import org.eclipse.jpt.utility.model.value.PropertyValueModel;
+import org.eclipse.swt.widgets.Composite;
+import org.jboss.tools.hibernate.jpt.core.internal.context.orm.HibernateOrmEntity;
+import org.jboss.tools.hibernate.jpt.ui.internal.details.HibernateTableComposite;
+
+/**
+ * @author Dmitry Geraskov
+ *
+ */
+public class HibernateOrmEntityComposite extends
AbstractEntityComposite<HibernateOrmEntity> {
+
+ /**
+ * @param subjectHolder
+ * @param parent
+ * @param widgetFactory
+ */
+ public HibernateOrmEntityComposite(PropertyValueModel<? extends
HibernateOrmEntity> subjectHolder,
+ Composite parent, WidgetFactory widgetFactory) {
+ super(subjectHolder, parent, widgetFactory);
+ }
+
+ @Override
+ protected void initializeEntitySection(Composite container) {
+ new OrmJavaClassChooser(this, getSubjectHolder(), container, false);
+ new HibernateTableComposite(this, container);
+ new EntityNameComposite(this, container);
+ new AccessTypeComposite(this, buildAccessHolder(), container);
+ new IdClassComposite(this, buildIdClassReferenceHolder(), container);
+ new MetadataCompleteComposite(this, getSubjectHolder(), container);
+ }
+
+ protected PropertyValueModel<AccessHolder> buildAccessHolder() {
+ return new PropertyAspectAdapter<OrmEntity, AccessHolder>(
+ getSubjectHolder())
+ {
+ @Override
+ protected AccessHolder buildValue_() {
+ return this.subject.getPersistentType();
+ }
+ };
+ }
+ @Override
+ protected void initializeSecondaryTablesSection(Composite container) {
+ new OrmSecondaryTablesComposite(this, container);
+ }
+
+ @Override
+ protected void initializeInheritanceSection(Composite container) {
+ new OrmInheritanceComposite(this, container);
+ }
+}
\ No newline at end of file
Added:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/details/orm/HibernateOrmIdMappingComposite.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/details/orm/HibernateOrmIdMappingComposite.java
(rev 0)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/details/orm/HibernateOrmIdMappingComposite.java 2010-06-23
11:53:25 UTC (rev 22942)
@@ -0,0 +1,50 @@
+/*******************************************************************************
+ * Copyright (c) 2009-2010 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is 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
+ *
+ * Contributor:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.hibernate.jpt.ui.internal.details.orm;
+
+import org.eclipse.jpt.ui.WidgetFactory;
+import org.eclipse.jpt.ui.details.JpaComposite;
+import org.eclipse.jpt.ui.internal.details.AbstractIdMappingComposite;
+import org.eclipse.jpt.ui.internal.details.orm.OrmMappingNameChooser;
+import org.eclipse.jpt.utility.model.value.PropertyValueModel;
+import org.eclipse.swt.widgets.Composite;
+import org.jboss.tools.hibernate.jpt.core.internal.context.HibernateColumn;
+import org.jboss.tools.hibernate.jpt.core.internal.context.orm.HibernateOrmIdMapping;
+import
org.jboss.tools.hibernate.jpt.ui.internal.mapping.details.HibernateColumnComposite;
+
+/**
+ * @author Dmitry Geraskov
+ *
+ */
+public class HibernateOrmIdMappingComposite extends
AbstractIdMappingComposite<HibernateOrmIdMapping>
+implements JpaComposite{
+ /**
+ * Creates a new <code>HibernateIdMappingComposite</code>.
+ *
+ * @param subjectHolder The holder of the subject <code>IdMapping</code>
+ * @param parent The parent container
+ * @param widgetFactory The factory used to create various common widgets
+ */
+ public HibernateOrmIdMappingComposite(PropertyValueModel<? extends
HibernateOrmIdMapping> subjectHolder,
+ Composite parent,
+ WidgetFactory widgetFactory) {
+
+ super(subjectHolder, parent, widgetFactory);
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ protected void initializeIdSection(Composite container) {
+ new HibernateColumnComposite(this, (PropertyValueModel<? extends
HibernateColumn>) buildColumnHolder(), container);
+ new OrmMappingNameChooser(this, getSubjectHolder(), container);
+ }
+
+}
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/java/details/HibernateJavaEntityComposite.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/java/details/HibernateJavaEntityComposite.java 2010-06-23
07:30:21 UTC (rev 22941)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/java/details/HibernateJavaEntityComposite.java 2010-06-23
11:53:25 UTC (rev 22942)
@@ -10,7 +10,6 @@
******************************************************************************/
package org.jboss.tools.hibernate.jpt.ui.internal.java.details;
-import org.eclipse.jpt.core.context.Entity;
import org.eclipse.jpt.core.context.GeneratorContainer;
import org.eclipse.jpt.core.context.QueryContainer;
import org.eclipse.jpt.ui.WidgetFactory;
@@ -23,12 +22,11 @@
import org.eclipse.jpt.utility.model.value.PropertyValueModel;
import org.eclipse.swt.widgets.Composite;
import org.jboss.tools.hibernate.jpt.core.internal.context.HibernateGeneratorContainer;
-import org.jboss.tools.hibernate.jpt.core.internal.context.HibernateIdMapping;
import org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaEntity;
import
org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaQueryContainer;
-import
org.jboss.tools.hibernate.jpt.ui.internal.mapping.details.HibernateGenerationComposite2;
+import org.jboss.tools.hibernate.jpt.ui.internal.details.HibernateTableComposite;
+import
org.jboss.tools.hibernate.jpt.ui.internal.mapping.details.HibernateGenerationComposite;
import
org.jboss.tools.hibernate.jpt.ui.internal.mapping.details.HibernateQueriesComposite;
-import
org.jboss.tools.hibernate.jpt.ui.internal.mapping.details.HibernateTableComposite;
/**
* @author Dmitry Geraskov
@@ -47,11 +45,13 @@
}
+ @SuppressWarnings("unchecked")
@Override
protected void initializeQueriesSection(Composite container,
PropertyValueModel<QueryContainer> queryContainerHolder) {
new HibernateQueriesComposite(this, (PropertyValueModel<? extends
HibernateJavaQueryContainer>) queryContainerHolder, container);
}
+ @SuppressWarnings("unused")
private PropertyValueModel<HibernateGeneratorContainer> buildGeneratorContainer()
{
return new PropertyAspectAdapter<HibernateJavaEntity,
HibernateGeneratorContainer>(getSubjectHolder()) {
@Override
@@ -61,9 +61,10 @@
};
}
+ @SuppressWarnings("unchecked")
@Override
protected void initializeGeneratorsSection(Composite container,
PropertyValueModel<GeneratorContainer> generatorContainerHolder) {
- new HibernateGenerationComposite2(this, (PropertyValueModel<? extends
HibernateGeneratorContainer>) generatorContainerHolder, addSubPane(container, 10),
true);
+ new HibernateGenerationComposite(this, (PropertyValueModel<? extends
HibernateGeneratorContainer>) generatorContainerHolder, addSubPane(container, 10),
true);
}
Added:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/jpa2/details/orm/Hibernate2_0OrmEntityComposite.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/jpa2/details/orm/Hibernate2_0OrmEntityComposite.java
(rev 0)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/jpa2/details/orm/Hibernate2_0OrmEntityComposite.java 2010-06-23
11:53:25 UTC (rev 22942)
@@ -0,0 +1,109 @@
+/*******************************************************************************
+ * Copyright (c) 2009-2010 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is 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
+ *
+ * Contributor:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+
+package org.jboss.tools.hibernate.jpt.ui.internal.jpa2.details.orm;
+
+import org.eclipse.jpt.core.context.AccessHolder;
+import org.eclipse.jpt.core.context.GeneratorContainer;
+import org.eclipse.jpt.core.context.QueryContainer;
+import org.eclipse.jpt.core.context.orm.OrmEntity;
+import org.eclipse.jpt.core.jpa2.context.Cacheable2_0;
+import org.eclipse.jpt.core.jpa2.context.CacheableHolder2_0;
+import org.eclipse.jpt.ui.WidgetFactory;
+import org.eclipse.jpt.ui.internal.details.AbstractEntityComposite;
+import org.eclipse.jpt.ui.internal.details.AccessTypeComposite;
+import org.eclipse.jpt.ui.internal.details.EntityNameComposite;
+import org.eclipse.jpt.ui.internal.details.IdClassComposite;
+import org.eclipse.jpt.ui.internal.details.orm.MetadataCompleteComposite;
+import org.eclipse.jpt.ui.internal.details.orm.OrmInheritanceComposite;
+import org.eclipse.jpt.ui.internal.details.orm.OrmJavaClassChooser;
+import org.eclipse.jpt.ui.internal.details.orm.OrmSecondaryTablesComposite;
+import org.eclipse.jpt.ui.internal.jpa2.details.Cacheable2_0Pane;
+import org.eclipse.jpt.ui.internal.jpa2.details.Entity2_0OverridesComposite;
+import org.eclipse.jpt.ui.internal.jpa2.details.Generation2_0Composite;
+import org.eclipse.jpt.ui.internal.jpa2.details.Queries2_0Composite;
+import org.eclipse.jpt.utility.internal.model.value.PropertyAspectAdapter;
+import org.eclipse.jpt.utility.model.value.PropertyValueModel;
+import org.eclipse.swt.widgets.Composite;
+import org.jboss.tools.hibernate.jpt.core.internal.context.orm.HibernateOrmEntity;
+import org.jboss.tools.hibernate.jpt.ui.internal.details.HibernateTableComposite;
+
+/**
+ * @author Dmitry Geraskov
+ *
+ */
+public class Hibernate2_0OrmEntityComposite extends
AbstractEntityComposite<HibernateOrmEntity> {
+
+ /**
+ * @param subjectHolder
+ * @param parent
+ * @param widgetFactory
+ */
+ public Hibernate2_0OrmEntityComposite(PropertyValueModel<? extends
HibernateOrmEntity> subjectHolder,
+ Composite parent, WidgetFactory widgetFactory) {
+ super(subjectHolder, parent, widgetFactory);
+ }
+
+ @Override
+ protected void initializeEntitySection(Composite container) {
+ new OrmJavaClassChooser(this, getSubjectHolder(), container, false);
+ new HibernateTableComposite(this, container);
+ new EntityNameComposite(this, container);
+ new AccessTypeComposite(this, buildAccessHolder(), container);
+ new IdClassComposite(this, buildIdClassReferenceHolder(), container);
+ new Cacheable2_0Pane(this, buildCacheableHolder(), container);
+ new MetadataCompleteComposite(this, getSubjectHolder(), container);
+ }
+
+ protected PropertyValueModel<Cacheable2_0> buildCacheableHolder() {
+ return new PropertyAspectAdapter<OrmEntity, Cacheable2_0>(getSubjectHolder()) {
+ @Override
+ protected Cacheable2_0 buildValue_() {
+ return ((CacheableHolder2_0) this.subject).getCacheable();
+ }
+ };
+ }
+
+ @Override
+ protected void initializeAttributeOverridesSection(Composite container) {
+ new Entity2_0OverridesComposite(this, container);
+ }
+
+ @Override
+ protected void initializeGeneratorsSection(Composite container,
PropertyValueModel<GeneratorContainer> generatorContainerHolder) {
+ new Generation2_0Composite(this, generatorContainerHolder, container);
+ }
+
+ @Override
+ protected void initializeQueriesSection(Composite container,
PropertyValueModel<QueryContainer> queryContainerHolder) {
+ new Queries2_0Composite(this, queryContainerHolder, container);
+ }
+
+ protected PropertyValueModel<AccessHolder> buildAccessHolder() {
+ return new PropertyAspectAdapter<OrmEntity, AccessHolder>(
+ getSubjectHolder())
+ {
+ @Override
+ protected AccessHolder buildValue_() {
+ return this.subject.getPersistentType();
+ }
+ };
+ }
+ @Override
+ protected void initializeSecondaryTablesSection(Composite container) {
+ new OrmSecondaryTablesComposite(this, container);
+ }
+
+ @Override
+ protected void initializeInheritanceSection(Composite container) {
+ new OrmInheritanceComposite(this, container);
+ }
+}
\ No newline at end of file
Added:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/jpa2/details/orm/Hibernate2_0OrmIdMappingComposite.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/jpa2/details/orm/Hibernate2_0OrmIdMappingComposite.java
(rev 0)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/jpa2/details/orm/Hibernate2_0OrmIdMappingComposite.java 2010-06-23
11:53:25 UTC (rev 22942)
@@ -0,0 +1,72 @@
+/*******************************************************************************
+ * Copyright (c) 2009-2010 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is 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
+ *
+ * Contributor:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.hibernate.jpt.ui.internal.jpa2.details.orm;
+
+import org.eclipse.jpt.core.context.AccessHolder;
+import org.eclipse.jpt.core.context.orm.OrmIdMapping;
+import org.eclipse.jpt.ui.WidgetFactory;
+import org.eclipse.jpt.ui.details.JpaComposite;
+import org.eclipse.jpt.ui.internal.details.AbstractIdMappingComposite;
+import org.eclipse.jpt.ui.internal.details.AccessTypeComposite;
+import org.eclipse.jpt.ui.internal.details.orm.OrmMappingNameChooser;
+import org.eclipse.jpt.ui.internal.jpa2.details.IdMapping2_0MappedByRelationshipPane;
+import org.eclipse.jpt.ui.internal.jpa2.details.IdMappingGeneration2_0Composite;
+import org.eclipse.jpt.utility.internal.model.value.PropertyAspectAdapter;
+import org.eclipse.jpt.utility.model.value.PropertyValueModel;
+import org.eclipse.swt.widgets.Composite;
+import org.jboss.tools.hibernate.jpt.core.internal.context.HibernateColumn;
+import org.jboss.tools.hibernate.jpt.core.internal.context.orm.HibernateOrmIdMapping;
+import
org.jboss.tools.hibernate.jpt.ui.internal.mapping.details.HibernateColumnComposite;
+
+/**
+ * @author Dmitry Geraskov
+ *
+ */
+public class Hibernate2_0OrmIdMappingComposite extends
AbstractIdMappingComposite<HibernateOrmIdMapping>
+implements JpaComposite{
+ /**
+ * Creates a new <code>HibernateIdMappingComposite</code>.
+ *
+ * @param subjectHolder The holder of the subject <code>IdMapping</code>
+ * @param parent The parent container
+ * @param widgetFactory The factory used to create various common widgets
+ */
+ public Hibernate2_0OrmIdMappingComposite(PropertyValueModel<? extends
HibernateOrmIdMapping> subjectHolder,
+ Composite parent,
+ WidgetFactory widgetFactory) {
+
+ super(subjectHolder, parent, widgetFactory);
+ }
+
+ @SuppressWarnings({ "rawtypes", "unchecked" })
+ @Override
+ protected void initializeIdSection(Composite container) {
+ new IdMapping2_0MappedByRelationshipPane(this, getSubjectHolder(), container);
+ new HibernateColumnComposite(this, (PropertyValueModel<? extends
HibernateColumn>) buildColumnHolder(), container);
+ new OrmMappingNameChooser(this, getSubjectHolder(), container);
+ new AccessTypeComposite(this, buildAccessHolderHolder(), container);
+ }
+
+ @Override
+ protected void initializeGenerationCollapsibleSection(Composite container) {
+ new IdMappingGeneration2_0Composite(this, container);
+ }
+
+ protected PropertyValueModel<AccessHolder> buildAccessHolderHolder() {
+ return new PropertyAspectAdapter<OrmIdMapping, AccessHolder>(getSubjectHolder())
{
+ @Override
+ protected AccessHolder buildValue_() {
+ return this.subject.getPersistentAttribute();
+ }
+ };
+ }
+
+}
Added:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/jpa2/mapping/details/orm/Hibernate2_0OrmXmlUiDefinition.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/jpa2/mapping/details/orm/Hibernate2_0OrmXmlUiDefinition.java
(rev 0)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/jpa2/mapping/details/orm/Hibernate2_0OrmXmlUiDefinition.java 2010-06-23
11:53:25 UTC (rev 22942)
@@ -0,0 +1,104 @@
+/*******************************************************************************
+ * Copyright (c) 2010 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is 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
+ *
+ * Contributor:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.hibernate.jpt.ui.internal.jpa2.mapping.details.orm;
+
+import java.util.List;
+
+import org.eclipse.jpt.core.JpaResourceType;
+import org.eclipse.jpt.core.JptCorePlugin;
+import org.eclipse.jpt.core.context.AttributeMapping;
+import org.eclipse.jpt.core.context.TypeMapping;
+import org.eclipse.jpt.ui.ResourceUiDefinition;
+import org.eclipse.jpt.ui.details.orm.OrmAttributeMappingUiDefinition;
+import org.eclipse.jpt.ui.details.orm.OrmTypeMappingUiDefinition;
+import org.eclipse.jpt.ui.details.orm.OrmXmlUiFactory;
+import org.eclipse.jpt.ui.internal.details.orm.AbstractOrmXmlResourceUiDefinition;
+import org.eclipse.jpt.ui.internal.details.orm.OrmBasicMappingUiDefinition;
+import org.eclipse.jpt.ui.internal.details.orm.OrmEmbeddableUiDefinition;
+import org.eclipse.jpt.ui.internal.details.orm.OrmEmbeddedIdMappingUiDefinition;
+import org.eclipse.jpt.ui.internal.details.orm.OrmEmbeddedMappingUiDefinition;
+import org.eclipse.jpt.ui.internal.details.orm.OrmEntityUiDefinition;
+import org.eclipse.jpt.ui.internal.details.orm.OrmIdMappingUiDefinition;
+import org.eclipse.jpt.ui.internal.details.orm.OrmManyToManyMappingUiDefinition;
+import org.eclipse.jpt.ui.internal.details.orm.OrmManyToOneMappingUiDefinition;
+import org.eclipse.jpt.ui.internal.details.orm.OrmMappedSuperclassUiDefinition;
+import org.eclipse.jpt.ui.internal.details.orm.OrmOneToManyMappingUiDefinition;
+import org.eclipse.jpt.ui.internal.details.orm.OrmOneToOneMappingUiDefinition;
+import org.eclipse.jpt.ui.internal.details.orm.OrmTransientMappingUiDefinition;
+import org.eclipse.jpt.ui.internal.details.orm.OrmVersionMappingUiDefinition;
+import
org.eclipse.jpt.ui.internal.jpa2.details.orm.OrmElementCollectionMapping2_0UiDefinition;
+import org.eclipse.jpt.ui.internal.structure.OrmResourceModelStructureProvider;
+import org.eclipse.jpt.ui.structure.JpaStructureProvider;
+
+
+/**
+ * @author Dmitry Geraskov
+ *
+ */
+public class Hibernate2_0OrmXmlUiDefinition extends AbstractOrmXmlResourceUiDefinition {
+
+ // singleton
+ private static final ResourceUiDefinition INSTANCE = new
Hibernate2_0OrmXmlUiDefinition();
+
+
+ /**
+ * Return the singleton
+ */
+ public static ResourceUiDefinition instance() {
+ return INSTANCE;
+ }
+
+
+ /**
+ * Enforce singleton usage
+ */
+ private Hibernate2_0OrmXmlUiDefinition() {
+ super();
+ }
+
+
+ @Override
+ protected OrmXmlUiFactory buildOrmXmlUiFactory() {
+ return new Hibernate2_0OrmXmlUiFactory();
+ }
+
+ public boolean providesUi(JpaResourceType resourceType) {
+ return resourceType.equals(JptCorePlugin.ORM_XML_2_0_RESOURCE_TYPE);
+ }
+
+ public JpaStructureProvider getStructureProvider() {
+ return OrmResourceModelStructureProvider.instance();
+ }
+
+ @Override
+ protected void
addOrmAttributeMappingUiDefinitionsTo(List<OrmAttributeMappingUiDefinition<? extends
AttributeMapping>> definitions) {
+ definitions.add(OrmIdMappingUiDefinition.instance());
+ definitions.add(OrmEmbeddedIdMappingUiDefinition.instance());
+ definitions.add(OrmBasicMappingUiDefinition.instance());
+ definitions.add(OrmVersionMappingUiDefinition.instance());
+ definitions.add(OrmManyToOneMappingUiDefinition.instance());
+ definitions.add(OrmOneToManyMappingUiDefinition.instance());
+ definitions.add(OrmOneToOneMappingUiDefinition.instance());
+ definitions.add(OrmManyToManyMappingUiDefinition.instance());
+ definitions.add(OrmEmbeddedMappingUiDefinition.instance());
+ definitions.add(OrmTransientMappingUiDefinition.instance());
+
+ definitions.add(OrmElementCollectionMapping2_0UiDefinition.instance());
+ }
+
+ @Override
+ protected void addOrmTypeMappingUiDefinitionsTo(List<OrmTypeMappingUiDefinition<?
extends TypeMapping>> definitions) {
+ definitions.add(OrmEntityUiDefinition.instance());
+ definitions.add(OrmMappedSuperclassUiDefinition.instance());
+ definitions.add(OrmEmbeddableUiDefinition.instance());
+ }
+
+}
Added:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/jpa2/mapping/details/orm/Hibernate2_0OrmXmlUiFactory.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/jpa2/mapping/details/orm/Hibernate2_0OrmXmlUiFactory.java
(rev 0)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/jpa2/mapping/details/orm/Hibernate2_0OrmXmlUiFactory.java 2010-06-23
11:53:25 UTC (rev 22942)
@@ -0,0 +1,59 @@
+/*******************************************************************************
+ * Copyright (c) 2010 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is 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
+ *
+ * Contributor:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.hibernate.jpt.ui.internal.jpa2.mapping.details.orm;
+
+import org.eclipse.jpt.core.context.orm.OrmBasicMapping;
+import org.eclipse.jpt.core.context.orm.OrmEntity;
+import org.eclipse.jpt.core.context.orm.OrmIdMapping;
+import org.eclipse.jpt.ui.WidgetFactory;
+import org.eclipse.jpt.ui.details.JpaComposite;
+import org.eclipse.jpt.ui.internal.jpa2.GenericOrmXml2_0UiFactory;
+import org.eclipse.jpt.utility.model.value.PropertyValueModel;
+import org.eclipse.swt.widgets.Composite;
+import org.jboss.tools.hibernate.jpt.core.internal.context.orm.HibernateOrmEntity;
+import org.jboss.tools.hibernate.jpt.core.internal.context.orm.HibernateOrmIdMapping;
+import
org.jboss.tools.hibernate.jpt.ui.internal.jpa2.details.orm.Hibernate2_0OrmEntityComposite;
+import
org.jboss.tools.hibernate.jpt.ui.internal.jpa2.details.orm.Hibernate2_0OrmIdMappingComposite;
+import
org.jboss.tools.hibernate.jpt.ui.internal.mapping.details.HibernateBasicMappingComposite;
+
+/**
+ * @author Dmitry Geraskov
+ *
+ */
+public class Hibernate2_0OrmXmlUiFactory extends GenericOrmXml2_0UiFactory {
+
+ @Override
+ public JpaComposite createOrmBasicMappingComposite(
+ PropertyValueModel<OrmBasicMapping> subjectHolder,
+ Composite parent, WidgetFactory widgetFactory) {
+ return new HibernateBasicMappingComposite(subjectHolder, parent,
+ widgetFactory);
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public JpaComposite createOrmIdMappingComposite(
+ PropertyValueModel<OrmIdMapping> subjectHolder,
+ Composite parent,
+ WidgetFactory widgetFactory) {
+ return new Hibernate2_0OrmIdMappingComposite((PropertyValueModel<? extends
HibernateOrmIdMapping>) subjectHolder, parent, widgetFactory);
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public JpaComposite createOrmEntityComposite(
+ PropertyValueModel<OrmEntity> subjectHolder, Composite parent,
+ WidgetFactory widgetFactory) {
+ return new Hibernate2_0OrmEntityComposite((PropertyValueModel<? extends
HibernateOrmEntity>) subjectHolder, parent, widgetFactory);
+ }
+
+
+}
Copied:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/HibernateGenerationComposite.java
(from rev 22779,
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/HibernateGenerationComposite2.java)
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/HibernateGenerationComposite.java
(rev 0)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/HibernateGenerationComposite.java 2010-06-23
11:53:25 UTC (rev 22942)
@@ -0,0 +1,165 @@
+/*******************************************************************************
+ * Copyright (c) 2010 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is 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
+ *
+ * Contributor:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.hibernate.jpt.ui.internal.mapping.details;
+
+import org.eclipse.jpt.core.context.GeneratorContainer;
+import org.eclipse.jpt.ui.internal.details.GenerationComposite;
+import org.eclipse.jpt.ui.internal.details.GeneratorComposite.GeneratorBuilder;
+import org.eclipse.jpt.ui.internal.widgets.Pane;
+import org.eclipse.jpt.utility.internal.model.value.PropertyAspectAdapter;
+import org.eclipse.jpt.utility.internal.model.value.SimplePropertyValueModel;
+import org.eclipse.jpt.utility.model.value.PropertyValueModel;
+import org.eclipse.jpt.utility.model.value.WritablePropertyValueModel;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+import org.jboss.tools.hibernate.jpt.core.internal.context.GenericGenerator;
+import org.jboss.tools.hibernate.jpt.core.internal.context.HibernateGeneratorContainer;
+import
org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaGeneratorContainer;
+import org.jboss.tools.hibernate.jpt.core.internal.context.java.JavaGenericGenerator;
+
+/**
+ * @author Dmitry Geraskov
+ *
+ */
+public class HibernateGenerationComposite extends GenerationComposite {
+
+ private WritablePropertyValueModel<Boolean> genericGeneratorExpansionStateHolder;
+ private WritablePropertyValueModel<GenericGenerator> generatorHolder;
+ private boolean allowMany;
+
+ public HibernateGenerationComposite(Pane<?> parentPane,
+ PropertyValueModel<? extends HibernateGeneratorContainer> subjectHolder,
+ Composite parent, boolean allowMany) {
+ super(parentPane, subjectHolder, parent);
+ this.allowMany = allowMany;
+ }
+
+ @Override
+ protected void initialize() {
+ super.initialize();
+ this.genericGeneratorExpansionStateHolder = new
SimplePropertyValueModel<Boolean>(Boolean.FALSE);
+ this.generatorHolder = buildGeneratorHolder();
+ }
+
+ private WritablePropertyValueModel<GenericGenerator> buildGeneratorHolder() {
+ return new SimplePropertyValueModel<GenericGenerator>();
+ }
+
+ @Override
+ public HibernateJavaGeneratorContainer getSubject() {
+ return (HibernateJavaGeneratorContainer) super.getSubject();
+ }
+
+ @Override
+ protected void doPopulate() {
+ super.doPopulate();
+ this.genericGeneratorExpansionStateHolder .setValue(Boolean.valueOf(getSubject() !=
null
+ && getSubject().genericGeneratorsSize() > 0));
+ }
+
+ @Override
+ protected void initializeLayout(Composite container) {
+ super.initializeLayout(container);
+ this.initializeGenericGeneratorPane(container);
+ }
+
+ private void initializeGenericGeneratorPane(Composite container) {
+
+ // Generic Generator sub-section
+ container = this.addCollapsibleSubSection(
+ this.addSubPane(container, 10),
+ HibernateUIMappingMessages.HibernateGeneratorsComposite_SectionLabel,
+ this.genericGeneratorExpansionStateHolder
+ );
+
+ // Generic Generator check box
+ Button genericGeneratorCheckBox = addCheckBox(
+ this.addSubPane(container, 5),
+ HibernateUIMappingMessages.HibernateGeneratorsComposite_CheckBoxLabel,
+ buildGenericGeneratorBooleanHolder(),
+ null
+ );
+
+ if (allowMany){
+ //FIXME add table with generators
+ }
+ //FIXME for many generators
+ if (getSubject().genericGeneratorsSize() > 0){
+ generatorHolder.setValue(getSubject().genericGenerators().next());
+ }
+
+ // Generic Generator pane
+ this.addGenericGeneratorComposite(
+ container, 0,
+ genericGeneratorCheckBox.getBorderWidth() + 16);
+ }
+
+ protected void addGenericGeneratorComposite(Composite container, int topMargin, int
leftMargin) {
+ new GenericGeneratorComposite(
+ this,
+ this.generatorHolder,
+ this.addSubPane(container, topMargin, leftMargin),
+ this.buildGenericGeneratorBuilder()
+ );
+ }
+
+ protected GeneratorBuilder<GenericGenerator> buildGenericGeneratorBuilder() {
+ return new GeneratorBuilder<GenericGenerator>() {
+ public GenericGenerator addGenerator() {
+ HibernateJavaGeneratorContainer container =
(HibernateJavaGeneratorContainer)getSubject();
+ JavaGenericGenerator generator =
container.addGenericGenerator(container.genericGeneratorsSize());
+ generatorHolder.setValue(generator);
+ return generator;
+ }
+ };
+ }
+
+ /*private ListValueModel<JavaGenericGenerator> buildGenericGeneratorHolder() {
+ return new ListAspectAdapter<HibernateJavaGeneratorContainer,
JavaGenericGenerator>(
+ (PropertyValueModel)getSubjectHolder(),
+ HibernateGeneratorContainer.GENERIC_GENERATORS_LIST)
+ {
+ @Override
+ protected ListIterator<JavaGenericGenerator> listIterator_() {
+ return ((HibernateJavaGeneratorContainer)subject).genericGenerators();
+ }
+
+ @Override
+ protected int size_() {
+ return ((HibernateJavaGeneratorContainer)subject).genericGeneratorsSize();
+ }
+ };
+ }*/
+
+ private WritablePropertyValueModel<Boolean> buildGenericGeneratorBooleanHolder()
{
+ return new PropertyAspectAdapter<GeneratorContainer, Boolean>(getSubjectHolder(),
HibernateGeneratorContainer.GENERIC_GENERATORS_LIST) {
+ @Override
+ protected Boolean buildValue_() {
+ return
Boolean.valueOf(((HibernateJavaGeneratorContainer)subject).genericGeneratorsSize() >
0);
+ }
+
+ @Override
+ protected void setValue_(Boolean value) {
+ HibernateJavaGeneratorContainer container =
(HibernateJavaGeneratorContainer)subject;
+ if (value.booleanValue()) {
+ JavaGenericGenerator gc =
container.addGenericGenerator(container.genericGeneratorsSize());
+ generatorHolder.setValue(gc);
+ } else if (!value.booleanValue()) {
+ for (int i = 0; i < container.genericGeneratorsSize(); i++) {
+ container.removeGenericGenerator(0);
+ }
+ generatorHolder.setValue(null);
+ }
+ }
+ };
+ }
+
+}
Deleted:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/HibernateGenerationComposite2.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/HibernateGenerationComposite2.java 2010-06-23
07:30:21 UTC (rev 22941)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/HibernateGenerationComposite2.java 2010-06-23
11:53:25 UTC (rev 22942)
@@ -1,165 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 Red Hat, Inc.
- * Distributed under license by Red Hat, Inc. All rights reserved.
- * This program is 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
- *
- * Contributor:
- * Red Hat, Inc. - initial API and implementation
- ******************************************************************************/
-package org.jboss.tools.hibernate.jpt.ui.internal.mapping.details;
-
-import org.eclipse.jpt.core.context.GeneratorContainer;
-import org.eclipse.jpt.ui.internal.details.GenerationComposite;
-import org.eclipse.jpt.ui.internal.details.GeneratorComposite.GeneratorBuilder;
-import org.eclipse.jpt.ui.internal.widgets.Pane;
-import org.eclipse.jpt.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.utility.internal.model.value.SimplePropertyValueModel;
-import org.eclipse.jpt.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.utility.model.value.WritablePropertyValueModel;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.jboss.tools.hibernate.jpt.core.internal.context.GenericGenerator;
-import org.jboss.tools.hibernate.jpt.core.internal.context.HibernateGeneratorContainer;
-import
org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaGeneratorContainer;
-import org.jboss.tools.hibernate.jpt.core.internal.context.java.JavaGenericGenerator;
-
-/**
- * @author Dmitry Geraskov
- *
- */
-public class HibernateGenerationComposite2 extends GenerationComposite {
-
- private WritablePropertyValueModel<Boolean> genericGeneratorExpansionStateHolder;
- private WritablePropertyValueModel<GenericGenerator> generatorHolder;
- private boolean allowMany;
-
- public HibernateGenerationComposite2(Pane<?> parentPane,
- PropertyValueModel<? extends HibernateGeneratorContainer> subjectHolder,
- Composite parent, boolean allowMany) {
- super(parentPane, subjectHolder, parent);
- this.allowMany = allowMany;
- }
-
- @Override
- protected void initialize() {
- super.initialize();
- this.genericGeneratorExpansionStateHolder = new
SimplePropertyValueModel<Boolean>(Boolean.FALSE);
- this.generatorHolder = buildGeneratorHolder();
- }
-
- private WritablePropertyValueModel<GenericGenerator> buildGeneratorHolder() {
- return new SimplePropertyValueModel<GenericGenerator>();
- }
-
- @Override
- public HibernateJavaGeneratorContainer getSubject() {
- return (HibernateJavaGeneratorContainer) super.getSubject();
- }
-
- @Override
- protected void doPopulate() {
- super.doPopulate();
- this.genericGeneratorExpansionStateHolder .setValue(Boolean.valueOf(getSubject() !=
null
- && getSubject().genericGeneratorsSize() > 0));
- }
-
- @Override
- protected void initializeLayout(Composite container) {
- super.initializeLayout(container);
- this.initializeGenericGeneratorPane(container);
- }
-
- private void initializeGenericGeneratorPane(Composite container) {
-
- // Generic Generator sub-section
- container = this.addCollapsibleSubSection(
- this.addSubPane(container, 10),
- HibernateUIMappingMessages.HibernateGeneratorsComposite_SectionLabel,
- this.genericGeneratorExpansionStateHolder
- );
-
- // Generic Generator check box
- Button genericGeneratorCheckBox = addCheckBox(
- this.addSubPane(container, 5),
- HibernateUIMappingMessages.HibernateGeneratorsComposite_CheckBoxLabel,
- buildGenericGeneratorBooleanHolder(),
- null
- );
-
- if (allowMany){
- //FIXME add table with generators
- }
- //FIXME for many generators
- if (getSubject().genericGeneratorsSize() > 0){
- generatorHolder.setValue(getSubject().genericGenerators().next());
- }
-
- // Generic Generator pane
- this.addGenericGeneratorComposite(
- container, 0,
- genericGeneratorCheckBox.getBorderWidth() + 16);
- }
-
- protected void addGenericGeneratorComposite(Composite container, int topMargin, int
leftMargin) {
- new GenericGeneratorComposite(
- this,
- this.generatorHolder,
- this.addSubPane(container, topMargin, leftMargin),
- this.buildGenericGeneratorBuilder()
- );
- }
-
- protected GeneratorBuilder<GenericGenerator> buildGenericGeneratorBuilder() {
- return new GeneratorBuilder<GenericGenerator>() {
- public GenericGenerator addGenerator() {
- HibernateJavaGeneratorContainer container =
(HibernateJavaGeneratorContainer)getSubject();
- JavaGenericGenerator generator =
container.addGenericGenerator(container.genericGeneratorsSize());
- generatorHolder.setValue(generator);
- return generator;
- }
- };
- }
-
- /*private ListValueModel<JavaGenericGenerator> buildGenericGeneratorHolder() {
- return new ListAspectAdapter<HibernateJavaGeneratorContainer,
JavaGenericGenerator>(
- (PropertyValueModel)getSubjectHolder(),
- HibernateGeneratorContainer.GENERIC_GENERATORS_LIST)
- {
- @Override
- protected ListIterator<JavaGenericGenerator> listIterator_() {
- return ((HibernateJavaGeneratorContainer)subject).genericGenerators();
- }
-
- @Override
- protected int size_() {
- return ((HibernateJavaGeneratorContainer)subject).genericGeneratorsSize();
- }
- };
- }*/
-
- private WritablePropertyValueModel<Boolean> buildGenericGeneratorBooleanHolder()
{
- return new PropertyAspectAdapter<GeneratorContainer, Boolean>(getSubjectHolder(),
HibernateGeneratorContainer.GENERIC_GENERATORS_LIST) {
- @Override
- protected Boolean buildValue_() {
- return
Boolean.valueOf(((HibernateJavaGeneratorContainer)subject).genericGeneratorsSize() >
0);
- }
-
- @Override
- protected void setValue_(Boolean value) {
- HibernateJavaGeneratorContainer container =
(HibernateJavaGeneratorContainer)subject;
- if (value.booleanValue()) {
- JavaGenericGenerator gc =
container.addGenericGenerator(container.genericGeneratorsSize());
- generatorHolder.setValue(gc);
- } else if (!value.booleanValue()) {
- for (int i = 0; i < container.genericGeneratorsSize(); i++) {
- container.removeGenericGenerator(0);
- }
- generatorHolder.setValue(null);
- }
- }
- };
- }
-
-}
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/HibernateIdMappingComposite.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/HibernateIdMappingComposite.java 2010-06-23
07:30:21 UTC (rev 22941)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/HibernateIdMappingComposite.java 2010-06-23
11:53:25 UTC (rev 22942)
@@ -10,7 +10,6 @@
******************************************************************************/
package org.jboss.tools.hibernate.jpt.ui.internal.mapping.details;
-import org.eclipse.jpt.core.context.Entity;
import org.eclipse.jpt.ui.WidgetFactory;
import org.eclipse.jpt.ui.details.JpaComposite;
import org.eclipse.jpt.ui.internal.details.AbstractIdMappingComposite;
@@ -51,6 +50,7 @@
this.initializeIndexCollapsibleSection(container);
}
+ @SuppressWarnings("unchecked")
@Override
protected void initializeIdSection(Composite container) {
new HibernateColumnComposite(this, (PropertyValueModel<? extends
HibernateColumn>) buildColumnHolder(), container);
@@ -69,7 +69,7 @@
protected void initializeGenerationCollapsibleSection(Composite container) {
if (getSubject() instanceof HibernateJavaIdMapping) {
// Generic Generator required only for Java.
- new HibernateGenerationComposite2(this, buildGeneratorContainer(),
addSubPane(container, 10), false);
+ new HibernateGenerationComposite(this, buildGeneratorContainer(),
addSubPane(container, 10), false);
} else {
super.initializeGenerationCollapsibleSection(container);
}
@@ -87,6 +87,7 @@
}
+ @SuppressWarnings("unchecked")
protected void initializeIndexSection(Composite container) {
new IndexHolderComposite((Pane<? extends IndexHolder>) this, container);
}
Deleted:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/HibernateTableComposite.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/HibernateTableComposite.java 2010-06-23
07:30:21 UTC (rev 22941)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/HibernateTableComposite.java 2010-06-23
11:53:25 UTC (rev 22942)
@@ -1,279 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009-2010 Red Hat, Inc.
- * Distributed under license by Red Hat, Inc. All rights reserved.
- * This program is 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
- *
- * Contributor:
- * Red Hat, Inc. - initial API and implementation
- ******************************************************************************/
-package org.jboss.tools.hibernate.jpt.ui.internal.mapping.details;
-
-import java.util.Collection;
-
-import org.eclipse.jpt.db.Schema;
-import org.eclipse.jpt.db.SchemaContainer;
-import org.eclipse.jpt.ui.internal.JpaHelpContextIds;
-import org.eclipse.jpt.ui.internal.details.JptUiDetailsMessages;
-import org.eclipse.jpt.ui.internal.details.db.CatalogCombo;
-import org.eclipse.jpt.ui.internal.details.db.SchemaCombo;
-import org.eclipse.jpt.ui.internal.util.PaneEnabler;
-import org.eclipse.jpt.ui.internal.widgets.Pane;
-import org.eclipse.jpt.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.utility.model.value.WritablePropertyValueModel;
-import org.eclipse.swt.events.FocusEvent;
-import org.eclipse.swt.events.FocusListener;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Group;
-import org.jboss.tools.hibernate.jpt.core.internal.context.HibernateEntity;
-import org.jboss.tools.hibernate.jpt.core.internal.context.HibernateTable;
-import org.jboss.tools.hibernate.jpt.ui.internal.mappings.db.xpl.TableCombo;
-
-/**
- * @author Dmitry Geraskov
- *
- * Here the layout of this pane:
- * <pre>
- * -----------------------------------------------------------------------------
- * | |
- * | - Table ----------------------------------------------------------------- |
- * | | ------------------------------------------------------------ | |
- * | | Table: | TableCombo | | |
- * | | ------------------------------------------------------------ | |
- * | | ------------------------------------------------------------ | |
- * | | Catalog: | CatalogCombo | | |
- * | | ------------------------------------------------------------ | |
- * | | ------------------------------------------------------------ | |
- * | | Schema: | SchemaCombo | | |
- * | | ------------------------------------------------------------ | |
- * | ------------------------------------------------------------------------- |
- *
-----------------------------------------------------------------------------</pre>
- *
- * @see Table
- * @see EntityComposite - The parent container
- * @see TableCombo
- * @see CatalogCombo
- * @see SchemaCombo
- *
- * @TODO repopulate this panel based on the Entity table changing
- *
- * @version 2.0
- * @since 1.0
- */
-public class HibernateTableComposite extends Pane<HibernateEntity>
-{
- /**
- * Creates a new <code>HibernateTableComposite</code>.
- *
- * @param parentPane The parent container of this one
- * @param subjectHolder The holder of the subject
- * @param parent The parent container
- */
- public HibernateTableComposite(Pane<? extends HibernateEntity> parentPane,
- Composite parent) {
-
- super(parentPane, parent, false);
- }
-
- @Override
- protected void initializeLayout(Composite container) {
-
- // Table group pane
- Group tableGroupPane = addTitledGroup(
- container,
- JptUiDetailsMessages.TableComposite_tableSection
- );
-
- PropertyValueModel<HibernateTable> subjectHolder = buildTableHolder();
-
- // Table widgets
- addLabeledComposite(
- tableGroupPane,
- JptUiDetailsMessages.TableChooser_label,
- addTableCombo(subjectHolder, tableGroupPane),
- JpaHelpContextIds.ENTITY_TABLE
- );
-
- // Catalog widgets
- addLabeledComposite(
- tableGroupPane,
- JptUiDetailsMessages.CatalogChooser_label,
- addCatalogCombo(subjectHolder, tableGroupPane),
- JpaHelpContextIds.ENTITY_CATALOG
- );
-
- // Schema widgets
- addLabeledComposite(
- tableGroupPane,
- JptUiDetailsMessages.SchemaChooser_label,
- addSchemaCombo(subjectHolder, tableGroupPane),
- JpaHelpContextIds.ENTITY_SCHEMA
- );
-
- new PaneEnabler(buildTableEnabledHolder(), this);
- }
-
- protected WritablePropertyValueModel<HibernateTable> buildTableHolder() {
-
- return new PropertyAspectAdapter<HibernateEntity,
HibernateTable>(getSubjectHolder(), HibernateEntity.TABLE_IS_UNDEFINED_PROPERTY) {
- @Override
- protected HibernateTable buildValue_() {
- return this.subject.tableIsUndefined() ? null : this.subject.getTable();
- }
- };
- }
-
- protected WritablePropertyValueModel<Boolean> buildTableEnabledHolder() {
- return new PropertyAspectAdapter<HibernateEntity, Boolean>(getSubjectHolder(),
HibernateEntity.SPECIFIED_TABLE_IS_ALLOWED_PROPERTY) {
- @Override
- protected Boolean buildValue_() {
- return Boolean.valueOf(this.subject.specifiedTableIsAllowed());
- }
- };
- }
-
- private CatalogCombo<HibernateTable>
addCatalogCombo(PropertyValueModel<HibernateTable> tableHolder, Composite container)
{
-
- return new CatalogCombo<HibernateTable>(this, tableHolder, container) {
-
- @Override
- protected void addPropertyNames(Collection<String> propertyNames) {
- super.addPropertyNames(propertyNames);
- propertyNames.add(HibernateTable.DEFAULT_CATALOG_PROPERTY);
- propertyNames.add(HibernateTable.SPECIFIED_CATALOG_PROPERTY);
- }
-
- @Override
- protected String getDefaultValue() {
- return getSubject().getDefaultCatalog();
- }
-
- @Override
- protected void setValue(String value) {
- getSubject().setSpecifiedCatalog(value);
- }
-
- @Override
- protected String getValue() {
- return getSubject().getSpecifiedCatalog();
- }
- };
- }
-
- private SchemaCombo<HibernateTable>
addSchemaCombo(PropertyValueModel<HibernateTable> subjectHolder, Composite
container) {
-
- return new SchemaCombo<HibernateTable>(this, subjectHolder, container) {
-
- @Override
- protected void addPropertyNames(Collection<String> propertyNames) {
- super.addPropertyNames(propertyNames);
- propertyNames.add(HibernateTable.DEFAULT_SCHEMA_PROPERTY);
- propertyNames.add(HibernateTable.SPECIFIED_SCHEMA_PROPERTY);
- }
-
- @Override
- protected String getDefaultValue() {
- return getSubject().getDefaultSchema();
- }
-
- @Override
- protected void setValue(String value) {
- getSubject().setSpecifiedSchema(value);
- }
-
- @Override
- protected String getValue() {
- return getSubject().getSpecifiedSchema();
- }
-
- @Override
- protected SchemaContainer getDbSchemaContainer_() {
- return this.getSubject().getDbSchemaContainer();
- }
- };
- }
-
- private TableCombo<HibernateTable>
addTableCombo(PropertyValueModel<HibernateTable> subjectHolder, Composite container)
{
-
- return new TableCombo<HibernateTable>(this, subjectHolder, container) {
-
- @Override
- protected void initializeLayout(Composite container) {
- super.initializeLayout(container);
- comboBox.addFocusListener(new FocusListener() {
-
- public void focusGained(FocusEvent e) {
- if (comboBox.getSelectionIndex() != 0){
- setPopulating(true);
- comboBox.setText(getSubject().getName());
- setPopulating(false);
- }
- }
-
- public void focusLost(FocusEvent e) {
- if (comboBox.getSelectionIndex() != 0){
- setPopulating(true);
- comboBox.setText(getValue());
- setPopulating(false);
- }
- }
- });
- }
-
- @Override
- protected void addPropertyNames(Collection<String> propertyNames) {
- super.addPropertyNames(propertyNames);
- propertyNames.add(HibernateTable.DEFAULT_NAME_PROPERTY);
- propertyNames.add(HibernateTable.SPECIFIED_NAME_PROPERTY);
- propertyNames.add(HibernateTable.DEFAULT_SCHEMA_PROPERTY);
- propertyNames.add(HibernateTable.SPECIFIED_SCHEMA_PROPERTY);
- propertyNames.add(HibernateTable.DEFAULT_CATALOG_PROPERTY);
- propertyNames.add(HibernateTable.SPECIFIED_CATALOG_PROPERTY);
- }
-
- @Override
- protected void propertyChanged(String propertyName) {
- super.propertyChanged(propertyName);
- if (propertyName == HibernateTable.DEFAULT_SCHEMA_PROPERTY
- || propertyName == HibernateTable.SPECIFIED_SCHEMA_PROPERTY
- || propertyName == HibernateTable.DEFAULT_CATALOG_PROPERTY
- || propertyName == HibernateTable.SPECIFIED_CATALOG_PROPERTY ) {
- repopulate();
- }
- }
-
- @Override
- protected String getDefaultValue() {
- return this.getSubject().getDefaultDBTableName();
- }
-
- @Override
- protected void setValue(String value) {
- this.getSubject().setSpecifiedName(value);
- }
-
- @Override
- public String getValue() {
- String specifiedName = this.getSubject().getSpecifiedName();
- if (specifiedName == null){
- return null;
- }
- String dbTableName = this.getSubject().getDBTableName();
- if (specifiedName.equals(dbTableName)){
- return specifiedName;
- } else {
- return specifiedName + " (" + dbTableName +")"; //$NON-NLS-1$
//$NON-NLS-2$
- }
- }
-
- @Override
- protected Schema getDbSchema_() {
- return this.getSubject().getDbSchema();
- }
-
- };
- }
-
-}
Added:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/java/Hibernate2_0JavaResourceUiDefinition.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/java/Hibernate2_0JavaResourceUiDefinition.java
(rev 0)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/java/Hibernate2_0JavaResourceUiDefinition.java 2010-06-23
11:53:25 UTC (rev 22942)
@@ -0,0 +1,98 @@
+/*******************************************************************************
+ * Copyright (c) 2010 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is 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
+ *
+ * Contributor:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.hibernate.jpt.ui.internal.mapping.details.java;
+
+import java.util.List;
+
+import org.eclipse.jpt.core.context.AttributeMapping;
+import org.eclipse.jpt.core.context.TypeMapping;
+import org.eclipse.jpt.ui.ResourceUiDefinition;
+import org.eclipse.jpt.ui.details.java.DefaultJavaAttributeMappingUiDefinition;
+import org.eclipse.jpt.ui.details.java.JavaAttributeMappingUiDefinition;
+import org.eclipse.jpt.ui.details.java.JavaTypeMappingUiDefinition;
+import org.eclipse.jpt.ui.details.java.JavaUiFactory;
+import org.eclipse.jpt.ui.internal.details.java.AbstractJavaResourceUiDefinition;
+import org.eclipse.jpt.ui.internal.details.java.DefaultBasicMappingUiDefinition;
+import org.eclipse.jpt.ui.internal.details.java.DefaultEmbeddedMappingUiDefinition;
+import org.eclipse.jpt.ui.internal.details.java.JavaBasicMappingUiDefinition;
+import org.eclipse.jpt.ui.internal.details.java.JavaEmbeddableUiDefinition;
+import org.eclipse.jpt.ui.internal.details.java.JavaEmbeddedIdMappingUDefinition;
+import org.eclipse.jpt.ui.internal.details.java.JavaEmbeddedMappingUiDefinition;
+import org.eclipse.jpt.ui.internal.details.java.JavaEntityUiDefinition;
+import org.eclipse.jpt.ui.internal.details.java.JavaIdMappingUiDefinition;
+import org.eclipse.jpt.ui.internal.details.java.JavaManyToManyMappingUiDefinition;
+import org.eclipse.jpt.ui.internal.details.java.JavaManyToOneMappingUiDefinition;
+import org.eclipse.jpt.ui.internal.details.java.JavaMappedSuperclassUiDefinition;
+import org.eclipse.jpt.ui.internal.details.java.JavaOneToManyMappingUiDefinition;
+import org.eclipse.jpt.ui.internal.details.java.JavaOneToOneMappingUiDefinition;
+import org.eclipse.jpt.ui.internal.details.java.JavaTransientMappingUiDefinition;
+import org.eclipse.jpt.ui.internal.details.java.JavaVersionMappingUiDefinition;
+import org.eclipse.jpt.ui.internal.details.java.NullJavaAttributeMappingUiDefinition;
+import
org.eclipse.jpt.ui.internal.jpa2.details.java.JavaElementCollectionMapping2_0UiDefinition;
+
+/**
+ * @author Dmitry Geraskov
+ *
+ */
+public class Hibernate2_0JavaResourceUiDefinition extends
AbstractJavaResourceUiDefinition {
+
+ // singleton
+ private static final ResourceUiDefinition INSTANCE = new
Hibernate2_0JavaResourceUiDefinition();
+
+ /**
+ * Return the singleton.
+ */
+ public static ResourceUiDefinition instance() {
+ return INSTANCE;
+ }
+
+
+ /**
+ * zero-argument constructor
+ */
+ protected Hibernate2_0JavaResourceUiDefinition() {
+ super();
+ }
+
+ @Override
+ protected JavaUiFactory buildJavaUiFactory() {
+ return new Hibernate2_0JavaUiFactory();
+ }
+
+ @Override
+ protected void
addSpecifiedAttributeMappingUiDefinitionsTo(List<JavaAttributeMappingUiDefinition<?
extends AttributeMapping>> definitions) {
+ definitions.add(JavaElementCollectionMapping2_0UiDefinition.instance());
+ definitions.add(JavaIdMappingUiDefinition.instance());
+ definitions.add(JavaEmbeddedIdMappingUDefinition.instance());
+ definitions.add(JavaBasicMappingUiDefinition.instance());
+ definitions.add(JavaVersionMappingUiDefinition.instance());
+ definitions.add(JavaManyToOneMappingUiDefinition.instance());
+ definitions.add(JavaOneToManyMappingUiDefinition.instance());
+ definitions.add(JavaOneToOneMappingUiDefinition.instance());
+ definitions.add(JavaManyToManyMappingUiDefinition.instance());
+ definitions.add(JavaEmbeddedMappingUiDefinition.instance());
+ definitions.add(JavaTransientMappingUiDefinition.instance());
+ }
+
+ @Override
+ protected void
addDefaultAttributeMappingUiDefinitionsTo(List<DefaultJavaAttributeMappingUiDefinition<?>>
definitions) {
+ definitions.add(DefaultBasicMappingUiDefinition.instance());
+ definitions.add(DefaultEmbeddedMappingUiDefinition.instance());
+ definitions.add(NullJavaAttributeMappingUiDefinition.instance());
+ }
+
+ @Override
+ protected void
addSpecifiedTypeMappingUiDefinitionsTo(List<JavaTypeMappingUiDefinition<? extends
TypeMapping>> definitions) {
+ definitions.add(JavaEntityUiDefinition.instance());
+ definitions.add(JavaMappedSuperclassUiDefinition.instance());
+ definitions.add(JavaEmbeddableUiDefinition.instance());
+ }
+}
Added:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/java/Hibernate2_0JavaUiFactory.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/java/Hibernate2_0JavaUiFactory.java
(rev 0)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/java/Hibernate2_0JavaUiFactory.java 2010-06-23
11:53:25 UTC (rev 22942)
@@ -0,0 +1,70 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is 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
+ *
+ * Contributor:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.hibernate.jpt.ui.internal.mapping.details.java;
+
+import org.eclipse.jpt.core.context.java.JavaBasicMapping;
+import org.eclipse.jpt.core.context.java.JavaEntity;
+import org.eclipse.jpt.core.context.java.JavaIdMapping;
+import org.eclipse.jpt.core.context.orm.OrmEntity;
+import org.eclipse.jpt.ui.WidgetFactory;
+import org.eclipse.jpt.ui.details.JpaComposite;
+import org.eclipse.jpt.ui.internal.details.java.BaseJavaUiFactory;
+import org.eclipse.jpt.utility.model.value.PropertyValueModel;
+import org.eclipse.swt.widgets.Composite;
+import org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaEntity;
+import org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaIdMapping;
+import org.jboss.tools.hibernate.jpt.core.internal.context.orm.HibernateOrmEntity;
+import
org.jboss.tools.hibernate.jpt.ui.internal.java.details.HibernateJavaEntityComposite;
+import
org.jboss.tools.hibernate.jpt.ui.internal.jpa2.details.orm.Hibernate2_0OrmEntityComposite;
+import
org.jboss.tools.hibernate.jpt.ui.internal.mapping.details.HibernateBasicMappingComposite;
+import
org.jboss.tools.hibernate.jpt.ui.internal.mapping.details.HibernateIdMappingComposite;
+
+/**
+ * @author Dmitry Geraskov
+ *
+ */
+public class Hibernate2_0JavaUiFactory extends BaseJavaUiFactory {
+
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public JpaComposite createJavaIdMappingComposite(
+ PropertyValueModel<JavaIdMapping> subjectHolder,
+ Composite parent,
+ WidgetFactory widgetFactory) {
+ return new HibernateIdMappingComposite((PropertyValueModel<? extends
HibernateJavaIdMapping>) subjectHolder, parent, widgetFactory);
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public JpaComposite createJavaEntityComposite(PropertyValueModel<JavaEntity>
subjectHolder,
+ Composite parent, WidgetFactory widgetFactory) {
+ return new HibernateJavaEntityComposite((PropertyValueModel<? extends
HibernateJavaEntity>) subjectHolder, parent, widgetFactory);
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public JpaComposite createOrmEntityComposite(
+ PropertyValueModel<OrmEntity> subjectHolder, Composite parent,
+ WidgetFactory widgetFactory) {
+ return new Hibernate2_0OrmEntityComposite((PropertyValueModel<? extends
HibernateOrmEntity>) subjectHolder, parent, widgetFactory);
+ }
+
+ public JpaComposite createJavaBasicMappingComposite(
+ PropertyValueModel<JavaBasicMapping> subjectHolder,
+ Composite parent,
+ WidgetFactory widgetFactory) {
+ return new HibernateBasicMappingComposite(subjectHolder, parent, widgetFactory);
+ }
+
+
+
+}
\ No newline at end of file
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/java/HibernateJavaUiFactory.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/java/HibernateJavaUiFactory.java 2010-06-23
07:30:21 UTC (rev 22941)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/java/HibernateJavaUiFactory.java 2010-06-23
11:53:25 UTC (rev 22942)
@@ -22,10 +22,10 @@
import org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaEntity;
import org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaIdMapping;
import org.jboss.tools.hibernate.jpt.core.internal.context.orm.HibernateOrmEntity;
+import
org.jboss.tools.hibernate.jpt.ui.internal.details.orm.HibernateOrmEntityComposite;
import
org.jboss.tools.hibernate.jpt.ui.internal.java.details.HibernateJavaEntityComposite;
import
org.jboss.tools.hibernate.jpt.ui.internal.mapping.details.HibernateBasicMappingComposite;
import
org.jboss.tools.hibernate.jpt.ui.internal.mapping.details.HibernateIdMappingComposite;
-import
org.jboss.tools.hibernate.jpt.ui.internal.orm.details.HibernateOrmEntityComposite;
/**
* @author Dmitry Geraskov
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/orm/HibernateOrmXmlUiFactory.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/orm/HibernateOrmXmlUiFactory.java 2010-06-23
07:30:21 UTC (rev 22941)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/orm/HibernateOrmXmlUiFactory.java 2010-06-23
11:53:25 UTC (rev 22942)
@@ -11,15 +11,18 @@
package org.jboss.tools.hibernate.jpt.ui.internal.mapping.details.orm;
import org.eclipse.jpt.core.context.orm.OrmBasicMapping;
+import org.eclipse.jpt.core.context.orm.OrmEntity;
import org.eclipse.jpt.core.context.orm.OrmIdMapping;
import org.eclipse.jpt.ui.WidgetFactory;
import org.eclipse.jpt.ui.details.JpaComposite;
import org.eclipse.jpt.ui.internal.details.orm.BaseOrmXmlUiFactory;
import org.eclipse.jpt.utility.model.value.PropertyValueModel;
import org.eclipse.swt.widgets.Composite;
+import org.jboss.tools.hibernate.jpt.core.internal.context.orm.HibernateOrmEntity;
import org.jboss.tools.hibernate.jpt.core.internal.context.orm.HibernateOrmIdMapping;
+import
org.jboss.tools.hibernate.jpt.ui.internal.details.orm.HibernateOrmEntityComposite;
+import
org.jboss.tools.hibernate.jpt.ui.internal.details.orm.HibernateOrmIdMappingComposite;
import
org.jboss.tools.hibernate.jpt.ui.internal.mapping.details.HibernateBasicMappingComposite;
-import
org.jboss.tools.hibernate.jpt.ui.internal.mapping.details.HibernateIdMappingComposite;
/**
* @author Dmitry Geraskov
@@ -41,7 +44,15 @@
PropertyValueModel<OrmIdMapping> subjectHolder,
Composite parent,
WidgetFactory widgetFactory) {
- return new HibernateIdMappingComposite((PropertyValueModel<? extends
HibernateOrmIdMapping>) subjectHolder, parent, widgetFactory);
+ return new HibernateOrmIdMappingComposite((PropertyValueModel<? extends
HibernateOrmIdMapping>) subjectHolder, parent, widgetFactory);
}
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public JpaComposite createOrmEntityComposite(
+ PropertyValueModel<OrmEntity> subjectHolder, Composite parent,
+ WidgetFactory widgetFactory) {
+ return new HibernateOrmEntityComposite((PropertyValueModel<? extends
HibernateOrmEntity>) subjectHolder, parent, widgetFactory);
+ }
}
Added:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/persistence/details/jpa2/HibernatePersistenceXml2_0UiDefinition.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/persistence/details/jpa2/HibernatePersistenceXml2_0UiDefinition.java
(rev 0)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/persistence/details/jpa2/HibernatePersistenceXml2_0UiDefinition.java 2010-06-23
11:53:25 UTC (rev 22942)
@@ -0,0 +1,59 @@
+/*******************************************************************************
+ * Copyright (c) 2010 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is 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
+ *
+ * Contributor:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.hibernate.jpt.ui.internal.persistence.details.jpa2;
+
+import org.eclipse.jpt.core.JpaResourceType;
+import org.eclipse.jpt.core.JptCorePlugin;
+import org.eclipse.jpt.ui.ResourceUiDefinition;
+import
org.eclipse.jpt.ui.internal.persistence.details.AbstractPersistenceXmlResourceUiDefinition;
+import org.eclipse.jpt.ui.internal.persistence.details.PersistenceXmlUiFactory;
+import org.eclipse.jpt.ui.internal.structure.PersistenceResourceModelStructureProvider;
+import org.eclipse.jpt.ui.structure.JpaStructureProvider;
+
+/**
+ * @author Dmitry Geraskov
+ *
+ */
+public class HibernatePersistenceXml2_0UiDefinition extends
+ AbstractPersistenceXmlResourceUiDefinition {
+ // singleton
+ private static final ResourceUiDefinition INSTANCE = new
HibernatePersistenceXml2_0UiDefinition();
+
+
+ /**
+ * Return the singleton
+ */
+ public static ResourceUiDefinition instance() {
+ return INSTANCE;
+ }
+
+
+ /**
+ * Enforce singleton usage
+ */
+ private HibernatePersistenceXml2_0UiDefinition() {
+ super();
+ }
+
+
+ @Override
+ protected PersistenceXmlUiFactory buildPersistenceXmlUiFactory() {
+ return new HibernatePersistenceXml2_0UiFactory();
+ }
+
+ public boolean providesUi(JpaResourceType resourceType) {
+ return resourceType.equals(JptCorePlugin.PERSISTENCE_XML_2_0_RESOURCE_TYPE);
+ }
+
+ public JpaStructureProvider getStructureProvider() {
+ return PersistenceResourceModelStructureProvider.instance();
+ }
+}
Added:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/persistence/details/jpa2/HibernatePersistenceXml2_0UiFactory.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/persistence/details/jpa2/HibernatePersistenceXml2_0UiFactory.java
(rev 0)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/persistence/details/jpa2/HibernatePersistenceXml2_0UiFactory.java 2010-06-23
11:53:25 UTC (rev 22942)
@@ -0,0 +1,109 @@
+/*******************************************************************************
+ * Copyright (c) 2010 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is 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
+ *
+ * Contributor:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.hibernate.jpt.ui.internal.persistence.details.jpa2;
+
+import java.util.ArrayList;
+import java.util.ListIterator;
+
+import org.eclipse.jpt.core.context.persistence.PersistenceUnit;
+import org.eclipse.jpt.core.jpa2.context.persistence.PersistenceUnit2_0;
+import org.eclipse.jpt.core.jpa2.context.persistence.connection.JpaConnection2_0;
+import org.eclipse.jpt.core.jpa2.context.persistence.options.JpaOptions2_0;
+import org.eclipse.jpt.ui.WidgetFactory;
+import org.eclipse.jpt.ui.details.JpaPageComposite;
+import
org.eclipse.jpt.ui.internal.jpa2.persistence.connection.GenericPersistenceUnit2_0ConnectionTab;
+import
org.eclipse.jpt.ui.internal.jpa2.persistence.options.GenericPersistenceUnit2_0OptionsTab;
+import
org.eclipse.jpt.ui.internal.persistence.details.GenericPersistenceUnitGeneralComposite;
+import
org.eclipse.jpt.ui.internal.persistence.details.PersistenceUnitPropertiesComposite;
+import org.eclipse.jpt.ui.internal.persistence.details.PersistenceXmlUiFactory;
+import org.eclipse.jpt.utility.internal.model.value.TransformationPropertyValueModel;
+import org.eclipse.jpt.utility.model.value.PropertyValueModel;
+import org.eclipse.swt.widgets.Composite;
+import org.jboss.tools.hibernate.jpt.core.internal.context.HibernatePersistenceUnit;
+import
org.jboss.tools.hibernate.jpt.core.internal.context.basic.BasicHibernateProperties;
+import
org.jboss.tools.hibernate.jpt.ui.internal.persistence.details.HibernatePropertiesComposite;
+
+/**
+ * @author Dmitry Geraskov
+ *
+ */
+public class HibernatePersistenceXml2_0UiFactory implements
+ PersistenceXmlUiFactory {
+
+ // **************** persistence unit composites ****************************
+ public ListIterator<JpaPageComposite> createPersistenceUnitComposites(
+ PropertyValueModel<PersistenceUnit> subjectHolder,
+ Composite parent, WidgetFactory widgetFactory) {
+
+ ArrayList<JpaPageComposite> pages = new ArrayList<JpaPageComposite>(4);
+
+ PropertyValueModel<JpaConnection2_0> connection2_0Holder = this
+ .buildJpaConnection2_0Holder(subjectHolder);
+ PropertyValueModel<JpaOptions2_0> options2_0Holder = this
+ .buildJpaOptions2_0Holder(subjectHolder);
+
+ pages.add(new GenericPersistenceUnitGeneralComposite(subjectHolder,
+ parent, widgetFactory));
+ pages.add(new GenericPersistenceUnit2_0ConnectionTab(
+ connection2_0Holder, parent, widgetFactory));
+ pages.add(new GenericPersistenceUnit2_0OptionsTab(options2_0Holder,
+ parent, widgetFactory));
+ pages.add(new PersistenceUnitPropertiesComposite(subjectHolder, parent,
+ widgetFactory));
+
+ // ************Hibernate pages***************
+ PropertyValueModel<BasicHibernateProperties> basicHolder = this
+ .buildBasicHolder(subjectHolder);
+ pages.add(new HibernatePropertiesComposite(basicHolder, parent,
+ widgetFactory));
+
+ return pages.listIterator();
+ }
+
+ // ********** private methods **********
+
+ private PropertyValueModel<JpaConnection2_0> buildJpaConnection2_0Holder(
+ PropertyValueModel<PersistenceUnit> subjectHolder) {
+ return new TransformationPropertyValueModel<PersistenceUnit, JpaConnection2_0>(
+ subjectHolder) {
+ @Override
+ protected JpaConnection2_0 transform_(PersistenceUnit value) {
+ return (JpaConnection2_0) ((PersistenceUnit2_0) value)
+ .getConnection();
+ }
+ };
+ }
+
+ private PropertyValueModel<JpaOptions2_0> buildJpaOptions2_0Holder(
+ PropertyValueModel<PersistenceUnit> subjectHolder) {
+ return new TransformationPropertyValueModel<PersistenceUnit, JpaOptions2_0>(
+ subjectHolder) {
+ @Override
+ protected JpaOptions2_0 transform_(PersistenceUnit value) {
+ return (JpaOptions2_0) ((PersistenceUnit2_0) value)
+ .getOptions();
+ }
+ };
+ }
+
+ private PropertyValueModel<BasicHibernateProperties> buildBasicHolder(
+ PropertyValueModel<PersistenceUnit> subjectHolder) {
+ return new TransformationPropertyValueModel<PersistenceUnit,
BasicHibernateProperties>(
+ subjectHolder) {
+ @Override
+ protected BasicHibernateProperties transform_(PersistenceUnit value) {
+ return ((HibernatePersistenceUnit) value)
+ .getHibernatePersistenceUnitProperties();
+ }
+ };
+ }
+
+}
Added:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/platform/HibernateJpa2_0PlatformUiFactory.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/platform/HibernateJpa2_0PlatformUiFactory.java
(rev 0)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/platform/HibernateJpa2_0PlatformUiFactory.java 2010-06-23
11:53:25 UTC (rev 22942)
@@ -0,0 +1,35 @@
+/*******************************************************************************
+ * Copyright (c) 2010 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is 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
+ *
+ * Contributor:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.hibernate.jpt.ui.internal.platform;
+
+import org.eclipse.jpt.ui.JpaPlatformUi;
+import org.eclipse.jpt.ui.JpaPlatformUiFactory;
+import org.eclipse.jpt.ui.internal.platform.generic.GenericNavigatorProvider;
+import org.jboss.tools.hibernate.jpt.ui.internal.HibernateJpa2_0PlatformUiProvider;
+
+/**
+ * @author Dmitry Geraskov
+ *
+ */
+public class HibernateJpa2_0PlatformUiFactory implements JpaPlatformUiFactory {
+
+ public HibernateJpa2_0PlatformUiFactory() {
+ super();
+ }
+
+ public JpaPlatformUi buildJpaPlatformUi() {
+ return new HibernateJpaPlatformUi(
+ new GenericNavigatorProvider(),
+ HibernateJpa2_0PlatformUiProvider.instance()
+ );
+ }
+
+}
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/wizard/GenerateInitWizardPage.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/wizard/GenerateInitWizardPage.java 2010-06-23
07:30:21 UTC (rev 22941)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/wizard/GenerateInitWizardPage.java 2010-06-23
11:53:25 UTC (rev 22942)
@@ -282,7 +282,7 @@
private String createConsoleConfiguration(){
ILaunchManager launchManager = DebugPlugin.getDefault().getLaunchManager();
String dialect = determineDialect();
- String ccName =
launchManager.generateUniqueLaunchConfigurationNameFrom(HibernateConsoleMessages.AddConfigurationAction_hibernate);
+ String ccName =
launchManager.generateLaunchConfigurationName(HibernateConsoleMessages.AddConfigurationAction_hibernate);
ConsoleConfigurationPreferences prefs = new
EclipseConsoleConfigurationPreferences(ccName,
ConfigurationMode.JPA, jpaProject.getName(), true,
null, null, null,
Added:
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/.classpath
===================================================================
---
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/.classpath
(rev 0)
+++
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/.classpath 2010-06-23
11:53:25 UTC (rev 22942)
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="con"
path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5">
+ <attributes>
+ <attribute name="owner.project.facets" value="java"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="con"
path="org.eclipse.jst.j2ee.internal.module.container"/>
+ <classpathentry kind="lib" path="lib/ejb3-persistence.jar"/>
+ <classpathentry kind="lib"
path="lib/hibernate-annotations.jar"/>
+ <classpathentry kind="lib"
path="lib/postgresql-8.4-701.jdbc3.jar"/>
+ <classpathentry kind="lib" path="lib/hibernate3.jar"/>
+ <classpathentry kind="output" path="build/classes"/>
+</classpath>
Added:
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/.project
===================================================================
---
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/.project
(rev 0)
+++
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/.project 2010-06-23
11:53:25 UTC (rev 22942)
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>testHibernateJpaOrmProject</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.wst.common.project.facet.core.builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.wst.validation.validationbuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.hibernate.eclipse.console.hibernateBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
+ <nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
+ <nature>org.eclipse.wst.common.project.facet.core.nature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.hibernate.eclipse.console.hibernateNature</nature>
+ </natures>
+</projectDescription>
Added:
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/.settings/org.eclipse.jdt.core.prefs
===================================================================
---
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/.settings/org.eclipse.jdt.core.prefs
(rev 0)
+++
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/.settings/org.eclipse.jdt.core.prefs 2010-06-23
11:53:25 UTC (rev 22942)
@@ -0,0 +1,8 @@
+#Mon May 10 13:11:51 EEST 2010
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.5
Added:
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/.settings/org.eclipse.jpt.core.prefs
===================================================================
---
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/.settings/org.eclipse.jpt.core.prefs
(rev 0)
+++
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/.settings/org.eclipse.jpt.core.prefs 2010-06-23
11:53:25 UTC (rev 22942)
@@ -0,0 +1,3 @@
+#Mon May 10 13:11:52 EEST 2010
+eclipse.preferences.version=1
+org.eclipse.jpt.core.platform=hibernate
Added:
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/.settings/org.eclipse.wst.common.component
===================================================================
---
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/.settings/org.eclipse.wst.common.component
(rev 0)
+++
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/.settings/org.eclipse.wst.common.component 2010-06-23
11:53:25 UTC (rev 22942)
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project-modules id="moduleCoreId" project-version="1.5.0">
+ <wb-module deploy-name="testHibernateJpaProject">
+ <wb-resource deploy-path="/" source-path="/src"/>
+ </wb-module>
+</project-modules>
Added:
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/.settings/org.eclipse.wst.common.project.facet.core.prefs.xml
===================================================================
---
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/.settings/org.eclipse.wst.common.project.facet.core.prefs.xml
(rev 0)
+++
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/.settings/org.eclipse.wst.common.project.facet.core.prefs.xml 2010-06-23
11:53:25 UTC (rev 22942)
@@ -0,0 +1,7 @@
+<root>
+ <facet id="jpt.jpa">
+ <node name="libprov">
+ <attribute name="provider-id"
value="jpa-no-op-library-provider"/>
+ </node>
+ </facet>
+</root>
Added:
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/.settings/org.eclipse.wst.common.project.facet.core.xml
===================================================================
---
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/.settings/org.eclipse.wst.common.project.facet.core.xml
(rev 0)
+++
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/.settings/org.eclipse.wst.common.project.facet.core.xml 2010-06-23
11:53:25 UTC (rev 22942)
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<faceted-project>
+ <fixed facet="java"/>
+ <fixed facet="jst.utility"/>
+ <fixed facet="jpt.jpa"/>
+ <installed facet="java" version="1.5"/>
+ <installed facet="jst.utility" version="1.0"/>
+ <installed facet="jpt.jpa" version="1.0"/>
+</faceted-project>
Added:
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/.settings/org.hibernate.eclipse.console.prefs
===================================================================
---
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/.settings/org.hibernate.eclipse.console.prefs
(rev 0)
+++
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/.settings/org.hibernate.eclipse.console.prefs 2010-06-23
11:53:25 UTC (rev 22942)
@@ -0,0 +1,4 @@
+#Tue Jun 22 10:32:56 EEST 2010
+default.configuration=testHibernateJpaOrmProject
+eclipse.preferences.version=1
+hibernate3.enabled=true
Added:
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/lib/ejb3-persistence.jar
===================================================================
(Binary files differ)
Property changes on:
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/lib/ejb3-persistence.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added:
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/lib/hibernate-annotations.jar
===================================================================
(Binary files differ)
Property changes on:
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/lib/hibernate-annotations.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added:
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/lib/hibernate3.jar
===================================================================
(Binary files differ)
Property changes on:
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/lib/hibernate3.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added:
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/lib/postgresql-8.4-701.jdbc3.jar
===================================================================
(Binary files differ)
Property changes on:
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/lib/postgresql-8.4-701.jdbc3.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added:
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/src/META-INF/MANIFEST.MF
===================================================================
---
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/src/META-INF/MANIFEST.MF
(rev 0)
+++
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/src/META-INF/MANIFEST.MF 2010-06-23
11:53:25 UTC (rev 22942)
@@ -0,0 +1,3 @@
+Manifest-Version: 1.0
+Class-Path:
+
Added:
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/src/META-INF/orm.xml
===================================================================
---
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/src/META-INF/orm.xml
(rev 0)
+++
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/src/META-INF/orm.xml 2010-06-23
11:53:25 UTC (rev 22942)
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<entity-mappings version="1.0"
xmlns="http://java.sun.com/xml/ns/persistence/orm"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence/orm
http://java.sun.com/xml/ns/persistence/orm_1_0.xsd">
+ <entity class="entity.JustData" access="FIELD">
+ <attributes>
+ <id name="id3">
+ </id>
+ <one-to-many name="mtm1">
+ </one-to-many>
+ </attributes>
+ </entity>
+ <entity class="entity.ManyToMany1" access="FIELD">
+ <attributes>
+ <id name="id1"/>
+ <many-to-one name="justData1"/>
+ <many-to-many name="mtm2" mapped-by="mtm1"/>
+ </attributes>
+ </entity>
+ <entity class="entity.ManyToMany2" name="e.m22"
access="FIELD">
+ <table name="ManyToMany22">
+ </table>
+ <attributes>
+ <id name="id2">
+ <column name="id"/></id>
+ <basic name="simpleData2">
+ <column name="simpleData"/></basic>
+ <many-to-many name="mtm1" />
+ </attributes>
+ </entity>
+</entity-mappings>
Added:
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/src/META-INF/persistence.xml
===================================================================
---
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/src/META-INF/persistence.xml
(rev 0)
+++
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/src/META-INF/persistence.xml 2010-06-23
11:53:25 UTC (rev 22942)
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<persistence version="1.0"
xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
+ <persistence-unit name="testHibernateJpaOrmProject">
+ </persistence-unit>
+</persistence>
Added:
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/src/entity/JustData.java
===================================================================
---
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/src/entity/JustData.java
(rev 0)
+++
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/src/entity/JustData.java 2010-06-23
11:53:25 UTC (rev 22942)
@@ -0,0 +1,15 @@
+package entity;
+
+import java.util.Set;
+
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.OneToMany;
+
+public class JustData {
+
+ private int id3;
+
+ Set<ManyToMany1> mtm1;
+
+}
Added:
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/src/entity/ManyToMany1.java
===================================================================
---
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/src/entity/ManyToMany1.java
(rev 0)
+++
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/src/entity/ManyToMany1.java 2010-06-23
11:53:25 UTC (rev 22942)
@@ -0,0 +1,21 @@
+package entity;
+
+import java.io.Serializable;
+import java.util.Set;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.ManyToMany;
+import javax.persistence.Table;
+import javax.persistence.ManyToOne;
+import javax.persistence.JoinColumn;
+
+public class ManyToMany1 implements Serializable {
+
+ private int id1;
+
+ private JustData justData1;
+
+ private Set<ManyToMany2> mtm2;
+}
\ No newline at end of file
Added:
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/src/entity/ManyToMany2.java
===================================================================
---
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/src/entity/ManyToMany2.java
(rev 0)
+++
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/src/entity/ManyToMany2.java 2010-06-23
11:53:25 UTC (rev 22942)
@@ -0,0 +1,24 @@
+package entity;
+
+import java.io.Serializable;
+import java.util.Set;
+
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.ManyToMany;
+import javax.persistence.Column;
+import javax.persistence.Table;
+import org.hibernate.annotations.GenericGenerator;
+import org.hibernate.annotations.NamedQuery;
+import javax.persistence.JoinTable;
+import javax.persistence.JoinColumn;
+import static javax.persistence.FetchType.EAGER;
+
+public class ManyToMany2 implements Serializable {
+
+ private int id2;
+
+ private String simpleData2;
+
+ private Set<ManyToMany1> mtm1;
+}
\ No newline at end of file
Added:
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/src/ns/NamingStrategy.java
===================================================================
---
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/src/ns/NamingStrategy.java
(rev 0)
+++
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/src/ns/NamingStrategy.java 2010-06-23
11:53:25 UTC (rev 22942)
@@ -0,0 +1,76 @@
+package ns;
+
+
+public class NamingStrategy implements org.hibernate.cfg.NamingStrategy{
+
+ private static final long serialVersionUID = 1L;
+
+ private static final String CT_PREFIX = "ctn_";
+
+ private static final String TN_PREFIX = "tn_";
+
+ private static final String PC_PREFIX = "pc_";
+
+ private static final String CN_PREFIX = "cn_";
+
+ private static final String FK_PREFIX = "fk_";
+
+ private static final String COL_PREFIX = "col_";
+
+ private static final String JKCN_PREFIX = "jkcn_";
+
+ public String classToTableName(String className) {
+ return CT_PREFIX + unqualify(className);
+ }
+
+ public String propertyToColumnName(String propertyName) {
+ return PC_PREFIX + unqualify(propertyName);
+ }
+
+ public String tableName(String tableName) {
+ return TN_PREFIX + tableName;
+ }
+
+ public String collectionTableName(String ownerEntity,
+ String ownerEntityTable, String associatedEntity,
+ String associatedEntityTable, String propertyName) {
+ return COL_PREFIX + unqualify(ownerEntity) + "_"+ associatedEntity+
"_" +
+ associatedEntityTable + "_" + unqualify( associatedEntity ) +
+ "_" +propertyName;
+ }
+
+ public String columnName(String columnName) {
+ return CN_PREFIX + columnName;
+ }
+
+ public String joinKeyColumnName(String joinedColumn, String joinedTable) {
+ return JKCN_PREFIX + joinedColumn + '_' + joinedTable;
+ }
+
+ public String foreignKeyColumnName(String propertyName,
+ String propertyEntityName, String propertyTableName,
+ String referencedColumnName) {
+ return FK_PREFIX + propertyName + "_"+ unqualify(propertyEntityName)
+ + "_" + propertyTableName + "_" + referencedColumnName;
+ }
+
+ private String unqualify(String s) {
+ if (s != null) return s;//.replaceAll("\\.", "");
+ return "null";
+ }
+
+ public String logicalCollectionColumnName(String arg0, String arg1,
+ String arg2) {
+ return (arg0 + "_" + arg1 + "_" + arg2);
+ }
+
+ public String logicalCollectionTableName(String arg0, String arg1,
+ String arg2, String arg3) {
+ return (arg0 + "_" + arg1 + "_" + arg2 + "_" +
arg3).toUpperCase();
+ }
+
+ public String logicalColumnName(String arg0, String arg1) {
+ return (arg0 + "_" + arg1).toUpperCase();
+ }
+
+}
Added:
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/src/schema.sql
===================================================================
---
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/src/schema.sql
(rev 0)
+++
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/src/schema.sql 2010-06-23
11:53:25 UTC (rev 22942)
@@ -0,0 +1,55 @@
+
+ create table
col_entity.JustData_entity.ManyToMany1_ManyToMany1_entity.ManyToMany1_mtm1 (
+ fk_null_entity.JustData_JustData_NULL_ID3 int4 not null,
+ fk_mtm1_entity.ManyToMany1_ManyToMany1_NULL_ID1 int4 not null,
+ primary key (fk_null_entity.JustData_JustData_NULL_ID3,
fk_mtm1_entity.ManyToMany1_ManyToMany1_NULL_ID1),
+ unique (fk_mtm1_entity.ManyToMany1_ManyToMany1_NULL_ID1)
+ );
+
+ create table
col_entity.ManyToMany2_entity.ManyToMany1_ManyToMany1_entity.ManyToMany1_mtm1 (
+ fk_mtm2_entity.ManyToMany2_ManyToMany22_ID_ID2 int4 not null,
+ fk_mtm1_entity.ManyToMany1_ManyToMany1_NULL_ID1 int4 not null,
+ primary key (fk_mtm2_entity.ManyToMany2_ManyToMany22_ID_ID2,
fk_mtm1_entity.ManyToMany1_ManyToMany1_NULL_ID1)
+ );
+
+ create table ctn_JustData (
+ pc_id3 int4 not null,
+ primary key (pc_id3)
+ );
+
+ create table ctn_ManyToMany1 (
+ pc_id1 int4 not null,
+ fk_justData1_entity.JustData_JustData_NULL_ID3 int4,
+ primary key (pc_id1)
+ );
+
+ create table tn_ManyToMany22 (
+ cn_id int4 not null,
+ cn_simpleData varchar(255),
+ primary key (cn_id)
+ );
+
+ alter table
col_entity.JustData_entity.ManyToMany1_ManyToMany1_entity.ManyToMany1_mtm1
+ add constraint FK9F2D79611090434E
+ foreign key (fk_null_entity.JustData_JustData_NULL_ID3)
+ references ctn_JustData;
+
+ alter table
col_entity.JustData_entity.ManyToMany1_ManyToMany1_entity.ManyToMany1_mtm1
+ add constraint FK9F2D79616057A2A
+ foreign key (fk_mtm1_entity.ManyToMany1_ManyToMany1_NULL_ID1)
+ references ctn_ManyToMany1;
+
+ alter table
col_entity.ManyToMany2_entity.ManyToMany1_ManyToMany1_entity.ManyToMany1_mtm1
+ add constraint FK46F84CB66057A2A
+ foreign key (fk_mtm1_entity.ManyToMany1_ManyToMany1_NULL_ID1)
+ references ctn_ManyToMany1;
+
+ alter table
col_entity.ManyToMany2_entity.ManyToMany1_ManyToMany1_entity.ManyToMany1_mtm1
+ add constraint FK46F84CB65013FC2F
+ foreign key (fk_mtm2_entity.ManyToMany2_ManyToMany22_ID_ID2)
+ references tn_ManyToMany22;
+
+ alter table ctn_ManyToMany1
+ add constraint FKB4665956A5274FEE
+ foreign key (fk_justData1_entity.JustData_JustData_NULL_ID3)
+ references ctn_JustData;
Added:
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/testHibernateJpaOrmProject.launch
===================================================================
---
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/testHibernateJpaOrmProject.launch
(rev 0)
+++
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/res/testHibernateJpaOrmProject/testHibernateJpaOrmProject.launch 2010-06-23
11:53:25 UTC (rev 22942)
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<launchConfiguration
type="org.hibernate.eclipse.launch.ConsoleConfigurationLaunchConfigurationType">
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="testHibernateJpaOrmProject"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="4"/>
+</listAttribute>
+<booleanAttribute key="org.eclipse.jdt.launching.DEFAULT_CLASSPATH"
value="true"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR"
value="testHibernateJpaOrmProject"/>
+<stringAttribute key="org.hibernate.eclipse.launch.CONFIGURATION_FACTORY"
value="JPA"/>
+<listAttribute key="org.hibernate.eclipse.launch.FILE_MAPPINGS"/>
+<stringAttribute key="org.hibernate.eclipse.launchDIALECT"
value="org.hibernate.dialect.PostgreSQLDialect"/>
+<stringAttribute key="org.hibernate.eclipse.launchNAMING_STRATEGY"
value="ns.NamingStrategy"/>
+</launchConfiguration>
Deleted:
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/src/org/jboss/tools/hibernate/jpt/core/test/HibernateJpaAllTests.java
===================================================================
---
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/src/org/jboss/tools/hibernate/jpt/core/test/HibernateJpaAllTests.java 2010-06-23
07:30:21 UTC (rev 22941)
+++
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/src/org/jboss/tools/hibernate/jpt/core/test/HibernateJpaAllTests.java 2010-06-23
11:53:25 UTC (rev 22942)
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 Red Hat, Inc.
- * Distributed under license by Red Hat, Inc. All rights reserved.
- * This program is 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
- *
- * Contributor:
- * Red Hat, Inc. - initial API and implementation
- ******************************************************************************/
-package org.jboss.tools.hibernate.jpt.core.test;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * @author Dmitry Geraskov
- *
- */
-public class HibernateJpaAllTests {
-
- public static Test suite() {
- TestSuite suite = new TestSuite(
- "Test for org.jboss.tools.hibernate.jpt.core.test"); //$NON-NLS-1$
- suite.addTestSuite(HibernateJpaModelTests.class);
- suite.addTestSuite(HibernateJpaModelTests.class);
- return suite;
- }
-
-}
Modified:
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/src/org/jboss/tools/hibernate/jpt/core/test/HibernateJpaModelTests.java
===================================================================
---
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/src/org/jboss/tools/hibernate/jpt/core/test/HibernateJpaModelTests.java 2010-06-23
07:30:21 UTC (rev 22941)
+++
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/src/org/jboss/tools/hibernate/jpt/core/test/HibernateJpaModelTests.java 2010-06-23
11:53:25 UTC (rev 22942)
@@ -13,7 +13,7 @@
import java.util.ArrayList;
import java.util.List;
-import junit.framework.TestCase;
+import static junit.framework.Assert.*;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IResource;
@@ -40,26 +40,31 @@
import
org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaManyToManyMapping;
import org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaTable;
import org.jboss.tools.test.util.ResourcesUtils;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Test;
/**
* @author Dmitry Geraskov
*
*/
-public class HibernateJpaModelTests extends TestCase {
+public class HibernateJpaModelTests {
private static final String PROJECT_NAME = "testHibernateJpaProject";
private static final String PROJECT_PATH = "res/" + PROJECT_NAME;
- IProject project = null;
- JpaProject jpaProject = null;
+ static IProject project = null;
+ static JpaProject jpaProject = null;
- public void setUp() throws Exception {
+ @BeforeClass
+ public static void setUpBeforeClass() throws Exception {
project =
ResourcesUtils.importProject(Platform.getBundle("org.jboss.tools.hibernate.jpt.core.test"),
PROJECT_PATH, new NullProgressMonitor());
project.refreshLocal(IResource.DEPTH_INFINITE, null);
jpaProject = (JpaProject) project.getAdapter(JpaProject.class);
}
+ @Test
public void testDefaultMapping(){
assertNotNull(jpaProject);
JpaRootContextNode rootContextNode = jpaProject.getRootContextNode();
@@ -78,9 +83,10 @@
}
}
+ @Test
public void testNamigStrategyMapping(){
ConsoleConfiguration cc = KnownConfigurations.getInstance().find(PROJECT_NAME);
- assertNotNull("Console configuration not foun for project " + PROJECT_NAME,
cc);
+ assertNotNull("Console configuration not found for project " + PROJECT_NAME,
cc);
cc.build();
assertNotNull("Console configuration build problem", cc.getConfiguration());
assertNotNull("Naming Strategy not found",
cc.getConfiguration().getNamingStrategy());
@@ -230,7 +236,8 @@
assertEquals("col_entity.ManyToMany2_entity.ManyToMany1_ManyToMany1_entity.ManyToMany1_mtm1",
hjjt.getDBTableName());
}
- protected void tearDown() throws Exception {
+ @AfterClass
+ public static void tearDownAfterClass() throws Exception {
if(project != null) {
boolean saveAutoBuild = ResourcesUtils.setBuildAutomatically(false);
try {
Added:
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/src/org/jboss/tools/hibernate/jpt/core/test/HibernateJpaOrmModelTests.java
===================================================================
---
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/src/org/jboss/tools/hibernate/jpt/core/test/HibernateJpaOrmModelTests.java
(rev 0)
+++
trunk/hibernatetools/tests/org.jboss.tools.hibernate.jpt.core.test/src/org/jboss/tools/hibernate/jpt/core/test/HibernateJpaOrmModelTests.java 2010-06-23
11:53:25 UTC (rev 22942)
@@ -0,0 +1,249 @@
+/*******************************************************************************
+ * Copyright (c) 2010 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is 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
+ *
+ * Contributor:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.hibernate.jpt.core.test;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import static junit.framework.Assert.*;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.jpt.core.JpaProject;
+import org.eclipse.jpt.core.context.JpaRootContextNode;
+import org.eclipse.jpt.core.context.orm.OrmJoinTable;
+import org.eclipse.jpt.core.context.orm.OrmJoinTableJoiningStrategy;
+import org.eclipse.jpt.core.context.orm.OrmPersistentAttribute;
+import org.eclipse.jpt.core.context.orm.OrmPersistentType;
+import org.eclipse.jpt.core.context.orm.OrmTypeMapping;
+import org.eclipse.jpt.core.context.persistence.MappingFileRef;
+import org.eclipse.jpt.core.context.persistence.Persistence;
+import org.eclipse.jpt.core.internal.jpa1.context.orm.GenericOrmXml;
+import org.eclipse.jpt.core.resource.orm.XmlManyToOne;
+import org.eclipse.jpt.utility.internal.CollectionTools;
+import org.hibernate.console.ConsoleConfiguration;
+import org.hibernate.console.KnownConfigurations;
+import org.jboss.tools.hibernate.jpt.core.internal.context.HibernatePersistenceUnit;
+import org.jboss.tools.hibernate.jpt.core.internal.context.orm.HibernateOrmBasicMapping;
+import org.jboss.tools.hibernate.jpt.core.internal.context.orm.HibernateOrmColumn;
+import org.jboss.tools.hibernate.jpt.core.internal.context.orm.HibernateOrmEntityImpl;
+import org.jboss.tools.hibernate.jpt.core.internal.context.orm.HibernateOrmIdMapping;
+import org.jboss.tools.hibernate.jpt.core.internal.context.orm.HibernateOrmJoinTable;
+import
org.jboss.tools.hibernate.jpt.core.internal.context.orm.HibernateOrmManyToManyMapping;
+import
org.jboss.tools.hibernate.jpt.core.internal.context.orm.HibernateOrmManyToOneMapping;
+import org.jboss.tools.hibernate.jpt.core.internal.context.orm.HibernateOrmTable;
+import org.jboss.tools.test.util.ResourcesUtils;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+/**
+ * @author Dmitry Geraskov
+ *
+ */
+public class HibernateJpaOrmModelTests {
+
+ private static final String PROJECT_NAME = "testHibernateJpaOrmProject";
+ private static final String PROJECT_PATH = "res/" + PROJECT_NAME;
+
+ static IProject project = null;
+ static JpaProject jpaProject = null;
+
+ @BeforeClass
+ public static void setUpBeforeClass() throws Exception {
+ project =
ResourcesUtils.importProject(Platform.getBundle("org.jboss.tools.hibernate.jpt.core.test"),
+ PROJECT_PATH, new NullProgressMonitor());
+ project.refreshLocal(IResource.DEPTH_INFINITE, null);
+ jpaProject = (JpaProject) project.getAdapter(JpaProject.class);
+ }
+
+ @Test
+ public void testDefaultMapping(){
+ assertNotNull(jpaProject);
+ JpaRootContextNode rootContextNode = jpaProject.getRootContextNode();
+ Persistence p = rootContextNode.getPersistenceXml().getPersistence();
+ assertTrue(p.persistenceUnits().hasNext());
+ assertTrue(p.persistenceUnits().next() instanceof HibernatePersistenceUnit);
+ HibernatePersistenceUnit hpu = (HibernatePersistenceUnit) p.persistenceUnits().next();
+ List<MappingFileRef> mfrs = CollectionTools.list(hpu.mappingFileRefs());
+ assertTrue(mfrs.size() == 1);
+ assertTrue(mfrs.get(0).getMappingFile() instanceof GenericOrmXml);
+ GenericOrmXml orm = (GenericOrmXml)mfrs.get(0).getMappingFile();
+ List<OrmPersistentType> pTypes =
CollectionTools.list(orm.getEntityMappings().getPersistentTypes());
+ assertTrue( pTypes.size() == 3 );
+ checkManyToMany1(orm.getEntityMappings().getPersistentType("entity.ManyToMany1"));
+ checkManyToMany2(orm.getEntityMappings().getPersistentType("entity.ManyToMany2"));
+ }
+
+ @Test
+ public void testNamigStrategyMapping(){
+ ConsoleConfiguration cc = KnownConfigurations.getInstance().find(PROJECT_NAME);
+ assertNotNull("Console configuration not found for project " + PROJECT_NAME,
cc);
+ cc.build();
+ assertNotNull("Console configuration build problem", cc.getConfiguration());
+ assertNotNull("Naming Strategy not found",
cc.getConfiguration().getNamingStrategy());
+ assertEquals("ns.NamingStrategy",
cc.getConfiguration().getNamingStrategy().getClass().getName());
+
+ jpaProject = (JpaProject) project.getAdapter(JpaProject.class);
+ assertNotNull(jpaProject);
+ JpaRootContextNode rootContextNode = jpaProject.getRootContextNode();
+ Persistence p = rootContextNode.getPersistenceXml().getPersistence();
+ assertTrue(p.persistenceUnits().hasNext());
+ assertTrue(p.persistenceUnits().next() instanceof HibernatePersistenceUnit);
+ HibernatePersistenceUnit hpu = (HibernatePersistenceUnit) p.persistenceUnits().next();
+ List<MappingFileRef> mfrs = CollectionTools.list(hpu.mappingFileRefs());
+ assertTrue(mfrs.size() == 1);
+ assertTrue(mfrs.get(0).getMappingFile() instanceof GenericOrmXml);
+ GenericOrmXml orm = (GenericOrmXml)mfrs.get(0).getMappingFile();
+ checkManyToMany1NS(orm.getEntityMappings().getPersistentType("entity.ManyToMany1"));
+ checkManyToMany2NS(orm.getEntityMappings().getPersistentType("entity.ManyToMany2"));
+ cc.reset();
+ }
+
+ public void checkManyToMany1(OrmPersistentType ormPersistentType){
+ OrmTypeMapping mapping = ormPersistentType.getMapping();
+ assertTrue(mapping instanceof HibernateOrmEntityImpl);
+ HibernateOrmEntityImpl entity = (HibernateOrmEntityImpl) mapping;
+ HibernateOrmTable table = entity.getTable();
+ assertEquals("ManyToMany1", table.getDBTableName());
+
+ ArrayList<OrmPersistentAttribute> attrs =
CollectionTools.list(ormPersistentType.attributes());
+ assertTrue(attrs.size() == 3);
+
+ //id
+ assertTrue(attrs.get(0).getMapping() instanceof HibernateOrmIdMapping);
+ HibernateOrmIdMapping hjidm = (HibernateOrmIdMapping)attrs.get(0).getMapping();
+ HibernateOrmColumn hjc = (HibernateOrmColumn)hjidm.getColumn();
+ assertEquals("id1", hjc.getDBColumnName());
+
+ //justData
+ assertTrue(attrs.get(1).getMapping() instanceof HibernateOrmManyToOneMapping);
+ @SuppressWarnings("unchecked")
+ HibernateOrmManyToOneMapping<XmlManyToOne> hjbm =
(HibernateOrmManyToOneMapping<XmlManyToOne>)attrs.get(1).getMapping();
+ assertEquals("justData1", hjbm.getName());
+ assertEquals("entity.JustData", hjbm.getDefaultTargetEntity());
+
+ //mtm
+ assertTrue(attrs.get(2).getMapping() instanceof HibernateOrmManyToManyMapping);
+ HibernateOrmManyToManyMapping hjmtmm =
(HibernateOrmManyToManyMapping)attrs.get(2).getMapping();
+ assertEquals("entity.ManyToMany2", hjmtmm.getTargetEntity());
+ }
+
+ public void checkManyToMany2(OrmPersistentType ormPersistentType){
+ OrmTypeMapping mapping = ormPersistentType.getMapping();
+ assertTrue(mapping instanceof HibernateOrmEntityImpl);
+ HibernateOrmEntityImpl entity = (HibernateOrmEntityImpl) mapping;
+ HibernateOrmTable table = entity.getTable();
+ assertEquals("ManyToMany22", table.getDBTableName());
+
+ ArrayList<OrmPersistentAttribute> attrs =
CollectionTools.list(ormPersistentType.attributes());
+ assertTrue(attrs.size() == 3);
+
+ //id
+ assertTrue(attrs.get(0).getMapping() instanceof HibernateOrmIdMapping);
+ HibernateOrmIdMapping hjidm = (HibernateOrmIdMapping)attrs.get(0).getMapping();
+ HibernateOrmColumn hjc = (HibernateOrmColumn)hjidm.getColumn();
+ assertEquals("id", hjc.getDBColumnName());
+
+ //justData
+ assertTrue(attrs.get(1).getMapping() instanceof HibernateOrmBasicMapping);
+ HibernateOrmBasicMapping hjbm = (HibernateOrmBasicMapping)attrs.get(1).getMapping();
+ hjc = (HibernateOrmColumn)hjbm.getColumn();
+ assertEquals("simpleData", hjc.getDBColumnName());
+
+ //mtm
+ assertTrue(attrs.get(2).getMapping() instanceof HibernateOrmManyToManyMapping);
+ HibernateOrmManyToManyMapping hjmtmm =
(HibernateOrmManyToManyMapping)attrs.get(2).getMapping();
+ assertEquals("entity.ManyToMany1", hjmtmm.getTargetEntity());
+ OrmJoinTableJoiningStrategy jtJoiningStrategy =
hjmtmm.getRelationshipReference().getJoinTableJoiningStrategy();
+ OrmJoinTable joinTable = jtJoiningStrategy.getJoinTable();
+ assertTrue(joinTable instanceof HibernateOrmJoinTable);
+ HibernateOrmJoinTable hjjt = (HibernateOrmJoinTable)joinTable;
+ assertEquals("ManyToMany22_ManyToMany1", hjjt.getDBTableName());
+ }
+
+ public void checkManyToMany1NS(OrmPersistentType ormPersistentType){
+ OrmTypeMapping mapping = ormPersistentType.getMapping();
+ assertTrue(mapping instanceof HibernateOrmEntityImpl);
+ HibernateOrmEntityImpl entity = (HibernateOrmEntityImpl) mapping;
+ HibernateOrmTable table = entity.getTable();
+ assertEquals("ctn_ManyToMany1", table.getDBTableName());
+
+ ArrayList<OrmPersistentAttribute> attrs =
CollectionTools.list(ormPersistentType.attributes());
+ assertTrue(attrs.size() == 3);
+
+ //id
+ assertTrue(attrs.get(0).getMapping() instanceof HibernateOrmIdMapping);
+ HibernateOrmIdMapping hjidm = (HibernateOrmIdMapping)attrs.get(0).getMapping();
+ HibernateOrmColumn hjc = (HibernateOrmColumn)hjidm.getColumn();
+ assertEquals("pc_id1", hjc.getDBColumnName());
+
+ //justData
+ assertTrue(attrs.get(1).getMapping() instanceof HibernateOrmManyToOneMapping);
+ @SuppressWarnings("unchecked")
+ HibernateOrmManyToOneMapping<XmlManyToOne> hjbm =
(HibernateOrmManyToOneMapping<XmlManyToOne>)attrs.get(1).getMapping();
+ assertEquals("justData1", hjbm.getName());
+ assertEquals("entity.JustData", hjbm.getDefaultTargetEntity());
+
+ //mtm
+ assertTrue(attrs.get(2).getMapping() instanceof HibernateOrmManyToManyMapping);
+ HibernateOrmManyToManyMapping hjmtmm =
(HibernateOrmManyToManyMapping)attrs.get(2).getMapping();
+ assertEquals("entity.ManyToMany2", hjmtmm.getTargetEntity());
+ }
+
+ public void checkManyToMany2NS(OrmPersistentType ormPersistentType){
+ OrmTypeMapping mapping = ormPersistentType.getMapping();
+ assertTrue(mapping instanceof HibernateOrmEntityImpl);
+ HibernateOrmEntityImpl entity = (HibernateOrmEntityImpl) mapping;
+ HibernateOrmTable table = entity.getTable();
+ assertEquals("tn_ManyToMany22", table.getDBTableName());
+
+ ArrayList<OrmPersistentAttribute> attrs =
CollectionTools.list(ormPersistentType.attributes());
+ assertTrue(attrs.size() == 3);
+
+ //id
+ assertTrue(attrs.get(0).getMapping() instanceof HibernateOrmIdMapping);
+ HibernateOrmIdMapping hjidm = (HibernateOrmIdMapping)attrs.get(0).getMapping();
+ HibernateOrmColumn hjc = (HibernateOrmColumn)hjidm.getColumn();
+ assertEquals("cn_id", hjc.getDBColumnName());
+
+ //justData
+ assertTrue(attrs.get(1).getMapping() instanceof HibernateOrmBasicMapping);
+ HibernateOrmBasicMapping hjbm = (HibernateOrmBasicMapping)attrs.get(1).getMapping();
+ hjc = (HibernateOrmColumn)hjbm.getColumn();
+ assertEquals("cn_simpleData", hjc.getDBColumnName());
+
+ //mtm
+ assertTrue(attrs.get(2).getMapping() instanceof HibernateOrmManyToManyMapping);
+ HibernateOrmManyToManyMapping hjmtmm =
(HibernateOrmManyToManyMapping)attrs.get(2).getMapping();
+ assertEquals("entity.ManyToMany1", hjmtmm.getTargetEntity());
+ OrmJoinTableJoiningStrategy jtJoiningStrategy =
hjmtmm.getRelationshipReference().getJoinTableJoiningStrategy();
+ OrmJoinTable joinTable = jtJoiningStrategy.getJoinTable();
+ assertTrue(joinTable instanceof HibernateOrmJoinTable);
+ HibernateOrmJoinTable hjjt = (HibernateOrmJoinTable)joinTable;
+ assertEquals("col_entity.ManyToMany2_entity.ManyToMany1_ManyToMany1_entity.ManyToMany1_mtm1",
hjjt.getDBTableName());
+ }
+
+ @AfterClass
+ public static void tearDownAfterClass() throws Exception {
+ if(project != null) {
+ boolean saveAutoBuild = ResourcesUtils.setBuildAutomatically(false);
+ try {
+ project.delete(true,true, null);
+ } finally {
+ ResourcesUtils.setBuildAutomatically(saveAutoBuild);
+ }
+ }
+ }
+
+}