Return-Path: Delivered-To: apmail-geronimo-scm-archive@www.apache.org Received: (qmail 16339 invoked from network); 3 May 2006 19:46:51 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 3 May 2006 19:46:51 -0000 Received: (qmail 19181 invoked by uid 500); 3 May 2006 19:46:44 -0000 Delivered-To: apmail-geronimo-scm-archive@geronimo.apache.org Received: (qmail 19155 invoked by uid 500); 3 May 2006 19:46:44 -0000 Mailing-List: contact scm-help@geronimo.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: Reply-To: dev@geronimo.apache.org List-Id: Delivered-To: mailing list scm@geronimo.apache.org Received: (qmail 19144 invoked by uid 99); 3 May 2006 19:46:44 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 03 May 2006 12:46:44 -0700 X-ASF-Spam-Status: No, hits=-8.6 required=10.0 tests=ALL_TRUSTED,INFO_TLD,NO_REAL_NAME X-Spam-Check-By: apache.org Received: from [209.237.227.194] (HELO minotaur.apache.org) (209.237.227.194) by apache.org (qpsmtpd/0.29) with SMTP; Wed, 03 May 2006 12:46:42 -0700 Received: (qmail 16146 invoked by uid 65534); 3 May 2006 19:46:22 -0000 Message-ID: <20060503194622.16145.qmail@minotaur.apache.org> Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r399390 - in /geronimo/devtools/eclipse-plugin/trunk: config-store-service/src/main/java/org/apache/geronimo/devtools/ plugins/org.apache.geronimo.st.core/src/org/apache/geronimo/st/core/ plugins/org.apache.geronimo.st.jmxagent/ plugins/org... Date: Wed, 03 May 2006 19:46:18 -0000 To: scm@geronimo.apache.org From: sppatel@apache.org X-Mailer: svnmailer-1.0.8 X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Author: sppatel Date: Wed May 3 12:46:14 2006 New Revision: 399390 URL: http://svn.apache.org/viewcvs?rev=399390&view=rev Log: need to serialize IServer-IProject-ConfigID mappings Added: geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.core/src/org/apache/geronimo/st/core/ModuleArtifactMapper.java (with props) geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.jmxagent/src/org/apache/geronimo/st/jmxagent/Trace.java (with props) Modified: geronimo/devtools/eclipse-plugin/trunk/config-store-service/src/main/java/org/apache/geronimo/devtools/EclipseAwareConfigurationStore.java geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.core/src/org/apache/geronimo/st/core/Activator.java geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.core/src/org/apache/geronimo/st/core/GenericGeronimoServerBehaviour.java geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.jmxagent/META-INF/MANIFEST.MF geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.jmxagent/build.properties geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.jmxagent/src/org/apache/geronimo/st/jmxagent/ConfigurationStoreResolver.java geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.jmxagent/src/org/apache/geronimo/st/jmxagent/ConfigurationStoreResolverMBean.java geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.jmxagent/src/org/apache/geronimo/st/jmxagent/JMXAgent.java Modified: geronimo/devtools/eclipse-plugin/trunk/config-store-service/src/main/java/org/apache/geronimo/devtools/EclipseAwareConfigurationStore.java URL: http://svn.apache.org/viewcvs/geronimo/devtools/eclipse-plugin/trunk/config-store-service/src/main/java/org/apache/geronimo/devtools/EclipseAwareConfigurationStore.java?rev=399390&r1=399389&r2=399390&view=diff ============================================================================== --- geronimo/devtools/eclipse-plugin/trunk/config-store-service/src/main/java/org/apache/geronimo/devtools/EclipseAwareConfigurationStore.java (original) +++ geronimo/devtools/eclipse-plugin/trunk/config-store-service/src/main/java/org/apache/geronimo/devtools/EclipseAwareConfigurationStore.java Wed May 3 12:46:14 2006 @@ -48,7 +48,6 @@ public EclipseAwareConfigurationStore(Kernel kernel, String objectName, WritableListableRepository repository) { super(kernel, objectName, repository); - log.debug("EclipseAwareConfigurationStore()"); } /* @@ -74,9 +73,10 @@ MBeanServerConnection connection = connector.getMBeanServerConnection(); ObjectName on = ObjectName.getInstance("ConfigStoreResolver:name=resolver"); - log.debug("Resolving: " + artifact + " " + module + " " + path); + String configId = getConfigId(artifact); + log.debug("Resolving: " + configId + " " + module + " " + path); - result = (Set) connection.invoke(on, "resolve", new Object[] { artifact, module, path }, new String[] { "java.lang.String", "java.lang.String", "java.lang.String" }); + result = (Set) connection.invoke(on, "resolve", new Object[] { configId, module, path }, new String[] { "java.lang.String", "java.lang.String", "java.lang.String" }); log.debug("Resolved to: " + result); @@ -91,6 +91,18 @@ } } return result; + } + + private String getConfigId(Artifact artifact) { + StringBuffer buffer = new StringBuffer(); + buffer.append(artifact.getGroupId()); + buffer.append("/"); + buffer.append(artifact.getArtifactId()); + buffer.append("/"); + buffer.append(artifact.getVersion()); + buffer.append("/"); + buffer.append(artifact.getType()); + return buffer.toString(); } public static final GBeanInfo GBEAN_INFO; Modified: geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.core/src/org/apache/geronimo/st/core/Activator.java URL: http://svn.apache.org/viewcvs/geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.core/src/org/apache/geronimo/st/core/Activator.java?rev=399390&r1=399389&r2=399390&view=diff ============================================================================== --- geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.core/src/org/apache/geronimo/st/core/Activator.java (original) +++ geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.core/src/org/apache/geronimo/st/core/Activator.java Wed May 3 12:46:14 2006 @@ -37,6 +37,7 @@ * @see org.eclipse.core.runtime.Plugin#stop(org.osgi.framework.BundleContext) */ public void stop(BundleContext context) throws Exception { + ModuleArtifactMapper.getInstance().save(); super.stop(context); plugin = null; } Modified: geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.core/src/org/apache/geronimo/st/core/GenericGeronimoServerBehaviour.java URL: http://svn.apache.org/viewcvs/geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.core/src/org/apache/geronimo/st/core/GenericGeronimoServerBehaviour.java?rev=399390&r1=399389&r2=399390&view=diff ============================================================================== --- geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.core/src/org/apache/geronimo/st/core/GenericGeronimoServerBehaviour.java (original) +++ geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.core/src/org/apache/geronimo/st/core/GenericGeronimoServerBehaviour.java Wed May 3 12:46:14 2006 @@ -22,6 +22,7 @@ import javax.enterprise.deploy.spi.DeploymentManager; import javax.enterprise.deploy.spi.TargetModuleID; +import org.apache.geronimo.st.core.commands.DeploymentCmdStatus; import org.apache.geronimo.st.core.commands.DeploymentCommandFactory; import org.apache.geronimo.st.core.commands.IDeploymentCommand; import org.apache.geronimo.st.core.commands.TargetModuleIdNotFoundException; @@ -134,6 +135,12 @@ IStatus status = distribute(module); if (!status.isOK()) { doFail(status, Messages.DISTRIBUTE_FAIL); + } + + TargetModuleID[] ids = ((DeploymentCmdStatus) status).getResultTargetModuleIDs(); + ModuleArtifactMapper mapper = ModuleArtifactMapper.getInstance(); + for(int i = 0; i < ids.length; i++) { + mapper.addEntry(getServer(), module.getProject(), ids[i].getModuleID()); } status = start(module); Added: geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.core/src/org/apache/geronimo/st/core/ModuleArtifactMapper.java URL: http://svn.apache.org/viewcvs/geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.core/src/org/apache/geronimo/st/core/ModuleArtifactMapper.java?rev=399390&view=auto ============================================================================== --- geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.core/src/org/apache/geronimo/st/core/ModuleArtifactMapper.java (added) +++ geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.core/src/org/apache/geronimo/st/core/ModuleArtifactMapper.java Wed May 3 12:46:14 2006 @@ -0,0 +1,121 @@ +/** + * Copyright 2004, 2005 The Apache Software Foundation or its licensors, as applicable + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.geronimo.st.core; + +import java.io.BufferedInputStream; +import java.io.BufferedOutputStream; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.ObjectInput; +import java.io.ObjectInputStream; +import java.io.ObjectOutput; +import java.io.ObjectOutputStream; +import java.io.OutputStream; +import java.util.HashMap; +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.IServer; +import org.eclipse.wst.server.core.ServerCore; + +public class ModuleArtifactMapper { + + private static ModuleArtifactMapper instance = new ModuleArtifactMapper(); + + private static final String FILE_NAME = "servermodule.info"; + + HashMap serverEntries; + + private ModuleArtifactMapper() { + load(); + if (serverEntries == null) + serverEntries = new HashMap(); + } + + public static ModuleArtifactMapper getInstance() { + return instance; + } + + public IProject resolve(IServer server, String configId) { + Map artifactEntries = (Map) serverEntries.get(server.getId()); + if (artifactEntries != null) { + String projectName = (String) artifactEntries.get(configId); + if (projectName != null) + return ResourcesPlugin.getWorkspace().getRoot().getProject(projectName); + } + return null; + } + + public void addEntry(IServer server, IProject project, String configId) { + Map artifactEntries = (Map) serverEntries.get(server.getId()); + if (artifactEntries == null) { + artifactEntries = new HashMap(); + serverEntries.put(server.getId(), artifactEntries); + } + artifactEntries.put(configId, project.getName()); + } + + public IProject resolve(String serverId, String configId) { + IServer server = ServerCore.findServer(serverId); + return resolve(server, configId); + } + + public void save() { + ObjectOutput output = null; + try { + IPath dest = Activator.getDefault().getStateLocation().append(FILE_NAME); + OutputStream file = new FileOutputStream(dest.toFile()); + OutputStream buffer = new BufferedOutputStream(file); + output = new ObjectOutputStream(buffer); + output.writeObject(serverEntries); + } catch (IOException e) { + e.printStackTrace(); + } finally { + try { + if (output != null) + output.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + + private void load() { + ObjectInput input = null; + try { + IPath dest = Activator.getDefault().getStateLocation().append(FILE_NAME); + if (dest.toFile().exists()) { + InputStream file = new FileInputStream(dest.toFile()); + InputStream buffer = new BufferedInputStream(file); + input = new ObjectInputStream(buffer); + serverEntries = (HashMap) input.readObject(); + } + } catch (Exception e) { + e.printStackTrace(); + } finally { + try { + if (input != null) + input.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } +} Propchange: geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.core/src/org/apache/geronimo/st/core/ModuleArtifactMapper.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.core/src/org/apache/geronimo/st/core/ModuleArtifactMapper.java ------------------------------------------------------------------------------ svn:keywords = Date Rev Propchange: geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.core/src/org/apache/geronimo/st/core/ModuleArtifactMapper.java ------------------------------------------------------------------------------ svn:mime-type = text/plain Modified: geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.jmxagent/META-INF/MANIFEST.MF URL: http://svn.apache.org/viewcvs/geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.jmxagent/META-INF/MANIFEST.MF?rev=399390&r1=399389&r2=399390&view=diff ============================================================================== --- geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.jmxagent/META-INF/MANIFEST.MF (original) +++ geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.jmxagent/META-INF/MANIFEST.MF Wed May 3 12:46:14 2006 @@ -12,7 +12,9 @@ org.eclipse.wst.common.modulecore, org.eclipse.wst.common.project.facet.core, org.eclipse.jem.util, - org.eclipse.emf.ecore + org.eclipse.emf.ecore, + org.apache.geronimo.st.core, + org.eclipse.wst.server.core Eclipse-AutoStart: true Export-Package: org.apache.geronimo.st.jmxagent @@ -22,5 +24,4 @@ lib/mx4j-tools-3.0.1.jar, lib/hessian-3.0.8.jar, lib/geronimo-servlet_2.4_spec-1.0.jar, - lib/commons-logging-1.0.4.jar, - . + lib/commons-logging-1.0.4.jar Modified: geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.jmxagent/build.properties URL: http://svn.apache.org/viewcvs/geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.jmxagent/build.properties?rev=399390&r1=399389&r2=399390&view=diff ============================================================================== --- geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.jmxagent/build.properties (original) +++ geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.jmxagent/build.properties Wed May 3 12:46:14 2006 @@ -1,5 +1,3 @@ -source.. = src/ output.. = target/classes/ bin.includes = META-INF/,\ - .,\ lib/commons-logging-1.0.4.jar Modified: geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.jmxagent/src/org/apache/geronimo/st/jmxagent/ConfigurationStoreResolver.java URL: http://svn.apache.org/viewcvs/geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.jmxagent/src/org/apache/geronimo/st/jmxagent/ConfigurationStoreResolver.java?rev=399390&r1=399389&r2=399390&view=diff ============================================================================== --- geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.jmxagent/src/org/apache/geronimo/st/jmxagent/ConfigurationStoreResolver.java (original) +++ geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.jmxagent/src/org/apache/geronimo/st/jmxagent/ConfigurationStoreResolver.java Wed May 3 12:46:14 2006 @@ -20,6 +20,7 @@ import java.util.HashSet; import java.util.Set; +import org.apache.geronimo.st.core.ModuleArtifactMapper; import org.eclipse.core.resources.IContainer; import org.eclipse.core.resources.IProject; import org.eclipse.core.runtime.IPath; @@ -32,11 +33,14 @@ public class ConfigurationStoreResolver implements ConfigurationStoreResolverMBean { - public Set resolve(String configId, String module, String path) { - IProject project = getProject(configId); + public Set resolve(String configId, String module, String path) throws Exception { + + Trace.trace(Trace.INFO, "ConfigStore Resolve Query: " + configId + ":" + module + ":" + path); + + IProject project = ModuleArtifactMapper.getInstance().resolve("", configId); if (project == null) { - // error couldn't find project for artifact throw exception + throw new Exception("Could not find project in workspace for configId " + configId); } if (module != null && J2EEProjectUtilities.isEARProject(project)) { @@ -86,13 +90,10 @@ } } } + + Trace.trace(Trace.INFO, "ConfigStore Resolve Result: " + urls); return urls; - } - - public IProject getProject(String configId) { - // get IProject from IModule with persisted configID - return null; } } Modified: geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.jmxagent/src/org/apache/geronimo/st/jmxagent/ConfigurationStoreResolverMBean.java URL: http://svn.apache.org/viewcvs/geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.jmxagent/src/org/apache/geronimo/st/jmxagent/ConfigurationStoreResolverMBean.java?rev=399390&r1=399389&r2=399390&view=diff ============================================================================== --- geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.jmxagent/src/org/apache/geronimo/st/jmxagent/ConfigurationStoreResolverMBean.java (original) +++ geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.jmxagent/src/org/apache/geronimo/st/jmxagent/ConfigurationStoreResolverMBean.java Wed May 3 12:46:14 2006 @@ -19,6 +19,6 @@ public interface ConfigurationStoreResolverMBean { - public Set resolve(String configId, String module, String path); + public Set resolve(String configId, String module, String path) throws Exception; } Modified: geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.jmxagent/src/org/apache/geronimo/st/jmxagent/JMXAgent.java URL: http://svn.apache.org/viewcvs/geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.jmxagent/src/org/apache/geronimo/st/jmxagent/JMXAgent.java?rev=399390&r1=399389&r2=399390&view=diff ============================================================================== --- geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.jmxagent/src/org/apache/geronimo/st/jmxagent/JMXAgent.java (original) +++ geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.jmxagent/src/org/apache/geronimo/st/jmxagent/JMXAgent.java Wed May 3 12:46:14 2006 @@ -63,16 +63,7 @@ } if (!connectorServer.isActive()) { - Thread thread = new Thread() { - public void run() { - try { - connectorServer.start(); - } catch (Exception e) { - e.printStackTrace(); - } - } - }; - thread.start(); + connectorServer.start(); } } Added: geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.jmxagent/src/org/apache/geronimo/st/jmxagent/Trace.java URL: http://svn.apache.org/viewcvs/geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.jmxagent/src/org/apache/geronimo/st/jmxagent/Trace.java?rev=399390&view=auto ============================================================================== --- geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.jmxagent/src/org/apache/geronimo/st/jmxagent/Trace.java (added) +++ geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.jmxagent/src/org/apache/geronimo/st/jmxagent/Trace.java Wed May 3 12:46:14 2006 @@ -0,0 +1,76 @@ +/** + * Copyright 2004, 2005 The Apache Software Foundation or its licensors, as applicable + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.geronimo.st.jmxagent; + + +/** + * Helper class to route trace output. + */ +public class Trace { + + /** + * Finest trace event. + */ + public static byte INFO = 0; + + /** + * Warning trace event. + */ + public static byte WARNING = 1; + + /** + * Severe trace event. + */ + public static byte SEVERE = 2; + + /** + * Trace constructor comment. + */ + private Trace() { + super(); + } + + /** + * Trace the given text. + * + * @param level + * the trace level + * @param s + * a message + */ + public static void trace(byte level, String s) { + trace(level, s, null); + } + + /** + * Trace the given message and exception. + * + * @param level + * the trace level + * @param s + * a message + * @param t + * a throwable + */ + public static void trace(byte level, String s, Throwable t) { + if (!Activator.getDefault().isDebugging()) + return; + + System.out.println(Activator.PLUGIN_ID + ": " + s); + if (t != null) + t.printStackTrace(); + } +} \ No newline at end of file Propchange: geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.jmxagent/src/org/apache/geronimo/st/jmxagent/Trace.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.jmxagent/src/org/apache/geronimo/st/jmxagent/Trace.java ------------------------------------------------------------------------------ svn:keywords = Date Rev Propchange: geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.jmxagent/src/org/apache/geronimo/st/jmxagent/Trace.java ------------------------------------------------------------------------------ svn:mime-type = text/plain