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 2007/09/11 03:47:19 UTC
svn commit: r574424 - in /geronimo/sandbox/gshell/trunk:
gshell-cli/src/main/java/org/apache/geronimo/gshell/cli/
gshell-cli/src/main/resources/META-INF/plexus/
gshell-core/src/main/java/org/apache/geronimo/gshell/
gshell-core/src/main/java/org/apache/...
Author: jdillon
Date: Mon Sep 10 18:47:18 2007
New Revision: 574424
URL: http://svn.apache.org/viewvc?rev=574424&view=rev
Log:
Move the line to the branding, fixed up a few other bits
Modified:
geronimo/sandbox/gshell/trunk/gshell-cli/src/main/java/org/apache/geronimo/gshell/cli/Main.java
geronimo/sandbox/gshell/trunk/gshell-cli/src/main/resources/META-INF/plexus/plexus.xml
geronimo/sandbox/gshell/trunk/gshell-core/src/main/java/org/apache/geronimo/gshell/DefaultShell.java
geronimo/sandbox/gshell/trunk/gshell-core/src/main/java/org/apache/geronimo/gshell/DefaultShellInfo.java
geronimo/sandbox/gshell/trunk/gshell-core/src/main/java/org/apache/geronimo/gshell/branding/Branding.java
geronimo/sandbox/gshell/trunk/gshell-core/src/main/java/org/apache/geronimo/gshell/branding/DefaultBranding.java
geronimo/sandbox/gshell/trunk/gshell-core/src/main/java/org/apache/geronimo/gshell/console/TerminalFactory.java
geronimo/sandbox/gshell/trunk/gshell-core/src/main/java/org/apache/geronimo/gshell/lookup/EnvironmentLookup.java
Modified: geronimo/sandbox/gshell/trunk/gshell-cli/src/main/java/org/apache/geronimo/gshell/cli/Main.java
URL: http://svn.apache.org/viewvc/geronimo/sandbox/gshell/trunk/gshell-cli/src/main/java/org/apache/geronimo/gshell/cli/Main.java?rev=574424&r1=574423&r2=574424&view=diff
==============================================================================
--- geronimo/sandbox/gshell/trunk/gshell-cli/src/main/java/org/apache/geronimo/gshell/cli/Main.java (original)
+++ geronimo/sandbox/gshell/trunk/gshell-cli/src/main/java/org/apache/geronimo/gshell/cli/Main.java Mon Sep 10 18:47:18 2007
@@ -192,7 +192,7 @@
//
if (help) {
- io.out.println(System.getProperty("program.name", branding.getName()) + " [options] <command> [args]");
+ io.out.println(branding.getProgramName() + " [options] <command> [args]");
io.out.println();
Printer printer = new Printer(clp);
Modified: geronimo/sandbox/gshell/trunk/gshell-cli/src/main/resources/META-INF/plexus/plexus.xml
URL: http://svn.apache.org/viewvc/geronimo/sandbox/gshell/trunk/gshell-cli/src/main/resources/META-INF/plexus/plexus.xml?rev=574424&r1=574423&r2=574424&view=diff
==============================================================================
--- geronimo/sandbox/gshell/trunk/gshell-cli/src/main/resources/META-INF/plexus/plexus.xml (original)
+++ geronimo/sandbox/gshell/trunk/gshell-cli/src/main/resources/META-INF/plexus/plexus.xml Mon Sep 10 18:47:18 2007
@@ -80,6 +80,9 @@
<requirement>
<role>org.apache.geronimo.gshell.branding.VersionLoader</role>
</requirement>
+ <requirement>
+ <role>jline.Terminal</role>
+ </requirement>
</requirements>
</component>
Modified: geronimo/sandbox/gshell/trunk/gshell-core/src/main/java/org/apache/geronimo/gshell/DefaultShell.java
URL: http://svn.apache.org/viewvc/geronimo/sandbox/gshell/trunk/gshell-core/src/main/java/org/apache/geronimo/gshell/DefaultShell.java?rev=574424&r1=574423&r2=574424&view=diff
==============================================================================
--- geronimo/sandbox/gshell/trunk/gshell-core/src/main/java/org/apache/geronimo/gshell/DefaultShell.java (original)
+++ geronimo/sandbox/gshell/trunk/gshell-core/src/main/java/org/apache/geronimo/gshell/DefaultShell.java Mon Sep 10 18:47:18 2007
@@ -219,15 +219,7 @@
// Unless the user wants us to shut up, then display a nice welcome banner
if (!io.isQuiet()) {
- io.out.print(branding.getWelcomeBanner());
-
- // HACK: If we can't tell, or have something bogus then use a reasonable default
- int width = terminal.getTerminalWidth();
- if (width < 1) {
- width = 80;
- }
-
- io.out.println(StringUtils.repeat("-", width - 1));
+ io.out.println(branding.getWelcomeBanner());
}
// Check if there are args, and run them and then enter interactive
Modified: geronimo/sandbox/gshell/trunk/gshell-core/src/main/java/org/apache/geronimo/gshell/DefaultShellInfo.java
URL: http://svn.apache.org/viewvc/geronimo/sandbox/gshell/trunk/gshell-core/src/main/java/org/apache/geronimo/gshell/DefaultShellInfo.java?rev=574424&r1=574423&r2=574424&view=diff
==============================================================================
--- geronimo/sandbox/gshell/trunk/gshell-core/src/main/java/org/apache/geronimo/gshell/DefaultShellInfo.java (original)
+++ geronimo/sandbox/gshell/trunk/gshell-core/src/main/java/org/apache/geronimo/gshell/DefaultShellInfo.java Mon Sep 10 18:47:18 2007
@@ -85,6 +85,10 @@
private File detectHomeDir() throws InitializationException {
String homePath = branding.getProperty(Branding.HOME);
+
+ //
+ // FIXME: This is not very friendly to folks embedding the shell
+ //
if (homePath == null) {
throw new InitializationException("The '" + branding.getPropertyName(Branding.HOME) + "' property must be set for the shell to function correctly");
Modified: geronimo/sandbox/gshell/trunk/gshell-core/src/main/java/org/apache/geronimo/gshell/branding/Branding.java
URL: http://svn.apache.org/viewvc/geronimo/sandbox/gshell/trunk/gshell-core/src/main/java/org/apache/geronimo/gshell/branding/Branding.java?rev=574424&r1=574423&r2=574424&view=diff
==============================================================================
--- geronimo/sandbox/gshell/trunk/gshell-core/src/main/java/org/apache/geronimo/gshell/branding/Branding.java (original)
+++ geronimo/sandbox/gshell/trunk/gshell-core/src/main/java/org/apache/geronimo/gshell/branding/Branding.java Mon Sep 10 18:47:18 2007
@@ -38,6 +38,8 @@
String getDisplayName();
+ String getProgramName();
+
String getAbout();
String getVersion();
Modified: geronimo/sandbox/gshell/trunk/gshell-core/src/main/java/org/apache/geronimo/gshell/branding/DefaultBranding.java
URL: http://svn.apache.org/viewvc/geronimo/sandbox/gshell/trunk/gshell-core/src/main/java/org/apache/geronimo/gshell/branding/DefaultBranding.java?rev=574424&r1=574423&r2=574424&view=diff
==============================================================================
--- geronimo/sandbox/gshell/trunk/gshell-core/src/main/java/org/apache/geronimo/gshell/branding/DefaultBranding.java (original)
+++ geronimo/sandbox/gshell/trunk/gshell-core/src/main/java/org/apache/geronimo/gshell/branding/DefaultBranding.java Mon Sep 10 18:47:18 2007
@@ -28,19 +28,28 @@
import org.apache.geronimo.gshell.ansi.RenderWriter;
import org.codehaus.plexus.component.annotations.Component;
import org.codehaus.plexus.component.annotations.Requirement;
+import org.codehaus.plexus.util.StringUtils;
+import jline.Terminal;
+
+//
+// FIXME: Move this to a seperate module so that folks can omit this and use their own easily
+//
/**
* Provides the default branding for GShell.
*
* @version $Rev$ $Date$
*/
-@Component(role=Branding.class)
+@Component(role=Branding.class, hint="default")
public class DefaultBranding
implements Branding
{
@Requirement
private VersionLoader versionLoader;
+ @Requirement
+ private Terminal terminal;
+
public String getName() {
return "gshell";
}
@@ -49,6 +58,10 @@
return "GShell";
}
+ public String getProgramName() {
+ return System.getProperty("program.name", "gsh");
+ }
+
public File getUserDirectory() {
File userHome = new File(System.getProperty("user.home"));
@@ -84,33 +97,33 @@
return versionLoader.getVersion();
}
+ /*
+ private static final String[] BANNER = {
+ " ____ ____ _ _ _ ",
+ " / ___/ ___|| |__ ___| | |",
+ " | | _\\___ \\| '_ \\ / _ \\ | |",
+ " | |_| |___) | | | | __/ | |",
+ " \\____|____/|_| |_|\\___|_|_|",
+ };
+ */
+
+ private static final String[] BANNER = {
+ " ,, ,, ,,",
+ " .g8\"\"\"bgd .M\"\"\"bgd `7MM `7MM `7MM",
+ " .dP' `M ,MI \"Y MM MM MM",
+ " dM' ` `MMb. MMpMMMb. .gP\"Ya MM MM",
+ " MM `YMMNq. MM MM ,M' Yb MM MM",
+ " MM. `7MMF'. `MM MM MM 8M\"\"\"\"\"\" MM MM",
+ " `Mb. MM Mb dM MM MM YM. , MM MM",
+ " `\"bmmmdPY P\"Ybmmd\" .JMML JMML.`Mbmmd'.JMML..JMML."
+ };
+
public String getWelcomeBanner() {
StringWriter writer = new StringWriter();
PrintWriter out = new RenderWriter(writer);
Buffer buff = new Buffer();
- /*
- String[] banner = {
- " ____ ____ _ _ _ ",
- " / ___/ ___|| |__ ___| | |",
- " | | _\\___ \\| '_ \\ / _ \\ | |",
- " | |_| |___) | | | | __/ | |",
- " \\____|____/|_| |_|\\___|_|_|",
- };
- */
-
- String[] banner = {
- " ,, ,, ,,",
- " .g8\"\"\"bgd .M\"\"\"bgd `7MM `7MM `7MM",
- " .dP' `M ,MI \"Y MM MM MM",
- " dM' ` `MMb. MMpMMMb. .gP\"Ya MM MM",
- " MM `YMMNq. MM MM ,M' Yb MM MM",
- " MM. `7MMF'. `MM MM MM 8M\"\"\"\"\"\" MM MM",
- " `Mb. MM Mb dM MM MM YM. , MM MM",
- " `\"bmmmdPY P\"Ybmmd\" .JMML JMML.`Mbmmd'.JMML..JMML."
- };
-
- for (String line : banner) {
+ for (String line : BANNER) {
buff.attrib(line, Code.CYAN);
out.println(buff);
}
@@ -119,6 +132,15 @@
out.println(" @|bold GShell| (" + getVersion() + ")");
out.println();
out.println("Type '@|bold help|' for more information.");
+
+ // If we can't tell, or have something bogus then use a reasonable default
+ int width = terminal.getTerminalWidth();
+ if (width < 1) {
+ width = 80;
+ }
+
+ out.print(StringUtils.repeat("-", width - 1));
+
out.flush();
return writer.toString();
Modified: geronimo/sandbox/gshell/trunk/gshell-core/src/main/java/org/apache/geronimo/gshell/console/TerminalFactory.java
URL: http://svn.apache.org/viewvc/geronimo/sandbox/gshell/trunk/gshell-core/src/main/java/org/apache/geronimo/gshell/console/TerminalFactory.java?rev=574424&r1=574423&r2=574424&view=diff
==============================================================================
--- geronimo/sandbox/gshell/trunk/gshell-core/src/main/java/org/apache/geronimo/gshell/console/TerminalFactory.java (original)
+++ geronimo/sandbox/gshell/trunk/gshell-core/src/main/java/org/apache/geronimo/gshell/console/TerminalFactory.java Mon Sep 10 18:47:18 2007
@@ -27,6 +27,8 @@
import org.codehaus.plexus.component.factory.ComponentFactory;
import org.codehaus.plexus.component.factory.ComponentInstantiationException;
import org.codehaus.plexus.component.repository.ComponentDescriptor;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
* Factory for producing {@link Terminal} instances.
@@ -37,7 +39,13 @@
public class TerminalFactory
extends AbstractComponentFactory
{
+ protected Logger log = LoggerFactory.getLogger(getClass());
+
public Object newInstance(ComponentDescriptor d, ClassRealm cr, PlexusContainer c) throws ComponentInstantiationException {
- return Terminal.getTerminal();
+ Terminal term = Terminal.getTerminal();
+
+ log.debug("Handing out: {}", term);
+
+ return term;
}
}
Modified: geronimo/sandbox/gshell/trunk/gshell-core/src/main/java/org/apache/geronimo/gshell/lookup/EnvironmentLookup.java
URL: http://svn.apache.org/viewvc/geronimo/sandbox/gshell/trunk/gshell-core/src/main/java/org/apache/geronimo/gshell/lookup/EnvironmentLookup.java?rev=574424&r1=574423&r2=574424&view=diff
==============================================================================
--- geronimo/sandbox/gshell/trunk/gshell-core/src/main/java/org/apache/geronimo/gshell/lookup/EnvironmentLookup.java (original)
+++ geronimo/sandbox/gshell/trunk/gshell-core/src/main/java/org/apache/geronimo/gshell/lookup/EnvironmentLookup.java Mon Sep 10 18:47:18 2007
@@ -19,13 +19,13 @@
package org.apache.geronimo.gshell.lookup;
-import org.apache.geronimo.gshell.shell.Shell;
+import org.apache.geronimo.gshell.shell.Environment;
import org.codehaus.plexus.component.annotations.Component;
import org.codehaus.plexus.component.annotations.InstantiationStrategy;
import org.codehaus.plexus.component.factory.ComponentFactory;
/**
- * Lookup factory for {@link Shell.Environment} instances.
+ * Lookup factory for {@link Environment} instances.
*
* @version $Rev$ $Date$
*/