[123818] added null guards to VC API
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/resources/VirtualComponent.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/resources/VirtualComponent.java
index 2bf636e..519960f 100644
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/resources/VirtualComponent.java
+++ b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/resources/VirtualComponent.java
@@ -317,21 +317,25 @@
StructureEdit core = null;
try {
core = StructureEdit.getStructureEditForWrite(getProject());
+ if (core == null)
+ return;
WorkbenchComponent component = core.getComponent();
ReferencedComponent referencedComponent = null;
ComponentcoreFactory factory = ComponentcorePackage.eINSTANCE.getComponentcoreFactory();
for (int i=0; i<references.length; i++) {
+ if (references[i] == null)
+ continue;
referencedComponent = factory.createReferencedComponent();
referencedComponent.setDependencyType(DependencyType.get(references[i].getDependencyType()));
referencedComponent.setRuntimePath(references[i].getRuntimePath());
IVirtualComponent comp = references[i].getReferencedComponent();
- if( !comp.isBinary())
- referencedComponent.setHandle(ModuleURIUtil.fullyQualifyURI(references[i].getReferencedComponent().getProject()));
- else
- referencedComponent.setHandle(ModuleURIUtil.archiveComponentfullyQualifyURI(references[i].getReferencedComponent().getName()));
-
- component.getReferencedComponents().add(referencedComponent);
+ if(comp!=null && !comp.isBinary())
+ referencedComponent.setHandle(ModuleURIUtil.fullyQualifyURI(comp.getProject()));
+ else if (comp!=null)
+ referencedComponent.setHandle(ModuleURIUtil.archiveComponentfullyQualifyURI(comp.getName()));
+ if (component != null)
+ component.getReferencedComponents().add(referencedComponent);
}
} finally {
if(core != null) {