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/01 23:38:31 UTC

svn commit: r398695 - 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: Mon May  1 14:38:28 2006
New Revision: 398695

URL: http://svn.apache.org/viewcvs?rev=398695&view=rev
Log:
configure targets

Modified:
    geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.core/src/org/apache/geronimo/st/core/IGeronimoServerBehavior.java
    geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.core/src/org/apache/geronimo/st/core/commands/DeploymentCommandFactory.java
    geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.core/src/org/apache/geronimo/st/core/commands/DistributeCommand.java
    geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v1.core/src/org/apache/geronimo/st/v1/core/GeronimoServerBehaviour.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/IGeronimoServerBehavior.java
URL: http://svn.apache.org/viewcvs/geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.core/src/org/apache/geronimo/st/core/IGeronimoServerBehavior.java?rev=398695&r1=398694&r2=398695&view=diff
==============================================================================
--- geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.core/src/org/apache/geronimo/st/core/IGeronimoServerBehavior.java (original)
+++ geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.core/src/org/apache/geronimo/st/core/IGeronimoServerBehavior.java Mon May  1 14:38:28 2006
@@ -15,6 +15,8 @@
  */
 package org.apache.geronimo.st.core;
 
+import javax.enterprise.deploy.spi.Target;
+
 public interface IGeronimoServerBehavior {
 
 	public boolean isFullyStarted();
@@ -24,5 +26,7 @@
 	public void setServerStarted();
 
 	public void setServerStopped();
+	
+	public Target[] getTargets();
 
 }

Modified: geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.core/src/org/apache/geronimo/st/core/commands/DeploymentCommandFactory.java
URL: http://svn.apache.org/viewcvs/geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.core/src/org/apache/geronimo/st/core/commands/DeploymentCommandFactory.java?rev=398695&r1=398694&r2=398695&view=diff
==============================================================================
--- geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.core/src/org/apache/geronimo/st/core/commands/DeploymentCommandFactory.java (original)
+++ geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.core/src/org/apache/geronimo/st/core/commands/DeploymentCommandFactory.java Mon May  1 14:38:28 2006
@@ -16,11 +16,13 @@
 package org.apache.geronimo.st.core.commands;
 
 import javax.enterprise.deploy.spi.DeploymentManager;
+import javax.enterprise.deploy.spi.Target;
 import javax.enterprise.deploy.spi.TargetModuleID;
 import javax.enterprise.deploy.spi.exceptions.DeploymentManagerCreationException;
 
 import org.apache.geronimo.st.core.Activator;
 import org.apache.geronimo.st.core.GeronimoConnectionFactory;
+import org.apache.geronimo.st.core.IGeronimoServerBehavior;
 import org.apache.geronimo.st.core.internal.Messages;
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IStatus;
@@ -45,9 +47,10 @@
 	 * @return
 	 * @throws CoreException
 	 */
