[120024] fix for ear import
diff --git a/plugins/org.eclipse.jst.j2ee/archiveops/org/eclipse/jst/j2ee/internal/archive/operations/J2EEComponentSaveStrategyImpl.java b/plugins/org.eclipse.jst.j2ee/archiveops/org/eclipse/jst/j2ee/internal/archive/operations/J2EEComponentSaveStrategyImpl.java
index d72e294..1bc07f1 100644
--- a/plugins/org.eclipse.jst.j2ee/archiveops/org/eclipse/jst/j2ee/internal/archive/operations/J2EEComponentSaveStrategyImpl.java
+++ b/plugins/org.eclipse.jst.j2ee/archiveops/org/eclipse/jst/j2ee/internal/archive/operations/J2EEComponentSaveStrategyImpl.java
@@ -32,6 +32,7 @@
import org.eclipse.jdt.core.JavaModelException;
import org.eclipse.jem.util.emf.workbench.WorkbenchByteArrayOutputStream;
import org.eclipse.jem.util.logger.proxy.Logger;
+import org.eclipse.jem.workbench.utility.JemProjectUtilities;
import org.eclipse.jst.j2ee.commonarchivecore.internal.File;
import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.SaveFailureException;
import org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.ArchiveManifest;
@@ -134,13 +135,14 @@
}
}
folder.refreshLocal(1, null);
- javaProject = JavaCore.create(vComponent.getProject());
- IClasspathEntry[] javaClasspath = javaProject.getRawClasspath();
- IClasspathEntry[] newJavaClasspath = new IClasspathEntry[javaClasspath.length + 1];
- System.arraycopy(javaClasspath, 0, newJavaClasspath, 0, javaClasspath.length);
- newJavaClasspath[newJavaClasspath.length - 1] = JavaCore.newLibraryEntry(importedClassesJar.getFullPath(), null, null, true);
- javaProject.setRawClasspath(newJavaClasspath, new NullProgressMonitor());
-
+ if (JemProjectUtilities.getJavaProject(vComponent.getProject())!=null) {
+ javaProject = JavaCore.create(vComponent.getProject());
+ IClasspathEntry[] javaClasspath = javaProject.getRawClasspath();
+ IClasspathEntry[] newJavaClasspath = new IClasspathEntry[javaClasspath.length + 1];
+ System.arraycopy(javaClasspath, 0, newJavaClasspath, 0, javaClasspath.length);
+ newJavaClasspath[newJavaClasspath.length - 1] = JavaCore.newLibraryEntry(importedClassesJar.getFullPath(), null, null, true);
+ javaProject.setRawClasspath(newJavaClasspath, new NullProgressMonitor());
+ }
IVirtualComponent importedClassesComponent = ComponentCore.createArchiveComponent(vComponent.getProject(), "lib/" + importedClassesJar.getRawLocation().toString());
// importedClassesComponent.create(0, null);
// importedClassesComponent.getRootFolder().createLink(new
@@ -159,7 +161,8 @@
if (zipFileExporter != null) {
try {
zipFileExporter.finished();
- javaProject.getProject().refreshLocal(IResource.DEPTH_INFINITE, null);
+ if (javaProject !=null)
+ javaProject.getProject().refreshLocal(IResource.DEPTH_INFINITE, null);
} catch (IOException e) {
Logger.getLogger().logError(e);
} catch (CoreException ex) {