Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkmoore2007-05-09 22:43:59 +0000
committerkmoore2007-05-09 22:43:59 +0000
commit448d7a3164ba375a3263e7fc84ec4fe428456b4d (patch)
tree0c04e05061ecef7063532f67bfc34fecba6ad144 /jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/content/java
parente82d09db3e726261c86fd608f0f96cde920ec065 (diff)
downloadwebtools.dali-448d7a3164ba375a3263e7fc84ec4fe428456b4d.tar.gz
webtools.dali-448d7a3164ba375a3263e7fc84ec4fe428456b4d.tar.xz
webtools.dali-448d7a3164ba375a3263e7fc84ec4fe428456b4d.zip
186271 - MapKey model support for 1-m and m-m mappings , no default or validation
Diffstat (limited to 'jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/content/java')
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/content/java/JpaJavaPackage.java2
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/content/java/mappings/AbstractJavaTable.java4
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/content/java/mappings/JavaAttributeMapping.java2
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/content/java/mappings/JavaAttributeOverride.java2
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/content/java/mappings/JavaEntity.java8
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/content/java/mappings/JavaMultiRelationshipMapping.java109
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/content/java/mappings/JavaSecondaryTable.java5
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/content/java/mappings/JavaSingleRelationshipMapping.java2
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/content/java/mappings/JavaTypeMapping.java2
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/content/java/mappings/JavaUniqueConstraint.java17
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/content/java/mappings/JpaJavaMappingsPackage.java31
11 files changed, 159 insertions, 25 deletions
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/content/java/JpaJavaPackage.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/content/java/JpaJavaPackage.java
index d8ed72742c..33ea8c9570 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/content/java/JpaJavaPackage.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/content/java/JpaJavaPackage.java
@@ -662,6 +662,8 @@ public class JpaJavaPackage extends EPackageImpl
// Create resource
createResource(eNS_URI);
}
+
+
/**
* <!-- begin-user-doc -->
* Defines literals for the meta objects that represent
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/content/java/mappings/AbstractJavaTable.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/content/java/mappings/AbstractJavaTable.java
index 75d5b5a258..5b770407d8 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/content/java/mappings/AbstractJavaTable.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/content/java/mappings/AbstractJavaTable.java
@@ -21,7 +21,6 @@ import org.eclipse.emf.ecore.impl.ENotificationImpl;
import org.eclipse.emf.ecore.util.EObjectContainmentEList;
import org.eclipse.emf.ecore.util.InternalEList;
import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jdt.core.dom.Expression;
import org.eclipse.jpt.core.internal.ITextRange;
import org.eclipse.jpt.core.internal.content.java.JavaEObject;
import org.eclipse.jpt.core.internal.jdtutility.AnnotationElementAdapter;
@@ -875,7 +874,7 @@ public abstract class AbstractJavaTable extends JavaEObject implements ITable
this.setSpecifiedCatalog((String) this.catalogAdapter.getValue(astRoot));
this.updateUniqueConstraintsFromJava(astRoot);
}
-
+
/**
* here we just worry about getting the unique constraints lists the same size;
* then we delegate to the unique constraints to synch themselves up
@@ -918,7 +917,6 @@ public abstract class AbstractJavaTable extends JavaEObject implements ITable
}
}
-
public ITextRange getTextRange() {
ITextRange textRange = this.member.annotationTextRange(this.daa);
return (textRange != null) ? textRange : this.getOwner().getTextRange();
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/content/java/mappings/JavaAttributeMapping.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/content/java/mappings/JavaAttributeMapping.java
index 5459e9d7d8..4537661960 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/content/java/mappings/JavaAttributeMapping.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/content/java/mappings/JavaAttributeMapping.java
@@ -141,6 +141,8 @@ public abstract class JavaAttributeMapping extends JavaEObject
public boolean isIdMapping() {
return false;
}
+
+
/**
* mapping implementation of column owner
*/
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/content/java/mappings/JavaAttributeOverride.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/content/java/mappings/JavaAttributeOverride.java
index 230f631966..9f74256e82 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/content/java/mappings/JavaAttributeOverride.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/content/java/mappings/JavaAttributeOverride.java
@@ -224,6 +224,8 @@ public class JavaAttributeOverride extends JavaOverride
private static IndexedDeclarationAnnotationAdapter buildAnnotationAdapter(int index) {
return new CombinationIndexedDeclarationAnnotationAdapter(SINGLE_DECLARATION_ANNOTATION_ADAPTER, MULTIPLE_DECLARATION_ANNOTATION_ADAPTER, index, JPA.ATTRIBUTE_OVERRIDE);
}
+
+
// ********** member class **********
public class ColumnOwner implements INamedColumn.Owner
{
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/content/java/mappings/JavaEntity.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/content/java/mappings/JavaEntity.java
index c78b801a66..1896c2b8ee 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/content/java/mappings/JavaEntity.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/content/java/mappings/JavaEntity.java
@@ -1260,11 +1260,11 @@ public class JavaEntity extends JavaTypeMapping implements IEntity
public boolean containsSecondaryTable(String name) {
return containsSecondaryTable(name, getSecondaryTables());
}
-
+
public boolean containsSpecifiedSecondaryTable(String name) {
return containsSecondaryTable(name, getSpecifiedSecondaryTables());
}
-
+
private boolean containsSecondaryTable(String name, List<ISecondaryTable> secondaryTables) {
for (ISecondaryTable secondaryTable : secondaryTables) {
String secondaryTableName = secondaryTable.getName();
@@ -2255,12 +2255,12 @@ public class JavaEntity extends JavaTypeMapping implements IEntity
}
return null;
}
-
+
@Override
public Schema dbSchema() {
return getTable().dbSchema();
}
-
+
@Override
public void updateFromJava(CompilationUnit astRoot) {
this.setSpecifiedName((String) this.getType().annotationElementValue(NAME_ADAPTER, astRoot));
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/content/java/mappings/JavaMultiRelationshipMapping.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/content/java/mappings/JavaMultiRelationshipMapping.java
index aa4ea47f5b..6ceaad0052 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/content/java/mappings/JavaMultiRelationshipMapping.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/content/java/mappings/JavaMultiRelationshipMapping.java
@@ -19,9 +19,15 @@ import org.eclipse.jdt.core.Signature;
import org.eclipse.jdt.core.dom.CompilationUnit;
import org.eclipse.jpt.core.internal.ITextRange;
import org.eclipse.jpt.core.internal.ITypeMapping;
+import org.eclipse.jpt.core.internal.jdtutility.AnnotationAdapter;
import org.eclipse.jpt.core.internal.jdtutility.AnnotationElementAdapter;
import org.eclipse.jpt.core.internal.jdtutility.Attribute;
+import org.eclipse.jpt.core.internal.jdtutility.DeclarationAnnotationAdapter;
import org.eclipse.jpt.core.internal.jdtutility.DeclarationAnnotationElementAdapter;
+import org.eclipse.jpt.core.internal.jdtutility.EnumDeclarationAnnotationElementAdapter;
+import org.eclipse.jpt.core.internal.jdtutility.MemberAnnotationAdapter;
+import org.eclipse.jpt.core.internal.jdtutility.ShortCircuitAnnotationElementAdapter;
+import org.eclipse.jpt.core.internal.jdtutility.SimpleDeclarationAnnotationAdapter;
import org.eclipse.jpt.core.internal.mappings.DefaultLazyFetchType;
import org.eclipse.jpt.core.internal.mappings.IJoinTable;
import org.eclipse.jpt.core.internal.mappings.IMultiRelationshipMapping;
@@ -106,6 +112,34 @@ public abstract class JavaMultiRelationshipMapping
*/
protected IOrderBy orderBy;
+ /**
+ * The default value of the '{@link #getMapKey() <em>Map Key</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMapKey()
+ * @generated
+ * @ordered
+ */
+ protected static final String MAP_KEY_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getMapKey() <em>Map Key</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMapKey()
+ * @generated
+ * @ordered
+ */
+ protected String mapKey = MAP_KEY_EDEFAULT;
+
+ private final AnnotationAdapter mapKeyAnnotationAdapter;
+
+ private final AnnotationElementAdapter mapKeyNameAdapter;
+
+ public static final DeclarationAnnotationAdapter MAP_KEY_ADAPTER = new SimpleDeclarationAnnotationAdapter(JPA.MAP_KEY);
+
+ private static final DeclarationAnnotationElementAdapter MAP_KEY_NAME_ADAPTER = buildMapKeyNameAdapter();
+
protected JavaMultiRelationshipMapping() {
throw new UnsupportedOperationException("Use JavaMultiRelationshipMapping(Attribute) instead");
}
@@ -113,6 +147,8 @@ public abstract class JavaMultiRelationshipMapping
protected JavaMultiRelationshipMapping(Attribute attribute) {
super(attribute);
this.mappedByAdapter = this.buildAnnotationElementAdapter(this.mappedByAdapter());
+ this.mapKeyAnnotationAdapter = new MemberAnnotationAdapter(this.getAttribute(), MAP_KEY_ADAPTER);
+ this.mapKeyNameAdapter = new ShortCircuitAnnotationElementAdapter(attribute, MAP_KEY_NAME_ADAPTER);
this.joinTable = JpaJavaMappingsFactory.eINSTANCE.createJavaJoinTable(buildOwner(), attribute);
((InternalEObject) this.joinTable).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - JpaJavaMappingsPackage.JAVA_MULTI_RELATIONSHIP_MAPPING__JOIN_TABLE, null, null);
this.orderBy = JpaJavaMappingsFactory.eINSTANCE.createJavaOrderBy(attribute);
@@ -123,6 +159,15 @@ public abstract class JavaMultiRelationshipMapping
protected void notifyChanged(Notification notification) {
super.notifyChanged(notification);
switch (notification.getFeatureID(IMultiRelationshipMapping.class)) {
+ case JpaCoreMappingsPackage.IMULTI_RELATIONSHIP_MAPPING__MAP_KEY :
+ String mapKey = (String) notification.getNewValue();
+ if (mapKey == null) {
+ this.mapKeyAnnotationAdapter.removeAnnotation();
+ }
+ else {
+ this.mapKeyNameAdapter.setValue(mapKey);
+ }
+ break;
case JpaCoreMappingsPackage.IMULTI_RELATIONSHIP_MAPPING__FETCH :
this.getFetchAdapter().setValue(((DefaultLazyFetchType) notification.getNewValue()).convertToJavaAnnotationValue());
break;
@@ -305,6 +350,39 @@ public abstract class JavaMultiRelationshipMapping
}
/**
+ * Returns the value of the '<em><b>Map Key</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Map Key</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Map Key</em>' attribute.
+ * @see #setMapKey(String)
+ * @see org.eclipse.jpt.core.internal.content.java.mappings.JpaJavaMappingsPackage#getIMultiRelationshipMapping_MapKey()
+ * @model
+ * @generated
+ */
+ public String getMapKey() {
+ return mapKey;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.core.internal.content.java.mappings.JavaMultiRelationshipMapping#getMapKey <em>Map Key</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Map Key</em>' attribute.
+ * @see #getMapKey()
+ * @generated
+ */
+ public void setMapKey(String newMapKey) {
+ String oldMapKey = mapKey;
+ mapKey = newMapKey;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, JpaJavaMappingsPackage.JAVA_MULTI_RELATIONSHIP_MAPPING__MAP_KEY, oldMapKey, mapKey));
+ }
+
+ /**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
@@ -336,6 +414,8 @@ public abstract class JavaMultiRelationshipMapping
return getJoinTable();
case JpaJavaMappingsPackage.JAVA_MULTI_RELATIONSHIP_MAPPING__ORDER_BY :
return getOrderBy();
+ case JpaJavaMappingsPackage.JAVA_MULTI_RELATIONSHIP_MAPPING__MAP_KEY :
+ return getMapKey();
}
return super.eGet(featureID, resolve, coreType);
}
@@ -354,6 +434,9 @@ public abstract class JavaMultiRelationshipMapping
case JpaJavaMappingsPackage.JAVA_MULTI_RELATIONSHIP_MAPPING__FETCH :
setFetch((DefaultLazyFetchType) newValue);
return;
+ case JpaJavaMappingsPackage.JAVA_MULTI_RELATIONSHIP_MAPPING__MAP_KEY :
+ setMapKey((String) newValue);
+ return;
}
super.eSet(featureID, newValue);
}
@@ -372,6 +455,9 @@ public abstract class JavaMultiRelationshipMapping
case JpaJavaMappingsPackage.JAVA_MULTI_RELATIONSHIP_MAPPING__FETCH :
setFetch(FETCH_EDEFAULT);
return;
+ case JpaJavaMappingsPackage.JAVA_MULTI_RELATIONSHIP_MAPPING__MAP_KEY :
+ setMapKey(MAP_KEY_EDEFAULT);
+ return;
}
super.eUnset(featureID);
}
@@ -392,6 +478,8 @@ public abstract class JavaMultiRelationshipMapping
return joinTable != null;
case JpaJavaMappingsPackage.JAVA_MULTI_RELATIONSHIP_MAPPING__ORDER_BY :
return orderBy != null;
+ case JpaJavaMappingsPackage.JAVA_MULTI_RELATIONSHIP_MAPPING__MAP_KEY :
+ return MAP_KEY_EDEFAULT == null ? mapKey != null : !MAP_KEY_EDEFAULT.equals(mapKey);
}
return super.eIsSet(featureID);
}
@@ -419,6 +507,8 @@ public abstract class JavaMultiRelationshipMapping
return JpaCoreMappingsPackage.IMULTI_RELATIONSHIP_MAPPING__JOIN_TABLE;
case JpaJavaMappingsPackage.JAVA_MULTI_RELATIONSHIP_MAPPING__ORDER_BY :
return JpaCoreMappingsPackage.IMULTI_RELATIONSHIP_MAPPING__ORDER_BY;
+ case JpaJavaMappingsPackage.JAVA_MULTI_RELATIONSHIP_MAPPING__MAP_KEY :
+ return JpaCoreMappingsPackage.IMULTI_RELATIONSHIP_MAPPING__MAP_KEY;
default :
return -1;
}
@@ -449,6 +539,8 @@ public abstract class JavaMultiRelationshipMapping
return JpaJavaMappingsPackage.JAVA_MULTI_RELATIONSHIP_MAPPING__JOIN_TABLE;
case JpaCoreMappingsPackage.IMULTI_RELATIONSHIP_MAPPING__ORDER_BY :
return JpaJavaMappingsPackage.JAVA_MULTI_RELATIONSHIP_MAPPING__ORDER_BY;
+ case JpaCoreMappingsPackage.IMULTI_RELATIONSHIP_MAPPING__MAP_KEY :
+ return JpaJavaMappingsPackage.JAVA_MULTI_RELATIONSHIP_MAPPING__MAP_KEY;
default :
return -1;
}
@@ -470,6 +562,8 @@ public abstract class JavaMultiRelationshipMapping
result.append(mappedBy);
result.append(", fetch: ");
result.append(fetch);
+ result.append(", mapKey: ");
+ result.append(mapKey);
result.append(')');
return result.toString();
}
@@ -480,6 +574,16 @@ public abstract class JavaMultiRelationshipMapping
setMappedBy((String) this.mappedByAdapter.getValue(astRoot));
this.getJavaOrderBy().updateFromJava(astRoot);
this.getJavaJoinTable().updateFromJava(astRoot);
+ updateMapKeyFromJava(astRoot);
+ }
+
+ private void updateMapKeyFromJava(CompilationUnit astRoot) {
+ if (this.mapKeyAnnotationAdapter.getAnnotation(astRoot) == null) {
+ this.setMapKey(null);
+ }
+ else {
+ this.setMapKey((String) this.mapKeyNameAdapter.getValue(astRoot));
+ }
}
private JavaJoinTable getJavaJoinTable() {
@@ -529,4 +633,9 @@ public abstract class JavaMultiRelationshipMapping
String elementTypeName = buildReferenceEntityTypeName(elementSignature, jdtType());
return typeNamedIsContainer(elementTypeName) ? null : elementTypeName;
}
+
+ // ********** static methods **********
+ private static DeclarationAnnotationElementAdapter buildMapKeyNameAdapter() {
+ return new EnumDeclarationAnnotationElementAdapter(MAP_KEY_ADAPTER, JPA.MAP_KEY__NAME, false);
+ }
}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/content/java/mappings/JavaSecondaryTable.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/content/java/mappings/JavaSecondaryTable.java
index 651461299b..6b24a37507 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/content/java/mappings/JavaSecondaryTable.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/content/java/mappings/JavaSecondaryTable.java
@@ -332,12 +332,12 @@ public class JavaSecondaryTable extends AbstractJavaTable
return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
}
-
@Override
protected void updateFromJava(CompilationUnit astRoot) {
super.updateFromJava(astRoot);
this.updateSpecifiedPrimaryKeyJoinColumnsFromJava(astRoot);
}
+
/**
* here we just worry about getting the join column lists the same size;
* then we delegate to the join columns to synch themselves up
@@ -380,7 +380,6 @@ public class JavaSecondaryTable extends AbstractJavaTable
}
}
-
/**
* allow owners to verify the annotation
*/
@@ -414,7 +413,7 @@ public class JavaSecondaryTable extends AbstractJavaTable
}
private JavaPrimaryKeyJoinColumn createJavaPrimaryKeyJoinColumn(int index) {
- return JavaPrimaryKeyJoinColumn.createSecondaryTableJoinColumn(this, buildPkJoinColumnOwner(), this.getMember(), index);
+ return JavaPrimaryKeyJoinColumn.createSecondaryTableJoinColumn(this, buildPkJoinColumnOwner(), this.getMember(), index);
}
protected IAbstractJoinColumn.Owner buildPkJoinColumnOwner() {
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/content/java/mappings/JavaSingleRelationshipMapping.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/content/java/mappings/JavaSingleRelationshipMapping.java
index 7b06ef891a..31979c4e48 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/content/java/mappings/JavaSingleRelationshipMapping.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/content/java/mappings/JavaSingleRelationshipMapping.java
@@ -142,7 +142,7 @@ public abstract class JavaSingleRelationshipMapping
specifiedJoinColumnsChanged(notification);
break;
case JpaCoreMappingsPackage.ISINGLE_RELATIONSHIP_MAPPING__FETCH :
- this.getFetchAdapter().setValue(((DefaultEagerFetchType) notification.getNewValue()).convertToJavaAnnotationValue());
+ this.getFetchAdapter().setValue(((DefaultEagerFetchType) notification.getNewValue()).convertToJavaAnnotationValue());
break;
default :
break;
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/content/java/mappings/JavaTypeMapping.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/content/java/mappings/JavaTypeMapping.java
index 8b36d3ff94..fe1b06b438 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/content/java/mappings/JavaTypeMapping.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/content/java/mappings/JavaTypeMapping.java
@@ -222,7 +222,7 @@ public abstract class JavaTypeMapping extends JavaEObject
public Table dbTable(String tableName) {
return null;
}
-
+
public Schema dbSchema() {
return null;
}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/content/java/mappings/JavaUniqueConstraint.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/content/java/mappings/JavaUniqueConstraint.java
index d4b882e965..4e9ac63620 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/content/java/mappings/JavaUniqueConstraint.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/content/java/mappings/JavaUniqueConstraint.java
@@ -16,7 +16,6 @@ import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.util.EDataTypeUniqueEList;
import org.eclipse.jdt.core.dom.Annotation;
import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jdt.core.dom.StringLiteral;
import org.eclipse.jpt.core.internal.ITextRange;
import org.eclipse.jpt.core.internal.content.java.JavaEObject;
import org.eclipse.jpt.core.internal.jdtutility.AnnotationElementAdapter;
@@ -29,12 +28,9 @@ import org.eclipse.jpt.core.internal.jdtutility.IndexedDeclarationAnnotationAdap
import org.eclipse.jpt.core.internal.jdtutility.Member;
import org.eclipse.jpt.core.internal.jdtutility.MemberIndexedAnnotationAdapter;
import org.eclipse.jpt.core.internal.jdtutility.NestedIndexedDeclarationAnnotationAdapter;
-import org.eclipse.jpt.core.internal.jdtutility.ShortCircuitAnnotationElementAdapter;
import org.eclipse.jpt.core.internal.jdtutility.ShortCircuitArrayAnnotationElementAdapter;
import org.eclipse.jpt.core.internal.jdtutility.SimpleDeclarationAnnotationAdapter;
import org.eclipse.jpt.core.internal.jdtutility.StringArrayExpressionConverter;
-import org.eclipse.jpt.core.internal.jdtutility.StringExpressionConverter;
-import org.eclipse.jpt.core.internal.mappings.INonOwningMapping;
import org.eclipse.jpt.core.internal.mappings.IUniqueConstraint;
import org.eclipse.jpt.core.internal.mappings.JpaCoreMappingsPackage;
import org.eclipse.jpt.utility.internal.CollectionTools;
@@ -71,9 +67,8 @@ public class JavaUniqueConstraint extends JavaEObject
private final IndexedAnnotationAdapter annotationAdapter;
private final DeclarationAnnotationElementAdapter columnNamesDeclarationAdapter;
-
+
private final AnnotationElementAdapter columnNamesAdapter;
-
protected JavaUniqueConstraint() {
super();
@@ -88,7 +83,7 @@ public class JavaUniqueConstraint extends JavaEObject
this.columnNamesDeclarationAdapter = buildArrayAnnotationElementAdapter(idaa, JPA.UNIQUE_CONSTRAINT__COLUMN_NAMES);
this.columnNamesAdapter = this.buildAnnotationElementAdapter(this.columnNamesDeclarationAdapter);
}
-
+
protected AnnotationElementAdapter buildAnnotationElementAdapter(DeclarationAnnotationElementAdapter daea) {
return new ShortCircuitArrayAnnotationElementAdapter(this.member, daea);
}
@@ -101,7 +96,6 @@ public class JavaUniqueConstraint extends JavaEObject
return new ConversionDeclarationAnnotationElementAdapter(annotationAdapter, elementName, false, converter);
}
-
@Override
protected void notifyChanged(Notification notification) {
super.notifyChanged(notification);
@@ -271,10 +265,9 @@ public class JavaUniqueConstraint extends JavaEObject
public void updateFromJava(CompilationUnit astRoot) {
updateColumnNamesFromJava(astRoot);
}
-
+
private void updateColumnNamesFromJava(CompilationUnit astRoot) {
String[] javaColumnNames = (String[]) this.columnNamesAdapter.getValue(astRoot);
-
CollectionTools.retainAll(getColumnNames(), javaColumnNames);
for (int i = 0; i < javaColumnNames.length; i++) {
String columnName = javaColumnNames[i];
@@ -283,7 +276,7 @@ public class JavaUniqueConstraint extends JavaEObject
}
}
}
-
+
// ********** persistence model -> java annotations **********
void moveAnnotation(int newIndex) {
this.annotationAdapter.moveAnnotation(newIndex);
@@ -321,7 +314,7 @@ public class JavaUniqueConstraint extends JavaEObject
private static IndexedDeclarationAnnotationAdapter buildTableUniqueConstraintAnnotationAdapter(int index) {
return new NestedIndexedDeclarationAnnotationAdapter(JavaTable.DECLARATION_ANNOTATION_ADAPTER, JPA.TABLE__UNIQUE_CONSTRAINTS, index, JPA.UNIQUE_CONSTRAINT);
}
-
+
static JavaUniqueConstraint createTableGeneratorUniqueConstraint(Member member, int index) {
return JpaJavaMappingsFactory.eINSTANCE.createJavaUniqueConstraint(member, buildTableGeneratorUniqueConstraintAnnotationAdapter(index));
}
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/content/java/mappings/JpaJavaMappingsPackage.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/content/java/mappings/JpaJavaMappingsPackage.java
index 47deb6cd09..53d32db2f7 100644
--- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/content/java/mappings/JpaJavaMappingsPackage.java
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/content/java/mappings/JpaJavaMappingsPackage.java
@@ -1186,13 +1186,22 @@ public class JpaJavaMappingsPackage extends EPackageImpl
public static final int JAVA_MULTI_RELATIONSHIP_MAPPING__ORDER_BY = JAVA_RELATIONSHIP_MAPPING_FEATURE_COUNT + 3;
/**
+ * The feature id for the '<em><b>Map Key</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int JAVA_MULTI_RELATIONSHIP_MAPPING__MAP_KEY = JAVA_RELATIONSHIP_MAPPING_FEATURE_COUNT + 4;
+
+ /**
* The number of structural features of the '<em>Java Multi Relationship Mapping</em>' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- public static final int JAVA_MULTI_RELATIONSHIP_MAPPING_FEATURE_COUNT = JAVA_RELATIONSHIP_MAPPING_FEATURE_COUNT + 4;
+ public static final int JAVA_MULTI_RELATIONSHIP_MAPPING_FEATURE_COUNT = JAVA_RELATIONSHIP_MAPPING_FEATURE_COUNT + 5;
/**
* The meta object id for the '{@link org.eclipse.jpt.core.internal.content.java.mappings.JavaOneToMany <em>Java One To Many</em>}' class.
@@ -1277,6 +1286,15 @@ public class JpaJavaMappingsPackage extends EPackageImpl
public static final int JAVA_ONE_TO_MANY__ORDER_BY = JAVA_MULTI_RELATIONSHIP_MAPPING__ORDER_BY;
/**
+ * The feature id for the '<em><b>Map Key</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int JAVA_ONE_TO_MANY__MAP_KEY = JAVA_MULTI_RELATIONSHIP_MAPPING__MAP_KEY;
+
+ /**
* The number of structural features of the '<em>Java One To Many</em>' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -1368,6 +1386,15 @@ public class JpaJavaMappingsPackage extends EPackageImpl
public static final int JAVA_MANY_TO_MANY__ORDER_BY = JAVA_MULTI_RELATIONSHIP_MAPPING__ORDER_BY;
/**
+ * The feature id for the '<em><b>Map Key</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int JAVA_MANY_TO_MANY__MAP_KEY = JAVA_MULTI_RELATIONSHIP_MAPPING__MAP_KEY;
+
+ /**
* The number of structural features of the '<em>Java Many To Many</em>' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -4527,6 +4554,8 @@ public class JpaJavaMappingsPackage extends EPackageImpl
initEClass(javaQueryHintEClass, JavaQueryHint.class, "JavaQueryHint", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(javaUniqueConstraintEClass, JavaUniqueConstraint.class, "JavaUniqueConstraint", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
}
+
+
/**
* <!-- begin-user-doc -->
* Defines literals for the meta objects that represent

Back to the top