Author: scabanovich
Date: 2011-05-03 18:37:12 -0400 (Tue, 03 May 2011)
New Revision: 31048
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.seam.config.core/src/org/jboss/tools/cdi/seam/config/core/CDISeamConfigExtension.java
trunk/cdi/plugins/org.jboss.tools.cdi.seam.config.core/src/org/jboss/tools/cdi/seam/config/core/definition/SeamBeanDefinition.java
trunk/cdi/plugins/org.jboss.tools.cdi.seam.config.core/src/org/jboss/tools/cdi/seam/config/core/definition/SeamBeansDefinition.java
trunk/cdi/plugins/org.jboss.tools.cdi.seam.config.core/src/org/jboss/tools/cdi/seam/config/core/definition/SeamMemberDefinition.java
trunk/cdi/plugins/org.jboss.tools.cdi.seam.config.core/src/org/jboss/tools/cdi/seam/config/core/util/Util.java
trunk/cdi/plugins/org.jboss.tools.cdi.seam.config.core/src/org/jboss/tools/cdi/seam/config/core/xml/Location.java
Log:
JBIDE-8841
https://issues.jboss.org/browse/JBIDE-8841
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.seam.config.core/src/org/jboss/tools/cdi/seam/config/core/CDISeamConfigExtension.java
===================================================================
---
trunk/cdi/plugins/org.jboss.tools.cdi.seam.config.core/src/org/jboss/tools/cdi/seam/config/core/CDISeamConfigExtension.java 2011-05-03
22:18:31 UTC (rev 31047)
+++
trunk/cdi/plugins/org.jboss.tools.cdi.seam.config.core/src/org/jboss/tools/cdi/seam/config/core/CDISeamConfigExtension.java 2011-05-03
22:37:12 UTC (rev 31048)
@@ -44,11 +44,19 @@
ConfigFileSet fileSet = new ConfigFileSet();
+ public static CDISeamConfigExtension getExtension(CDICoreNature project) {
+ Set<ICDIExtension> es =
project.getExtensionManager().getExtensions(IBuildParticipantFeature.class);
+ for (ICDIExtension ext: es) {
+ if(ext instanceof CDISeamConfigExtension) return (CDISeamConfigExtension)ext;
+ }
+ return null;
+ }
+
public void setProject(CDICoreNature n) {
project = n;
}
- public IDefinitionContextExtension getContext() {
+ public ConfigDefinitionContext getContext() {
return context;
}
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.seam.config.core/src/org/jboss/tools/cdi/seam/config/core/definition/SeamBeanDefinition.java
===================================================================
---
trunk/cdi/plugins/org.jboss.tools.cdi.seam.config.core/src/org/jboss/tools/cdi/seam/config/core/definition/SeamBeanDefinition.java 2011-05-03
22:18:31 UTC (rev 31047)
+++
trunk/cdi/plugins/org.jboss.tools.cdi.seam.config.core/src/org/jboss/tools/cdi/seam/config/core/definition/SeamBeanDefinition.java 2011-05-03
22:37:12 UTC (rev 31048)
@@ -52,10 +52,12 @@
public void addField(SeamFieldDefinition field) {
fields.add(field);
+ field.setParent(this);
}
public void addMethod(SeamMethodDefinition method) {
methods.add(method);
+ method.setParent(this);
}
public SeamFieldDefinition getField(String name) {
@@ -80,4 +82,15 @@
return null;
}
+ public SeamMemberDefinition findExactly(int offset) {
+ if(node.getLocation().includes(offset)) return this;
+ for (SeamFieldDefinition f: fields) {
+ if(f.getNode().getLocation().includes(offset)) return f;
+ }
+ for (SeamMethodDefinition m: methods) {
+ if(m.getNode().getLocation().includes(offset)) return m;
+ }
+ return null;
+ }
+
}
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.seam.config.core/src/org/jboss/tools/cdi/seam/config/core/definition/SeamBeansDefinition.java
===================================================================
---
trunk/cdi/plugins/org.jboss.tools.cdi.seam.config.core/src/org/jboss/tools/cdi/seam/config/core/definition/SeamBeansDefinition.java 2011-05-03
22:18:31 UTC (rev 31047)
+++
trunk/cdi/plugins/org.jboss.tools.cdi.seam.config.core/src/org/jboss/tools/cdi/seam/config/core/definition/SeamBeansDefinition.java 2011-05-03
22:37:12 UTC (rev 31048)
@@ -117,6 +117,14 @@
}
}
+ public SeamMemberDefinition findExactly(int offset) {
+ for (SeamBeanDefinition b: beanDefinitions) {
+ SeamMemberDefinition d = b.findExactly(offset);
+ if(d != null) return d;
+ }
+ return null;
+ }
+
private void mergeTypeDefinition(SeamBeanDefinition def, TypeDefinition typeDef,
ConfigDefinitionContext context) {
mergeAnnotations(def, typeDef, context);
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.seam.config.core/src/org/jboss/tools/cdi/seam/config/core/definition/SeamMemberDefinition.java
===================================================================
---
trunk/cdi/plugins/org.jboss.tools.cdi.seam.config.core/src/org/jboss/tools/cdi/seam/config/core/definition/SeamMemberDefinition.java 2011-05-03
22:18:31 UTC (rev 31047)
+++
trunk/cdi/plugins/org.jboss.tools.cdi.seam.config.core/src/org/jboss/tools/cdi/seam/config/core/definition/SeamMemberDefinition.java 2011-05-03
22:37:12 UTC (rev 31048)
@@ -28,6 +28,8 @@
protected SAXElement replaces = null;
protected SAXElement modifies = null;
protected Map<String, IJavaAnnotation> annotations = new HashMap<String,
IJavaAnnotation>();
+
+ protected SeamMemberDefinition parent;
public SeamMemberDefinition() {}
@@ -39,6 +41,13 @@
return node;
}
+ public void setParent(SeamMemberDefinition parent) {
+ this.parent = parent;
+ }
+
+ public SeamMemberDefinition getParent() {
+ return parent;
+ }
public void setReplaces(SAXElement replaces) {
this.replaces = replaces;
}
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.seam.config.core/src/org/jboss/tools/cdi/seam/config/core/util/Util.java
===================================================================
---
trunk/cdi/plugins/org.jboss.tools.cdi.seam.config.core/src/org/jboss/tools/cdi/seam/config/core/util/Util.java 2011-05-03
22:18:31 UTC (rev 31047)
+++
trunk/cdi/plugins/org.jboss.tools.cdi.seam.config.core/src/org/jboss/tools/cdi/seam/config/core/util/Util.java 2011-05-03
22:37:12 UTC (rev 31048)
@@ -94,7 +94,7 @@
}
public static IType resolveType(SAXElement element, CDICoreNature project) {
- return resolveType(element.getURI(), element.getLocalName(), project);
+ return resolveType(element.getLocalName(), element.getURI(), project);
}
public static IType resolveType(String name, String uri, CDICoreNature project) {
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.seam.config.core/src/org/jboss/tools/cdi/seam/config/core/xml/Location.java
===================================================================
---
trunk/cdi/plugins/org.jboss.tools.cdi.seam.config.core/src/org/jboss/tools/cdi/seam/config/core/xml/Location.java 2011-05-03
22:18:31 UTC (rev 31047)
+++
trunk/cdi/plugins/org.jboss.tools.cdi.seam.config.core/src/org/jboss/tools/cdi/seam/config/core/xml/Location.java 2011-05-03
22:37:12 UTC (rev 31048)
@@ -34,4 +34,8 @@
return length;
}
+ public boolean includes(int offset) {
+ return start <= offset && start + length >= offset;
+ }
+
}