diff options
Diffstat (limited to 'jpa/plugins')
8 files changed, 53 insertions, 15 deletions
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/content/java/mappings/JavaAbstractQuery.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/content/java/mappings/JavaAbstractQuery.java index 62fa42bc10..ce5cdf8b45 100644 --- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/content/java/mappings/JavaAbstractQuery.java +++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/content/java/mappings/JavaAbstractQuery.java @@ -601,6 +601,10 @@ public abstract class JavaAbstractQuery extends JavaEObject implements IQuery protected abstract JavaQueryHint createJavaQueryHint(int index); + protected IndexedDeclarationAnnotationAdapter getDeclarationAnnotationAdapter() { + return this.idaa; + } + // ********** persistence model -> java annotations ********** void moveAnnotation(int newIndex) { this.annotationAdapter.moveAnnotation(newIndex); diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/content/java/mappings/JavaAssociationOverride.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/content/java/mappings/JavaAssociationOverride.java index 9698861981..bae1681686 100644 --- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/content/java/mappings/JavaAssociationOverride.java +++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/content/java/mappings/JavaAssociationOverride.java @@ -339,7 +339,7 @@ public class JavaAssociationOverride extends JavaOverride } private JavaJoinColumn createJavaJoinColumn(int index) { - return JavaJoinColumn.createAssociationOverrideJoinColumn(new JoinColumnOwner(this), this.getMember(), index); + return JavaJoinColumn.createAssociationOverrideJoinColumn(this, new JoinColumnOwner(this), this.getMember(), index); } // ********** jpa model -> java annotations ********** diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/content/java/mappings/JavaJoinColumn.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/content/java/mappings/JavaJoinColumn.java index fe1dc2c75a..75247974c6 100644 --- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/content/java/mappings/JavaJoinColumn.java +++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/content/java/mappings/JavaJoinColumn.java @@ -451,12 +451,12 @@ public class JavaJoinColumn extends AbstractJavaColumn implements IJoinColumn return new CombinationIndexedDeclarationAnnotationAdapter(SINGLE_DECLARATION_ANNOTATION_ADAPTER, MULTIPLE_DECLARATION_ANNOTATION_ADAPTER, index, JPA.JOIN_COLUMN); } - static JavaJoinColumn createAssociationOverrideJoinColumn(IJoinColumn.Owner owner, Member member, int index) { - return JpaJavaMappingsFactory.eINSTANCE.createJavaJoinColumn(owner, member, buildAssociationOverrideAnnotationAdapter(index)); + static JavaJoinColumn createAssociationOverrideJoinColumn(JavaAssociationOverride associationOverride, IJoinColumn.Owner owner, Member member, int index) { + return JpaJavaMappingsFactory.eINSTANCE.createJavaJoinColumn(owner, member, buildAssociationOverrideAnnotationAdapter(associationOverride, index)); } - private static IndexedDeclarationAnnotationAdapter buildAssociationOverrideAnnotationAdapter(int index) { - return new NestedIndexedDeclarationAnnotationAdapter(JavaAssociationOverride.SINGLE_DECLARATION_ANNOTATION_ADAPTER, JPA.ASSOCIATION_OVERRIDE__JOIN_COLUMNS, index, JPA.JOIN_COLUMN); + private static IndexedDeclarationAnnotationAdapter buildAssociationOverrideAnnotationAdapter(JavaAssociationOverride associationOverride, int index) { + return new NestedIndexedDeclarationAnnotationAdapter(associationOverride.getDeclarationAnnotationAdapter(), JPA.ASSOCIATION_OVERRIDE__JOIN_COLUMNS, index, JPA.JOIN_COLUMN); } static JavaJoinColumn createJoinTableJoinColumn(IJoinColumn.Owner owner, Member member, int index) { diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/content/java/mappings/JavaNamedNativeQuery.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/content/java/mappings/JavaNamedNativeQuery.java index f55abe4f9b..cbef2c8468 100644 --- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/content/java/mappings/JavaNamedNativeQuery.java +++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/content/java/mappings/JavaNamedNativeQuery.java @@ -339,7 +339,7 @@ public class JavaNamedNativeQuery extends JavaAbstractQuery } protected JavaQueryHint createJavaQueryHint(int index) { - return JavaQueryHint.createNamedNativeQueryQueryHint(this.getMember(), index); + return JavaQueryHint.createNamedNativeQueryQueryHint(this, this.getMember(), index); } // ********** static methods ********** diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/content/java/mappings/JavaNamedQuery.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/content/java/mappings/JavaNamedQuery.java index bdea7d802e..30195c4c01 100644 --- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/content/java/mappings/JavaNamedQuery.java +++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/content/java/mappings/JavaNamedQuery.java @@ -61,7 +61,7 @@ public class JavaNamedQuery extends JavaAbstractQuery implements INamedQuery } protected JavaQueryHint createJavaQueryHint(int index) { - return JavaQueryHint.createNamedQueryQueryHint(this.getMember(), index); + return JavaQueryHint.createNamedQueryQueryHint(this, this.getMember(), index); } // ********** static methods ********** diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/content/java/mappings/JavaOverride.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/content/java/mappings/JavaOverride.java index 86c865c14c..e71e3312b4 100644 --- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/content/java/mappings/JavaOverride.java +++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/content/java/mappings/JavaOverride.java @@ -290,4 +290,8 @@ public abstract class JavaOverride extends JavaEObject implements IOverride ITextRange textRange = this.member.annotationTextRange(this.daa); return (textRange == null) ? getOwner().getTextRange() : textRange; } + + protected IndexedDeclarationAnnotationAdapter getDeclarationAnnotationAdapter() { + return this.daa; + } }
\ No newline at end of file diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/content/java/mappings/JavaQueryHint.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/content/java/mappings/JavaQueryHint.java index 415415e172..813c6f0fa4 100644 --- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/content/java/mappings/JavaQueryHint.java +++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/content/java/mappings/JavaQueryHint.java @@ -366,19 +366,19 @@ public class JavaQueryHint extends JavaEObject implements IQueryHint } // ********** static methods ********** - static JavaQueryHint createNamedQueryQueryHint(Member member, int index) { - return JpaJavaMappingsFactory.eINSTANCE.createJavaQueryHint(member, buildNamedQueryQueryHintAnnotationAdapter(index)); + static JavaQueryHint createNamedQueryQueryHint(JavaNamedQuery namedQuery,Member member, int index) { + return JpaJavaMappingsFactory.eINSTANCE.createJavaQueryHint(member, buildNamedQueryQueryHintAnnotationAdapter(namedQuery, index)); } - private static IndexedDeclarationAnnotationAdapter buildNamedQueryQueryHintAnnotationAdapter(int index) { - return new NestedIndexedDeclarationAnnotationAdapter(JavaNamedQuery.SINGLE_DECLARATION_ANNOTATION_ADAPTER, JPA.NAMED_QUERY__HINTS, index, JPA.QUERY_HINT); + private static IndexedDeclarationAnnotationAdapter buildNamedQueryQueryHintAnnotationAdapter(JavaNamedQuery namedQuery, int index) { + return new NestedIndexedDeclarationAnnotationAdapter(namedQuery.getDeclarationAnnotationAdapter(), JPA.NAMED_QUERY__HINTS, index, JPA.QUERY_HINT); } - static JavaQueryHint createNamedNativeQueryQueryHint(Member member, int index) { - return JpaJavaMappingsFactory.eINSTANCE.createJavaQueryHint(member, buildNamedNativeQueryQueryHintAnnotationAdapter(index)); + static JavaQueryHint createNamedNativeQueryQueryHint(JavaNamedNativeQuery namedNativeQuery, Member member, int index) { + return JpaJavaMappingsFactory.eINSTANCE.createJavaQueryHint(member, buildNamedNativeQueryQueryHintAnnotationAdapter(namedNativeQuery, index)); } - private static IndexedDeclarationAnnotationAdapter buildNamedNativeQueryQueryHintAnnotationAdapter(int index) { - return new NestedIndexedDeclarationAnnotationAdapter(JavaNamedNativeQuery.SINGLE_DECLARATION_ANNOTATION_ADAPTER, JPA.NAMED_NATIVE_QUERY__HINTS, index, JPA.QUERY_HINT); + private static IndexedDeclarationAnnotationAdapter buildNamedNativeQueryQueryHintAnnotationAdapter(JavaNamedNativeQuery namedNativeQuery, int index) { + return new NestedIndexedDeclarationAnnotationAdapter(namedNativeQuery.getDeclarationAnnotationAdapter(), JPA.NAMED_NATIVE_QUERY__HINTS, index, JPA.QUERY_HINT); } } // JavaQueryHint diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/mappings/details/EntityComposite.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/mappings/details/EntityComposite.java index 83bf5c6779..965e6ba744 100644 --- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/mappings/details/EntityComposite.java +++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/mappings/details/EntityComposite.java @@ -12,6 +12,8 @@ import org.eclipse.emf.common.command.CommandStack; import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.ecore.impl.EObjectImpl; import org.eclipse.jpt.core.internal.mappings.IEntity; +import org.eclipse.jpt.core.internal.mappings.INamedQuery; +import org.eclipse.jpt.core.internal.mappings.IQueryHint; import org.eclipse.jpt.core.internal.mappings.ITable; import org.eclipse.jpt.core.internal.mappings.JpaCoreMappingsPackage; import org.eclipse.jpt.ui.internal.IJpaHelpContextIds; @@ -181,6 +183,34 @@ public class EntityComposite extends BaseJpaComposite this.inheritanceComposite.populate(obj); if (this.entity != null) { this.tableComposite.populate(this.entity.getTable()); + INamedQuery namedQuery = this.entity.createNamedQuery(0); + this.entity.getNamedQueries().add(namedQuery); + namedQuery.setName("foo"); + namedQuery.setQuery("select foo from Bar"); + IQueryHint hint = namedQuery.createQueryHint(0); + namedQuery.getHints().add(hint); + hint.setName("myHint"); + hint.setValue("myValue"); + + IQueryHint hint2 = namedQuery.createQueryHint(1); + namedQuery.getHints().add(hint2); + hint2.setName("myHint2"); + hint2.setValue("myValue2"); + + + INamedQuery namedQuery2 = this.entity.createNamedQuery(1); + this.entity.getNamedQueries().add(namedQuery2); + namedQuery2.setName("foo2"); + namedQuery2.setQuery("select foo from Bar2"); + IQueryHint hint3 = namedQuery2.createQueryHint(0); + namedQuery2.getHints().add(hint3); + hint3.setName("myHint"); + hint3.setValue("myValue"); + + IQueryHint hint4 = namedQuery2.createQueryHint(1); + namedQuery2.getHints().add(hint4); + hint4.setName("myHint2"); + hint4.setValue("myValue2"); } else { this.tableComposite.populate(null); |