[123278] Fixing virtual resoure classes
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/ComponentResource.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/ComponentResource.java
index 3318330..2fdfb39 100644
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/ComponentResource.java
+++ b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/ComponentResource.java
@@ -1,10 +1,11 @@
/**
* <copyright></copyright>
*
- * $Id: ComponentResource.java,v 1.3 2005/05/21 17:44:47 cbridgha Exp $
+ * $Id: ComponentResource.java,v 1.3.2.1 2006/01/10 19:16:57 cbridgha Exp $
*/
package org.eclipse.wst.common.componentcore.internal;
+import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.IPath;
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EObject;
@@ -163,5 +164,8 @@
* @generated
*/
void setResourceType(String value);
+
+ IProject getOwningProject();
+ void setOwningProject(IProject aProject);
} // ComponentResource
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/ComponentResourceImpl.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/ComponentResourceImpl.java
index 8aa7232..6b96ae1 100644
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/ComponentResourceImpl.java
+++ b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/ComponentResourceImpl.java
@@ -2,12 +2,13 @@
* <copyright>
* </copyright>
*
- * $Id: ComponentResourceImpl.java,v 1.2 2005/04/05 03:35:37 cbridgha Exp $
+ * $Id: ComponentResourceImpl.java,v 1.2.2.1 2006/01/10 19:16:57 cbridgha Exp $
*/
package org.eclipse.wst.common.componentcore.internal.impl;
import java.util.Collection;
+import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.IPath;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.common.notify.NotificationChain;
@@ -111,6 +112,7 @@
*/
protected String resourceType = RESOURCE_TYPE_EDEFAULT;
+ protected IProject owningProject;
protected static final int VIRTUAL = 0;
protected static final int PERSISTED = 1;
@@ -419,6 +421,14 @@
public void setType(int type) {
this.type = type;
}
+
+ public IProject getOwningProject() {
+ return owningProject;
+ }
+
+ public void setOwningProject(IProject aProject) {
+ owningProject = aProject;
+ }
} //ComponentResourceImpl
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/ResourceTreeNode.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/ResourceTreeNode.java
index a292fa8..7f1bcae 100644
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/ResourceTreeNode.java
+++ b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/ResourceTreeNode.java
@@ -215,6 +215,8 @@
// newResource.setComponent(moduleResource.getComponent());
newResource.setRuntimePath(runtimeURI);
newResource.setSourcePath(srcPath);
+ if (eclipseRes != null)
+ newResource.setOwningProject(eclipseRes.getProject());
transientChildResources.put(aPath,newResource);
}
resultSet.add(newResource);
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/util/EclipseResourceAdapter.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/util/EclipseResourceAdapter.java
index 088edc0..9ca6d48 100644
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/util/EclipseResourceAdapter.java
+++ b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/util/EclipseResourceAdapter.java
@@ -47,13 +47,17 @@
}
public IResource getEclipseResource() {
+ IProject container = null;
if (resource != null || hasSearchFailed)
return resource;
synchronized (this) {
if (resource == null) {
ComponentResource moduleResource = (ComponentResource) getTarget();
IPath sourcePath = moduleResource.getSourcePath();
- IProject container = StructureEdit.getContainingProject(moduleResource.getComponent());
+ if (moduleResource.getOwningProject() != null)
+ container = moduleResource.getOwningProject();
+ else
+ container = StructureEdit.getContainingProject(moduleResource.getComponent());
if (container != null)
resource = container.findMember(sourcePath);
if(resource == null)