Author: scabanovich
Date: 2011-07-12 16:41:23 -0400 (Tue, 12 Jul 2011)
New Revision: 32867
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/core/IInjectionPoint.java
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/CDIElement.java
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/CDIProject.java
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/ClassBean.java
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/definition/AbstractMemberDefinition.java
Log:
JBIDE-9313
https://issues.jboss.org/browse/JBIDE-9313
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/core/IInjectionPoint.java
===================================================================
---
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/core/IInjectionPoint.java 2011-07-12
18:16:23 UTC (rev 32866)
+++
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/core/IInjectionPoint.java 2011-07-12
20:41:23 UTC (rev 32867)
@@ -23,6 +23,8 @@
*/
public interface IInjectionPoint extends ICDIElement, IBeanMember {
+ public ICDIProject getDeclaringProject();
+
/**
* Returns the required type of this injection point.
*
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/CDIElement.java
===================================================================
---
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/CDIElement.java 2011-07-12
18:16:23 UTC (rev 32866)
+++
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/CDIElement.java 2011-07-12
20:41:23 UTC (rev 32867)
@@ -17,6 +17,7 @@
import org.eclipse.jdt.core.JavaModelException;
import org.jboss.tools.cdi.core.CDICorePlugin;
import org.jboss.tools.cdi.core.ICDIElement;
+import org.jboss.tools.cdi.core.ICDIProject;
import org.jboss.tools.cdi.core.extension.CDIExtensionManager;
import org.jboss.tools.common.java.ParametedType;
import org.jboss.tools.common.java.ParametedTypeFactory;
@@ -34,6 +35,11 @@
return parent != null ? parent.getCDIProject() : null;
}
+ public ICDIProject getDeclaringProject() {
+ return parent != null ? parent.getDeclaringProject() : null;
+ }
+
+
public CDIExtensionManager getExtensionManager() {
CDIProject project = getCDIProject();
return project == null ? null : project.getNature().getExtensionManager();
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/CDIProject.java
===================================================================
---
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/CDIProject.java 2011-07-12
18:16:23 UTC (rev 32866)
+++
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/CDIProject.java 2011-07-12
20:41:23 UTC (rev 32867)
@@ -304,6 +304,9 @@
* @see org.jboss.tools.cdi.core.IBeanManager#getBeans(boolean,
org.jboss.tools.cdi.core.IInjectionPoint)
*/
public Set<IBean> getBeans(boolean attemptToResolveAmbiguousDependency,
IInjectionPoint injectionPoint) {
+ if(injectionPoint.getDeclaringProject() != this) {
+ return
injectionPoint.getDeclaringProject().getBeans(attemptToResolveAmbiguousDependency,
injectionPoint);
+ }
Set<IBean> result = new HashSet<IBean>();
IParametedType type = injectionPoint.getType();
if(type == null) {
@@ -947,6 +950,11 @@
}
@Override
+ public ICDIProject getDeclaringProject() {
+ return this;
+ }
+
+ @Override
public IResource getResource() {
return n.getProject();
}
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/ClassBean.java
===================================================================
---
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/ClassBean.java 2011-07-12
18:16:23 UTC (rev 32866)
+++
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/ClassBean.java 2011-07-12
20:41:23 UTC (rev 32867)
@@ -25,6 +25,7 @@
import org.jboss.tools.cdi.core.CDICorePlugin;
import org.jboss.tools.cdi.core.CDIUtil;
import org.jboss.tools.cdi.core.IBeanMethod;
+import org.jboss.tools.cdi.core.ICDIProject;
import org.jboss.tools.cdi.core.IClassBean;
import org.jboss.tools.cdi.core.IInjectionPoint;
import org.jboss.tools.cdi.core.IInterceptorBinding;
@@ -114,6 +115,16 @@
return (TypeDefinition)definition;
}
+ public ICDIProject getDeclaringProject() {
+ ICDIProject result = definition.getDeclaringProject().getDelegate();
+ if(result == null) {
+ result = getCDIProject();
+ System.out.println("Failed to get declaring project.");
+ }
+ return result;
+ }
+
+
public Set<IBeanMethod> getBeanConstructors() {
Set<IBeanMethod> result = new HashSet<IBeanMethod>();
IBeanMethod defaultConstructor = null;
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/definition/AbstractMemberDefinition.java
===================================================================
---
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/definition/AbstractMemberDefinition.java 2011-07-12
18:16:23 UTC (rev 32866)
+++
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/definition/AbstractMemberDefinition.java 2011-07-12
20:41:23 UTC (rev 32867)
@@ -67,6 +67,10 @@
}
}
+ public CDICoreNature getDeclaringProject() {
+ return project;
+ }
+
public void setOriginalDefinition(ITextSourceReference def) {
originalDefinition = def;
}