diff options
author | kmoore | 2008-02-06 19:37:53 +0000 |
---|---|---|
committer | kmoore | 2008-02-06 19:37:53 +0000 |
commit | 78ee64ca79a7dee0709870eead816b70739c4093 (patch) | |
tree | 4bdfea285bae34ea02926c7995589792ecd64c3e /jpa/plugins | |
parent | baf6e3ce3fdc095a34d8eccf53a7ae3ef3fcd3ae (diff) | |
download | webtools.dali-78ee64ca79a7dee0709870eead816b70739c4093.tar.gz webtools.dali-78ee64ca79a7dee0709870eead816b70739c4093.tar.xz webtools.dali-78ee64ca79a7dee0709870eead816b70739c4093.zip |
selection text range support, also created IJpaStructureNode interface
Diffstat (limited to 'jpa/plugins')
30 files changed, 170 insertions, 120 deletions
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/IJpaFile.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/IJpaFile.java index bf34e57bd3..c5640e22e0 100644 --- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/IJpaFile.java +++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/IJpaFile.java @@ -11,7 +11,7 @@ package org.eclipse.jpt.core.internal; import org.eclipse.core.resources.IFile; import org.eclipse.jdt.core.ElementChangedEvent; -import org.eclipse.jpt.core.internal.context.base.IJpaContextNode; +import org.eclipse.jpt.core.internal.context.base.IJpaStructureNode; /** * @@ -35,9 +35,9 @@ public interface IJpaFile extends IJpaNode IResourceModel getResourceModel(); /** - * Return the context node best represented by the location in the file + * Return the structure node best represented by the location in the file */ - IJpaContextNode contextNode(int textOffset); + IJpaStructureNode structureNode(int textOffset); /** * Forward the Java element changed event to the JPA file's content. diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/JpaFile.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/JpaFile.java index 778a834504..027c6d6143 100644 --- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/JpaFile.java +++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/JpaFile.java @@ -11,7 +11,7 @@ package org.eclipse.jpt.core.internal; import org.eclipse.core.resources.IFile; import org.eclipse.jdt.core.ElementChangedEvent; -import org.eclipse.jpt.core.internal.context.base.IJpaContextNode; +import org.eclipse.jpt.core.internal.context.base.IJpaStructureNode; /** * @@ -49,7 +49,7 @@ public class JpaFile extends JpaNode implements IJpaFile return resourceModel; } - public IJpaContextNode contextNode(int textOffset) { + public IJpaStructureNode structureNode(int textOffset) { return null; } diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/base/IJpaContextNode.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/base/IJpaContextNode.java index 44d6c71bf9..619ac03975 100644 --- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/base/IJpaContextNode.java +++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/base/IJpaContextNode.java @@ -11,7 +11,6 @@ package org.eclipse.jpt.core.internal.context.base; import org.eclipse.jpt.core.internal.IJpaNode; -import org.eclipse.jpt.core.internal.ITextRange; import org.eclipse.jpt.core.internal.context.orm.EntityMappings; import org.eclipse.jpt.core.internal.context.orm.XmlPersistentType; @@ -28,13 +27,11 @@ public interface IJpaContextNode extends IJpaNode //TODO interface for this XmlPersistentType xmlPersistentType(); - ITextRange selectionTextRange(); /** - * return the context node at the given offset. This context node - * should be a *structural* context node, ie it should be available - * in the structure view + * Return the structure node at the given offset. This node + * will be made available in the structure view */ - IJpaContextNode contextNode(int offset); + IJpaStructureNode structureNode(int offset); } diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/base/IJpaStructureNode.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/base/IJpaStructureNode.java new file mode 100644 index 0000000000..f5ef2b5054 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/base/IJpaStructureNode.java @@ -0,0 +1,33 @@ +/******************************************************************************* + * Copyright (c) 2008 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.core.internal.context.base; + +import org.eclipse.jpt.core.internal.IJpaNode; +import org.eclipse.jpt.core.internal.ITextRange; + +/** + * Implement this interface for objects that appear in the Structure view + * This is used by IJpaSelection to determine selection in the editor. + * Details pages are also provided for each IJpaStructureNode. + * + * I did not implement IJpaContextNode and I'm not even sure we should implement + * IJpaNode. It is possibly someone could want a structure node that is + * not actually a contextNode in the model. + */ +public interface IJpaStructureNode extends IJpaNode +{ + /** + * Return the text range do be used to select text in the editor + * corresponding to this node. + */ + ITextRange selectionTextRange(); + +} diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/base/IPersistentAttribute.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/base/IPersistentAttribute.java index fc79ea8804..f5c9229996 100644 --- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/base/IPersistentAttribute.java +++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/base/IPersistentAttribute.java @@ -10,7 +10,7 @@ package org.eclipse.jpt.core.internal.context.base; -public interface IPersistentAttribute extends IJpaContextNode +public interface IPersistentAttribute extends IJpaContextNode, IJpaStructureNode { String getName(); String NAME_PROPERTY = "nameProperty"; diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/base/IPersistentType.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/base/IPersistentType.java index f20708e42f..b2103c183f 100644 --- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/base/IPersistentType.java +++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/base/IPersistentType.java @@ -13,7 +13,7 @@ import java.util.Iterator; import java.util.ListIterator; -public interface IPersistentType extends IJpaContextNode +public interface IPersistentType extends IJpaContextNode, IJpaStructureNode { String getName(); String NAME_PROPERTY = "nameProperty"; diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/base/JpaContextNode.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/base/JpaContextNode.java index f3b01275b4..65f3956dc7 100644 --- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/base/JpaContextNode.java +++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/base/JpaContextNode.java @@ -11,9 +11,7 @@ package org.eclipse.jpt.core.internal.context.base; import org.eclipse.jpt.core.internal.IJpaNode; -import org.eclipse.jpt.core.internal.ITextRange; import org.eclipse.jpt.core.internal.JpaNode; -import org.eclipse.jpt.core.internal.SimpleTextRange; import org.eclipse.jpt.core.internal.context.orm.EntityMappings; import org.eclipse.jpt.core.internal.context.orm.XmlPersistentType; import org.eclipse.jpt.core.internal.platform.base.IJpaBaseContextFactory; @@ -60,11 +58,7 @@ public abstract class JpaContextNode extends JpaNode return ((IJpaContextNode) parent()).xmlPersistentType(); } - public ITextRange selectionTextRange() { - return new SimpleTextRange(0, 0, 0); - } - - public IJpaContextNode contextNode(int offset) { + public IJpaStructureNode structureNode(int offset) { return null; } } diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/java/JavaPersistentAttribute.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/java/JavaPersistentAttribute.java index ab1a9ed7f4..e798840cdf 100644 --- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/java/JavaPersistentAttribute.java +++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/java/JavaPersistentAttribute.java @@ -195,8 +195,13 @@ public class JavaPersistentAttribute extends JavaContextModel } public ITextRange selectionTextRange(CompilationUnit astRoot) { - return this.persistentAttributeResource.textRange(astRoot); + return this.persistentAttributeResource.nameTextRange(astRoot); + } + + public ITextRange selectionTextRange() { + return selectionTextRange(this.persistentAttributeResource.getMember().astRoot()); } + public void update(JavaPersistentAttributeResource persistentAttributeResource) { this.persistentAttributeResource = persistentAttributeResource; diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/java/JavaPersistentType.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/java/JavaPersistentType.java index f4ae666f40..ed2414ce7b 100644 --- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/java/JavaPersistentType.java +++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/java/JavaPersistentType.java @@ -19,6 +19,7 @@ import org.eclipse.jdt.core.dom.CompilationUnit; import org.eclipse.jpt.core.internal.ITextRange; import org.eclipse.jpt.core.internal.context.base.AccessType; import org.eclipse.jpt.core.internal.context.base.IJpaContextNode; +import org.eclipse.jpt.core.internal.context.base.IJpaStructureNode; import org.eclipse.jpt.core.internal.context.base.IPersistentAttribute; import org.eclipse.jpt.core.internal.context.base.IPersistentType; import org.eclipse.jpt.core.internal.resource.java.Annotation; @@ -229,7 +230,7 @@ public class JavaPersistentType extends JavaContextModel implements IJavaPersist } @Override - public IJpaContextNode contextNode(int offset) { + public IJpaStructureNode structureNode(int offset) { //TODO astRoot, possibly get this instead of rebuilding it CompilationUnit astRoot = this.persistentTypeResource.getMember().astRoot(); if (!this.contains(offset, astRoot)) { @@ -270,9 +271,14 @@ public class JavaPersistentType extends JavaContextModel implements IJavaPersist } public ITextRange selectionTextRange(CompilationUnit astRoot) { - return this.persistentTypeResource.textRange(astRoot); + return this.persistentTypeResource.nameTextRange(astRoot); } - + + public ITextRange selectionTextRange() { + return this.selectionTextRange(this.persistentTypeResource.getMember().astRoot()); + } + + public Iterator<IPersistentType> inheritanceHierarchy() { // using a chain iterator to traverse up the inheritance tree return new ChainIterator<IPersistentType>(this) { diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/EntityMappings.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/EntityMappings.java index 82d8962fcb..f62795fd8b 100644 --- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/EntityMappings.java +++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/EntityMappings.java @@ -13,11 +13,12 @@ package org.eclipse.jpt.core.internal.context.orm; import java.util.ListIterator; import org.eclipse.jpt.core.internal.context.base.AccessType; import org.eclipse.jpt.core.internal.context.base.IJpaContextNode; +import org.eclipse.jpt.core.internal.context.base.IJpaStructureNode; import org.eclipse.jpt.core.internal.context.base.ISequenceGenerator; import org.eclipse.jpt.core.internal.context.base.ITableGenerator; import org.eclipse.jpt.core.internal.resource.orm.TypeMapping; -public interface EntityMappings extends IJpaContextNode +public interface EntityMappings extends IJpaContextNode, IJpaStructureNode { String getVersion(); diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/EntityMappingsImpl.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/EntityMappingsImpl.java index c4ef14fa78..4c9e6e39b1 100644 --- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/EntityMappingsImpl.java +++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/EntityMappingsImpl.java @@ -14,8 +14,9 @@ import java.util.Comparator; import java.util.List; import java.util.ListIterator; import org.eclipse.jpt.core.internal.IMappingKeys; +import org.eclipse.jpt.core.internal.ITextRange; import org.eclipse.jpt.core.internal.context.base.AccessType; -import org.eclipse.jpt.core.internal.context.base.IJpaContextNode; +import org.eclipse.jpt.core.internal.context.base.IJpaStructureNode; import org.eclipse.jpt.core.internal.context.base.ISequenceGenerator; import org.eclipse.jpt.core.internal.context.base.ITableGenerator; import org.eclipse.jpt.core.internal.context.base.JpaContextNode; @@ -447,33 +448,15 @@ public class EntityMappingsImpl extends JpaContextNode implements EntityMappings return false; } -// /* @see IJpaContentNode#getId() */ -// public Object getId() { -// return IXmlContentNodes.ENTITY_MAPPINGS_ID; -// } -// -// public IJpaContentNode getContentNode(int offset) { -// for (Iterator i = getTypeMappings().iterator(); i.hasNext();) { -// XmlTypeMapping mapping = (XmlTypeMapping) i.next(); -// if (mapping.getNode().contains(offset)) { -// return mapping.getContentNode(offset); -// } -// } -// return this; -// } -// -// public void javaElementChanged(ElementChangedEvent event) { -// } - @Override - public IJpaContextNode contextNode(int offset) { + public IJpaStructureNode structureNode(int offset) { if (!this.entityMappings.contains(offset)) { return null; } for (XmlPersistentType xmlPersistentType : CollectionTools.iterable(this.xmlPersistentTypes())) { - IJpaContextNode contextNode = xmlPersistentType.contextNode(offset); - if (contextNode != null) { - return contextNode; + IJpaStructureNode structureNode = xmlPersistentType.structureNode(offset); + if (structureNode != null) { + return structureNode; } } return this; @@ -730,5 +713,7 @@ public class EntityMappingsImpl extends JpaContextNode implements EntityMappings return xmlNamedNativeQuery; } - + public ITextRange selectionTextRange() { + return this.entityMappings.selectionTextRange(); + } } diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/XmlAttributeMapping.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/XmlAttributeMapping.java index 5e007c0387..5e06cec375 100644 --- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/XmlAttributeMapping.java +++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/XmlAttributeMapping.java @@ -9,8 +9,9 @@ ******************************************************************************/ package org.eclipse.jpt.core.internal.context.orm; +import org.eclipse.jpt.core.internal.ITextRange; import org.eclipse.jpt.core.internal.context.base.IAttributeMapping; -import org.eclipse.jpt.core.internal.context.base.IJpaContextNode; +import org.eclipse.jpt.core.internal.context.base.IJpaStructureNode; import org.eclipse.jpt.core.internal.context.base.JpaContextNode; import org.eclipse.jpt.core.internal.context.java.IJavaPersistentAttribute; import org.eclipse.jpt.core.internal.context.java.IJavaPersistentType; @@ -139,12 +140,18 @@ public abstract class XmlAttributeMapping<T extends AttributeMapping> extends Jp initializeFromXmlMulitRelationshipMapping(oldMapping); } - public IJpaContextNode contextNode(int offset) { + @Override + public IJpaStructureNode structureNode(int offset) { if (this.attributeMapping.contains(offset)) { return persistentAttribute(); } return null; } + + public ITextRange selectionTextRange() { + return this.attributeMapping.selectionTextRange(); + } + /** * Attributes are a sequence in the orm schema. We must keep diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/XmlPersistentAttribute.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/XmlPersistentAttribute.java index 626ce04e80..e3fb041a3c 100644 --- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/XmlPersistentAttribute.java +++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/XmlPersistentAttribute.java @@ -13,8 +13,9 @@ import java.util.ArrayList; import java.util.Collection; import java.util.List; import org.eclipse.jpt.core.internal.IMappingKeys; +import org.eclipse.jpt.core.internal.ITextRange; import org.eclipse.jpt.core.internal.context.base.IAttributeMapping; -import org.eclipse.jpt.core.internal.context.base.IJpaContextNode; +import org.eclipse.jpt.core.internal.context.base.IJpaStructureNode; import org.eclipse.jpt.core.internal.context.base.IPersistentAttribute; import org.eclipse.jpt.core.internal.context.base.JpaContextNode; import org.eclipse.jpt.core.internal.resource.orm.AttributeMapping; @@ -116,10 +117,15 @@ public class XmlPersistentAttribute extends JpaContextNode firePropertyChanged(SPECIFIED_MAPPING_PROPERTY, oldMapping, this.attributeMapping); } - public IJpaContextNode contextNode(int offset) { - return this.attributeMapping.contextNode(offset); + @Override + public IJpaStructureNode structureNode(int offset) { + return this.attributeMapping.structureNode(offset); } + public ITextRange selectionTextRange() { + return this.attributeMapping.selectionTextRange(); + } + public Collection<IXmlAttributeMappingProvider> attributeMappingProviders() { return this.attributeMappingProviders; } diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/XmlPersistentType.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/XmlPersistentType.java index cbdceb896e..aca32d5d3e 100644 --- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/XmlPersistentType.java +++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/XmlPersistentType.java @@ -16,8 +16,9 @@ import java.util.Iterator; import java.util.List; import java.util.ListIterator; import org.eclipse.jpt.core.internal.IMappingKeys; +import org.eclipse.jpt.core.internal.ITextRange; import org.eclipse.jpt.core.internal.context.base.AccessType; -import org.eclipse.jpt.core.internal.context.base.IJpaContextNode; +import org.eclipse.jpt.core.internal.context.base.IJpaStructureNode; import org.eclipse.jpt.core.internal.context.base.IPersistentAttribute; import org.eclipse.jpt.core.internal.context.base.IPersistentType; import org.eclipse.jpt.core.internal.context.base.JpaContextNode; @@ -89,11 +90,6 @@ public class XmlPersistentType extends JpaContextNode implements IPersistentType this.specifiedPersistentAttributes = new ArrayList<XmlPersistentAttribute>(); this.virtualPersistentAttributes = new ArrayList<XmlPersistentAttribute>(); } - -// /* @see IJpaContentNode#getId() */ -// public Object getId() { -// return IXmlContentNodes.PERSISTENT_TYPE_ID; -// } public boolean isFor(String fullyQualifiedTypeName) { String className = getMapping().getClass_(); @@ -776,12 +772,12 @@ public class XmlPersistentType extends JpaContextNode implements IPersistentType } @Override - public IJpaContextNode contextNode(int offset) { - if (this.xmlTypeMapping.contextNode(offset) == null) { + public IJpaStructureNode structureNode(int offset) { + if (this.xmlTypeMapping.structureNode(offset) == null) { return null; } for (XmlPersistentAttribute attribute : CollectionTools.iterable(this.attributes())) { - IJpaContextNode contextNode = attribute.contextNode(offset); + IJpaStructureNode contextNode = attribute.structureNode(offset); if (contextNode != null) { return contextNode; } @@ -789,6 +785,10 @@ public class XmlPersistentType extends JpaContextNode implements IPersistentType return this; } + public ITextRange selectionTextRange() { + return this.xmlTypeMapping.selectionTextRange(); + } + public IPersistentAttribute resolveAttribute(String attributeName) { Iterator<XmlPersistentAttribute> attributes = attributesNamed(attributeName); if (attributes.hasNext()) { diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/XmlTypeMapping.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/XmlTypeMapping.java index 27c66edeb2..2fffb0105f 100644 --- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/XmlTypeMapping.java +++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/XmlTypeMapping.java @@ -10,8 +10,9 @@ package org.eclipse.jpt.core.internal.context.orm; import java.util.Iterator; +import org.eclipse.jpt.core.internal.ITextRange; import org.eclipse.jpt.core.internal.context.base.AccessType; -import org.eclipse.jpt.core.internal.context.base.IJpaContextNode; +import org.eclipse.jpt.core.internal.context.base.IJpaStructureNode; import org.eclipse.jpt.core.internal.context.base.ITypeMapping; import org.eclipse.jpt.core.internal.context.base.JpaContextNode; import org.eclipse.jpt.core.internal.context.java.IJavaPersistentType; @@ -143,12 +144,16 @@ public abstract class XmlTypeMapping<E extends TypeMapping> extends JpaContextNo } @Override - public IJpaContextNode contextNode(int offset) { + public IJpaStructureNode structureNode(int offset) { if (this.typeMapping.contains(offset)) { return persistentType(); } return null; } + + public ITextRange selectionTextRange() { + return this.typeMapping.selectionTextRange(); + } public Table primaryDbTable() { return null; diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/common/IJpaEObject.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/common/IJpaEObject.java index b46db423b3..a0287f5310 100644 --- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/common/IJpaEObject.java +++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/common/IJpaEObject.java @@ -38,6 +38,12 @@ public interface IJpaEObject extends EObject */ ITextRange validationTextRange(); + /** + * Return the text range to be used for selection. This is the source + * range that will be highlighted when selecting in the structure view. + */ + ITextRange selectionTextRange(); + boolean isAllFeaturesUnset(); /** diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/AbstractJavaPersistentResource.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/AbstractJavaPersistentResource.java index 761e2a9ddf..8914b82811 100644 --- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/AbstractJavaPersistentResource.java +++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/AbstractJavaPersistentResource.java @@ -488,10 +488,10 @@ public abstract class AbstractJavaPersistentResource<E extends Member> extends A } public ITextRange textRange(CompilationUnit astRoot) { - return this.selectionTextRange(astRoot); + return this.fullTextRange(astRoot); } - public ITextRange selectionTextRange(CompilationUnit astRoot) { + public ITextRange nameTextRange(CompilationUnit astRoot) { return this.getMember().nameTextRange(astRoot); } diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/JavaPersistentResource.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/JavaPersistentResource.java index 5ba98af59c..75a9476141 100644 --- a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/JavaPersistentResource.java +++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/java/JavaPersistentResource.java @@ -12,6 +12,8 @@ package org.eclipse.jpt.core.internal.resource.java; import java.util.Iterator; import java.util.ListIterator; import org.eclipse.jdt.core.IMember; +import org.eclipse.jdt.core.dom.CompilationUnit; +import org.eclipse.jpt.core.internal.ITextRange; import org.eclipse.jpt.core.internal.platform.base.BaseJpaPlatform; public interface JavaPersistentResource extends JavaResource @@ -149,5 +151,11 @@ public interface JavaPersistentResource extends JavaResource * @return */ boolean isFor(IMember member); + + + /** + * return the text range for the name of the persistent resource + */ + ITextRange nameTextRange(CompilationUnit astRoot); } diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/IJpaPlatformUi.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/IJpaPlatformUi.java index f998e3ddb1..41232bb824 100644 --- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/IJpaPlatformUi.java +++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/IJpaPlatformUi.java @@ -10,8 +10,9 @@ package org.eclipse.jpt.ui.internal; import org.eclipse.jface.viewers.IStructuredSelection; +import org.eclipse.jpt.core.internal.IJpaPlatform; import org.eclipse.jpt.core.internal.IJpaProject; -import org.eclipse.jpt.core.internal.context.base.IJpaContextNode; +import org.eclipse.jpt.core.internal.context.base.IJpaStructureNode; import org.eclipse.jpt.ui.internal.details.IJpaDetailsProvider; import org.eclipse.ui.navigator.ICommonContentProvider; import org.eclipse.ui.navigator.ICommonLabelProvider; @@ -54,7 +55,7 @@ public interface IJpaPlatformUi // // Iterator<IJpaDetailsProvider> detailsProviders(); // - IJpaDetailsProvider detailsProvider(IJpaContextNode contextNode); + IJpaDetailsProvider detailsProvider(IJpaStructureNode contextNode); // // /** // * Return the type mapping UI providers for java. This will populate diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/BaseJpaDetailsPage.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/BaseJpaDetailsPage.java index 16ae2be21f..46e71524a0 100644 --- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/BaseJpaDetailsPage.java +++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/BaseJpaDetailsPage.java @@ -8,7 +8,7 @@ *******************************************************************************/ package org.eclipse.jpt.ui.internal.details; -import org.eclipse.jpt.core.internal.context.base.IJpaContextNode; +import org.eclipse.jpt.core.internal.context.base.IJpaStructureNode; import org.eclipse.jpt.ui.internal.widgets.AbstractFormPane; import org.eclipse.jpt.utility.internal.model.value.SimplePropertyValueModel; import org.eclipse.swt.widgets.Composite; @@ -22,7 +22,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetWidgetFactory; * @version 2.0 * @since 1.0 */ -public abstract class BaseJpaDetailsPage<T extends IJpaContextNode> +public abstract class BaseJpaDetailsPage<T extends IJpaStructureNode> extends AbstractFormPane<T> implements IJpaDetailsPage<T> { diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/IJpaDetailsPage.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/IJpaDetailsPage.java index a370d5e440..8f89c5ecac 100644 --- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/IJpaDetailsPage.java +++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/IJpaDetailsPage.java @@ -8,7 +8,7 @@ *******************************************************************************/ package org.eclipse.jpt.ui.internal.details; -import org.eclipse.jpt.core.internal.context.base.IJpaContextNode; +import org.eclipse.jpt.core.internal.context.base.IJpaStructureNode; import org.eclipse.swt.widgets.Control; /** @@ -20,7 +20,7 @@ import org.eclipse.swt.widgets.Control; * @version 2.0 * @since 2.0 */ -public interface IJpaDetailsPage<T extends IJpaContextNode> +public interface IJpaDetailsPage<T extends IJpaStructureNode> { /** * Returns this details' page's widget. diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/IJpaDetailsProvider.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/IJpaDetailsProvider.java index e125c62fcd..e3fe8c151e 100644 --- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/IJpaDetailsProvider.java +++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/IJpaDetailsProvider.java @@ -8,7 +8,7 @@ *******************************************************************************/ package org.eclipse.jpt.ui.internal.details; -import org.eclipse.jpt.core.internal.context.base.IJpaContextNode; +import org.eclipse.jpt.core.internal.context.base.IJpaStructureNode; import org.eclipse.swt.widgets.Composite; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetWidgetFactory; @@ -31,7 +31,7 @@ public interface IJpaDetailsProvider * page to create * @param widgetFactory The factory used to create various widgets */ - IJpaDetailsPage<? extends IJpaContextNode> buildDetailsPage( + IJpaDetailsPage<? extends IJpaStructureNode> buildDetailsPage( Composite parent, Object contentNodeId, TabbedPropertySheetWidgetFactory widgetFactory); diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/java/details/JavaDetailsProvider.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/java/details/JavaDetailsProvider.java index 796f36a4b2..1f100c55da 100644 --- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/java/details/JavaDetailsProvider.java +++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/java/details/JavaDetailsProvider.java @@ -9,7 +9,7 @@ ******************************************************************************/ package org.eclipse.jpt.ui.internal.java.details; -import org.eclipse.jpt.core.internal.context.base.IJpaContextNode; +import org.eclipse.jpt.core.internal.context.base.IJpaStructureNode; import org.eclipse.jpt.core.internal.context.java.IJavaPersistentAttribute; import org.eclipse.jpt.core.internal.context.java.IJavaPersistentType; import org.eclipse.jpt.ui.internal.details.IJpaDetailsPage; @@ -37,7 +37,7 @@ public class JavaDetailsProvider /* * (non-Javadoc) */ - public IJpaDetailsPage<? extends IJpaContextNode> buildDetailsPage( + public IJpaDetailsPage<? extends IJpaStructureNode> buildDetailsPage( Composite parent, Object contentNodeId, TabbedPropertySheetWidgetFactory widgetFactory) { diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/platform/base/BaseJpaPlatformUi.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/platform/base/BaseJpaPlatformUi.java index 0c37db0aa6..e16faf23bf 100644 --- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/platform/base/BaseJpaPlatformUi.java +++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/platform/base/BaseJpaPlatformUi.java @@ -17,7 +17,7 @@ import java.util.ListIterator; import org.eclipse.jface.viewers.IStructuredSelection; import org.eclipse.jpt.core.internal.IJpaProject; import org.eclipse.jpt.core.internal.context.base.IAttributeMapping; -import org.eclipse.jpt.core.internal.context.base.IJpaContextNode; +import org.eclipse.jpt.core.internal.context.base.IJpaStructureNode; import org.eclipse.jpt.core.internal.context.base.ITypeMapping; import org.eclipse.jpt.core.internal.context.java.IJavaJpaContextNode; import org.eclipse.jpt.ui.internal.IJpaPlatformUi; @@ -104,10 +104,10 @@ public abstract class BaseJpaPlatformUi implements IJpaPlatformUi providers.add(new XmlDetailsProvider()); } - public IJpaDetailsProvider detailsProvider(IJpaContextNode contextNode) { + public IJpaDetailsProvider detailsProvider(IJpaStructureNode structureNode) { // TODO: To implement, this is written only for testing detailsProviders(); - if (contextNode instanceof IJavaJpaContextNode) { + if (structureNode instanceof IJavaJpaContextNode) { return detailsProviders.get(0); } else { diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/selection/IJpaSelection.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/selection/IJpaSelection.java index 3c0770a964..8bf337c6a0 100644 --- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/selection/IJpaSelection.java +++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/selection/IJpaSelection.java @@ -11,14 +11,14 @@ package org.eclipse.jpt.ui.internal.selection; import org.eclipse.jface.viewers.ISelection; -import org.eclipse.jpt.core.internal.context.base.IJpaContextNode; +import org.eclipse.jpt.core.internal.context.base.IJpaStructureNode; @SuppressWarnings("nls") public interface IJpaSelection extends ISelection { static IJpaSelection NULL_SELECTION = new IJpaSelection() { - public IJpaContextNode getSelectedNode() { + public IJpaStructureNode getSelectedNode() { return null; } @@ -33,5 +33,5 @@ public interface IJpaSelection extends ISelection }; - IJpaContextNode getSelectedNode(); + IJpaStructureNode getSelectedNode(); } diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/selection/JpaSelection.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/selection/JpaSelection.java index a4e12ea25c..5fa5495612 100644 --- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/selection/JpaSelection.java +++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/selection/JpaSelection.java @@ -9,24 +9,23 @@ ******************************************************************************/ package org.eclipse.jpt.ui.internal.selection; -import org.eclipse.jpt.core.internal.context.base.IJpaContextNode; +import org.eclipse.jpt.core.internal.context.base.IJpaStructureNode; -@SuppressWarnings("nls") public class JpaSelection implements IJpaSelection { - private IJpaContextNode selectedNode; + private IJpaStructureNode selectedNode; - public JpaSelection(IJpaContextNode selectedNode) { + public JpaSelection(IJpaStructureNode selectedNode) { if (selectedNode == null) { throw new NullPointerException("A 'selectedNode' is required; otherwise use NULL_SELECTION."); } this.selectedNode = selectedNode; } - public IJpaContextNode getSelectedNode() { - return selectedNode; + public IJpaStructureNode getSelectedNode() { + return this.selectedNode; } public boolean isEmpty() { @@ -51,6 +50,6 @@ public class JpaSelection @Override public String toString() { - return selectedNode.toString(); + return this.selectedNode.toString(); } } diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/selection/TextEditorSelectionParticipant.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/selection/TextEditorSelectionParticipant.java index 8cef83aa58..eb5df85c9b 100644 --- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/selection/TextEditorSelectionParticipant.java +++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/selection/TextEditorSelectionParticipant.java @@ -17,7 +17,7 @@ import org.eclipse.jface.viewers.SelectionChangedEvent; import org.eclipse.jpt.core.internal.IJpaFile; import org.eclipse.jpt.core.internal.ITextRange; import org.eclipse.jpt.core.internal.JptCorePlugin; -import org.eclipse.jpt.core.internal.context.base.IJpaContextNode; +import org.eclipse.jpt.core.internal.context.base.IJpaStructureNode; import org.eclipse.jpt.ui.internal.views.AbstractJpaView; import org.eclipse.ui.IEditorInput; import org.eclipse.ui.IEditorPart; @@ -97,7 +97,7 @@ public class TextEditorSelectionParticipant return IJpaSelection.NULL_SELECTION; } - IJpaContextNode selectedNode = jpaFile.contextNode(((ITextSelection) selection).getOffset()); + IJpaStructureNode selectedNode = jpaFile.structureNode(((ITextSelection) selection).getOffset()); if (selectedNode == null) { return IJpaSelection.NULL_SELECTION; } diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/views/JpaDetailsView.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/views/JpaDetailsView.java index 6161215101..1c1e1181f9 100644 --- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/views/JpaDetailsView.java +++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/views/JpaDetailsView.java @@ -10,7 +10,7 @@ package org.eclipse.jpt.ui.internal.views; import java.util.HashMap; import java.util.Map; -import org.eclipse.jpt.core.internal.context.base.IJpaContextNode; +import org.eclipse.jpt.core.internal.context.base.IJpaStructureNode; import org.eclipse.jpt.ui.internal.IJpaPlatformUi; import org.eclipse.jpt.ui.internal.JptUiMessages; import org.eclipse.jpt.ui.internal.JptUiPlugin; @@ -19,7 +19,6 @@ import org.eclipse.jpt.ui.internal.details.IJpaDetailsPage; import org.eclipse.jpt.ui.internal.details.IJpaDetailsProvider; import org.eclipse.jpt.ui.internal.platform.JpaPlatformUiRegistry; import org.eclipse.jpt.ui.internal.selection.IJpaSelection; -import org.eclipse.jpt.ui.internal.selection.JpaSelection; import org.eclipse.swt.SWT; import org.eclipse.swt.layout.FillLayout; import org.eclipse.swt.widgets.Composite; @@ -37,7 +36,7 @@ public class JpaDetailsView extends AbstractJpaView * The current <code>IJpaDetailsPage</code> that was retrieve based on the * current selection. */ - private IJpaDetailsPage<IJpaContextNode> currentPage; + private IJpaDetailsPage<IJpaStructureNode> currentPage; /** * The current selection used to show the right <code>IJpaDetailsPage</code>. @@ -47,7 +46,7 @@ public class JpaDetailsView extends AbstractJpaView /** * key: Object content node id, value: Composite page. */ - private Map<Object, IJpaDetailsPage<? extends IJpaContextNode>> detailsPages; + private Map<Object, IJpaDetailsPage<? extends IJpaStructureNode>> detailsPages; /** * Creates a new <code>JpaDetailsView</code>. @@ -56,21 +55,21 @@ public class JpaDetailsView extends AbstractJpaView super(JptUiMessages.JpaDetailsView_viewNotAvailable); } - private IJpaDetailsPage<? extends IJpaContextNode> buildDetailsPage(IJpaContextNode contextNode) { - IJpaDetailsProvider detailsProvider = getDetailsProvider(contextNode); + private IJpaDetailsPage<? extends IJpaStructureNode> buildDetailsPage(IJpaStructureNode structureNode) { + IJpaDetailsProvider detailsProvider = getDetailsProvider(structureNode); if (detailsProvider == null) { return null; } - String id = contextNode.jpaProject().jpaPlatform().getId(); + String id = structureNode.jpaProject().jpaPlatform().getId(); Composite container = getWidgetFactory().createComposite(getPageBook()); container.setLayout(new FillLayout(SWT.HORIZONTAL)); - IJpaDetailsPage<? extends IJpaContextNode> page = detailsProvider.buildDetailsPage( + IJpaDetailsPage<? extends IJpaStructureNode> page = detailsProvider.buildDetailsPage( container, - contextNode, + structureNode, getWidgetFactory() ); @@ -89,19 +88,19 @@ public class JpaDetailsView extends AbstractJpaView detailsPages.clear(); - currentSelection = JpaSelection.NULL_SELECTION; + currentSelection = IJpaSelection.NULL_SELECTION; currentPage = null; super.dispose(); } - private IJpaDetailsPage<? extends IJpaContextNode> getDetailsPage(IJpaContextNode contextNode) { + private IJpaDetailsPage<? extends IJpaStructureNode> getDetailsPage(IJpaStructureNode structureNode) { //TODO commented out the caching of the details provider for the time being, //someone should probably revist the possibility of caching -// String id = contextNode.jpaProject().jpaPlatform().getId(); +// String id = structureNode.jpaProject().jpaPlatform().getId(); // // if (detailsPages.containsKey(id)) { -// IJpaDetailsPage<? extends IJpaContextNode> page = detailsPages.get(id); +// IJpaDetailsPage<? extends IJpaStructureNode> page = detailsPages.get(id); // // if ((page != null) && page.getControl().isDisposed()) { // detailsPages.remove(id); @@ -111,14 +110,14 @@ public class JpaDetailsView extends AbstractJpaView // } // } // - return buildDetailsPage(contextNode); + return buildDetailsPage(structureNode); } - private IJpaDetailsProvider getDetailsProvider(IJpaContextNode contextNode) { + private IJpaDetailsProvider getDetailsProvider(IJpaStructureNode structureNode) { - String platformId = contextNode.jpaProject().jpaPlatform().getId(); + String platformId = structureNode.jpaProject().jpaPlatform().getId(); IJpaPlatformUi jpaPlatformUI = JpaPlatformUiRegistry.instance().jpaPlatform(platformId); - return jpaPlatformUI.detailsProvider(contextNode); + return jpaPlatformUI.detailsProvider(structureNode); //TODO this view and the detailsProviders Map is not created on a per project basis. //the detailsProviders and their fileContentTypes could overlap across project, this would cause problems with storing this map. @@ -136,7 +135,7 @@ public class JpaDetailsView extends AbstractJpaView super.initialize(); this.currentSelection = IJpaSelection.NULL_SELECTION; - this.detailsPages = new HashMap<Object, IJpaDetailsPage<? extends IJpaContextNode>>(); + this.detailsPages = new HashMap<Object, IJpaDetailsPage<? extends IJpaStructureNode>>(); } private void log(String message) { @@ -157,8 +156,8 @@ public class JpaDetailsView extends AbstractJpaView currentSelection = jpaSelection; if (jpaSelection != IJpaSelection.NULL_SELECTION) { - IJpaContextNode newNode = jpaSelection.getSelectedNode(); - IJpaDetailsPage<? extends IJpaContextNode> newPage = getDetailsPage(newNode); + IJpaStructureNode newNode = jpaSelection.getSelectedNode(); + IJpaDetailsPage<? extends IJpaStructureNode> newPage = getDetailsPage(newNode); setCurrentPage(newPage); } else { @@ -172,7 +171,7 @@ public class JpaDetailsView extends AbstractJpaView * @param newPage The new page to display */ @SuppressWarnings("unchecked") - private void setCurrentPage(IJpaDetailsPage<? extends IJpaContextNode> page) { + private void setCurrentPage(IJpaDetailsPage<? extends IJpaStructureNode> page) { // Unpopulate old page if (currentPage != null) { @@ -186,7 +185,7 @@ public class JpaDetailsView extends AbstractJpaView } } - IJpaDetailsPage<IJpaContextNode> newPage = (IJpaDetailsPage<IJpaContextNode>) page; + IJpaDetailsPage<IJpaStructureNode> newPage = (IJpaDetailsPage<IJpaStructureNode>) page; // Populate new page if (page != null) { diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/views/structure/JpaStructurePage.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/views/structure/JpaStructurePage.java index 97a0590156..c56d17a581 100644 --- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/views/structure/JpaStructurePage.java +++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/views/structure/JpaStructurePage.java @@ -23,7 +23,7 @@ import org.eclipse.jface.viewers.ISelectionProvider; import org.eclipse.jface.viewers.ITreeSelection; import org.eclipse.jface.viewers.SelectionChangedEvent; import org.eclipse.jface.viewers.TreeViewer; -import org.eclipse.jpt.core.internal.context.base.IJpaContextNode; +import org.eclipse.jpt.core.internal.context.base.IJpaStructureNode; import org.eclipse.jpt.ui.internal.jface.DelegatingTreeContentAndLabelProvider; import org.eclipse.jpt.ui.internal.jface.NullLabelProvider; import org.eclipse.jpt.ui.internal.jface.NullTreeContentProvider; @@ -192,9 +192,7 @@ public class JpaStructurePage extends Page if (viewerSelection.isEmpty() || viewerSelection.size() > 1) { return IJpaSelection.NULL_SELECTION; } - else { - return new JpaSelection((IJpaContextNode) viewerSelection.getFirstElement()); - } + return new JpaSelection((IJpaStructureNode) viewerSelection.getFirstElement()); } public void setSelection(ISelection selection) { diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/xml/details/XmlDetailsProvider.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/xml/details/XmlDetailsProvider.java index 5bb58d7e8a..9e8bbcb8df 100644 --- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/xml/details/XmlDetailsProvider.java +++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/xml/details/XmlDetailsProvider.java @@ -8,7 +8,7 @@ *******************************************************************************/ package org.eclipse.jpt.ui.internal.xml.details; -import org.eclipse.jpt.core.internal.context.base.IJpaContextNode; +import org.eclipse.jpt.core.internal.context.base.IJpaStructureNode; import org.eclipse.jpt.core.internal.context.orm.EntityMappings; import org.eclipse.jpt.core.internal.context.orm.XmlPersistentAttribute; import org.eclipse.jpt.core.internal.context.orm.XmlPersistentType; @@ -38,7 +38,7 @@ public class XmlDetailsProvider /* * (non-Javadoc) */ - public IJpaDetailsPage<? extends IJpaContextNode> buildDetailsPage( + public IJpaDetailsPage<? extends IJpaStructureNode> buildDetailsPage( Composite parent, Object contentNodeId, TabbedPropertySheetWidgetFactory widgetFactory) { |