Lines 51-56
Link Here
|
51 |
import javax.lang.model.element.VariableElement; |
51 |
import javax.lang.model.element.VariableElement; |
52 |
import javax.lang.model.type.TypeKind; |
52 |
import javax.lang.model.type.TypeKind; |
53 |
import javax.naming.NamingException; |
53 |
import javax.naming.NamingException; |
|
|
54 |
import org.netbeans.api.java.classpath.ClassPath; |
55 |
import org.netbeans.api.java.project.classpath.ProjectClassPathModifier; |
54 |
import org.netbeans.api.java.source.ElementHandle; |
56 |
import org.netbeans.api.java.source.ElementHandle; |
55 |
import org.netbeans.api.java.source.GeneratorUtilities; |
57 |
import org.netbeans.api.java.source.GeneratorUtilities; |
56 |
import org.netbeans.api.java.source.JavaSource; |
58 |
import org.netbeans.api.java.source.JavaSource; |
Lines 59-65
Link Here
|
59 |
import org.netbeans.api.java.source.WorkingCopy; |
61 |
import org.netbeans.api.java.source.WorkingCopy; |
60 |
import org.netbeans.api.project.FileOwnerQuery; |
62 |
import org.netbeans.api.project.FileOwnerQuery; |
61 |
import org.netbeans.api.project.Project; |
63 |
import org.netbeans.api.project.Project; |
62 |
import org.netbeans.api.project.ant.AntArtifact; |
|
|
63 |
import org.netbeans.modules.j2ee.api.ejbjar.EjbReference; |
64 |
import org.netbeans.modules.j2ee.api.ejbjar.EjbReference; |
64 |
import org.netbeans.modules.j2ee.api.ejbjar.EnterpriseReferenceContainer; |
65 |
import org.netbeans.modules.j2ee.api.ejbjar.EnterpriseReferenceContainer; |
65 |
import org.netbeans.modules.j2ee.common.method.MethodModel; |
66 |
import org.netbeans.modules.j2ee.common.method.MethodModel; |
Lines 81-87
Link Here
|
81 |
import org.netbeans.modules.j2ee.ejbcore.ui.logicalview.entres.ServiceLocatorStrategy; |
82 |
import org.netbeans.modules.j2ee.ejbcore.ui.logicalview.entres.ServiceLocatorStrategy; |
82 |
import org.netbeans.modules.j2ee.metadata.model.api.MetadataModel; |
83 |
import org.netbeans.modules.j2ee.metadata.model.api.MetadataModel; |
83 |
import org.netbeans.modules.j2ee.metadata.model.api.MetadataModelAction; |
84 |
import org.netbeans.modules.j2ee.metadata.model.api.MetadataModelAction; |
84 |
import org.netbeans.spi.java.project.classpath.ProjectClassPathExtender; |
|
|
85 |
import org.openide.filesystems.FileObject; |
85 |
import org.openide.filesystems.FileObject; |
86 |
import org.openide.util.Exceptions; |
86 |
import org.openide.util.Exceptions; |
87 |
|
87 |
|
Lines 150-156
Link Here
|
150 |
|
150 |
|
151 |
if (remote) { |
151 |
if (remote) { |
152 |
if (enterpriseProjectIsJavaEE5 && InjectionTargetQuery.isInjectionTarget(referencingFO, referencingClassName)) { |
152 |
if (enterpriseProjectIsJavaEE5 && InjectionTargetQuery.isInjectionTarget(referencingFO, referencingClassName)) { |
153 |
addProjectToClassPath(enterpriseProject, ejbReference); |
153 |
addProjectToClassPath(enterpriseProject, ejbReference, referencingFO); |
154 |
} else if (nodeProjectIsJavaEE5 == enterpriseProjectIsJavaEE5){ // see #75876 |
154 |
} else if (nodeProjectIsJavaEE5 == enterpriseProjectIsJavaEE5){ // see #75876 |
155 |
erc.addEjbReference(ejbReference, ejbReferenceName, referencingFO, referencingClassName); |
155 |
erc.addEjbReference(ejbReference, ejbReferenceName, referencingFO, referencingClassName); |
156 |
} |
156 |
} |
Lines 161-167
Link Here
|
161 |
} |
161 |
} |
162 |
} else { |
162 |
} else { |
163 |
if (enterpriseProjectIsJavaEE5 && InjectionTargetQuery.isInjectionTarget(referencingFO, referencingClassName)) { |
163 |
if (enterpriseProjectIsJavaEE5 && InjectionTargetQuery.isInjectionTarget(referencingFO, referencingClassName)) { |
164 |
addProjectToClassPath(enterpriseProject, ejbReference); |
164 |
addProjectToClassPath(enterpriseProject, ejbReference, referencingFO); |
165 |
} else if (nodeProjectIsJavaEE5 == enterpriseProjectIsJavaEE5){ // see #75876 |
165 |
} else if (nodeProjectIsJavaEE5 == enterpriseProjectIsJavaEE5){ // see #75876 |
166 |
erc.addEjbLocalReference(ejbReference, ejbReferenceName, referencingFO, referencingClassName); |
166 |
erc.addEjbLocalReference(ejbReference, ejbReferenceName, referencingFO, referencingClassName); |
167 |
} |
167 |
} |
Lines 537-551
Link Here
|
537 |
return caps.toString(); |
537 |
return caps.toString(); |
538 |
} |
538 |
} |
539 |
|
539 |
|
540 |
private static void addProjectToClassPath(final Project enterpriseProject, final EjbReference ref) throws IOException { |
540 |
private static void addProjectToClassPath(final Project enterpriseProject, final EjbReference ref, FileObject refFO) throws IOException { |
541 |
|
541 |
|
542 |
AntArtifact target = Utils.getAntArtifact(ref); |
542 |
Project target = Utils.getProject(ref); |
543 |
|
543 |
|
544 |
boolean differentProject = target != null && !enterpriseProject.equals(target.getProject()); |
544 |
boolean differentProject = target != null && !enterpriseProject.equals(target); |
545 |
if (differentProject) { |
545 |
if (differentProject) { |
546 |
ProjectClassPathExtender pcpe = enterpriseProject.getLookup().lookup(ProjectClassPathExtender.class); |
546 |
// Sources sg = ProjectUtils.getSources(target); |
547 |
assert pcpe != null; |
547 |
// SourceGroup[] grp = sg.getSourceGroups(JavaProjectConstants.SOURCES_TYPE_JAVA); |
548 |
pcpe.addAntArtifact(target, target.getArtifactLocations()[0]); |
548 |
ProjectClassPathModifier.addProjects(new Project[] {target} , refFO, ClassPath.COMPILE); |
549 |
} |
549 |
} |
550 |
} |
550 |
} |
551 |
|
551 |
|