[jbosstools-commits] JBoss Tools SVN: r31295 - trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/jpa2/context/definition.
jbosstools-commits at lists.jboss.org
jbosstools-commits at lists.jboss.org
Fri May 13 08:23:24 EDT 2011
Author: dgeraskov
Date: 2011-05-13 08:23:24 -0400 (Fri, 13 May 2011)
New Revision: 31295
Added:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/jpa2/context/definition/HibernateJavaIdMappingDefinition2_0.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/jpa2/context/definition/HibernateJavaManyToOneMappingDefinition2_0.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/jpa2/context/definition/HibernateJavaOneToOneMappingDefinition2_0.java
Log:
https://issues.jboss.org/browse/JBIDE-8947
Mode hibernate tools to Eclipse3.7M7
Added: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/jpa2/context/definition/HibernateJavaIdMappingDefinition2_0.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/jpa2/context/definition/HibernateJavaIdMappingDefinition2_0.java (rev 0)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/jpa2/context/definition/HibernateJavaIdMappingDefinition2_0.java 2011-05-13 12:23:24 UTC (rev 31295)
@@ -0,0 +1,68 @@
+package org.jboss.tools.hibernate.jpt.core.internal.jpa2.context.definition;
+
+import org.eclipse.jpt.jpa.core.context.java.JavaAttributeMappingDefinition;
+import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
+import org.eclipse.jpt.jpa.core.internal.context.java.JavaAttributeMappingDefinitionWrapper;
+import org.jboss.tools.hibernate.jpt.core.internal.context.definition.HibernateJavaIdMappingDefinition;
+
+public class HibernateJavaIdMappingDefinition2_0 extends JavaAttributeMappingDefinitionWrapper {
+
+ private static final HibernateJavaIdMappingDefinition DELEGATE = HibernateJavaIdMappingDefinition.instance();
+
+ // singleton
+ private static final HibernateJavaIdMappingDefinition2_0 INSTANCE = new HibernateJavaIdMappingDefinition2_0();
+
+ /**
+ * Return the singleton.
+ */
+ public static HibernateJavaIdMappingDefinition2_0 instance() {
+ return INSTANCE;
+ }
+
+ /**
+ * Enforce singleton usage
+ */
+ private HibernateJavaIdMappingDefinition2_0() {
+ super();
+ }
+
+
+ @Override
+ protected JavaAttributeMappingDefinition getDelegate() {
+ return DELEGATE;
+ }
+
+ /**
+ * The annotation is "specified" only if it is not "derived" (i.e.
+ * accompanied by a M-1 or 1-1 annotation).
+ */
+ @Override
+ public boolean isSpecified(JavaPersistentAttribute persistentAttribute) {
+ boolean idSpecified = super.isSpecified(persistentAttribute);
+ return idSpecified && ! this.isDerivedId(persistentAttribute);
+ }
+
+ /**
+ * Return whether the specified attribute's <code>Id</code> annotation is
+ * a supporting annotation for M-1 or 1-1 mapping, as opposed to a primary
+ * mapping annotation.
+ * <p>
+ * This might produce confusing behavior if the annotations look something
+ * like:<pre>
+ * @Id @Basic @ManyToOne private int foo;
+ * </pre>
+ */
+ private boolean isDerivedId(JavaPersistentAttribute persistentAttribute) {
+ return this.attributeHasManyToOneMapping(persistentAttribute) ||
+ this.attributeHasOneToOneMapping(persistentAttribute);
+ }
+
+ private boolean attributeHasManyToOneMapping(JavaPersistentAttribute persistentAttribute) {
+ return HibernateJavaManyToOneMappingDefinition2_0.instance().isSpecified(persistentAttribute);
+ }
+
+ private boolean attributeHasOneToOneMapping(JavaPersistentAttribute persistentAttribute) {
+ return HibernateJavaOneToOneMappingDefinition2_0.instance().isSpecified(persistentAttribute);
+ }
+
+}
Added: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/jpa2/context/definition/HibernateJavaManyToOneMappingDefinition2_0.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/jpa2/context/definition/HibernateJavaManyToOneMappingDefinition2_0.java (rev 0)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/jpa2/context/definition/HibernateJavaManyToOneMappingDefinition2_0.java 2011-05-13 12:23:24 UTC (rev 31295)
@@ -0,0 +1,55 @@
+package org.jboss.tools.hibernate.jpt.core.internal.jpa2.context.definition;
+
+import org.eclipse.jpt.common.utility.internal.iterables.ArrayIterable;
+import org.eclipse.jpt.common.utility.internal.iterables.CompositeIterable;
+import org.eclipse.jpt.jpa.core.context.java.JavaAttributeMappingDefinition;
+import org.eclipse.jpt.jpa.core.internal.context.java.JavaAttributeMappingDefinitionWrapper;
+import org.eclipse.jpt.jpa.core.jpa2.resource.java.MapsId2_0Annotation;
+import org.eclipse.jpt.jpa.core.resource.java.IdAnnotation;
+import org.jboss.tools.hibernate.jpt.core.internal.context.definition.HibernateJavaManyToOneMappingDefinition;
+
+public class HibernateJavaManyToOneMappingDefinition2_0 extends JavaAttributeMappingDefinitionWrapper
+{
+ private static final JavaAttributeMappingDefinition DELEGATE = HibernateJavaManyToOneMappingDefinition.instance();
+
+ // singleton
+ private static final JavaAttributeMappingDefinition INSTANCE = new HibernateJavaManyToOneMappingDefinition2_0();
+
+ /**
+ * Return the singleton.
+ */
+ public static JavaAttributeMappingDefinition instance() {
+ return INSTANCE;
+ }
+
+
+ /**
+ * Enforce singleton usage
+ */
+ private HibernateJavaManyToOneMappingDefinition2_0() {
+ super();
+ }
+
+ @Override
+ protected JavaAttributeMappingDefinition getDelegate() {
+ return DELEGATE;
+ }
+
+ @Override
+ public Iterable<String> getSupportingAnnotationNames() {
+ return COMBINED_SUPPORTING_ANNOTATION_NAMES;
+ }
+
+ public static final String[] SUPPORTING_ANNOTATION_NAMES_ARRAY_2_0 = new String[] {
+ IdAnnotation.ANNOTATION_NAME,
+ MapsId2_0Annotation.ANNOTATION_NAME
+ };
+ private static final Iterable<String> SUPPORTING_ANNOTATION_NAMES_2_0 = new ArrayIterable<String>(SUPPORTING_ANNOTATION_NAMES_ARRAY_2_0);
+
+ @SuppressWarnings("unchecked")
+ private static final Iterable<String> COMBINED_SUPPORTING_ANNOTATION_NAMES = new CompositeIterable<String>(
+ DELEGATE.getSupportingAnnotationNames(),
+ SUPPORTING_ANNOTATION_NAMES_2_0
+ );
+
+}
Added: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/jpa2/context/definition/HibernateJavaOneToOneMappingDefinition2_0.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/jpa2/context/definition/HibernateJavaOneToOneMappingDefinition2_0.java (rev 0)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/jpa2/context/definition/HibernateJavaOneToOneMappingDefinition2_0.java 2011-05-13 12:23:24 UTC (rev 31295)
@@ -0,0 +1,55 @@
+package org.jboss.tools.hibernate.jpt.core.internal.jpa2.context.definition;
+
+import org.eclipse.jpt.common.utility.internal.iterables.ArrayIterable;
+import org.eclipse.jpt.common.utility.internal.iterables.CompositeIterable;
+import org.eclipse.jpt.jpa.core.context.java.JavaAttributeMappingDefinition;
+import org.eclipse.jpt.jpa.core.internal.context.java.JavaAttributeMappingDefinitionWrapper;
+import org.eclipse.jpt.jpa.core.jpa2.resource.java.MapsId2_0Annotation;
+import org.eclipse.jpt.jpa.core.resource.java.IdAnnotation;
+import org.jboss.tools.hibernate.jpt.core.internal.context.definition.HibernateJavaOneToOneMappingDefinition;
+
+public class HibernateJavaOneToOneMappingDefinition2_0 extends JavaAttributeMappingDefinitionWrapper
+{
+ private static final JavaAttributeMappingDefinition DELEGATE = HibernateJavaOneToOneMappingDefinition.instance();
+
+ // singleton
+ private static final JavaAttributeMappingDefinition INSTANCE = new HibernateJavaOneToOneMappingDefinition2_0();
+
+ /**
+ * Return the singleton.
+ */
+ public static JavaAttributeMappingDefinition instance() {
+ return INSTANCE;
+ }
+
+
+ /**
+ * Enforce singleton usage
+ */
+ private HibernateJavaOneToOneMappingDefinition2_0() {
+ super();
+ }
+
+ @Override
+ protected JavaAttributeMappingDefinition getDelegate() {
+ return DELEGATE;
+ }
+
+ @Override
+ public Iterable<String> getSupportingAnnotationNames() {
+ return COMBINED_SUPPORTING_ANNOTATION_NAMES;
+ }
+
+ public static final String[] SUPPORTING_ANNOTATION_NAMES_ARRAY_2_0 = new String[] {
+ IdAnnotation.ANNOTATION_NAME,
+ MapsId2_0Annotation.ANNOTATION_NAME
+ };
+ private static final Iterable<String> SUPPORTING_ANNOTATION_NAMES_2_0 = new ArrayIterable<String>(SUPPORTING_ANNOTATION_NAMES_ARRAY_2_0);
+
+ @SuppressWarnings("unchecked")
+ private static final Iterable<String> COMBINED_SUPPORTING_ANNOTATION_NAMES = new CompositeIterable<String>(
+ DELEGATE.getSupportingAnnotationNames(),
+ SUPPORTING_ANNOTATION_NAMES_2_0
+ );
+}
+
More information about the jbosstools-commits
mailing list