You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by jd...@apache.org on 2008/09/18 19:40:27 UTC

svn commit: r696738 - in /geronimo/gshell/trunk/gshell-commands/gshell-admin/src/main: java/org/apache/geronimo/gshell/commands/admin/ resources/META-INF/spring/ resources/org/apache/geronimo/gshell/commands/admin/

Author: jdillon
Date: Thu Sep 18 10:40:27 2008
New Revision: 696738

URL: http://svn.apache.org/viewvc?rev=696738&view=rev
Log:
Add command to install a new GShell plugin

Added:
    geronimo/gshell/trunk/gshell-commands/gshell-admin/src/main/java/org/apache/geronimo/gshell/commands/admin/InstallPluginCommand.java   (with props)
    geronimo/gshell/trunk/gshell-commands/gshell-admin/src/main/resources/org/apache/geronimo/gshell/commands/admin/InstallPluginCommand.properties   (with props)
Modified:
    geronimo/gshell/trunk/gshell-commands/gshell-admin/src/main/java/org/apache/geronimo/gshell/commands/admin/ListPluginsCommand.java
    geronimo/gshell/trunk/gshell-commands/gshell-admin/src/main/resources/META-INF/spring/components.xml

Added: geronimo/gshell/trunk/gshell-commands/gshell-admin/src/main/java/org/apache/geronimo/gshell/commands/admin/InstallPluginCommand.java
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-commands/gshell-admin/src/main/java/org/apache/geronimo/gshell/commands/admin/InstallPluginCommand.java?rev=696738&view=auto
==============================================================================
--- geronimo/gshell/trunk/gshell-commands/gshell-admin/src/main/java/org/apache/geronimo/gshell/commands/admin/InstallPluginCommand.java (added)
+++ geronimo/gshell/trunk/gshell-commands/gshell-admin/src/main/java/org/apache/geronimo/gshell/commands/admin/InstallPluginCommand.java Thu Sep 18 10:40:27 2008
@@ -0,0 +1,75 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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.gshell.commands.admin;
+
+import org.apache.geronimo.gshell.application.plugin.PluginManager;
+import org.apache.geronimo.gshell.clp.Option;
+import org.apache.geronimo.gshell.command.CommandAction;
+import org.apache.geronimo.gshell.command.CommandContext;
+import org.apache.geronimo.gshell.io.IO;
+import org.apache.geronimo.gshell.model.application.PluginArtifact;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+
+/**
+ * Install a GShell plugin.
+ *
+ * @version $Rev$ $Date$
+ */
+public class InstallPluginCommand
+    implements CommandAction
+{
+    private final Logger log = LoggerFactory.getLogger(getClass());
+
+    @Autowired
+    private PluginManager pluginManager;
+
+    @Option(name="-g", aliases={"--groupId"}, argumentRequired=true, metaVar="GROUP-ID", required=true)
+    private String groupId;
+
+    @Option(name="-a", aliases={"--artifactId"}, argumentRequired=true, metaVar="ARTIFACT-ID", required=true)
+    private String artifactId;
+
+    @Option(name="-v", aliases={"--version"}, argumentRequired=true, metaVar="VERSION", required=true)
+    private String version;
+    
+    public Object execute(final CommandContext context) throws Exception {
+        assert context != null;
+        IO io = context.getIo();
+
+        PluginArtifact artifact = new PluginArtifact();
+        artifact.setGroupId(groupId);
+        artifact.setArtifactId(artifactId);
+        artifact.setVersion(version);
+
+        io.out.println("Loading plugin: " + artifact.getId());
+        
+        assert pluginManager != null;
+        try {
+            pluginManager.loadPlugin(artifact);
+            return Result.SUCCESS;
+        }
+        catch (Exception e) {
+            log.error("Failed to load plugin", e);
+            return Result.FAILURE;
+        }
+    }
+}
\ No newline at end of file

