[148269] Generic EarModuleAssembler now checks for the need to publish and packs if child module requires a publish
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/publishers/AntPublisher.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/publishers/AntPublisher.java
index c801b1b..317d85a 100644
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/publishers/AntPublisher.java
+++ b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/publishers/AntPublisher.java
@@ -140,7 +140,7 @@
long time = System.currentTimeMillis();
AbstractModuleAssembler assembler = AbstractModuleAssembler.Factory.getModuleAssembler(getModule()[0], getServer());
assembler.assemble(monitor);
- Trace.trace(Trace.PERFORMANCE, "AntPublisher.assembleModule(): <" + (System.currentTimeMillis()-time) + "> module: "+getModule()[0] ); //$NON-NLS-1$ //$NON-NLS-2$
+ Trace.trace(Trace.PERFORMANCE, "AntPublisher.assembleModule(): <" + (System.currentTimeMillis()-time) + "ms> module: "+getModule()[0] ); //$NON-NLS-1$ //$NON-NLS-2$
}
/**
@@ -356,7 +356,7 @@
{
ILaunchConfiguration launchConfig = wc.doSave();
launchConfig.launch(ILaunchManager.RUN_MODE, monitor, false, true);
- Trace.trace(Trace.PERFORMANCE, "AntPublisher.runAnt():<" + (System.currentTimeMillis()-time) + "> module: "+getModule()[0] ); //$NON-NLS-1$ //$NON-NLS-2$
+ Trace.trace(Trace.PERFORMANCE, "AntPublisher.runAnt():<" + (System.currentTimeMillis()-time) + "ms> module: "+getModule()[0] ); //$NON-NLS-1$ //$NON-NLS-2$
}
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/publishers/EarModuleAssembler.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/publishers/EarModuleAssembler.java
index 82488b2..8cc4d4e 100644
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/publishers/EarModuleAssembler.java
+++ b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/publishers/EarModuleAssembler.java
@@ -1,5 +1,5 @@
/***************************************************************************************************
- * Copyright (c) 2005 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
+ * Copyright (c) 2009 Eteration A.S. and Gorkem Ercan. All rights reserved. This program and the
* accompanying materials are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
@@ -21,10 +21,10 @@
import org.eclipse.jst.server.core.IJ2EEModule;
import org.eclipse.jst.server.generic.core.internal.CorePlugin;
import org.eclipse.jst.server.generic.core.internal.GenericServer;
+import org.eclipse.jst.server.generic.core.internal.Trace;
import org.eclipse.wst.server.core.IModule;
-import org.eclipse.wst.server.core.internal.Server;
+import org.eclipse.wst.server.core.IServer;
import org.eclipse.wst.server.core.model.IModuleResource;
-import org.eclipse.wst.server.core.model.IModuleResourceDelta;
import org.eclipse.wst.server.core.util.ProjectModule;
/**
@@ -63,14 +63,15 @@
return parent;
}
/**
- * Checks if there has been a change in the published resources.
+ * Checks if the publish state of the child module has changed.
* @param module
* @return module changed
*/
private boolean shouldRepack( IModule module ) {
- final Server server = (Server) fServer.getServer();
- final IModule[] modules ={module};
- return server.hasPublishedResourceDelta( modules );
+ final IModule[] modules ={fModule, module};
+ boolean repack = (IServer.PUBLISH_STATE_NONE != fServer.getServer().getModulePublishState(modules));
+ Trace.trace(Trace.FINEST, "EarModuleAssembler should repack returns "+ Boolean.toString(repack)+ " for module "+module); //$NON-NLS-1$//$NON-NLS-2$
+ return repack;
}
@@ -84,7 +85,6 @@
try {
packager =new ModulePackager(realDestination,false);
packager.pack(webAppPath.toFile(),webAppPath.toOSString());
-
} catch (IOException e) {
IStatus status = new Status(IStatus.ERROR, CorePlugin.PLUGIN_ID, 0,
"unable to assemble module", e); //$NON-NLS-1$
@@ -92,8 +92,7 @@
}
finally{
if(packager!=null)
- {
-
+ {
try {
packager.finished();
} catch (IOException e) {
@@ -102,8 +101,6 @@
}
}
-
-
}
else
{