@Override
  public void execute() {
    CallContext.current()
        .setEventDetails(
            "Template Id: "
                + getEntityId()
                + (getSnapshotId() == null
                    ? " from volume Id: " + getVolumeId()
                    : " from snapshot Id: " + getSnapshotId()));
    VirtualMachineTemplate template = null;
    template = _templateService.createPrivateTemplate(this);

    if (template != null) {
      final List<TemplateResponse> templateResponses =
          _responseGenerator.createTemplateResponses(
              ResponseView.Restricted, template.getId(), snapshotId, volumeId, false);
      TemplateResponse response = new TemplateResponse();
      if (templateResponses != null && !templateResponses.isEmpty()) {
        response = templateResponses.get(0);
      }
      response.setResponseName(getCommandName());
      setResponseObject(response);
    } else {
      throw new ServerApiException(
          ApiErrorCode.INTERNAL_ERROR, "Failed to create private template");
    }
  }
Example #2
0
 public HTTPResponse handleRequest(
     String method, String url, Map params, Map headers, Reader additional) {
   TemplateResponse response =
       new TemplateResponse(_template, HttpURLConnection.HTTP_OK, "OK", "text/html");
   response.setPageFields(_fields);
   return response;
 }
Example #3
0
 public HTTPResponse handleRequest(
     String method, String url, Map params, Map headers, Reader reader) {
   TemplateResponse response =
       (TemplateResponse) super.handleRequest(method, url, params, headers, reader);
   StringBuffer info = new StringBuffer();
   if (params.get("debug") != null) {
     info.append(
         "<p>"
             + "<table border=\"1\">"
             + "<tr><td>METHOD</td><td>"
             + method
             + "</td></tr>"
             + "<tr><td>URL</td><td>"
             + url
             + "</td></tr>"
             + "<tr><td>PARAMS</td><td>"
             + params
             + "</td></tr>"
             + "<tr><td>HEADERS</td><td>"
             + headers
             + "</td></tr>"
             + "</table>"
             + "</p>\n");
   }
   info.append(getFoundNewBuild());
   response.setPageField(INFO, info.toString());
   AbstractRoutingTable rt = AbstractFactory.getFactory().getRoutingTable();
   String localhost = rt.getPeer().toString();
   response.setPageField(
       EXTERNAL_ADDRESS,
       "<a href=" + HTTPServer.getHTTPServer().getURL() + ">" + localhost + "</a>");
   response.setPageField(
       CACHE_SIZE,
       String.valueOf(
           DataStore.getDataStore().getCacheSize() * Store.DATA_BLOCK_SIZE / (1024 * 1024)));
   response.setPageField(
       MAX_CACHE_SIZE,
       String.valueOf(
           DataStore.getDataStore().getMaxBlocks() * Store.DATA_BLOCK_SIZE / (1024 * 1024)));
   response.setPageField(HASH_SIZE, String.valueOf(HashStore.getHashStore().getCurrentSize()));
   response.setPageField(MAX_HASH_SIZE, String.valueOf(HashStore.getHashStore().getMaxBlocks()));
   response.setPageField(CONNECTIONS, getConnections());
   response.setPageField(RECENT_DOWNLOADS, getRecentDownloads());
   response.setPageField(ACTIVE_DOWNLOADS, getActiveDownloads());
   response.setPageField(RECENT_ERRORS, getRecentErrors());
   response.setPageField(RECENT_EVENTS, getRecentEvents());
   return response;
 }