Propchange: geronimo/gshell/trunk/gshell-commands/gshell-admin/src/main/java/org/apache/geronimo/gshell/commands/admin/InstallPluginCommand.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/gshell/trunk/gshell-commands/gshell-admin/src/main/java/org/apache/geronimo/gshell/commands/admin/InstallPluginCommand.java
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Propchange: geronimo/gshell/trunk/gshell-commands/gshell-admin/src/main/java/org/apache/geronimo/gshell/commands/admin/InstallPluginCommand.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: geronimo/gshell/trunk/gshell-commands/gshell-admin/src/main/java/org/apache/geronimo/gshell/commands/admin/ListPluginsCommand.java
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-commands/gshell-admin/src/main/java/org/apache/geronimo/gshell/commands/admin/ListPluginsCommand.java?rev=696738&r1=696737&r2=696738&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-commands/gshell-admin/src/main/java/org/apache/geronimo/gshell/commands/admin/ListPluginsCommand.java (original)
+++ geronimo/gshell/trunk/gshell-commands/gshell-admin/src/main/java/org/apache/geronimo/gshell/commands/admin/ListPluginsCommand.java Thu Sep 18 10:40:27 2008
@@ -31,7 +31,7 @@
 import java.util.Set;
 
 /**
- * ???
+ * List installed GShell plugins.
  *
  * @version $Rev$ $Date$
  */

Modified: geronimo/gshell/trunk/gshell-commands/gshell-admin/src/main/resources/META-INF/spring/components.xml
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-commands/gshell-admin/src/main/resources/META-INF/spring/components.xml?rev=696738&r1=696737&r2=696738&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-commands/gshell-admin/src/main/resources/META-INF/spring/components.xml (original)
+++ geronimo/gshell/trunk/gshell-commands/gshell-admin/src/main/resources/META-INF/spring/components.xml Thu Sep 18 10:40:27 2008
@@ -53,6 +53,14 @@
                         <bean class="org.apache.geronimo.gshell.commands.admin.ListPluginsCommand"/>
                     </property>
                 </bean>
+
+                <bean class="org.apache.geronimo.gshell.wisdom.command.CommandImpl">
+                    <property name="id" value="gshell-admin:install-plugin"/>
+
+                    <property name="action">
+                        <bean class="org.apache.geronimo.gshell.commands.admin.InstallPluginCommand"/>
+                    </property>
+                </bean>
             </list>
         </property>
     </bean>

Added: geronimo/gshell/trunk/gshell-commands/gshell-admin/src/main/resources/org/apache/geronimo/gshell/commands/admin/InstallPluginCommand.properties
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-commands/gshell-admin/src/main/resources/org/apache/geronimo/gshell/commands/admin/InstallPluginCommand.properties?rev=696738&view=auto
==============================================================================
--- geronimo/gshell/trunk/gshell-commands/gshell-admin/src/main/resources/org/apache/geronimo/gshell/commands/admin/InstallPluginCommand.properties (added)
+++ geronimo/gshell/trunk/gshell-commands/gshell-admin/src/main/resources/org/apache/geronimo/gshell/commands/admin/InstallPluginCommand.properties Thu Sep 18 10:40:27 2008
@@ -0,0 +1,35 @@
+##
+## Licensed to the Apache Software Foundation (ASF) under one
+## or more contributor license agreements.  See the NOTICE file
+## distributed with this work for additional information
+## regarding copyright ownership.  The ASF licenses this file
+## to you 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.
+##
+
+##
+## $Rev$ $Date$
+##
+
+command.name=install-plugin
+
+command.description=Install a GShell plugin.
+
+command.option.groupId=Specify the groupId
+
+command.option.artifactId=Specify the artifactId
+
+command.option.version=Specify the version
+
+command.manual=\
+  TODO: install-plugin manual
\ No newline at end of file

Propchange: geronimo/gshell/trunk/gshell-commands/gshell-admin/src/main/resources/org/apache/geronimo/gshell/commands/admin/InstallPluginCommand.properties
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/gshell/trunk/gshell-commands/gshell-admin/src/main/resources/org/apache/geronimo/gshell/commands/admin/InstallPluginCommand.properties
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Propchange: geronimo/gshell/trunk/gshell-commands/gshell-admin/src/main/resources/org/apache/geronimo/gshell/commands/admin/InstallPluginCommand.properties
------------------------------------------------------------------------------
    svn:mime-type = text/plain