You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by sp...@apache.org on 2006/10/03 18:14:27 UTC
svn commit: r452561 - in /geronimo/devtools/eclipse-plugin/trunk/plugins:
org.apache.geronimo.st.core/src/org/apache/geronimo/st/core/
org.apache.geronimo.st.core/src/org/apache/geronimo/st/core/commands/
org.apache.geronimo.st.v1.core/src/org/apache/g...
Author: sppatel
Date: Tue Oct 3 09:14:26 2006
New Revision: 452561
URL: http://svn.apache.org/viewvc?view=rev&rev=452561
Log:
lookup targetmoduleId locally to avoid targetModuleId out of sync with project config and failures when deployment models can't load plan
Modified:
geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.core/src/org/apache/geronimo/st/core/DeploymentUtils.java
geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.core/src/org/apache/geronimo/st/core/GeronimoServerBehaviourDelegate.java
geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.core/src/org/apache/geronimo/st/core/IGeronimoVersionHandler.java
geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.core/src/org/apache/geronimo/st/core/ModuleArtifactMapper.java
geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.core/src/org/apache/geronimo/st/core/commands/RedeployCommand.java
geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.core/src/org/apache/geronimo/st/core/commands/StopCommand.java
geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.core/src/org/apache/geronimo/st/core/commands/UndeployCommand.java
geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v1.core/src/org/apache/geronimo/st/v1/core/GeronimoV1VersionHandler.java
geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v11.core/src/org/apache/geronimo/st/v11/core/GeronimoV11VersionHandler.java
Modified: geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.core/src/org/apache/geronimo/st/core/DeploymentUtils.java
URL: http://svn.apache.org/viewvc/geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.core/src/org/apache/geronimo/st/core/DeploymentUtils.java?view=diff&rev=452561&r1=452560&r2=452561
==============================================================================
--- geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.core/src/org/apache/geronimo/st/core/DeploymentUtils.java (original)
+++ geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.core/src/org/apache/geronimo/st/core/DeploymentUtils.java Tue Oct 3 09:14:26 2006
@@ -42,6 +42,7 @@
import org.eclipse.wst.common.frameworks.datamodel.DataModelFactory;
import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
import org.eclipse.wst.server.core.IModule;
+import org.eclipse.wst.server.core.IServer;
import org.eclipse.wst.server.core.model.IModuleResource;
import org.eclipse.wst.server.core.util.ProjectModule;
@@ -149,20 +150,26 @@
return null;
}
- public static TargetModuleID getTargetModuleID(IModule module,
- DeploymentManager dm) throws TargetModuleIdNotFoundException {
+ public static TargetModuleID getTargetModuleID(IModule module, DeploymentManager dm) throws TargetModuleIdNotFoundException {
IGeronimoServer server = GeronimoConnectionFactory.getInstance().getGeronimoServer(dm);
- ModuleType moduleType = GeronimoUtils.getJSR88ModuleType(module);
String configId = server.getVersionHandler().getConfigID(module);
- return getTargetModuleID(moduleType, dm, configId);
+ return getTargetModuleID(dm, configId);
+ }
+
+ public static TargetModuleID getTargetModuleID(IServer server, IModule module) throws TargetModuleIdNotFoundException {
+ String configId = ModuleArtifactMapper.getInstance().resolve(server, module);
+ if(configId == null) {
+ throw new TargetModuleIdNotFoundException("Could not do a local TargetModuleID lookup for module " + module.getName());
+ }
+
+ IGeronimoServer gs = (IGeronimoServer) server.getAdapter(IGeronimoServer.class);
+ return gs.getVersionHandler().createTargetModuleId(configId);
}
- private static TargetModuleID getTargetModuleID(ModuleType moduleType,
- DeploymentManager dm, String configId)
- throws TargetModuleIdNotFoundException {
+ private static TargetModuleID getTargetModuleID(DeploymentManager dm, String configId) throws TargetModuleIdNotFoundException {
try {
- TargetModuleID ids[] = dm.getAvailableModules(moduleType, dm.getTargets());
+ TargetModuleID ids[] = dm.getAvailableModules(null, dm.getTargets());
if (ids != null) {
for (int i = 0; i < ids.length; i++) {
if (ids[i].getModuleID().equals(configId)) {
@@ -176,12 +183,10 @@
e.printStackTrace();
}
- throw new TargetModuleIdNotFoundException("Could not find TargetModuleID for module with configId "
- + configId);
+ throw new TargetModuleIdNotFoundException("Could not find TargetModuleID for module with configId " + configId);
}
- public static boolean configurationExists(IModule module,
- DeploymentManager dm) {
+ public static boolean configurationExists(IModule module, DeploymentManager dm) {
try {
return getTargetModuleID(module, dm) != null;
} catch (TargetModuleIdNotFoundException e) {
Modified: geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.core/src/org/apache/geronimo/st/core/GeronimoServerBehaviourDelegate.java
URL: http://svn.apache.org/viewvc/geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.core/src/org/apache/geronimo/st/core/GeronimoServerBehaviourDelegate.java?view=diff&rev=452561&r1=452560&r2=452561
==============================================================================
--- geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.core/src/org/apache/geronimo/st/core/GeronimoServerBehaviourDelegate.java (original)
+++ geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.core/src/org/apache/geronimo/st/core/GeronimoServerBehaviourDelegate.java Tue Oct 3 09:14:26 2006
@@ -195,15 +195,17 @@
Trace.trace(Trace.INFO, Arrays.asList(module).toString());
_monitor = monitor;
- //NO_CHANGE need if app is associated but not started and no delta
- if (module.length == 1 && (deltaKind == ADDED || deltaKind == REMOVED || deltaKind == NO_CHANGE)) {
- invokeCommand(deltaKind, module[0]);
- } else if (deltaKind == CHANGED) {
- // TODO This case is flawed due to WTP Bugzilla 123676
- invokeCommand(deltaKind, module[0]);
- }
-
- setModulePublishState(module, IServer.PUBLISH_STATE_NONE);
+ try {
+ //NO_CHANGE need if app is associated but not started and no delta
+ if (module.length == 1 && (deltaKind == ADDED || deltaKind == REMOVED || deltaKind == NO_CHANGE)) {
+ invokeCommand(deltaKind, module[0]);
+ } else if (deltaKind == CHANGED) {
+ // TODO This case is flawed due to WTP Bugzilla 123676
+ invokeCommand(deltaKind, module[0]);
+ }
+ } finally {
+ setModulePublishState(module, IServer.PUBLISH_STATE_NONE);
+ }
Trace.trace(Trace.INFO, "<< publishModule()");
}
@@ -456,20 +458,12 @@
Trace.trace(Trace.INFO, ">> doNoChange() " + module.toString());
- boolean found = false;
- try {
- TargetModuleID id = DeploymentUtils.getTargetModuleID(module, DeploymentCommandFactory.getDeploymentManager(getServer()));
- found = id != null;
- } catch (TargetModuleIdNotFoundException e) {
- Trace.trace(Trace.INFO, "TargetModuleId not found.");
- }
-
- if(found) {
+ if(DeploymentUtils.configurationExists(module, DeploymentCommandFactory.getDeploymentManager(getServer()))) {
start(module);
} else {
doDeploy(module);
}
-
+
Trace.trace(Trace.INFO, "<< doNoChange()" + module.toString());
}
@@ -501,7 +495,7 @@
}
protected IStatus start(IModule module) throws Exception {
- TargetModuleID id = DeploymentUtils.getTargetModuleID(module, DeploymentCommandFactory.getDeploymentManager(getServer()));
+ TargetModuleID id = DeploymentUtils.getTargetModuleID(getServer(), module);
IDeploymentCommand cmd = DeploymentCommandFactory.createStartCommand(new TargetModuleID[] { id }, module, getServer());
return cmd.execute(_monitor);
}
Modified: geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.core/src/org/apache/geronimo/st/core/IGeronimoVersionHandler.java
URL: http://svn.apache.org/viewvc/geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.core/src/org/apache/geronimo/st/core/IGeronimoVersionHandler.java?view=diff&rev=452561&r1=452560&r2=452561
==============================================================================
--- geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.core/src/org/apache/geronimo/st/core/IGeronimoVersionHandler.java (original)
+++ geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.core/src/org/apache/geronimo/st/core/IGeronimoVersionHandler.java Tue Oct 3 09:14:26 2006
@@ -15,10 +15,14 @@
*/
package org.apache.geronimo.st.core;
+import javax.enterprise.deploy.spi.TargetModuleID;
+
import org.eclipse.wst.server.core.IModule;
public interface IGeronimoVersionHandler {
public String getConfigID(IModule module);
+
+ public TargetModuleID createTargetModuleId(String configId);
}
Modified: geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.core/src/org/apache/geronimo/st/core/ModuleArtifactMapper.java
URL: http://svn.apache.org/viewvc/geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.core/src/org/apache/geronimo/st/core/ModuleArtifactMapper.java?view=diff&rev=452561&r1=452560&r2=452561
==============================================================================
--- geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.core/src/org/apache/geronimo/st/core/ModuleArtifactMapper.java (original)
+++ geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.core/src/org/apache/geronimo/st/core/ModuleArtifactMapper.java Tue Oct 3 09:14:26 2006
@@ -28,11 +28,13 @@
import java.io.ObjectOutputStream;
import java.io.OutputStream;
import java.util.HashMap;
+import java.util.Iterator;
import java.util.Map;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.runtime.IPath;
+import org.eclipse.wst.server.core.IModule;
import org.eclipse.wst.server.core.IServer;
import org.eclipse.wst.server.core.util.SocketUtil;
@@ -86,6 +88,23 @@
String projectName = (String) artifactEntries.get(configId);
if (projectName != null)
return ResourcesPlugin.getWorkspace().getRoot().getProject(projectName);
+ }
+ return null;
+ }
+
+ public String resolve(IServer server, IModule module) {
+ Map artifactEntries = (Map) serverEntries.get(server.getRuntime().getLocation().toFile());
+ if (artifactEntries != null) {
+ String projectName = module.getProject().getName();
+ if(artifactEntries.containsValue(projectName)) {
+ Iterator i = artifactEntries.keySet().iterator();
+ while(i.hasNext()) {
+ String configId = (String) i.next();
+ if(artifactEntries.get(configId).equals(projectName)) {
+ return configId;
+ }
+ }
+ }
}
return null;
}
Modified: geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.core/src/org/apache/geronimo/st/core/commands/RedeployCommand.java
URL: http://svn.apache.org/viewvc/geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.core/src/org/apache/geronimo/st/core/commands/RedeployCommand.java?view=diff&rev=452561&r1=452560&r2=452561
==============================================================================
--- geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.core/src/org/apache/geronimo/st/core/commands/RedeployCommand.java (original)
+++ geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.core/src/org/apache/geronimo/st/core/commands/RedeployCommand.java Tue Oct 3 09:14:26 2006
@@ -43,7 +43,7 @@
public IStatus execute(IProgressMonitor monitor) throws TargetModuleIdNotFoundException, CoreException {
DeploymentManager dm = getDeploymentManager();
File file = getTargetFile();
- TargetModuleID id = DeploymentUtils.getTargetModuleID(getModule(), dm);
+ TargetModuleID id = DeploymentUtils.getTargetModuleID(getServer(), getModule());
return new DeploymentCmdStatus(Status.OK_STATUS, dm.redeploy(new TargetModuleID[] { id }, file, null));
}
Modified: geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.core/src/org/apache/geronimo/st/core/commands/StopCommand.java
URL: http://svn.apache.org/viewvc/geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.core/src/org/apache/geronimo/st/core/commands/StopCommand.java?view=diff&rev=452561&r1=452560&r2=452561
==============================================================================
--- geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.core/src/org/apache/geronimo/st/core/commands/StopCommand.java (original)
+++ geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.core/src/org/apache/geronimo/st/core/commands/StopCommand.java Tue Oct 3 09:14:26 2006
@@ -38,7 +38,7 @@
* @see org.apache.geronimo.core.commands.IDeploymentCommand#execute(org.eclipse.core.runtime.IProgressMonitor)
*/
public IStatus execute(IProgressMonitor monitor) throws TargetModuleIdNotFoundException, CoreException {
- TargetModuleID id = DeploymentUtils.getTargetModuleID(getModule(), getDeploymentManager());
+ TargetModuleID id = DeploymentUtils.getTargetModuleID(getServer(), getModule());
return new DeploymentCmdStatus(Status.OK_STATUS, getDeploymentManager().stop(new TargetModuleID[] { id }));
}
Modified: geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.core/src/org/apache/geronimo/st/core/commands/UndeployCommand.java
URL: http://svn.apache.org/viewvc/geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.core/src/org/apache/geronimo/st/core/commands/UndeployCommand.java?view=diff&rev=452561&r1=452560&r2=452561
==============================================================================
--- geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.core/src/org/apache/geronimo/st/core/commands/UndeployCommand.java (original)
+++ geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.core/src/org/apache/geronimo/st/core/commands/UndeployCommand.java Tue Oct 3 09:14:26 2006
@@ -38,7 +38,7 @@
* @see org.apache.geronimo.core.commands.IDeploymentCommand#execute(org.eclipse.core.runtime.IProgressMonitor)
*/
public IStatus execute(IProgressMonitor monitor) throws TargetModuleIdNotFoundException, CoreException {
- TargetModuleID id = DeploymentUtils.getTargetModuleID(getModule(), getDeploymentManager());
+ TargetModuleID id = DeploymentUtils.getTargetModuleID(getServer(), getModule());
return new DeploymentCmdStatus(Status.OK_STATUS, getDeploymentManager().undeploy(new TargetModuleID[] { id }));
}
Modified: geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v1.core/src/org/apache/geronimo/st/v1/core/GeronimoV1VersionHandler.java
URL: http://svn.apache.org/viewvc/geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v1.core/src/org/apache/geronimo/st/v1/core/GeronimoV1VersionHandler.java?view=diff&rev=452561&r1=452560&r2=452561
==============================================================================
--- geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v1.core/src/org/apache/geronimo/st/v1/core/GeronimoV1VersionHandler.java (original)
+++ geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v1.core/src/org/apache/geronimo/st/v1/core/GeronimoV1VersionHandler.java Tue Oct 3 09:14:26 2006
@@ -15,6 +15,9 @@
*/
package org.apache.geronimo.st.v1.core;
+import javax.enterprise.deploy.spi.TargetModuleID;
+
+import org.apache.geronimo.deployment.plugin.TargetModuleIDImpl;
import org.apache.geronimo.st.core.IGeronimoVersionHandler;
import org.eclipse.wst.server.core.IModule;
@@ -27,5 +30,12 @@
*/
public String getConfigID(IModule module) {
return GeronimoV1Utils.getConfigId(module);
+ }
+
+ /* (non-Javadoc)
+ * @see org.apache.geronimo.st.core.IGeronimoVersionHandler#createTargetModuleId(java.lang.String)
+ */
+ public TargetModuleID createTargetModuleId(String configId) {
+ return new TargetModuleIDImpl(null, configId);
}
}
Modified: geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v11.core/src/org/apache/geronimo/st/v11/core/GeronimoV11VersionHandler.java
URL: http://svn.apache.org/viewvc/geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v11.core/src/org/apache/geronimo/st/v11/core/GeronimoV11VersionHandler.java?view=diff&rev=452561&r1=452560&r2=452561
==============================================================================
--- geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v11.core/src/org/apache/geronimo/st/v11/core/GeronimoV11VersionHandler.java (original)
+++ geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v11.core/src/org/apache/geronimo/st/v11/core/GeronimoV11VersionHandler.java Tue Oct 3 09:14:26 2006
@@ -15,6 +15,9 @@
*/
package org.apache.geronimo.st.v11.core;
+import javax.enterprise.deploy.spi.TargetModuleID;
+
+import org.apache.geronimo.deployment.plugin.TargetModuleIDImpl;
import org.apache.geronimo.st.core.IGeronimoVersionHandler;
import org.eclipse.wst.server.core.IModule;
@@ -27,5 +30,12 @@
*/
public String getConfigID(IModule module) {
return GeronimoV11Utils.getConfigId(module);
+ }
+
+ /* (non-Javadoc)
+ * @see org.apache.geronimo.st.core.IGeronimoVersionHandler#createTargetModuleId(java.lang.String)
+ */
+ public TargetModuleID createTargetModuleId(String configId) {
+ return new TargetModuleIDImpl(null, configId);
}
}