Apply new InterpreterCompletion class to all interpreter class files

This commit is contained in:
AhyoungRyu 2016-06-09 09:38:38 -07:00
parent c283043a05
commit bd04c22bc0
33 changed files with 105 additions and 60 deletions

View file

@ -28,6 +28,7 @@ import org.apache.zeppelin.interpreter.InterpreterContext;
import org.apache.zeppelin.interpreter.InterpreterPropertyBuilder;
import org.apache.zeppelin.interpreter.InterpreterResult;
import org.apache.zeppelin.interpreter.InterpreterResult.Code;
import org.apache.zeppelin.interpreter.thrift.InterpreterCompletion;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@ -174,13 +175,13 @@ public class AlluxioInterpreter extends Interpreter {
}
@Override
public List<String> completion(String buf, int cursor) {
public List<InterpreterCompletion> completion(String buf, int cursor) {
String[] words = splitAndRemoveEmpty(splitAndRemoveEmpty(buf, "\n"), " ");
String lastWord = "";
if (words.length > 0) {
lastWord = words[ words.length - 1 ];
}
ArrayList<String> voices = new ArrayList<String>();
ArrayList voices = new ArrayList<>();
for (String command : keywords) {
if (command.startsWith(lastWord)) {
voices.add(command);

View file

@ -31,6 +31,7 @@ import alluxio.client.WriteType;
import alluxio.client.file.URIStatus;
import org.apache.zeppelin.interpreter.InterpreterResult;
import org.apache.zeppelin.interpreter.InterpreterResult.Code;
import org.apache.zeppelin.interpreter.thrift.InterpreterCompletion;
import org.junit.*;
import alluxio.Constants;
@ -76,19 +77,19 @@ public class AlluxioInterpreterTest {
@Test
public void testCompletion() {
List<String> expectedResultOne = Arrays.asList("cat", "chgrp",
List expectedResultOne = Arrays.asList("cat", "chgrp",
"chmod", "chown", "copyFromLocal", "copyToLocal", "count",
"createLineage");
List<String> expectedResultTwo = Arrays.asList("copyFromLocal",
List expectedResultTwo = Arrays.asList("copyFromLocal",
"copyToLocal", "count");
List<String> expectedResultThree = Arrays.asList("copyFromLocal", "copyToLocal");
List<String> expectedResultNone = new ArrayList<String>();
List expectedResultThree = Arrays.asList("copyFromLocal", "copyToLocal");
List expectedResultNone = new ArrayList<String>();
List<String> resultOne = alluxioInterpreter.completion("c", 0);
List<String> resultTwo = alluxioInterpreter.completion("co", 0);
List<String> resultThree = alluxioInterpreter.completion("copy", 0);
List<String> resultNotMatch = alluxioInterpreter.completion("notMatch", 0);
List<String> resultAll = alluxioInterpreter.completion("", 0);
List<InterpreterCompletion> resultOne = alluxioInterpreter.completion("c", 0);
List<InterpreterCompletion> resultTwo = alluxioInterpreter.completion("co", 0);
List<InterpreterCompletion> resultThree = alluxioInterpreter.completion("copy", 0);
List<InterpreterCompletion> resultNotMatch = alluxioInterpreter.completion("notMatch", 0);
List<InterpreterCompletion> resultAll = alluxioInterpreter.completion("", 0);
Assert.assertEquals(expectedResultOne, resultOne);
Assert.assertEquals(expectedResultTwo, resultTwo);

View file

@ -26,6 +26,7 @@ import org.apache.zeppelin.interpreter.InterpreterContext;
import org.apache.zeppelin.interpreter.InterpreterResult;
import org.apache.zeppelin.interpreter.InterpreterResult.Code;
import org.apache.zeppelin.interpreter.InterpreterResult.Type;
import org.apache.zeppelin.interpreter.thrift.InterpreterCompletion;
import org.apache.zeppelin.scheduler.Scheduler;
import org.apache.zeppelin.scheduler.SchedulerFactory;
@ -69,8 +70,8 @@ public class AngularInterpreter extends Interpreter {
}
@Override
public List<String> completion(String buf, int cursor) {
return new LinkedList<String>();
public List<InterpreterCompletion> completion(String buf, int cursor) {
return new LinkedList<>();
}
@Override

View file

@ -23,6 +23,7 @@ import org.apache.zeppelin.interpreter.Interpreter;
import org.apache.zeppelin.interpreter.InterpreterContext;
import org.apache.zeppelin.interpreter.InterpreterPropertyBuilder;
import org.apache.zeppelin.interpreter.InterpreterResult;
import org.apache.zeppelin.interpreter.thrift.InterpreterCompletion;
import org.apache.zeppelin.scheduler.Scheduler;
import org.apache.zeppelin.scheduler.SchedulerFactory;
import org.slf4j.Logger;
@ -139,7 +140,7 @@ public class CassandraInterpreter extends Interpreter {
public static final String LOGGING_DOWNGRADING_RETRY = "LOGGING_DOWNGRADING";
public static final String LOGGING_FALLTHROUGH_RETRY = "LOGGING_FALLTHROUGH";
public static final List<String> NO_COMPLETION = new ArrayList<>();
public static final List<InterpreterCompletion> NO_COMPLETION = new ArrayList<>();
InterpreterLogic helper;
Cluster cluster;
@ -320,7 +321,7 @@ public class CassandraInterpreter extends Interpreter {
}
@Override
public List<String> completion(String buf, int cursor) {
public List<InterpreterCompletion> completion(String buf, int cursor) {
return NO_COMPLETION;
}

View file

@ -37,6 +37,7 @@ import org.apache.zeppelin.interpreter.Interpreter;
import org.apache.zeppelin.interpreter.InterpreterContext;
import org.apache.zeppelin.interpreter.InterpreterPropertyBuilder;
import org.apache.zeppelin.interpreter.InterpreterResult;
import org.apache.zeppelin.interpreter.thrift.InterpreterCompletion;
import org.elasticsearch.action.delete.DeleteResponse;
import org.elasticsearch.action.get.GetResponse;
import org.elasticsearch.action.index.IndexResponse;
@ -244,8 +245,8 @@ public class ElasticsearchInterpreter extends Interpreter {
}
@Override
public List<String> completion(String s, int i) {
final List<String> suggestions = new ArrayList<>();
public List<InterpreterCompletion> completion(String s, int i) {
final List suggestions = new ArrayList<>();
if (StringUtils.isEmpty(s)) {
suggestions.addAll(COMMANDS);

View file

@ -23,6 +23,7 @@ import org.apache.zeppelin.interpreter.InterpreterContext;
import org.apache.zeppelin.interpreter.InterpreterResult;
import org.apache.zeppelin.interpreter.InterpreterResult.Code;
import org.apache.zeppelin.interpreter.InterpreterResult.Type;
import org.apache.zeppelin.interpreter.thrift.InterpreterCompletion;
import org.apache.zeppelin.scheduler.Scheduler;
import org.apache.zeppelin.scheduler.SchedulerFactory;
import org.slf4j.Logger;
@ -165,7 +166,7 @@ public abstract class FileInterpreter extends Interpreter {
}
@Override
public List<String> completion(String buf, int cursor) {
public List<InterpreterCompletion> completion(String buf, int cursor) {
return null;
}
}

View file

@ -26,6 +26,7 @@ import org.apache.commons.lang.StringUtils;
import org.apache.zeppelin.interpreter.Interpreter;
import org.apache.zeppelin.interpreter.InterpreterException;
import org.apache.zeppelin.interpreter.InterpreterPropertyBuilder;
import org.apache.zeppelin.interpreter.thrift.InterpreterCompletion;
/**
* HDFS implementation of File interpreter for Zeppelin.
@ -259,9 +260,9 @@ public class HDFSFileInterpreter extends FileInterpreter {
@Override
public List<String> completion(String buf, int cursor) {
public List<InterpreterCompletion> completion(String buf, int cursor) {
logger.info("Completion request at position\t" + cursor + " in string " + buf);
final List<String> suggestions = new ArrayList<>();
final List suggestions = new ArrayList<>();
if (StringUtils.isEmpty(buf)) {
suggestions.add("ls");
suggestions.add("cd");

View file

@ -38,6 +38,7 @@ import org.apache.zeppelin.interpreter.InterpreterPropertyBuilder;
import org.apache.zeppelin.interpreter.InterpreterResult;
import org.apache.zeppelin.interpreter.InterpreterResult.Code;
import org.apache.zeppelin.interpreter.InterpreterUtils;
import org.apache.zeppelin.interpreter.thrift.InterpreterCompletion;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@ -331,8 +332,8 @@ public class FlinkInterpreter extends Interpreter {
}
@Override
public List<String> completion(String buf, int cursor) {
return new LinkedList<String>();
public List<InterpreterCompletion> completion(String buf, int cursor) {
return new LinkedList<>();
}
private void startFlinkMiniCluster() {

View file

@ -24,6 +24,7 @@ import org.apache.zeppelin.interpreter.InterpreterContext;
import org.apache.zeppelin.interpreter.InterpreterPropertyBuilder;
import org.apache.zeppelin.interpreter.InterpreterResult;
import org.apache.zeppelin.interpreter.InterpreterResult.Code;
import org.apache.zeppelin.interpreter.thrift.InterpreterCompletion;
import org.apache.zeppelin.scheduler.Scheduler;
import org.apache.zeppelin.scheduler.SchedulerFactory;
import org.slf4j.Logger;
@ -300,7 +301,7 @@ public class GeodeOqlInterpreter extends Interpreter {
}
@Override
public List<String> completion(String buf, int cursor) {
public List<InterpreterCompletion> completion(String buf, int cursor) {
return null;
}

View file

@ -15,6 +15,7 @@
package org.apache.zeppelin.hbase;
import org.apache.zeppelin.interpreter.*;
import org.apache.zeppelin.interpreter.thrift.InterpreterCompletion;
import org.apache.zeppelin.scheduler.Scheduler;
import org.apache.zeppelin.scheduler.SchedulerFactory;
import org.jruby.embed.LocalContextScope;
@ -152,7 +153,7 @@ public class HbaseInterpreter extends Interpreter {
}
@Override
public List<String> completion(String buf, int cursor) {
public List<InterpreterCompletion> completion(String buf, int cursor) {
return null;
}

View file

@ -23,6 +23,7 @@ import org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi;
import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder;
import org.apache.zeppelin.interpreter.*;
import org.apache.zeppelin.interpreter.InterpreterResult.Code;
import org.apache.zeppelin.interpreter.thrift.InterpreterCompletion;
import org.apache.zeppelin.scheduler.Scheduler;
import org.apache.zeppelin.scheduler.SchedulerFactory;
import org.slf4j.Logger;
@ -342,7 +343,7 @@ public class IgniteInterpreter extends Interpreter {
}
@Override
public List<String> completion(String buf, int cursor) {
public List<InterpreterCompletion> completion(String buf, int cursor) {
return new LinkedList<>();
}

View file

@ -22,6 +22,7 @@ import org.apache.zeppelin.interpreter.InterpreterException;
import org.apache.zeppelin.interpreter.InterpreterPropertyBuilder;
import org.apache.zeppelin.interpreter.InterpreterResult;
import org.apache.zeppelin.interpreter.InterpreterResult.Code;
import org.apache.zeppelin.interpreter.thrift.InterpreterCompletion;
import org.apache.zeppelin.scheduler.Scheduler;
import org.apache.zeppelin.scheduler.SchedulerFactory;
import org.slf4j.Logger;
@ -194,7 +195,7 @@ public class IgniteSqlInterpreter extends Interpreter {
}
@Override
public List<String> completion(String buf, int cursor) {
public List<InterpreterCompletion> completion(String buf, int cursor) {
return new LinkedList<>();
}
}

View file

@ -35,6 +35,7 @@ import org.apache.zeppelin.interpreter.Interpreter;
import org.apache.zeppelin.interpreter.InterpreterContext;
import org.apache.zeppelin.interpreter.InterpreterResult;
import org.apache.zeppelin.interpreter.InterpreterResult.Code;
import org.apache.zeppelin.interpreter.thrift.InterpreterCompletion;
import org.apache.zeppelin.scheduler.Scheduler;
import org.apache.zeppelin.scheduler.SchedulerFactory;
import org.slf4j.Logger;
@ -113,7 +114,7 @@ public class JDBCInterpreter extends Interpreter {
}
};
private static final List<String> NO_COMPLETION = new ArrayList<>();
private static final List<InterpreterCompletion> NO_COMPLETION = new ArrayList<>();
public JDBCInterpreter(Properties property) {
super(property);
@ -438,11 +439,12 @@ public class JDBCInterpreter extends Interpreter {
}
@Override
public List<String> completion(String buf, int cursor) {
public List<InterpreterCompletion> completion(String buf, int cursor) {
List<CharSequence> candidates = new ArrayList<>();
SqlCompleter sqlCompleter = propertyKeySqlCompleterMap.get(getPropertyKey(buf));
if (sqlCompleter != null && sqlCompleter.complete(buf, cursor, candidates) >= 0) {
return Lists.transform(candidates, sequenceToStringTransformer);
List completion = Lists.transform(candidates, sequenceToStringTransformer);
return completion;
} else {
return NO_COMPLETION;
}

View file

@ -28,6 +28,7 @@ import org.apache.zeppelin.interpreter.Interpreter;
import org.apache.zeppelin.interpreter.InterpreterContext;
import org.apache.zeppelin.interpreter.InterpreterPropertyBuilder;
import org.apache.zeppelin.interpreter.InterpreterResult;
import org.apache.zeppelin.interpreter.thrift.InterpreterCompletion;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@ -112,7 +113,7 @@ public class KylinInterpreter extends Interpreter {
}
@Override
public List<String> completion(String buf, int cursor) {
public List<InterpreterCompletion> completion(String buf, int cursor) {
return null;
}

View file

@ -36,6 +36,7 @@ import org.apache.zeppelin.interpreter.InterpreterContext;
import org.apache.zeppelin.interpreter.InterpreterPropertyBuilder;
import org.apache.zeppelin.interpreter.InterpreterResult;
import org.apache.zeppelin.interpreter.InterpreterResult.Code;
import org.apache.zeppelin.interpreter.thrift.InterpreterCompletion;
import org.apache.zeppelin.scheduler.Scheduler;
import org.apache.zeppelin.scheduler.SchedulerFactory;
import org.slf4j.Logger;
@ -433,7 +434,7 @@ public class LensInterpreter extends Interpreter {
}
@Override
public List<String> completion(String buf, int cursor) {
public List<InterpreterCompletion> completion(String buf, int cursor) {
return null;
}

View file

@ -18,6 +18,7 @@
package org.apache.zeppelin.livy;
import org.apache.zeppelin.interpreter.*;
import org.apache.zeppelin.interpreter.thrift.InterpreterCompletion;
import org.apache.zeppelin.scheduler.Scheduler;
import org.apache.zeppelin.scheduler.SchedulerFactory;
import org.slf4j.Logger;
@ -115,7 +116,7 @@ public class LivyPySparkInterpreter extends Interpreter {
}
@Override
public List<String> completion(String buf, int cursor) {
public List<InterpreterCompletion> completion(String buf, int cursor) {
return null;
}

View file

@ -18,6 +18,7 @@
package org.apache.zeppelin.livy;
import org.apache.zeppelin.interpreter.*;
import org.apache.zeppelin.interpreter.thrift.InterpreterCompletion;
import org.apache.zeppelin.scheduler.Scheduler;
import org.apache.zeppelin.scheduler.SchedulerFactory;
import org.slf4j.Logger;
@ -143,7 +144,7 @@ public class LivySparkInterpreter extends Interpreter {
}
@Override
public List<String> completion(String buf, int cursor) {
public List<InterpreterCompletion> completion(String buf, int cursor) {
return null;
}

View file

@ -18,6 +18,7 @@
package org.apache.zeppelin.livy;
import org.apache.zeppelin.interpreter.*;
import org.apache.zeppelin.interpreter.thrift.InterpreterCompletion;
import org.apache.zeppelin.scheduler.Scheduler;
import org.apache.zeppelin.scheduler.SchedulerFactory;
import org.slf4j.Logger;
@ -115,7 +116,7 @@ public class LivySparkRInterpreter extends Interpreter {
}
@Override
public List<String> completion(String buf, int cursor) {
public List<InterpreterCompletion> completion(String buf, int cursor) {
return null;
}

View file

@ -18,6 +18,7 @@
package org.apache.zeppelin.livy;
import org.apache.zeppelin.interpreter.*;
import org.apache.zeppelin.interpreter.thrift.InterpreterCompletion;
import org.apache.zeppelin.scheduler.Scheduler;
import org.apache.zeppelin.scheduler.SchedulerFactory;
import org.slf4j.Logger;
@ -158,7 +159,7 @@ public class LivySparkSQLInterpreter extends Interpreter {
}
@Override
public List<String> completion(String buf, int cursor) {
public List<InterpreterCompletion> completion(String buf, int cursor) {
return null;
}

View file

@ -26,6 +26,7 @@ import org.apache.zeppelin.interpreter.InterpreterContext;
import org.apache.zeppelin.interpreter.InterpreterResult;
import org.apache.zeppelin.interpreter.InterpreterResult.Code;
import org.apache.zeppelin.interpreter.InterpreterUtils;
import org.apache.zeppelin.interpreter.thrift.InterpreterCompletion;
import org.apache.zeppelin.scheduler.Scheduler;
import org.apache.zeppelin.scheduler.SchedulerFactory;
import org.markdown4j.Markdown4jProcessor;
@ -87,7 +88,7 @@ public class Markdown extends Interpreter {
}
@Override
public List<String> completion(String buf, int cursor) {
public List<InterpreterCompletion> completion(String buf, int cursor) {
return null;
}
}

View file

@ -32,6 +32,7 @@ import org.apache.zeppelin.interpreter.InterpreterContext;
import org.apache.zeppelin.interpreter.InterpreterPropertyBuilder;
import org.apache.zeppelin.interpreter.InterpreterResult;
import org.apache.zeppelin.interpreter.InterpreterResult.Code;
import org.apache.zeppelin.interpreter.thrift.InterpreterCompletion;
import org.apache.zeppelin.scheduler.Scheduler;
import org.apache.zeppelin.scheduler.SchedulerFactory;
import org.slf4j.Logger;
@ -224,7 +225,7 @@ public class PhoenixInterpreter extends Interpreter {
}
@Override
public List<String> completion(String buf, int cursor) {
public List<InterpreterCompletion> completion(String buf, int cursor) {
return null;
}

View file

@ -33,6 +33,7 @@ import org.apache.zeppelin.interpreter.InterpreterContext;
import org.apache.zeppelin.interpreter.InterpreterPropertyBuilder;
import org.apache.zeppelin.interpreter.InterpreterResult;
import org.apache.zeppelin.interpreter.InterpreterResult.Code;
import org.apache.zeppelin.interpreter.thrift.InterpreterCompletion;
import org.apache.zeppelin.scheduler.Scheduler;
import org.apache.zeppelin.scheduler.SchedulerFactory;
import org.slf4j.Logger;
@ -120,7 +121,7 @@ public class PostgreSqlInterpreter extends Interpreter {
}
};
private static final List<String> NO_COMPLETION = new ArrayList<String>();
private static final List NO_COMPLETION = new ArrayList<>();
public PostgreSqlInterpreter(Properties property) {
super(property);
@ -321,11 +322,12 @@ public class PostgreSqlInterpreter extends Interpreter {
}
@Override
public List<String> completion(String buf, int cursor) {
public List<InterpreterCompletion> completion(String buf, int cursor) {
List<CharSequence> candidates = new ArrayList<CharSequence>();
if (sqlCompleter != null && sqlCompleter.complete(buf, cursor, candidates) >= 0) {
return Lists.transform(candidates, sequenceToStringTransformer);
List completion = Lists.transform(candidates, sequenceToStringTransformer);
return completion;
} else {
return NO_COMPLETION;
}

View file

@ -23,6 +23,7 @@ import org.apache.zeppelin.interpreter.InterpreterContext;
import org.apache.zeppelin.interpreter.InterpreterPropertyBuilder;
import org.apache.zeppelin.interpreter.InterpreterResult;
import org.apache.zeppelin.interpreter.InterpreterResult.Code;
import org.apache.zeppelin.interpreter.thrift.InterpreterCompletion;
import org.apache.zeppelin.scheduler.Job;
import org.apache.zeppelin.scheduler.Scheduler;
import org.apache.zeppelin.scheduler.SchedulerFactory;
@ -171,7 +172,7 @@ public class PythonInterpreter extends Interpreter {
}
@Override
public List<String> completion(String buf, int cursor) {
public List<InterpreterCompletion> completion(String buf, int cursor) {
return null;
}

View file

@ -18,6 +18,7 @@
package org.apache.zeppelin.rinterpreter;
import org.apache.zeppelin.interpreter.*;
import org.apache.zeppelin.interpreter.thrift.InterpreterCompletion;
import org.apache.zeppelin.scheduler.Scheduler;
import java.net.URL;
@ -82,8 +83,9 @@ public class KnitR extends Interpreter implements WrappedInterpreter {
}
@Override
public List<String> completion(String s, int i) {
return intp.completion(s, i);
public List<InterpreterCompletion> completion(String s, int i) {
List completion = intp.completion(s, i);
return completion;
}
@Override

View file

@ -18,6 +18,7 @@
package org.apache.zeppelin.rinterpreter;
import org.apache.zeppelin.interpreter.*;
import org.apache.zeppelin.interpreter.thrift.InterpreterCompletion;
import org.apache.zeppelin.scheduler.Scheduler;
import java.net.URL;
@ -82,8 +83,9 @@ public class RRepl extends Interpreter implements WrappedInterpreter {
}
@Override
public List<String> completion(String s, int i) {
return intp.completion(s, i);
public List<InterpreterCompletion> completion(String s, int i) {
List completion = intp.completion(s, i);
return completion;
}
@Override

View file

@ -24,6 +24,7 @@ import org.apache.zeppelin.interpreter.InterpreterContext;
import org.apache.zeppelin.interpreter.InterpreterPropertyBuilder;
import org.apache.zeppelin.interpreter.InterpreterResult;
import org.apache.zeppelin.interpreter.InterpreterResult.Code;
import org.apache.zeppelin.interpreter.thrift.InterpreterCompletion;
import org.apache.zeppelin.scheduler.Scheduler;
import org.apache.zeppelin.scheduler.SchedulerFactory;
import org.slf4j.Logger;
@ -53,8 +54,8 @@ public class ScaldingInterpreter extends Interpreter {
static final String MAX_OPEN_INSTANCES = "max.open.instances";
static final String MAX_OPEN_INSTANCES_DEFAULT = "50";
public static final List<String> NO_COMPLETION =
Collections.unmodifiableList(new ArrayList<String>());
public static final List NO_COMPLETION =
Collections.unmodifiableList(new ArrayList<>());
static {
Interpreter.register(
@ -281,7 +282,7 @@ public class ScaldingInterpreter extends Interpreter {
}
@Override
public List<String> completion(String buf, int cursor) {
public List<InterpreterCompletion> completion(String buf, int cursor) {
return NO_COMPLETION;
}

View file

@ -32,6 +32,7 @@ import org.apache.zeppelin.interpreter.InterpreterContext;
import org.apache.zeppelin.interpreter.InterpreterPropertyBuilder;
import org.apache.zeppelin.interpreter.InterpreterResult;
import org.apache.zeppelin.interpreter.InterpreterResult.Code;
import org.apache.zeppelin.interpreter.thrift.InterpreterCompletion;
import org.apache.zeppelin.scheduler.Job;
import org.apache.zeppelin.scheduler.Scheduler;
import org.apache.zeppelin.scheduler.SchedulerFactory;
@ -150,7 +151,7 @@ public class ShellInterpreter extends Interpreter {
}
@Override
public List<String> completion(String buf, int cursor) {
public List<InterpreterCompletion> completion(String buf, int cursor) {
return null;
}

View file

@ -39,6 +39,7 @@ import org.apache.zeppelin.interpreter.InterpreterPropertyBuilder;
import org.apache.zeppelin.interpreter.InterpreterResult;
import org.apache.zeppelin.interpreter.InterpreterResult.Code;
import org.apache.zeppelin.interpreter.WrappedInterpreter;
import org.apache.zeppelin.interpreter.thrift.InterpreterCompletion;
import org.apache.zeppelin.scheduler.Scheduler;
import org.apache.zeppelin.spark.dep.SparkDependencyContext;
import org.slf4j.Logger;
@ -242,10 +243,11 @@ public class DepInterpreter extends Interpreter {
}
@Override
public List<String> completion(String buf, int cursor) {
public List<InterpreterCompletion> completion(String buf, int cursor) {
ScalaCompleter c = completor.completer();
Candidates ret = c.complete(buf, cursor);
return scala.collection.JavaConversions.seqAsJavaList(ret.candidates());
List completion = scala.collection.JavaConversions.seqAsJavaList(ret.candidates());
return completion;
}
private List<File> currentClassPath() {

View file

@ -54,6 +54,7 @@ import org.apache.zeppelin.interpreter.InterpreterResult;
import org.apache.zeppelin.interpreter.InterpreterResult.Code;
import org.apache.zeppelin.interpreter.LazyOpenInterpreter;
import org.apache.zeppelin.interpreter.WrappedInterpreter;
import org.apache.zeppelin.interpreter.thrift.InterpreterCompletion;
import org.apache.zeppelin.spark.dep.SparkDependencyContext;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@ -402,7 +403,7 @@ public class PySparkInterpreter extends Interpreter implements ExecuteResultHand
@Override
public List<String> completion(String buf, int cursor) {
public List<InterpreterCompletion> completion(String buf, int cursor) {
if (buf.length() < cursor) {
cursor = buf.length();
}
@ -413,7 +414,7 @@ public class PySparkInterpreter extends Interpreter implements ExecuteResultHand
SparkInterpreter sparkInterpreter = getSparkInterpreter();
if (sparkInterpreter.getSparkVersion().isUnsupportedVersion() == false
&& pythonscriptRunning == false) {
return new LinkedList<String>();
return new LinkedList<>();
}
pythonInterpretRequest = new PythonInterpretRequest(completionCommand, "");
@ -430,13 +431,13 @@ public class PySparkInterpreter extends Interpreter implements ExecuteResultHand
} catch (InterruptedException e) {
// not working
logger.info("wait drop");
return new LinkedList<String>();
return new LinkedList<>();
}
}
}
if (statementError) {
return new LinkedList<String>();
return new LinkedList<>();
}
InterpreterResult completionResult = new InterpreterResult(Code.SUCCESS, statementOutput);
//end code for completion

View file

@ -51,6 +51,7 @@ import org.apache.zeppelin.interpreter.InterpreterResult;
import org.apache.zeppelin.interpreter.InterpreterResult.Code;
import org.apache.zeppelin.interpreter.InterpreterUtils;
import org.apache.zeppelin.interpreter.WrappedInterpreter;
import org.apache.zeppelin.interpreter.thrift.InterpreterCompletion;
import org.apache.zeppelin.scheduler.Scheduler;
import org.apache.zeppelin.scheduler.SchedulerFactory;
import org.apache.zeppelin.spark.dep.SparkDependencyContext;
@ -642,7 +643,7 @@ public class SparkInterpreter extends Interpreter {
}
@Override
public List<String> completion(String buf, int cursor) {
public List<InterpreterCompletion> completion(String buf, int cursor) {
if (buf.length() < cursor) {
cursor = buf.length();
}
@ -653,7 +654,9 @@ public class SparkInterpreter extends Interpreter {
}
ScalaCompleter c = completor.completer();
Candidates ret = c.complete(completionText, cursor);
return scala.collection.JavaConversions.seqAsJavaList(ret.candidates());
List completion = scala.collection.JavaConversions.seqAsJavaList(ret.candidates());
return completion;
}
private String getCompletionTargetString(String text, int cursor) {

View file

@ -23,6 +23,7 @@ import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.apache.spark.SparkRBackend;
import org.apache.zeppelin.interpreter.*;
import org.apache.zeppelin.interpreter.thrift.InterpreterCompletion;
import org.apache.zeppelin.scheduler.Scheduler;
import org.apache.zeppelin.scheduler.SchedulerFactory;
import org.slf4j.Logger;
@ -166,8 +167,8 @@ public class SparkRInterpreter extends Interpreter {
}
@Override
public List<String> completion(String buf, int cursor) {
return new ArrayList<String>();
public List<InterpreterCompletion> completion(String buf, int cursor) {
return new ArrayList<>();
}
private SparkInterpreter getSparkInterpreter() {

View file

@ -34,6 +34,7 @@ import org.apache.zeppelin.interpreter.InterpreterResult;
import org.apache.zeppelin.interpreter.InterpreterResult.Code;
import org.apache.zeppelin.interpreter.LazyOpenInterpreter;
import org.apache.zeppelin.interpreter.WrappedInterpreter;
import org.apache.zeppelin.interpreter.thrift.InterpreterCompletion;
import org.apache.zeppelin.scheduler.Scheduler;
import org.apache.zeppelin.scheduler.SchedulerFactory;
import org.slf4j.Logger;
@ -177,7 +178,7 @@ public class SparkSqlInterpreter extends Interpreter {
}
@Override
public List<String> completion(String buf, int cursor) {
public List<InterpreterCompletion> completion(String buf, int cursor) {
return null;
}
}

View file

@ -56,6 +56,12 @@ struct RemoteInterpreterEvent {
2: string data // json serialized data
}
/*
* The below variables(name, value) will be connected to getCompletions in paragraph.controller.js
*
* name: which is shown in the suggestion list
* value: actual return value what you selected
*/
struct InterpreterCompletion {
1: string name,
2: string value