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/05/24 22:07:10 UTC

svn commit: r409237 - in /geronimo/devtools/eclipse-plugin/trunk/plugins: org.apache.geronimo.st.core/src/org/apache/geronimo/st/core/ org.apache.geronimo.st.v11.core/src/org/apache/geronimo/st/v11/core/

Author: sppatel
Date: Wed May 24 13:07:10 2006
New Revision: 409237

URL: http://svn.apache.org/viewvc?rev=409237&view=rev
Log:
BUG FIX: update server state task incorrect for updateFromStarting /  fix configStore install

Modified:
    geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.core/src/org/apache/geronimo/st/core/UpdateServerStateTask.java
    geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v11.core/src/org/apache/geronimo/st/v11/core/ConfigStoreInstaller.java
    geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v11.core/src/org/apache/geronimo/st/v11/core/GeronimoServerBehaviour.java

Modified: geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.core/src/org/apache/geronimo/st/core/UpdateServerStateTask.java
URL: http://svn.apache.org/viewvc/geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.core/src/org/apache/geronimo/st/core/UpdateServerStateTask.java?rev=409237&r1=409236&r2=409237&view=diff
==============================================================================
--- geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.core/src/org/apache/geronimo/st/core/UpdateServerStateTask.java (original)
+++ geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.core/src/org/apache/geronimo/st/core/UpdateServerStateTask.java Wed May 24 13:07:10 2006
@@ -116,7 +116,7 @@
 
 	private void updateFromStarting() {
 		if (isFullyStarted())
-			delegate.setServerStopped();
+			delegate.setServerStarted();
 	}
 
 	private void updateFromStarted() {

Modified: geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v11.core/src/org/apache/geronimo/st/v11/core/ConfigStoreInstaller.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/ConfigStoreInstaller.java?rev=409237&r1=409236&r2=409237&view=diff
==============================================================================
--- geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v11.core/src/org/apache/geronimo/st/v11/core/ConfigStoreInstaller.java (original)
+++ geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v11.core/src/org/apache/geronimo/st/v11/core/ConfigStoreInstaller.java Wed May 24 13:07:10 2006
@@ -6,14 +6,20 @@
 
 import javax.enterprise.deploy.spi.Target;
 import javax.enterprise.deploy.spi.TargetModuleID;
-import javax.enterprise.deploy.spi.exceptions.DeploymentManagerCreationException;
 import javax.enterprise.deploy.spi.status.ProgressObject;
 
 import org.apache.geronimo.deployment.plugin.TargetModuleIDImpl;
 import org.apache.geronimo.deployment.plugin.jmx.JMXDeploymentManager;
+import org.apache.geronimo.gbean.AbstractName;
+import org.apache.geronimo.kernel.GBeanNotFoundException;
+import org.apache.geronimo.kernel.config.Configuration;
+import org.apache.geronimo.kernel.config.IOUtil;
+import org.apache.geronimo.kernel.management.State;
+import org.apache.geronimo.kernel.repository.Artifact;
 import org.apache.geronimo.st.core.GeronimoConnectionFactory;
 import org.apache.geronimo.st.jmxagent.Activator;
 import org.apache.geronimo.st.v11.core.internal.Trace;
+import org.eclipse.core.runtime.IPath;
 import org.eclipse.core.runtime.Platform;
 import org.eclipse.wst.server.core.IServer;
 import org.eclipse.wst.server.core.IServerListener;
@@ -25,6 +31,7 @@
 		if (event.getKind() == (ServerEvent.SERVER_CHANGE | ServerEvent.STATE_CHANGE)) {
 			if (event.getServer().getServerState() == IServer.STATE_STARTED) {
 				install(event.getServer());
+				event.getServer().removeServerListener(this);
 			}
 		}
 	}
