diff options
author | Paul Fullbright | 2013-06-05 16:25:05 +0000 |
---|---|---|
committer | Paul Fullbright | 2013-07-08 17:06:35 +0000 |
commit | 46cc00bceda89ffe238d1ce7b169485259daf198 (patch) | |
tree | 1d8ec3e74cc03ed47c7929933fedfb705acf9dc6 | |
parent | 9a01192a99c0cc500e7579884693832cfbc6ecd6 (diff) | |
download | webtools.dali-46cc00bceda89ffe238d1ce7b169485259daf198.tar.gz webtools.dali-46cc00bceda89ffe238d1ce7b169485259daf198.tar.xz webtools.dali-46cc00bceda89ffe238d1ce7b169485259daf198.zip |
refactored order by (bug 190866)
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()); } |