Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Fullbright2013-06-05 16:25:05 +0000
committerPaul Fullbright2013-07-08 17:06:35 +0000
commit46cc00bceda89ffe238d1ce7b169485259daf198 (patch)
tree1d8ec3e74cc03ed47c7929933fedfb705acf9dc6
parent9a01192a99c0cc500e7579884693832cfbc6ecd6 (diff)
downloadwebtools.dali-46cc00bceda89ffe238d1ce7b169485259daf198.tar.gz
webtools.dali-46cc00bceda89ffe238d1ce7b169485259daf198.tar.xz
webtools.dali-46cc00bceda89ffe238d1ce7b169485259daf198.zip
refactored order by (bug 190866)
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.annotate/src/org/eclipse/jpt/jpa/annotate/JavaClassAnnotater.java7
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/jpaResourceModels.genmodel5
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/orm.ecore6
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/AbstractXmlMultiRelationshipMapping.java73
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/OrmFactory.java12
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/OrmPackage.java180
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlElementCollection.java71
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlOrderBy.java211
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlOrderable.java16
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/OrmV2_0Package.java2
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/context/OrderBy.java48
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/context/Orderable.java57
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/jpa1/context/java/GenericJavaOrderBy.java99
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/jpa1/context/java/GenericJavaOrderable.java520
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/jpa1/context/orm/GenericOrmOrderBy.java91
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/jpa1/context/orm/GenericOrmOrderable.java410
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/jpa2/context/Orderable2_0.java57
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/property_files/jpt_jpa_ui_details.properties4
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/details/JptJpaUiDetailsMessages.java6
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/JpaHelpContextIds.java3
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractOrderingComposite.java83
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/OrderByComposite.java80
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/OrderingComposite.java70
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/OrderingComposite2_0.java76
-rw-r--r--jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/context/java/GenericJavaPersistentAttributeTests.java4
-rw-r--r--jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/context/java/JavaManyToManyMappingTests.java215
-rw-r--r--jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/context/java/JavaManyToOneMappingTests.java5
-rw-r--r--jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/context/java/JavaOneToManyMappingTests.java190
-rw-r--r--jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/context/java/JavaOneToOneMappingTests.java7
-rw-r--r--jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/context/orm/OrmManyToManyMappingTests.java157
-rw-r--r--jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/context/orm/OrmOneToManyMappingTests.java159
-rw-r--r--jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/jpa2/context/java/GenericJavaElementCollectionMapping2_0Tests.java15
-rw-r--r--jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/jpa2/context/java/GenericJavaManyToManyMapping2_0Tests.java50
-rw-r--r--jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/jpa2/context/java/GenericJavaOneToManyMapping2_0Tests.java50
-rw-r--r--jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/jpa2/context/orm/GenericOrmElementCollectionMapping2_0Tests.java28
-rw-r--r--jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/jpa2/context/orm/GenericOrmManyToManyMapping2_0Tests.java28
-rw-r--r--jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/jpa2/context/orm/GenericOrmOneToManyMapping2_0Tests.java30
-rw-r--r--jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/java/EclipseLink2_0JavaElementCollectionMappingTests.java20
-rw-r--r--jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/java/EclipseLink2_0JavaOneToManyMappingTests.java10
-rw-r--r--jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLink2_0OrmElementCollectionMappingTests.java22
-rw-r--r--jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLink2_0OrmManyToManyMappingTests.java23
-rw-r--r--jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLink2_0OrmOneToManyMappingTests.java32
-rw-r--r--jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmManyToManyMappingTests.java12
-rw-r--r--jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmOneToManyMappingTests.java12
44 files changed, 1827 insertions, 1429 deletions
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.annotate/src/org/eclipse/jpt/jpa/annotate/JavaClassAnnotater.java b/jpa/plugins/org.eclipse.jpt.jpa.annotate/src/org/eclipse/jpt/jpa/annotate/JavaClassAnnotater.java
index 779bf16440..c64023d0b7 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.annotate/src/org/eclipse/jpt/jpa/annotate/JavaClassAnnotater.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.annotate/src/org/eclipse/jpt/jpa/annotate/JavaClassAnnotater.java
@@ -12,7 +12,6 @@ package org.eclipse.jpt.jpa.annotate;
import java.util.Iterator;
import java.util.List;
-
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.SubMonitor;
import org.eclipse.jpt.jpa.annotate.mapping.AnnotationAttributeNames;
@@ -660,9 +659,9 @@ public class JavaClassAnnotater
// TODO @MapKey
// Order by
- if (refPropElem.getOrderBy() != null)
- {
- collectionMapping.getOrderable().setSpecifiedOrderBy(refPropElem.getOrderBy());
+ if (refPropElem.getOrderBy() != null) {
+ collectionMapping.getOrderable().setOrderByOrdering();
+ collectionMapping.getOrderable().getOrderBy().setKey(refPropElem.getOrderBy());
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/jpaResourceModels.genmodel b/jpa/plugins/org.eclipse.jpt.jpa.core/model/jpaResourceModels.genmodel
index eb41052bb0..69aecf1819 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.core/model/jpaResourceModels.genmodel
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/jpaResourceModels.genmodel
@@ -270,7 +270,10 @@
<genClasses image="false" ecoreClass="orm.ecore#//XmlOneToMany"/>
<genClasses image="false" ecoreClass="orm.ecore#//XmlOneToOne"/>
<genClasses image="false" ecoreClass="orm.ecore#//XmlOrderable">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute orm.ecore#//XmlOrderable/orderBy"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EReference orm.ecore#//XmlOrderable/orderBy"/>
+ </genClasses>
+ <genClasses ecoreClass="orm.ecore#//XmlOrderBy">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute orm.ecore#//XmlOrderBy/key"/>
</genClasses>
<genClasses ecoreClass="orm.ecore#//XmlOrderColumn"/>
<genClasses image="false" ecoreClass="orm.ecore#//XmlOverride">
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/orm.ecore b/jpa/plugins/org.eclipse.jpt.jpa.core/model/orm.ecore
index 4c56c1fff9..836708c9c7 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.core/model/orm.ecore
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/orm.ecore
@@ -322,7 +322,11 @@
<eClassifiers xsi:type="ecore:EClass" name="XmlOneToOne" eSuperTypes="#//AbstractXmlSingleRelationshipMapping #//XmlMappedByMapping #//XmlPrimaryKeyJoinColumnContainer #//v2_0/XmlOneToOne_2_0 #//v2_1/XmlOneToOne_2_1"/>
<eClassifiers xsi:type="ecore:EClass" name="XmlOrderable" abstract="true" interface="true"
eSuperTypes="#//v2_0/XmlOrderable_2_0">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="orderBy" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="orderBy" eType="#//XmlOrderBy"
+ containment="true" resolveProxies="false"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="XmlOrderBy">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="XmlOrderColumn" eSuperTypes="#//AbstractXmlNamedColumn #//v2_0/XmlOrderColumn_2_0"/>
<eClassifiers xsi:type="ecore:EClass" name="XmlOverride" abstract="true" interface="true">
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/AbstractXmlMultiRelationshipMapping.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/AbstractXmlMultiRelationshipMapping.java
index 8654b43834..37174356bb 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/AbstractXmlMultiRelationshipMapping.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/AbstractXmlMultiRelationshipMapping.java
@@ -91,23 +91,14 @@ public abstract class AbstractXmlMultiRelationshipMapping extends AbstractXmlRel
*/
protected XmlOrderColumn orderColumn;
/**
- * The default value of the '{@link #getOrderBy() <em>Order By</em>}' attribute.
+ * The cached value of the '{@link #getOrderBy() <em>Order By</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getOrderBy()
* @generated
* @ordered
*/
- protected static final String ORDER_BY_EDEFAULT = null;
- /**
- * The cached value of the '{@link #getOrderBy() <em>Order By</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getOrderBy()
- * @generated
- * @ordered
- */
- protected String orderBy = ORDER_BY_EDEFAULT;
+ protected XmlOrderBy orderBy;
/**
* The cached value of the '{@link #getMapKeyAttributeOverrides() <em>Map Key Attribute Overrides</em>}' containment reference list.
* <!-- begin-user-doc -->
@@ -359,36 +350,62 @@ public abstract class AbstractXmlMultiRelationshipMapping extends AbstractXmlRel
}
/**
- * Returns the value of the '<em><b>Order By</b></em>' attribute.
+ * Returns the value of the '<em><b>Order By</b></em>' containment reference.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Order By</em>' attribute isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
- * @return the value of the '<em>Order By</em>' attribute.
- * @see #setOrderBy(String)
+ * @return the value of the '<em>Order By</em>' containment reference.
+ * @see #setOrderBy(XmlOrderBy)
* @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlOrderable_OrderBy()
- * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @model containment="true"
* @generated
*/
- public String getOrderBy() {
+ public XmlOrderBy getOrderBy() {
return orderBy;
}
/**
- * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlMultiRelationshipMapping#getOrderBy <em>Order By</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @param value the new value of the '<em>Order By</em>' attribute.
- * @see #getOrderBy()
* @generated
*/
- public void setOrderBy(String newOrderBy) {
- String oldOrderBy = orderBy;
+ public NotificationChain basicSetOrderBy(XmlOrderBy newOrderBy, NotificationChain msgs)
+ {
+ XmlOrderBy oldOrderBy = orderBy;
orderBy = newOrderBy;
if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__ORDER_BY, oldOrderBy, orderBy));
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__ORDER_BY, oldOrderBy, newOrderBy);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlMultiRelationshipMapping#getOrderBy <em>Order By</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Order By</em>' containment reference.
+ * @see #getOrderBy()
+ * @generated
+ */
+ public void setOrderBy(XmlOrderBy newOrderBy)
+ {
+ if (newOrderBy != orderBy)
+ {
+ NotificationChain msgs = null;
+ if (orderBy != null)
+ msgs = ((InternalEObject)orderBy).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__ORDER_BY, null, msgs);
+ if (newOrderBy != null)
+ msgs = ((InternalEObject)newOrderBy).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__ORDER_BY, null, msgs);
+ msgs = basicSetOrderBy(newOrderBy, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__ORDER_BY, newOrderBy, newOrderBy));
}
/**
@@ -705,6 +722,8 @@ public abstract class AbstractXmlMultiRelationshipMapping extends AbstractXmlRel
return basicSetJoinTable(null, msgs);
case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__ORDER_COLUMN:
return basicSetOrderColumn(null, msgs);
+ case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__ORDER_BY:
+ return basicSetOrderBy(null, msgs);
case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_ATTRIBUTE_OVERRIDES:
return ((InternalEList<?>)getMapKeyAttributeOverrides()).basicRemove(otherEnd, msgs);
case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_CLASS:
@@ -776,7 +795,7 @@ public abstract class AbstractXmlMultiRelationshipMapping extends AbstractXmlRel
setOrderColumn((XmlOrderColumn)newValue);
return;
case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__ORDER_BY:
- setOrderBy((String)newValue);
+ setOrderBy((XmlOrderBy)newValue);
return;
case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_ATTRIBUTE_OVERRIDES:
getMapKeyAttributeOverrides().clear();
@@ -825,7 +844,7 @@ public abstract class AbstractXmlMultiRelationshipMapping extends AbstractXmlRel
setOrderColumn((XmlOrderColumn)null);
return;
case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__ORDER_BY:
- setOrderBy(ORDER_BY_EDEFAULT);
+ setOrderBy((XmlOrderBy)null);
return;
case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_ATTRIBUTE_OVERRIDES:
getMapKeyAttributeOverrides().clear();
@@ -869,7 +888,7 @@ public abstract class AbstractXmlMultiRelationshipMapping extends AbstractXmlRel
case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__ORDER_COLUMN:
return orderColumn != null;
case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__ORDER_BY:
- return ORDER_BY_EDEFAULT == null ? orderBy != null : !ORDER_BY_EDEFAULT.equals(orderBy);
+ return orderBy != null;
case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_ATTRIBUTE_OVERRIDES:
return mapKeyAttributeOverrides != null && !mapKeyAttributeOverrides.isEmpty();
case OrmPackage.ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__MAP_KEY_TEMPORAL:
@@ -1041,8 +1060,6 @@ public abstract class AbstractXmlMultiRelationshipMapping extends AbstractXmlRel
StringBuffer result = new StringBuffer(super.toString());
result.append(" (mappedBy: ");
result.append(mappedBy);
- result.append(", orderBy: ");
- result.append(orderBy);
result.append(", mapKeyTemporal: ");
result.append(mapKeyTemporal);
result.append(", mapKeyEnumerated: ");
@@ -1081,7 +1098,7 @@ public abstract class AbstractXmlMultiRelationshipMapping extends AbstractXmlRel
// ********** translators **********
protected static Translator buildOrderByTranslator() {
- return new Translator(JPA.ORDER_BY, OrmPackage.eINSTANCE.getXmlOrderable_OrderBy());
+ return XmlOrderBy.buildTranslator();
}
protected static Translator buildMapKeyTranslator() {
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/OrmFactory.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/OrmFactory.java
index 985b6c02ed..2564f82a2d 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/OrmFactory.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/OrmFactory.java
@@ -123,6 +123,7 @@ public class OrmFactory extends EFactoryImpl
case OrmPackage.XML_NAMED_STORED_PROCEDURE_QUERY: return (EObject)createXmlNamedStoredProcedureQuery();
case OrmPackage.XML_ONE_TO_MANY: return (EObject)createXmlOneToMany();
case OrmPackage.XML_ONE_TO_ONE: return (EObject)createXmlOneToOne();
+ case OrmPackage.XML_ORDER_BY: return (EObject)createXmlOrderBy();
case OrmPackage.XML_ORDER_COLUMN: return (EObject)createXmlOrderColumn();
case OrmPackage.XML_PERSISTENCE_UNIT_DEFAULTS: return (EObject)createXmlPersistenceUnitDefaults();
case OrmPackage.XML_PERSISTENCE_UNIT_METADATA: return (EObject)createXmlPersistenceUnitMetadata();
@@ -692,6 +693,17 @@ public class OrmFactory extends EFactoryImpl
* <!-- end-user-doc -->
* @generated
*/
+ public XmlOrderBy createXmlOrderBy()
+ {
+ XmlOrderBy xmlOrderBy = new XmlOrderBy();
+ return xmlOrderBy;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
public XmlOrderColumn createXmlOrderColumn()
{
XmlOrderColumn xmlOrderColumn = new XmlOrderColumn();
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/OrmPackage.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/OrmPackage.java
index c5dfec1199..9128f28a77 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/OrmPackage.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/OrmPackage.java
@@ -660,7 +660,7 @@ public class OrmPackage extends EPackageImpl
public static final int ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__ORDER_COLUMN = ABSTRACT_XML_RELATIONSHIP_MAPPING_FEATURE_COUNT + 2;
/**
- * The feature id for the '<em><b>Order By</b></em>' attribute.
+ * The feature id for the '<em><b>Order By</b></em>' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
@@ -1087,7 +1087,7 @@ public class OrmPackage extends EPackageImpl
* @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlTypeMapping()
* @generated
*/
- public static final int XML_TYPE_MAPPING = 100;
+ public static final int XML_TYPE_MAPPING = 101;
/**
* The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlTypeMapping <em>Abstract Xml Type Mapping</em>}' class.
@@ -1295,7 +1295,7 @@ public class OrmPackage extends EPackageImpl
* @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlOverride()
* @generated
*/
- public static final int XML_OVERRIDE = 77;
+ public static final int XML_OVERRIDE = 78;
/**
* The feature id for the '<em><b>Name</b></em>' attribute.
@@ -2317,7 +2317,7 @@ public class OrmPackage extends EPackageImpl
public static final int XML_ELEMENT_COLLECTION__ORDER_COLUMN = ABSTRACT_XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 4;
/**
- * The feature id for the '<em><b>Order By</b></em>' attribute.
+ * The feature id for the '<em><b>Order By</b></em>' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
@@ -3374,7 +3374,7 @@ public class OrmPackage extends EPackageImpl
* @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlQuery()
* @generated
*/
- public static final int XML_QUERY = 90;
+ public static final int XML_QUERY = 91;
/**
* The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlNamedNativeQuery <em>Xml Named Native Query</em>}' class.
@@ -3434,7 +3434,7 @@ public class OrmPackage extends EPackageImpl
* @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlOrderColumn()
* @generated
*/
- public static final int XML_ORDER_COLUMN = 76;
+ public static final int XML_ORDER_COLUMN = 77;
/**
* The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlPersistenceUnitDefaults <em>Xml Persistence Unit Defaults</em>}' class.
@@ -3444,7 +3444,7 @@ public class OrmPackage extends EPackageImpl
* @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlPersistenceUnitDefaults()
* @generated
*/
- public static final int XML_PERSISTENCE_UNIT_DEFAULTS = 78;
+ public static final int XML_PERSISTENCE_UNIT_DEFAULTS = 79;
/**
* The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlPersistenceUnitMetadata <em>Xml Persistence Unit Metadata</em>}' class.
@@ -3454,7 +3454,7 @@ public class OrmPackage extends EPackageImpl
* @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlPersistenceUnitMetadata()
* @generated
*/
- public static final int XML_PERSISTENCE_UNIT_METADATA = 79;
+ public static final int XML_PERSISTENCE_UNIT_METADATA = 80;
/**
* The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.PostLoad <em>Post Load</em>}' class.
@@ -3464,7 +3464,7 @@ public class OrmPackage extends EPackageImpl
* @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getPostLoad()
* @generated
*/
- public static final int POST_LOAD = 81;
+ public static final int POST_LOAD = 82;
/**
* The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.PostPersist <em>Post Persist</em>}' class.
@@ -3474,7 +3474,7 @@ public class OrmPackage extends EPackageImpl
* @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getPostPersist()
* @generated
*/
- public static final int POST_PERSIST = 82;
+ public static final int POST_PERSIST = 83;
/**
* The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.PostRemove <em>Post Remove</em>}' class.
@@ -3484,7 +3484,7 @@ public class OrmPackage extends EPackageImpl
* @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getPostRemove()
* @generated
*/
- public static final int POST_REMOVE = 83;
+ public static final int POST_REMOVE = 84;
/**
* The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.PostUpdate <em>Post Update</em>}' class.
@@ -3494,7 +3494,7 @@ public class OrmPackage extends EPackageImpl
* @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getPostUpdate()
* @generated
*/
- public static final int POST_UPDATE = 84;
+ public static final int POST_UPDATE = 85;
/**
* The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.PrePersist <em>Pre Persist</em>}' class.
@@ -3504,7 +3504,7 @@ public class OrmPackage extends EPackageImpl
* @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getPrePersist()
* @generated
*/
- public static final int PRE_PERSIST = 85;
+ public static final int PRE_PERSIST = 86;
/**
* The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.PreRemove <em>Pre Remove</em>}' class.
@@ -3514,7 +3514,7 @@ public class OrmPackage extends EPackageImpl
* @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getPreRemove()
* @generated
*/
- public static final int PRE_REMOVE = 86;
+ public static final int PRE_REMOVE = 87;
/**
* The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.PreUpdate <em>Pre Update</em>}' class.
@@ -3524,7 +3524,7 @@ public class OrmPackage extends EPackageImpl
* @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getPreUpdate()
* @generated
*/
- public static final int PRE_UPDATE = 87;
+ public static final int PRE_UPDATE = 88;
/**
* The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlPrimaryKeyJoinColumn <em>Xml Primary Key Join Column</em>}' class.
@@ -3534,7 +3534,7 @@ public class OrmPackage extends EPackageImpl
* @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlPrimaryKeyJoinColumn()
* @generated
*/
- public static final int XML_PRIMARY_KEY_JOIN_COLUMN = 88;
+ public static final int XML_PRIMARY_KEY_JOIN_COLUMN = 89;
/**
* The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlQueryContainer <em>Xml Query Container</em>}' class.
@@ -3544,7 +3544,7 @@ public class OrmPackage extends EPackageImpl
* @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlQueryContainer()
* @generated
*/
- public static final int XML_QUERY_CONTAINER = 91;
+ public static final int XML_QUERY_CONTAINER = 92;
/**
* The feature id for the '<em><b>Version</b></em>' attribute.
@@ -4296,7 +4296,7 @@ public class OrmPackage extends EPackageImpl
* @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlReferenceTable()
* @generated
*/
- public static final int XML_REFERENCE_TABLE = 80;
+ public static final int XML_REFERENCE_TABLE = 81;
/**
* The feature id for the '<em><b>Name</b></em>' attribute.
@@ -4498,7 +4498,7 @@ public class OrmPackage extends EPackageImpl
public static final int XML_MANY_TO_MANY__ORDER_COLUMN = ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__ORDER_COLUMN;
/**
- * The feature id for the '<em><b>Order By</b></em>' attribute.
+ * The feature id for the '<em><b>Order By</b></em>' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
@@ -5229,7 +5229,7 @@ public class OrmPackage extends EPackageImpl
* @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlStoredProcedureParameter()
* @generated
*/
- public static final int XML_STORED_PROCEDURE_PARAMETER = 96;
+ public static final int XML_STORED_PROCEDURE_PARAMETER = 97;
/**
* The feature id for the '<em><b>Access</b></em>' attribute.
@@ -5331,7 +5331,7 @@ public class OrmPackage extends EPackageImpl
public static final int XML_ONE_TO_MANY__ORDER_COLUMN = ABSTRACT_XML_MULTI_RELATIONSHIP_MAPPING__ORDER_COLUMN;
/**
- * The feature id for the '<em><b>Order By</b></em>' attribute.
+ * The feature id for the '<em><b>Order By</b></em>' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
@@ -5617,7 +5617,7 @@ public class OrmPackage extends EPackageImpl
* @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlQueryHint()
* @generated
*/
- public static final int XML_QUERY_HINT = 92;
+ public static final int XML_QUERY_HINT = 93;
/**
* The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlSecondaryTable <em>Xml Secondary Table</em>}' class.
@@ -5627,7 +5627,7 @@ public class OrmPackage extends EPackageImpl
* @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlSecondaryTable()
* @generated
*/
- public static final int XML_SECONDARY_TABLE = 93;
+ public static final int XML_SECONDARY_TABLE = 94;
/**
* The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlSequenceGenerator <em>Xml Sequence Generator</em>}' class.
@@ -5637,7 +5637,7 @@ public class OrmPackage extends EPackageImpl
* @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlSequenceGenerator()
* @generated
*/
- public static final int XML_SEQUENCE_GENERATOR = 94;
+ public static final int XML_SEQUENCE_GENERATOR = 95;
/**
* The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlTable <em>Xml Table</em>}' class.
@@ -5647,7 +5647,7 @@ public class OrmPackage extends EPackageImpl
* @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlTable()
* @generated
*/
- public static final int XML_TABLE = 97;
+ public static final int XML_TABLE = 98;
/**
* The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlTableGenerator <em>Xml Table Generator</em>}' class.
@@ -5657,7 +5657,7 @@ public class OrmPackage extends EPackageImpl
* @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlTableGenerator()
* @generated
*/
- public static final int XML_TABLE_GENERATOR = 98;
+ public static final int XML_TABLE_GENERATOR = 99;
/**
* The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlTransient <em>Xml Transient</em>}' class.
@@ -5667,7 +5667,7 @@ public class OrmPackage extends EPackageImpl
* @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlTransient()
* @generated
*/
- public static final int XML_TRANSIENT = 99;
+ public static final int XML_TRANSIENT = 100;
/**
* The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlUniqueConstraint <em>Xml Unique Constraint</em>}' class.
@@ -5677,7 +5677,7 @@ public class OrmPackage extends EPackageImpl
* @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlUniqueConstraint()
* @generated
*/
- public static final int XML_UNIQUE_CONSTRAINT = 101;
+ public static final int XML_UNIQUE_CONSTRAINT = 102;
/**
* The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlVersion <em>Xml Version</em>}' class.
@@ -5687,7 +5687,7 @@ public class OrmPackage extends EPackageImpl
* @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlVersion()
* @generated
*/
- public static final int XML_VERSION = 102;
+ public static final int XML_VERSION = 103;
/**
* The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlOrderable <em>Xml Orderable</em>}' class.
@@ -5709,7 +5709,7 @@ public class OrmPackage extends EPackageImpl
public static final int XML_ORDERABLE__ORDER_COLUMN = OrmV2_0Package.XML_ORDERABLE_20__ORDER_COLUMN;
/**
- * The feature id for the '<em><b>Order By</b></em>' attribute.
+ * The feature id for the '<em><b>Order By</b></em>' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
@@ -5727,6 +5727,34 @@ public class OrmPackage extends EPackageImpl
public static final int XML_ORDERABLE_FEATURE_COUNT = OrmV2_0Package.XML_ORDERABLE_20_FEATURE_COUNT + 1;
/**
+ * The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlOrderBy <em>Xml Order By</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlOrderBy
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlOrderBy()
+ * @generated
+ */
+ public static final int XML_ORDER_BY = 76;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ORDER_BY__VALUE = 0;
+
+ /**
+ * The number of structural features of the '<em>Xml Order By</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int XML_ORDER_BY_FEATURE_COUNT = 1;
+
+ /**
* The feature id for the '<em><b>Column Definition</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -6139,7 +6167,7 @@ public class OrmPackage extends EPackageImpl
* @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlPrimaryKeyJoinColumnContainer()
* @generated
*/
- public static final int XML_PRIMARY_KEY_JOIN_COLUMN_CONTAINER = 89;
+ public static final int XML_PRIMARY_KEY_JOIN_COLUMN_CONTAINER = 90;
/**
* The feature id for the '<em><b>Primary Key Join Columns</b></em>' containment reference list.
@@ -6383,7 +6411,7 @@ public class OrmPackage extends EPackageImpl
* @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlSqlResultSetMapping()
* @generated
*/
- public static final int XML_SQL_RESULT_SET_MAPPING = 95;
+ public static final int XML_SQL_RESULT_SET_MAPPING = 96;
/**
* The feature id for the '<em><b>Description</b></em>' attribute.
@@ -6843,7 +6871,7 @@ public class OrmPackage extends EPackageImpl
* @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getDiscriminatorType()
* @generated
*/
- public static final int DISCRIMINATOR_TYPE = 103;
+ public static final int DISCRIMINATOR_TYPE = 104;
/**
* The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.EnumType <em>Enum Type</em>}' enum.
@@ -6853,7 +6881,7 @@ public class OrmPackage extends EPackageImpl
* @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getEnumType()
* @generated
*/
- public static final int ENUM_TYPE = 104;
+ public static final int ENUM_TYPE = 105;
/**
* The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.FetchType <em>Fetch Type</em>}' enum.
@@ -6863,7 +6891,7 @@ public class OrmPackage extends EPackageImpl
* @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getFetchType()
* @generated
*/
- public static final int FETCH_TYPE = 105;
+ public static final int FETCH_TYPE = 106;
/**
* The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.GenerationType <em>Generation Type</em>}' enum.
@@ -6873,7 +6901,7 @@ public class OrmPackage extends EPackageImpl
* @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getGenerationType()
* @generated
*/
- public static final int GENERATION_TYPE = 106;
+ public static final int GENERATION_TYPE = 107;
/**
* The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.InheritanceType <em>Inheritance Type</em>}' enum.
@@ -6883,7 +6911,7 @@ public class OrmPackage extends EPackageImpl
* @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getInheritanceType()
* @generated
*/
- public static final int INHERITANCE_TYPE = 107;
+ public static final int INHERITANCE_TYPE = 108;
/**
* The meta object id for the '{@link org.eclipse.jpt.jpa.core.resource.orm.TemporalType <em>Temporal Type</em>}' enum.
@@ -6893,7 +6921,7 @@ public class OrmPackage extends EPackageImpl
* @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getTemporalType()
* @generated
*/
- public static final int TEMPORAL_TYPE = 108;
+ public static final int TEMPORAL_TYPE = 109;
/**
* <!-- begin-user-doc -->
@@ -7621,6 +7649,13 @@ public class OrmPackage extends EPackageImpl
* <!-- end-user-doc -->
* @generated
*/
+ private EClass xmlOrderByEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
private EEnum discriminatorTypeEEnum = null;
/**
@@ -11107,17 +11142,46 @@ public class OrmPackage extends EPackageImpl
/**
- * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlOrderable#getOrderBy <em>Order By</em>}'.
+ * Returns the meta object for the containment reference '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlOrderable#getOrderBy <em>Order By</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Order By</em>'.
+ * @return the meta object for the containment reference '<em>Order By</em>'.
* @see org.eclipse.jpt.jpa.core.resource.orm.XmlOrderable#getOrderBy()
* @see #getXmlOrderable()
* @generated
*/
- public EAttribute getXmlOrderable_OrderBy()
+ public EReference getXmlOrderable_OrderBy()
{
- return (EAttribute)xmlOrderableEClass.getEStructuralFeatures().get(0);
+ return (EReference)xmlOrderableEClass.getEStructuralFeatures().get(0);
+ }
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlOrderBy <em>Xml Order By</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Xml Order By</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlOrderBy
+ * @generated
+ */
+ public EClass getXmlOrderBy()
+ {
+ return xmlOrderByEClass;
+ }
+
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlOrderBy#getValue <em>Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Value</em>'.
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlOrderBy#getValue()
+ * @see #getXmlOrderBy()
+ * @generated
+ */
+ public EAttribute getXmlOrderBy_Value()
+ {
+ return (EAttribute)xmlOrderByEClass.getEStructuralFeatures().get(0);
}
@@ -11493,7 +11557,10 @@ public class OrmPackage extends EPackageImpl
xmlOneToOneEClass = createEClass(XML_ONE_TO_ONE);
xmlOrderableEClass = createEClass(XML_ORDERABLE);
- createEAttribute(xmlOrderableEClass, XML_ORDERABLE__ORDER_BY);
+ createEReference(xmlOrderableEClass, XML_ORDERABLE__ORDER_BY);
+
+ xmlOrderByEClass = createEClass(XML_ORDER_BY);
+ createEAttribute(xmlOrderByEClass, XML_ORDER_BY__VALUE);
xmlOrderColumnEClass = createEClass(XML_ORDER_COLUMN);
@@ -12036,7 +12103,10 @@ public class OrmPackage extends EPackageImpl
initEClass(xmlOneToOneEClass, XmlOneToOne.class, "XmlOneToOne", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(xmlOrderableEClass, XmlOrderable.class, "XmlOrderable", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
- initEAttribute(getXmlOrderable_OrderBy(), theXMLTypePackage.getString(), "orderBy", null, 0, 1, XmlOrderable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getXmlOrderable_OrderBy(), this.getXmlOrderBy(), null, "orderBy", null, 0, 1, XmlOrderable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(xmlOrderByEClass, XmlOrderBy.class, "XmlOrderBy", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getXmlOrderBy_Value(), theXMLTypePackage.getString(), "value", null, 0, 1, XmlOrderBy.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(xmlOrderColumnEClass, XmlOrderColumn.class, "XmlOrderColumn", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
@@ -14329,12 +14399,30 @@ public class OrmPackage extends EPackageImpl
public static final EClass XML_ORDERABLE = eINSTANCE.getXmlOrderable();
/**
- * The meta object literal for the '<em><b>Order By</b></em>' attribute feature.
+ * The meta object literal for the '<em><b>Order By</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EReference XML_ORDERABLE__ORDER_BY = eINSTANCE.getXmlOrderable_OrderBy();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlOrderBy <em>Xml Order By</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jpt.jpa.core.resource.orm.XmlOrderBy
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlOrderBy()
+ * @generated
+ */
+ public static final EClass XML_ORDER_BY = eINSTANCE.getXmlOrderBy();
+
+ /**
+ * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- public static final EAttribute XML_ORDERABLE__ORDER_BY = eINSTANCE.getXmlOrderable_OrderBy();
+ public static final EAttribute XML_ORDER_BY__VALUE = eINSTANCE.getXmlOrderBy_Value();
/**
* The meta object literal for the '{@link org.eclipse.jpt.jpa.core.resource.orm.DiscriminatorType <em>Discriminator Type</em>}' enum.
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlElementCollection.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlElementCollection.java
index f8cf3505bf..3a7495d824 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlElementCollection.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlElementCollection.java
@@ -126,24 +126,14 @@ public class XmlElementCollection extends AbstractXmlAttributeMapping implements
protected XmlOrderColumn orderColumn;
/**
- * The default value of the '{@link #getOrderBy() <em>Order By</em>}' attribute.
+ * The cached value of the '{@link #getOrderBy() <em>Order By</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getOrderBy()
* @generated
* @ordered
*/
- protected static final String ORDER_BY_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getOrderBy() <em>Order By</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getOrderBy()
- * @generated
- * @ordered
- */
- protected String orderBy = ORDER_BY_EDEFAULT;
+ protected XmlOrderBy orderBy;
/**
* The cached value of the '{@link #getAttributeOverrides() <em>Attribute Overrides</em>}' containment reference list.
@@ -599,38 +589,63 @@ public class XmlElementCollection extends AbstractXmlAttributeMapping implements
}
/**
- * Returns the value of the '<em><b>Order By</b></em>' attribute.
+ * Returns the value of the '<em><b>Order By</b></em>' containment reference.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Order By</em>' attribute isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
- * @return the value of the '<em>Order By</em>' attribute.
- * @see #setOrderBy(String)
+ * @return the value of the '<em>Order By</em>' containment reference.
+ * @see #setOrderBy(XmlOrderBy)
* @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlOrderable_OrderBy()
- * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @model containment="true"
* @generated
*/
- public String getOrderBy()
+ public XmlOrderBy getOrderBy()
{
return orderBy;
}
/**
- * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlElementCollection#getOrderBy <em>Order By</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @param value the new value of the '<em>Order By</em>' attribute.
- * @see #getOrderBy()
* @generated
*/
- public void setOrderBy(String newOrderBy)
+ public NotificationChain basicSetOrderBy(XmlOrderBy newOrderBy, NotificationChain msgs)
{
- String oldOrderBy = orderBy;
+ XmlOrderBy oldOrderBy = orderBy;
orderBy = newOrderBy;
if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ELEMENT_COLLECTION__ORDER_BY, oldOrderBy, orderBy));
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ELEMENT_COLLECTION__ORDER_BY, oldOrderBy, newOrderBy);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlElementCollection#getOrderBy <em>Order By</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Order By</em>' containment reference.
+ * @see #getOrderBy()
+ * @generated
+ */
+ public void setOrderBy(XmlOrderBy newOrderBy)
+ {
+ if (newOrderBy != orderBy)
+ {
+ NotificationChain msgs = null;
+ if (orderBy != null)
+ msgs = ((InternalEObject)orderBy).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ELEMENT_COLLECTION__ORDER_BY, null, msgs);
+ if (newOrderBy != null)
+ msgs = ((InternalEObject)newOrderBy).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OrmPackage.XML_ELEMENT_COLLECTION__ORDER_BY, null, msgs);
+ msgs = basicSetOrderBy(newOrderBy, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ELEMENT_COLLECTION__ORDER_BY, newOrderBy, newOrderBy));
}
/**
@@ -1281,6 +1296,8 @@ public class XmlElementCollection extends AbstractXmlAttributeMapping implements
return basicSetConvert(null, msgs);
case OrmPackage.XML_ELEMENT_COLLECTION__ORDER_COLUMN:
return basicSetOrderColumn(null, msgs);
+ case OrmPackage.XML_ELEMENT_COLLECTION__ORDER_BY:
+ return basicSetOrderBy(null, msgs);
case OrmPackage.XML_ELEMENT_COLLECTION__ATTRIBUTE_OVERRIDES:
return ((InternalEList<?>)getAttributeOverrides()).basicRemove(otherEnd, msgs);
case OrmPackage.XML_ELEMENT_COLLECTION__ASSOCIATION_OVERRIDES:
@@ -1394,7 +1411,7 @@ public class XmlElementCollection extends AbstractXmlAttributeMapping implements
setOrderColumn((XmlOrderColumn)newValue);
return;
case OrmPackage.XML_ELEMENT_COLLECTION__ORDER_BY:
- setOrderBy((String)newValue);
+ setOrderBy((XmlOrderBy)newValue);
return;
case OrmPackage.XML_ELEMENT_COLLECTION__ATTRIBUTE_OVERRIDES:
getAttributeOverrides().clear();
@@ -1480,7 +1497,7 @@ public class XmlElementCollection extends AbstractXmlAttributeMapping implements
setOrderColumn((XmlOrderColumn)null);
return;
case OrmPackage.XML_ELEMENT_COLLECTION__ORDER_BY:
- setOrderBy(ORDER_BY_EDEFAULT);
+ setOrderBy((XmlOrderBy)null);
return;
case OrmPackage.XML_ELEMENT_COLLECTION__ATTRIBUTE_OVERRIDES:
getAttributeOverrides().clear();
@@ -1555,7 +1572,7 @@ public class XmlElementCollection extends AbstractXmlAttributeMapping implements
case OrmPackage.XML_ELEMENT_COLLECTION__ORDER_COLUMN:
return orderColumn != null;
case OrmPackage.XML_ELEMENT_COLLECTION__ORDER_BY:
- return ORDER_BY_EDEFAULT == null ? orderBy != null : !ORDER_BY_EDEFAULT.equals(orderBy);
+ return orderBy != null;
case OrmPackage.XML_ELEMENT_COLLECTION__ATTRIBUTE_OVERRIDES:
return attributeOverrides != null && !attributeOverrides.isEmpty();
case OrmPackage.XML_ELEMENT_COLLECTION__ASSOCIATION_OVERRIDES:
@@ -1815,8 +1832,6 @@ public class XmlElementCollection extends AbstractXmlAttributeMapping implements
result.append(temporal);
result.append(", enumerated: ");
result.append(enumerated);
- result.append(", orderBy: ");
- result.append(orderBy);
result.append(", mapKeyTemporal: ");
result.append(mapKeyTemporal);
result.append(", mapKeyEnumerated: ");
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlOrderBy.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlOrderBy.java
new file mode 100644
index 0000000000..caf74af9ac
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlOrderBy.java
@@ -0,0 +1,211 @@
+/**
+ */
+package org.eclipse.jpt.jpa.core.resource.orm;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.jpt.common.core.internal.utility.translators.SimpleTranslator;
+import org.eclipse.jpt.common.core.resource.xml.EBaseObject;
+import org.eclipse.jpt.common.core.resource.xml.EBaseObjectImpl;
+import org.eclipse.jpt.common.utility.internal.StringTools;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Order By</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.jpt.jpa.core.resource.orm.XmlOrderBy#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlOrderBy()
+ * @model kind="class"
+ * @extends EBaseObject
+ * @generated
+ */
+public class XmlOrderBy extends EBaseObjectImpl implements EBaseObject
+{
+ /**
+ * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @ordered
+ */
+ protected static final String VALUE_EDEFAULT = StringTools.EMPTY_STRING;
+
+ /**
+ * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected String value = VALUE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected XmlOrderBy()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return OrmPackage.Literals.XML_ORDER_BY;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Value</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Value</em>' attribute.
+ * @see #setValue(String)
+ * @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlOrderBy_Value()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ public String getValue()
+ {
+ return value;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlOrderBy#getValue <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Value</em>' attribute.
+ * @see #getValue()
+ */
+ public void setValue(String newValue)
+ {
+ String oldValue = value;
+ if (newValue == null) {
+ newValue = StringTools.EMPTY_STRING;
+ }
+ value = newValue;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OrmPackage.XML_ORDER_BY__VALUE, oldValue, value));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.XML_ORDER_BY__VALUE:
+ return getValue();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.XML_ORDER_BY__VALUE:
+ setValue((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.XML_ORDER_BY__VALUE:
+ setValue(VALUE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case OrmPackage.XML_ORDER_BY__VALUE:
+ return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (value: ");
+ result.append(value);
+ result.append(')');
+ return result.toString();
+ }
+
+
+ // ********** translators **********
+
+ public static Translator buildTranslator() {
+ return new SimpleTranslator(
+ JPA.ORDER_BY,
+ OrmPackage.eINSTANCE.getXmlOrderable_OrderBy(),
+ Translator.END_TAG_NO_INDENT,
+ buildTranslatorChildren());
+ }
+
+ private static Translator[] buildTranslatorChildren() {
+ return new Translator[] { buildValueTranslator() };
+ }
+
+ protected static Translator buildValueTranslator() {
+ return new Translator(Translator.TEXT_ATTRIBUTE_VALUE, OrmPackage.eINSTANCE.getXmlOrderBy_Value());
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlOrderable.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlOrderable.java
index d7d50139d2..9b835d758b 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlOrderable.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/XmlOrderable.java
@@ -36,29 +36,29 @@ import org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlOrderable_2_0;
public interface XmlOrderable extends XmlOrderable_2_0
{
/**
- * Returns the value of the '<em><b>Order By</b></em>' attribute.
+ * Returns the value of the '<em><b>Order By</b></em>' containment reference.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Order By</em>' attribute isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
- * @return the value of the '<em>Order By</em>' attribute.
- * @see #setOrderBy(String)
+ * @return the value of the '<em>Order By</em>' containment reference.
+ * @see #setOrderBy(XmlOrderBy)
* @see org.eclipse.jpt.jpa.core.resource.orm.OrmPackage#getXmlOrderable_OrderBy()
- * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @model containment="true"
* @generated
*/
- String getOrderBy();
+ XmlOrderBy getOrderBy();
/**
- * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlOrderable#getOrderBy <em>Order By</em>}' attribute.
+ * Sets the value of the '{@link org.eclipse.jpt.jpa.core.resource.orm.XmlOrderable#getOrderBy <em>Order By</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @param value the new value of the '<em>Order By</em>' attribute.
+ * @param value the new value of the '<em>Order By</em>' containment reference.
* @see #getOrderBy()
* @generated
*/
- void setOrderBy(String value);
+ void setOrderBy(XmlOrderBy value);
} // XmlOrderable
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/OrmV2_0Package.java b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/OrmV2_0Package.java
index 8197824397..b7f2bd5b50 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/OrmV2_0Package.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/model/src/org/eclipse/jpt/jpa/core/resource/orm/v2_0/OrmV2_0Package.java
@@ -380,7 +380,7 @@ public class OrmV2_0Package extends EPackageImpl
public static final int XML_ELEMENT_COLLECTION_20__ORDER_COLUMN = OrmPackage.XML_CONVERTIBLE_MAPPING_FEATURE_COUNT + 0;
/**
- * The feature id for the '<em><b>Order By</b></em>' attribute.
+ * The feature id for the '<em><b>Order By</b></em>' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/context/OrderBy.java b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/context/OrderBy.java
new file mode 100644
index 0000000000..700623f8e9
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/context/OrderBy.java
@@ -0,0 +1,48 @@
+/*******************************************************************************
+ * Copyright (c) 2013 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.jpt.jpa.core.context;
+
+/**
+ * For primary key or specified other key ordering
+ * <p>
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ *
+ * @version 3.4
+ * @since 3.4
+ */
+public interface OrderBy
+ extends JpaContextModel {
+
+ /**
+ * String associated with changes to the "key" property
+ */
+ static final String KEY_PROPERTY = "key"; //$NON-NLS-1$
+
+ /**
+ * A value of <code>null</code> indicates that ordering is by primary key
+ * (see {@link #isByPrimaryKey()})
+ */
+ String getKey();
+
+ /**
+ * Set to <code>null</code> to indicate ordering by primary key
+ */
+ void setKey(String newKey);
+
+ /**
+ * Return if ordering is by primary key.
+ * (see {@link #getKey()}
+ */
+ boolean isByPrimaryKey();
+}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/context/Orderable.java b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/context/Orderable.java
index 808d98a978..f42aa0e119 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/context/Orderable.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/context/Orderable.java
@@ -18,27 +18,54 @@ package org.eclipse.jpt.jpa.core.context;
* pioneering adopters on the understanding that any code that uses this API
* will almost certainly be broken (repeatedly) as the API evolves.
*
- * @version 2.3
+ * @version 3.4
* @since 2.3
*/
public interface Orderable
- extends JpaContextModel
-{
+ extends JpaContextModel {
+
AttributeMapping getParent();
-
- String getSpecifiedOrderBy();
- void setSpecifiedOrderBy(String orderBy);
- String SPECIFIED_ORDER_BY_PROPERTY = "specifiedOrderBy"; //$NON-NLS-1$
+
+ // ***** no ordering *****
+
+ /**
+ * String associated with changes to the "noOrdering" property
+ */
+ String NO_ORDERING_PROPERTY = "noOrdering"; //$NON-NLS-1$
+
+ /**
+ * Will have no ordering if no other metadata is present
+ */
boolean isNoOrdering();
- void setNoOrdering(boolean noOrdering);
- String NO_ORDERING_PROPERTY = "noOrdering"; //$NON-NLS-1$
- boolean isPkOrdering();
- void setPkOrdering(boolean pkOrdering);
- String PK_ORDERING_PROPERTY = "pkOrdering"; //$NON-NLS-1$
+ /**
+ * Will set noOrdering to true (will remove all other metadata)
+ */
+ void setNoOrdering();
+
+
+ // ***** order by *****
+
+ /**
+ * String associated with changes to the "orderByOrdering" property
+ */
+ String ORDER_BY_ORDERING_PROPERTY = "orderByOrdering"; //$NON-NLS-1$
+
+ /**
+ * If true, will have orderBy metadata that takes precedence over other metadata
+ */
+ boolean isOrderByOrdering();
+
+ /**
+ * Will set orderByOrdering to true
+ * (will remove all other metadata, and will set orderBy to null)
+ */
+ void setOrderByOrdering();
- boolean isCustomOrdering();
- void setCustomOrdering(boolean customOrdering);
- String CUSTOM_ORDERING_PROPERTY = "customOrdering"; //$NON-NLS-1$
+ /**
+ * Return the orderBy object.
+ * This will never be null.
+ */
+ OrderBy getOrderBy();
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/jpa1/context/java/GenericJavaOrderBy.java b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/jpa1/context/java/GenericJavaOrderBy.java
new file mode 100644
index 0000000000..82062f52b8
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/jpa1/context/java/GenericJavaOrderBy.java
@@ -0,0 +1,99 @@
+/*******************************************************************************
+ * Copyright (c) 2013 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.jpt.jpa.core.internal.jpa1.context.java;
+
+import org.eclipse.jpt.common.core.utility.TextRange;
+import org.eclipse.jpt.common.utility.internal.StringTools;
+import org.eclipse.jpt.jpa.core.context.JpaContextModel;
+import org.eclipse.jpt.jpa.core.context.OrderBy;
+import org.eclipse.jpt.jpa.core.internal.context.java.AbstractJavaContextModel;
+import org.eclipse.jpt.jpa.core.resource.java.OrderByAnnotation;
+
+public class GenericJavaOrderBy
+ extends AbstractJavaContextModel<JpaContextModel>
+ implements OrderBy {
+
+ protected Context context;
+
+ protected String key;
+
+
+ public GenericJavaOrderBy(JpaContextModel parent, Context context) {
+ super(parent);
+ this.context = context;
+ initKey();
+ }
+
+
+ // ***** sync/update *****
+
+ @Override
+ public void synchronizeWithResourceModel() {
+ super.synchronizeWithResourceModel();
+ synchKey();
+ }
+
+
+ // ***** key *****
+
+ public String getKey() {
+ return this.key;
+ }
+
+ public void setKey(String newKey) {
+ if (newKey == null) {
+ OrderByAnnotation annotation = this.context.getAnnotation(false);
+ if (annotation != null) {
+ annotation.setValue(null);
+ }
+ }
+ else {
+ this.context.getAnnotation(true).setValue(newKey);
+ }
+ setKey_(newKey);
+ }
+
+ protected void setKey_(String newKey) {
+ String oldKey = this.key;
+ this.key = newKey;
+ firePropertyChanged(KEY_PROPERTY, oldKey, newKey);
+ }
+
+ protected void initKey() {
+ this.key = getResourceKey();
+ }
+
+ protected void synchKey() {
+ setKey_(getResourceKey());
+ }
+
+ protected String getResourceKey() {
+ OrderByAnnotation annotation = this.context.getAnnotation(false);
+ return (annotation == null) ? null : annotation.getValue();
+ }
+
+ public boolean isByPrimaryKey() {
+ return StringTools.isBlank(this.key);
+ }
+
+
+ // ***** content assist / validation *****
+
+ public TextRange getValidationTextRange() {
+ OrderByAnnotation annotation = this.context.getAnnotation(false);
+ return (annotation == null) ? getParent().getValidationTextRange() : annotation.getTextRange();
+ }
+
+
+ public interface Context {
+
+ OrderByAnnotation getAnnotation(boolean addIfAbsent);
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/jpa1/context/java/GenericJavaOrderable.java b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/jpa1/context/java/GenericJavaOrderable.java
index ef36c93605..ffa5ab3777 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/jpa1/context/java/GenericJavaOrderable.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/jpa1/context/java/GenericJavaOrderable.java
@@ -13,6 +13,7 @@ import java.util.List;
import org.eclipse.jpt.common.core.resource.java.JavaResourceAttribute;
import org.eclipse.jpt.common.core.utility.TextRange;
import org.eclipse.jpt.jpa.core.context.NamedColumn;
+import org.eclipse.jpt.jpa.core.context.OrderBy;
import org.eclipse.jpt.jpa.core.context.java.JavaAttributeMapping;
import org.eclipse.jpt.jpa.core.context.java.JavaSpecifiedPersistentAttribute;
import org.eclipse.jpt.jpa.core.internal.context.JpaValidator;
@@ -24,6 +25,7 @@ import org.eclipse.jpt.jpa.core.jpa2.context.SpecifiedOrderColumn2_0;
import org.eclipse.jpt.jpa.core.jpa2.context.java.JavaOrderable2_0;
import org.eclipse.jpt.jpa.core.jpa2.context.java.JavaSpecifiedOrderColumn2_0;
import org.eclipse.jpt.jpa.core.jpa2.resource.java.OrderColumnAnnotation2_0;
+import org.eclipse.jpt.jpa.core.resource.java.JPA;
import org.eclipse.jpt.jpa.core.resource.java.OrderByAnnotation;
import org.eclipse.jpt.jpa.core.validation.JptJpaCoreValidationMessages;
import org.eclipse.jpt.jpa.db.Table;
@@ -33,265 +35,226 @@ import org.eclipse.wst.validation.internal.provisional.core.IReporter;
/**
* Java ordering
* <p>
- * <strong>NB:</strong> Setting any flag to <code>false</code> (or setting the
- * specified "order by" to <code>null</code>) can be a bit unpredictable. The
- * intent is to set a flag to <code>true</code> (or set the specified "order by"
- * to a non-<code>null</code> value).
- * <p>
* <strong>(JPA 2.0 only) NB:</strong> If both the "order by" and the "order
* column" annotations are present (which is prohibited by the JPA spec),
- * both are ignored.
+ * order by is ignored (although the model is still there)
*/
public class GenericJavaOrderable
- extends AbstractJavaContextModel<JavaAttributeMapping>
- implements JavaOrderable2_0
-{
- protected String specifiedOrderBy;
+ extends AbstractJavaContextModel<JavaAttributeMapping>
+ implements JavaOrderable2_0 {
+
+ protected final JavaOrderable2_0.ParentAdapter parentAdapter;
+
protected boolean noOrdering = false;
- protected boolean pkOrdering = false;
- protected boolean customOrdering = false;
-
+
+ protected boolean orderByOrdering = false;
+ // never null
+ protected OrderBy orderBy;
+
+ protected boolean orderColumnOrdering = false;
+ // never null
+ protected JavaSpecifiedOrderColumn2_0 orderColumn;
// JPA 1.0
protected OrderColumnAnnotation2_0 nullOrderColumnAnnotation;
-
- // JPA 2.0
- protected final JavaOrderable2_0.ParentAdapter parentAdapter;
- protected boolean orderColumnOrdering = false;
- protected final JavaSpecifiedOrderColumn2_0 orderColumn;
-
-
+
+
/**
* JPA 1.0
*/
public GenericJavaOrderable(JavaAttributeMapping parent) {
this(new JavaOrderable2_0.ParentAdapter.Null(parent));
}
-
+
/**
* JPA 2.0
*/
public GenericJavaOrderable(JavaOrderable2_0.ParentAdapter parentAdapter) {
super(parentAdapter.getOrderableParent());
- this.specifiedOrderBy = this.buildSpecifiedOrderBy();
- this.noOrdering = this.buildNoOrdering();
- this.pkOrdering = this.buildPkOrdering();
- this.customOrdering = this.buildCustomOrdering();
-
+
this.parentAdapter = parentAdapter;
- this.orderColumnOrdering = this.buildOrderColumnOrdering();
- this.orderColumn = this.buildOrderColumn();
+
+ initNoOrdering();
+ initOrderBy();
+ initOrderColumn();
}
-
-
+
+
// ********** synchronize/update **********
-
+
@Override
public void synchronizeWithResourceModel() {
super.synchronizeWithResourceModel();
-
- this.setSpecifiedOrderBy_(this.buildSpecifiedOrderBy());
- this.setNoOrdering_(this.buildNoOrdering());
- this.setPkOrdering_(this.buildPkOrdering());
- this.setCustomOrdering_(this.buildCustomOrdering());
-
- this.setOrderColumnOrdering_(this.buildOrderColumnOrdering());
- this.orderColumn.synchronizeWithResourceModel();
+ syncNoOrdering();
+ syncOrderBy();
+ syncOrderColumn();
}
@Override
public void update() {
super.update();
- this.orderColumn.update();
+ updateOrderBy();
+ updateOrderColumn();
}
-
-
- // ********** specified order by **********
-
- public String getSpecifiedOrderBy() {
- return this.specifiedOrderBy;
- }
-
- public void setSpecifiedOrderBy(String orderBy) {
- if (orderBy != null) {
- this.removeOrderColumnAnnotation();
- this.getOrderByAnnotationForUpdate().setValue(orderBy);
-
- this.setSpecifiedOrderBy_(orderBy);
- this.setNoOrdering_(false);
- this.setPkOrdering_(false);
- this.setCustomOrdering_(true);
- this.setOrderColumnOrdering_(false);
- } else {
- this.setNoOrdering(true); // hmmm...
- }
- }
-
- protected void setSpecifiedOrderBy_(String orderBy) {
- String old = this.specifiedOrderBy;
- this.specifiedOrderBy = orderBy;
- this.firePropertyChanged(SPECIFIED_ORDER_BY_PROPERTY, old, orderBy);
- }
-
- protected String buildSpecifiedOrderBy() {
- if (this.orderColumnAnnotationIsPresent()) {
- return null;
- }
- OrderByAnnotation orderByAnnotation = this.getOrderByAnnotation();
- return (orderByAnnotation == null) ? null : orderByAnnotation.getValue();
- }
-
-
- // ********** no ordering **********
-
+
+
+ // ****** no ordering *****
+
public boolean isNoOrdering() {
return this.noOrdering;
}
-
- public void setNoOrdering(boolean noOrdering) {
- if (noOrdering) {
- this.removeOrderColumnAnnotation();
- if (this.getOrderByAnnotation() != null) {
- this.removeOrderByAnnotation();
- }
-
- this.setSpecifiedOrderBy_(null);
- this.setNoOrdering_(true);
- this.setPkOrdering_(false);
- this.setCustomOrdering_(false);
- this.setOrderColumnOrdering_(false);
- } else {
- this.setPkOrdering(true); // hmmm...
- }
- }
-
+
+ public void setNoOrdering() {
+ removeOrderColumnAnnotation();
+ removeOrderByAnnotation();
+
+ setNoOrdering_(true);
+ this.orderBy.setKey(null);
+ setOrderByOrdering_(false);
+ setOrderColumnOrdering_(false);
+ }
+
protected void setNoOrdering_(boolean noOrdering) {
boolean old = this.noOrdering;
this.noOrdering = noOrdering;
this.firePropertyChanged(NO_ORDERING_PROPERTY, old, noOrdering);
}
-
+
+ protected void initNoOrdering() {
+ this.noOrdering = buildNoOrdering();
+ }
+
+ protected void syncNoOrdering() {
+ setNoOrdering_(buildNoOrdering());
+ }
+
protected boolean buildNoOrdering() {
- return this.isJpa2_0Compatible() ? this.buildNoOrdering2_0() : this.buildNoOrdering1_0();
+ return isJpa2_0Compatible() ? buildNoOrdering2_0() : buildNoOrdering1_0();
}
-
+
/**
- * both annotations are missing <em>or</em> both are present
+ * both annotations are missing
*/
protected boolean buildNoOrdering2_0() {
- boolean orderByMissing = (this.getOrderByAnnotation() == null);
- boolean orderByPresent = ! orderByMissing;
- boolean orderColumnMissing = (this.getOrderColumnAnnotation() == null);
- boolean orderColumnPresent = ! orderColumnMissing;
- return (orderByMissing && orderColumnMissing) || (orderByPresent && orderColumnPresent);
+ return getOrderByAnnotation() == null && getOrderColumnAnnotation() == null;
}
-
+
/**
* the order-by annotation is missing
*/
protected boolean buildNoOrdering1_0() {
- return this.getOrderByAnnotation() == null;
- }
-
-
- // ********** pk ordering **********
-
- public boolean isPkOrdering() {
- return this.pkOrdering;
- }
-
- public void setPkOrdering(boolean pkOrdering) {
- if (pkOrdering) {
- this.removeOrderColumnAnnotation();
- OrderByAnnotation orderByAnnotation = this.getOrderByAnnotation();
- if (orderByAnnotation == null) {
- this.addOrderByAnnotation();
- } else {
- orderByAnnotation.setValue(null);
- }
-
- this.setSpecifiedOrderBy_(null);
- this.setNoOrdering_(false);
- this.setPkOrdering_(true);
- this.setCustomOrdering_(false);
- this.setOrderColumnOrdering_(false);
- } else {
- this.setNoOrdering(true); // hmmm...
+ return getOrderByAnnotation() == null;
+ }
+
+
+ // ***** order-by ordering *****
+
+ public boolean isOrderByOrdering() {
+ return this.orderByOrdering;
+ }
+
+ public void setOrderByOrdering() {
+ removeOrderColumnAnnotation();
+ if (getOrderByAnnotation() == null) {
+ addOrderByAnnotation();
}
+
+ setNoOrdering_(false);
+ setOrderByOrdering_(true);
+ setOrderColumnOrdering_(false);
+ }
+
+ protected void setOrderByOrdering_(boolean orderByOrdering) {
+ boolean old = this.orderByOrdering;
+ this.orderByOrdering = orderByOrdering;
+ firePropertyChanged(ORDER_BY_ORDERING_PROPERTY, old, orderByOrdering);
+ }
+
+ public OrderBy getOrderBy() {
+ return this.orderBy;
+ }
+
+ protected void initOrderBy() {
+ this.orderByOrdering = buildOrderByOrdering();
+ this.orderBy = buildOrderBy();
+ }
+
+ protected void syncOrderBy() {
+ setOrderByOrdering_(buildOrderByOrdering());
+ this.orderBy.synchronizeWithResourceModel();
+ }
+
+ protected void updateOrderBy() {
+ this.orderBy.update();
+ }
+
+ protected boolean buildOrderByOrdering() {
+ return isJpa2_0Compatible() ? buildOrderByOrdering2_0() : buildOrderByOrdering1_0();
+ }
+
+ /**
+ * OrderBy annotation is present, but OrderColumn is absent
+ */
+ protected boolean buildOrderByOrdering2_0() {
+ return getOrderByAnnotation() != null && getOrderColumnAnnotation() == null;
}
-
- protected void setPkOrdering_(boolean pkOrdering) {
- boolean old = this.pkOrdering;
- this.pkOrdering = pkOrdering;
- this.firePropertyChanged(PK_ORDERING_PROPERTY, old, pkOrdering);
- }
-
+
/**
- * the order-by annotation is present but no value specified
+ * OrderBy annotation is present
*/
- protected boolean buildPkOrdering() {
- if (this.orderColumnAnnotationIsPresent()) {
- return false;
+ protected boolean buildOrderByOrdering1_0() {
+ return getOrderByAnnotation() != null;
+ }
+
+ protected OrderBy buildOrderBy() {
+ return new GenericJavaOrderBy(this, new OrderByContext());
+ }
+
+ protected class OrderByContext
+ implements GenericJavaOrderBy.Context {
+
+ public OrderByAnnotation getAnnotation(boolean addIfAbsent) {
+ OrderByAnnotation annotation = GenericJavaOrderable.this.getOrderByAnnotation();
+ if (annotation == null && addIfAbsent) {
+ annotation = addOrderByAnnotation();
+ }
+ return annotation;
}
- OrderByAnnotation orderByAnnotation = this.getOrderByAnnotation();
- return (orderByAnnotation != null) && (orderByAnnotation.getValue() == null);
- }
-
-
- // ********** custom ordering **********
-
- public boolean isCustomOrdering() {
- return this.customOrdering;
}
-
- public void setCustomOrdering(boolean customOrdering) {
- if (customOrdering) {
- this.setSpecifiedOrderBy(""); //$NON-NLS-1$
- } else {
- this.setNoOrdering(true); // hmmm...
- }
+
+
+ // ***** order by annotation *****
+
+ protected OrderByAnnotation getOrderByAnnotation() {
+ return (OrderByAnnotation) this.getResourceAttribute().getAnnotation(JPA.ORDER_BY);
}
-
- protected void setCustomOrdering_(boolean customOrdering) {
- boolean old = this.customOrdering;
- this.customOrdering = customOrdering;
- this.firePropertyChanged(CUSTOM_ORDERING_PROPERTY, old, customOrdering);
+
+ protected OrderByAnnotation addOrderByAnnotation() {
+ return (OrderByAnnotation) this.getResourceAttribute().addAnnotation(JPA.ORDER_BY);
}
-
- /**
- * the order-by annotation is present and it has a specified value
- */
- protected boolean buildCustomOrdering() {
- if (this.orderColumnAnnotationIsPresent()) {
- return false;
+
+ protected void removeOrderByAnnotation() {
+ if (getResourceAttribute().getAnnotation(JPA.ORDER_BY) != null) {
+ getResourceAttribute().removeAnnotation(JPA.ORDER_BY);
}
- OrderByAnnotation orderByAnnotation = this.getOrderByAnnotation();
- return (orderByAnnotation != null) && (orderByAnnotation.getValue() != null);
}
-
-
- // ********** order column ordering **********
-
+
+
+ // ***** order column ordering *****
+
public boolean isOrderColumnOrdering() {
return this.orderColumnOrdering;
}
-
- public void setOrderColumnOrdering(boolean orderColumnOrdering) {
- if (orderColumnOrdering) {
- if (this.getOrderColumnAnnotation() == null) {
- this.addOrderColumnAnnotation();
- }
- if (this.getOrderByAnnotation() != null) {
- this.removeOrderByAnnotation();
- }
-
- this.setSpecifiedOrderBy_(null);
- this.setNoOrdering_(false);
- this.setPkOrdering_(false);
- this.setCustomOrdering_(false);
- this.setOrderColumnOrdering_(true);
- } else {
- this.setNoOrdering(true); // hmmm...
+
+ public void setOrderColumnOrdering() {
+ removeOrderByAnnotation();
+ if (getOrderColumnAnnotation() == null) {
+ addOrderColumnAnnotation();
}
+
+ setNoOrdering_(false);
+ setOrderByOrdering_(false);
+ this.orderBy.setKey(null);
+ setOrderColumnOrdering_(true);
}
protected void setOrderColumnOrdering_(boolean orderColumnOrdering) {
@@ -299,79 +262,56 @@ public class GenericJavaOrderable
this.orderColumnOrdering = orderColumnOrdering;
this.firePropertyChanged(ORDER_COLUMN_ORDERING_PROPERTY, old, orderColumnOrdering);
}
-
- /**
- * JPA 2.0 only;
- * the order column annotation is present <em>and</em>
- * the order-by annotation is missing
- */
- protected boolean buildOrderColumnOrdering() {
- return this.orderColumnAnnotationIsPresent() &&
- (this.getOrderByAnnotation() == null);
- }
-
-
- // ********** order column **********
-
+
public JavaSpecifiedOrderColumn2_0 getOrderColumn() {
return this.orderColumn;
}
-
- protected JavaSpecifiedOrderColumn2_0 buildOrderColumn() {
- JavaSpecifiedOrderColumn2_0.ParentAdapter columnParentAdapter = new OrderColumnParentAdapter();
- return this.isJpa2_0Compatible() ?
- this.getJpaFactory2_0().buildJavaOrderColumn(columnParentAdapter) :
- new GenericJavaOrderColumn2_0(columnParentAdapter);
+
+ protected void initOrderColumn() {
+ this.orderColumnOrdering = buildOrderColumnOrdering();
+ this.orderColumn = buildOrderColumn();
}
-
-
- // ********** order by annotation **********
-
- protected OrderByAnnotation getOrderByAnnotation() {
- return (OrderByAnnotation) this.getResourceAttribute().getAnnotation(OrderByAnnotation.ANNOTATION_NAME);
+
+ protected void syncOrderColumn() {
+ setOrderColumnOrdering_(buildOrderColumnOrdering());
+ this.orderColumn.synchronizeWithResourceModel();
}
-
- protected OrderByAnnotation getOrderByAnnotationForUpdate() {
- OrderByAnnotation annotation = this.getOrderByAnnotation();
- return (annotation != null) ? annotation : this.addOrderByAnnotation();
+
+ protected void updateOrderColumn() {
+ this.orderColumn.update();
}
-
- protected OrderByAnnotation addOrderByAnnotation() {
- return (OrderByAnnotation) this.getResourceAttribute().addAnnotation(OrderByAnnotation.ANNOTATION_NAME);
+
+ /**
+ * Only true if JPA 2.0 *and* annotation is present
+ */
+ protected boolean buildOrderColumnOrdering() {
+ return isJpa2_0Compatible() ? getOrderColumnAnnotation() != null : false;
}
-
- protected void removeOrderByAnnotation() {
- this.getResourceAttribute().removeAnnotation(OrderByAnnotation.ANNOTATION_NAME);
+
+ protected JavaSpecifiedOrderColumn2_0 buildOrderColumn() {
+ JavaSpecifiedOrderColumn2_0.ParentAdapter columnParentAdapter = new OrderColumnParentAdapter();
+ return isJpa2_0Compatible() ?
+ getJpaFactory2_0().buildJavaOrderColumn(columnParentAdapter) :
+ new GenericJavaOrderColumn2_0(columnParentAdapter);
}
-
-
- // ********** order column annotation **********
-
+
+
+ // ***** order column annotation *****
+
protected OrderColumnAnnotation2_0 getOrderColumnAnnotation() {
return (OrderColumnAnnotation2_0) this.getResourceAttribute().getAnnotation(OrderColumnAnnotation2_0.ANNOTATION_NAME);
}
-
- /**
- * NB: Only return <code>true</code> for JPA 2.0 mappings.
- */
- protected boolean orderColumnAnnotationIsPresent() {
- return this.isJpa2_0Compatible() && (this.getOrderColumnAnnotation() != null);
- }
-
+
protected OrderColumnAnnotation2_0 addOrderColumnAnnotation() {
return (OrderColumnAnnotation2_0) this.getResourceAttribute().addAnnotation(OrderColumnAnnotation2_0.ANNOTATION_NAME);
}
-
+
protected void removeOrderColumnAnnotation() {
- if (this.orderColumnAnnotationIsPresent()) {
- this.removeOrderColumnAnnotation_();
+ if (getResourceAttribute().getAnnotation(OrderColumnAnnotation2_0.ANNOTATION_NAME) != null) {
+ getResourceAttribute().removeAnnotation(OrderColumnAnnotation2_0.ANNOTATION_NAME);
}
}
-
- protected void removeOrderColumnAnnotation_() {
- this.getResourceAttribute().removeAnnotation(OrderColumnAnnotation2_0.ANNOTATION_NAME);
- }
-
+
/**
* If we are in a JPA 1.0 project, return a <em>null</em> annotation.
*/
@@ -381,74 +321,74 @@ public class GenericJavaOrderable
(OrderColumnAnnotation2_0) this.getResourceAttribute().getNonNullAnnotation(OrderColumnAnnotation2_0.ANNOTATION_NAME) :
this.getNullOrderColumnAnnotation();
}
-
+
protected OrderColumnAnnotation2_0 getNullOrderColumnAnnotation() {
if (this.nullOrderColumnAnnotation == null) {
this.nullOrderColumnAnnotation = this.buildNullOrderColumnAnnotation();
}
return this.nullOrderColumnAnnotation;
}
-
+
protected OrderColumnAnnotation2_0 buildNullOrderColumnAnnotation() {
// hmmmm...
return (OrderColumnAnnotation2_0) OrderColumnAnnotationDefinition2_0.instance().buildNullAnnotation(this.getResourceAttribute());
}
-
-
- // ********** misc **********
-
+
+
+ // ***** misc *****
+
protected JavaAttributeMapping getAttributeMapping() {
return this.parent;
}
-
+
protected JavaSpecifiedPersistentAttribute getPersistentAttribute() {
return this.getAttributeMapping().getPersistentAttribute();
}
-
+
public JavaResourceAttribute getResourceAttribute() {
return this.getPersistentAttribute().getResourceAttribute();
}
-
+
// JPA 2.0 only
public String getDefaultTableName() {
return this.parentAdapter.getTableName();
}
-
+
// JPA 2.0 only
protected Table resolveDbTable(String tableName) {
return this.parentAdapter.resolveDbTable(tableName);
}
-
-
- // ********** Java completion proposals **********
-
+
+
+ // ***** content assist *****
+
@Override
public Iterable<String> getCompletionProposals(int pos) {
Iterable<String> result = super.getCompletionProposals(pos);
if (result != null) {
return result;
}
-
+
return this.orderColumn.getCompletionProposals(pos);
}
-
-
- // ********** validation **********
-
+
+
+ // ***** validation *****
+
public TextRange getValidationTextRange() {
TextRange textRange = this.getOrderByAnnotationTextRange();
return (textRange != null) ? textRange : this.getAttributeMapping().getValidationTextRange();
}
-
+
protected TextRange getOrderByAnnotationTextRange() {
OrderByAnnotation orderByAnnotation = this.getOrderByAnnotation();
return (orderByAnnotation == null) ? null : orderByAnnotation.getTextRange();
}
-
+
@Override
public void validate(List<IMessage> messages, IReporter reporter) {
super.validate(messages, reporter);
- if (this.orderColumnAnnotationIsPresent() && (this.getOrderByAnnotation() != null)) {
+ if ((getOrderColumnAnnotation() != null) && (getOrderByAnnotation() != null)) {
if (this.getPersistentAttribute().isVirtual()) {
messages.add(
this.buildValidationMessage(
@@ -475,45 +415,45 @@ public class GenericJavaOrderable
this.orderColumn.validate(messages, reporter);
}
}
-
-
- // ********** order column parent adapter (JPA 2.0) **********
-
+
+
+ // ***** order column parent adapter (JPA 2.0) *****
+
public class OrderColumnParentAdapter
- implements JavaSpecifiedOrderColumn2_0.ParentAdapter
- {
+ implements JavaSpecifiedOrderColumn2_0.ParentAdapter {
+
public JavaOrderable2_0 getColumnParent() {
return GenericJavaOrderable.this;
}
-
+
public String getDefaultTableName() {
return GenericJavaOrderable.this.getDefaultTableName();
}
-
+
public Table resolveDbTable(String tableName) {
return GenericJavaOrderable.this.resolveDbTable(tableName);
}
-
+
public String getDefaultColumnName(NamedColumn column) {
return this.getPersistentAttribute().getName() + "_ORDER"; //$NON-NLS-1$
}
-
+
public TextRange getValidationTextRange() {
return GenericJavaOrderable.this.getValidationTextRange();
}
-
+
public JpaValidator buildColumnValidator(NamedColumn column) {
return new OrderColumnValidator(this.getPersistentAttribute(), (SpecifiedOrderColumn2_0) column);
}
-
+
public OrderColumnAnnotation2_0 getColumnAnnotation() {
return GenericJavaOrderable.this.getNonNullOrderColumnAnnotation();
}
-
+
public void removeColumnAnnotation() {
- GenericJavaOrderable.this.removeOrderColumnAnnotation_();
+ GenericJavaOrderable.this.removeOrderColumnAnnotation();
}
-
+
protected JavaSpecifiedPersistentAttribute getPersistentAttribute() {
return GenericJavaOrderable.this.getPersistentAttribute();
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/jpa1/context/orm/GenericOrmOrderBy.java b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/jpa1/context/orm/GenericOrmOrderBy.java
new file mode 100644
index 0000000000..980ace72c6
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/jpa1/context/orm/GenericOrmOrderBy.java
@@ -0,0 +1,91 @@
+/*******************************************************************************
+ * Copyright (c) 2013 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.jpt.jpa.core.internal.jpa1.context.orm;
+
+import org.eclipse.jpt.common.core.utility.TextRange;
+import org.eclipse.jpt.common.utility.internal.StringTools;
+import org.eclipse.jpt.jpa.core.context.JpaContextModel;
+import org.eclipse.jpt.jpa.core.context.OrderBy;
+import org.eclipse.jpt.jpa.core.internal.context.AbstractJpaContextModel;
+import org.eclipse.jpt.jpa.core.resource.orm.XmlOrderBy;
+
+public class GenericOrmOrderBy
+ extends AbstractJpaContextModel<JpaContextModel>
+ implements OrderBy {
+
+ protected Context context;
+
+ protected String key;
+
+
+ public GenericOrmOrderBy(JpaContextModel parent, Context context) {
+ super(parent);
+ this.context = context;
+ initKey();
+ }
+
+
+ // ***** sync/update *****
+
+ @Override
+ public void synchronizeWithResourceModel() {
+ super.synchronizeWithResourceModel();
+ synchKey();
+ }
+
+
+ // ***** key *****
+
+ public String getKey() {
+ return this.key;
+ }
+
+ public void setKey(String newKey) {
+ this.context.getXmlOrderBy(true).setValue(newKey);
+ setKey_(newKey);
+ }
+
+ protected void setKey_(String newKey) {
+ String oldKey = this.key;
+ this.key = newKey;
+ firePropertyChanged(KEY_PROPERTY, oldKey, newKey);
+ }
+
+ protected void initKey() {
+ this.key = getResourceKey();
+ }
+
+ protected void synchKey() {
+ setKey_(getResourceKey());
+ }
+
+ protected String getResourceKey() {
+ XmlOrderBy xmlOrderBy = this.context.getXmlOrderBy(false);
+ return (xmlOrderBy == null) ? null : xmlOrderBy.getValue();
+ }
+
+ public boolean isByPrimaryKey() {
+ return StringTools.isBlank(this.key);
+ }
+
+
+ // ***** content assist / validation *****
+
+ public TextRange getValidationTextRange() {
+ XmlOrderBy xmlOrderBy = this.context.getXmlOrderBy(false);
+ return (xmlOrderBy == null) ? getParent().getValidationTextRange() : xmlOrderBy.getValidationTextRange();
+ }
+
+
+ public interface Context {
+
+ XmlOrderBy getXmlOrderBy(boolean addIfAbsent);
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/jpa1/context/orm/GenericOrmOrderable.java b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/jpa1/context/orm/GenericOrmOrderable.java
index f9a53f21b3..f9722e145d 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/jpa1/context/orm/GenericOrmOrderable.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/jpa1/context/orm/GenericOrmOrderable.java
@@ -12,6 +12,7 @@ package org.eclipse.jpt.jpa.core.internal.jpa1.context.orm;
import java.util.List;
import org.eclipse.jpt.common.core.utility.TextRange;
import org.eclipse.jpt.jpa.core.context.NamedColumn;
+import org.eclipse.jpt.jpa.core.context.OrderBy;
import org.eclipse.jpt.jpa.core.context.orm.OrmAttributeMapping;
import org.eclipse.jpt.jpa.core.context.orm.OrmSpecifiedPersistentAttribute;
import org.eclipse.jpt.jpa.core.internal.context.JpaValidator;
@@ -21,6 +22,7 @@ import org.eclipse.jpt.jpa.core.jpa2.context.SpecifiedOrderColumn2_0;
import org.eclipse.jpt.jpa.core.jpa2.context.orm.OrmOrderable2_0;
import org.eclipse.jpt.jpa.core.jpa2.context.orm.OrmSpecifiedOrderColumn2_0;
import org.eclipse.jpt.jpa.core.resource.orm.OrmFactory;
+import org.eclipse.jpt.jpa.core.resource.orm.XmlOrderBy;
import org.eclipse.jpt.jpa.core.resource.orm.XmlOrderColumn;
import org.eclipse.jpt.jpa.core.resource.orm.XmlOrderable;
import org.eclipse.jpt.jpa.db.Table;
@@ -30,29 +32,26 @@ import org.eclipse.wst.validation.internal.provisional.core.IReporter;
/**
* <code>orm.xml</code> ordering
* <p>
- * <strong>NB:</strong> Setting any flag to <code>false</code> (or setting the
- * specified "order by" to <code>null</code>) can be a bit unpredictable. The
- * intent is to set a flag to <code>true</code> (or set the specified "order by"
- * to a non-<code>null</code> value).
- * <p>
- * <strong>(JPA 2.0 only) NB:</strong> If both the "order-by" and the
+ *<strong>(JPA 2.0 only) NB:</strong> If both the "order-by" and the
* "order-column" elements are present (which is prohibited by the JPA spec),
- * both are ignored.
+ * order by is ignored (although the model is still there).
*/
public class GenericOrmOrderable
- extends AbstractOrmXmlContextModel<OrmAttributeMapping>
- implements OrmOrderable2_0
-{
- protected String specifiedOrderBy;
- protected boolean noOrdering = false;
- protected boolean pkOrdering = false;
- protected boolean customOrdering = false;
-
- // JPA 2.0
+ extends AbstractOrmXmlContextModel<OrmAttributeMapping>
+ implements OrmOrderable2_0 {
+
protected final OrmOrderable2_0.ParentAdapter parentAdapter;
+
+ protected boolean noOrdering = false;
+
+ protected boolean orderByOrdering = false;
+ // never null
+ protected OrderBy orderBy;
+
protected boolean orderColumnOrdering = false;
- protected final OrmSpecifiedOrderColumn2_0 orderColumn; // this is null for JPA 1.0 mappings
-
+ // this is null for JPA 1.0 mappings
+ protected OrmSpecifiedOrderColumn2_0 orderColumn;
+
/**
* JPA 1.0
@@ -60,298 +59,257 @@ public class GenericOrmOrderable
public GenericOrmOrderable(OrmAttributeMapping parent) {
this(new OrmOrderable2_0.ParentAdapter.Null(parent));
}
-
+
/**
* JPA 2.0
*/
public GenericOrmOrderable(OrmOrderable2_0.ParentAdapter parentAdapter) {
super(parentAdapter.getOrderableParent());
-
- this.specifiedOrderBy = this.buildSpecifiedOrderBy();
- this.noOrdering = this.buildNoOrdering();
- this.pkOrdering = this.buildPkOrdering();
- this.customOrdering = this.buildCustomOrdering();
-
+
this.parentAdapter = parentAdapter;
- this.orderColumnOrdering = this.buildOrderColumnOrdering();
- this.orderColumn = this.buildOrderColumn();
+
+ initNoOrdering();
+ initOrderBy();
+ initOrderColumn();
}
-
-
+
+
// ********** synchronize/update **********
-
+
@Override
public void synchronizeWithResourceModel() {
super.synchronizeWithResourceModel();
-
- this.setSpecifiedOrderBy_(this.buildSpecifiedOrderBy());
- this.setNoOrdering_(this.buildNoOrdering());
- this.setPkOrdering_(this.buildPkOrdering());
- this.setCustomOrdering_(this.buildCustomOrdering());
-
- this.setOrderColumnOrdering_(this.buildOrderColumnOrdering());
- if (this.orderColumn != null) {
- this.orderColumn.synchronizeWithResourceModel();
- }
+
+ synchNoOrdering();
+ synchOrderBy();
+ synchOrderColumn();
}
-
+
@Override
public void update() {
super.update();
- if (this.orderColumn != null) {
- this.orderColumn.update();
- }
- }
-
-
- // ********** specified order by **********
-
- public String getSpecifiedOrderBy() {
- return this.specifiedOrderBy;
- }
-
- public void setSpecifiedOrderBy(String orderBy) {
- if (orderBy != null) {
- this.setSpecifiedOrderBy_(orderBy);
- this.setNoOrdering_(false);
- this.setPkOrdering_(orderBy.length() == 0);
- this.setCustomOrdering_(orderBy.length() != 0);
- this.setOrderColumnOrdering_(false);
-
- this.removeXmlOrderColumn();
- this.getXmlOrderable().setOrderBy(orderBy);
- } else {
- this.setNoOrdering(true); // hmmm...
- }
- }
-
- protected void setSpecifiedOrderBy_(String orderBy) {
- String old = this.specifiedOrderBy;
- this.specifiedOrderBy = orderBy;
- this.firePropertyChanged(SPECIFIED_ORDER_BY_PROPERTY, old, orderBy);
- }
-
- protected String buildSpecifiedOrderBy() {
- if (this.xmlOrderColumnIsPresent()) {
- return null;
- }
- return this.getXmlOrderBy();
+ updateOrderBy();
+ updateOrderColumn();
}
-
-
- // ********** no ordering **********
-
+
+
+ // ***** no ordering *****
+
public boolean isNoOrdering() {
return this.noOrdering;
}
-
- public void setNoOrdering(boolean noOrdering) {
- if (noOrdering) {
- this.setSpecifiedOrderBy_(null);
- this.setNoOrdering_(true);
- this.setPkOrdering_(false);
- this.setCustomOrdering_(false);
- this.setOrderColumnOrdering_(false);
-
- this.removeXmlOrderColumn();
- this.getXmlOrderable().setOrderBy(null);
- } else {
- this.setPkOrdering(true); // hmmm...
- }
+
+ public void setNoOrdering() {
+ setNoOrdering_(true);
+ setOrderByOrdering_(false);
+ setOrderColumnOrdering_(false);
+
+ removeXmlOrderBy();
+ removeXmlOrderColumn();
}
-
+
protected void setNoOrdering_(boolean noOrdering) {
boolean old = this.noOrdering;
this.noOrdering = noOrdering;
this.firePropertyChanged(NO_ORDERING_PROPERTY, old, noOrdering);
}
-
+
+ protected void initNoOrdering() {
+ this.noOrdering = buildNoOrdering();
+ }
+
+ protected void synchNoOrdering() {
+ setNoOrdering_(buildNoOrdering());
+ }
+
protected boolean buildNoOrdering() {
- return this.isJpa2_0Compatible() ? this.buildNoOrdering2_0() : this.buildNoOrdering1_0();
+ return isJpa2_0Compatible() ? buildNoOrdering2_0() : buildNoOrdering1_0();
}
-
+
/**
- * both elements are missing <em>or</em> both are present
+ * both elements are missing
*/
protected boolean buildNoOrdering2_0() {
- boolean orderByMissing = (this.getXmlOrderBy() == null);
- boolean orderByPresent = ! orderByMissing;
- boolean orderColumnMissing = (this.getXmlOrderColumn() == null);
- boolean orderColumnPresent = ! orderColumnMissing;
- return (orderByMissing && orderColumnMissing) || (orderByPresent && orderColumnPresent);
+ return getXmlOrderBy() == null && getXmlOrderColumn() == null;
}
-
+
/**
* the order-by element is missing
*/
protected boolean buildNoOrdering1_0() {
return this.getXmlOrderBy() == null;
}
-
-
- // ********** pk ordering **********
-
- public boolean isPkOrdering() {
- return this.pkOrdering;
+
+
+ // ***** order-by ordering *****
+
+ public boolean isOrderByOrdering() {
+ return this.orderByOrdering;
}
-
- public void setPkOrdering(boolean pkOrdering) {
- if (pkOrdering) {
- this.setSpecifiedOrderBy(""); //$NON-NLS-1$
- } else {
- this.setNoOrdering(true); // hmmm...
- }
+
+ public void setOrderByOrdering() {
+ setNoOrdering_(false);
+ setOrderByOrdering_(true);
+ setOrderColumnOrdering_(false);
+
+ addXmlOrderBy();
+ removeXmlOrderColumn();
}
- protected void setPkOrdering_(boolean pkOrdering) {
- boolean old = this.pkOrdering;
- this.pkOrdering = pkOrdering;
- this.firePropertyChanged(PK_ORDERING_PROPERTY, old, pkOrdering);
+ protected void setOrderByOrdering_(boolean newOrderByOrdering) {
+ boolean old = this.orderByOrdering;
+ this.orderByOrdering = newOrderByOrdering;
+ this.firePropertyChanged(ORDER_BY_ORDERING_PROPERTY, old, newOrderByOrdering);
}
-
- /**
- * the order-by element is present but no value specified
- */
- protected boolean buildPkOrdering() {
- if (this.xmlOrderColumnIsPresent()) {
- return false;
- }
- String xmlOrderBy = this.getXmlOrderBy();
- return (xmlOrderBy != null) && (xmlOrderBy.length() == 0);
+
+ public OrderBy getOrderBy() {
+ return this.orderBy;
}
-
-
- // ********** custom ordering **********
-
- public boolean isCustomOrdering() {
- return this.customOrdering;
+
+ protected void initOrderBy() {
+ this.orderByOrdering = buildOrderByOrdering();
+ this.orderBy = buildOrderBy();
}
-
+
+ protected void synchOrderBy() {
+ setOrderByOrdering_(buildOrderByOrdering());
+ this.orderBy.synchronizeWithResourceModel();
+ }
+
+ protected void updateOrderBy() {
+ this.orderBy.update();
+ }
+
+ protected boolean buildOrderByOrdering() {
+ return isJpa2_0Compatible() ? buildOrderByOrdering2_0() : buildOrderByOrdering1_0();
+ }
+
/**
- * Unfortunately, setting the "custom ordering" flag directly is a bit hacky:
- * The "specified order-by" is initially set to an empty string, which is
- * the same as a "primary key ordering" state....
+ * order-by is present but order-column is not
*/
- public void setCustomOrdering(boolean customOrdering) {
- if (customOrdering) {
- this.setSpecifiedOrderBy_(""); // hmmm... //$NON-NLS-1$
- this.setNoOrdering_(false);
- this.setPkOrdering_(false);
- this.setCustomOrdering_(true);
- this.setOrderColumnOrdering_(false);
-
- this.removeXmlOrderColumn();
- this.getXmlOrderable().setOrderBy(""); //$NON-NLS-1$
- } else {
- this.setNoOrdering(true); // hmmm...
- }
+ protected boolean buildOrderByOrdering2_0() {
+ return getXmlOrderBy() != null && getXmlOrderColumn() == null;
}
-
- protected void setCustomOrdering_(boolean customOrdering) {
- boolean old = this.customOrdering;
- this.customOrdering = customOrdering;
- this.firePropertyChanged(CUSTOM_ORDERING_PROPERTY, old, customOrdering);
- }
-
+
/**
- * the order-by element is present and it has a specified value
+ * order-by is present
*/
- protected boolean buildCustomOrdering() {
- if (this.xmlOrderColumnIsPresent()) {
- return false;
+ protected boolean buildOrderByOrdering1_0() {
+ return getXmlOrderBy() != null;
+ }
+
+ protected OrderBy buildOrderBy() {
+ return new GenericOrmOrderBy(this, new OrderByContext());
+ }
+
+
+ protected class OrderByContext
+ implements GenericOrmOrderBy.Context {
+
+ public XmlOrderBy getXmlOrderBy(boolean addIfAbsent) {
+ XmlOrderBy xmlOrderBy = GenericOrmOrderable.this.getXmlOrderBy();
+ if (xmlOrderBy == null && addIfAbsent) {
+ xmlOrderBy = addXmlOrderBy();
+ }
+ return xmlOrderBy;
}
- String xmlOrderBy = this.getXmlOrderBy();
- return (xmlOrderBy != null) && (xmlOrderBy.length() != 0);
}
-
-
- // ********** order column ordering **********
-
+
+
+ // ***** order-column ordering *****
+
public boolean isOrderColumnOrdering() {
return this.orderColumnOrdering;
}
-
- public void setOrderColumnOrdering(boolean orderColumnOrdering) {
- if (orderColumnOrdering) {
- this.setSpecifiedOrderBy_(null);
- this.setNoOrdering_(false);
- this.setPkOrdering_(false);
- this.setCustomOrdering_(false);
- this.setOrderColumnOrdering_(true);
-
- this.getXmlOrderable().setOrderBy(null);
- this.buildXmlOrderColumn();
- } else {
- this.setNoOrdering(true); // hmmm...
- }
+
+ public void setOrderColumnOrdering() {
+ setNoOrdering_(false);
+ setOrderByOrdering_(false);
+ setOrderColumnOrdering_(true);
+
+ removeXmlOrderBy();
+ addXmlOrderColumn();
}
-
+
protected void setOrderColumnOrdering_(boolean orderColumnOrdering) {
boolean old = this.orderColumnOrdering;
this.orderColumnOrdering = orderColumnOrdering;
this.firePropertyChanged(ORDER_COLUMN_ORDERING_PROPERTY, old, orderColumnOrdering);
}
-
+
+ public OrmSpecifiedOrderColumn2_0 getOrderColumn() {
+ return this.orderColumn;
+ }
+
+ protected void initOrderColumn() {
+ this.orderColumnOrdering = buildOrderColumnOrdering();
+ this.orderColumn = buildOrderColumn();
+ }
+
+ protected void synchOrderColumn() {
+ setOrderColumnOrdering_(buildOrderColumnOrdering());
+ if (this.orderColumn != null) {
+ this.orderColumn.synchronizeWithResourceModel();
+ }
+ }
+
+ protected void updateOrderColumn() {
+ if (this.orderColumn != null) {
+ this.orderColumn.update();
+ }
+ }
+
/**
- * JPA 2.0 only;
- * the <code>order-column</code> element is present <em>and</em>
- * the <code>order-by</code> element is missing
+ * Only true if JPA 2.0 *and* order-column is present
*/
protected boolean buildOrderColumnOrdering() {
- return this.xmlOrderColumnIsPresent() &&
- (this.getXmlOrderBy() == null);
+ return isJpa2_0Compatible() ? getXmlOrderColumn() != null : false;
}
-
-
- // ********** order column **********
-
- public OrmSpecifiedOrderColumn2_0 getOrderColumn() {
- return this.orderColumn;
- }
-
+
/**
- * JPA 2.0 only
+ * non-null for JPA 2.0(+) only
*/
protected OrmSpecifiedOrderColumn2_0 buildOrderColumn() {
return this.isOrmXml2_0Compatible() ?
this.getContextModelFactory2_0().buildOrmOrderColumn(new OrderColumnParentAdapter()) :
null;
}
-
-
+
+
// ********** xml order by **********
- protected String getXmlOrderBy() {
+ protected XmlOrderBy getXmlOrderBy() {
return this.getXmlOrderable().getOrderBy();
}
-
-
+
+ protected XmlOrderBy addXmlOrderBy() {
+ XmlOrderBy xmlOrderBy = OrmFactory.eINSTANCE.createXmlOrderBy();
+ getXmlOrderable().setOrderBy(xmlOrderBy);
+ return xmlOrderBy;
+ }
+
+ protected void removeXmlOrderBy() {
+ getXmlOrderable().setOrderBy(null);
+ }
+
+
// ********** xml order column **********
protected XmlOrderColumn getXmlOrderColumn() {
return this.getXmlOrderable().getOrderColumn();
}
-
- /**
- * NB: Only return <code>true</code> for JPA 2.0 mappings.
- */
- protected boolean xmlOrderColumnIsPresent() {
- return this.isJpa2_0Compatible() && (this.getXmlOrderColumn() != null);
- }
-
- protected XmlOrderColumn buildXmlOrderColumn() {
+
+ protected XmlOrderColumn addXmlOrderColumn() {
XmlOrderColumn xmlColumn = OrmFactory.eINSTANCE.createXmlOrderColumn();
GenericOrmOrderable.this.getXmlOrderable().setOrderColumn(xmlColumn);
return xmlColumn;
}
-
+
protected void removeXmlOrderColumn() {
- if (this.xmlOrderColumnIsPresent()) {
- this.getXmlOrderable().setOrderColumn(null);
- }
+ getXmlOrderable().setOrderColumn(null);
}
-
-
+
+
// ********** misc **********
protected OrmAttributeMapping getAttributeMapping() {
@@ -447,7 +405,7 @@ public class GenericOrmOrderable
}
public XmlOrderColumn buildXmlColumn() {
- return GenericOrmOrderable.this.buildXmlOrderColumn();
+ return GenericOrmOrderable.this.addXmlOrderColumn();
}
public void removeXmlColumn() {
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/jpa2/context/Orderable2_0.java b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/jpa2/context/Orderable2_0.java
index 05ead55ac6..94d716a4f1 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/jpa2/context/Orderable2_0.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/jpa2/context/Orderable2_0.java
@@ -23,55 +23,78 @@ import org.eclipse.jpt.jpa.db.Table;
* pioneering adopters on the understanding that any code that uses this API
* will almost certainly be broken (repeatedly) as the API evolves.
*
- * @version 2.3
+ * @version 3.3
* @since 2.3
*/
public interface Orderable2_0
- extends Orderable
-{
+ extends Orderable {
+
+ // ***** order column *****
+
+ /**
+ * String associated with changes to the "orderColumnOrdering" property
+ */
+ String ORDER_COLUMN_ORDERING_PROPERTY = "orderColumnOrdering"; //$NON-NLS-1$
+
+ /**
+ * If true, will have orderColumn metadata that takes precedence over other metadata
+ */
boolean isOrderColumnOrdering();
- void setOrderColumnOrdering(boolean value);
- String ORDER_COLUMN_ORDERING_PROPERTY = "orderColumnOrdering"; //$NON-NLS-1$
-
+
+ /**
+ * Will set orderColumnOrdering to true
+ * (will remove all other metadata, and will set orderColumn to null)
+ */
+ void setOrderColumnOrdering();
+
+ /**
+ * Return the orderColumn object.
+ * This will never be null.
+ */
SpecifiedOrderColumn2_0 getOrderColumn();
-
+
+
String getDefaultTableName();
-
-
- // ************ parent adapter ************
-
+
+
+ // ***** parent adapter *****
+
/**
* interface allowing ordering in multiple places
* (i.e. multi-value relationship and element collection mappings)
*/
interface ParentAdapter<M extends AttributeMapping> {
-
+
M getOrderableParent();
-
+
/**
* Return the name of the column's table.
*/
String getTableName();
-
+
Table resolveDbTable(String tableName);
-
+
/**
* This can be used for JPA 1.0 implementations.
*/
class Null<M extends AttributeMapping>
- implements ParentAdapter<M>
- {
+ implements ParentAdapter<M> {
+
protected final M parent;
+
public Null(M parent) {
super();
this.parent = parent;
}
+
public M getOrderableParent() {
return this.parent;
}
+
public String getTableName() {
return null;
}
+
public Table resolveDbTable(String tableName) {
return null;
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/property_files/jpt_jpa_ui_details.properties b/jpa/plugins/org.eclipse.jpt.jpa.ui/property_files/jpt_jpa_ui_details.properties
index 42c3c1f259..f10465d5c0 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/property_files/jpt_jpa_ui_details.properties
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/property_files/jpt_jpa_ui_details.properties
@@ -274,8 +274,8 @@ GENERATOR_COMPOSITE_INITIAL_VALUE=Initial value:
ORDERING_COMPOSITE_ORDERING_GROUP=Ordering
ORDERING_COMPOSITE_NONE=None
-ORDERING_COMPOSITE_primary_Key=Primary key
-ORDERING_COMPOSITE_CUSTOM=Custom
+ORDERING_COMPOSITE_ORDER_BY=Custom
+ORDERING_COMPOSITE_PRIMARY_KEY=Default (primary key)
SECONDARY_TABLES_COMPOSITE_SECONDARY_TABLES=Secondary Tables
SECONDARY_TABLES_COMPOSITE_EDIT=Edit...
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/details/JptJpaUiDetailsMessages.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/details/JptJpaUiDetailsMessages.java
index 1082656492..588452bdc9 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/details/JptJpaUiDetailsMessages.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/details/JptJpaUiDetailsMessages.java
@@ -234,10 +234,10 @@ public class JptJpaUiDetailsMessages {
public static String NO_NAME_SET;
public static String OPTIONAL_COMPOSITE_FALSE;
public static String OPTIONAL_COMPOSITE_TRUE;
- public static String ORDERING_COMPOSITE_CUSTOM;
public static String ORDERING_COMPOSITE_NONE;
+ public static String ORDERING_COMPOSITE_ORDER_BY;
public static String ORDERING_COMPOSITE_ORDERING_GROUP;
- public static String ORDERING_COMPOSITE_primary_Key;
+ public static String ORDERING_COMPOSITE_PRIMARY_KEY;
public static String ORM_SECONDARY_TABLES_COMPOSITE_DEFINE_IN_XML;
public static String OVERRIDES_COMPOSITE_ASSOCIATION;
public static String OVERRIDES_COMPOSITE_ATTRIBUTE;
@@ -295,7 +295,7 @@ public class JptJpaUiDetailsMessages {
public static String TEMPORAL_TYPE_COMPOSITE_DATE;
public static String TEMPORAL_TYPE_COMPOSITE_TIME;
public static String TEMPORAL_TYPE_COMPOSITE_TIMESTAMP;
-
+
private JptJpaUiDetailsMessages() {
throw new UnsupportedOperationException();
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/JpaHelpContextIds.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/JpaHelpContextIds.java
index c5f1c7a317..9504013dac 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/JpaHelpContextIds.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/JpaHelpContextIds.java
@@ -76,8 +76,7 @@ public interface JpaHelpContextIds {
public static final String MAPPING_OPTIONAL = PREFIX + "mapping_optional";
public static final String MAPPING_ORDER_BY = PREFIX + "mapping_orderBy";
public static final String MAPPING_ORDER_BY_NO_ORDERING = PREFIX + "mapping_orderByNoOrdering";
- public static final String MAPPING_ORDER_BY_PRIMARY_KEY_ORDERING = PREFIX + "mapping_orderByPrimaryKeyOrdering";
- public static final String MAPPING_ORDER_BY_CUSTOM_ORDERING = PREFIX + "mapping_orderByCustomOrdering";
+ public static final String MAPPING_ORDER_BY_ORDERING = PREFIX + "mapping_orderByOrdering";
public static final String MAPPING_ORDER_COLUMN_ORDERING = PREFIX + "mapping_orderColumnOrdering";
public static final String MAPPING_ORDER_COLUMN_ORDERING_COLUMN = PREFIX + "mapping_orderColumnOrderingColumn";
public static final String MAPPING_PRIMARY_KEY_GENERATION = PREFIX + "mapping_primaryKeyGeneration";
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractOrderingComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractOrderingComposite.java
index a159c69e1c..dd4504e06f 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractOrderingComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractOrderingComposite.java
@@ -11,40 +11,21 @@ package org.eclipse.jpt.jpa.ui.internal.details;
import org.eclipse.jpt.common.ui.internal.widgets.Pane;
import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
+import org.eclipse.jpt.common.utility.internal.model.value.TransformationPropertyValueModel;
import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.CollectionMapping;
+import org.eclipse.jpt.jpa.core.context.OrderBy;
import org.eclipse.jpt.jpa.core.context.Orderable;
import org.eclipse.swt.widgets.Composite;
-/**
- * Here the layout of this pane:
- * <pre>
- * -----------------------------------------------------------------------------
- * | - Ordering -------------------------------------------------------------- |
- * | | | |
- * | | o None | |
- * | | | |
- * | | o Primary Key | |
- * | | | |
- * | | o Custom | |
- * | | ------------------------------------------------------------------- | |
- * | | | I | | |
- * | | ------------------------------------------------------------------- | |
- * | ------------------------------------------------------------------------- |
- * -----------------------------------------------------------------------------</pre>
- *
- * @see CollectionMapping
- * @see ManyToManyMappingComposite
- * @see OneToManyMappingComposite
- */
public abstract class AbstractOrderingComposite<T extends Orderable>
- extends Pane<CollectionMapping>
-{
+ extends Pane<CollectionMapping> {
+
protected AbstractOrderingComposite(Pane<? extends CollectionMapping> parentPane, Composite parentComposite) {
super(parentPane, parentComposite);
}
-
+
protected PropertyValueModel<T> buildOrderableModel() {
return new PropertyAspectAdapter<CollectionMapping, T>(getSubjectHolder()) {
@SuppressWarnings("unchecked")
@@ -54,61 +35,45 @@ public abstract class AbstractOrderingComposite<T extends Orderable>
}
};
}
-
+
protected ModifiablePropertyValueModel<Boolean> buildNoOrderingHolder(PropertyValueModel<T> orderableHolder) {
return new PropertyAspectAdapter<T, Boolean>(orderableHolder, Orderable.NO_ORDERING_PROPERTY) {
@Override
protected Boolean buildValue_() {
return Boolean.valueOf(this.subject.isNoOrdering());
}
-
+
@Override
protected void setValue_(Boolean value) {
- this.subject.setNoOrdering(value.booleanValue());
+ if (value) {
+ this.subject.setNoOrdering();
+ }
}
};
}
-
- protected ModifiablePropertyValueModel<Boolean> buildPrimaryKeyOrderingHolder(PropertyValueModel<T> orderableHolder) {
- return new PropertyAspectAdapter<T, Boolean>(orderableHolder, Orderable.PK_ORDERING_PROPERTY) {
+
+ protected ModifiablePropertyValueModel<Boolean> buildOrderByOrderingHolder(PropertyValueModel<T> orderableHolder) {
+ return new PropertyAspectAdapter<T, Boolean>(orderableHolder, Orderable.ORDER_BY_ORDERING_PROPERTY) {
@Override
protected Boolean buildValue_() {
- return Boolean.valueOf(this.subject.isPkOrdering());
+ return Boolean.valueOf(this.subject.isOrderByOrdering());
}
-
+
@Override
protected void setValue_(Boolean value) {
- this.subject.setPkOrdering(value.booleanValue());
+ if (value) {
+ this.subject.setOrderByOrdering();
+ }
}
};
}
-
- protected ModifiablePropertyValueModel<Boolean> buildCustomOrderingHolder(PropertyValueModel<T> orderableHolder) {
- return new PropertyAspectAdapter<T, Boolean>(orderableHolder, Orderable.CUSTOM_ORDERING_PROPERTY) {
+
+ protected PropertyValueModel<OrderBy> buildOrderByHolder(PropertyValueModel<T> orderableHolder) {
+ return new TransformationPropertyValueModel<T, OrderBy>(orderableHolder) {
@Override
- protected Boolean buildValue_() {
- return Boolean.valueOf(this.subject.isCustomOrdering());
- }
-
- @Override
- protected void setValue_(Boolean value) {
- this.subject.setCustomOrdering(value.booleanValue());
- }
- };
- }
-
- protected ModifiablePropertyValueModel<String> buildSpecifiedOrderByHolder(PropertyValueModel<T> orderableHolder) {
- return new PropertyAspectAdapter<T, String>(orderableHolder, Orderable.SPECIFIED_ORDER_BY_PROPERTY) {
- @Override
- protected String buildValue_() {
- return this.subject.getSpecifiedOrderBy();
- }
-
- @Override
- protected void setValue_(String value) {
- this.subject.setSpecifiedOrderBy(value);
+ protected OrderBy transform_(T v) {
+ return v.getOrderBy();
}
};
}
-
-} \ No newline at end of file
+}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/OrderByComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/OrderByComposite.java
new file mode 100644
index 0000000000..fce1dfd923
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/OrderByComposite.java
@@ -0,0 +1,80 @@
+/*******************************************************************************
+ * Copyright (c) 2013 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.jpt.jpa.ui.internal.details;
+
+import org.eclipse.jpt.common.ui.internal.swt.widgets.ComboTools;
+import org.eclipse.jpt.common.ui.internal.widgets.Pane;
+import org.eclipse.jpt.common.utility.internal.StringTools;
+import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
+import org.eclipse.jpt.common.utility.internal.model.value.StaticListValueModel;
+import org.eclipse.jpt.common.utility.internal.transformer.TransformerTools;
+import org.eclipse.jpt.common.utility.model.value.ListValueModel;
+import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
+import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
+import org.eclipse.jpt.jpa.core.context.OrderBy;
+import org.eclipse.jpt.jpa.ui.details.JptJpaUiDetailsMessages;
+import org.eclipse.jpt.jpa.ui.internal.JpaHelpContextIds;
+import org.eclipse.swt.widgets.Combo;
+import org.eclipse.swt.widgets.Composite;
+
+public class OrderByComposite
+ extends Pane<OrderBy> {
+
+ public OrderByComposite(
+ Pane<?> parentPane,
+ PropertyValueModel<OrderBy> subjectHolder,
+ PropertyValueModel<Boolean> enabledModel,
+ Composite parentComposite) {
+
+ super(parentPane, subjectHolder, enabledModel, parentComposite);
+ }
+
+ @Override
+ protected void initializeLayout(Composite container) {
+ // key combo
+ Combo keyCombo = addEditableCombo(
+ container,
+ buildDefaultKeyListHolder(),
+ buildKeyHolder(),
+ TransformerTools.<String>objectToStringTransformer(),
+ JpaHelpContextIds.MAPPING_ORDER_BY_ORDERING);
+
+ ComboTools.handleDefaultValue(keyCombo);
+ }
+
+ protected ModifiablePropertyValueModel<String> buildKeyHolder() {
+ return new PropertyAspectAdapter<OrderBy, String>(getSubjectHolder(), OrderBy.KEY_PROPERTY) {
+ @Override
+ protected String buildValue_() {
+ String key = this.subject.getKey();
+ if (StringTools.isBlank(key)) {
+ key = defaultKey();
+ }
+ return key;
+ }
+
+ @Override
+ protected void setValue_(String value) {
+ if (defaultKey().equals(value)) {
+ value = null;
+ }
+ this.subject.setKey(value);
+ }
+ };
+ }
+
+ private ListValueModel<String> buildDefaultKeyListHolder() {
+ return new StaticListValueModel(defaultKey());
+ }
+
+ private String defaultKey() {
+ return JptJpaUiDetailsMessages.ORDERING_COMPOSITE_PRIMARY_KEY;
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/OrderingComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/OrderingComposite.java
index 498a3858ce..10803e1dda 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/OrderingComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/OrderingComposite.java
@@ -10,6 +10,7 @@
package org.eclipse.jpt.jpa.ui.internal.details;
import org.eclipse.jpt.common.ui.internal.widgets.Pane;
+import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.jpa.core.context.CollectionMapping;
import org.eclipse.jpt.jpa.core.context.Orderable;
@@ -17,7 +18,6 @@ import org.eclipse.jpt.jpa.ui.details.JptJpaUiDetailsMessages;
import org.eclipse.jpt.jpa.ui.internal.JpaHelpContextIds;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Text;
/**
* Here the layout of this pane:
@@ -27,63 +27,47 @@ import org.eclipse.swt.widgets.Text;
* | | | |
* | | o None | |
* | | | |
- * | | o Primary Key | |
- * | | | |
- * | | o Custom | |
+ * | | o Order by: | |
* | | ------------------------------------------------------------------- | |
- * | | | I | | |
+ * | | | Default (primary key) | | |
* | | ------------------------------------------------------------------- | |
* | ------------------------------------------------------------------------- |
* -----------------------------------------------------------------------------</pre>
- *
- * @see CollectionMapping
- * @see ManyToManyMappingComposite
- * @see OneToManyMappingComposite
*/
public class OrderingComposite
- extends AbstractOrderingComposite<Orderable>
-{
+ extends AbstractOrderingComposite<Orderable> {
+
public OrderingComposite(Pane<? extends CollectionMapping> parentPane, Composite parentComposite) {
super(parentPane, parentComposite);
}
-
+
@Override
protected void initializeLayout(Composite container) {
PropertyValueModel<Orderable> orderableHolder = buildOrderableModel();
-
+
// No Ordering radio button
addRadioButton(
- container,
- JptJpaUiDetailsMessages.ORDERING_COMPOSITE_NONE,
- buildNoOrderingHolder(orderableHolder),
- JpaHelpContextIds.MAPPING_ORDER_BY_NO_ORDERING
- );
-
- // Order by Primary Key radio button
- addRadioButton(
- container,
- JptJpaUiDetailsMessages.ORDERING_COMPOSITE_primary_Key,
- buildPrimaryKeyOrderingHolder(orderableHolder),
- JpaHelpContextIds.MAPPING_ORDER_BY_PRIMARY_KEY_ORDERING
- );
-
- // Custom Ordering radio button
+ container,
+ JptJpaUiDetailsMessages.ORDERING_COMPOSITE_NONE,
+ buildNoOrderingHolder(orderableHolder),
+ JpaHelpContextIds.MAPPING_ORDER_BY_NO_ORDERING);
+
+ ModifiablePropertyValueModel<Boolean> orderByOrderingHolder = buildOrderByOrderingHolder(orderableHolder);
+
+ // Order by radio button
addRadioButton(
- container,
- JptJpaUiDetailsMessages.ORDERING_COMPOSITE_CUSTOM,
- buildCustomOrderingHolder(orderableHolder),
- JpaHelpContextIds.MAPPING_ORDER_BY_CUSTOM_ORDERING
- );
-
- // Custom Ordering text field
- Text orderingText = addText(
- container,
- buildSpecifiedOrderByHolder(orderableHolder),
- JpaHelpContextIds.MAPPING_ORDER_BY,
- buildCustomOrderingHolder(orderableHolder)
- );
+ container,
+ JptJpaUiDetailsMessages.ORDERING_COMPOSITE_ORDER_BY,
+ orderByOrderingHolder,
+ JpaHelpContextIds.MAPPING_ORDER_BY_ORDERING);
+
+ OrderByComposite orderByComposite = new OrderByComposite(
+ this,
+ buildOrderByHolder(orderableHolder),
+ orderByOrderingHolder,
+ container);
GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
gridData.horizontalIndent = 16;
- orderingText.setLayoutData(gridData);
+ orderByComposite.getControl().setLayoutData(gridData);
}
-} \ No newline at end of file
+}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/OrderingComposite2_0.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/OrderingComposite2_0.java
index a95bc574e9..157ae109c3 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/OrderingComposite2_0.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpa2/details/OrderingComposite2_0.java
@@ -13,19 +13,16 @@ import org.eclipse.jpt.common.ui.internal.widgets.Pane;
import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.jpa.core.context.CollectionMapping;
import org.eclipse.jpt.jpa.core.jpa2.context.CollectionMapping2_0;
-import org.eclipse.jpt.jpa.core.jpa2.context.SpecifiedOrderColumn2_0;
import org.eclipse.jpt.jpa.core.jpa2.context.Orderable2_0;
+import org.eclipse.jpt.jpa.core.jpa2.context.SpecifiedOrderColumn2_0;
import org.eclipse.jpt.jpa.ui.details.JptJpaUiDetailsMessages;
import org.eclipse.jpt.jpa.ui.internal.JpaHelpContextIds;
import org.eclipse.jpt.jpa.ui.internal.details.AbstractOrderingComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmManyToManyMappingComposite;
-import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmOneToManyMappingComposite;
+import org.eclipse.jpt.jpa.ui.internal.details.OrderByComposite;
import org.eclipse.jpt.jpa.ui.jpa2.details.JptJpaUiDetailsMessages2_0;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Text;
/**
* Here the layout of this pane:
@@ -35,22 +32,16 @@ import org.eclipse.swt.widgets.Text;
* | | | |
* | | o None | |
* | | | |
- * | | o Primary Key | |
- * | | | |
- * | | o Custom | |
+ * | | o Order by: | |
* | | ------------------------------------------------------------------- | |
- * | | | I | | |
+ * | | | Default (primary key)I | | |
* | | ------------------------------------------------------------------- | |
* | ------------------------------------------------------------------------- |
* -----------------------------------------------------------------------------</pre>
- *
- * @see CollectionMapping
- * @see OrmManyToManyMappingComposite
- * @see OrmOneToManyMappingComposite
*/
public class OrderingComposite2_0
- extends AbstractOrderingComposite<Orderable2_0>
-{
+ extends AbstractOrderingComposite<Orderable2_0> {
+
public OrderingComposite2_0(Pane<? extends CollectionMapping2_0> parentPane, Composite parentComposite) {
super(parentPane, parentComposite);
}
@@ -61,39 +52,28 @@ public class OrderingComposite2_0
// No Ordering radio button
addRadioButton(
- container,
- JptJpaUiDetailsMessages.ORDERING_COMPOSITE_NONE,
- buildNoOrderingHolder(orderableHolder),
- JpaHelpContextIds.MAPPING_ORDER_BY_NO_ORDERING
- );
-
- // Order by Primary Key radio button
- addRadioButton(
- container,
- JptJpaUiDetailsMessages.ORDERING_COMPOSITE_primary_Key,
- buildPrimaryKeyOrderingHolder(orderableHolder),
- JpaHelpContextIds.MAPPING_ORDER_BY_PRIMARY_KEY_ORDERING
- );
-
- // Custom Ordering radio button
+ container,
+ JptJpaUiDetailsMessages.ORDERING_COMPOSITE_NONE,
+ buildNoOrderingHolder(orderableHolder),
+ JpaHelpContextIds.MAPPING_ORDER_BY_NO_ORDERING);
+
+ ModifiablePropertyValueModel<Boolean> orderByOrderingHolder = buildOrderByOrderingHolder(orderableHolder);
+
+ // Order by radio button
addRadioButton(
- container,
- JptJpaUiDetailsMessages.ORDERING_COMPOSITE_CUSTOM,
- buildCustomOrderingHolder(orderableHolder),
- JpaHelpContextIds.MAPPING_ORDER_BY_CUSTOM_ORDERING
- );
-
- // Custom Ordering text field
- Text orderingText = addText(
- container,
- buildSpecifiedOrderByHolder(orderableHolder),
- JpaHelpContextIds.MAPPING_ORDER_BY,
- buildCustomOrderingHolder(orderableHolder)
- );
+ container,
+ JptJpaUiDetailsMessages.ORDERING_COMPOSITE_ORDER_BY,
+ orderByOrderingHolder,
+ JpaHelpContextIds.MAPPING_ORDER_BY_ORDERING);
+
+ OrderByComposite orderByComposite = new OrderByComposite(
+ this,
+ buildOrderByHolder(orderableHolder),
+ orderByOrderingHolder,
+ container);
GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
gridData.horizontalIndent = 16;
- orderingText.setLayoutData(gridData);
-
+ orderByComposite.getControl().setLayoutData(gridData);
// Order Column Ordering radio button
addRadioButton(
@@ -117,7 +97,7 @@ public class OrderingComposite2_0
private PropertyValueModel<Boolean> buildPaneEnablerHolder(PropertyValueModel<Orderable2_0> orderableHolder) {
return buildOrderColumnOrderingHolder(orderableHolder);
}
-
+
protected ModifiablePropertyValueModel<Boolean> buildOrderColumnOrderingHolder(PropertyValueModel<Orderable2_0> orderableHolder) {
return new PropertyAspectAdapter<Orderable2_0, Boolean>(orderableHolder, Orderable2_0.ORDER_COLUMN_ORDERING_PROPERTY) {
@Override
@@ -127,7 +107,9 @@ public class OrderingComposite2_0
@Override
protected void setValue_(Boolean value) {
- this.subject.setOrderColumnOrdering(value.booleanValue());
+ if (value) {
+ this.subject.setOrderColumnOrdering();
+ }
}
};
}
diff --git a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/context/java/GenericJavaPersistentAttributeTests.java b/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/context/java/GenericJavaPersistentAttributeTests.java
index c2d8341735..da87fb8e1e 100644
--- a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/context/java/GenericJavaPersistentAttributeTests.java
+++ b/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/context/java/GenericJavaPersistentAttributeTests.java
@@ -10,7 +10,6 @@
package org.eclipse.jpt.jpa.core.tests.internal.context.java;
import java.util.Iterator;
-
import org.eclipse.core.runtime.CoreException;
import org.eclipse.jdt.core.ICompilationUnit;
import org.eclipse.jpt.common.core.resource.java.JavaResourceAnnotatedElement.AstNodeType;
@@ -28,9 +27,8 @@ import org.eclipse.jpt.jpa.core.context.SpecifiedPersistentAttribute;
import org.eclipse.jpt.jpa.core.context.java.JavaBasicMapping;
import org.eclipse.jpt.jpa.core.context.java.JavaEmbeddedMapping;
import org.eclipse.jpt.jpa.core.context.java.JavaIdMapping;
-import org.eclipse.jpt.jpa.core.context.java.JavaSpecifiedPersistentAttribute;
import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpa.core.context.persistence.ClassRef;
+import org.eclipse.jpt.jpa.core.context.java.JavaSpecifiedPersistentAttribute;
import org.eclipse.jpt.jpa.core.resource.java.BasicAnnotation;
import org.eclipse.jpt.jpa.core.resource.java.EmbeddedAnnotation;
import org.eclipse.jpt.jpa.core.resource.java.IdAnnotation;
diff --git a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/context/java/JavaManyToManyMappingTests.java b/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/context/java/JavaManyToManyMappingTests.java
index 74faa95b9c..8c1c03bcaf 100644
--- a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/context/java/JavaManyToManyMappingTests.java
+++ b/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/context/java/JavaManyToManyMappingTests.java
@@ -12,9 +12,9 @@ package org.eclipse.jpt.jpa.core.tests.internal.context.java;
import java.util.Iterator;
import java.util.ListIterator;
import org.eclipse.jdt.core.ICompilationUnit;
+import org.eclipse.jpt.common.core.resource.java.JavaResourceAnnotatedElement.AstNodeType;
import org.eclipse.jpt.common.core.resource.java.JavaResourceField;
import org.eclipse.jpt.common.core.resource.java.JavaResourceType;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceAnnotatedElement.AstNodeType;
import org.eclipse.jpt.common.core.tests.internal.projects.TestJavaProject.SourceWriter;
import org.eclipse.jpt.common.utility.internal.iterator.IteratorTools;
import org.eclipse.jpt.jpa.core.MappingKeys;
@@ -29,6 +29,7 @@ import org.eclipse.jpt.jpa.core.context.ManyToManyRelationship;
import org.eclipse.jpt.jpa.core.context.ManyToOneMapping;
import org.eclipse.jpt.jpa.core.context.OneToManyMapping;
import org.eclipse.jpt.jpa.core.context.OneToOneMapping;
+import org.eclipse.jpt.jpa.core.context.Orderable;
import org.eclipse.jpt.jpa.core.context.SpecifiedPersistentAttribute;
import org.eclipse.jpt.jpa.core.context.TransientMapping;
import org.eclipse.jpt.jpa.core.context.TypeMapping;
@@ -302,7 +303,8 @@ public class JavaManyToManyMappingTests extends ContextModelTestCase
SpecifiedPersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next();
ManyToManyMapping manyToManyMapping = (ManyToManyMapping) persistentAttribute.getMapping();
- manyToManyMapping.getOrderable().setSpecifiedOrderBy("asdf");
+ manyToManyMapping.getOrderable().setOrderByOrdering();
+ manyToManyMapping.getOrderable().getOrderBy().setKey("asdf");
manyToManyMapping.getRelationship().getJoinTableStrategy().getJoinTable().setSpecifiedName("FOO");
assertFalse(manyToManyMapping.isDefault());
@@ -324,7 +326,8 @@ public class JavaManyToManyMappingTests extends ContextModelTestCase
SpecifiedPersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next();
ManyToManyMapping manyToManyMapping = (ManyToManyMapping) persistentAttribute.getMapping();
- manyToManyMapping.getOrderable().setSpecifiedOrderBy("asdf");
+ manyToManyMapping.getOrderable().setOrderByOrdering();
+ manyToManyMapping.getOrderable().getOrderBy().setKey("asdf");
manyToManyMapping.getRelationship().getJoinTableStrategy().getJoinTable().setSpecifiedName("FOO");
assertFalse(manyToManyMapping.isDefault());
@@ -344,7 +347,8 @@ public class JavaManyToManyMappingTests extends ContextModelTestCase
SpecifiedPersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next();
ManyToManyMapping manyToManyMapping = (ManyToManyMapping) persistentAttribute.getMapping();
- manyToManyMapping.getOrderable().setSpecifiedOrderBy("asdf");
+ manyToManyMapping.getOrderable().setOrderByOrdering();
+ manyToManyMapping.getOrderable().getOrderBy().setKey("asdf");
manyToManyMapping.getRelationship().getJoinTableStrategy().getJoinTable().setSpecifiedName("FOO");
assertFalse(manyToManyMapping.isDefault());
@@ -366,7 +370,8 @@ public class JavaManyToManyMappingTests extends ContextModelTestCase
SpecifiedPersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next();
ManyToManyMapping manyToManyMapping = (ManyToManyMapping) persistentAttribute.getMapping();
- manyToManyMapping.getOrderable().setSpecifiedOrderBy("asdf");
+ manyToManyMapping.getOrderable().setOrderByOrdering();
+ manyToManyMapping.getOrderable().getOrderBy().setKey("asdf");
manyToManyMapping.getRelationship().getJoinTableStrategy().getJoinTable().setSpecifiedName("FOO");
assertFalse(manyToManyMapping.isDefault());
@@ -388,7 +393,8 @@ public class JavaManyToManyMappingTests extends ContextModelTestCase
SpecifiedPersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next();
ManyToManyMapping manyToManyMapping = (ManyToManyMapping) persistentAttribute.getMapping();
- manyToManyMapping.getOrderable().setSpecifiedOrderBy("asdf");
+ manyToManyMapping.getOrderable().setOrderByOrdering();
+ manyToManyMapping.getOrderable().getOrderBy().setKey("asdf");
manyToManyMapping.getRelationship().getJoinTableStrategy().getJoinTable().setSpecifiedName("FOO");
assertFalse(manyToManyMapping.isDefault());
@@ -410,7 +416,8 @@ public class JavaManyToManyMappingTests extends ContextModelTestCase
SpecifiedPersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next();
ManyToManyMapping manyToManyMapping = (ManyToManyMapping) persistentAttribute.getMapping();
- manyToManyMapping.getOrderable().setSpecifiedOrderBy("asdf");
+ manyToManyMapping.getOrderable().setOrderByOrdering();
+ manyToManyMapping.getOrderable().getOrderBy().setKey("asdf");
manyToManyMapping.getRelationship().getJoinTableStrategy().getJoinTable().setSpecifiedName("FOO");
assertFalse(manyToManyMapping.isDefault());
@@ -432,7 +439,8 @@ public class JavaManyToManyMappingTests extends ContextModelTestCase
SpecifiedPersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next();
ManyToManyMapping manyToManyMapping = (ManyToManyMapping) persistentAttribute.getMapping();
- manyToManyMapping.getOrderable().setSpecifiedOrderBy("asdf");
+ manyToManyMapping.getOrderable().setOrderByOrdering();
+ manyToManyMapping.getOrderable().getOrderBy().setKey("asdf");
manyToManyMapping.getRelationship().getJoinTableStrategy().getJoinTable().setSpecifiedName("FOO");
assertFalse(manyToManyMapping.isDefault());
@@ -454,7 +462,8 @@ public class JavaManyToManyMappingTests extends ContextModelTestCase
SpecifiedPersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next();
ManyToManyMapping manyToManyMapping = (ManyToManyMapping) persistentAttribute.getMapping();
- manyToManyMapping.getOrderable().setSpecifiedOrderBy("asdf");
+ manyToManyMapping.getOrderable().setOrderByOrdering();
+ manyToManyMapping.getOrderable().getOrderBy().setKey("asdf");
manyToManyMapping.getRelationship().getJoinTableStrategy().getJoinTable().setSpecifiedName("FOO");
assertFalse(manyToManyMapping.isDefault());
@@ -476,7 +485,8 @@ public class JavaManyToManyMappingTests extends ContextModelTestCase
SpecifiedPersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next();
ManyToManyMapping manyToManyMapping = (ManyToManyMapping) persistentAttribute.getMapping();
- manyToManyMapping.getOrderable().setSpecifiedOrderBy("asdf");
+ manyToManyMapping.getOrderable().setOrderByOrdering();
+ manyToManyMapping.getOrderable().getOrderBy().setKey("asdf");
manyToManyMapping.getRelationship().getJoinTableStrategy().getJoinTable().setSpecifiedName("FOO");
assertFalse(manyToManyMapping.isDefault());
@@ -498,7 +508,8 @@ public class JavaManyToManyMappingTests extends ContextModelTestCase
SpecifiedPersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next();
ManyToManyMapping manyToManyMapping = (ManyToManyMapping) persistentAttribute.getMapping();
- manyToManyMapping.getOrderable().setSpecifiedOrderBy("asdf");
+ manyToManyMapping.getOrderable().setOrderByOrdering();
+ manyToManyMapping.getOrderable().getOrderBy().setKey("asdf");
manyToManyMapping.getRelationship().getJoinTableStrategy().getJoinTable().setSpecifiedName("FOO");
assertFalse(manyToManyMapping.isDefault());
@@ -1002,172 +1013,82 @@ public class JavaManyToManyMappingTests extends ContextModelTestCase
assertEquals("zip", mapKeyNames.next());
assertFalse(mapKeyNames.hasNext());
}
+
public void testUpdateOrderBy() throws Exception {
createTestEntityWithManyToManyMapping();
addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME);
-
SpecifiedPersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next();
ManyToManyMapping manyToManyMapping = (ManyToManyMapping) persistentAttribute.getMapping();
-
+ Orderable orderable = manyToManyMapping.getOrderable();
JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, AstNodeType.TYPE);
JavaResourceField resourceField = resourceType.getFields().iterator().next();
- assertNull(manyToManyMapping.getOrderable().getSpecifiedOrderBy());
- assertNull(resourceField.getAnnotation(OrderByAnnotation.ANNOTATION_NAME));
-
- //set orderBy in the resource model, verify context model updated
- resourceField.addAnnotation(OrderByAnnotation.ANNOTATION_NAME);
- OrderByAnnotation orderBy = (OrderByAnnotation) resourceField.getAnnotation(OrderByAnnotation.ANNOTATION_NAME);
- orderBy.setValue("newOrderBy");
- getJpaProject().synchronizeContextModel();
- assertEquals("newOrderBy", manyToManyMapping.getOrderable().getSpecifiedOrderBy());
- assertEquals("newOrderBy", orderBy.getValue());
-
- //set orderBy to null in the resource model
- resourceField.removeAnnotation(OrderByAnnotation.ANNOTATION_NAME);
- getJpaProject().synchronizeContextModel();
- assertNull(manyToManyMapping.getOrderable().getSpecifiedOrderBy());
- assertNull(resourceField.getAnnotation(OrderByAnnotation.ANNOTATION_NAME));
- }
-
- public void testModifyOrderBy() throws Exception {
- createTestEntityWithManyToManyMapping();
- addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME);
-
- SpecifiedPersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next();
- ManyToManyMapping manyToManyMapping = (ManyToManyMapping) persistentAttribute.getMapping();
+ assertNull(resourceField.getAnnotation(JPA.ORDER_BY));
+ assertTrue(orderable.isNoOrdering());
+ assertFalse(orderable.isOrderByOrdering());
+ assertNull(orderable.getOrderBy().getKey());
- JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, AstNodeType.TYPE);
- JavaResourceField resourceField = resourceType.getFields().iterator().next();
+ resourceField.addAnnotation(JPA.ORDER_BY);
+ getJpaProject().synchronizeContextModel();
- assertNull(manyToManyMapping.getOrderable().getSpecifiedOrderBy());
- assertNull(resourceField.getAnnotation(OrderByAnnotation.ANNOTATION_NAME));
-
- //set mappedBy in the context model, verify resource model updated
- manyToManyMapping.getOrderable().setSpecifiedOrderBy("newOrderBy");
- assertEquals("newOrderBy", manyToManyMapping.getOrderable().getSpecifiedOrderBy());
- OrderByAnnotation orderBy = (OrderByAnnotation) resourceField.getAnnotation(OrderByAnnotation.ANNOTATION_NAME);
- assertEquals("newOrderBy", orderBy.getValue());
-
- //set mappedBy to null in the context model
- manyToManyMapping.getOrderable().setSpecifiedOrderBy(null);
- assertNull(manyToManyMapping.getOrderable().getSpecifiedOrderBy());
- assertNull(resourceField.getAnnotation(OrderByAnnotation.ANNOTATION_NAME));
- }
-
- public void testUpdateNoOrdering() throws Exception {
- createTestEntityWithManyToManyMapping();
- addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME);
+ assertNotNull(resourceField.getAnnotation(JPA.ORDER_BY));
+ assertFalse(orderable.isNoOrdering());
+ assertTrue(orderable.isOrderByOrdering());
+ assertTrue(orderable.getOrderBy().isByPrimaryKey());
+ assertNull(orderable.getOrderBy().getKey());
- SpecifiedPersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next();
- ManyToManyMapping manyToManyMapping = (ManyToManyMapping) persistentAttribute.getMapping();
+ ((OrderByAnnotation) resourceField.getAnnotation(JPA.ORDER_BY)).setValue("foo");
+ getJpaProject().synchronizeContextModel();
- JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, AstNodeType.TYPE);
- JavaResourceField resourceField = resourceType.getFields().iterator().next();
+ assertEquals("foo", ((OrderByAnnotation) resourceField.getAnnotation(JPA.ORDER_BY)).getValue());
+ assertFalse(orderable.isNoOrdering());
+ assertTrue(orderable.isOrderByOrdering());
+ assertFalse(orderable.getOrderBy().isByPrimaryKey());
+ assertEquals("foo", orderable.getOrderBy().getKey());
- assertTrue(manyToManyMapping.getOrderable().isNoOrdering());
- assertNull(resourceField.getAnnotation(OrderByAnnotation.ANNOTATION_NAME));
-
- //set orderBy in the resource model, verify context model updated
- resourceField.addAnnotation(OrderByAnnotation.ANNOTATION_NAME);
+ resourceField.removeAnnotation(JPA.ORDER_BY);
getJpaProject().synchronizeContextModel();
- assertFalse(manyToManyMapping.getOrderable().isNoOrdering());
- OrderByAnnotation orderBy = (OrderByAnnotation) resourceField.getAnnotation(OrderByAnnotation.ANNOTATION_NAME);
- orderBy.setValue("newOrderBy");
- getJpaProject().synchronizeContextModel();
- assertFalse(manyToManyMapping.getOrderable().isNoOrdering());
-
- //set orderBy to null in the resource model
- resourceField.removeAnnotation(OrderByAnnotation.ANNOTATION_NAME);
- getJpaProject().synchronizeContextModel();
- assertTrue(manyToManyMapping.getOrderable().isNoOrdering());
- assertNull(resourceField.getAnnotation(OrderByAnnotation.ANNOTATION_NAME));
+ assertNull(resourceField.getAnnotation(JPA.ORDER_BY));
+ assertTrue(orderable.isNoOrdering());
+ assertFalse(orderable.isOrderByOrdering());
}
- public void testModifyNoOrdering() throws Exception {
+ public void testModifyOrderBy() throws Exception {
createTestEntityWithManyToManyMapping();
addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME);
-
SpecifiedPersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next();
ManyToManyMapping manyToManyMapping = (ManyToManyMapping) persistentAttribute.getMapping();
-
+ Orderable orderable = manyToManyMapping.getOrderable();
JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, AstNodeType.TYPE);
JavaResourceField resourceField = resourceType.getFields().iterator().next();
- assertTrue(manyToManyMapping.getOrderable().isNoOrdering());
- assertNull(resourceField.getAnnotation(OrderByAnnotation.ANNOTATION_NAME));
-
-// manyToManyMapping.setNoOrdering(false); //this does nothing
-// //set mappedBy in the context model, verify resource model updated
-// manyToManyMapping.setOrderBy("newOrderBy");
-// assertEquals("newOrderBy", manyToManyMapping.getOrderBy());
-// OrderBy orderBy = (OrderBy) resourceField.annotation(OrderBy.ANNOTATION_NAME);
-// assertEquals("newOrderBy", orderBy.getValue());
-//
-// //set mappedBy to null in the context model
-// manyToManyMapping.setOrderBy(null);
-// assertNull(manyToManyMapping.getOrderBy());
-// assertNull(resourceField.annotation(OrderBy.ANNOTATION_NAME));
- }
-
- public void testUpdatePkOrdering() throws Exception {
- createTestEntityWithManyToManyMapping();
- addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME);
+ assertNull(resourceField.getAnnotation(JPA.ORDER_BY));
+ assertTrue(orderable.isNoOrdering());
+ assertFalse(orderable.isOrderByOrdering());
+ assertNull(orderable.getOrderBy().getKey());
- SpecifiedPersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next();
- ManyToManyMapping manyToManyMapping = (ManyToManyMapping) persistentAttribute.getMapping();
+ orderable.setOrderByOrdering();
- JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, AstNodeType.TYPE);
- JavaResourceField resourceField = resourceType.getFields().iterator().next();
+ assertNotNull(resourceField.getAnnotation(JPA.ORDER_BY));
+ assertFalse(orderable.isNoOrdering());
+ assertTrue(orderable.isOrderByOrdering());
+ assertTrue(orderable.getOrderBy().isByPrimaryKey());
+ assertNull(orderable.getOrderBy().getKey());
- assertFalse(manyToManyMapping.getOrderable().isPkOrdering());
- assertNull(resourceField.getAnnotation(OrderByAnnotation.ANNOTATION_NAME));
-
- //set orderBy in the resource model, verify context model updated
- resourceField.addAnnotation(OrderByAnnotation.ANNOTATION_NAME);
- getJpaProject().synchronizeContextModel();
- assertTrue(manyToManyMapping.getOrderable().isPkOrdering());
+ orderable.getOrderBy().setKey("foo");
- OrderByAnnotation orderBy = (OrderByAnnotation) resourceField.getAnnotation(OrderByAnnotation.ANNOTATION_NAME);
- orderBy.setValue("newOrderBy");
- getJpaProject().synchronizeContextModel();
- assertFalse(manyToManyMapping.getOrderable().isPkOrdering());
-
- //set orderBy to null in the resource model
- resourceField.removeAnnotation(OrderByAnnotation.ANNOTATION_NAME);
- getJpaProject().synchronizeContextModel();
- assertFalse(manyToManyMapping.getOrderable().isPkOrdering());
- assertNull(resourceField.getAnnotation(OrderByAnnotation.ANNOTATION_NAME));
- }
-
- public void testUpdateCustomOrdering() throws Exception {
- createTestEntityWithManyToManyMapping();
- addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME);
+ assertEquals("foo", ((OrderByAnnotation) resourceField.getAnnotation(JPA.ORDER_BY)).getValue());
+ assertFalse(orderable.isNoOrdering());
+ assertTrue(orderable.isOrderByOrdering());
+ assertFalse(orderable.getOrderBy().isByPrimaryKey());
+ assertEquals("foo", orderable.getOrderBy().getKey());
- SpecifiedPersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next();
- ManyToManyMapping manyToManyMapping = (ManyToManyMapping) persistentAttribute.getMapping();
+ orderable.setNoOrdering();
- JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, AstNodeType.TYPE);
- JavaResourceField resourceField = resourceType.getFields().iterator().next();
-
- assertFalse(manyToManyMapping.getOrderable().isCustomOrdering());
- assertNull(resourceField.getAnnotation(OrderByAnnotation.ANNOTATION_NAME));
-
- //set orderBy in the resource model, verify context model updated
- resourceField.addAnnotation(OrderByAnnotation.ANNOTATION_NAME);
- assertFalse(manyToManyMapping.getOrderable().isCustomOrdering());
-
- OrderByAnnotation orderBy = (OrderByAnnotation) resourceField.getAnnotation(OrderByAnnotation.ANNOTATION_NAME);
- orderBy.setValue("newOrderBy");
- getJpaProject().synchronizeContextModel();
- assertTrue(manyToManyMapping.getOrderable().isCustomOrdering());
-
- //set orderBy to null in the resource model
- resourceField.removeAnnotation(OrderByAnnotation.ANNOTATION_NAME);
- getJpaProject().synchronizeContextModel();
- assertFalse(manyToManyMapping.getOrderable().isCustomOrdering());
- assertNull(resourceField.getAnnotation(OrderByAnnotation.ANNOTATION_NAME));
+ assertNull(resourceField.getAnnotation(JPA.ORDER_BY));
+ assertTrue(orderable.isNoOrdering());
+ assertFalse(orderable.isOrderByOrdering());
}
public void testDefaultTargetEntityForMap() throws Exception {
diff --git a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/context/java/JavaManyToOneMappingTests.java b/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/context/java/JavaManyToOneMappingTests.java
index 03513bf57e..17c3496bd9 100644
--- a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/context/java/JavaManyToOneMappingTests.java
+++ b/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/context/java/JavaManyToOneMappingTests.java
@@ -18,19 +18,18 @@ import org.eclipse.jpt.common.core.resource.java.JavaResourceType;
import org.eclipse.jpt.common.core.resource.java.NestableAnnotation;
import org.eclipse.jpt.common.core.tests.internal.projects.TestJavaProject.SourceWriter;
import org.eclipse.jpt.common.utility.internal.iterator.IteratorTools;
-import org.eclipse.jpt.common.utility.internal.iterator.IteratorTools;
import org.eclipse.jpt.jpa.core.MappingKeys;
import org.eclipse.jpt.jpa.core.context.BasicMapping;
import org.eclipse.jpt.jpa.core.context.EmbeddedIdMapping;
import org.eclipse.jpt.jpa.core.context.EmbeddedMapping;
import org.eclipse.jpt.jpa.core.context.IdMapping;
-import org.eclipse.jpt.jpa.core.context.SpecifiedJoinColumn;
-import org.eclipse.jpt.jpa.core.context.SpecifiedJoinColumnRelationshipStrategy;
import org.eclipse.jpt.jpa.core.context.ManyToManyMapping;
import org.eclipse.jpt.jpa.core.context.ManyToOneMapping;
import org.eclipse.jpt.jpa.core.context.ManyToOneRelationship;
import org.eclipse.jpt.jpa.core.context.OneToManyMapping;
import org.eclipse.jpt.jpa.core.context.OneToOneMapping;
+import org.eclipse.jpt.jpa.core.context.SpecifiedJoinColumn;
+import org.eclipse.jpt.jpa.core.context.SpecifiedJoinColumnRelationshipStrategy;
import org.eclipse.jpt.jpa.core.context.SpecifiedPersistentAttribute;
import org.eclipse.jpt.jpa.core.context.TransientMapping;
import org.eclipse.jpt.jpa.core.context.TypeMapping;
diff --git a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/context/java/JavaOneToManyMappingTests.java b/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/context/java/JavaOneToManyMappingTests.java
index eb75b76633..34048e5ee4 100644
--- a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/context/java/JavaOneToManyMappingTests.java
+++ b/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/context/java/JavaOneToManyMappingTests.java
@@ -12,9 +12,9 @@ package org.eclipse.jpt.jpa.core.tests.internal.context.java;
import java.util.Iterator;
import java.util.ListIterator;
import org.eclipse.jdt.core.ICompilationUnit;
+import org.eclipse.jpt.common.core.resource.java.JavaResourceAnnotatedElement.AstNodeType;
import org.eclipse.jpt.common.core.resource.java.JavaResourceField;
import org.eclipse.jpt.common.core.resource.java.JavaResourceType;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceAnnotatedElement.AstNodeType;
import org.eclipse.jpt.common.core.tests.internal.projects.TestJavaProject.SourceWriter;
import org.eclipse.jpt.common.utility.internal.iterator.IteratorTools;
import org.eclipse.jpt.jpa.core.MappingKeys;
@@ -29,6 +29,7 @@ import org.eclipse.jpt.jpa.core.context.ManyToOneMapping;
import org.eclipse.jpt.jpa.core.context.OneToManyMapping;
import org.eclipse.jpt.jpa.core.context.OneToManyRelationship;
import org.eclipse.jpt.jpa.core.context.OneToOneMapping;
+import org.eclipse.jpt.jpa.core.context.Orderable;
import org.eclipse.jpt.jpa.core.context.SpecifiedPersistentAttribute;
import org.eclipse.jpt.jpa.core.context.TransientMapping;
import org.eclipse.jpt.jpa.core.context.TypeMapping;
@@ -303,7 +304,8 @@ public class JavaOneToManyMappingTests extends ContextModelTestCase
SpecifiedPersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next();
OneToManyMapping oneToManyMapping = (OneToManyMapping) persistentAttribute.getMapping();
- oneToManyMapping.getOrderable().setSpecifiedOrderBy("asdf");
+ oneToManyMapping.getOrderable().setOrderByOrdering();
+ oneToManyMapping.getOrderable().getOrderBy().setKey("asdf");
oneToManyMapping.getRelationship().getJoinTableStrategy().getJoinTable().setSpecifiedName("FOO");
assertFalse(oneToManyMapping.isDefault());
@@ -325,7 +327,8 @@ public class JavaOneToManyMappingTests extends ContextModelTestCase
SpecifiedPersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next();
OneToManyMapping oneToManyMapping = (OneToManyMapping) persistentAttribute.getMapping();
- oneToManyMapping.getOrderable().setSpecifiedOrderBy("asdf");
+ oneToManyMapping.getOrderable().setOrderByOrdering();
+ oneToManyMapping.getOrderable().getOrderBy().setKey("asdf");
oneToManyMapping.getRelationship().getJoinTableStrategy().getJoinTable().setSpecifiedName("FOO");
assertFalse(oneToManyMapping.isDefault());
@@ -345,7 +348,8 @@ public class JavaOneToManyMappingTests extends ContextModelTestCase
SpecifiedPersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next();
OneToManyMapping oneToManyMapping = (OneToManyMapping) persistentAttribute.getMapping();
- oneToManyMapping.getOrderable().setSpecifiedOrderBy("asdf");
+ oneToManyMapping.getOrderable().setOrderByOrdering();
+ oneToManyMapping.getOrderable().getOrderBy().setKey("asdf");
oneToManyMapping.getRelationship().getJoinTableStrategy().getJoinTable().setSpecifiedName("FOO");
assertFalse(oneToManyMapping.isDefault());
@@ -367,7 +371,8 @@ public class JavaOneToManyMappingTests extends ContextModelTestCase
SpecifiedPersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next();
OneToManyMapping oneToManyMapping = (OneToManyMapping) persistentAttribute.getMapping();
- oneToManyMapping.getOrderable().setSpecifiedOrderBy("asdf");
+ oneToManyMapping.getOrderable().setOrderByOrdering();
+ oneToManyMapping.getOrderable().getOrderBy().setKey("asdf");
oneToManyMapping.getRelationship().getJoinTableStrategy().getJoinTable().setSpecifiedName("FOO");
assertFalse(oneToManyMapping.isDefault());
@@ -389,7 +394,8 @@ public class JavaOneToManyMappingTests extends ContextModelTestCase
SpecifiedPersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next();
OneToManyMapping oneToManyMapping = (OneToManyMapping) persistentAttribute.getMapping();
- oneToManyMapping.getOrderable().setSpecifiedOrderBy("asdf");
+ oneToManyMapping.getOrderable().setOrderByOrdering();
+ oneToManyMapping.getOrderable().getOrderBy().setKey("asdf");
oneToManyMapping.getRelationship().getJoinTableStrategy().getJoinTable().setSpecifiedName("FOO");
assertFalse(oneToManyMapping.isDefault());
@@ -411,7 +417,8 @@ public class JavaOneToManyMappingTests extends ContextModelTestCase
SpecifiedPersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next();
OneToManyMapping oneToManyMapping = (OneToManyMapping) persistentAttribute.getMapping();
- oneToManyMapping.getOrderable().setSpecifiedOrderBy("asdf");
+ oneToManyMapping.getOrderable().setOrderByOrdering();
+ oneToManyMapping.getOrderable().getOrderBy().setKey("asdf");
oneToManyMapping.getRelationship().getJoinTableStrategy().getJoinTable().setSpecifiedName("FOO");
assertFalse(oneToManyMapping.isDefault());
@@ -433,7 +440,8 @@ public class JavaOneToManyMappingTests extends ContextModelTestCase
SpecifiedPersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next();
OneToManyMapping oneToManyMapping = (OneToManyMapping) persistentAttribute.getMapping();
- oneToManyMapping.getOrderable().setSpecifiedOrderBy("asdf");
+ oneToManyMapping.getOrderable().setOrderByOrdering();
+ oneToManyMapping.getOrderable().getOrderBy().setKey("asdf");
oneToManyMapping.getRelationship().getJoinTableStrategy().getJoinTable().setSpecifiedName("FOO");
assertFalse(oneToManyMapping.isDefault());
@@ -455,7 +463,8 @@ public class JavaOneToManyMappingTests extends ContextModelTestCase
SpecifiedPersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next();
OneToManyMapping oneToManyMapping = (OneToManyMapping) persistentAttribute.getMapping();
- oneToManyMapping.getOrderable().setSpecifiedOrderBy("asdf");
+ oneToManyMapping.getOrderable().setOrderByOrdering();
+ oneToManyMapping.getOrderable().getOrderBy().setKey("asdf");
oneToManyMapping.getRelationship().getJoinTableStrategy().getJoinTable().setSpecifiedName("FOO");
assertFalse(oneToManyMapping.isDefault());
@@ -477,7 +486,8 @@ public class JavaOneToManyMappingTests extends ContextModelTestCase
SpecifiedPersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next();
OneToManyMapping oneToManyMapping = (OneToManyMapping) persistentAttribute.getMapping();
- oneToManyMapping.getOrderable().setSpecifiedOrderBy("asdf");
+ oneToManyMapping.getOrderable().setOrderByOrdering();
+ oneToManyMapping.getOrderable().getOrderBy().setKey("asdf");
oneToManyMapping.getRelationship().getJoinTableStrategy().getJoinTable().setSpecifiedName("FOO");
assertFalse(oneToManyMapping.isDefault());
@@ -499,7 +509,8 @@ public class JavaOneToManyMappingTests extends ContextModelTestCase
SpecifiedPersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next();
OneToManyMapping oneToManyMapping = (OneToManyMapping) persistentAttribute.getMapping();
- oneToManyMapping.getOrderable().setSpecifiedOrderBy("asdf");
+ oneToManyMapping.getOrderable().setOrderByOrdering();
+ oneToManyMapping.getOrderable().getOrderBy().setKey("asdf");
oneToManyMapping.getRelationship().getJoinTableStrategy().getJoinTable().setSpecifiedName("FOO");
assertFalse(oneToManyMapping.isDefault());
@@ -1011,143 +1022,78 @@ public class JavaOneToManyMappingTests extends ContextModelTestCase
public void testUpdateOrderBy() throws Exception {
createTestEntityWithOneToManyMapping();
addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME);
-
SpecifiedPersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next();
OneToManyMapping oneToManyMapping = (OneToManyMapping) persistentAttribute.getMapping();
-
+ Orderable orderable = oneToManyMapping.getOrderable();
JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, AstNodeType.TYPE);
JavaResourceField resourceField = resourceType.getFields().iterator().next();
- assertNull(oneToManyMapping.getOrderable().getSpecifiedOrderBy());
- assertNull(resourceField.getAnnotation(OrderByAnnotation.ANNOTATION_NAME));
-
- //set orderBy in the resource model, verify context model updated
- resourceField.addAnnotation(OrderByAnnotation.ANNOTATION_NAME);
- OrderByAnnotation orderBy = (OrderByAnnotation) resourceField.getAnnotation(OrderByAnnotation.ANNOTATION_NAME);
- orderBy.setValue("newOrderBy");
- getJpaProject().synchronizeContextModel();
- assertEquals("newOrderBy", oneToManyMapping.getOrderable().getSpecifiedOrderBy());
- assertEquals("newOrderBy", orderBy.getValue());
-
- //set orderBy to null in the resource model
- resourceField.removeAnnotation(OrderByAnnotation.ANNOTATION_NAME);
- getJpaProject().synchronizeContextModel();
- assertNull(oneToManyMapping.getOrderable().getSpecifiedOrderBy());
- assertNull(resourceField.getAnnotation(OrderByAnnotation.ANNOTATION_NAME));
- }
-
- public void testModifyOrderBy() throws Exception {
- createTestEntityWithOneToManyMapping();
- addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME);
+ assertNull(resourceField.getAnnotation(JPA.ORDER_BY));
+ assertTrue(orderable.isNoOrdering());
+ assertFalse(orderable.isOrderByOrdering());
+ assertNull(orderable.getOrderBy().getKey());
- SpecifiedPersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next();
- OneToManyMapping oneToManyMapping = (OneToManyMapping) persistentAttribute.getMapping();
+ resourceField.addAnnotation(JPA.ORDER_BY);
+ getJpaProject().synchronizeContextModel();
- JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, AstNodeType.TYPE);
- JavaResourceField resourceField = resourceType.getFields().iterator().next();
+ assertNotNull(resourceField.getAnnotation(JPA.ORDER_BY));
+ assertFalse(orderable.isNoOrdering());
+ assertTrue(orderable.isOrderByOrdering());
+ assertTrue(orderable.getOrderBy().isByPrimaryKey());
+ assertNull(orderable.getOrderBy().getKey());
- assertNull(oneToManyMapping.getOrderable().getSpecifiedOrderBy());
- assertNull(resourceField.getAnnotation(OrderByAnnotation.ANNOTATION_NAME));
-
- //set mappedBy in the context model, verify resource model updated
- oneToManyMapping.getOrderable().setSpecifiedOrderBy("newOrderBy");
- assertEquals("newOrderBy", oneToManyMapping.getOrderable().getSpecifiedOrderBy());
- OrderByAnnotation orderBy = (OrderByAnnotation) resourceField.getAnnotation(OrderByAnnotation.ANNOTATION_NAME);
- assertEquals("newOrderBy", orderBy.getValue());
-
- //set mappedBy to null in the context model
- oneToManyMapping.getOrderable().setSpecifiedOrderBy(null);
- assertNull(oneToManyMapping.getOrderable().getSpecifiedOrderBy());
- assertNull(resourceField.getAnnotation(OrderByAnnotation.ANNOTATION_NAME));
- }
-
- public void testUpdateNoOrdering() throws Exception {
- createTestEntityWithOneToManyMapping();
- addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME);
+ ((OrderByAnnotation) resourceField.getAnnotation(JPA.ORDER_BY)).setValue("foo");
+ getJpaProject().synchronizeContextModel();
- SpecifiedPersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next();
- OneToManyMapping oneToManyMapping = (OneToManyMapping) persistentAttribute.getMapping();
+ assertEquals("foo", ((OrderByAnnotation) resourceField.getAnnotation(JPA.ORDER_BY)).getValue());
+ assertFalse(orderable.isNoOrdering());
+ assertTrue(orderable.isOrderByOrdering());
+ assertFalse(orderable.getOrderBy().isByPrimaryKey());
+ assertEquals("foo", orderable.getOrderBy().getKey());
- JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, AstNodeType.TYPE);
- JavaResourceField resourceField = resourceType.getFields().iterator().next();
-
- assertTrue(oneToManyMapping.getOrderable().isNoOrdering());
- assertNull(resourceField.getAnnotation(OrderByAnnotation.ANNOTATION_NAME));
-
- //set orderBy in the resource model, verify context model updated
- resourceField.addAnnotation(OrderByAnnotation.ANNOTATION_NAME);
+ resourceField.removeAnnotation(JPA.ORDER_BY);
getJpaProject().synchronizeContextModel();
- assertFalse(oneToManyMapping.getOrderable().isNoOrdering());
- OrderByAnnotation orderBy = (OrderByAnnotation) resourceField.getAnnotation(OrderByAnnotation.ANNOTATION_NAME);
- orderBy.setValue("newOrderBy");
- getJpaProject().synchronizeContextModel();
- assertFalse(oneToManyMapping.getOrderable().isNoOrdering());
-
- //set orderBy to null in the resource model
- resourceField.removeAnnotation(OrderByAnnotation.ANNOTATION_NAME);
- getJpaProject().synchronizeContextModel();
- assertTrue(oneToManyMapping.getOrderable().isNoOrdering());
- assertNull(resourceField.getAnnotation(OrderByAnnotation.ANNOTATION_NAME));
+ assertNull(resourceField.getAnnotation(JPA.ORDER_BY));
+ assertTrue(orderable.isNoOrdering());
+ assertFalse(orderable.isOrderByOrdering());
}
- public void testUpdatePkOrdering() throws Exception {
+ public void testModifyOrderBy() throws Exception {
createTestEntityWithOneToManyMapping();
addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME);
-
SpecifiedPersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next();
OneToManyMapping oneToManyMapping = (OneToManyMapping) persistentAttribute.getMapping();
-
+ Orderable orderable = oneToManyMapping.getOrderable();
JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, AstNodeType.TYPE);
JavaResourceField resourceField = resourceType.getFields().iterator().next();
- assertFalse(oneToManyMapping.getOrderable().isPkOrdering());
- assertNull(resourceField.getAnnotation(OrderByAnnotation.ANNOTATION_NAME));
-
- //set orderBy in the resource model, verify context model updated
- resourceField.addAnnotation(OrderByAnnotation.ANNOTATION_NAME);
- getJpaProject().synchronizeContextModel();
- assertTrue(oneToManyMapping.getOrderable().isPkOrdering());
+ assertNull(resourceField.getAnnotation(JPA.ORDER_BY));
+ assertTrue(orderable.isNoOrdering());
+ assertFalse(orderable.isOrderByOrdering());
+ assertNull(orderable.getOrderBy().getKey());
- OrderByAnnotation orderBy = (OrderByAnnotation) resourceField.getAnnotation(OrderByAnnotation.ANNOTATION_NAME);
- orderBy.setValue("newOrderBy");
- getJpaProject().synchronizeContextModel();
- assertFalse(oneToManyMapping.getOrderable().isPkOrdering());
-
- //set orderBy to null in the resource model
- resourceField.removeAnnotation(OrderByAnnotation.ANNOTATION_NAME);
- getJpaProject().synchronizeContextModel();
- assertFalse(oneToManyMapping.getOrderable().isPkOrdering());
- assertNull(resourceField.getAnnotation(OrderByAnnotation.ANNOTATION_NAME));
- }
-
- public void testUpdateCustomOrdering() throws Exception {
- createTestEntityWithOneToManyMapping();
- addXmlClassRef(FULLY_QUALIFIED_TYPE_NAME);
+ orderable.setOrderByOrdering();
- SpecifiedPersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next();
- OneToManyMapping oneToManyMapping = (OneToManyMapping) persistentAttribute.getMapping();
+ assertNotNull(resourceField.getAnnotation(JPA.ORDER_BY));
+ assertFalse(orderable.isNoOrdering());
+ assertTrue(orderable.isOrderByOrdering());
+ assertTrue(orderable.getOrderBy().isByPrimaryKey());
+ assertNull(orderable.getOrderBy().getKey());
- JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, AstNodeType.TYPE);
- JavaResourceField resourceField = resourceType.getFields().iterator().next();
+ orderable.getOrderBy().setKey("foo");
- assertFalse(oneToManyMapping.getOrderable().isCustomOrdering());
- assertNull(resourceField.getAnnotation(OrderByAnnotation.ANNOTATION_NAME));
-
- //set orderBy in the resource model, verify context model updated
- resourceField.addAnnotation(OrderByAnnotation.ANNOTATION_NAME);
- assertFalse(oneToManyMapping.getOrderable().isCustomOrdering());
+ assertEquals("foo", ((OrderByAnnotation) resourceField.getAnnotation(JPA.ORDER_BY)).getValue());
+ assertFalse(orderable.isNoOrdering());
+ assertTrue(orderable.isOrderByOrdering());
+ assertFalse(orderable.getOrderBy().isByPrimaryKey());
+ assertEquals("foo", orderable.getOrderBy().getKey());
- OrderByAnnotation orderBy = (OrderByAnnotation) resourceField.getAnnotation(OrderByAnnotation.ANNOTATION_NAME);
- orderBy.setValue("newOrderBy");
- getJpaProject().synchronizeContextModel();
- assertTrue(oneToManyMapping.getOrderable().isCustomOrdering());
-
- //set orderBy to null in the resource model
- resourceField.removeAnnotation(OrderByAnnotation.ANNOTATION_NAME);
- getJpaProject().synchronizeContextModel();
- assertFalse(oneToManyMapping.getOrderable().isCustomOrdering());
- assertNull(resourceField.getAnnotation(OrderByAnnotation.ANNOTATION_NAME));
+ orderable.setNoOrdering();
+
+ assertNull(resourceField.getAnnotation(JPA.ORDER_BY));
+ assertTrue(orderable.isNoOrdering());
+ assertFalse(orderable.isOrderByOrdering());
}
public void testDefaultTargetEntityForMap() throws Exception {
diff --git a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/context/java/JavaOneToOneMappingTests.java b/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/context/java/JavaOneToOneMappingTests.java
index 01dbbbea21..845f767890 100644
--- a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/context/java/JavaOneToOneMappingTests.java
+++ b/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/context/java/JavaOneToOneMappingTests.java
@@ -18,7 +18,6 @@ import org.eclipse.jpt.common.core.resource.java.JavaResourceType;
import org.eclipse.jpt.common.core.resource.java.NestableAnnotation;
import org.eclipse.jpt.common.core.tests.internal.projects.TestJavaProject.SourceWriter;
import org.eclipse.jpt.common.utility.internal.iterator.IteratorTools;
-import org.eclipse.jpt.common.utility.internal.iterator.IteratorTools;
import org.eclipse.jpt.jpa.core.MappingKeys;
import org.eclipse.jpt.jpa.core.context.AttributeMapping;
import org.eclipse.jpt.jpa.core.context.BasicMapping;
@@ -26,14 +25,14 @@ import org.eclipse.jpt.jpa.core.context.EmbeddedIdMapping;
import org.eclipse.jpt.jpa.core.context.EmbeddedMapping;
import org.eclipse.jpt.jpa.core.context.FetchType;
import org.eclipse.jpt.jpa.core.context.IdMapping;
-import org.eclipse.jpt.jpa.core.context.SpecifiedJoinColumn;
-import org.eclipse.jpt.jpa.core.context.SpecifiedJoinColumnRelationshipStrategy;
import org.eclipse.jpt.jpa.core.context.ManyToManyMapping;
import org.eclipse.jpt.jpa.core.context.ManyToOneMapping;
-import org.eclipse.jpt.jpa.core.context.SpecifiedMappedByRelationshipStrategy;
import org.eclipse.jpt.jpa.core.context.OneToManyMapping;
import org.eclipse.jpt.jpa.core.context.OneToOneMapping;
import org.eclipse.jpt.jpa.core.context.OneToOneRelationship;
+import org.eclipse.jpt.jpa.core.context.SpecifiedJoinColumn;
+import org.eclipse.jpt.jpa.core.context.SpecifiedJoinColumnRelationshipStrategy;
+import org.eclipse.jpt.jpa.core.context.SpecifiedMappedByRelationshipStrategy;
import org.eclipse.jpt.jpa.core.context.SpecifiedPersistentAttribute;
import org.eclipse.jpt.jpa.core.context.SpecifiedPrimaryKeyJoinColumn;
import org.eclipse.jpt.jpa.core.context.SpecifiedPrimaryKeyJoinColumnRelationshipStrategy;
diff --git a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/context/orm/OrmManyToManyMappingTests.java b/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/context/orm/OrmManyToManyMappingTests.java
index 60f39b82bb..921bebcaa7 100644
--- a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/context/orm/OrmManyToManyMappingTests.java
+++ b/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/context/orm/OrmManyToManyMappingTests.java
@@ -12,6 +12,7 @@ package org.eclipse.jpt.jpa.core.tests.internal.context.orm;
import java.util.Iterator;
import org.eclipse.jdt.core.ICompilationUnit;
import org.eclipse.jpt.common.core.tests.internal.projects.TestJavaProject.SourceWriter;
+import org.eclipse.jpt.common.utility.internal.StringTools;
import org.eclipse.jpt.common.utility.internal.iterator.IteratorTools;
import org.eclipse.jpt.jpa.core.MappingKeys;
import org.eclipse.jpt.jpa.core.context.AttributeMapping;
@@ -21,22 +22,23 @@ import org.eclipse.jpt.jpa.core.context.EmbeddedIdMapping;
import org.eclipse.jpt.jpa.core.context.EmbeddedMapping;
import org.eclipse.jpt.jpa.core.context.FetchType;
import org.eclipse.jpt.jpa.core.context.IdMapping;
-import org.eclipse.jpt.jpa.core.context.SpecifiedJoinColumn;
-import org.eclipse.jpt.jpa.core.context.SpecifiedJoinTable;
import org.eclipse.jpt.jpa.core.context.ManyToManyMapping;
import org.eclipse.jpt.jpa.core.context.ManyToOneMapping;
-import org.eclipse.jpt.jpa.core.context.SpecifiedMappedByRelationshipStrategy;
import org.eclipse.jpt.jpa.core.context.OneToManyMapping;
import org.eclipse.jpt.jpa.core.context.OneToOneMapping;
+import org.eclipse.jpt.jpa.core.context.Orderable;
import org.eclipse.jpt.jpa.core.context.PersistentAttribute;
+import org.eclipse.jpt.jpa.core.context.SpecifiedJoinColumn;
+import org.eclipse.jpt.jpa.core.context.SpecifiedJoinTable;
+import org.eclipse.jpt.jpa.core.context.SpecifiedMappedByRelationshipStrategy;
import org.eclipse.jpt.jpa.core.context.TransientMapping;
import org.eclipse.jpt.jpa.core.context.VersionMapping;
import org.eclipse.jpt.jpa.core.context.java.JavaManyToManyMapping;
import org.eclipse.jpt.jpa.core.context.orm.OrmManyToManyMapping;
import org.eclipse.jpt.jpa.core.context.orm.OrmManyToManyRelationship;
-import org.eclipse.jpt.jpa.core.context.orm.OrmSpecifiedPersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.orm.OrmPersistentType;
import org.eclipse.jpt.jpa.core.context.orm.OrmPersistentAttribute;
+import org.eclipse.jpt.jpa.core.context.orm.OrmPersistentType;
+import org.eclipse.jpt.jpa.core.context.orm.OrmSpecifiedPersistentAttribute;
import org.eclipse.jpt.jpa.core.resource.java.JPA;
import org.eclipse.jpt.jpa.core.resource.orm.OrmFactory;
import org.eclipse.jpt.jpa.core.resource.orm.XmlEntity;
@@ -596,20 +598,35 @@ public class OrmManyToManyMappingTests extends ContextModelTestCase
OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME);
OrmSpecifiedPersistentAttribute ormPersistentAttribute = ormPersistentType.addAttributeToXml(ormPersistentType.getAttributeNamed("id"), MappingKeys.MANY_TO_MANY_ATTRIBUTE_MAPPING_KEY);
OrmManyToManyMapping ormManyToManyMapping = (OrmManyToManyMapping) ormPersistentAttribute.getMapping();
+ Orderable orderable = ormManyToManyMapping.getOrderable();
XmlManyToMany manyToMany = getXmlEntityMappings().getEntities().get(0).getAttributes().getManyToManys().get(0);
- assertNull(ormManyToManyMapping.getOrderable().getSpecifiedOrderBy());
assertNull(manyToMany.getOrderBy());
-
- //set orderBy in the resource model, verify context model updated
- manyToMany.setOrderBy("newOrderBy");
- assertEquals("newOrderBy", ormManyToManyMapping.getOrderable().getSpecifiedOrderBy());
- assertEquals("newOrderBy", manyToMany.getOrderBy());
-
- //set orderBy to null in the resource model
+ assertTrue(orderable.isNoOrdering());
+ assertFalse(orderable.isOrderByOrdering());
+ assertNull(orderable.getOrderBy().getKey());
+
+ manyToMany.setOrderBy(OrmFactory.eINSTANCE.createXmlOrderBy());
+
+ assertNotNull(manyToMany.getOrderBy());
+ assertFalse(orderable.isNoOrdering());
+ assertTrue(orderable.isOrderByOrdering());
+ assertTrue(orderable.getOrderBy().isByPrimaryKey());
+ assertTrue(StringTools.isBlank(orderable.getOrderBy().getKey()));
+
+ manyToMany.getOrderBy().setValue("foo");
+
+ assertNotNull(manyToMany.getOrderBy().getValue());
+ assertFalse(orderable.isNoOrdering());
+ assertTrue(orderable.isOrderByOrdering());
+ assertFalse(orderable.getOrderBy().isByPrimaryKey());
+ assertEquals("foo", orderable.getOrderBy().getKey());
+
manyToMany.setOrderBy(null);
- assertNull(ormManyToManyMapping.getOrderable().getSpecifiedOrderBy());
+
assertNull(manyToMany.getOrderBy());
+ assertTrue(orderable.isNoOrdering());
+ assertFalse(orderable.isOrderByOrdering());
}
public void testModifyOrderBy() throws Exception {
@@ -617,74 +634,35 @@ public class OrmManyToManyMappingTests extends ContextModelTestCase
OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME);
OrmSpecifiedPersistentAttribute ormPersistentAttribute = ormPersistentType.addAttributeToXml(ormPersistentType.getAttributeNamed("id"), MappingKeys.MANY_TO_MANY_ATTRIBUTE_MAPPING_KEY);
OrmManyToManyMapping ormManyToManyMapping = (OrmManyToManyMapping) ormPersistentAttribute.getMapping();
+ Orderable orderable = ormManyToManyMapping.getOrderable();
XmlManyToMany manyToMany = getXmlEntityMappings().getEntities().get(0).getAttributes().getManyToManys().get(0);
- assertNull(ormManyToManyMapping.getOrderable().getSpecifiedOrderBy());
assertNull(manyToMany.getOrderBy());
+ assertTrue(orderable.isNoOrdering());
+ assertFalse(orderable.isOrderByOrdering());
+ assertNull(orderable.getOrderBy().getKey());
- //set mappedBy in the context model, verify resource model updated
- ormManyToManyMapping.getOrderable().setSpecifiedOrderBy("newOrderBy");
- assertEquals("newOrderBy", ormManyToManyMapping.getOrderable().getSpecifiedOrderBy());
- assertEquals("newOrderBy", manyToMany.getOrderBy());
-
- //set mappedBy to null in the context model
- ormManyToManyMapping.getOrderable().setSpecifiedOrderBy(null);
- assertNull(ormManyToManyMapping.getOrderable().getSpecifiedOrderBy());
- assertNull(manyToMany.getOrderBy());
- }
-
- public void testIsNoOrdering() throws Exception {
- createTestType();
- OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME);
- OrmSpecifiedPersistentAttribute ormPersistentAttribute = ormPersistentType.addAttributeToXml(ormPersistentType.getAttributeNamed("id"), MappingKeys.MANY_TO_MANY_ATTRIBUTE_MAPPING_KEY);
- OrmManyToManyMapping ormManyToManyMapping = (OrmManyToManyMapping) ormPersistentAttribute.getMapping();
-
- assertTrue(ormManyToManyMapping.getOrderable().isNoOrdering());
-
- ormManyToManyMapping.getOrderable().setSpecifiedOrderBy("foo");
- assertFalse(ormManyToManyMapping.getOrderable().isNoOrdering());
+ orderable.setOrderByOrdering();
- ormManyToManyMapping.getOrderable().setSpecifiedOrderBy(null);
- assertTrue(ormManyToManyMapping.getOrderable().isNoOrdering());
- }
-
- public void testSetNoOrdering() throws Exception {
- createTestType();
- OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME);
- OrmSpecifiedPersistentAttribute ormPersistentAttribute = ormPersistentType.addAttributeToXml(ormPersistentType.getAttributeNamed("id"), MappingKeys.MANY_TO_MANY_ATTRIBUTE_MAPPING_KEY);
- OrmManyToManyMapping ormManyToManyMapping = (OrmManyToManyMapping) ormPersistentAttribute.getMapping();
+ assertNotNull(manyToMany.getOrderBy());
+ assertFalse(orderable.isNoOrdering());
+ assertTrue(orderable.isOrderByOrdering());
+ assertTrue(orderable.getOrderBy().isByPrimaryKey());
+ assertTrue(StringTools.isBlank(orderable.getOrderBy().getKey()));
- assertTrue(ormManyToManyMapping.getOrderable().isNoOrdering());
-
- ormManyToManyMapping.getOrderable().setSpecifiedOrderBy("foo");
- assertFalse(ormManyToManyMapping.getOrderable().isNoOrdering());
+ orderable.getOrderBy().setKey("foo");
- ormManyToManyMapping.getOrderable().setNoOrdering(true);
- assertTrue(ormManyToManyMapping.getOrderable().isNoOrdering());
- assertNull(ormManyToManyMapping.getOrderable().getSpecifiedOrderBy());
- }
-//TODO
-// public boolean isOrderByPk() {
-// return "".equals(getOrderBy());
-// }
-//
-// public void setOrderByPk() {
-// setOrderBy("");
-// }
-
- public void testIsCustomOrdering() throws Exception {
- createTestType();
- OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME);
- OrmSpecifiedPersistentAttribute ormPersistentAttribute = ormPersistentType.addAttributeToXml(ormPersistentType.getAttributeNamed("id"), MappingKeys.MANY_TO_MANY_ATTRIBUTE_MAPPING_KEY);
- OrmManyToManyMapping ormManyToManyMapping = (OrmManyToManyMapping) ormPersistentAttribute.getMapping();
+ assertNotNull(manyToMany.getOrderBy().getValue());
+ assertFalse(orderable.isNoOrdering());
+ assertTrue(orderable.isOrderByOrdering());
+ assertFalse(orderable.getOrderBy().isByPrimaryKey());
+ assertEquals("foo", orderable.getOrderBy().getKey());
- assertFalse(ormManyToManyMapping.getOrderable().isCustomOrdering());
-
- ormManyToManyMapping.getOrderable().setSpecifiedOrderBy("foo");
- assertTrue(ormManyToManyMapping.getOrderable().isCustomOrdering());
+ orderable.setNoOrdering();
- ormManyToManyMapping.getOrderable().setSpecifiedOrderBy(null);
- assertFalse(ormManyToManyMapping.getOrderable().isCustomOrdering());
+ assertNull(manyToMany.getOrderBy());
+ assertTrue(orderable.isNoOrdering());
+ assertFalse(orderable.isOrderByOrdering());
}
public void testManyToManyMorphToIdMapping() throws Exception {
@@ -696,7 +674,8 @@ public class OrmManyToManyMappingTests extends ContextModelTestCase
assertFalse(manyToManyMapping.isDefault());
manyToManyMapping.setSpecifiedFetch(FetchType.EAGER);
manyToManyMapping.setSpecifiedTargetEntity("TargetEntity");
- manyToManyMapping.getOrderable().setSpecifiedOrderBy("customOrder");
+ manyToManyMapping.getOrderable().setOrderByOrdering();
+ manyToManyMapping.getOrderable().getOrderBy().setKey("customOrder");
manyToManyMapping.setSpecifiedMapKey("mapKey");
assertFalse(manyToManyMapping.isDefault());
@@ -716,7 +695,8 @@ public class OrmManyToManyMappingTests extends ContextModelTestCase
assertFalse(manyToManyMapping.isDefault());
manyToManyMapping.setSpecifiedFetch(FetchType.EAGER);
manyToManyMapping.setSpecifiedTargetEntity("TargetEntity");
- manyToManyMapping.getOrderable().setSpecifiedOrderBy("customOrder");
+ manyToManyMapping.getOrderable().setOrderByOrdering();
+ manyToManyMapping.getOrderable().getOrderBy().setKey("customOrder");
manyToManyMapping.setSpecifiedMapKey("mapKey");
assertFalse(manyToManyMapping.isDefault());
@@ -736,7 +716,8 @@ public class OrmManyToManyMappingTests extends ContextModelTestCase
assertFalse(manyToManyMapping.isDefault());
manyToManyMapping.setSpecifiedFetch(FetchType.EAGER);
manyToManyMapping.setSpecifiedTargetEntity("TargetEntity");
- manyToManyMapping.getOrderable().setSpecifiedOrderBy("customOrder");
+ manyToManyMapping.getOrderable().setOrderByOrdering();
+ manyToManyMapping.getOrderable().getOrderBy().setKey("customOrder");
manyToManyMapping.setSpecifiedMapKey("mapKey");
assertFalse(manyToManyMapping.isDefault());
@@ -756,7 +737,8 @@ public class OrmManyToManyMappingTests extends ContextModelTestCase
assertFalse(manyToManyMapping.isDefault());
manyToManyMapping.setSpecifiedFetch(FetchType.EAGER);
manyToManyMapping.setSpecifiedTargetEntity("TargetEntity");
- manyToManyMapping.getOrderable().setSpecifiedOrderBy("customOrder");
+ manyToManyMapping.getOrderable().setOrderByOrdering();
+ manyToManyMapping.getOrderable().getOrderBy().setKey("customOrder");
manyToManyMapping.setSpecifiedMapKey("mapKey");
assertFalse(manyToManyMapping.isDefault());
@@ -776,7 +758,8 @@ public class OrmManyToManyMappingTests extends ContextModelTestCase
assertFalse(manyToManyMapping.isDefault());
manyToManyMapping.setSpecifiedFetch(FetchType.EAGER);
manyToManyMapping.setSpecifiedTargetEntity("TargetEntity");
- manyToManyMapping.getOrderable().setSpecifiedOrderBy("customOrder");
+ manyToManyMapping.getOrderable().setOrderByOrdering();
+ manyToManyMapping.getOrderable().getOrderBy().setKey("customOrder");
manyToManyMapping.setSpecifiedMapKey("mapKey");
assertFalse(manyToManyMapping.isDefault());
@@ -796,7 +779,8 @@ public class OrmManyToManyMappingTests extends ContextModelTestCase
assertFalse(manyToManyMapping.isDefault());
manyToManyMapping.setSpecifiedFetch(FetchType.EAGER);
manyToManyMapping.setSpecifiedTargetEntity("TargetEntity");
- manyToManyMapping.getOrderable().setSpecifiedOrderBy("customOrder");
+ manyToManyMapping.getOrderable().setOrderByOrdering();
+ manyToManyMapping.getOrderable().getOrderBy().setKey("customOrder");
manyToManyMapping.setSpecifiedMapKey("mapKey");
manyToManyMapping.getRelationship().getMappedByStrategy().setMappedByAttribute("mappedBy");
manyToManyMapping.getCascade().setAll(true);
@@ -830,7 +814,8 @@ public class OrmManyToManyMappingTests extends ContextModelTestCase
assertFalse(manyToManyMapping.isDefault());
manyToManyMapping.setSpecifiedFetch(FetchType.EAGER);
manyToManyMapping.setSpecifiedTargetEntity("TargetEntity");
- manyToManyMapping.getOrderable().setSpecifiedOrderBy("customOrder");
+ manyToManyMapping.getOrderable().setOrderByOrdering();
+ manyToManyMapping.getOrderable().getOrderBy().setKey("customOrder");
manyToManyMapping.setSpecifiedMapKey("mapKey");
manyToManyMapping.getCascade().setAll(true);
manyToManyMapping.getCascade().setMerge(true);
@@ -875,7 +860,8 @@ public class OrmManyToManyMappingTests extends ContextModelTestCase
assertFalse(manyToManyMapping.isDefault());
manyToManyMapping.setSpecifiedFetch(FetchType.EAGER);
manyToManyMapping.setSpecifiedTargetEntity("TargetEntity");
- manyToManyMapping.getOrderable().setSpecifiedOrderBy("customOrder");
+ manyToManyMapping.getOrderable().setOrderByOrdering();
+ manyToManyMapping.getOrderable().getOrderBy().setKey("customOrder");
manyToManyMapping.setSpecifiedMapKey("mapKey");
manyToManyMapping.getCascade().setAll(true);
manyToManyMapping.getCascade().setMerge(true);
@@ -907,7 +893,8 @@ public class OrmManyToManyMappingTests extends ContextModelTestCase
assertFalse(manyToManyMapping.isDefault());
manyToManyMapping.setSpecifiedFetch(FetchType.EAGER);
manyToManyMapping.setSpecifiedTargetEntity("TargetEntity");
- manyToManyMapping.getOrderable().setSpecifiedOrderBy("customOrder");
+ manyToManyMapping.getOrderable().setOrderByOrdering();
+ manyToManyMapping.getOrderable().getOrderBy().setKey("customOrder");
manyToManyMapping.setSpecifiedMapKey("mapKey");
manyToManyMapping.getCascade().setAll(true);
manyToManyMapping.getCascade().setMerge(true);
@@ -1049,8 +1036,8 @@ public class OrmManyToManyMappingTests extends ContextModelTestCase
assertTrue(cascade.isRemove());
assertTrue(cascade.isRefresh());
- assertTrue(virtualManyToManyMapping.getOrderable().isCustomOrdering());
- assertEquals("city", virtualManyToManyMapping.getOrderable().getSpecifiedOrderBy());
+ assertTrue(virtualManyToManyMapping.getOrderable().isOrderByOrdering());
+ assertEquals("city", virtualManyToManyMapping.getOrderable().getOrderBy().getKey());
}
public void testVirtualMappingMetadataCompleteTrue() throws Exception {
@@ -1083,6 +1070,6 @@ public class OrmManyToManyMappingTests extends ContextModelTestCase
assertFalse(cascade.isRefresh());
assertTrue(ormManyToManyMapping.getOrderable().isNoOrdering());
- assertEquals(null, ormManyToManyMapping.getOrderable().getSpecifiedOrderBy());
+ assertEquals(null, ormManyToManyMapping.getOrderable().getOrderBy().getKey());
}
} \ No newline at end of file
diff --git a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/context/orm/OrmOneToManyMappingTests.java b/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/context/orm/OrmOneToManyMappingTests.java
index 9ad278b48c..e494fe27b2 100644
--- a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/context/orm/OrmOneToManyMappingTests.java
+++ b/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/context/orm/OrmOneToManyMappingTests.java
@@ -12,6 +12,7 @@ package org.eclipse.jpt.jpa.core.tests.internal.context.orm;
import java.util.Iterator;
import org.eclipse.jdt.core.ICompilationUnit;
import org.eclipse.jpt.common.core.tests.internal.projects.TestJavaProject.SourceWriter;
+import org.eclipse.jpt.common.utility.internal.StringTools;
import org.eclipse.jpt.common.utility.internal.iterator.IteratorTools;
import org.eclipse.jpt.jpa.core.MappingKeys;
import org.eclipse.jpt.jpa.core.context.AttributeMapping;
@@ -21,22 +22,23 @@ import org.eclipse.jpt.jpa.core.context.EmbeddedIdMapping;
import org.eclipse.jpt.jpa.core.context.EmbeddedMapping;
import org.eclipse.jpt.jpa.core.context.FetchType;
import org.eclipse.jpt.jpa.core.context.IdMapping;
-import org.eclipse.jpt.jpa.core.context.SpecifiedJoinColumn;
-import org.eclipse.jpt.jpa.core.context.SpecifiedJoinTable;
import org.eclipse.jpt.jpa.core.context.ManyToManyMapping;
import org.eclipse.jpt.jpa.core.context.ManyToOneMapping;
-import org.eclipse.jpt.jpa.core.context.SpecifiedMappedByRelationshipStrategy;
import org.eclipse.jpt.jpa.core.context.OneToManyMapping;
import org.eclipse.jpt.jpa.core.context.OneToOneMapping;
+import org.eclipse.jpt.jpa.core.context.Orderable;
import org.eclipse.jpt.jpa.core.context.PersistentAttribute;
+import org.eclipse.jpt.jpa.core.context.SpecifiedJoinColumn;
+import org.eclipse.jpt.jpa.core.context.SpecifiedJoinTable;
+import org.eclipse.jpt.jpa.core.context.SpecifiedMappedByRelationshipStrategy;
import org.eclipse.jpt.jpa.core.context.TransientMapping;
import org.eclipse.jpt.jpa.core.context.VersionMapping;
import org.eclipse.jpt.jpa.core.context.java.JavaOneToManyMapping;
import org.eclipse.jpt.jpa.core.context.orm.OrmOneToManyMapping;
import org.eclipse.jpt.jpa.core.context.orm.OrmOneToManyRelationship;
-import org.eclipse.jpt.jpa.core.context.orm.OrmSpecifiedPersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.orm.OrmPersistentType;
import org.eclipse.jpt.jpa.core.context.orm.OrmPersistentAttribute;
+import org.eclipse.jpt.jpa.core.context.orm.OrmPersistentType;
+import org.eclipse.jpt.jpa.core.context.orm.OrmSpecifiedPersistentAttribute;
import org.eclipse.jpt.jpa.core.resource.java.JPA;
import org.eclipse.jpt.jpa.core.resource.orm.OrmFactory;
import org.eclipse.jpt.jpa.core.resource.orm.XmlEntity;
@@ -571,20 +573,35 @@ public class OrmOneToManyMappingTests extends ContextModelTestCase
OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME);
OrmSpecifiedPersistentAttribute ormPersistentAttribute = ormPersistentType.addAttributeToXml(ormPersistentType.getAttributeNamed("id"), MappingKeys.ONE_TO_MANY_ATTRIBUTE_MAPPING_KEY);
OrmOneToManyMapping ormOneToManyMapping = (OrmOneToManyMapping) ormPersistentAttribute.getMapping();
+ Orderable orderable = ormOneToManyMapping.getOrderable();
XmlOneToMany oneToMany = getXmlEntityMappings().getEntities().get(0).getAttributes().getOneToManys().get(0);
- assertNull(ormOneToManyMapping.getOrderable().getSpecifiedOrderBy());
assertNull(oneToMany.getOrderBy());
-
- //set orderBy in the resource model, verify context model updated
- oneToMany.setOrderBy("newOrderBy");
- assertEquals("newOrderBy", ormOneToManyMapping.getOrderable().getSpecifiedOrderBy());
- assertEquals("newOrderBy", oneToMany.getOrderBy());
-
- //set orderBy to null in the resource model
+ assertTrue(orderable.isNoOrdering());
+ assertFalse(orderable.isOrderByOrdering());
+ assertNull(orderable.getOrderBy().getKey());
+
+ oneToMany.setOrderBy(OrmFactory.eINSTANCE.createXmlOrderBy());
+
+ assertNotNull(oneToMany.getOrderBy());
+ assertFalse(orderable.isNoOrdering());
+ assertTrue(orderable.isOrderByOrdering());
+ assertTrue(orderable.getOrderBy().isByPrimaryKey());
+ assertTrue(StringTools.isBlank(orderable.getOrderBy().getKey()));
+
+ oneToMany.getOrderBy().setValue("foo");
+
+ assertNotNull(oneToMany.getOrderBy().getValue());
+ assertFalse(orderable.isNoOrdering());
+ assertTrue(orderable.isOrderByOrdering());
+ assertFalse(orderable.getOrderBy().isByPrimaryKey());
+ assertEquals("foo", orderable.getOrderBy().getKey());
+
oneToMany.setOrderBy(null);
- assertNull(ormOneToManyMapping.getOrderable().getSpecifiedOrderBy());
+
assertNull(oneToMany.getOrderBy());
+ assertTrue(orderable.isNoOrdering());
+ assertFalse(orderable.isOrderByOrdering());
}
public void testModifyOrderBy() throws Exception {
@@ -592,74 +609,35 @@ public class OrmOneToManyMappingTests extends ContextModelTestCase
OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME);
OrmSpecifiedPersistentAttribute ormPersistentAttribute = ormPersistentType.addAttributeToXml(ormPersistentType.getAttributeNamed("id"), MappingKeys.ONE_TO_MANY_ATTRIBUTE_MAPPING_KEY);
OrmOneToManyMapping ormOneToManyMapping = (OrmOneToManyMapping) ormPersistentAttribute.getMapping();
+ Orderable orderable = ormOneToManyMapping.getOrderable();
XmlOneToMany oneToMany = getXmlEntityMappings().getEntities().get(0).getAttributes().getOneToManys().get(0);
- assertNull(ormOneToManyMapping.getOrderable().getSpecifiedOrderBy());
assertNull(oneToMany.getOrderBy());
+ assertTrue(orderable.isNoOrdering());
+ assertFalse(orderable.isOrderByOrdering());
+ assertNull(orderable.getOrderBy().getKey());
- //set mappedBy in the context model, verify resource model updated
- ormOneToManyMapping.getOrderable().setSpecifiedOrderBy("newOrderBy");
- assertEquals("newOrderBy", ormOneToManyMapping.getOrderable().getSpecifiedOrderBy());
- assertEquals("newOrderBy", oneToMany.getOrderBy());
-
- //set mappedBy to null in the context model
- ormOneToManyMapping.getOrderable().setSpecifiedOrderBy(null);
- assertNull(ormOneToManyMapping.getOrderable().getSpecifiedOrderBy());
- assertNull(oneToMany.getOrderBy());
- }
-
- public void testIsNoOrdering() throws Exception {
- createTestType();
- OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME);
- OrmSpecifiedPersistentAttribute ormPersistentAttribute = ormPersistentType.addAttributeToXml(ormPersistentType.getAttributeNamed("id"), MappingKeys.ONE_TO_MANY_ATTRIBUTE_MAPPING_KEY);
- OrmOneToManyMapping ormOneToManyMapping = (OrmOneToManyMapping) ormPersistentAttribute.getMapping();
+ orderable.setOrderByOrdering();
- assertTrue(ormOneToManyMapping.getOrderable().isNoOrdering());
-
- ormOneToManyMapping.getOrderable().setSpecifiedOrderBy("foo");
- assertFalse(ormOneToManyMapping.getOrderable().isNoOrdering());
+ assertNotNull(oneToMany.getOrderBy());
+ assertFalse(orderable.isNoOrdering());
+ assertTrue(orderable.isOrderByOrdering());
+ assertTrue(orderable.getOrderBy().isByPrimaryKey());
+ assertTrue(StringTools.isBlank(orderable.getOrderBy().getKey()));
- ormOneToManyMapping.getOrderable().setSpecifiedOrderBy(null);
- assertTrue(ormOneToManyMapping.getOrderable().isNoOrdering());
- }
-
- public void testSetNoOrdering() throws Exception {
- createTestType();
- OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME);
- OrmSpecifiedPersistentAttribute ormPersistentAttribute = ormPersistentType.addAttributeToXml(ormPersistentType.getAttributeNamed("id"), MappingKeys.ONE_TO_MANY_ATTRIBUTE_MAPPING_KEY);
- OrmOneToManyMapping ormOneToManyMapping = (OrmOneToManyMapping) ormPersistentAttribute.getMapping();
+ orderable.getOrderBy().setKey("foo");
- assertTrue(ormOneToManyMapping.getOrderable().isNoOrdering());
-
- ormOneToManyMapping.getOrderable().setSpecifiedOrderBy("foo");
- assertFalse(ormOneToManyMapping.getOrderable().isNoOrdering());
+ assertNotNull(oneToMany.getOrderBy().getValue());
+ assertFalse(orderable.isNoOrdering());
+ assertTrue(orderable.isOrderByOrdering());
+ assertFalse(orderable.getOrderBy().isByPrimaryKey());
+ assertEquals("foo", orderable.getOrderBy().getKey());
- ormOneToManyMapping.getOrderable().setNoOrdering(true);
- assertTrue(ormOneToManyMapping.getOrderable().isNoOrdering());
- assertNull(ormOneToManyMapping.getOrderable().getSpecifiedOrderBy());
- }
-//TODO
-// public boolean isOrderByPk() {
-// return "".equals(getOrderBy());
-// }
-//
-// public void setOrderByPk() {
-// setOrderBy("");
-// }
-
- public void testIsCustomOrdering() throws Exception {
- createTestType();
- OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME);
- OrmSpecifiedPersistentAttribute ormPersistentAttribute = ormPersistentType.addAttributeToXml(ormPersistentType.getAttributeNamed("id"), MappingKeys.ONE_TO_MANY_ATTRIBUTE_MAPPING_KEY);
- OrmOneToManyMapping ormOneToManyMapping = (OrmOneToManyMapping) ormPersistentAttribute.getMapping();
-
- assertFalse(ormOneToManyMapping.getOrderable().isCustomOrdering());
-
- ormOneToManyMapping.getOrderable().setSpecifiedOrderBy("foo");
- assertTrue(ormOneToManyMapping.getOrderable().isCustomOrdering());
+ orderable.setNoOrdering();
- ormOneToManyMapping.getOrderable().setSpecifiedOrderBy(null);
- assertFalse(ormOneToManyMapping.getOrderable().isCustomOrdering());
+ assertNull(oneToMany.getOrderBy());
+ assertTrue(orderable.isNoOrdering());
+ assertFalse(orderable.isOrderByOrdering());
}
public void testOneToManyMorphToIdMapping() throws Exception {
@@ -671,7 +649,8 @@ public class OrmOneToManyMappingTests extends ContextModelTestCase
assertFalse(oneToManyMapping.isDefault());
oneToManyMapping.setSpecifiedFetch(FetchType.EAGER);
oneToManyMapping.setSpecifiedTargetEntity("TargetEntity");
- oneToManyMapping.getOrderable().setSpecifiedOrderBy("customOrder");
+ oneToManyMapping.getOrderable().setOrderByOrdering();
+ oneToManyMapping.getOrderable().getOrderBy().setKey("customOrder");
oneToManyMapping.setSpecifiedMapKey("mapKey");
oneToManyMapping.getRelationship().getMappedByStrategy().setMappedByAttribute("mappedBy");
assertFalse(oneToManyMapping.isDefault());
@@ -692,7 +671,8 @@ public class OrmOneToManyMappingTests extends ContextModelTestCase
assertFalse(oneToManyMapping.isDefault());
oneToManyMapping.setSpecifiedFetch(FetchType.EAGER);
oneToManyMapping.setSpecifiedTargetEntity("TargetEntity");
- oneToManyMapping.getOrderable().setSpecifiedOrderBy("customOrder");
+ oneToManyMapping.getOrderable().setOrderByOrdering();
+ oneToManyMapping.getOrderable().getOrderBy().setKey("customOrder");
oneToManyMapping.setSpecifiedMapKey("mapKey");
oneToManyMapping.getRelationship().getJoinTableStrategy().getJoinTable().setSpecifiedName("MY_JOIN_TABLE");
SpecifiedJoinColumn joinColumn = oneToManyMapping.getRelationship().getJoinTableStrategy().getJoinTable().addSpecifiedJoinColumn(0);
@@ -719,7 +699,8 @@ public class OrmOneToManyMappingTests extends ContextModelTestCase
assertFalse(oneToManyMapping.isDefault());
oneToManyMapping.setSpecifiedFetch(FetchType.EAGER);
oneToManyMapping.setSpecifiedTargetEntity("TargetEntity");
- oneToManyMapping.getOrderable().setSpecifiedOrderBy("customOrder");
+ oneToManyMapping.getOrderable().setOrderByOrdering();
+ oneToManyMapping.getOrderable().getOrderBy().setKey("customOrder");
oneToManyMapping.setSpecifiedMapKey("mapKey");
oneToManyMapping.getRelationship().getMappedByStrategy().setMappedByAttribute("mappedBy");
assertFalse(oneToManyMapping.isDefault());
@@ -740,7 +721,8 @@ public class OrmOneToManyMappingTests extends ContextModelTestCase
assertFalse(oneToManyMapping.isDefault());
oneToManyMapping.setSpecifiedFetch(FetchType.EAGER);
oneToManyMapping.setSpecifiedTargetEntity("TargetEntity");
- oneToManyMapping.getOrderable().setSpecifiedOrderBy("customOrder");
+ oneToManyMapping.getOrderable().setOrderByOrdering();
+ oneToManyMapping.getOrderable().getOrderBy().setKey("customOrder");
oneToManyMapping.setSpecifiedMapKey("mapKey");
oneToManyMapping.getRelationship().getJoinTableStrategy().getJoinTable().setSpecifiedName("MY_JOIN_TABLE");
SpecifiedJoinColumn joinColumn = oneToManyMapping.getRelationship().getJoinTableStrategy().getJoinTable().addSpecifiedJoinColumn(0);
@@ -767,7 +749,8 @@ public class OrmOneToManyMappingTests extends ContextModelTestCase
assertFalse(oneToManyMapping.isDefault());
oneToManyMapping.setSpecifiedFetch(FetchType.EAGER);
oneToManyMapping.setSpecifiedTargetEntity("TargetEntity");
- oneToManyMapping.getOrderable().setSpecifiedOrderBy("customOrder");
+ oneToManyMapping.getOrderable().setOrderByOrdering();
+ oneToManyMapping.getOrderable().getOrderBy().setKey("customOrder");
oneToManyMapping.setSpecifiedMapKey("mapKey");
oneToManyMapping.getRelationship().getMappedByStrategy().setMappedByAttribute("mappedBy");
assertFalse(oneToManyMapping.isDefault());
@@ -788,7 +771,8 @@ public class OrmOneToManyMappingTests extends ContextModelTestCase
assertFalse(oneToManyMapping.isDefault());
oneToManyMapping.setSpecifiedFetch(FetchType.EAGER);
oneToManyMapping.setSpecifiedTargetEntity("TargetEntity");
- oneToManyMapping.getOrderable().setSpecifiedOrderBy("customOrder");
+ oneToManyMapping.getOrderable().setOrderByOrdering();
+ oneToManyMapping.getOrderable().getOrderBy().setKey("customOrder");
oneToManyMapping.setSpecifiedMapKey("mapKey");
oneToManyMapping.getRelationship().getMappedByStrategy().setMappedByAttribute("mappedBy");
oneToManyMapping.getCascade().setAll(true);
@@ -822,7 +806,8 @@ public class OrmOneToManyMappingTests extends ContextModelTestCase
assertFalse(oneToManyMapping.isDefault());
oneToManyMapping.setSpecifiedFetch(FetchType.EAGER);
oneToManyMapping.setSpecifiedTargetEntity("TargetEntity");
- oneToManyMapping.getOrderable().setSpecifiedOrderBy("customOrder");
+ oneToManyMapping.getOrderable().setOrderByOrdering();
+ oneToManyMapping.getOrderable().getOrderBy().setKey("customOrder");
oneToManyMapping.setSpecifiedMapKey("mapKey");
oneToManyMapping.getCascade().setAll(true);
oneToManyMapping.getCascade().setMerge(true);
@@ -867,7 +852,8 @@ public class OrmOneToManyMappingTests extends ContextModelTestCase
assertFalse(oneToManyMapping.isDefault());
oneToManyMapping.setSpecifiedFetch(FetchType.EAGER);
oneToManyMapping.setSpecifiedTargetEntity("TargetEntity");
- oneToManyMapping.getOrderable().setSpecifiedOrderBy("customOrder");
+ oneToManyMapping.getOrderable().setOrderByOrdering();
+ oneToManyMapping.getOrderable().getOrderBy().setKey("customOrder");
oneToManyMapping.setSpecifiedMapKey("mapKey");
oneToManyMapping.getRelationship().getMappedByStrategy().setMappedByAttribute("mappedBy");
oneToManyMapping.getCascade().setAll(true);
@@ -900,7 +886,8 @@ public class OrmOneToManyMappingTests extends ContextModelTestCase
assertFalse(oneToManyMapping.isDefault());
oneToManyMapping.setSpecifiedFetch(FetchType.EAGER);
oneToManyMapping.setSpecifiedTargetEntity("TargetEntity");
- oneToManyMapping.getOrderable().setSpecifiedOrderBy("customOrder");
+ oneToManyMapping.getOrderable().setOrderByOrdering();
+ oneToManyMapping.getOrderable().getOrderBy().setKey("customOrder");
oneToManyMapping.setSpecifiedMapKey("mapKey");
oneToManyMapping.getRelationship().getMappedByStrategy().setMappedByAttribute("mappedBy");
oneToManyMapping.getCascade().setAll(true);
@@ -1042,10 +1029,10 @@ public class OrmOneToManyMappingTests extends ContextModelTestCase
assertTrue(cascade.isRemove());
assertTrue(cascade.isRefresh());
- assertTrue(virtualOneToManyMapping.getOrderable().isCustomOrdering());
- assertEquals("city", virtualOneToManyMapping.getOrderable().getSpecifiedOrderBy());
+ assertTrue(virtualOneToManyMapping.getOrderable().isOrderByOrdering());
+ assertEquals("city", virtualOneToManyMapping.getOrderable().getOrderBy().getKey());
}
-
+
public void testVirtualMappingMetadataCompleteTrue() throws Exception {
createTestEntityOneToManyMapping();
createTestTargetEntityAddress();
@@ -1075,6 +1062,6 @@ public class OrmOneToManyMappingTests extends ContextModelTestCase
assertFalse(cascade.isRefresh());
assertTrue(ormOneToManyMapping.getOrderable().isNoOrdering());
- assertEquals(null, ormOneToManyMapping.getOrderable().getSpecifiedOrderBy());
+ assertEquals(null, ormOneToManyMapping.getOrderable().getOrderBy().getKey());
}
} \ No newline at end of file
diff --git a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/jpa2/context/java/GenericJavaElementCollectionMapping2_0Tests.java b/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/jpa2/context/java/GenericJavaElementCollectionMapping2_0Tests.java
index e5eba4e71b..78f1e4404b 100644
--- a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/jpa2/context/java/GenericJavaElementCollectionMapping2_0Tests.java
+++ b/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/jpa2/context/java/GenericJavaElementCollectionMapping2_0Tests.java
@@ -19,9 +19,8 @@ import org.eclipse.jpt.common.core.resource.java.NestableAnnotation;
import org.eclipse.jpt.common.core.tests.internal.projects.TestJavaProject.SourceWriter;
import org.eclipse.jpt.common.utility.internal.ObjectTools;
import org.eclipse.jpt.common.utility.internal.iterator.IteratorTools;
-import org.eclipse.jpt.common.utility.internal.iterator.IteratorTools;
import org.eclipse.jpt.jpa.core.MappingKeys;
-import org.eclipse.jpt.jpa.core.context.SpecifiedAttributeOverride;
+import org.eclipse.jpt.jpa.core.context.AttributeOverride;
import org.eclipse.jpt.jpa.core.context.AttributeOverrideContainer;
import org.eclipse.jpt.jpa.core.context.BaseEnumeratedConverter;
import org.eclipse.jpt.jpa.core.context.BaseTemporalConverter;
@@ -32,25 +31,25 @@ import org.eclipse.jpt.jpa.core.context.EmbeddedMapping;
import org.eclipse.jpt.jpa.core.context.EnumType;
import org.eclipse.jpt.jpa.core.context.FetchType;
import org.eclipse.jpt.jpa.core.context.IdMapping;
-import org.eclipse.jpt.jpa.core.context.SpecifiedJoinColumn;
import org.eclipse.jpt.jpa.core.context.ManyToManyMapping;
import org.eclipse.jpt.jpa.core.context.ManyToOneMapping;
import org.eclipse.jpt.jpa.core.context.OneToManyMapping;
-import org.eclipse.jpt.jpa.core.context.SpecifiedPersistentAttribute;
import org.eclipse.jpt.jpa.core.context.PersistentType;
-import org.eclipse.jpt.jpa.core.context.AttributeOverride;
+import org.eclipse.jpt.jpa.core.context.SpecifiedAttributeOverride;
+import org.eclipse.jpt.jpa.core.context.SpecifiedJoinColumn;
+import org.eclipse.jpt.jpa.core.context.SpecifiedPersistentAttribute;
import org.eclipse.jpt.jpa.core.context.TemporalType;
import org.eclipse.jpt.jpa.core.context.TransientMapping;
import org.eclipse.jpt.jpa.core.context.TypeMapping;
import org.eclipse.jpt.jpa.core.context.VersionMapping;
import org.eclipse.jpt.jpa.core.context.VirtualAttributeOverride;
-import org.eclipse.jpt.jpa.core.context.java.JavaSpecifiedAttributeOverride;
import org.eclipse.jpt.jpa.core.context.java.JavaAttributeOverrideContainer;
import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
+import org.eclipse.jpt.jpa.core.context.java.JavaSpecifiedAttributeOverride;
import org.eclipse.jpt.jpa.core.context.persistence.ClassRef;
import org.eclipse.jpt.jpa.core.jpa2.context.ElementCollectionMapping2_0;
-import org.eclipse.jpt.jpa.core.jpa2.context.SpecifiedOrderColumn2_0;
import org.eclipse.jpt.jpa.core.jpa2.context.Orderable2_0;
+import org.eclipse.jpt.jpa.core.jpa2.context.SpecifiedOrderColumn2_0;
import org.eclipse.jpt.jpa.core.jpa2.context.java.JavaElementCollectionMapping2_0;
import org.eclipse.jpt.jpa.core.jpa2.resource.java.AccessAnnotation2_0;
import org.eclipse.jpt.jpa.core.jpa2.resource.java.ElementCollectionAnnotation2_0;
@@ -1167,7 +1166,7 @@ public class GenericJavaElementCollectionMapping2_0Tests extends Generic2_0Conte
assertEquals(false, orderable.isOrderColumnOrdering());
assertEquals(true, orderable.isNoOrdering());
- orderable.setOrderColumnOrdering(true);
+ orderable.setOrderColumnOrdering();
SpecifiedOrderColumn2_0 orderColumn = orderable.getOrderColumn();
assertEquals(true, orderable.isOrderColumnOrdering());
assertEquals(null, orderColumn.getSpecifiedName());
diff --git a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/jpa2/context/java/GenericJavaManyToManyMapping2_0Tests.java b/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/jpa2/context/java/GenericJavaManyToManyMapping2_0Tests.java
index 272631c2d1..fb4faf3ef4 100644
--- a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/jpa2/context/java/GenericJavaManyToManyMapping2_0Tests.java
+++ b/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/jpa2/context/java/GenericJavaManyToManyMapping2_0Tests.java
@@ -18,40 +18,39 @@ import org.eclipse.jpt.common.core.resource.java.JavaResourceType;
import org.eclipse.jpt.common.core.resource.java.NestableAnnotation;
import org.eclipse.jpt.common.core.tests.internal.projects.TestJavaProject.SourceWriter;
import org.eclipse.jpt.common.utility.internal.iterator.IteratorTools;
-import org.eclipse.jpt.common.utility.internal.iterator.IteratorTools;
import org.eclipse.jpt.jpa.core.MappingKeys;
import org.eclipse.jpt.jpa.core.context.AttributeMapping;
+import org.eclipse.jpt.jpa.core.context.AttributeOverride;
+import org.eclipse.jpt.jpa.core.context.BaseEnumeratedConverter;
+import org.eclipse.jpt.jpa.core.context.BaseTemporalConverter;
import org.eclipse.jpt.jpa.core.context.BasicMapping;
import org.eclipse.jpt.jpa.core.context.Embeddable;
import org.eclipse.jpt.jpa.core.context.EmbeddedIdMapping;
import org.eclipse.jpt.jpa.core.context.EmbeddedMapping;
import org.eclipse.jpt.jpa.core.context.Entity;
import org.eclipse.jpt.jpa.core.context.EnumType;
-import org.eclipse.jpt.jpa.core.context.BaseEnumeratedConverter;
import org.eclipse.jpt.jpa.core.context.IdMapping;
-import org.eclipse.jpt.jpa.core.context.SpecifiedJoinColumn;
-import org.eclipse.jpt.jpa.core.context.SpecifiedJoinTableRelationshipStrategy;
import org.eclipse.jpt.jpa.core.context.ManyToManyMapping;
import org.eclipse.jpt.jpa.core.context.ManyToOneMapping;
import org.eclipse.jpt.jpa.core.context.OneToManyMapping;
import org.eclipse.jpt.jpa.core.context.OneToOneMapping;
-import org.eclipse.jpt.jpa.core.context.SpecifiedPersistentAttribute;
import org.eclipse.jpt.jpa.core.context.PersistentType;
-import org.eclipse.jpt.jpa.core.context.AttributeOverride;
-import org.eclipse.jpt.jpa.core.context.BaseTemporalConverter;
+import org.eclipse.jpt.jpa.core.context.SpecifiedJoinColumn;
+import org.eclipse.jpt.jpa.core.context.SpecifiedJoinTableRelationshipStrategy;
+import org.eclipse.jpt.jpa.core.context.SpecifiedPersistentAttribute;
import org.eclipse.jpt.jpa.core.context.TemporalType;
import org.eclipse.jpt.jpa.core.context.TransientMapping;
import org.eclipse.jpt.jpa.core.context.VersionMapping;
-import org.eclipse.jpt.jpa.core.context.java.JavaSpecifiedAttributeOverride;
import org.eclipse.jpt.jpa.core.context.java.JavaAttributeOverrideContainer;
import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
+import org.eclipse.jpt.jpa.core.context.java.JavaSpecifiedAttributeOverride;
import org.eclipse.jpt.jpa.core.context.java.JavaVirtualAttributeOverride;
import org.eclipse.jpt.jpa.core.context.persistence.ClassRef;
import org.eclipse.jpt.jpa.core.jpa2.MappingKeys2_0;
import org.eclipse.jpt.jpa.core.jpa2.context.ElementCollectionMapping2_0;
import org.eclipse.jpt.jpa.core.jpa2.context.ManyToManyMapping2_0;
-import org.eclipse.jpt.jpa.core.jpa2.context.SpecifiedOrderColumn2_0;
import org.eclipse.jpt.jpa.core.jpa2.context.Orderable2_0;
+import org.eclipse.jpt.jpa.core.jpa2.context.SpecifiedOrderColumn2_0;
import org.eclipse.jpt.jpa.core.jpa2.context.java.JavaCollectionMapping2_0;
import org.eclipse.jpt.jpa.core.jpa2.resource.java.AccessAnnotation2_0;
import org.eclipse.jpt.jpa.core.jpa2.resource.java.ElementCollectionAnnotation2_0;
@@ -379,7 +378,8 @@ public class GenericJavaManyToManyMapping2_0Tests
ManyToManyMapping manyToManyMapping = (ManyToManyMapping) persistentAttribute.getMapping();
JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, AstNodeType.TYPE);
JavaResourceField resourceField = resourceType.getFields().iterator().next();
- manyToManyMapping.getOrderable().setSpecifiedOrderBy("asdf");
+ manyToManyMapping.getOrderable().setOrderByOrdering();
+ manyToManyMapping.getOrderable().getOrderBy().setKey("asdf");
manyToManyMapping.getRelationship().getJoinTableStrategy().getJoinTable().setSpecifiedName("FOO");
resourceField.addAnnotation(AccessAnnotation2_0.ANNOTATION_NAME);
assertFalse(manyToManyMapping.isDefault());
@@ -403,7 +403,8 @@ public class GenericJavaManyToManyMapping2_0Tests
ManyToManyMapping manyToManyMapping = (ManyToManyMapping) persistentAttribute.getMapping();
JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, AstNodeType.TYPE);
JavaResourceField resourceField = resourceType.getFields().iterator().next();
- manyToManyMapping.getOrderable().setSpecifiedOrderBy("asdf");
+ manyToManyMapping.getOrderable().setOrderByOrdering();
+ manyToManyMapping.getOrderable().getOrderBy().setKey("asdf");
manyToManyMapping.getRelationship().getJoinTableStrategy().getJoinTable().setSpecifiedName("FOO");
resourceField.addAnnotation(AccessAnnotation2_0.ANNOTATION_NAME);
assertFalse(manyToManyMapping.isDefault());
@@ -425,7 +426,8 @@ public class GenericJavaManyToManyMapping2_0Tests
ManyToManyMapping manyToManyMapping = (ManyToManyMapping) persistentAttribute.getMapping();
JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, AstNodeType.TYPE);
JavaResourceField resourceField = resourceType.getFields().iterator().next();
- manyToManyMapping.getOrderable().setSpecifiedOrderBy("asdf");
+ manyToManyMapping.getOrderable().setOrderByOrdering();
+ manyToManyMapping.getOrderable().getOrderBy().setKey("asdf");
manyToManyMapping.getRelationship().getJoinTableStrategy().getJoinTable().setSpecifiedName("FOO");
resourceField.addAnnotation(AccessAnnotation2_0.ANNOTATION_NAME);
assertFalse(manyToManyMapping.isDefault());
@@ -449,7 +451,8 @@ public class GenericJavaManyToManyMapping2_0Tests
ManyToManyMapping manyToManyMapping = (ManyToManyMapping) persistentAttribute.getMapping();
JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, AstNodeType.TYPE);
JavaResourceField resourceField = resourceType.getFields().iterator().next();
- manyToManyMapping.getOrderable().setSpecifiedOrderBy("asdf");
+ manyToManyMapping.getOrderable().setOrderByOrdering();
+ manyToManyMapping.getOrderable().getOrderBy().setKey("asdf");
manyToManyMapping.getRelationship().getJoinTableStrategy().getJoinTable().setSpecifiedName("FOO");
resourceField.addAnnotation(AccessAnnotation2_0.ANNOTATION_NAME);
assertFalse(manyToManyMapping.isDefault());
@@ -473,7 +476,8 @@ public class GenericJavaManyToManyMapping2_0Tests
ManyToManyMapping manyToManyMapping = (ManyToManyMapping) persistentAttribute.getMapping();
JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, AstNodeType.TYPE);
JavaResourceField resourceField = resourceType.getFields().iterator().next();
- manyToManyMapping.getOrderable().setSpecifiedOrderBy("asdf");
+ manyToManyMapping.getOrderable().setOrderByOrdering();
+ manyToManyMapping.getOrderable().getOrderBy().setKey("asdf");
manyToManyMapping.getRelationship().getJoinTableStrategy().getJoinTable().setSpecifiedName("FOO");
resourceField.addAnnotation(AccessAnnotation2_0.ANNOTATION_NAME);
assertFalse(manyToManyMapping.isDefault());
@@ -497,7 +501,8 @@ public class GenericJavaManyToManyMapping2_0Tests
ManyToManyMapping manyToManyMapping = (ManyToManyMapping) persistentAttribute.getMapping();
JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, AstNodeType.TYPE);
JavaResourceField resourceField = resourceType.getFields().iterator().next();
- manyToManyMapping.getOrderable().setSpecifiedOrderBy("asdf");
+ manyToManyMapping.getOrderable().setOrderByOrdering();
+ manyToManyMapping.getOrderable().getOrderBy().setKey("asdf");
manyToManyMapping.getRelationship().getJoinTableStrategy().getJoinTable().setSpecifiedName("FOO");
resourceField.addAnnotation(AccessAnnotation2_0.ANNOTATION_NAME);
assertFalse(manyToManyMapping.isDefault());
@@ -521,7 +526,8 @@ public class GenericJavaManyToManyMapping2_0Tests
ManyToManyMapping manyToManyMapping = (ManyToManyMapping) persistentAttribute.getMapping();
JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, AstNodeType.TYPE);
JavaResourceField resourceField = resourceType.getFields().iterator().next();
- manyToManyMapping.getOrderable().setSpecifiedOrderBy("asdf");
+ manyToManyMapping.getOrderable().setOrderByOrdering();
+ manyToManyMapping.getOrderable().getOrderBy().setKey("asdf");
manyToManyMapping.getRelationship().getJoinTableStrategy().getJoinTable().setSpecifiedName("FOO");
resourceField.addAnnotation(AccessAnnotation2_0.ANNOTATION_NAME);
assertFalse(manyToManyMapping.isDefault());
@@ -545,7 +551,8 @@ public class GenericJavaManyToManyMapping2_0Tests
ManyToManyMapping manyToManyMapping = (ManyToManyMapping) persistentAttribute.getMapping();
JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, AstNodeType.TYPE);
JavaResourceField resourceField = resourceType.getFields().iterator().next();
- manyToManyMapping.getOrderable().setSpecifiedOrderBy("asdf");
+ manyToManyMapping.getOrderable().setOrderByOrdering();
+ manyToManyMapping.getOrderable().getOrderBy().setKey("asdf");
manyToManyMapping.getRelationship().getJoinTableStrategy().getJoinTable().setSpecifiedName("FOO");
resourceField.addAnnotation(AccessAnnotation2_0.ANNOTATION_NAME);
assertFalse(manyToManyMapping.isDefault());
@@ -569,7 +576,8 @@ public class GenericJavaManyToManyMapping2_0Tests
ManyToManyMapping manyToManyMapping = (ManyToManyMapping) persistentAttribute.getMapping();
JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, AstNodeType.TYPE);
JavaResourceField resourceField = resourceType.getFields().iterator().next();
- manyToManyMapping.getOrderable().setSpecifiedOrderBy("asdf");
+ manyToManyMapping.getOrderable().setOrderByOrdering();
+ manyToManyMapping.getOrderable().getOrderBy().setKey("asdf");
manyToManyMapping.getRelationship().getJoinTableStrategy().getJoinTable().setSpecifiedName("FOO");
resourceField.addAnnotation(AccessAnnotation2_0.ANNOTATION_NAME);
assertFalse(manyToManyMapping.isDefault());
@@ -593,7 +601,8 @@ public class GenericJavaManyToManyMapping2_0Tests
ManyToManyMapping manyToManyMapping = (ManyToManyMapping) persistentAttribute.getMapping();
JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, AstNodeType.TYPE);
JavaResourceField resourceField = resourceType.getFields().iterator().next();
- manyToManyMapping.getOrderable().setSpecifiedOrderBy("asdf");
+ manyToManyMapping.getOrderable().setOrderByOrdering();
+ manyToManyMapping.getOrderable().getOrderBy().setKey("asdf");
manyToManyMapping.getRelationship().getJoinTableStrategy().getJoinTable().setSpecifiedName("FOO");
resourceField.addAnnotation(AccessAnnotation2_0.ANNOTATION_NAME);
assertFalse(manyToManyMapping.isDefault());
@@ -617,7 +626,8 @@ public class GenericJavaManyToManyMapping2_0Tests
ManyToManyMapping manyToManyMapping = (ManyToManyMapping) persistentAttribute.getMapping();
JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, AstNodeType.TYPE);
JavaResourceField resourceField = resourceType.getFields().iterator().next();
- manyToManyMapping.getOrderable().setSpecifiedOrderBy("asdf");
+ manyToManyMapping.getOrderable().setOrderByOrdering();
+ manyToManyMapping.getOrderable().getOrderBy().setKey("asdf");
manyToManyMapping.getRelationship().getJoinTableStrategy().getJoinTable().setSpecifiedName("FOO");
resourceField.addAnnotation(AccessAnnotation2_0.ANNOTATION_NAME);
assertFalse(manyToManyMapping.isDefault());
diff --git a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/jpa2/context/java/GenericJavaOneToManyMapping2_0Tests.java b/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/jpa2/context/java/GenericJavaOneToManyMapping2_0Tests.java
index bd2f6af7dc..718a05b41f 100644
--- a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/jpa2/context/java/GenericJavaOneToManyMapping2_0Tests.java
+++ b/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/jpa2/context/java/GenericJavaOneToManyMapping2_0Tests.java
@@ -19,28 +19,27 @@ import org.eclipse.jpt.common.core.resource.java.NestableAnnotation;
import org.eclipse.jpt.common.core.tests.internal.projects.TestJavaProject.SourceWriter;
import org.eclipse.jpt.common.utility.internal.iterable.EmptyIterable;
import org.eclipse.jpt.common.utility.internal.iterator.IteratorTools;
-import org.eclipse.jpt.common.utility.internal.iterator.IteratorTools;
import org.eclipse.jpt.jpa.core.MappingKeys;
import org.eclipse.jpt.jpa.core.context.AttributeMapping;
-import org.eclipse.jpt.jpa.core.context.SpecifiedAttributeOverride;
+import org.eclipse.jpt.jpa.core.context.AttributeOverride;
import org.eclipse.jpt.jpa.core.context.AttributeOverrideContainer;
+import org.eclipse.jpt.jpa.core.context.BaseEnumeratedConverter;
+import org.eclipse.jpt.jpa.core.context.BaseTemporalConverter;
import org.eclipse.jpt.jpa.core.context.BasicMapping;
import org.eclipse.jpt.jpa.core.context.Embeddable;
import org.eclipse.jpt.jpa.core.context.EmbeddedIdMapping;
import org.eclipse.jpt.jpa.core.context.EmbeddedMapping;
import org.eclipse.jpt.jpa.core.context.Entity;
import org.eclipse.jpt.jpa.core.context.EnumType;
-import org.eclipse.jpt.jpa.core.context.BaseEnumeratedConverter;
import org.eclipse.jpt.jpa.core.context.IdMapping;
-import org.eclipse.jpt.jpa.core.context.SpecifiedJoinColumn;
-import org.eclipse.jpt.jpa.core.context.SpecifiedJoinColumnRelationship;
import org.eclipse.jpt.jpa.core.context.ManyToManyMapping;
import org.eclipse.jpt.jpa.core.context.ManyToOneMapping;
import org.eclipse.jpt.jpa.core.context.OneToManyMapping;
import org.eclipse.jpt.jpa.core.context.OneToOneMapping;
+import org.eclipse.jpt.jpa.core.context.SpecifiedAttributeOverride;
+import org.eclipse.jpt.jpa.core.context.SpecifiedJoinColumn;
+import org.eclipse.jpt.jpa.core.context.SpecifiedJoinColumnRelationship;
import org.eclipse.jpt.jpa.core.context.SpecifiedPersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.AttributeOverride;
-import org.eclipse.jpt.jpa.core.context.BaseTemporalConverter;
import org.eclipse.jpt.jpa.core.context.TemporalType;
import org.eclipse.jpt.jpa.core.context.TransientMapping;
import org.eclipse.jpt.jpa.core.context.VersionMapping;
@@ -49,10 +48,10 @@ import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
import org.eclipse.jpt.jpa.core.context.persistence.ClassRef;
import org.eclipse.jpt.jpa.core.jpa2.context.OneToManyMapping2_0;
import org.eclipse.jpt.jpa.core.jpa2.context.OneToManyRelationship2_0;
-import org.eclipse.jpt.jpa.core.jpa2.context.SpecifiedOrderColumn2_0;
import org.eclipse.jpt.jpa.core.jpa2.context.Orderable2_0;
import org.eclipse.jpt.jpa.core.jpa2.context.OrphanRemovable2_0;
import org.eclipse.jpt.jpa.core.jpa2.context.OrphanRemovalMapping2_0;
+import org.eclipse.jpt.jpa.core.jpa2.context.SpecifiedOrderColumn2_0;
import org.eclipse.jpt.jpa.core.jpa2.resource.java.AccessAnnotation2_0;
import org.eclipse.jpt.jpa.core.jpa2.resource.java.JPA2_0;
import org.eclipse.jpt.jpa.core.jpa2.resource.java.MapKeyClassAnnotation2_0;
@@ -398,7 +397,8 @@ public class GenericJavaOneToManyMapping2_0Tests
OneToManyMapping oneToManyMapping = (OneToManyMapping) persistentAttribute.getMapping();
JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, AstNodeType.TYPE);
JavaResourceField resourceField = resourceType.getFields().iterator().next();
- oneToManyMapping.getOrderable().setSpecifiedOrderBy("asdf");
+ oneToManyMapping.getOrderable().setOrderByOrdering();
+ oneToManyMapping.getOrderable().getOrderBy().setKey("asdf");
oneToManyMapping.getRelationship().getJoinTableStrategy().getJoinTable().setSpecifiedName("FOO");
resourceField.addAnnotation(AccessAnnotation2_0.ANNOTATION_NAME);
assertFalse(oneToManyMapping.isDefault());
@@ -422,7 +422,8 @@ public class GenericJavaOneToManyMapping2_0Tests
OneToManyMapping oneToManyMapping = (OneToManyMapping) persistentAttribute.getMapping();
JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, AstNodeType.TYPE);
JavaResourceField resourceField = resourceType.getFields().iterator().next();
- oneToManyMapping.getOrderable().setSpecifiedOrderBy("asdf");
+ oneToManyMapping.getOrderable().setOrderByOrdering();
+ oneToManyMapping.getOrderable().getOrderBy().setKey("asdf");
oneToManyMapping.getRelationship().getJoinTableStrategy().getJoinTable().setSpecifiedName("FOO");
resourceField.addAnnotation(AccessAnnotation2_0.ANNOTATION_NAME);
assertFalse(oneToManyMapping.isDefault());
@@ -444,7 +445,8 @@ public class GenericJavaOneToManyMapping2_0Tests
OneToManyMapping oneToManyMapping = (OneToManyMapping) persistentAttribute.getMapping();
JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, AstNodeType.TYPE);
JavaResourceField resourceField = resourceType.getFields().iterator().next();
- oneToManyMapping.getOrderable().setSpecifiedOrderBy("asdf");
+ oneToManyMapping.getOrderable().setOrderByOrdering();
+ oneToManyMapping.getOrderable().getOrderBy().setKey("asdf");
oneToManyMapping.getRelationship().getJoinTableStrategy().getJoinTable().setSpecifiedName("FOO");
resourceField.addAnnotation(AccessAnnotation2_0.ANNOTATION_NAME);
assertFalse(oneToManyMapping.isDefault());
@@ -468,7 +470,8 @@ public class GenericJavaOneToManyMapping2_0Tests
OneToManyMapping oneToManyMapping = (OneToManyMapping) persistentAttribute.getMapping();
JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, AstNodeType.TYPE);
JavaResourceField resourceField = resourceType.getFields().iterator().next();
- oneToManyMapping.getOrderable().setSpecifiedOrderBy("asdf");
+ oneToManyMapping.getOrderable().setOrderByOrdering();
+ oneToManyMapping.getOrderable().getOrderBy().setKey("asdf");
oneToManyMapping.getRelationship().getJoinTableStrategy().getJoinTable().setSpecifiedName("FOO");
resourceField.addAnnotation(AccessAnnotation2_0.ANNOTATION_NAME);
assertFalse(oneToManyMapping.isDefault());
@@ -492,7 +495,8 @@ public class GenericJavaOneToManyMapping2_0Tests
OneToManyMapping oneToManyMapping = (OneToManyMapping) persistentAttribute.getMapping();
JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, AstNodeType.TYPE);
JavaResourceField resourceField = resourceType.getFields().iterator().next();
- oneToManyMapping.getOrderable().setSpecifiedOrderBy("asdf");
+ oneToManyMapping.getOrderable().setOrderByOrdering();
+ oneToManyMapping.getOrderable().getOrderBy().setKey("asdf");
oneToManyMapping.getRelationship().getJoinTableStrategy().getJoinTable().setSpecifiedName("FOO");
resourceField.addAnnotation(AccessAnnotation2_0.ANNOTATION_NAME);
assertFalse(oneToManyMapping.isDefault());
@@ -516,7 +520,8 @@ public class GenericJavaOneToManyMapping2_0Tests
OneToManyMapping oneToManyMapping = (OneToManyMapping) persistentAttribute.getMapping();
JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, AstNodeType.TYPE);
JavaResourceField resourceField = resourceType.getFields().iterator().next();
- oneToManyMapping.getOrderable().setSpecifiedOrderBy("asdf");
+ oneToManyMapping.getOrderable().setOrderByOrdering();
+ oneToManyMapping.getOrderable().getOrderBy().setKey("asdf");
oneToManyMapping.getRelationship().getJoinTableStrategy().getJoinTable().setSpecifiedName("FOO");
resourceField.addAnnotation(AccessAnnotation2_0.ANNOTATION_NAME);
assertFalse(oneToManyMapping.isDefault());
@@ -540,7 +545,8 @@ public class GenericJavaOneToManyMapping2_0Tests
OneToManyMapping oneToManyMapping = (OneToManyMapping) persistentAttribute.getMapping();
JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, AstNodeType.TYPE);
JavaResourceField resourceField = resourceType.getFields().iterator().next();
- oneToManyMapping.getOrderable().setSpecifiedOrderBy("asdf");
+ oneToManyMapping.getOrderable().setOrderByOrdering();
+ oneToManyMapping.getOrderable().getOrderBy().setKey("asdf");
oneToManyMapping.getRelationship().getJoinTableStrategy().getJoinTable().setSpecifiedName("FOO");
resourceField.addAnnotation(AccessAnnotation2_0.ANNOTATION_NAME);
assertFalse(oneToManyMapping.isDefault());
@@ -564,7 +570,8 @@ public class GenericJavaOneToManyMapping2_0Tests
OneToManyMapping oneToManyMapping = (OneToManyMapping) persistentAttribute.getMapping();
JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, AstNodeType.TYPE);
JavaResourceField resourceField = resourceType.getFields().iterator().next();
- oneToManyMapping.getOrderable().setSpecifiedOrderBy("asdf");
+ oneToManyMapping.getOrderable().setOrderByOrdering();
+ oneToManyMapping.getOrderable().getOrderBy().setKey("asdf");
oneToManyMapping.getRelationship().getJoinTableStrategy().getJoinTable().setSpecifiedName("FOO");
resourceField.addAnnotation(AccessAnnotation2_0.ANNOTATION_NAME);
assertFalse(oneToManyMapping.isDefault());
@@ -588,7 +595,8 @@ public class GenericJavaOneToManyMapping2_0Tests
OneToManyMapping oneToManyMapping = (OneToManyMapping) persistentAttribute.getMapping();
JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, AstNodeType.TYPE);
JavaResourceField resourceField = resourceType.getFields().iterator().next();
- oneToManyMapping.getOrderable().setSpecifiedOrderBy("asdf");
+ oneToManyMapping.getOrderable().setOrderByOrdering();
+ oneToManyMapping.getOrderable().getOrderBy().setKey("asdf");
oneToManyMapping.getRelationship().getJoinTableStrategy().getJoinTable().setSpecifiedName("FOO");
resourceField.addAnnotation(AccessAnnotation2_0.ANNOTATION_NAME);
assertFalse(oneToManyMapping.isDefault());
@@ -612,7 +620,8 @@ public class GenericJavaOneToManyMapping2_0Tests
OneToManyMapping oneToManyMapping = (OneToManyMapping) persistentAttribute.getMapping();
JavaResourceType resourceType = (JavaResourceType) getJpaProject().getJavaResourceType(FULLY_QUALIFIED_TYPE_NAME, AstNodeType.TYPE);
JavaResourceField resourceField = resourceType.getFields().iterator().next();
- oneToManyMapping.getOrderable().setSpecifiedOrderBy("asdf");
+ oneToManyMapping.getOrderable().setOrderByOrdering();
+ oneToManyMapping.getOrderable().getOrderBy().setKey("asdf");
oneToManyMapping.getRelationship().getJoinTableStrategy().getJoinTable().setSpecifiedName("FOO");
resourceField.addAnnotation(AccessAnnotation2_0.ANNOTATION_NAME);
assertFalse(oneToManyMapping.isDefault());
@@ -1290,10 +1299,9 @@ public class GenericJavaOneToManyMapping2_0Tests
SpecifiedPersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next();
OneToManyMapping2_0 oneToManyMapping = (OneToManyMapping2_0) persistentAttribute.getMapping();
((SpecifiedJoinColumnRelationship) oneToManyMapping.getRelationship()).setStrategyToJoinColumn();
- ((Orderable2_0) oneToManyMapping.getOrderable()).setOrderColumnOrdering(true);
+ ((Orderable2_0) oneToManyMapping.getOrderable()).setOrderColumnOrdering();
SpecifiedOrderColumn2_0 orderColumn = ((Orderable2_0) oneToManyMapping.getOrderable()).getOrderColumn();
-
-
+
assertNull(orderColumn.getSpecifiedName());
assertEquals("addresses_ORDER", orderColumn.getName());
assertEquals("Address", orderColumn.getTableName());//target table name
diff --git a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/jpa2/context/orm/GenericOrmElementCollectionMapping2_0Tests.java b/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/jpa2/context/orm/GenericOrmElementCollectionMapping2_0Tests.java
index c9c1aa7f5d..a6ef061544 100644
--- a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/jpa2/context/orm/GenericOrmElementCollectionMapping2_0Tests.java
+++ b/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/jpa2/context/orm/GenericOrmElementCollectionMapping2_0Tests.java
@@ -15,38 +15,38 @@ import org.eclipse.jdt.core.ICompilationUnit;
import org.eclipse.jpt.common.core.tests.internal.projects.TestJavaProject.SourceWriter;
import org.eclipse.jpt.common.utility.internal.iterator.IteratorTools;
import org.eclipse.jpt.jpa.core.MappingKeys;
+import org.eclipse.jpt.jpa.core.context.AttributeOverride;
import org.eclipse.jpt.jpa.core.context.AttributeOverrideContainer;
+import org.eclipse.jpt.jpa.core.context.BaseEnumeratedConverter;
+import org.eclipse.jpt.jpa.core.context.BaseTemporalConverter;
import org.eclipse.jpt.jpa.core.context.BasicMapping;
-import org.eclipse.jpt.jpa.core.context.SpecifiedColumn;
+import org.eclipse.jpt.jpa.core.context.Column;
import org.eclipse.jpt.jpa.core.context.EmbeddedIdMapping;
import org.eclipse.jpt.jpa.core.context.EmbeddedMapping;
import org.eclipse.jpt.jpa.core.context.EnumType;
-import org.eclipse.jpt.jpa.core.context.BaseEnumeratedConverter;
import org.eclipse.jpt.jpa.core.context.FetchType;
import org.eclipse.jpt.jpa.core.context.IdMapping;
-import org.eclipse.jpt.jpa.core.context.SpecifiedJoinColumn;
import org.eclipse.jpt.jpa.core.context.ManyToManyMapping;
import org.eclipse.jpt.jpa.core.context.ManyToOneMapping;
import org.eclipse.jpt.jpa.core.context.OneToManyMapping;
-import org.eclipse.jpt.jpa.core.context.AttributeOverride;
-import org.eclipse.jpt.jpa.core.context.Column;
-import org.eclipse.jpt.jpa.core.context.BaseTemporalConverter;
+import org.eclipse.jpt.jpa.core.context.SpecifiedColumn;
+import org.eclipse.jpt.jpa.core.context.SpecifiedJoinColumn;
import org.eclipse.jpt.jpa.core.context.TemporalType;
import org.eclipse.jpt.jpa.core.context.TransientMapping;
import org.eclipse.jpt.jpa.core.context.VersionMapping;
import org.eclipse.jpt.jpa.core.context.VirtualAttributeOverride;
import org.eclipse.jpt.jpa.core.context.java.JavaBasicMapping;
-import org.eclipse.jpt.jpa.core.context.orm.OrmSpecifiedAttributeOverride;
import org.eclipse.jpt.jpa.core.context.orm.OrmAttributeOverrideContainer;
-import org.eclipse.jpt.jpa.core.context.orm.OrmSpecifiedColumn;
import org.eclipse.jpt.jpa.core.context.orm.OrmEntity;
-import org.eclipse.jpt.jpa.core.context.orm.OrmSpecifiedPersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.orm.OrmPersistentType;
import org.eclipse.jpt.jpa.core.context.orm.OrmPersistentAttribute;
+import org.eclipse.jpt.jpa.core.context.orm.OrmPersistentType;
+import org.eclipse.jpt.jpa.core.context.orm.OrmSpecifiedAttributeOverride;
+import org.eclipse.jpt.jpa.core.context.orm.OrmSpecifiedColumn;
+import org.eclipse.jpt.jpa.core.context.orm.OrmSpecifiedPersistentAttribute;
import org.eclipse.jpt.jpa.core.jpa2.MappingKeys2_0;
import org.eclipse.jpt.jpa.core.jpa2.context.ElementCollectionMapping2_0;
-import org.eclipse.jpt.jpa.core.jpa2.context.SpecifiedOrderColumn2_0;
import org.eclipse.jpt.jpa.core.jpa2.context.Orderable2_0;
+import org.eclipse.jpt.jpa.core.jpa2.context.SpecifiedOrderColumn2_0;
import org.eclipse.jpt.jpa.core.jpa2.context.java.JavaElementCollectionMapping2_0;
import org.eclipse.jpt.jpa.core.jpa2.context.orm.OrmElementCollectionMapping2_0;
import org.eclipse.jpt.jpa.core.jpa2.resource.java.JPA2_0;
@@ -950,7 +950,7 @@ public class GenericOrmElementCollectionMapping2_0Tests extends Generic2_0Contex
assertEquals(false, orderable.isOrderColumnOrdering());
assertEquals(true, orderable.isNoOrdering());
- orderable.setOrderColumnOrdering(true);
+ orderable.setOrderColumnOrdering();
SpecifiedOrderColumn2_0 orderColumn = orderable.getOrderColumn();
assertEquals(true, orderable.isOrderColumnOrdering());
assertEquals(null, orderColumn.getSpecifiedName());
@@ -974,7 +974,7 @@ public class GenericOrmElementCollectionMapping2_0Tests extends Generic2_0Contex
assertEquals(true, orderable.isNoOrdering());
JavaElementCollectionMapping2_0 javaElementCollectionMapping = (JavaElementCollectionMapping2_0) ormPersistentAttribute.getJavaPersistentAttribute().getMapping();
- ((Orderable2_0) javaElementCollectionMapping.getOrderable()).setOrderColumnOrdering(true);
+ ((Orderable2_0) javaElementCollectionMapping.getOrderable()).setOrderColumnOrdering();
assertEquals(false, orderable.isOrderColumnOrdering());
assertEquals(true, orderable.isNoOrdering());
@@ -1738,4 +1738,4 @@ public class GenericOrmElementCollectionMapping2_0Tests extends Generic2_0Contex
assertFalse(ormElementCollectionMapping.getSpecifiedMapKeyJoinColumns().iterator().hasNext());
}
-} \ No newline at end of file
+}
diff --git a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/jpa2/context/orm/GenericOrmManyToManyMapping2_0Tests.java b/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/jpa2/context/orm/GenericOrmManyToManyMapping2_0Tests.java
index 637b3fdd24..d559d0421e 100644
--- a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/jpa2/context/orm/GenericOrmManyToManyMapping2_0Tests.java
+++ b/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/jpa2/context/orm/GenericOrmManyToManyMapping2_0Tests.java
@@ -16,28 +16,28 @@ import org.eclipse.jpt.common.core.tests.internal.projects.TestJavaProject.Sourc
import org.eclipse.jpt.common.utility.internal.iterator.IteratorTools;
import org.eclipse.jpt.jpa.core.MappingKeys;
import org.eclipse.jpt.jpa.core.context.AttributeMapping;
-import org.eclipse.jpt.jpa.core.context.SpecifiedColumn;
+import org.eclipse.jpt.jpa.core.context.BaseEnumeratedConverter;
+import org.eclipse.jpt.jpa.core.context.BaseTemporalConverter;
+import org.eclipse.jpt.jpa.core.context.Column;
import org.eclipse.jpt.jpa.core.context.Entity;
import org.eclipse.jpt.jpa.core.context.EnumType;
-import org.eclipse.jpt.jpa.core.context.BaseEnumeratedConverter;
import org.eclipse.jpt.jpa.core.context.FetchType;
-import org.eclipse.jpt.jpa.core.context.SpecifiedJoinColumn;
import org.eclipse.jpt.jpa.core.context.ManyToManyMapping;
-import org.eclipse.jpt.jpa.core.context.Column;
import org.eclipse.jpt.jpa.core.context.PersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.BaseTemporalConverter;
+import org.eclipse.jpt.jpa.core.context.SpecifiedColumn;
+import org.eclipse.jpt.jpa.core.context.SpecifiedJoinColumn;
import org.eclipse.jpt.jpa.core.context.TemporalType;
import org.eclipse.jpt.jpa.core.context.java.JavaManyToManyMapping;
import org.eclipse.jpt.jpa.core.context.orm.OrmEntity;
import org.eclipse.jpt.jpa.core.context.orm.OrmManyToManyMapping;
-import org.eclipse.jpt.jpa.core.context.orm.OrmSpecifiedPersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.orm.OrmPersistentType;
import org.eclipse.jpt.jpa.core.context.orm.OrmPersistentAttribute;
+import org.eclipse.jpt.jpa.core.context.orm.OrmPersistentType;
+import org.eclipse.jpt.jpa.core.context.orm.OrmSpecifiedPersistentAttribute;
import org.eclipse.jpt.jpa.core.internal.jpa1.context.orm.NullOrmConverter;
import org.eclipse.jpt.jpa.core.jpa2.context.Cascade2_0;
import org.eclipse.jpt.jpa.core.jpa2.context.ManyToManyMapping2_0;
-import org.eclipse.jpt.jpa.core.jpa2.context.SpecifiedOrderColumn2_0;
import org.eclipse.jpt.jpa.core.jpa2.context.Orderable2_0;
+import org.eclipse.jpt.jpa.core.jpa2.context.SpecifiedOrderColumn2_0;
import org.eclipse.jpt.jpa.core.jpa2.context.java.JavaCollectionMapping2_0;
import org.eclipse.jpt.jpa.core.jpa2.context.orm.OrmCollectionMapping2_0;
import org.eclipse.jpt.jpa.core.jpa2.resource.java.JPA2_0;
@@ -585,13 +585,13 @@ public class GenericOrmManyToManyMapping2_0Tests
assertEquals(true, queuesOrderable.isNoOrdering());
- jobsOrderable.setOrderColumnOrdering(true);
+ jobsOrderable.setOrderColumnOrdering();
jobsOrderColumn = jobsOrderable.getOrderColumn();
assertEquals(true, jobsOrderable.isOrderColumnOrdering());
assertEquals(null, jobsOrderColumn.getSpecifiedName());
assertEquals("jobs_ORDER", jobsOrderColumn.getDefaultName());
assertEquals("PrintJob_PrintQueue", jobsOrderColumn.getTableName());
- queuesOrderable.setOrderColumnOrdering(true);
+ queuesOrderable.setOrderColumnOrdering();
queuesOrderColumn = queuesOrderable.getOrderColumn();
assertEquals(true, queuesOrderable.isOrderColumnOrdering());
assertEquals(null, queuesOrderColumn.getSpecifiedName());
@@ -641,7 +641,7 @@ public class GenericOrmManyToManyMapping2_0Tests
assertEquals(true, queuesOrderable.isNoOrdering());
JavaManyToManyMapping javaJobsManyToManyMapping = (JavaManyToManyMapping) jobsPersistentAttribute.getJavaPersistentAttribute().getMapping();
- ((Orderable2_0) javaJobsManyToManyMapping.getOrderable()).setOrderColumnOrdering(true);
+ ((Orderable2_0) javaJobsManyToManyMapping.getOrderable()).setOrderColumnOrdering();
assertEquals(false, jobsOrderable.isOrderColumnOrdering());
assertEquals(true, jobsOrderable.isNoOrdering());
@@ -912,8 +912,8 @@ public class GenericOrmManyToManyMapping2_0Tests
assertTrue(cascade.isRefresh());
assertTrue(cascade.isDetach());
- assertTrue(virtualManyToManyMapping.getOrderable().isCustomOrdering());
- assertEquals("city", virtualManyToManyMapping.getOrderable().getSpecifiedOrderBy());
+ assertTrue(virtualManyToManyMapping.getOrderable().isOrderByOrdering());
+ assertEquals("city", virtualManyToManyMapping.getOrderable().getOrderBy().getKey());
}
public void testVirtualMappingMetadataCompleteTrue() throws Exception {
@@ -948,7 +948,7 @@ public class GenericOrmManyToManyMapping2_0Tests
assertFalse(cascade.isDetach());
assertTrue(ormManyToManyMapping.getOrderable().isNoOrdering());
- assertEquals(null, ormManyToManyMapping.getOrderable().getSpecifiedOrderBy());
+ assertEquals(null, ormManyToManyMapping.getOrderable().getOrderBy().getKey());
}
public void testUpdateSpecifiedEnumerated() throws Exception {
diff --git a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/jpa2/context/orm/GenericOrmOneToManyMapping2_0Tests.java b/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/jpa2/context/orm/GenericOrmOneToManyMapping2_0Tests.java
index 7d5918d8f3..750b1a3405 100644
--- a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/jpa2/context/orm/GenericOrmOneToManyMapping2_0Tests.java
+++ b/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/jpa2/context/orm/GenericOrmOneToManyMapping2_0Tests.java
@@ -19,32 +19,32 @@ import org.eclipse.jpt.common.core.tests.internal.projects.TestJavaProject.Sourc
import org.eclipse.jpt.common.utility.internal.iterator.IteratorTools;
import org.eclipse.jpt.jpa.core.MappingKeys;
import org.eclipse.jpt.jpa.core.context.AttributeMapping;
-import org.eclipse.jpt.jpa.core.context.SpecifiedColumn;
+import org.eclipse.jpt.jpa.core.context.BaseEnumeratedConverter;
+import org.eclipse.jpt.jpa.core.context.BaseTemporalConverter;
+import org.eclipse.jpt.jpa.core.context.Column;
import org.eclipse.jpt.jpa.core.context.Entity;
import org.eclipse.jpt.jpa.core.context.EnumType;
-import org.eclipse.jpt.jpa.core.context.BaseEnumeratedConverter;
import org.eclipse.jpt.jpa.core.context.FetchType;
-import org.eclipse.jpt.jpa.core.context.SpecifiedJoinColumn;
import org.eclipse.jpt.jpa.core.context.OneToManyMapping;
-import org.eclipse.jpt.jpa.core.context.Column;
import org.eclipse.jpt.jpa.core.context.PersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.BaseTemporalConverter;
+import org.eclipse.jpt.jpa.core.context.SpecifiedColumn;
+import org.eclipse.jpt.jpa.core.context.SpecifiedJoinColumn;
import org.eclipse.jpt.jpa.core.context.TemporalType;
import org.eclipse.jpt.jpa.core.context.java.JavaEntity;
import org.eclipse.jpt.jpa.core.context.java.JavaOneToManyMapping;
import org.eclipse.jpt.jpa.core.context.orm.OrmEntity;
import org.eclipse.jpt.jpa.core.context.orm.OrmOneToManyMapping;
-import org.eclipse.jpt.jpa.core.context.orm.OrmSpecifiedPersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.orm.OrmPersistentType;
import org.eclipse.jpt.jpa.core.context.orm.OrmPersistentAttribute;
+import org.eclipse.jpt.jpa.core.context.orm.OrmPersistentType;
+import org.eclipse.jpt.jpa.core.context.orm.OrmSpecifiedPersistentAttribute;
import org.eclipse.jpt.jpa.core.internal.jpa1.context.orm.NullOrmConverter;
import org.eclipse.jpt.jpa.core.jpa2.context.Cascade2_0;
import org.eclipse.jpt.jpa.core.jpa2.context.OneToManyMapping2_0;
import org.eclipse.jpt.jpa.core.jpa2.context.OneToManyRelationship2_0;
-import org.eclipse.jpt.jpa.core.jpa2.context.SpecifiedOrderColumn2_0;
import org.eclipse.jpt.jpa.core.jpa2.context.Orderable2_0;
import org.eclipse.jpt.jpa.core.jpa2.context.OrphanRemovable2_0;
import org.eclipse.jpt.jpa.core.jpa2.context.OrphanRemovalMapping2_0;
+import org.eclipse.jpt.jpa.core.jpa2.context.SpecifiedOrderColumn2_0;
import org.eclipse.jpt.jpa.core.jpa2.context.orm.OrmOneToManyRelationship2_0;
import org.eclipse.jpt.jpa.core.jpa2.resource.java.JPA2_0;
import org.eclipse.jpt.jpa.core.jpa2.resource.java.MapKeyColumnAnnotation2_0;
@@ -654,7 +654,7 @@ public class GenericOrmOneToManyMapping2_0Tests
assertEquals(false, orderable.isOrderColumnOrdering());
assertEquals(true, orderable.isNoOrdering());
- orderable.setOrderColumnOrdering(true);
+ orderable.setOrderColumnOrdering();
SpecifiedOrderColumn2_0 orderColumn = orderable.getOrderColumn();
assertEquals(true, orderable.isOrderColumnOrdering());
assertEquals(null, orderColumn.getSpecifiedName());
@@ -686,7 +686,7 @@ public class GenericOrmOneToManyMapping2_0Tests
assertEquals(true, orderable.isNoOrdering());
JavaOneToManyMapping javaOneToManyMapping = (JavaOneToManyMapping) ormPersistentAttribute.getJavaPersistentAttribute().getMapping();
- ((Orderable2_0) javaOneToManyMapping.getOrderable()).setOrderColumnOrdering(true);
+ ((Orderable2_0) javaOneToManyMapping.getOrderable()).setOrderColumnOrdering();
assertEquals(false, orderable.isOrderColumnOrdering());
assertEquals(true, orderable.isNoOrdering());
@@ -1140,7 +1140,7 @@ public class GenericOrmOneToManyMapping2_0Tests
OneToManyMapping2_0 javaOneToManyMapping = (OneToManyMapping2_0) persistentAttribute.getJavaPersistentAttribute().getMapping();
OneToManyRelationship2_0 rr = (OneToManyRelationship2_0) javaOneToManyMapping.getRelationship();
rr.setStrategyToJoinColumn();
- ((Orderable2_0) javaOneToManyMapping.getOrderable()).setOrderColumnOrdering(true);
+ ((Orderable2_0) javaOneToManyMapping.getOrderable()).setOrderColumnOrdering();
SpecifiedOrderColumn2_0 orderColumn = ((Orderable2_0) oneToManyMapping.getOrderable()).getOrderColumn();
assertNull(orderColumn.getSpecifiedName());
@@ -1161,7 +1161,7 @@ public class GenericOrmOneToManyMapping2_0Tests
rr.setStrategyToJoinColumn();
assertFalse(((Orderable2_0) oneToManyMapping.getOrderable()).isOrderColumnOrdering());
- ((Orderable2_0) oneToManyMapping.getOrderable()).setOrderColumnOrdering(true);
+ ((Orderable2_0) oneToManyMapping.getOrderable()).setOrderColumnOrdering();
orderColumn = ((Orderable2_0) oneToManyMapping.getOrderable()).getOrderColumn();
assertNull(orderColumn.getSpecifiedName());
@@ -1199,8 +1199,8 @@ public class GenericOrmOneToManyMapping2_0Tests
assertTrue(cascade.isRefresh());
assertTrue(cascade.isDetach());
- assertTrue(virtualOneToManyMapping.getOrderable().isCustomOrdering());
- assertEquals("city", virtualOneToManyMapping.getOrderable().getSpecifiedOrderBy());
+ assertTrue(virtualOneToManyMapping.getOrderable().isOrderByOrdering());
+ assertEquals("city", virtualOneToManyMapping.getOrderable().getOrderBy().getKey());
assertTrue(((OrphanRemovalMapping2_0) virtualOneToManyMapping).getOrphanRemoval().isOrphanRemoval());
}
@@ -1237,7 +1237,7 @@ public class GenericOrmOneToManyMapping2_0Tests
assertFalse(cascade.isDetach());
assertTrue(ormOneToManyMapping.getOrderable().isNoOrdering());
- assertEquals(null, ormOneToManyMapping.getOrderable().getSpecifiedOrderBy());
+ assertEquals(null, ormOneToManyMapping.getOrderable().getOrderBy().getKey());
assertFalse(((OrphanRemovalMapping2_0) ormOneToManyMapping).getOrphanRemoval().isOrphanRemoval());
}
diff --git a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/java/EclipseLink2_0JavaElementCollectionMappingTests.java b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/java/EclipseLink2_0JavaElementCollectionMappingTests.java
index fad40113b2..4b0202441a 100644
--- a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/java/EclipseLink2_0JavaElementCollectionMappingTests.java
+++ b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/java/EclipseLink2_0JavaElementCollectionMappingTests.java
@@ -12,43 +12,43 @@ package org.eclipse.jpt.jpa.eclipselink.core.tests.internal.context.java;
import java.util.Iterator;
import java.util.ListIterator;
import org.eclipse.jdt.core.ICompilationUnit;
+import org.eclipse.jpt.common.core.resource.java.JavaResourceAnnotatedElement.AstNodeType;
import org.eclipse.jpt.common.core.resource.java.JavaResourceField;
import org.eclipse.jpt.common.core.resource.java.JavaResourceType;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceAnnotatedElement.AstNodeType;
import org.eclipse.jpt.common.core.resource.java.NestableAnnotation;
import org.eclipse.jpt.common.core.tests.internal.projects.TestJavaProject.SourceWriter;
import org.eclipse.jpt.common.utility.internal.ObjectTools;
import org.eclipse.jpt.common.utility.internal.iterator.IteratorTools;
import org.eclipse.jpt.jpa.core.MappingKeys;
-import org.eclipse.jpt.jpa.core.context.SpecifiedAttributeOverride;
+import org.eclipse.jpt.jpa.core.context.AttributeOverride;
import org.eclipse.jpt.jpa.core.context.AttributeOverrideContainer;
+import org.eclipse.jpt.jpa.core.context.BaseEnumeratedConverter;
+import org.eclipse.jpt.jpa.core.context.BaseTemporalConverter;
import org.eclipse.jpt.jpa.core.context.BasicMapping;
import org.eclipse.jpt.jpa.core.context.Embeddable;
import org.eclipse.jpt.jpa.core.context.EmbeddedIdMapping;
import org.eclipse.jpt.jpa.core.context.EmbeddedMapping;
import org.eclipse.jpt.jpa.core.context.EnumType;
-import org.eclipse.jpt.jpa.core.context.BaseEnumeratedConverter;
import org.eclipse.jpt.jpa.core.context.FetchType;
import org.eclipse.jpt.jpa.core.context.IdMapping;
import org.eclipse.jpt.jpa.core.context.ManyToManyMapping;
import org.eclipse.jpt.jpa.core.context.ManyToOneMapping;
import org.eclipse.jpt.jpa.core.context.OneToManyMapping;
-import org.eclipse.jpt.jpa.core.context.SpecifiedPersistentAttribute;
import org.eclipse.jpt.jpa.core.context.PersistentType;
-import org.eclipse.jpt.jpa.core.context.AttributeOverride;
-import org.eclipse.jpt.jpa.core.context.BaseTemporalConverter;
+import org.eclipse.jpt.jpa.core.context.SpecifiedAttributeOverride;
+import org.eclipse.jpt.jpa.core.context.SpecifiedPersistentAttribute;
import org.eclipse.jpt.jpa.core.context.TemporalType;
import org.eclipse.jpt.jpa.core.context.TransientMapping;
import org.eclipse.jpt.jpa.core.context.TypeMapping;
import org.eclipse.jpt.jpa.core.context.VersionMapping;
import org.eclipse.jpt.jpa.core.context.VirtualAttributeOverride;
-import org.eclipse.jpt.jpa.core.context.java.JavaSpecifiedAttributeOverride;
import org.eclipse.jpt.jpa.core.context.java.JavaAttributeOverrideContainer;
import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
+import org.eclipse.jpt.jpa.core.context.java.JavaSpecifiedAttributeOverride;
import org.eclipse.jpt.jpa.core.context.persistence.ClassRef;
import org.eclipse.jpt.jpa.core.jpa2.context.ElementCollectionMapping2_0;
-import org.eclipse.jpt.jpa.core.jpa2.context.SpecifiedOrderColumn2_0;
import org.eclipse.jpt.jpa.core.jpa2.context.Orderable2_0;
+import org.eclipse.jpt.jpa.core.jpa2.context.SpecifiedOrderColumn2_0;
import org.eclipse.jpt.jpa.core.jpa2.context.java.JavaElementCollectionMapping2_0;
import org.eclipse.jpt.jpa.core.jpa2.resource.java.ElementCollectionAnnotation2_0;
import org.eclipse.jpt.jpa.core.jpa2.resource.java.JPA2_0;
@@ -70,8 +70,8 @@ import org.eclipse.jpt.jpa.core.resource.java.OneToManyAnnotation;
import org.eclipse.jpt.jpa.core.resource.java.TransientAnnotation;
import org.eclipse.jpt.jpa.core.resource.java.VersionAnnotation;
import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkConvert;
-import org.eclipse.jpt.jpa.eclipselink.core.resource.java.EclipseLink;
import org.eclipse.jpt.jpa.eclipselink.core.resource.java.ConvertAnnotation;
+import org.eclipse.jpt.jpa.eclipselink.core.resource.java.EclipseLink;
import org.eclipse.jpt.jpa.eclipselink.core.tests.internal.context.EclipseLink2_0ContextModelTestCase;
@SuppressWarnings("nls")
@@ -1073,7 +1073,7 @@ public class EclipseLink2_0JavaElementCollectionMappingTests
assertEquals(false, orderable.isOrderColumnOrdering());
assertEquals(true, orderable.isNoOrdering());
- orderable.setOrderColumnOrdering(true);
+ orderable.setOrderColumnOrdering();
SpecifiedOrderColumn2_0 orderColumn = orderable.getOrderColumn();
assertEquals(true, orderable.isOrderColumnOrdering());
assertEquals(null, orderColumn.getSpecifiedName());
diff --git a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/java/EclipseLink2_0JavaOneToManyMappingTests.java b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/java/EclipseLink2_0JavaOneToManyMappingTests.java
index f8fa73a82f..0d0de25dd1 100644
--- a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/java/EclipseLink2_0JavaOneToManyMappingTests.java
+++ b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/java/EclipseLink2_0JavaOneToManyMappingTests.java
@@ -19,7 +19,7 @@ import org.eclipse.jpt.common.core.resource.java.NestableAnnotation;
import org.eclipse.jpt.common.core.tests.internal.projects.TestJavaProject.SourceWriter;
import org.eclipse.jpt.common.utility.internal.iterable.EmptyIterable;
import org.eclipse.jpt.common.utility.internal.iterator.IteratorTools;
-import org.eclipse.jpt.jpa.core.context.SpecifiedAttributeOverride;
+import org.eclipse.jpt.jpa.core.context.AttributeOverride;
import org.eclipse.jpt.jpa.core.context.AttributeOverrideContainer;
import org.eclipse.jpt.jpa.core.context.BaseEnumeratedConverter;
import org.eclipse.jpt.jpa.core.context.BaseTemporalConverter;
@@ -27,11 +27,11 @@ import org.eclipse.jpt.jpa.core.context.BasicMapping;
import org.eclipse.jpt.jpa.core.context.Embeddable;
import org.eclipse.jpt.jpa.core.context.Entity;
import org.eclipse.jpt.jpa.core.context.EnumType;
+import org.eclipse.jpt.jpa.core.context.OneToManyMapping;
+import org.eclipse.jpt.jpa.core.context.SpecifiedAttributeOverride;
import org.eclipse.jpt.jpa.core.context.SpecifiedJoinColumn;
import org.eclipse.jpt.jpa.core.context.SpecifiedJoinColumnRelationship;
-import org.eclipse.jpt.jpa.core.context.OneToManyMapping;
import org.eclipse.jpt.jpa.core.context.SpecifiedPersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.AttributeOverride;
import org.eclipse.jpt.jpa.core.context.TemporalType;
import org.eclipse.jpt.jpa.core.context.VirtualAttributeOverride;
import org.eclipse.jpt.jpa.core.context.java.JavaOneToManyMapping;
@@ -39,10 +39,10 @@ import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
import org.eclipse.jpt.jpa.core.context.persistence.ClassRef;
import org.eclipse.jpt.jpa.core.jpa2.context.OneToManyMapping2_0;
import org.eclipse.jpt.jpa.core.jpa2.context.OneToManyRelationship2_0;
-import org.eclipse.jpt.jpa.core.jpa2.context.SpecifiedOrderColumn2_0;
import org.eclipse.jpt.jpa.core.jpa2.context.Orderable2_0;
import org.eclipse.jpt.jpa.core.jpa2.context.OrphanRemovable2_0;
import org.eclipse.jpt.jpa.core.jpa2.context.OrphanRemovalMapping2_0;
+import org.eclipse.jpt.jpa.core.jpa2.context.SpecifiedOrderColumn2_0;
import org.eclipse.jpt.jpa.core.jpa2.resource.java.JPA2_0;
import org.eclipse.jpt.jpa.core.jpa2.resource.java.MapKeyClassAnnotation2_0;
import org.eclipse.jpt.jpa.core.jpa2.resource.java.MapKeyColumnAnnotation2_0;
@@ -913,7 +913,7 @@ public class EclipseLink2_0JavaOneToManyMappingTests
SpecifiedPersistentAttribute persistentAttribute = getJavaPersistentType().getAttributes().iterator().next();
OneToManyMapping2_0 oneToManyMapping = (OneToManyMapping2_0) persistentAttribute.getMapping();
((SpecifiedJoinColumnRelationship) oneToManyMapping.getRelationship()).setStrategyToJoinColumn();
- ((Orderable2_0) oneToManyMapping.getOrderable()).setOrderColumnOrdering(true);
+ ((Orderable2_0) oneToManyMapping.getOrderable()).setOrderColumnOrdering();
SpecifiedOrderColumn2_0 orderColumn = ((Orderable2_0) oneToManyMapping.getOrderable()).getOrderColumn();
diff --git a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLink2_0OrmElementCollectionMappingTests.java b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLink2_0OrmElementCollectionMappingTests.java
index 2f1234a909..117487a4c6 100644
--- a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLink2_0OrmElementCollectionMappingTests.java
+++ b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLink2_0OrmElementCollectionMappingTests.java
@@ -15,12 +15,12 @@ import org.eclipse.jdt.core.ICompilationUnit;
import org.eclipse.jpt.common.core.tests.internal.projects.TestJavaProject.SourceWriter;
import org.eclipse.jpt.common.utility.internal.iterator.IteratorTools;
import org.eclipse.jpt.jpa.core.MappingKeys;
-import org.eclipse.jpt.jpa.core.context.SpecifiedAttributeOverride;
+import org.eclipse.jpt.jpa.core.context.AttributeOverride;
import org.eclipse.jpt.jpa.core.context.AttributeOverrideContainer;
import org.eclipse.jpt.jpa.core.context.BaseEnumeratedConverter;
import org.eclipse.jpt.jpa.core.context.BaseTemporalConverter;
import org.eclipse.jpt.jpa.core.context.BasicMapping;
-import org.eclipse.jpt.jpa.core.context.SpecifiedColumn;
+import org.eclipse.jpt.jpa.core.context.Column;
import org.eclipse.jpt.jpa.core.context.EmbeddedIdMapping;
import org.eclipse.jpt.jpa.core.context.EmbeddedMapping;
import org.eclipse.jpt.jpa.core.context.EnumType;
@@ -29,24 +29,24 @@ import org.eclipse.jpt.jpa.core.context.IdMapping;
import org.eclipse.jpt.jpa.core.context.ManyToManyMapping;
import org.eclipse.jpt.jpa.core.context.ManyToOneMapping;
import org.eclipse.jpt.jpa.core.context.OneToManyMapping;
-import org.eclipse.jpt.jpa.core.context.AttributeOverride;
-import org.eclipse.jpt.jpa.core.context.Column;
+import org.eclipse.jpt.jpa.core.context.SpecifiedAttributeOverride;
+import org.eclipse.jpt.jpa.core.context.SpecifiedColumn;
import org.eclipse.jpt.jpa.core.context.TemporalType;
import org.eclipse.jpt.jpa.core.context.TransientMapping;
import org.eclipse.jpt.jpa.core.context.VersionMapping;
import org.eclipse.jpt.jpa.core.context.VirtualAttributeOverride;
import org.eclipse.jpt.jpa.core.context.java.JavaBasicMapping;
-import org.eclipse.jpt.jpa.core.context.orm.OrmSpecifiedAttributeOverride;
import org.eclipse.jpt.jpa.core.context.orm.OrmAttributeOverrideContainer;
-import org.eclipse.jpt.jpa.core.context.orm.OrmSpecifiedColumn;
import org.eclipse.jpt.jpa.core.context.orm.OrmEntity;
-import org.eclipse.jpt.jpa.core.context.orm.OrmSpecifiedPersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.orm.OrmPersistentType;
import org.eclipse.jpt.jpa.core.context.orm.OrmPersistentAttribute;
+import org.eclipse.jpt.jpa.core.context.orm.OrmPersistentType;
+import org.eclipse.jpt.jpa.core.context.orm.OrmSpecifiedAttributeOverride;
+import org.eclipse.jpt.jpa.core.context.orm.OrmSpecifiedColumn;
+import org.eclipse.jpt.jpa.core.context.orm.OrmSpecifiedPersistentAttribute;
import org.eclipse.jpt.jpa.core.jpa2.MappingKeys2_0;
import org.eclipse.jpt.jpa.core.jpa2.context.ElementCollectionMapping2_0;
-import org.eclipse.jpt.jpa.core.jpa2.context.SpecifiedOrderColumn2_0;
import org.eclipse.jpt.jpa.core.jpa2.context.Orderable2_0;
+import org.eclipse.jpt.jpa.core.jpa2.context.SpecifiedOrderColumn2_0;
import org.eclipse.jpt.jpa.core.jpa2.context.java.JavaElementCollectionMapping2_0;
import org.eclipse.jpt.jpa.core.jpa2.context.orm.OrmElementCollectionMapping2_0;
import org.eclipse.jpt.jpa.core.jpa2.resource.java.JPA2_0;
@@ -978,7 +978,7 @@ public class EclipseLink2_0OrmElementCollectionMappingTests
assertEquals(false, orderable.isOrderColumnOrdering());
assertEquals(true, orderable.isNoOrdering());
- orderable.setOrderColumnOrdering(true);
+ orderable.setOrderColumnOrdering();
SpecifiedOrderColumn2_0 orderColumn = orderable.getOrderColumn();
assertEquals(true, orderable.isOrderColumnOrdering());
assertEquals(null, orderColumn.getSpecifiedName());
@@ -1002,7 +1002,7 @@ public class EclipseLink2_0OrmElementCollectionMappingTests
assertEquals(true, orderable.isNoOrdering());
JavaElementCollectionMapping2_0 javaElementCollectionMapping = (JavaElementCollectionMapping2_0) ormPersistentAttribute.getJavaPersistentAttribute().getMapping();
- ((Orderable2_0) javaElementCollectionMapping.getOrderable()).setOrderColumnOrdering(true);
+ ((Orderable2_0) javaElementCollectionMapping.getOrderable()).setOrderColumnOrdering();
assertEquals(false, orderable.isOrderColumnOrdering());
assertEquals(true, orderable.isNoOrdering());
diff --git a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLink2_0OrmManyToManyMappingTests.java b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLink2_0OrmManyToManyMappingTests.java
index f4584dba9b..a71425b772 100644
--- a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLink2_0OrmManyToManyMappingTests.java
+++ b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLink2_0OrmManyToManyMappingTests.java
@@ -10,7 +10,6 @@
package org.eclipse.jpt.jpa.eclipselink.core.tests.internal.context.orm;
import java.util.Iterator;
-
import org.eclipse.jdt.core.ICompilationUnit;
import org.eclipse.jpt.common.core.tests.internal.projects.TestJavaProject.SourceWriter;
import org.eclipse.jpt.common.utility.internal.iterator.IteratorTools;
@@ -18,25 +17,25 @@ import org.eclipse.jpt.jpa.core.MappingKeys;
import org.eclipse.jpt.jpa.core.context.AttributeMapping;
import org.eclipse.jpt.jpa.core.context.BaseEnumeratedConverter;
import org.eclipse.jpt.jpa.core.context.BaseTemporalConverter;
-import org.eclipse.jpt.jpa.core.context.SpecifiedColumn;
+import org.eclipse.jpt.jpa.core.context.Column;
import org.eclipse.jpt.jpa.core.context.Entity;
import org.eclipse.jpt.jpa.core.context.EnumType;
import org.eclipse.jpt.jpa.core.context.FetchType;
import org.eclipse.jpt.jpa.core.context.ManyToManyMapping;
-import org.eclipse.jpt.jpa.core.context.Column;
import org.eclipse.jpt.jpa.core.context.PersistentAttribute;
+import org.eclipse.jpt.jpa.core.context.SpecifiedColumn;
import org.eclipse.jpt.jpa.core.context.TemporalType;
import org.eclipse.jpt.jpa.core.context.java.JavaManyToManyMapping;
import org.eclipse.jpt.jpa.core.context.orm.OrmEntity;
import org.eclipse.jpt.jpa.core.context.orm.OrmManyToManyMapping;
-import org.eclipse.jpt.jpa.core.context.orm.OrmSpecifiedPersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.orm.OrmPersistentType;
import org.eclipse.jpt.jpa.core.context.orm.OrmPersistentAttribute;
+import org.eclipse.jpt.jpa.core.context.orm.OrmPersistentType;
+import org.eclipse.jpt.jpa.core.context.orm.OrmSpecifiedPersistentAttribute;
import org.eclipse.jpt.jpa.core.jpa2.context.Cascade2_0;
import org.eclipse.jpt.jpa.core.jpa2.context.ManyToManyMapping2_0;
import org.eclipse.jpt.jpa.core.jpa2.context.OneToManyMapping2_0;
-import org.eclipse.jpt.jpa.core.jpa2.context.SpecifiedOrderColumn2_0;
import org.eclipse.jpt.jpa.core.jpa2.context.Orderable2_0;
+import org.eclipse.jpt.jpa.core.jpa2.context.SpecifiedOrderColumn2_0;
import org.eclipse.jpt.jpa.core.jpa2.context.java.JavaCollectionMapping2_0;
import org.eclipse.jpt.jpa.core.jpa2.context.orm.OrmCollectionMapping2_0;
import org.eclipse.jpt.jpa.core.jpa2.resource.java.JPA2_0;
@@ -606,13 +605,13 @@ public class EclipseLink2_0OrmManyToManyMappingTests
assertEquals(true, queuesOrderable.isNoOrdering());
- jobsOrderable.setOrderColumnOrdering(true);
+ jobsOrderable.setOrderColumnOrdering();
jobsOrderColumn = jobsOrderable.getOrderColumn();
assertEquals(true, jobsOrderable.isOrderColumnOrdering());
assertEquals(null, jobsOrderColumn.getSpecifiedName());
assertEquals("jobs_ORDER", jobsOrderColumn.getDefaultName());
assertEquals("PrintJob_PrintQueue", jobsOrderColumn.getTableName());
- queuesOrderable.setOrderColumnOrdering(true);
+ queuesOrderable.setOrderColumnOrdering();
queuesOrderColumn = queuesOrderable.getOrderColumn();
assertEquals(true, queuesOrderable.isOrderColumnOrdering());
assertEquals(null, queuesOrderColumn.getSpecifiedName());
@@ -662,7 +661,7 @@ public class EclipseLink2_0OrmManyToManyMappingTests
assertEquals(true, queuesOrderable.isNoOrdering());
JavaManyToManyMapping javaJobsManyToManyMapping = (JavaManyToManyMapping) jobsPersistentAttribute.getJavaPersistentAttribute().getMapping();
- ((Orderable2_0) javaJobsManyToManyMapping.getOrderable()).setOrderColumnOrdering(true);
+ ((Orderable2_0) javaJobsManyToManyMapping.getOrderable()).setOrderColumnOrdering();
assertEquals(false, jobsOrderable.isOrderColumnOrdering());
assertEquals(true, jobsOrderable.isNoOrdering());
@@ -946,8 +945,8 @@ public class EclipseLink2_0OrmManyToManyMappingTests
assertTrue(cascade.isRefresh());
assertTrue(cascade.isDetach());
- assertTrue(virtualManyToManyMapping.getOrderable().isCustomOrdering());
- assertEquals("city", virtualManyToManyMapping.getOrderable().getSpecifiedOrderBy());
+ assertTrue(virtualManyToManyMapping.getOrderable().isOrderByOrdering());
+ assertEquals("city", virtualManyToManyMapping.getOrderable().getOrderBy().getKey());
assertEquals(EclipseLinkJoinFetchType.INNER, ((EclipseLinkJoinFetchMapping) virtualManyToManyMapping).getJoinFetch().getValue());
}
@@ -983,7 +982,7 @@ public class EclipseLink2_0OrmManyToManyMappingTests
assertFalse(cascade.isDetach());
assertTrue(ormManyToManyMapping.getOrderable().isNoOrdering());
- assertEquals(null, ormManyToManyMapping.getOrderable().getSpecifiedOrderBy());
+ assertEquals(null, ormManyToManyMapping.getOrderable().getOrderBy().getKey());
assertEquals(null, ormManyToManyMapping.getJoinFetch().getValue());
}
diff --git a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLink2_0OrmOneToManyMappingTests.java b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLink2_0OrmOneToManyMappingTests.java
index c39d32f722..84d000d7a4 100644
--- a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLink2_0OrmOneToManyMappingTests.java
+++ b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLink2_0OrmOneToManyMappingTests.java
@@ -11,36 +11,36 @@ package org.eclipse.jpt.jpa.eclipselink.core.tests.internal.context.orm;
import java.util.Iterator;
import org.eclipse.jdt.core.ICompilationUnit;
+import org.eclipse.jpt.common.core.resource.java.JavaResourceAnnotatedElement.AstNodeType;
import org.eclipse.jpt.common.core.resource.java.JavaResourceField;
import org.eclipse.jpt.common.core.resource.java.JavaResourceType;
-import org.eclipse.jpt.common.core.resource.java.JavaResourceAnnotatedElement.AstNodeType;
import org.eclipse.jpt.common.core.tests.internal.projects.TestJavaProject.SourceWriter;
import org.eclipse.jpt.common.utility.internal.iterator.IteratorTools;
import org.eclipse.jpt.jpa.core.MappingKeys;
-import org.eclipse.jpt.jpa.core.context.SpecifiedColumn;
+import org.eclipse.jpt.jpa.core.context.BaseEnumeratedConverter;
+import org.eclipse.jpt.jpa.core.context.BaseTemporalConverter;
+import org.eclipse.jpt.jpa.core.context.Column;
import org.eclipse.jpt.jpa.core.context.Entity;
import org.eclipse.jpt.jpa.core.context.EnumType;
-import org.eclipse.jpt.jpa.core.context.BaseEnumeratedConverter;
import org.eclipse.jpt.jpa.core.context.FetchType;
-import org.eclipse.jpt.jpa.core.context.SpecifiedJoinColumn;
import org.eclipse.jpt.jpa.core.context.OneToManyMapping;
-import org.eclipse.jpt.jpa.core.context.Column;
-import org.eclipse.jpt.jpa.core.context.BaseTemporalConverter;
+import org.eclipse.jpt.jpa.core.context.SpecifiedColumn;
+import org.eclipse.jpt.jpa.core.context.SpecifiedJoinColumn;
import org.eclipse.jpt.jpa.core.context.TemporalType;
import org.eclipse.jpt.jpa.core.context.java.JavaEntity;
import org.eclipse.jpt.jpa.core.context.java.JavaOneToManyMapping;
import org.eclipse.jpt.jpa.core.context.orm.OrmEntity;
import org.eclipse.jpt.jpa.core.context.orm.OrmOneToManyMapping;
-import org.eclipse.jpt.jpa.core.context.orm.OrmSpecifiedPersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.orm.OrmPersistentType;
import org.eclipse.jpt.jpa.core.context.orm.OrmPersistentAttribute;
+import org.eclipse.jpt.jpa.core.context.orm.OrmPersistentType;
+import org.eclipse.jpt.jpa.core.context.orm.OrmSpecifiedPersistentAttribute;
import org.eclipse.jpt.jpa.core.jpa2.context.Cascade2_0;
import org.eclipse.jpt.jpa.core.jpa2.context.OneToManyMapping2_0;
import org.eclipse.jpt.jpa.core.jpa2.context.OneToManyRelationship2_0;
-import org.eclipse.jpt.jpa.core.jpa2.context.SpecifiedOrderColumn2_0;
import org.eclipse.jpt.jpa.core.jpa2.context.Orderable2_0;
import org.eclipse.jpt.jpa.core.jpa2.context.OrphanRemovable2_0;
import org.eclipse.jpt.jpa.core.jpa2.context.OrphanRemovalMapping2_0;
+import org.eclipse.jpt.jpa.core.jpa2.context.SpecifiedOrderColumn2_0;
import org.eclipse.jpt.jpa.core.jpa2.resource.java.JPA2_0;
import org.eclipse.jpt.jpa.core.jpa2.resource.java.MapKeyColumnAnnotation2_0;
import org.eclipse.jpt.jpa.core.resource.java.JPA;
@@ -512,7 +512,7 @@ public class EclipseLink2_0OrmOneToManyMappingTests
assertEquals(false, orderable.isOrderColumnOrdering());
assertEquals(true, orderable.isNoOrdering());
- orderable.setOrderColumnOrdering(true);
+ orderable.setOrderColumnOrdering();
SpecifiedOrderColumn2_0 orderColumn = orderable.getOrderColumn();
assertEquals(true, orderable.isOrderColumnOrdering());
assertEquals(null, orderColumn.getSpecifiedName());
@@ -544,7 +544,7 @@ public class EclipseLink2_0OrmOneToManyMappingTests
assertEquals(true, orderable.isNoOrdering());
JavaOneToManyMapping javaOneToManyMapping = (JavaOneToManyMapping) ormPersistentAttribute.getJavaPersistentAttribute().getMapping();
- ((Orderable2_0) javaOneToManyMapping.getOrderable()).setOrderColumnOrdering(true);
+ ((Orderable2_0) javaOneToManyMapping.getOrderable()).setOrderColumnOrdering();
assertEquals(false, orderable.isOrderColumnOrdering());
assertEquals(true, orderable.isNoOrdering());
@@ -1003,7 +1003,7 @@ public class EclipseLink2_0OrmOneToManyMappingTests
OneToManyMapping2_0 virtualOneToManyMapping = (OneToManyMapping2_0) persistentAttribute.getMapping();
OneToManyMapping2_0 javaOneToManyMapping = (OneToManyMapping2_0) persistentAttribute.getJavaPersistentAttribute().getMapping();
((OneToManyRelationship2_0) javaOneToManyMapping.getRelationship()).setStrategyToJoinColumn();
- ((Orderable2_0) javaOneToManyMapping.getOrderable()).setOrderColumnOrdering(true);
+ ((Orderable2_0) javaOneToManyMapping.getOrderable()).setOrderColumnOrdering();
SpecifiedOrderColumn2_0 orderColumn = ((Orderable2_0) virtualOneToManyMapping.getOrderable()).getOrderColumn();
assertEquals("addresses_ORDER", orderColumn.getName());
@@ -1022,7 +1022,7 @@ public class EclipseLink2_0OrmOneToManyMappingTests
((OneToManyRelationship2_0) ormOneToManyMapping.getRelationship()).setStrategyToJoinColumn();
assertFalse(((Orderable2_0) ormOneToManyMapping.getOrderable()).isOrderColumnOrdering());
- ((Orderable2_0) ormOneToManyMapping.getOrderable()).setOrderColumnOrdering(true);
+ ((Orderable2_0) ormOneToManyMapping.getOrderable()).setOrderColumnOrdering();
orderColumn = ((Orderable2_0) ormOneToManyMapping.getOrderable()).getOrderColumn();
assertNull(orderColumn.getSpecifiedName());
@@ -1060,8 +1060,8 @@ public class EclipseLink2_0OrmOneToManyMappingTests
assertTrue(cascade.isRefresh());
assertTrue(cascade.isDetach());
- assertTrue(virtualOneToManyMapping.getOrderable().isCustomOrdering());
- assertEquals("city", virtualOneToManyMapping.getOrderable().getSpecifiedOrderBy());
+ assertTrue(virtualOneToManyMapping.getOrderable().isOrderByOrdering());
+ assertEquals("city", virtualOneToManyMapping.getOrderable().getOrderBy().getKey());
assertTrue(((OrphanRemovalMapping2_0) virtualOneToManyMapping).getOrphanRemoval().isOrphanRemoval());
assertEquals(EclipseLinkJoinFetchType.INNER, virtualOneToManyMapping.getJoinFetch().getValue());
@@ -1094,7 +1094,7 @@ public class EclipseLink2_0OrmOneToManyMappingTests
assertFalse(cascade.isDetach());
assertTrue(virtualOneToManyMapping.getOrderable().isNoOrdering());
- assertEquals(null, virtualOneToManyMapping.getOrderable().getSpecifiedOrderBy());
+ assertEquals(null, virtualOneToManyMapping.getOrderable().getOrderBy().getKey());
assertFalse(((OrphanRemovalMapping2_0) virtualOneToManyMapping).getOrphanRemoval().isOrphanRemoval());
assertEquals(null, virtualOneToManyMapping.getJoinFetch().getValue());
diff --git a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmManyToManyMappingTests.java b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmManyToManyMappingTests.java
index 9ee8a4ad6c..e96eed24b6 100644
--- a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmManyToManyMappingTests.java
+++ b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmManyToManyMappingTests.java
@@ -16,12 +16,12 @@ import org.eclipse.jpt.common.utility.internal.iterator.IteratorTools;
import org.eclipse.jpt.jpa.core.MappingKeys;
import org.eclipse.jpt.jpa.core.context.Cascade;
import org.eclipse.jpt.jpa.core.context.FetchType;
-import org.eclipse.jpt.jpa.core.context.SpecifiedJoinTable;
import org.eclipse.jpt.jpa.core.context.ManyToManyMapping;
import org.eclipse.jpt.jpa.core.context.OneToManyMapping;
-import org.eclipse.jpt.jpa.core.context.orm.OrmSpecifiedPersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.orm.OrmPersistentType;
+import org.eclipse.jpt.jpa.core.context.SpecifiedJoinTable;
import org.eclipse.jpt.jpa.core.context.orm.OrmPersistentAttribute;
+import org.eclipse.jpt.jpa.core.context.orm.OrmPersistentType;
+import org.eclipse.jpt.jpa.core.context.orm.OrmSpecifiedPersistentAttribute;
import org.eclipse.jpt.jpa.core.resource.java.JPA;
import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkJoinFetchMapping;
import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkJoinFetchType;
@@ -355,8 +355,8 @@ public class EclipseLinkOrmManyToManyMappingTests
assertTrue(cascade.isRemove());
assertTrue(cascade.isRefresh());
- assertTrue(virtualManyToManyMapping.getOrderable().isCustomOrdering());
- assertEquals("city", virtualManyToManyMapping.getOrderable().getSpecifiedOrderBy());
+ assertTrue(virtualManyToManyMapping.getOrderable().isOrderByOrdering());
+ assertEquals("city", virtualManyToManyMapping.getOrderable().getOrderBy().getKey());
assertEquals(EclipseLinkJoinFetchType.INNER, ((EclipseLinkJoinFetchMapping) virtualManyToManyMapping).getJoinFetch().getValue());
}
@@ -390,7 +390,7 @@ public class EclipseLinkOrmManyToManyMappingTests
assertFalse(cascade.isRefresh());
assertTrue(ormManyToManyMapping.getOrderable().isNoOrdering());
- assertEquals(null, ormManyToManyMapping.getOrderable().getSpecifiedOrderBy());
+ assertEquals(null, ormManyToManyMapping.getOrderable().getOrderBy().getKey());
assertEquals(null, ormManyToManyMapping.getJoinFetch().getValue());
}
diff --git a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmOneToManyMappingTests.java b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmOneToManyMappingTests.java
index c2a581c676..17f6af7b63 100644
--- a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmOneToManyMappingTests.java
+++ b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmOneToManyMappingTests.java
@@ -16,12 +16,12 @@ import org.eclipse.jpt.common.utility.internal.iterator.IteratorTools;
import org.eclipse.jpt.jpa.core.MappingKeys;
import org.eclipse.jpt.jpa.core.context.Cascade;
import org.eclipse.jpt.jpa.core.context.FetchType;
-import org.eclipse.jpt.jpa.core.context.SpecifiedJoinTable;
import org.eclipse.jpt.jpa.core.context.OneToManyMapping;
+import org.eclipse.jpt.jpa.core.context.SpecifiedJoinTable;
import org.eclipse.jpt.jpa.core.context.java.JavaOneToManyMapping;
-import org.eclipse.jpt.jpa.core.context.orm.OrmSpecifiedPersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.orm.OrmPersistentType;
import org.eclipse.jpt.jpa.core.context.orm.OrmPersistentAttribute;
+import org.eclipse.jpt.jpa.core.context.orm.OrmPersistentType;
+import org.eclipse.jpt.jpa.core.context.orm.OrmSpecifiedPersistentAttribute;
import org.eclipse.jpt.jpa.core.resource.java.JPA;
import org.eclipse.jpt.jpa.core.resource.orm.OrmFactory;
import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkJoinFetchType;
@@ -721,8 +721,8 @@ public class EclipseLinkOrmOneToManyMappingTests
assertTrue(cascade.isRemove());
assertTrue(cascade.isRefresh());
- assertTrue(virtualOneToManyMapping.getOrderable().isCustomOrdering());
- assertEquals("city", virtualOneToManyMapping.getOrderable().getSpecifiedOrderBy());
+ assertTrue(virtualOneToManyMapping.getOrderable().isOrderByOrdering());
+ assertEquals("city", virtualOneToManyMapping.getOrderable().getOrderBy().getKey());
assertEquals(EclipseLinkJoinFetchType.INNER, virtualOneToManyMapping.getJoinFetch().getValue());
}
@@ -753,7 +753,7 @@ public class EclipseLinkOrmOneToManyMappingTests
assertFalse(cascade.isRefresh());
assertTrue(virtualOneToManyMapping.getOrderable().isNoOrdering());
- assertEquals(null, virtualOneToManyMapping.getOrderable().getSpecifiedOrderBy());
+ assertEquals(null, virtualOneToManyMapping.getOrderable().getOrderBy().getKey());
assertEquals(null, virtualOneToManyMapping.getJoinFetch().getValue());
}

Back to the top