summaryrefslogtreecommitdiffstats
path: root/sca-java-2.x/tags/2.0-Beta2-RC1/modules/shell/src/main/java/org/apache/tuscany/sca/shell/jline/JLine.java
diff options
context:
space:
mode:
Diffstat (limited to 'sca-java-2.x/tags/2.0-Beta2-RC1/modules/shell/src/main/java/org/apache/tuscany/sca/shell/jline/JLine.java')
-rw-r--r--sca-java-2.x/tags/2.0-Beta2-RC1/modules/shell/src/main/java/org/apache/tuscany/sca/shell/jline/JLine.java80
1 files changed, 0 insertions, 80 deletions
diff --git a/sca-java-2.x/tags/2.0-Beta2-RC1/modules/shell/src/main/java/org/apache/tuscany/sca/shell/jline/JLine.java b/sca-java-2.x/tags/2.0-Beta2-RC1/modules/shell/src/main/java/org/apache/tuscany/sca/shell/jline/JLine.java
deleted file mode 100644
index e8fcd627e2..0000000000
--- a/sca-java-2.x/tags/2.0-Beta2-RC1/modules/shell/src/main/java/org/apache/tuscany/sca/shell/jline/JLine.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * 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.tuscany.sca.shell.jline;
-
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-import java.io.IOException;
-import java.lang.reflect.Field;
-import java.util.LinkedList;
-import java.util.List;
-
-import jline.Completor;
-import jline.ConsoleReader;
-
-import org.apache.tuscany.sca.shell.Shell;
-
-/**
- * Keep all the JLine specific code out of the Shell class so that it runs ok
- * when jline isn't on the classpath.
- */
-public class JLine {
-
- public static String readLine(Object r) throws IOException {
- return ((ConsoleReader)r).readLine();
- }
-
- public static Object createJLineReader(final Shell shell) throws IOException {
- ConsoleReader reader = new ConsoleReader();
- fixCtrlC(reader);
- // Add a Ctrl-c listener
- reader.addTriggeredAction((char)3, new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- shell.bye();
- System.exit(0);
- }
- });
- reader.setBellEnabled(false);
- // TODO: write a Completor specific to this that can handle the individual command arguments
- List<Completor> completors = new LinkedList<Completor>();
-// completors.add(new SimpleCompletor(Shell.COMMANDS));
-// completors.add(new ICURICompletor(shell.node));
-// completors.add(new FileNameCompletor());
-// reader.addCompletor(new ArgumentCompletor(completors));
- reader.addCompletor(new TShellCompletor(shell));
- return reader;
- }
-
- /**
- * The windowsbindings.properties shipped inside jline maps ctrl-c to INSERT
- * with the comment "(frankly, I wasn't sure where to bind this)". That does not
- * seem a great choice as it disables ctrl-c interupt so this resets that binding.
- */
- private static void fixCtrlC(ConsoleReader reader) {
- try {
- Field f = ConsoleReader.class.getDeclaredField("keybindings");
- f.setAccessible(true);
- short[] keybindings = (short[])f.get(reader);
- if (keybindings[3] == -48) keybindings[3] = 3;
- } catch (Exception e) {
- e.printStackTrace(); // shouldnt happen
- }
- }
-}