geronimo-scm mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From djen...@apache.org
Subject svn commit: r597481 - in /geronimo/server/trunk: assemblies/geronimo-boilerplate-minimal/src/main/underlay/etc/ framework/modules/geronimo-commands/src/main/groovy/org/apache/geronimo/commands/ framework/modules/geronimo-deploy-tool/src/main/java/org/a...
Date Thu, 22 Nov 2007 19:25:05 GMT
Author: djencks
Date: Thu Nov 22 11:25:03 2007
New Revision: 597481

URL: http://svn.apache.org/viewvc?rev=597481&view=rev
Log:
GERONIMO-3605 sync with current gshell, use consoleReader more, cache more, allow a comment
for a module in config.xml in plugin metadata.

Modified:
    geronimo/server/trunk/assemblies/geronimo-boilerplate-minimal/src/main/underlay/etc/layout.xml
    geronimo/server/trunk/framework/modules/geronimo-commands/src/main/groovy/org/apache/geronimo/commands/ConnectCommand.groovy
    geronimo/server/trunk/framework/modules/geronimo-commands/src/main/groovy/org/apache/geronimo/commands/DisconnectCommand.groovy
    geronimo/server/trunk/framework/modules/geronimo-commands/src/main/groovy/org/apache/geronimo/commands/ListConfigurationsCommand.groovy
    geronimo/server/trunk/framework/modules/geronimo-deploy-tool/src/main/java/org/apache/geronimo/deployment/cli/CommandListConfigurations.java
    geronimo/server/trunk/framework/modules/geronimo-deploy-tool/src/main/java/org/apache/geronimo/deployment/cli/CommandStart.java
    geronimo/server/trunk/framework/modules/geronimo-deploy-tool/src/main/java/org/apache/geronimo/deployment/cli/DeployUtils.java
    geronimo/server/trunk/framework/modules/geronimo-system/src/main/xsd/attributes-1.2.xsd
    geronimo/server/trunk/framework/modules/geronimo-system/src/main/xsd/plugins-1.3.xsd

Modified: geronimo/server/trunk/assemblies/geronimo-boilerplate-minimal/src/main/underlay/etc/layout.xml
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/assemblies/geronimo-boilerplate-minimal/src/main/underlay/etc/layout.xml?rev=597481&r1=597480&r2=597481&view=diff
==============================================================================
--- geronimo/server/trunk/assemblies/geronimo-boilerplate-minimal/src/main/underlay/etc/layout.xml
(original)
+++ geronimo/server/trunk/assemblies/geronimo-boilerplate-minimal/src/main/underlay/etc/layout.xml
Thu Nov 22 11:25:03 2007
@@ -97,6 +97,27 @@
                 </command>
             </nodes>
         </group>
+        
+        <group>
+            <name>deploy</name>
+
+            <nodes>
+                <command>
+                    <name>connect</name>
+                    <id>geronimo-commands:connect</id>
+                </command>
+
+                <command>
+                    <name>list-plugins</name>
+                    <id>geronimo-commands:list-plugins</id>
+                </command>
+
+                <command>
+                    <name>disconnect</name>
+                    <id>geronimo-commands:disconnect</id>
+                </command>
+            </nodes>
+        </group>
 
     </nodes>
 </layout>

Modified: geronimo/server/trunk/framework/modules/geronimo-commands/src/main/groovy/org/apache/geronimo/commands/ConnectCommand.groovy
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/modules/geronimo-commands/src/main/groovy/org/apache/geronimo/commands/ConnectCommand.groovy?rev=597481&r1=597480&r2=597481&view=diff
==============================================================================
--- geronimo/server/trunk/framework/modules/geronimo-commands/src/main/groovy/org/apache/geronimo/commands/ConnectCommand.groovy
(original)
+++ geronimo/server/trunk/framework/modules/geronimo-commands/src/main/groovy/org/apache/geronimo/commands/ConnectCommand.groovy
Thu Nov 22 11:25:03 2007
@@ -19,6 +19,7 @@
 
 package org.apache.geronimo.commands
 
+import org.apache.geronimo.gshell.clp.Option
 import org.apache.geronimo.gshell.command.annotation.CommandComponent
 import org.apache.geronimo.gshell.command.CommandSupport
 import org.apache.geronimo.deployment.cli.ServerConnection
