Package org.eclipse.orion.server.core

Examples of org.eclipse.orion.server.core.ServerStatus


        invalidToken.put("access_token", INVALID_TOKEN);
        target.getCloud().setAccessToken(invalidToken);
      } else {
        target.getCloud().setAccessToken(null);
      }
      return new ServerStatus(Status.OK_STATUS, HttpServletResponse.SC_OK);
    } catch (Exception e) {
      String msg = NLS.bind("An error occurred when performing operation {0}", commandName); //$NON-NLS-1$
      logger.error(msg, e);
      return new ServerStatus(IStatus.ERROR, HttpServletResponse.SC_INTERNAL_SERVER_ERROR, msg, e);
    }
  }
View Full Code Here


      if (dockerImage.getStatusCode() != DockerResponse.StatusCode.OK) {

        // user does not have a image, create one
        dockerImage = dockerServer.createDockerUserBaseImage(user);
        if (dockerImage.getStatusCode() != DockerResponse.StatusCode.CREATED) {
          return statusHandler.handleRequest(request, response, new ServerStatus(IStatus.ERROR, HttpServletResponse.SC_BAD_REQUEST, dockerImage.getStatusMessage(), null));
        }
        if (logger.isInfoEnabled()) {
          logger.info("Created Docker Image " + userBase + " for user " + user);
        }
      }

      // get the volume (workspace root) for the user
      String volume = getDockerVolume(user);

      // get the container for the user
      DockerContainer dockerContainer = dockerServer.getDockerContainer(user);
      if (dockerContainer.getStatusCode() != DockerResponse.StatusCode.OK) {

        // user does not have a container, create one
        dockerContainer = dockerServer.createDockerContainer(userBase, user, volume);
        if (dockerContainer.getStatusCode() != DockerResponse.StatusCode.CREATED) {
          return statusHandler.handleRequest(request, response, new ServerStatus(IStatus.ERROR, HttpServletResponse.SC_BAD_REQUEST, dockerContainer.getStatusMessage(), null));
        }
        if (logger.isInfoEnabled()) {
          logger.info("Created Docker Container " + dockerContainer.getIdShort() + " for user " + user);
        }

        // if the user does not have a bashrc, create one
        createBashrc(user);
      }

      // get the exposed ports from the docker image
      List<String> portNumbers = new ArrayList<String>();
      for (String port : dockerImage.getPorts()) {
        if (port.contains("/tcp")) {
          port = port.substring(0, port.indexOf("/tcp"));
        }
        portNumbers.add(port);
      }

      // start the container for the user
      dockerContainer = dockerServer.startDockerContainer(user, volume, portNumbers);
      if (dockerContainer.getStatusCode() == DockerResponse.StatusCode.STARTED) {
        if (logger.isInfoEnabled()) {
          logger.info("Started Docker Container " + dockerContainer.getIdShort() + " for user " + user);
        }
      } else if (dockerContainer.getStatusCode() == DockerResponse.StatusCode.RUNNING) {
        if (logger.isInfoEnabled()) {
          logger.info("Docker Container " + dockerContainer.getIdShort() + " for user " + user + " is already running");
        }
      } else {
        return statusHandler.handleRequest(request, response, new ServerStatus(IStatus.ERROR, HttpServletResponse.SC_BAD_REQUEST, dockerContainer.getStatusMessage(), null));
      }

      // attach to the container for the user
      String originURL = request.getRequestURL().toString();
      DockerResponse dockerResponse = dockerServer.attachDockerContainer(user, originURL);
      if (dockerResponse.getStatusCode() != DockerResponse.StatusCode.ATTACHED) {
        return statusHandler.handleRequest(request, response, new ServerStatus(IStatus.ERROR, HttpServletResponse.SC_BAD_REQUEST, dockerContainer.getStatusMessage(), null));
      }
      if (logger.isInfoEnabled()) {
        logger.info("Attach Docker Container " + dockerContainer.getIdShort() + " for user " + user + " successful");
      }

      JSONObject jsonObject = new JSONObject();
      jsonObject.put(DockerContainer.ATTACH_WS, dockerResponse.getStatusMessage());
      OrionServlet.writeJSONResponse(request, response, jsonObject);
      return true;
    } catch (IOException e) {
      return statusHandler.handleRequest(request, response, new ServerStatus(IStatus.ERROR, HttpServletResponse.SC_BAD_REQUEST, "IOException with request", e));
    } catch (JSONException e) {
      return statusHandler.handleRequest(request, response, new ServerStatus(IStatus.ERROR, HttpServletResponse.SC_BAD_REQUEST, "JSONException with request", e));
    }
  }