-	public static IDeploymentCommand createDistributeCommand(IModule module,
-			IServer server, boolean inPlace) throws CoreException {
-		return new SynchronizedDeploymentOp(new DistributeCommand(module, getDeploymentManager(server), inPlace));
+	public static IDeploymentCommand createDistributeCommand(IModule module, IServer server, boolean inPlace) throws CoreException {
+		IGeronimoServerBehavior gs = (IGeronimoServerBehavior) server.loadAdapter(IGeronimoServerBehavior.class, null);
+		Target[] targets = gs.getTargets();
+		return new SynchronizedDeploymentOp(new DistributeCommand(module, getDeploymentManager(server), targets, inPlace));
 	}
 
 	/**

Modified: geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.core/src/org/apache/geronimo/st/core/commands/DistributeCommand.java
URL: http://svn.apache.org/viewcvs/geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.core/src/org/apache/geronimo/st/core/commands/DistributeCommand.java?rev=398695&r1=398694&r2=398695&view=diff
==============================================================================
--- geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.core/src/org/apache/geronimo/st/core/commands/DistributeCommand.java (original)
+++ geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.core/src/org/apache/geronimo/st/core/commands/DistributeCommand.java Mon May  1 14:38:28 2006
@@ -20,19 +20,28 @@
 import javax.enterprise.deploy.shared.CommandType;
 import javax.enterprise.deploy.spi.DeploymentManager;
 import javax.enterprise.deploy.spi.Target;
+
 import org.apache.geronimo.st.core.DeploymentUtils;
+import org.apache.geronimo.st.core.internal.Trace;
+import org.eclipse.core.runtime.IPath;
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Status;
+import org.eclipse.wst.common.componentcore.internal.StructureEdit;
+import org.eclipse.wst.common.componentcore.internal.WorkbenchComponent;
+import org.eclipse.wst.common.componentcore.internal.impl.WorkbenchComponentImpl;
 import org.eclipse.wst.server.core.IModule;
 
 class DistributeCommand extends AbstractDeploymentCommand {
-	
+
 	boolean inPlace;
-	
-	public DistributeCommand(IModule module, DeploymentManager dm, boolean inPlace) {
+
+	Target[] targets;
+
+	public DistributeCommand(IModule module, DeploymentManager dm, Target[] targets, boolean inPlace) {
 		super(dm, module);
 		this.inPlace = inPlace;
+		this.targets = targets;
 	}
 
 	/*
@@ -41,15 +50,25 @@
 	 * @see org.apache.geronimo.core.commands.IDeploymentCommand#execute(org.eclipse.core.runtime.IProgressMonitor)
 	 */
 	public IStatus execute(IProgressMonitor monitor) {
-		Target[] targets = getDeploymentManager().getTargets();
+		if (targets == null)
+			targets = getDeploymentManager().getTargets();
+
 		File file = null;
-		
-		if(inPlace) {
-			file = getModule().getProject().getLocation().toFile();
+
+		if (inPlace) {
+			StructureEdit moduleCore = StructureEdit.getStructureEditForRead(getModule().getProject());
+			try {
+				WorkbenchComponent component = moduleCore.getComponent();
+				IPath loc = ((WorkbenchComponentImpl) component).getDefaultSourceRoot();
+				file = getModule().getProject().findMember(loc).getLocation().toFile();
+			} finally {
+				if (moduleCore != null)
+					moduleCore.dispose();
+			}
 		} else {
 			file = DeploymentUtils.createJarFile(getModule());
 		}
-		
+
 		return new DeploymentCmdStatus(Status.OK_STATUS, getDeploymentManager().distribute(targets, file, null));
 	}
 
@@ -61,6 +80,5 @@
 	public CommandType getCommandType() {
 		return CommandType.DISTRIBUTE;
 	}
-	
 
 }

Modified: geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v1.core/src/org/apache/geronimo/st/v1/core/GeronimoServerBehaviour.java
URL: http://svn.apache.org/viewcvs/geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v1.core/src/org/apache/geronimo/st/v1/core/GeronimoServerBehaviour.java?rev=398695&r1=398694&r2=398695&view=diff
==============================================================================
--- geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v1.core/src/org/apache/geronimo/st/v1/core/GeronimoServerBehaviour.java (original)
+++ geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v1.core/src/org/apache/geronimo/st/v1/core/GeronimoServerBehaviour.java Mon May  1 14:38:28 2006
@@ -22,6 +22,7 @@
 import java.util.Map;
 import java.util.Set;
 
+import javax.enterprise.deploy.spi.Target;
 import javax.management.MBeanServerConnection;
 import javax.management.ObjectName;
 import javax.management.remote.JMXConnector;
@@ -159,6 +160,14 @@
 	 */
 	public String getConfigId(IModule module) {
 		return GeronimoV1Utils.getConfigId(module);
+	}
+	
+	
+	/* (non-Javadoc)
+	 * @see org.apache.geronimo.st.core.IGeronimoServerBehavior#getTargets()
+	 */
+	public Target[] getTargets() {
+		return null;
 	}
 	
 	/* (non-Javadoc)

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/viewcvs/geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v11.core/src/org/apache/geronimo/st/v11/core/ConfigStoreInstaller.java?rev=398695&r1=398694&r2=398695&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 Mon May  1 14:38:28 2006
@@ -9,8 +9,8 @@
 import javax.enterprise.deploy.spi.exceptions.DeploymentManagerCreationException;
 import javax.enterprise.deploy.spi.status.ProgressObject;
 
-import org.apache.geronimo.deployment.plugin.GeronimoDeploymentManager;
 import org.apache.geronimo.deployment.plugin.TargetModuleIDImpl;
+import org.apache.geronimo.deployment.plugin.jmx.JMXDeploymentManager;
 import org.apache.geronimo.st.core.GeronimoConnectionFactory;
 import org.apache.geronimo.st.jmxagent.Activator;
 import org.apache.geronimo.st.v11.core.internal.Trace;
@@ -22,35 +22,30 @@
 public class ConfigStoreInstaller implements IServerListener {
 
 	public void serverChanged(ServerEvent event) {
-		Trace.trace(Trace.INFO, "--> ConfigStoreInstaller.serverChanged()");
 		if (event.getKind() == (ServerEvent.SERVER_CHANGE | ServerEvent.STATE_CHANGE)) {
 			if (event.getServer().getServerState() == IServer.STATE_STARTED) {
 				install(event.getServer());
 			}
 		}
-		Trace.trace(Trace.INFO, "<-- ConfigStoreInstaller().serverChanged()");
 	}
 
 	private void install(IServer server) {
 		Trace.trace(Trace.INFO, "--> ConfigStoreInstaller.install()");
 		try {
 
-			GeronimoDeploymentManager dm = (GeronimoDeploymentManager) GeronimoConnectionFactory
-					.getInstance().getDeploymentManager(server);
+			JMXDeploymentManager dm = (JMXDeploymentManager) GeronimoConnectionFactory.getInstance().getDeploymentManager(server);
+			dm.setInPlace(false);
 
 			Target target = dm.getTargets()[0];
 			Trace.trace(Trace.INFO, "target name: " + target.getName());
 
-			File jar = new File(resolveFromBundle(
-					"/lib/config-store-service-1.0-SNAPSHOT.jar").getFile());
+			File jar = new File(resolveFromBundle("/lib/config-store-service-1.0-SNAPSHOT.jar").getFile());
 			File plan = new File(resolveFromBundle("/plan.xml").getFile());
 
-			ProgressObject po = dm.distribute(new Target[] { target }, jar,
-					plan);
+			ProgressObject po = dm.distribute(new Target[] { target }, jar, plan);
 			waitForCompletion(po);
 
-			TargetModuleID id = new TargetModuleIDImpl(target,
-					Activator.SERVICE_ID);
+			TargetModuleID id = new TargetModuleIDImpl(target, Activator.SERVICE_ID);
 
 			po = dm.start(new TargetModuleID[] { id });
 			waitForCompletion(po);
@@ -63,8 +58,7 @@
 
 	private URL resolveFromBundle(String path) {
 		try {
-			return Platform.resolve(Activator.getDefault().getBundle()
-					.getEntry(path));
+			return Platform.resolve(Activator.getDefault().getBundle().getEntry(path));
 		} catch (IOException e) {
 			e.printStackTrace();
 		}

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/viewcvs/geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.v11.core/src/org/apache/geronimo/st/v11/core/GeronimoServerBehaviour.java?rev=398695&r1=398694&r2=398695&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 Mon May  1 14:38:28 2006
@@ -15,17 +15,20 @@
  */
 package org.apache.geronimo.st.v11.core;
 
+import java.io.IOException;
 import java.net.MalformedURLException;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.Set;
 
+import javax.enterprise.deploy.spi.Target;
 import javax.management.MBeanServerConnection;
 import javax.management.remote.JMXConnector;
 import javax.management.remote.JMXConnectorFactory;
 import javax.management.remote.JMXServiceURL;
 import javax.naming.directory.NoSuchAttributeException;
 
+import org.apache.geronimo.deployment.plugin.TargetImpl;
 import org.apache.geronimo.gbean.AbstractName;
 import org.apache.geronimo.gbean.AbstractNameQuery;
 import org.apache.geronimo.kernel.GBeanNotFoundException;
@@ -34,6 +37,7 @@
 import org.apache.geronimo.st.core.GenericGeronimoServerBehaviour;
 import org.apache.geronimo.st.core.GeronimoConnectionFactory;
 import org.apache.geronimo.st.jmxagent.Activator;
+import org.apache.geronimo.st.jmxagent.JMXAgent;
 import org.apache.geronimo.st.v11.core.internal.Trace;
 import org.apache.geronimo.system.jmx.KernelDelegate;
 import org.eclipse.core.runtime.CoreException;
@@ -91,10 +95,8 @@
 					return null;
 				JMXServiceURL address = new JMXServiceURL(url);
 				try {
-					JMXConnector jmxConnector = JMXConnectorFactory.connect(
-							address, map);
-					MBeanServerConnection mbServerConnection = jmxConnector
-							.getMBeanServerConnection();
+					JMXConnector jmxConnector = JMXConnectorFactory.connect(address, map);
+					MBeanServerConnection mbServerConnection = jmxConnector.getMBeanServerConnection();
 					kernel = new KernelDelegate(mbServerConnection);
 					Trace.trace(Trace.INFO, "Connected to kernel.");
 				} catch (SecurityException e) {
@@ -125,11 +127,7 @@
 				stop(true);
 			}
 		} catch (Exception e) {
-			Activator
-					.log(
-							Status.WARNING,
-							"Geronimo Server may have been terminated manually outside of workspace.",
-							e);
+			Activator.log(Status.WARNING, "Geronimo Server may have been terminated manually outside of workspace.", e);
 			kernel = null;
 		}
 		return false;
