incubator-kitty-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Pid <...@pidster.com>
Subject Re: svn commit: r1060024 - in /incubator/kitty/trunk/src/main/java/org/apache/kitty: CmdShell.groovy Main.groovy
Date Fri, 21 Jan 2011 16:40:02 GMT
On 1/19/11 1:05 AM, Matthew Sacks wrote:
> Nice! Did this inherently resolve https://issues.apache.org/jira/browse/KITTY-3?

Not yet, but it will.


p


> On Jan 17, 2011, at 9:53 AM, pidster@apache.org wrote:
> 
>> Author: pidster
>> Date: Mon Jan 17 17:53:28 2011
>> New Revision: 1060024
>>
>> URL: http://svn.apache.org/viewvc?rev=1060024&view=rev
>> Log:
>> Use Commons CLI / CliBuilder and JLine
>>
>> Modified:
>>    incubator/kitty/trunk/src/main/java/org/apache/kitty/CmdShell.groovy
>>    incubator/kitty/trunk/src/main/java/org/apache/kitty/Main.groovy
>>
>> Modified: incubator/kitty/trunk/src/main/java/org/apache/kitty/CmdShell.groovy
>> URL: http://svn.apache.org/viewvc/incubator/kitty/trunk/src/main/java/org/apache/kitty/CmdShell.groovy?rev=1060024&r1=1060023&r2=1060024&view=diff
>> ==============================================================================
>> --- incubator/kitty/trunk/src/main/java/org/apache/kitty/CmdShell.groovy (original)
>> +++ incubator/kitty/trunk/src/main/java/org/apache/kitty/CmdShell.groovy Mon Jan
17 17:53:28 2011
>> @@ -1,3 +1,4 @@
>> +
>> /*
>>  * Licensed to the Apache Software Foundation (ASF) under one or more
>>  * contributor license agreements.  See the NOTICE file distributed with
>> @@ -15,11 +16,10 @@
>>  * limitations under the License.
>>  */
>>
>> -
>> package org.apache.kitty
>>
>> -import java.io.BufferedReader
>> -import java.io.InputStreamReader
>> +import jline.ConsoleReader
>> +import jline.History
>>
>> import org.apache.kitty.client.Client
>> import org.apache.kitty.utils.Constants
>> @@ -38,13 +38,16 @@ import org.apache.kitty.utils.Help
>>  */
>> class CmdShell {
>>
>> -	def static final PROMPT = "kitty>"
>> +	def static final PROMPT = "kitty> "
>> +
>> 	static String HOST = "localhost"
>> +
>> 	static String PORT = "9024"
>> +
>> 	static Client client
>> +
>> 	def static remote
>> -	static InputStreamReader inReader;
>> -	static BufferedReader bReader;
>> +
>> 	static commands = [
>> 		"help",
>> 		"connect",
>> @@ -74,18 +77,33 @@ class CmdShell {
>> 	}
>>
>> 	static startShell() {
>> -		def input
>> -		inReader = new InputStreamReader(System.in)
>> -		bReader = new BufferedReader(inReader)
>> +
>> 		client = new Client()
>>
>> -		while (!(input.equals("exit"))) {
>> -			print PROMPT
>> -			input = getUserInput()
>> -			inputHandler(input)
>> +		def history = new History()
>> +		def reader = new ConsoleReader()
>> +
>> +		reader.setBellEnabled(false)
>> +		reader.setUseHistory(true)
>> +		reader.setDefaultPrompt(PROMPT)
>> +		reader.setHistory(history)
>> +
>> +		LOOP: while (true) {
>> +			def input = reader.readLine().trim()
>> +
>> +			if (input.length() == 0)
>> +				continue
>> +
>> +			if (["exit", "quit"].contains(input.tokenize().get(0)))
>> +				break LOOP
>> +
>> +			try {
>> +				inputHandler(input)
>> +			}
>> +			catch (Exception e) {
>> +				println e.getMessage()
>> +			}
>> 		}
>> -		inReader.close()
>> -		bReader.close()
>> 	}
>>
>> 	static inputHandler(String input) {
>> @@ -97,7 +115,7 @@ class CmdShell {
>> 			input = params[0]
>> 		}
>> 		else {
>> -			params = {input}
>> +			params = { input }
>> 		}
>>
>> 		if (commands.contains(input)) {
>> @@ -199,12 +217,6 @@ class CmdShell {
>> 		}
>> 	}
>>
>> -	static String getUserInput() {
>> -		def userInput
>> -		userInput = bReader.readLine()
>> -		return userInput;
>> -	}
>> -
>> 	static cmdHelp() {
>> 		Help h = new Help()
>> 		println h.toString()
>>
>> Modified: incubator/kitty/trunk/src/main/java/org/apache/kitty/Main.groovy
>> URL: http://svn.apache.org/viewvc/incubator/kitty/trunk/src/main/java/org/apache/kitty/Main.groovy?rev=1060024&r1=1060023&r2=1060024&view=diff
>> ==============================================================================
>> --- incubator/kitty/trunk/src/main/java/org/apache/kitty/Main.groovy (original)
>> +++ incubator/kitty/trunk/src/main/java/org/apache/kitty/Main.groovy Mon Jan 17 17:53:28
2011
>> @@ -1,42 +1,58 @@
>> /*
>> -* 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.
>> -*/
>> + * 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.kitty
>>
>> /**
>> -* <pre>
>> -* <b>Description</b>
>> -* <p>
>> -* This is the entry point to the remote management framework.
>> -* </p>
>> -* </pre>
>> -*
>> -* @version $Id$
>> -*
>> -*/
>> + * <pre>
>> + * <b>Description</b>
>> + * <p>
>> + * This is the entry point to the remote management framework.
>> + * </p>
>> + * </pre>
>> + *
>> + * @version $Id$
>> + *
>> + */
>> class Main {
>> -	
>> -	def config
>> -	
>> -	public init()
>> -	{
>> -		config = new ConfigSlurper().parse(new File('kittyConfig.groovy')).toString()
>> -		//TODO
>> -	}
>>
>> +	static final String KITTY_USAGE = "java -jar apache-kitty.jar <arg>"
>> +
>> +	static main(args) {
>> +
>> +		def cli = new CliBuilder(usage: KITTY_USAGE)
>> +		cli.h(longOpt: 'help', 'Show help')
>> +		cli.i(longOpt: 'interactive', 'Launch in an interactive prompt (default)')
>> +		cli.s(longOpt: 'script', 'Launch inline for scripted access')
>> +
>> +		/*
>> +		 cli.d(longOpt: 'debug', 'Display debug information on output')
>> +		 cli.q(longOpt: 'quiet', 'Restrict output to bare minimum')
>> +		 cli.v(longOpt: 'verbose', 'Display extra information on output')
>> +		 */
>> +
>> +		def opt = cli.parse(args)
>> +
>> +		if (opt?.h) {
>> +			cli.usage()
>> +			return
>> +		}
>> +
>> +		CmdShell.startShell()
>> +	}
>> }
>>
>>
> 
> 


Mime
View raw message