Author: max.andersen(a)jboss.com
Date: 2007-08-25 07:43:40 -0400 (Sat, 25 Aug 2007)
New Revision: 3335
Modified:
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/eclipse/org/jboss/ide/eclipse/archives/core/project/ArchivesBuilder.java
Log:
Attempt on fixing JBIDE-849
Modified:
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/eclipse/org/jboss/ide/eclipse/archives/core/project/ArchivesBuilder.java
===================================================================
---
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/eclipse/org/jboss/ide/eclipse/archives/core/project/ArchivesBuilder.java 2007-08-25
11:43:20 UTC (rev 3334)
+++
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/eclipse/org/jboss/ide/eclipse/archives/core/project/ArchivesBuilder.java 2007-08-25
11:43:40 UTC (rev 3335)
@@ -92,10 +92,12 @@
protected void clean(IProgressMonitor monitor) throws CoreException {
IPath p = getProject().getLocation();
IArchiveModelNode root = ArchivesModel.instance().getRoot(p);
- IArchiveNode[] nodes = root.getChildren(IArchiveNode.TYPE_ARCHIVE);
- for( int i = 0; i < nodes.length; i++ ) {
- IPath path = ((IArchive)nodes[i]).getArchiveFilePath();
- TrueZipUtil.deleteAll(path);
+ if(root!=null) {
+ IArchiveNode[] nodes = root.getChildren(IArchiveNode.TYPE_ARCHIVE);
+ for( int i = 0; i < nodes.length; i++ ) {
+ IPath path = ((IArchive)nodes[i]).getArchiveFilePath();
+ TrueZipUtil.deleteAll(path);
+ }
}
}
@@ -147,20 +149,25 @@
final IWorkspaceRoot workspaceRoot = ResourcesPlugin.getWorkspace().getRoot();
final int count = workspaceRoot.getLocation().segmentCount();
- ArchivesModel.instance().getRoot(getProject().getLocation()).accept(new
IArchiveNodeVisitor () {
- public boolean visit (IArchiveNode node) {
- if (node.getNodeType() == IArchiveNode.TYPE_ARCHIVE_FILESET) {
- IArchiveFileSet fileset = (IArchiveFileSet)node;
- IPath p = fileset.getGlobalSourcePath();
- if( workspaceRoot.getLocation().isPrefixOf(p)) {
- IProject proj = workspaceRoot.getProject(p.segment(count));
- set.add(proj);
+ IArchiveModelNode root = ArchivesModel.instance().getRoot(getProject().getLocation());
+ if(root!=null) {
+ root.accept(new IArchiveNodeVisitor () {
+ public boolean visit (IArchiveNode node) {
+ if (node.getNodeType() == IArchiveNode.TYPE_ARCHIVE_FILESET) {
+ IArchiveFileSet fileset = (IArchiveFileSet)node;
+ IPath p = fileset.getGlobalSourcePath();
+ if( workspaceRoot.getLocation().isPrefixOf(p)) {
+ IProject proj = workspaceRoot.getProject(p.segment(count));
+ set.add(proj);
+ }
}
+ return true;
}
- return true;
- }
- });
- return (IProject[]) set.toArray(new IProject[set.size()]);
+ });
+ return (IProject[]) set.toArray(new IProject[set.size()]);
+ } else {
+ return new IProject[0];
+ }
}
/**
Show replies by date