@@ -142,14 +140,12 @@
 	 */
 	public boolean isFullyStarted() {
 		if (isKernelAlive()) {
-			AbstractNameQuery query = new AbstractNameQuery(
-					PersistentConfigurationList.class.getName());
+			AbstractNameQuery query = new AbstractNameQuery(PersistentConfigurationList.class.getName());
 			Set configLists = kernel.listGBeans(query);
 			if (!configLists.isEmpty()) {
 				AbstractName on = (AbstractName) configLists.toArray()[0];
 				try {
-					Boolean b = (Boolean) kernel.getAttribute(on,
-							"kernelFullyStarted");
+					Boolean b = (Boolean) kernel.getAttribute(on, "kernelFullyStarted");
 					return b.booleanValue();
 				} catch (GBeanNotFoundException e) {
 					// ignore
@@ -174,11 +170,33 @@
 		return GeronimoV11Utils.getConfigId(module);
 	}
 
-	protected void setupLaunch(ILaunch launch, String launchMode,
-			IProgressMonitor monitor) throws CoreException {
+	protected void setupLaunch(ILaunch launch, String launchMode, IProgressMonitor monitor) throws CoreException {
 		if (SocketUtil.isLocalhost(getServer().getHost())) {
-			getServer().addServerListener(new ConfigStoreInstaller());
+			try {
+				JMXAgent.getInstance().start();
+				getServer().addServerListener(new ConfigStoreInstaller());
+			} catch (IOException e) {
+				e.printStackTrace();
+			}
 		}
 		super.setupLaunch(launch, launchMode, monitor);
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.apache.geronimo.st.core.IGeronimoServerBehavior#getTargets()
+	 */
+	public Target[] getTargets() {
+		if (getGeronimoServer().isTestEnvironment()) {
+			AbstractNameQuery query = new AbstractNameQuery("org.apache.geronimo.devtools.EclipseAwareConfigurationStore");
+			Set set = getKernel().listGBeans(query);
+			if (!set.isEmpty()) {
+				AbstractName name = (AbstractName) set.toArray()[0];
+				Target target = new TargetImpl(name, null);
+				return new Target[]{target};
+			}
+		}
+		return null;
 	}
 }