Author: rob.stryker(a)jboss.com
Date: 2007-12-19 20:17:13 -0500 (Wed, 19 Dec 2007)
New Revision: 5394
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/modules/ArchivesModelModuleContributor.java
Log:
JBIDE-1425 - I think it's all fixed. =D
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/modules/ArchivesModelModuleContributor.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/modules/ArchivesModelModuleContributor.java 2007-12-20
00:20:58 UTC (rev 5393)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/modules/ArchivesModelModuleContributor.java 2007-12-20
01:17:13 UTC (rev 5394)
@@ -80,8 +80,7 @@
if( packs != null && packs.length > 0 ) {
IModule module;
IArchive[] packages = ArchivesModelCore.getProjectPackages(project.getLocation(), new
NullProgressMonitor(), true);
- /*boolean requiresSave = */
- ensureArchivesHaveIDs(project, packages);
+ boolean requiresSave = ensureArchivesHaveIDs(project, packages);
ArrayList<IModule> mods = new ArrayList<IModule>();
for( int i = 0; i < packages.length; i++ ) {
module = factory.createModule2(packages[i], project);
@@ -92,6 +91,9 @@
mods.add(module);
}
projectToModules.put(project.getLocation(), mods);
+ if( requiresSave )
+ ArchivesModel.instance().saveModel(project.getLocation(),
+ new NullProgressMonitor());
}
}
@@ -111,15 +113,16 @@
// remove old mods
ArrayList<IModule> mods = projectToModules.get(projectLoc);
IModule mod;
- IArchive arc;
+ PackagedModuleDelegate delegate;
if (mods != null) {
for( Iterator<IModule> i = mods.iterator(); i.hasNext();) {
mod = (IModule)i.next();
- if( moduleDelegates.get(mod) != null ) {
- arc = ((PackagedModuleDelegate)moduleDelegates.get(mod)).getPackage();
- packageToModule.remove(arc);
+ if( modules.contains(mod)) {
+ delegate = ((PackagedModuleDelegate)moduleDelegates.get(mod));
moduleDelegates.remove(mod);
modules.remove(mod);
+ if( delegate != null )
+ packageToModule.remove(delegate.getPackage());
}
}
}
@@ -152,10 +155,6 @@
PackageModuleFactory.getID(archives[i], true));
}
}
- if( requiresSave ) {
- // save
- ArchivesModel.instance().saveModel(project.getLocation(), new NullProgressMonitor());
- }
return requiresSave;
}
}
Show replies by date