[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