@@ -33,20 +34,21 @@
  *
  * @version $Rev: 580864 $ $Date: 2007-09-30 23:47:39 -0700 (Sun, 30 Sep 2007) $
  */
-@CommandComponent(id='connect')
+@CommandComponent(id='geronimo-commands:connect', description="Connect to a Geronimo server")
 class ConnectCommand
     extends CommandSupport
 {
-    //
-    // TODO: Expose as options, maybe expose a single URI-ish thingy?
-    //
 
+    @Option(name='-s', aliases=['--hostname', '--server'], description='Hostname, default
localhost')
     String hostname = 'localhost'
 
+    @Option(name='-p', aliases=['--port'], description='port, default 1099')
     int port = 1099
 
+    @Option(name='-u', aliases=['--username'], description='username')
     String username = 'system'
 
+    @Option(name='-w', aliases=['--password'], description='password')
     String password = 'manager'
 
     protected Object doExecute() throws Exception {

Modified: geronimo/server/trunk/framework/modules/geronimo-commands/src/main/groovy/org/apache/geronimo/commands/DisconnectCommand.groovy
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/modules/geronimo-commands/src/main/groovy/org/apache/geronimo/commands/DisconnectCommand.groovy?rev=597481&r1=597480&r2=597481&view=diff
==============================================================================
--- geronimo/server/trunk/framework/modules/geronimo-commands/src/main/groovy/org/apache/geronimo/commands/DisconnectCommand.groovy
(original)
+++ geronimo/server/trunk/framework/modules/geronimo-commands/src/main/groovy/org/apache/geronimo/commands/DisconnectCommand.groovy
Thu Nov 22 11:25:03 2007
@@ -28,7 +28,7 @@
  *
  * @version $Rev: 580864 $ $Date: 2007-09-30 23:47:39 -0700 (Sun, 30 Sep 2007) $
  */
-@CommandComponent(id='disconnect')
+@CommandComponent(id='geronimo-commands:disconnect', description="Disconnect from a Geronimo
server")
 class DisconnectCommand
     extends CommandSupport
 {

Modified: geronimo/server/trunk/framework/modules/geronimo-commands/src/main/groovy/org/apache/geronimo/commands/ListConfigurationsCommand.groovy
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/modules/geronimo-commands/src/main/groovy/org/apache/geronimo/commands/ListConfigurationsCommand.groovy?rev=597481&r1=597480&r2=597481&view=diff
==============================================================================
--- geronimo/server/trunk/framework/modules/geronimo-commands/src/main/groovy/org/apache/geronimo/commands/ListConfigurationsCommand.groovy
(original)
+++ geronimo/server/trunk/framework/modules/geronimo-commands/src/main/groovy/org/apache/geronimo/commands/ListConfigurationsCommand.groovy
Thu Nov 22 11:25:03 2007
@@ -22,6 +22,7 @@
 
 import jline.ConsoleReader
 
+import org.apache.geronimo.gshell.clp.Option
 import org.apache.geronimo.gshell.command.annotation.CommandComponent
 import org.apache.geronimo.gshell.command.CommandSupport
 import org.apache.geronimo.deployment.cli.ServerConnection
@@ -29,38 +30,45 @@
 import org.apache.geronimo.deployment.cli.CommandListConfigurations
 
 /**
- * Stops a running Geronimo server instance.
+ * install plugins.
  *
  * @version $Rev: 580864 $ $Date: 2007-09-30 23:47:39 -0700 (Sun, 30 Sep 2007) $
  */
-@CommandComponent(id='list-plugins')
+@CommandComponent(id='geronimo-commands:list-plugins', description="Install plugins into
a geronimo server")
 class ListConfigurationsCommand
-    extends CommandSupport
+    extends ConnectCommand
 {
+    @Option(name='-r', aliases=['--repository'], description='refresh repository')
+    boolean refreshRepo = false
+
+    @Option(name='-l', aliases=['--list'], description='refresh plugin list')
+    boolean refreshList = false
 
     protected Object doExecute() throws Exception {
         io.out.println("Listing configurations from Geronimo server")
 
         def connection = variables.get("ServerConnection")
         if (!connection) {
-            def connectCommand = new ConnectCommand()
-            connectCommand.init(context)
-            connection = connectCommand.doExecute()
+            //def connectCommand = new ConnectCommand()
+            //connectCommand.init(context)
+            connection = super.doExecute()
         }
         def command = new CommandListConfigurations()
         def consoleReader = new ConsoleReader(io.inputStream, io.out)
         def repo = variables.get("PluginRepository")
-        if (!repo) {
+        if (refreshRepo || !repo) {
             repo = command.getRepository(consoleReader, connection.getDeploymentManager())
             variables.parent.set("PluginRepository", repo)
         }
         def plugins = variables.get("AvailablePlugins")
-        if (!plugins) {
+        if (refreshList || !plugins) {
             plugins = command.getPluginCategories(repo, connection.getDeploymentManager(),
consoleReader)
             variables.parent.set("AvailablePlugins", plugins)
         }
         def pluginsToInstall = command.getInstallList(plugins, consoleReader, repo)
-        command.installPlugins(connection.getDeploymentManager(), pluginsToInstall, consoleReader,
connection)
+        if (pluginsToInstall) {
+            command.installPlugins(connection.getDeploymentManager(), pluginsToInstall, consoleReader,
connection)
+        }
         io.out.println("list ended")
     }
 }

Modified: geronimo/server/trunk/framework/modules/geronimo-deploy-tool/src/main/java/org/apache/geronimo/deployment/cli/CommandListConfigurations.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/modules/geronimo-deploy-tool/src/main/java/org/apache/geronimo/deployment/cli/CommandListConfigurations.java?rev=597481&r1=597480&r2=597481&view=diff
==============================================================================
--- geronimo/server/trunk/framework/modules/geronimo-deploy-tool/src/main/java/org/apache/geronimo/deployment/cli/CommandListConfigurations.java
(original)
+++ geronimo/server/trunk/framework/modules/geronimo-deploy-tool/src/main/java/org/apache/geronimo/deployment/cli/CommandListConfigurations.java
Thu Nov 22 11:25:03 2007
@@ -19,9 +19,12 @@
 import java.io.IOException;
 import java.net.URL;
 import java.util.ArrayList;
-import java.util.HashMap;
+import java.util.Collection;
+import java.util.Comparator;
 import java.util.List;
 import java.util.Map;
+import java.util.TreeMap;
+import java.util.TreeSet;
 
 import javax.enterprise.deploy.spi.DeploymentManager;
 import javax.security.auth.login.FailedLoginException;
@@ -58,7 +61,7 @@
                 } else {
                     repo = getRepository(consoleReader, mgr);
                 }
-                Map<String, List<PluginType>> categories = getPluginCategories(repo,
mgr, consoleReader);
+                Map<String, Collection<PluginType>> categories = getPluginCategories(repo,
mgr, consoleReader);
                 if (categories == null) {
                     return;
                 }
@@ -86,32 +89,28 @@
         int time = (int) (System.currentTimeMillis() - start) / 1000;
         consoleReader.printNewline();
         if (!results.isFailed()) {
-            consoleReader.printString(DeployUtils.reformat("**** Installation Complete!",
4, 72));
-            consoleReader.printNewline();
+            DeployUtils.println("**** Installation Complete!", 0, consoleReader);
 
             for (int i = 0; i < results.getDependenciesPresent().length; i++) {
                 Artifact uri = results.getDependenciesPresent()[i];
-                consoleReader.printString(DeployUtils.reformat("Used existing: " + uri, 4,
72));
-                consoleReader.printNewline();
+                DeployUtils.println("Used existing: " + uri, 0, consoleReader);
 
             }
             for (int i = 0; i < results.getDependenciesInstalled().length; i++) {
                 Artifact uri = results.getDependenciesInstalled()[i];
-                consoleReader.printString(DeployUtils.reformat("Installed new: " + uri, 4,
72));
-                consoleReader.printNewline();
+                DeployUtils.println("Installed new: " + uri, 0, consoleReader);
 
             }
             consoleReader.printNewline();
-            consoleReader.printString(DeployUtils.reformat(
+            DeployUtils.println(
                     "Downloaded " + (results.getTotalDownloadBytes() / 1024) + " kB in "
+ time + "s (" + results.getTotalDownloadBytes() / (1024 * time) + " kB/s)",
-                    4, 72));
-            consoleReader.printNewline();
+                    0, consoleReader);
 
         }
         if (results.isFinished() && !results.isFailed()) {
             for (PluginType plugin : list.getPlugin()) {
                 for (PluginArtifactType targetInstance : plugin.getPluginArtifact()) {
-                    consoleReader.printString(DeployUtils.reformat("Now starting " + PluginInstallerGBean.toArtifact(targetInstance.getModuleId())
+ "...", 4, 72));
+                    DeployUtils.println("Now starting " + PluginInstallerGBean.toArtifact(targetInstance.getModuleId())
+ "...", 0, consoleReader);
                     consoleReader.flushConsole();
                     new CommandStart().execute(consoleReader, connection,
                             new BaseCommandArgs(new String[]{PluginInstallerGBean.toArtifact(targetInstance.getModuleId()).toString()}));
@@ -120,32 +119,19 @@
         }
     }
 
-    public PluginListType getInstallList(Map<String, List<PluginType>> categories,
ConsoleReader consoleReader, String repo) throws IOException {
+    public PluginListType getInstallList(Map<String, Collection<PluginType>>
categories, ConsoleReader consoleReader, String repo) throws IOException {
         List<PluginType> available = new ArrayList<PluginType>();
-        for (Map.Entry<String, List<PluginType>> entry : categories.entrySet())
{
+        for (Map.Entry<String, Collection<PluginType>> entry : categories.entrySet())
{
             String category = entry.getKey();
-            if (category == null) {
-                category = "<no category>";
-            }
-            List<PluginType> items = entry.getValue();
+            Collection<PluginType> items = entry.getValue();
+            consoleReader.printString(category);
             consoleReader.printNewline();
-            consoleReader.printString(DeployUtils.reformat(category, 4, 72));
             for (PluginType metadata : items) {
-                consoleReader.printString("  " + metadata.getName());
                 for (PluginArtifactType instance : metadata.getPluginArtifact()) {
-                    String prefix;
-//                            if (!instance.isInstalled() && instance.isEligible())
{
                     PluginType copy = PluginInstallerGBean.copy(metadata, instance);
                     available.add(copy);
-                    prefix = Integer.toString(available.size());
-                    if (available.size() < 10) {
-                        prefix += " ";
-                    }
-                    prefix += ": ";
-//                            }
-                    consoleReader.printString(DeployUtils.reformat(
-                            prefix + " (" + instance.getModuleId().getVersion() + ")", 8,
72));
-                    consoleReader.printNewline();
+                    DeployUtils.printTo("  " + available.size() + ":  ", 10, consoleReader);
+                    DeployUtils.println(metadata.getName() + " (" + instance.getModuleId().getVersion()
+ ")", 0, consoleReader);
                 }
             }
         }
@@ -156,7 +142,6 @@
             return null;
         }
         consoleReader.printNewline();
-//                consoleReader.print("Install Service [enter number or 'q' to quit]: ");
         consoleReader.flushConsole();
         String answer = consoleReader.readLine("Install Services [enter a comma separated
list of numbers or 'q' to quit]: ").trim();
         if (answer.equalsIgnoreCase("q")) {
@@ -172,7 +157,7 @@
         return list;
     }
 
-    public Map<String, List<PluginType>> getPluginCategories(String repo, GeronimoDeploymentManager
mgr, ConsoleReader consoleReader) throws DeploymentException, IOException {
+    public Map<String, Collection<PluginType>> getPluginCategories(String repo,
GeronimoDeploymentManager mgr, ConsoleReader consoleReader) throws DeploymentException, IOException
{
         PluginListType data;
         URL repository;
         try {
@@ -190,12 +175,22 @@
             consoleReader.flushConsole();
             return null;
         }
-        Map<String, List<PluginType>> categories = new HashMap<String, List<PluginType>>();
+        Map<String, Collection<PluginType>> categories = new TreeMap<String,
Collection<PluginType>>();
+        Comparator<PluginType> comp = new Comparator<PluginType>() {
+
+            public int compare(PluginType o1, PluginType o2) {
+                return o1.getName().compareTo(o2.getName());
+            }
+        };
         for (PluginType metadata : data.getPlugin()) {
-            List<PluginType> list = categories.get(metadata.getCategory());
+            String category = metadata.getCategory();
+            if (category == null) {
+                category = "<no category>";
+            }
+            Collection<PluginType> list = categories.get(category);
             if (list == null) {
-                list = new ArrayList<PluginType>();
-                categories.put(metadata.getCategory(), list);
+                list = new TreeSet<PluginType>(comp);
+                categories.put(category, list);
             }
             list.add(metadata);
         }
@@ -214,12 +209,9 @@
         consoleReader.printNewline();
         for (int i = 0; i < all.length; i++) {
             URL url = all[i];
-            consoleReader.printString("  " + (i + 1) + ". " + url);
-            consoleReader.printNewline();
+            DeployUtils.printTo("  " + (i + 1) + ". ", 8, consoleReader);
+            DeployUtils.println(url.toString(), 0, consoleReader);
         }
-        consoleReader.printNewline();
-//        consoleReader.print("Enter Repository Number: ");
-        consoleReader.flushConsole();
         String entry = consoleReader.readLine("Enter Repository Number: ").trim();
         int index = Integer.parseInt(entry);
         return all[index - 1].toString();

Modified: geronimo/server/trunk/framework/modules/geronimo-deploy-tool/src/main/java/org/apache/geronimo/deployment/cli/CommandStart.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/modules/geronimo-deploy-tool/src/main/java/org/apache/geronimo/deployment/cli/CommandStart.java?rev=597481&r1=597480&r2=597481&view=diff
==============================================================================
--- geronimo/server/trunk/framework/modules/geronimo-deploy-tool/src/main/java/org/apache/geronimo/deployment/cli/CommandStart.java
(original)
+++ geronimo/server/trunk/framework/modules/geronimo-deploy-tool/src/main/java/org/apache/geronimo/deployment/cli/CommandStart.java
Thu Nov 22 11:25:03 2007
@@ -63,11 +63,11 @@
             consoleReader.printNewline();
             for(int i = 0; i < done.length; i++) {
                 TargetModuleID id = done[i];
-                consoleReader.printString(DeployUtils.reformat(getAction()+" "+id.getModuleID()+((multiple
&& id.getTarget() != null) ? " on "+ id.getTarget().getName() : "")+(id.getWebURL()
== null || !getAction().equals("Started") ? "" : " @ "+id.getWebURL()),4, 72));
+                DeployUtils.println(getAction()+" "+id.getModuleID()+((multiple &&
id.getTarget() != null) ? " on "+ id.getTarget().getName() : "")+(id.getWebURL() == null ||
!getAction().equals("Started") ? "" : " @ "+id.getWebURL()),4, consoleReader);
                 if(id.getChildTargetModuleID() != null) {
                     for (int j = 0; j < id.getChildTargetModuleID().length; j++) {
                         TargetModuleID child = id.getChildTargetModuleID()[j];
-                        consoleReader.printString(DeployUtils.reformat("  `-> "+child.getModuleID()+(child.getWebURL()
== null || getAction().toLowerCase().indexOf("started") == -1 ? "" : " @ "+child.getWebURL()),4,
72));
+                        DeployUtils.println("  `-> "+child.getModuleID()+(child.getWebURL()
== null || getAction().toLowerCase().indexOf("started") == -1 ? "" : " @ "+child.getWebURL()),4,
consoleReader);
                     }
                 } // Also print childs if existing in earlier configuration
                 else{
@@ -77,12 +77,12 @@
                         if(childs.getChildTargetModuleID() != null) {
                             for (int j = 0; j < childs.getChildTargetModuleID().length;
j++) {
                                 TargetModuleID child = childs.getChildTargetModuleID()[j];
-                                consoleReader.printString(DeployUtils.reformat("  `->
"+child.getModuleID()+(child.getWebURL() == null || getAction().toLowerCase().indexOf("started")
== -1 ? "" : " @ "+child.getWebURL()),4, 72));
+                                DeployUtils.println("  `-> "+child.getModuleID()+(child.getWebURL()
== null || getAction().toLowerCase().indexOf("started") == -1 ? "" : " @ "+child.getWebURL()),4,
consoleReader);
                             }
                         }
                     }
                 }
-                consoleReader.printNewline();
+//                consoleReader.printNewline();
             }
         } catch (IOException e) {
             throw new DeploymentException("could not write to console", e);

Modified: geronimo/server/trunk/framework/modules/geronimo-deploy-tool/src/main/java/org/apache/geronimo/deployment/cli/DeployUtils.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/modules/geronimo-deploy-tool/src/main/java/org/apache/geronimo/deployment/cli/DeployUtils.java?rev=597481&r1=597480&r2=597481&view=diff
==============================================================================
--- geronimo/server/trunk/framework/modules/geronimo-deploy-tool/src/main/java/org/apache/geronimo/deployment/cli/DeployUtils.java
(original)
+++ geronimo/server/trunk/framework/modules/geronimo-deploy-tool/src/main/java/org/apache/geronimo/deployment/cli/DeployUtils.java
Thu Nov 22 11:25:03 2007
@@ -21,6 +21,7 @@
 import java.io.IOException;
 import java.io.StringReader;
 
+import jline.ConsoleReader;
 import org.apache.geronimo.deployment.plugin.ConfigIDExtractor;
 
 /**
@@ -32,6 +33,7 @@
     /**
      * Split up an output line so it indents at beginning and end (to fit in a
      * typical terminal) and doesn't break in the middle of a word.
+     *
      * @param source The unformatted String
      * @param indent The number of characters to indent on the left
      * @param endCol The maximum width of the entire line in characters,
@@ -39,32 +41,32 @@
      *               in 60 "usable" characters).
      */
     public static String reformat(String source, int indent, int endCol) {
-        if(endCol-indent < 10) {
+        if (endCol - indent < 10) {
             throw new IllegalArgumentException("This is ridiculous!");
         }
-        StringBuffer buf = new StringBuffer((int)(source.length()*1.1));
+        StringBuffer buf = new StringBuffer((int) (source.length() * 1.1));
         String prefix = indent == 0 ? "" : buildIndent(indent);
         try {
             BufferedReader in = new BufferedReader(new StringReader(source));
             String line;
             int pos;
-            while((line = in.readLine()) != null) {
-                if(buf.length() > 0) {
+            while ((line = in.readLine()) != null) {
+                if (buf.length() > 0) {
                     buf.append('\n');
                 }
-                while(line.length() > 0) {
+                while (line.length() > 0) {
                     line = prefix + line;
-                    if(line.length() > endCol) {
+                    if (line.length() > endCol) {
                         pos = line.lastIndexOf(' ', endCol);
-                        if(pos < indent) {
+                        if (pos < indent) {
                             pos = line.indexOf(' ', endCol);
-                            if(pos < indent) {
+                            if (pos < indent) {
                                 pos = line.length();
                             }
                         }
                         buf.append(line.substring(0, pos)).append('\n');
-                        if(pos < line.length()-1) {
-                            line = line.substring(pos+1);
+                        if (pos < line.length() - 1) {
+                            line = line.substring(pos + 1);
                         } else {
                             break;
                         }
@@ -75,14 +77,58 @@
                 }
             }
         } catch (IOException e) {
-            throw (AssertionError)new AssertionError("This should be impossible").initCause(e);
+            throw (AssertionError) new AssertionError("This should be impossible").initCause(e);
         }
         return buf.toString();
     }
 
+    public static void println(String line, int indent, ConsoleReader consoleReader) throws
IOException {
+        int endCol = consoleReader.getTermwidth();
+        int start = consoleReader.getCursorBuffer().cursor;
+        if (endCol - indent < 10) {
+            throw new IllegalArgumentException("This is ridiculous!");
+        }
+//        StringBuffer buf = new StringBuffer((int)(source.length()*1.1));
+        String prefix = indent == 0 ? "" : buildIndent(indent);
+        int pos;
+        while (line.length() > 0) {
+            if (start == 0) {
+                line = prefix + line;
+            }
+            if (line.length() > endCol - start) {
+                pos = line.lastIndexOf(' ', endCol - start);
+                if (pos < indent) {
+                    pos = line.indexOf(' ', endCol - start);
+                    if (pos < indent) {
+                        pos = line.length();
+                    }
+                }
+                consoleReader.printString(line.substring(0, pos));
+                consoleReader.printNewline();
+                if (pos < line.length() - 1) {
+                    line = line.substring(pos + 1);
+                } else {
+                    break;
+                }
+                start = 0;
+            } else {
+                consoleReader.printString(line);
+                consoleReader.printNewline();
+                break;
+            }
+        }
+    }
+
+    public static void printTo(String string, int col, ConsoleReader consoleReader) throws
IOException {
+        consoleReader.printString(string);
+        for (int i = string.length(); i < col; i++) {
+            consoleReader.printString(" ");
+        }
+    }
+
     private static String buildIndent(int indent) {
         StringBuffer buf = new StringBuffer(indent);
-        for(int i=0; i<indent; i++) {
+        for (int i = 0; i < indent; i++) {
             buf.append(' ');
         }
         return buf.toString();

Modified: geronimo/server/trunk/framework/modules/geronimo-system/src/main/xsd/attributes-1.2.xsd
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/modules/geronimo-system/src/main/xsd/attributes-1.2.xsd?rev=597481&r1=597480&r2=597481&view=diff
==============================================================================
--- geronimo/server/trunk/framework/modules/geronimo-system/src/main/xsd/attributes-1.2.xsd
(original)
+++ geronimo/server/trunk/framework/modules/geronimo-system/src/main/xsd/attributes-1.2.xsd
Thu Nov 22 11:25:03 2007
@@ -78,6 +78,7 @@
             </xsd:documentation>
         </xsd:annotation>
     </xsd:element>
+    <xsd:element name="comment" type="xsd:string"/>
 
     <xsd:complexType name="attributesType">
         <xsd:sequence>

Modified: geronimo/server/trunk/framework/modules/geronimo-system/src/main/xsd/plugins-1.3.xsd
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/modules/geronimo-system/src/main/xsd/plugins-1.3.xsd?rev=597481&r1=597480&r2=597481&view=diff
==============================================================================
--- geronimo/server/trunk/framework/modules/geronimo-system/src/main/xsd/plugins-1.3.xsd (original)
+++ geronimo/server/trunk/framework/modules/geronimo-system/src/main/xsd/plugins-1.3.xsd Thu
Nov 22 11:25:03 2007
@@ -362,6 +362,8 @@
             </xs:documentation>
         </xs:annotation>
         <xs:sequence>
+            <xs:element ref="atts:comment" minOccurs="0"
+                maxOccurs="1" />
             <xs:element ref="atts:gbean" maxOccurs="unbounded"/>
         </xs:sequence>
         <xs:attribute name="load" type="xs:boolean" default="true">
@@ -506,12 +508,12 @@
                 archive), though that will not be used to construct the destination
                 location. For example:
 
-                <copy-file relative-to="server" dest-dir="security/keystores">
+                <copy-file relative-to="server" dest-dir="var/security/keystores">
                     resources/keystores/my-keystore
                 </copy-file>
 
                 This will copy the file resources/keystores/my-keystore to e.g.
-                geronimo/var/security/keystores/my-keystore
+                var/security/keystores/my-keystore
             </xs:documentation>
         </xs:annotation>
 
@@ -521,8 +523,8 @@
                     <xs:annotation>
                         <xs:documentation>
                             Indicates whether the destination is relative to the Geronimo
install
-                            directory or the server instance var/ directory. The values presently
-                            supported are:
+                            directory or the server instance directory (which are the same
unless
+                            the server instance is configured).  The values presently supported
are:
 
                             geronimo
                             server
@@ -540,8 +542,8 @@
                     <xs:annotation>
                         <xs:documentation>
                             The directory to copy the file to, relative to either the Geronimo
-                            install dir or the server's home directory (normally var/ but
may
-                            vary).
+                            install dir or the server's home directory (normally the same
as the
+                            Geronimo install dir but may be configured to be elsewhere).
                         </xs:documentation>
                     </xs:annotation>
                 </xs:attribute>



Mime
View raw message