Author: snjeza
Date: 2009-02-04 11:11:56 -0500 (Wed, 04 Feb 2009)
New Revision: 13473
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.classpath.core/src/org/jboss/ide/eclipse/as/classpath/core/jee/AbstractClasspathContainer.java
trunk/as/plugins/org.jboss.ide.eclipse.as.classpath.core/src/org/jboss/ide/eclipse/as/classpath/core/jee/AbstractClasspathContainerInitializer.java
trunk/as/plugins/org.jboss.ide.eclipse.as.classpath.core/src/org/jboss/ide/eclipse/as/classpath/core/jee/J2EE13ClasspathContainerInitializer.java
trunk/as/plugins/org.jboss.ide.eclipse.as.classpath.core/src/org/jboss/ide/eclipse/as/classpath/core/jee/J2EE14ClasspathContainerInitializer.java
trunk/as/plugins/org.jboss.ide.eclipse.as.classpath.core/src/org/jboss/ide/eclipse/as/classpath/core/jee/J2EE50ClasspathContainerInitializer.java
Log:
JBIDE-3733 JBoss ESB classpath container does not set source attachment location
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.classpath.core/src/org/jboss/ide/eclipse/as/classpath/core/jee/AbstractClasspathContainer.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.classpath.core/src/org/jboss/ide/eclipse/as/classpath/core/jee/AbstractClasspathContainer.java 2009-02-04
16:11:50 UTC (rev 13472)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.classpath.core/src/org/jboss/ide/eclipse/as/classpath/core/jee/AbstractClasspathContainer.java 2009-02-04
16:11:56 UTC (rev 13473)
@@ -27,6 +27,7 @@
import java.net.URL;
import java.util.ArrayList;
+import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.FileLocator;
import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.IStatus;
@@ -36,6 +37,7 @@
import org.eclipse.jdt.core.IClasspathAttribute;
import org.eclipse.jdt.core.IClasspathContainer;
import org.eclipse.jdt.core.IClasspathEntry;
+import org.eclipse.jdt.core.IJavaProject;
import org.eclipse.jdt.core.JavaCore;
import org.jboss.ide.eclipse.as.classpath.core.ClasspathCorePlugin;
import org.jboss.ide.eclipse.as.classpath.core.xpl.ClasspathDecorations;
@@ -56,6 +58,7 @@
protected IPath path;
protected String description;
protected String libFolder;
+ protected IJavaProject javaProject;
protected static ClasspathDecorationsManager decorations;
static {
@@ -64,10 +67,11 @@
}
public AbstractClasspathContainer(IPath path, String description,
- String libFolder) {
+ String libFolder, IJavaProject project) {
this.path = path;
this.description = description;
this.libFolder = libFolder;
+ this.javaProject = project;
}
public IClasspathEntry[] getClasspathEntries() {
@@ -168,8 +172,17 @@
return decorations;
}
- public void refresh() {
+ public void install() {
entries = computeEntries();
+ IJavaProject[] javaProjects = new IJavaProject[] {javaProject};
+ final IClasspathContainer[] conts = new IClasspathContainer[] { this };
+ try {
+ JavaCore.setClasspathContainer(path, javaProjects, conts, null);
+ } catch (CoreException e) {
+ ClasspathCorePlugin.log(e.getMessage(), e);
+ }
}
+
+ public abstract void refresh();
}
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.classpath.core/src/org/jboss/ide/eclipse/as/classpath/core/jee/AbstractClasspathContainerInitializer.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.classpath.core/src/org/jboss/ide/eclipse/as/classpath/core/jee/AbstractClasspathContainerInitializer.java 2009-02-04
16:11:50 UTC (rev 13472)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.classpath.core/src/org/jboss/ide/eclipse/as/classpath/core/jee/AbstractClasspathContainerInitializer.java 2009-02-04
16:11:56 UTC (rev 13473)
@@ -40,6 +40,7 @@
public abstract class AbstractClasspathContainerInitializer extends
ClasspathContainerInitializer {
+ protected IJavaProject javaProject;
public AbstractClasspathContainerInitializer() {
}
@@ -55,6 +56,7 @@
*/
public void initialize(IPath containerPath, IJavaProject project)
throws CoreException {
+ this.javaProject = project;
int size = containerPath.segmentCount();
if (size > 0) {
AbstractClasspathContainer container = createClasspathContainer(containerPath);
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.classpath.core/src/org/jboss/ide/eclipse/as/classpath/core/jee/J2EE13ClasspathContainerInitializer.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.classpath.core/src/org/jboss/ide/eclipse/as/classpath/core/jee/J2EE13ClasspathContainerInitializer.java 2009-02-04
16:11:50 UTC (rev 13472)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.classpath.core/src/org/jboss/ide/eclipse/as/classpath/core/jee/J2EE13ClasspathContainerInitializer.java 2009-02-04
16:11:56 UTC (rev 13473)
@@ -37,7 +37,7 @@
}
protected AbstractClasspathContainer createClasspathContainer(IPath path) {
- return new J2EE13ClasspathContainer(path);
+ return new J2EE13ClasspathContainer(path, javaProject);
}
protected String getClasspathContainerID() {
@@ -50,8 +50,13 @@
+ "." + J2EE13ClasspathContainer.SUFFIX;//$NON-NLS-1$
public final static String DESCRIPTION = "J2EE 1.3 Libraries (JBoss Tools)";
- public J2EE13ClasspathContainer(IPath path) {
- super(path, DESCRIPTION, SUFFIX);
+ public J2EE13ClasspathContainer(IPath path, IJavaProject javaProject) {
+ super(path, DESCRIPTION, SUFFIX, javaProject);
}
+
+ @Override
+ public void refresh() {
+ new J2EE13ClasspathContainer(path,javaProject).install();
+ }
}
}
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.classpath.core/src/org/jboss/ide/eclipse/as/classpath/core/jee/J2EE14ClasspathContainerInitializer.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.classpath.core/src/org/jboss/ide/eclipse/as/classpath/core/jee/J2EE14ClasspathContainerInitializer.java 2009-02-04
16:11:50 UTC (rev 13472)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.classpath.core/src/org/jboss/ide/eclipse/as/classpath/core/jee/J2EE14ClasspathContainerInitializer.java 2009-02-04
16:11:56 UTC (rev 13473)
@@ -2,6 +2,7 @@
import org.eclipse.core.runtime.IPath;
import org.eclipse.jdt.core.IJavaProject;
+import
org.jboss.ide.eclipse.as.classpath.core.jee.J2EE13ClasspathContainerInitializer.J2EE13ClasspathContainer;
/**
*
@@ -16,7 +17,7 @@
}
protected AbstractClasspathContainer createClasspathContainer(IPath path) {
- return new J2EE14ClasspathContainer(path);
+ return new J2EE14ClasspathContainer(path, javaProject);
}
protected String getClasspathContainerID() {
@@ -29,8 +30,13 @@
+ "." + J2EE14ClasspathContainer.SUFFIX;//$NON-NLS-1$
public final static String DESCRIPTION = "J2EE 1.4 Libraries (JBoss Tools)";
- public J2EE14ClasspathContainer(IPath path) {
- super(path, DESCRIPTION, SUFFIX);
+ public J2EE14ClasspathContainer(IPath path, IJavaProject javaProject) {
+ super(path, DESCRIPTION, SUFFIX, javaProject);
}
+
+ @Override
+ public void refresh() {
+ new J2EE14ClasspathContainer(path,javaProject).install();
+ }
}
}
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.classpath.core/src/org/jboss/ide/eclipse/as/classpath/core/jee/J2EE50ClasspathContainerInitializer.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.classpath.core/src/org/jboss/ide/eclipse/as/classpath/core/jee/J2EE50ClasspathContainerInitializer.java 2009-02-04
16:11:50 UTC (rev 13472)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.classpath.core/src/org/jboss/ide/eclipse/as/classpath/core/jee/J2EE50ClasspathContainerInitializer.java 2009-02-04
16:11:56 UTC (rev 13473)
@@ -23,6 +23,7 @@
import org.eclipse.core.runtime.IPath;
import org.eclipse.jdt.core.IJavaProject;
+import
org.jboss.ide.eclipse.as.classpath.core.jee.J2EE13ClasspathContainerInitializer.J2EE13ClasspathContainer;
/**
*
@@ -37,7 +38,7 @@
}
protected AbstractClasspathContainer createClasspathContainer(IPath path) {
- return new J2EE50ClasspathContainer(path);
+ return new J2EE50ClasspathContainer(path, javaProject);
}
protected String getClasspathContainerID() {
@@ -50,8 +51,13 @@
+ "." + J2EE50ClasspathContainer.SUFFIX;//$NON-NLS-1$
public final static String DESCRIPTION = "J2EE 5.0 Libraries (JBoss Tools)";
- public J2EE50ClasspathContainer(IPath path) {
- super(path, DESCRIPTION, SUFFIX);
+ public J2EE50ClasspathContainer(IPath path, IJavaProject javaProject) {
+ super(path, DESCRIPTION, SUFFIX, javaProject);
}
+
+ @Override
+ public void refresh() {
+ new J2EE50ClasspathContainer(path,javaProject).install();
+ }
}
}