Search in sources :

Example 21 with ServiceContext

use of org.apache.zeppelin.service.ServiceContext in project zeppelin by apache.

the class InterpreterRestApi method installInterpreter.

/**
 * Install interpreter
 */
@POST
@Path("install")
@ZeppelinApi
public Response installInterpreter(@NotNull String message) {
    LOGGER.info("Install interpreter: {}", message);
    InterpreterInstallationRequest request = InterpreterInstallationRequest.fromJson(message);
    try {
        interpreterService.installInterpreter(request, new SimpleServiceCallback<String>() {

            @Override
            public void onStart(String message, ServiceContext context) {
                Message m = new Message(OP.INTERPRETER_INSTALL_STARTED);
                Map<String, Object> data = new HashMap<>();
                data.put("result", "Starting");
                data.put("message", message);
                m.data = data;
                notebookServer.broadcast(m);
            }

            @Override
            public void onSuccess(String message, ServiceContext context) {
                Message m = new Message(OP.INTERPRETER_INSTALL_RESULT);
                Map<String, Object> data = new HashMap<>();
                data.put("result", "Succeed");
                data.put("message", message);
                m.data = data;
                notebookServer.broadcast(m);
            }

            @Override
            public void onFailure(Exception ex, ServiceContext context) {
                Message m = new Message(OP.INTERPRETER_INSTALL_RESULT);
                Map<String, Object> data = new HashMap<>();
                data.put("result", "Failed");
                data.put("message", ex.getMessage());
                m.data = data;
                notebookServer.broadcast(m);
            }
        });
    } catch (Throwable t) {
        return new JsonResponse<>(Status.INTERNAL_SERVER_ERROR, t.getMessage()).build();
    }
    return new JsonResponse<>(Status.OK).build();
}
Also used : InterpreterInstallationRequest(org.apache.zeppelin.rest.message.InterpreterInstallationRequest) Message(org.apache.zeppelin.common.Message) ServiceContext(org.apache.zeppelin.service.ServiceContext) HashMap(java.util.HashMap) Map(java.util.Map) InterpreterException(org.apache.zeppelin.interpreter.InterpreterException) IOException(java.io.IOException) JsonResponse(org.apache.zeppelin.server.JsonResponse) Path(javax.ws.rs.Path) ZeppelinApi(org.apache.zeppelin.annotation.ZeppelinApi) POST(javax.ws.rs.POST)

Aggregations

ServiceContext (org.apache.zeppelin.service.ServiceContext)21 IOException (java.io.IOException)16 Message (org.apache.zeppelin.common.Message)15 OnMessage (javax.websocket.OnMessage)11 ClusterMessage (org.apache.zeppelin.cluster.event.ClusterMessage)11 AuthenticationInfo (org.apache.zeppelin.user.AuthenticationInfo)7 Map (java.util.Map)6 URISyntaxException (java.net.URISyntaxException)5 UnknownHostException (java.net.UnknownHostException)5 HashMap (java.util.HashMap)5 TException (org.apache.thrift.TException)5 ServiceException (org.apache.zeppelin.interpreter.thrift.ServiceException)5 Paragraph (org.apache.zeppelin.notebook.Paragraph)5 ForbiddenException (org.apache.zeppelin.rest.exception.ForbiddenException)5 HashSet (java.util.HashSet)4 ConcurrentHashMap (java.util.concurrent.ConcurrentHashMap)4 AngularObject (org.apache.zeppelin.display.AngularObject)4 Note (org.apache.zeppelin.notebook.Note)4 ArrayList (java.util.ArrayList)3 List (java.util.List)3