diff options
author | kmoore | 2009-03-24 19:56:43 +0000 |
---|---|---|
committer | kmoore | 2009-03-24 19:56:43 +0000 |
commit | 461abb42d28c25b332a1c9c8b04751859f121f44 (patch) | |
tree | 2f4ece10f2c0f57d02cea57b8d0f3e696ab543d6 /jpa/plugins/org.eclipse.jpt.core/src | |
parent | cfccd690122a1e62419bd97bc809743f77ea0e99 (diff) | |
download | webtools.dali-461abb42d28c25b332a1c9c8b04751859f121f44.tar.gz webtools.dali-461abb42d28c25b332a1c9c8b04751859f121f44.tar.xz webtools.dali-461abb42d28c25b332a1c9c8b04751859f121f44.zip |
235428 - Dali expects inner classes to be listed using '.' instead of '$' in xml artifacts
Diffstat (limited to 'jpa/plugins/org.eclipse.jpt.core/src')
13 files changed, 68 insertions, 10 deletions
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/IdClassHolder.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/IdClassHolder.java index 5ccc80451f..4eeb0ab8d0 100644 --- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/IdClassHolder.java +++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/IdClassHolder.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2008 Oracle. All rights reserved. + * Copyright (c) 2008, 2009 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. @@ -29,4 +29,10 @@ public interface IdClassHolder String ID_CLASS_PROPERTY = "idClass"; //$NON-NLS-1$ + /** + * Return the char to be used for browsing or creating the id class IType. + * @see org.eclipse.jdt.core.IType#getFullyQualifiedName(char) + */ + char getIdClassEnclosingTypeSeparator(); + } diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/NamedNativeQuery.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/NamedNativeQuery.java index de8eba056c..b5b94f541e 100644 --- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/NamedNativeQuery.java +++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/NamedNativeQuery.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007, 2008 Oracle. All rights reserved. + * Copyright (c) 2007, 2009 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. @@ -28,4 +28,10 @@ public interface NamedNativeQuery extends Query void setResultSetMapping(String value); String RESULT_SET_MAPPING_PROPERTY = "resultSetMapping"; //$NON-NLS-1$ + /** + * Return the char to be used for browsing or creating the result class IType. + * @see org.eclipse.jdt.core.IType#getFullyQualifiedName(char) + */ + char getResultClassEnclosingTypeSeparator(); + } diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/RelationshipMapping.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/RelationshipMapping.java index 1b670134c4..9f5c1fa566 100644 --- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/RelationshipMapping.java +++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/context/RelationshipMapping.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2008 Oracle. All rights reserved. + * Copyright (c) 2006, 2009 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. @@ -65,6 +65,11 @@ public interface RelationshipMapping extends AttributeMapping, Fetchable */ Iterator<String> allTargetEntityAttributeNames(); + /** + * Return the char to be used for browsing or creating the target entity IType. + * @see org.eclipse.jdt.core.IType#getFullyQualifiedName(char) + */ + char getTargetEntityEnclosingTypeSeparator(); // **************** cascade ************************************** diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/java/AbstractJavaEntity.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/java/AbstractJavaEntity.java index bc987d0b17..63ddbc0d07 100644 --- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/java/AbstractJavaEntity.java +++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/java/AbstractJavaEntity.java @@ -1244,6 +1244,10 @@ public abstract class AbstractJavaEntity public Iterator<JavaQuery> queries() { return new CompositeIterator<JavaQuery>(this.namedNativeQueries(), this.namedQueries()); } + + public char getIdClassEnclosingTypeSeparator() { + return '.'; + } public String getIdClass() { return this.idClass; diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/java/AbstractJavaMappedSuperclass.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/java/AbstractJavaMappedSuperclass.java index 5ceb70970f..8be2480467 100644 --- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/java/AbstractJavaMappedSuperclass.java +++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/java/AbstractJavaMappedSuperclass.java @@ -58,6 +58,10 @@ public abstract class AbstractJavaMappedSuperclass extends AbstractJavaTypeMappi JPA.POST_LOAD); } + public char getIdClassEnclosingTypeSeparator() { + return '.'; + } + public String getIdClass() { return this.idClass; } diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/java/AbstractJavaRelationshipMapping.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/java/AbstractJavaRelationshipMapping.java index 0a163862f2..ee38b7ab44 100644 --- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/java/AbstractJavaRelationshipMapping.java +++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/java/AbstractJavaRelationshipMapping.java @@ -84,6 +84,10 @@ public abstract class AbstractJavaRelationshipMapping<T extends RelationshipMapp // **************** target entity ****************************************** + public char getTargetEntityEnclosingTypeSeparator() { + return '.'; + } + public String getTargetEntity() { return (this.specifiedTargetEntity != null) ? this.specifiedTargetEntity : this.defaultTargetEntity; } diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/java/GenericJavaNamedNativeQuery.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/java/GenericJavaNamedNativeQuery.java index f0a1514e05..6b06f8a736 100644 --- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/java/GenericJavaNamedNativeQuery.java +++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/java/GenericJavaNamedNativeQuery.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007, 2008 Oracle. All rights reserved. + * Copyright (c) 2007, 2009 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. @@ -32,6 +32,10 @@ public class GenericJavaNamedNativeQuery extends AbstractJavaQuery return (NamedNativeQueryAnnotation) super.getResourceQuery(); } + public char getResultClassEnclosingTypeSeparator() { + return '.'; + } + public String getResultClass() { return this.resultClass; } diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmEntity.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmEntity.java index f7783ecfb3..118fb97f78 100644 --- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmEntity.java +++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmEntity.java @@ -1195,7 +1195,11 @@ public abstract class AbstractOrmEntity public Iterator<OrmQuery> queries() { return new CompositeIterator<OrmQuery>(this.namedQueries(), this.namedNativeQueries()); } - + + public char getIdClassEnclosingTypeSeparator() { + return '$'; + } + public String getIdClass() { return this.idClass; } diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmMappedSuperclass.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmMappedSuperclass.java index f84a8359a3..2a269b996c 100644 --- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmMappedSuperclass.java +++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmMappedSuperclass.java @@ -55,6 +55,10 @@ public abstract class AbstractOrmMappedSuperclass extends AbstractOrmTypeMapping } + public char getIdClassEnclosingTypeSeparator() { + return '$'; + } + public String getIdClass() { return this.idClass; } diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmPersistentType.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmPersistentType.java index eaa382f01f..14b8e3abe0 100644 --- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmPersistentType.java +++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmPersistentType.java @@ -535,15 +535,20 @@ public abstract class AbstractOrmPersistentType } protected JavaResourcePersistentType getJavaResourcePersistentType() { + String className = getMapping().getClass_(); + if (className == null) { + return null; + } + className = className.replace('$', '.'); // try to resolve by only the locally specified name - JavaResourcePersistentType jrpt = this.getJpaProject().getJavaResourcePersistentType(getMapping().getClass_()); + JavaResourcePersistentType jrpt = this.getJpaProject().getJavaResourcePersistentType(className); if (jrpt != null) { return jrpt; } // try to resolve by prepending the global package name String packageName = this.getDefaultPackage(); - return this.getJpaProject().getJavaResourcePersistentType(packageName + '.' + getMapping().getClass_()); + return this.getJpaProject().getJavaResourcePersistentType(packageName + '.' + className); } protected JavaPersistentType buildJavaPersistentType(JavaResourcePersistentType jrpt) { diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmRelationshipMapping.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmRelationshipMapping.java index db56a29b5b..763454bbfa 100644 --- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmRelationshipMapping.java +++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/AbstractOrmRelationshipMapping.java @@ -73,6 +73,10 @@ public abstract class AbstractOrmRelationshipMapping<T extends XmlRelationshipMa // **************** target entity ****************************************** + public char getTargetEntityEnclosingTypeSeparator() { + return '$'; + } + public String getTargetEntity() { return (this.specifiedTargetEntity != null) ? this.specifiedTargetEntity : this.defaultTargetEntity; } diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/GenericOrmNamedNativeQuery.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/GenericOrmNamedNativeQuery.java index a9029a53ac..b0f8287712 100644 --- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/GenericOrmNamedNativeQuery.java +++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/GenericOrmNamedNativeQuery.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007, 2008 Oracle. All rights reserved. + * Copyright (c) 2007, 2009 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. @@ -28,6 +28,10 @@ public class GenericOrmNamedNativeQuery extends AbstractOrmQuery<XmlNamedNativeQ super(parent, resourceQuery); } + public char getResultClassEnclosingTypeSeparator() { + return '$'; + } + public String getResultClass() { return this.resultClass; } diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/persistence/GenericClassRef.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/persistence/GenericClassRef.java index 4f751f7d31..e0dae014fc 100644 --- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/persistence/GenericClassRef.java +++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/persistence/GenericClassRef.java @@ -76,7 +76,10 @@ public class GenericClassRef } protected void initializeJavaPersistentType() { - JavaResourcePersistentType jrpt = this.getJpaProject().getJavaResourcePersistentType(this.className); + if (this.className == null) { + return; + } + JavaResourcePersistentType jrpt = this.getJpaProject().getJavaResourcePersistentType(this.className.replace('$', '.')); if (jrpt != null) { this.javaPersistentType = this.buildJavaPersistentType(jrpt); } @@ -194,7 +197,8 @@ public class GenericClassRef } protected void updateJavaPersistentType() { - JavaResourcePersistentType jrpt = this.getJpaProject().getJavaResourcePersistentType(this.className); + JavaResourcePersistentType jrpt = + this.getJpaProject().getJavaResourcePersistentType(this.className == null ? null : this.className.replace('$', '.')); if (jrpt == null) { if (this.javaPersistentType != null) { this.javaPersistentType.dispose(); |