@@ -33,7 +40,7 @@
 		Trace.trace(Trace.INFO, "--> ConfigStoreInstaller.install()");
 		try {
 			
-			//temporary until custom repo is implemented inside workspace metadata
+			copyToRepository(server);
 			server.getRuntime().getLocation().append("eclipse-repository").toFile().mkdir();
 
 			JMXDeploymentManager dm = (JMXDeploymentManager) GeronimoConnectionFactory.getInstance().getDeploymentManager(server);
@@ -42,21 +49,38 @@
 			Target target = dm.getTargets()[0];
 			Trace.trace(Trace.INFO, "target name: " + target.getName());
 
-			File jar = new File(resolveFromBundle("/lib/config-store-service-1.0.jar").getFile());
-			File plan = new File(resolveFromBundle("/plan.xml").getFile());
-
-			ProgressObject po = dm.distribute(new Target[] { target }, jar, plan);
-			waitForCompletion(po);
-
-			TargetModuleID id = new TargetModuleIDImpl(target, Activator.SERVICE_ID);
-
-			po = dm.start(new TargetModuleID[] { id });
-			waitForCompletion(po);
-
-		} catch (DeploymentManagerCreationException e) {
+			GeronimoServerBehaviour gsb = (GeronimoServerBehaviour) server.loadAdapter(GeronimoServerBehaviour.class, null);
+			Artifact artifact = Artifact.create(Activator.SERVICE_ID);
+			AbstractName name = Configuration.getConfigurationAbstractName(artifact);
+			
+			State state = null;
+			try {
+				state = State.fromInt(gsb.getKernel().getGBeanState(name));
+			} catch (GBeanNotFoundException e) {
+				Trace.trace(Trace.INFO, Activator.SERVICE_ID + " not installed");
+				//store not installed
+			} 
+			
+			if(state == null) {
+				File jar = new File(resolveFromBundle("/lib/config-store-service-1.0.jar").getFile());
+				File plan = new File(resolveFromBundle("/plan.xml").getFile());
+				Trace.trace(Trace.INFO, "installing " + Activator.SERVICE_ID);
+				ProgressObject po = dm.distribute(new Target[] { target }, jar, plan);
+				waitForCompletion(po);
+			}
+			
+			if(!gsb.getKernel().isRunning(name)) {
+				Trace.trace(Trace.INFO, "starting " + Activator.SERVICE_ID);
+				TargetModuleID id = new TargetModuleIDImpl(target, Activator.SERVICE_ID);
+				ProgressObject po = dm.start(new TargetModuleID[] { id });
+				waitForCompletion(po);
+			}
+			
+		} catch (Exception e) {
 			e.printStackTrace();
+		} finally {
+			Trace.trace(Trace.INFO, "<-- ConfigStoreInstaller.install()");
 		}
-		Trace.trace(Trace.INFO, "--> ConfigStoreInstaller.install()");
 	}
 
 	private URL resolveFromBundle(String path) {
@@ -76,5 +100,38 @@
 
 			}
 		}
+	}
+
+	private void copyToRepository(IServer server) {
+		IPath repo = server.getRuntime().getLocation().append("repository");
+
+		IPath path = repo.append("/hessian/hessian/3.0.8/hessian-3.0.8.jar");
+		copyFile(getFileFromBundle("lib/hessian-3.0.8.jar"), path.toFile());
+
+		path = repo.append("/mx4j/mx4j-tools/3.0.1/mx4j-tools-3.0.1.jar");
+		copyFile(getFileFromBundle("lib/mx4j-tools-3.0.1.jar"), path.toFile());
+	}
+	
+
+	private static void copyFile(File src, File dest) {
+		try {
+			if (!dest.exists()) {
+				Trace.trace(Trace.INFO, "adding " + dest);
+				IOUtil.copyFile(src, dest);
+			}
+		} catch (IOException e) {
+			e.printStackTrace();
+		}
+	}
+	
+
+	private File getFileFromBundle(String path) {
+		try {
+			URL url = Platform.resolve(Activator.getDefault().getBundle().getEntry(path));
+			return new File(url.getFile());
+		} catch (IOException e) {
+			e.printStackTrace();
+		}
+		return null;
 	}
 }

Modified: geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v11.core/src/org/apache/geronimo/st/v11/core/GeronimoServerBehaviour.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/GeronimoServerBehaviour.java?rev=409237&r1=409236&r2=409237&view=diff
==============================================================================
--- geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v11.core/src/org/apache/geronimo/st/v11/core/GeronimoServerBehaviour.java (original)
+++ geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v11.core/src/org/apache/geronimo/st/v11/core/GeronimoServerBehaviour.java Wed May 24 13:07:10 2006
@@ -88,7 +88,7 @@
 		Trace.trace(Trace.INFO, "<-- stop()");
 	}
 
-	private Kernel getKernel() throws SecurityException {
+	protected Kernel getKernel() throws SecurityException {
 
 		if (kernel == null) {
 			Map map = new HashMap();