View Full Code Here

    // detach if we have an open connection for the user
    if (dockerServer.isAttachedDockerContainer(user)) {
      // stop the running container
      dockerContainer = dockerServer.stopDockerContainer(dockerContainer.getId());
      if (dockerContainer.getStatusCode() != DockerResponse.StatusCode.STOPPED) {
        return statusHandler.handleRequest(request, response, new ServerStatus(IStatus.ERROR, HttpServletResponse.SC_BAD_REQUEST, dockerContainer.getStatusMessage(), null));
      } else {
        if (logger.isInfoEnabled()) {
          logger.info("Stopped Docker Container " + dockerContainer.getIdShort() + " for user " + user);
        }
      }
View Full Code Here

          return true;
        default :
          return false;
      }
    } catch (IOException e) {
      return statusHandler.handleRequest(request, response, new ServerStatus(IStatus.ERROR, HttpServletResponse.SC_BAD_REQUEST, "IOException with request", e));
    } catch (JSONException e) {
      return statusHandler.handleRequest(request, response, new ServerStatus(IStatus.ERROR, HttpServletResponse.SC_BAD_REQUEST, "JSONException with request", e));
    }
  }
View Full Code Here

          return true;
        default :
          return false;
      }
    } catch (IOException e) {
      return statusHandler.handleRequest(request, response, new ServerStatus(IStatus.ERROR, HttpServletResponse.SC_BAD_REQUEST, "IOException with request", e));
    } catch (JSONException e) {
      return statusHandler.handleRequest(request, response, new ServerStatus(IStatus.ERROR, HttpServletResponse.SC_BAD_REQUEST, "JSONException with request", e));
    }
  }
View Full Code Here

          return true;
        default :
          return false;
      }
    } catch (IOException e) {
      return statusHandler.handleRequest(request, response, new ServerStatus(IStatus.ERROR, HttpServletResponse.SC_BAD_REQUEST, "IOException with request", e));
    } catch (JSONException e) {
      return statusHandler.handleRequest(request, response, new ServerStatus(IStatus.ERROR, HttpServletResponse.SC_BAD_REQUEST, "JSONException with request", e));
    }
  }
View Full Code Here

          return true;
        default :
          return false;
      }
    } catch (IOException e) {
      return statusHandler.handleRequest(request, response, new ServerStatus(IStatus.ERROR, HttpServletResponse.SC_BAD_REQUEST, "IOException with request", e));
    } catch (JSONException e) {
      return statusHandler.handleRequest(request, response, new ServerStatus(IStatus.ERROR, HttpServletResponse.SC_BAD_REQUEST, "JSONException with request", e));
    }
  }
View Full Code Here

          return true;
        default :
          return false;
      }
    } catch (IOException e) {
      return statusHandler.handleRequest(request, response, new ServerStatus(IStatus.ERROR, HttpServletResponse.SC_BAD_REQUEST, "IOException with request", e));
    } catch (JSONException e) {
      return statusHandler.handleRequest(request, response, new ServerStatus(IStatus.ERROR, HttpServletResponse.SC_BAD_REQUEST, "JSONException with request", e));
    }
  }
View Full Code Here

  }

  @Override
  public boolean handleRequest(HttpServletRequest request, HttpServletResponse response, String path) throws ServletException {
    if (dockerServer == null) {
      return statusHandler.handleRequest(request, response, new ServerStatus(IStatus.ERROR, HttpServletResponse.SC_BAD_REQUEST, "A Docker server required for terminal support is not enabled on this Orion server.", null));
    }
    switch (getMethod(request)) {
      case GET :
        return handleGetRequest(request, response, path);
      case POST :
View Full Code Here

            return new GetLogCommand(target, appName, instanceNo, logName, this.requestLocation).doIt();
          } else if (appName != null) {
            return new GetLogsCommand(target, appName, this.requestLocation).doIt();
          }

          return new ServerStatus(IStatus.ERROR, HttpServletResponse.SC_NOT_FOUND, "No application name", null);

        } catch (Exception e) {
          String msg = NLS.bind("Failed to handle request for {0}", pathString); //$NON-NLS-1$
          ServerStatus status = new ServerStatus(IStatus.ERROR, HttpServletResponse.SC_INTERNAL_SERVER_ERROR, msg, e);
          logger.error(msg, e);
          return status;
        }
      }
    };
View Full Code Here

TOP

Related Classes of org.eclipse.orion.server.core.ServerStatus

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.