Example usage for org.apache.http.entity.mime.content InputStreamBody InputStreamBody

List of usage examples for org.apache.http.entity.mime.content InputStreamBody InputStreamBody

Introduction

In this page you can find the example usage for org.apache.http.entity.mime.content InputStreamBody InputStreamBody.

Prototype

public InputStreamBody(final InputStream in, final String filename) 

Source Link

Usage

From source file:com.basistech.rosette.api.HttpRosetteAPI.java

private void setupMultipartRequest(final Request request, final ObjectWriter finalWriter, HttpPost post)
        throws IOException {
    MultipartEntityBuilder builder = MultipartEntityBuilder.create();
    builder.setMimeSubtype("mixed");
    builder.setMode(HttpMultipartMode.STRICT);

    FormBodyPartBuilder partBuilder = FormBodyPartBuilder.create("request",
            // Make sure we're not mislead by someone who puts a charset into the mime type.
            new AbstractContentBody(ContentType.parse(ContentType.APPLICATION_JSON.getMimeType())) {
                @Override/* w  w  w .  j a v  a2 s. c  o m*/
                public String getFilename() {
                    return null;
                }

                @Override
                public void writeTo(OutputStream out) throws IOException {
                    finalWriter.writeValue(out, request);
                }

                @Override
                public String getTransferEncoding() {
                    return MIME.ENC_BINARY;
                }

                @Override
                public long getContentLength() {
                    return -1;
                }
            });

    // Either one of 'name=' or 'Content-ID' would be enough.
    partBuilder.setField(MIME.CONTENT_DISPOSITION, "inline;name=\"request\"");
    partBuilder.setField("Content-ID", "request");

    builder.addPart(partBuilder.build());

    AbstractContentBody insBody;
    if (request instanceof DocumentRequest) {
        DocumentRequest docReq = (DocumentRequest) request;
        insBody = new InputStreamBody(docReq.getContentBytes(), ContentType.parse(docReq.getContentType()));
    } else if (request instanceof AdmRequest) {
        //TODO: smile?
        AdmRequest admReq = (AdmRequest) request;
        ObjectWriter writer = mapper.writer().without(JsonGenerator.Feature.AUTO_CLOSE_TARGET);
        byte[] json = writer.writeValueAsBytes(admReq.getText());
        insBody = new ByteArrayBody(json, ContentType.parse(AdmRequest.ADM_CONTENT_TYPE), null);
    } else {
        throw new UnsupportedOperationException("Unsupported request type for multipart processing");
    }
    partBuilder = FormBodyPartBuilder.create("content", insBody);
    partBuilder.setField(MIME.CONTENT_DISPOSITION, "inline;name=\"content\"");
    partBuilder.setField("Content-ID", "content");
    builder.addPart(partBuilder.build());
    builder.setCharset(StandardCharsets.UTF_8);
    HttpEntity entity = builder.build();
    post.setEntity(entity);
}

From source file:com.parworks.androidlibrary.ar.ARSiteImpl.java

public String startImageAugment(InputStream image, boolean withCD) {
    handleStateSync(mId, State.READY_TO_AUGMENT_IMAGES);

    Map<String, String> params = new HashMap<String, String>();
    params.put("site", mId);
    params.put("withCD", Boolean.toString(withCD));

    MultipartEntity imageEntity = new MultipartEntity();
    InputStreamBody imageInputStreamBody = new InputStreamBody(image, "image");
    imageEntity.addPart("image", imageInputStreamBody);

    HttpUtils httpUtils = new HttpUtils(mApiKey, mTime, mSignature);
    HttpResponse serverResponse = httpUtils
            .doPost(HttpUtils.PARWORKS_API_BASE_URL + HttpUtils.AUGMENT_IMAGE_PATH, imageEntity, params);

    HttpUtils.handleStatusCode(serverResponse.getStatusLine().getStatusCode());

    ARResponseHandler responseHandler = new ARResponseHandlerImpl();
    AugmentImageResponse augmentImageResponse = responseHandler.handleResponse(serverResponse,
            AugmentImageResponse.class);

    if (augmentImageResponse.getSuccess() == false) {
        throw new ARException(
                "Successfully communicated with the server, failed to augment the image. Perhaps the site does not exist or has no overlays.");
    }//from  w  w w  .  j av  a2s .c om

    return augmentImageResponse.getImgId();

}

From source file:connection.ChaperOnConnection.java

private HttpPost GetPostHTTP(String email, String password, String firstname, String username, String imagePath,
        String street, String apartment, String city, String postal, String country, String lastname,
        String description, int rideType, double lattitude, double longitude, String phone, int availableseats,
        String licenseImage) {/*from   w  w  w  .j a  va 2s.c om*/
    Bitmap bitmap = BitmapFactory.decodeFile(imagePath);
    Bitmap bitmap2 = BitmapFactory.decodeFile(licenseImage);
    HttpPost request = new HttpPost(REGISTER_URL);
    String param = "{\"phone\":\"" + phone + "\",\"email\":\"" + email + "\",\"password\": \"" + password
            + "\",\"username\": \"" + username + "\",\"availableSeats\":" + availableseats + ",\"type\": "
            + rideType + ",\"lattitude\": " + lattitude + ",\"longtitude\": " + longitude + ",\"street\": \""
            + street + "\",\"appartment\": \"" + apartment + "\",\"city\": \"" + city + "\",\"zip\": \""
            + postal + "\",\"country\": \"" + country + "\",\"lname\": \"" + lastname + "\",\"description\": \""
            + description + "\",\"fname\": \"" + firstname + "\"}";
    String BOUNDARY = "---------------------------41184676334";
    request.setHeader("enctype", "multipart/form-data; boundary=" + BOUNDARY);
    request.setHeader("app-id", "appid");
    request.setHeader("app-key", "appkey");

    MultipartEntityBuilder entity = MultipartEntityBuilder.create();

    try {
        entity.addPart("data", new StringBody(param));

        ByteArrayOutputStream bos = new ByteArrayOutputStream();
        ByteArrayOutputStream bos2 = new ByteArrayOutputStream();
        bitmap.compress(Bitmap.CompressFormat.JPEG, 70, bos);
        bitmap2.compress(Bitmap.CompressFormat.JPEG, 70, bos2);

        InputStream in = new ByteArrayInputStream(bos.toByteArray());
        InputStream in2 = new ByteArrayInputStream(bos2.toByteArray());

        ContentBody image = new InputStreamBody(in, "image/jpeg");
        ContentBody image2 = new InputStreamBody(in2, "image/jpeg");
        entity.addPart("image", image);
        entity.addPart("licenceimage", image2);

    } catch (UnsupportedEncodingException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    request.setEntity(entity.build());
    return request;
}

From source file:com.behance.sdk.services.BehanceSDKPublishProjectService.java

private BehanceSDKPublishProjectTaskResult publishProjectOnServer(
          BehanceSDKPublishProjectServiceParamsDTO paramBehanceSDKPublishProjectServiceParamsDTO,
          BehanceSDKPublishProjectStatusDTO paramBehanceSDKPublishProjectStatusDTO) {
      BehanceSDKPublishProjectTaskResult localBehanceSDKPublishProjectTaskResult = new BehanceSDKPublishProjectTaskResult();
      BehanceSDKPublishedProjectDTO localBehanceSDKPublishedProjectDTO = new BehanceSDKPublishedProjectDTO();
      String str1 = paramBehanceSDKPublishProjectServiceParamsDTO.getProjectTitle();
      localBehanceSDKPublishedProjectDTO.setProjectTitle(str1);
      localBehanceSDKPublishProjectTaskResult.setPublishedProject(localBehanceSDKPublishedProjectDTO);
      List localList = paramBehanceSDKPublishProjectServiceParamsDTO.getProjectModules();
      paramBehanceSDKPublishProjectStatusDTO.setProjectTitle(str1);
      paramBehanceSDKPublishProjectStatusDTO
              .setProgressState(BehanceSDKPublishProjectProgressState.PUBLISH_STARTED);
      paramBehanceSDKPublishProjectStatusDTO
              .setProgressPercentage(getProgressPercentage(BehanceSDKPublishProjectProgressState.PUBLISH_STARTED,
                      paramBehanceSDKPublishProjectServiceParamsDTO));
      broadcastProgressUpdate(paramBehanceSDKPublishProjectStatusDTO);
      Object localObject4 = null;
      HashMap localHashMap = new HashMap();
      localHashMap.put("clientId", paramBehanceSDKPublishProjectServiceParamsDTO.getAppClientId());
      Object localObject1 = localObject4;
      ContentType localContentType;//from ww w  . ja  v a 2  s . c  o  m
      Object localObject5;
      String str2;
      try {
          localContentType = ContentType.create("text/plain", "UTF-8");
          localObject1 = localObject4;
          localObject5 = BehanceSDKUrlUtil.getUrlFromTemplate(
                  "{server_root_url}/v2/project/editor?{key_client_id_param}={clientId}", localHashMap);
          localObject1 = localObject4;
          str2 = BehanceSDKUserManager.getInstance().checkExpiryAndGetAccessToken();
          Object localObject2 = localObject5;
          if (str2 != null) {
              localObject1 = localObject4;
              localObject2 = BehanceSDKUrlUtil.appendQueryStringParam((String) localObject5, "access_token",
                      str2);
          }
          localObject1 = localObject4;
          localObject2 = new HttpPost((String) localObject2);
          localObject1 = localObject4;
          localObject6 = paramBehanceSDKPublishProjectServiceParamsDTO.getProjectCoverImageByteArray();
          localObject1 = localObject4;
          localObject5 = MultipartEntityBuilder.create();
          localObject1 = localObject4;
          localObject6 = new ByteArrayInputStream((byte[]) localObject6);
          localObject1 = localObject4;
          ((MultipartEntityBuilder) localObject5).addPart("image", new InputStreamBody((InputStream) localObject6,
                  paramBehanceSDKPublishProjectServiceParamsDTO.getProjectCoverImageFileName()));
          localObject1 = localObject4;
          ((MultipartEntityBuilder) localObject5).addTextBody("title", str1, localContentType);
          localObject1 = localObject4;
          ((HttpPost) localObject2).setEntity(((MultipartEntityBuilder) localObject5).build());
          localObject1 = localObject4;
          localObject2 = BehanceSDKHTTPUtils.doHTTPPost((HttpPost) localObject2);
          localObject1 = localObject4;
          ((ByteArrayInputStream) localObject6).close();
          localObject1 = localObject4;
          if (((HTTPResponse) localObject2).getStatusCode() != 201) {
              localObject1 = localObject4;
              paramBehanceSDKPublishProjectStatusDTO
                      .setProgressState(BehanceSDKPublishProjectProgressState.PUBLISH_FAILED);
              localObject1 = localObject4;
              paramBehanceSDKPublishProjectStatusDTO
                      .setReasonPhrase(((HTTPResponse) localObject2).getReasonPhrase());
              localObject1 = localObject4;
              broadcastProgressUpdate(paramBehanceSDKPublishProjectStatusDTO);
              localObject1 = localObject4;
              cleanupCreativeCloudResources(localList);
              localObject1 = localObject4;
              localBehanceSDKPublishProjectTaskResult
                      .setStatus(BehanceSDKPublishProjectTaskResult.PublishStatus.CREATION_FAILED);
              localObject1 = localObject4;
              localBehanceSDKPublishProjectTaskResult
                      .setReasonPhrase(((HTTPResponse) localObject2).getReasonPhrase());
              return localBehanceSDKPublishProjectTaskResult;
          }
          localObject1 = localObject4;
          localObject2 = (JSONObject) new JSONObject(((HTTPResponse) localObject2).getResponseString())
                  .get("project");
          localObject1 = localObject4;
          localObject5 = ((JSONObject) localObject2).optString("id");
          localObject1 = localObject5;
          localBehanceSDKPublishedProjectDTO.setProjectId((String) localObject5);
          localObject1 = localObject5;
          localObject4 = ((JSONObject) localObject2).optString("url");
          localObject1 = localObject5;
          localBehanceSDKPublishedProjectDTO.setProjectUrl((String) localObject4);
          localObject1 = localObject5;
          paramBehanceSDKPublishProjectStatusDTO.setProjectId((String) localObject5);
          localObject1 = localObject5;
          paramBehanceSDKPublishProjectStatusDTO.setProjectUrl((String) localObject4);
          localObject1 = localObject5;
          if (!isActiveUploadCancelled()) {
              break label563;
          }
          localObject1 = localObject5;
          handleCancelAfterSuccessfulUpload(localBehanceSDKPublishedProjectDTO,
                  paramBehanceSDKPublishProjectServiceParamsDTO);
          localObject1 = localObject5;
          localBehanceSDKPublishProjectTaskResult
                  .setStatus(BehanceSDKPublishProjectTaskResult.PublishStatus.CANCELLED);
          return localBehanceSDKPublishProjectTaskResult;
      } catch (Throwable localThrowable) {
          logger.error(localThrowable, "Problem publishing project", new Object[0]);
          cleanupCreativeCloudResources(localList);
          if (!isActiveUploadCancelled()) {
              break label1715;
          }
      }
      handleCancelAfterSuccessfulUpload(localBehanceSDKPublishedProjectDTO,
              paramBehanceSDKPublishProjectServiceParamsDTO);
      localBehanceSDKPublishProjectTaskResult
              .setStatus(BehanceSDKPublishProjectTaskResult.PublishStatus.CANCELLED);
      return localBehanceSDKPublishProjectTaskResult;
      label563: localObject1 = localObject5;
      paramBehanceSDKPublishProjectStatusDTO
              .setProgressState(BehanceSDKPublishProjectProgressState.PROJECT_DRAFT_CREATION_SUCCESSFUL);
      localObject1 = localObject5;
      paramBehanceSDKPublishProjectStatusDTO.setProgressPercentage(
              getProgressPercentage(BehanceSDKPublishProjectProgressState.PROJECT_DRAFT_CREATION_SUCCESSFUL,
                      paramBehanceSDKPublishProjectServiceParamsDTO));
      localObject1 = localObject5;
      broadcastProgressUpdate(paramBehanceSDKPublishProjectStatusDTO);
      localObject1 = localObject5;
      localObject4 = localThrowable.optJSONObject("covers");
      int i;
      Iterator localIterator;
      if (localObject4 != null) {
          localObject1 = localObject5;
          localObject3 = ((JSONObject) localObject4).optString("202");
          localObject1 = localObject5;
          localObject4 = ((JSONObject) localObject4).optString("404");
          localObject1 = localObject5;
          localBehanceSDKPublishedProjectDTO.setProjectImageUrl((String) localObject3);
          if (localObject4 != null) {
              localObject1 = localObject5;
              if (((String) localObject4).length() > 0) {
                  localObject1 = localObject5;
                  paramBehanceSDKPublishProjectStatusDTO.setProjectCoverImageUrl((String) localObject4);
              }
          }
      } else {
          localObject1 = localObject5;
          localObject4 = BehanceSDKUrlUtil.getUrlFromTemplate(
                  "{server_root_url}/v2/project/editor/{PROJECTID}/modules?{key_client_id_param}={clientId}",
                  localHashMap).replace("{PROJECTID}", (CharSequence) localObject5);
          localObject3 = localObject4;
          if (str2 != null) {
              localObject1 = localObject5;
              localObject3 = BehanceSDKUrlUtil.appendQueryStringParam((String) localObject4, "access_token",
                      str2);
          }
          i = 0;
          localObject1 = localObject5;
          localIterator = localList.iterator();
      }
      ProjectModule localProjectModule;
      label1147: label1173: do {
          localObject1 = localObject5;
          if (!localIterator.hasNext()) {
              break label1284;
          }
          localObject1 = localObject5;
          localProjectModule = (ProjectModule) localIterator.next();
          localObject1 = localObject5;
          if (isActiveUploadCancelled()) {
              localObject1 = localObject5;
              handleCancelAfterSuccessfulUpload(localBehanceSDKPublishedProjectDTO,
                      paramBehanceSDKPublishProjectServiceParamsDTO);
              localObject1 = localObject5;
              localBehanceSDKPublishProjectTaskResult
                      .setStatus(BehanceSDKPublishProjectTaskResult.PublishStatus.CANCELLED);
              return localBehanceSDKPublishProjectTaskResult;
              localObject1 = localObject5;
              paramBehanceSDKPublishProjectStatusDTO.setProjectCoverImageUrl((String) localObject3);
              break;
          }
          i += 1;
          localObject1 = localObject5;
          ProjectModuleTypes localProjectModuleTypes = localProjectModule.getType();
          localObject1 = localObject5;
          Object localObject7 = MultipartEntityBuilder.create();
          localObject6 = null;
          localObject1 = localObject5;
          if (localProjectModuleTypes != ProjectModuleTypes.IMAGE) {
              localObject1 = localObject5;
              if (localProjectModuleTypes != ProjectModuleTypes.CREATIVECLOUD_ASSET) {
              }
          } else {
              localObject1 = localObject5;
              ((MultipartEntityBuilder) localObject7).addTextBody("type", "image");
              localObject1 = localObject5;
              localObject4 = ((ImageModule) localProjectModule).getFileForUpload();
              localObject1 = localObject5;
              ((MultipartEntityBuilder) localObject7).addPart("image", new FileBody((File) localObject4));
              localObject1 = localObject5;
              localObject6 = ((MultipartEntityBuilder) localObject7).build();
              localObject1 = localObject5;
              localObject7 = new HttpPost((String) localObject3);
              localObject1 = localObject5;
              ((HttpPost) localObject7).setEntity(new CustomHttpEntityWrapper((HttpEntity) localObject6,
                      new ProjectModuleUploadEntityWrapperCallback(paramBehanceSDKPublishProjectServiceParamsDTO,
                              paramBehanceSDKPublishProjectStatusDTO, (HttpPost) localObject7, i, null)));
              localObject1 = localObject5;
              localObject6 = BehanceSDKHTTPUtils.doHTTPPost((HttpPost) localObject7);
              localObject1 = localObject5;
              if (localProjectModuleTypes != ProjectModuleTypes.IMAGE) {
                  break label1147;
              }
              localObject1 = localObject5;
              if (((File) localObject4).equals(((ImageModule) localProjectModule).getFile())) {
                  break label1147;
              }
              localObject1 = localObject5;
              ((File) localObject4).delete();
          }
          for (;;) {
              localObject1 = localObject5;
              if (!isActiveUploadCancelled()) {
                  break label1173;
              }
              localObject1 = localObject5;
              handleCancelAfterSuccessfulUpload(localBehanceSDKPublishedProjectDTO,
                      paramBehanceSDKPublishProjectServiceParamsDTO);
              localObject1 = localObject5;
              localBehanceSDKPublishProjectTaskResult
                      .setStatus(BehanceSDKPublishProjectTaskResult.PublishStatus.CANCELLED);
              return localBehanceSDKPublishProjectTaskResult;
              localObject1 = localObject5;
              localObject4 = localObject6;
              if (localProjectModuleTypes != ProjectModuleTypes.EMBED) {
                  break;
              }
              localObject1 = localObject5;
              ((MultipartEntityBuilder) localObject7).addTextBody("type", "embed");
              localObject1 = localObject5;
              ((MultipartEntityBuilder) localObject7).addPart("html", new StringBody(
                      ((EmbedModule) localProjectModule).getEmbedContent(), ContentType.APPLICATION_XHTML_XML));
              localObject4 = localObject6;
              break;
              localObject1 = localObject5;
              if (localProjectModuleTypes == ProjectModuleTypes.CREATIVECLOUD_ASSET) {
                  localObject1 = localObject5;
                  localProjectModule.deleteFromFileSystem();
              }
          }
          localObject1 = localObject5;
      } while (((HTTPResponse) localObject6).getStatusCode() == 201);
      localObject1 = localObject5;
      deleteProject((String) localObject5, paramBehanceSDKPublishProjectServiceParamsDTO, localHashMap);
      localObject1 = localObject5;
      cleanupCreativeCloudResources(localList);
      localObject1 = localObject5;
      paramBehanceSDKPublishProjectStatusDTO
              .setProgressState(BehanceSDKPublishProjectProgressState.PUBLISH_FAILED);
      localObject1 = localObject5;
      paramBehanceSDKPublishProjectStatusDTO.setReasonPhrase(((HTTPResponse) localObject6).getReasonPhrase());
      localObject1 = localObject5;
      broadcastProgressUpdate(paramBehanceSDKPublishProjectStatusDTO);
      localObject1 = localObject5;
      localBehanceSDKPublishProjectTaskResult
              .setStatus(BehanceSDKPublishProjectTaskResult.PublishStatus.MODULE_ADD_FAILED);
      localObject1 = localObject5;
      localBehanceSDKPublishProjectTaskResult.setFailedMoudle(localProjectModule);
      localObject1 = localObject5;
      localBehanceSDKPublishProjectTaskResult.setReasonPhrase(((HTTPResponse) localObject6).getReasonPhrase());
      return localBehanceSDKPublishProjectTaskResult;
      label1284: localObject1 = localObject5;
      localObject4 = BehanceSDKUrlUtil.getUrlFromTemplate(
              "{server_root_url}/v2/project/editor/{PROJECTID}?{key_client_id_param}={clientId}", localHashMap)
              .replace("{PROJECTID}", (CharSequence) localObject5);
      Object localObject3 = localObject4;
      if (str2 != null) {
          localObject1 = localObject5;
          localObject3 = BehanceSDKUrlUtil.appendQueryStringParam((String) localObject4, "access_token", str2);
      }
      localObject1 = localObject5;
      localObject4 = new HttpPut((String) localObject3);
      localObject1 = localObject5;
      Object localObject6 = MultipartEntityBuilder.create();
      localObject1 = localObject5;
      ((MultipartEntityBuilder) localObject6).setMode(HttpMultipartMode.BROWSER_COMPATIBLE);
      localObject1 = localObject5;
      ((MultipartEntityBuilder) localObject6).addTextBody("title", str1, localContentType);
      localObject1 = localObject5;
      localObject3 = paramBehanceSDKPublishProjectServiceParamsDTO.getProjectCreativeFields();
      localObject1 = localObject5;
      if (!TextUtils.isEmpty((CharSequence) localObject3)) {
          localObject1 = localObject5;
          ((MultipartEntityBuilder) localObject6).addTextBody("fields", (String) localObject3, localContentType);
      }
      localObject1 = localObject5;
      localObject3 = paramBehanceSDKPublishProjectServiceParamsDTO.getProjectTags();
      localObject1 = localObject5;
      if (!TextUtils.isEmpty((CharSequence) localObject3)) {
          localObject1 = localObject5;
          ((MultipartEntityBuilder) localObject6).addTextBody("tags", (String) localObject3, localContentType);
      }
      localObject1 = localObject5;
      ((MultipartEntityBuilder) localObject6).addTextBody("description",
              paramBehanceSDKPublishProjectServiceParamsDTO.getProjectDescription(), localContentType);
      localObject1 = localObject5;
      ((MultipartEntityBuilder) localObject6).addTextBody("license",
              paramBehanceSDKPublishProjectServiceParamsDTO.getProjectCopyright(), localContentType);
      localObject1 = localObject5;
      if (paramBehanceSDKPublishProjectServiceParamsDTO.isProjectContainsAdultContent()) {
      }
      for (localObject3 = "1";; localObject3 = "0") {
          localObject1 = localObject5;
          ((MultipartEntityBuilder) localObject6).addTextBody("mature_content", (String) localObject3,
                  localContentType);
          localObject1 = localObject5;
          ((MultipartEntityBuilder) localObject6).addTextBody("published", "1", localContentType);
          localObject1 = localObject5;
          ((HttpPut) localObject4).setEntity(((MultipartEntityBuilder) localObject6).build());
          localObject1 = localObject5;
          localObject3 = BehanceSDKHTTPUtils.doHTTPPut((HttpPut) localObject4);
          localObject1 = localObject5;
          if (((HTTPResponse) localObject3).getStatusCode() == 200) {
              localObject1 = localObject5;
              localBehanceSDKPublishProjectTaskResult
                      .setStatus(BehanceSDKPublishProjectTaskResult.PublishStatus.SUCCESS);
              localObject1 = localObject5;
              paramBehanceSDKPublishProjectStatusDTO
                      .setProgressState(BehanceSDKPublishProjectProgressState.MODULES_UPLOAD_SUCCESSFUL);
              localObject1 = localObject5;
              paramBehanceSDKPublishProjectStatusDTO.setProgressPercentage(
                      getProgressPercentage(BehanceSDKPublishProjectProgressState.MODULES_UPLOAD_SUCCESSFUL,
                              paramBehanceSDKPublishProjectServiceParamsDTO));
              localObject1 = localObject5;
              broadcastProgressUpdate(paramBehanceSDKPublishProjectStatusDTO);
              return localBehanceSDKPublishProjectTaskResult;
          }
          localObject1 = localObject5;
          deleteProject((String) localObject5, paramBehanceSDKPublishProjectServiceParamsDTO, localHashMap);
          localObject1 = localObject5;
          paramBehanceSDKPublishProjectStatusDTO
                  .setProgressState(BehanceSDKPublishProjectProgressState.PUBLISH_FAILED);
          localObject1 = localObject5;
          paramBehanceSDKPublishProjectStatusDTO.setReasonPhrase(((HTTPResponse) localObject3).getReasonPhrase());
          localObject1 = localObject5;
          broadcastProgressUpdate(paramBehanceSDKPublishProjectStatusDTO);
          localObject1 = localObject5;
          localBehanceSDKPublishProjectTaskResult
                  .setStatus(BehanceSDKPublishProjectTaskResult.PublishStatus.PUBLISH_FAILED);
          localObject1 = localObject5;
          localBehanceSDKPublishProjectTaskResult
                  .setReasonPhrase(((HTTPResponse) localObject3).getReasonPhrase());
          return localBehanceSDKPublishProjectTaskResult;
          label1715: if (!TextUtils.isEmpty(localObject1)) {
              deleteProject(localObject1, paramBehanceSDKPublishProjectServiceParamsDTO, localHashMap);
          }
          paramBehanceSDKPublishProjectStatusDTO
                  .setProgressState(BehanceSDKPublishProjectProgressState.PUBLISH_FAILED);
          paramBehanceSDKPublishProjectStatusDTO.setException((Throwable) localObject3);
          broadcastProgressUpdate(paramBehanceSDKPublishProjectStatusDTO);
          localBehanceSDKPublishProjectTaskResult
                  .setStatus(BehanceSDKPublishProjectTaskResult.PublishStatus.EXCEPTION);
          localBehanceSDKPublishProjectTaskResult.setException((Throwable) localObject3);
          return localBehanceSDKPublishProjectTaskResult;
      }
  }

From source file:org.opencastproject.capture.impl.CaptureAgentImpl.java

/**
 * Sends a file to the REST ingest service.
 * //  w  w  w .ja  va 2 s  . c o m
 * @param recID
 *          The ID for the recording to be ingested.
 * @return The status code for the http post, or one of a number of error values. The error values are as follows: -1:
 *         Unable to ingest because the recording id does not exist -2: Invalid ingest url -3: Invalid ingest url -4:
 *         Invalid ingest url -5: Unable to open media package
 */
public int ingest(String recID) {
    logger.info("Ingesting recording: {}", recID);
    AgentRecording recording = pendingRecordings.get(recID);

    if (recording == null) {
        logger.error("[ingest] Recording {} not found!", recID);
        return -1;
    }

    // Find all the available ingest services
    List<ServiceRegistration> ingestServices = null;
    URL url = null;
    try {
        ingestServices = serviceRegistry.getServiceRegistrationsByLoad("org.opencastproject.ingest");
        if (ingestServices.size() == 0) {
            logger.warn("Unable to ingest media because no ingest service is available");
            return -4;
        }

        // Take the least loaded one (first in line)
        ServiceRegistration ingestService = ingestServices.get(0);
        url = new URL(
                UrlSupport.concat(ingestService.getHost(), ingestService.getPath() + "/addZippedMediaPackage"));
    } catch (ServiceRegistryException e) {
        logger.warn("Unable to ingest media because communication with the remote service registry failed.", e);
        return -4;
    } catch (MalformedURLException e) {
        logger.warn("Malformed URL for ingest target.");
        return -3;
    }

    File fileDesc = new File(recording.getBaseDir(), CaptureParameters.ZIP_NAME);

    // Set the file as the body of the request
    MultipartEntity entities = new MultipartEntity();
    // Check to see if the properties have an alternate workflow definition attached
    String workflowDefinitionId = recording.getProperty(CaptureParameters.INGEST_WORKFLOW_DEFINITION);
    String workflowInstance = recording.getID();
    // Copy appropriate keys from the properties so they can be passed to the REST endpoint separately
    Set<Object> keys = recording.getProperties().keySet();
    for (Object o : keys) {
        String key = (String) o;
        if (key.contains("org.opencastproject.workflow.config.")) {
            try {
                String configKey = key.replaceFirst("org\\.opencastproject\\.workflow\\.config\\.", "");
                entities.addPart(configKey, new StringBody(recording.getProperty(key)));
            } catch (UnsupportedEncodingException e) {
                logger.warn("Unable to attach property {} to POST.  Exception message: {}.", key,
                        e.getMessage());
            }
        }
    }

    try {
        if (workflowDefinitionId != null) {
            entities.addPart("workflowDefinitionId",
                    new StringBody(workflowDefinitionId, Charset.forName("UTF-8")));
        }
        if (workflowInstance != null) {
            entities.addPart("workflowInstanceId", new StringBody(workflowInstance, Charset.forName("UTF-8")));
        }
        entities.addPart(fileDesc.getName(),
                new InputStreamBody(new FileInputStream(fileDesc), fileDesc.getName()));
    } catch (FileNotFoundException ex) {
        logger.error("Could not find zipped mediapackage " + fileDesc.getAbsolutePath());
        return -5;
    } catch (UnsupportedEncodingException e) {
        throw new IllegalStateException("This system does not support UTF-8", e);
    }

    logger.debug("Ingest URL is " + url.toString());
    HttpPost postMethod = new HttpPost(url.toString());
    postMethod.setEntity(entities);

    setRecordingState(recID, RecordingState.UPLOADING);

    // Send the file
    HttpResponse response = null;
    int retValue = -1;
    try {
        logger.debug("Sending the file " + fileDesc.getAbsolutePath() + " with a size of " + fileDesc.length());
        response = client.execute(postMethod);
    } catch (TrustedHttpClientException e) {
        logger.error("Unable to ingest recording {}, message reads: {}.", recID, e.getMessage());
    } catch (NullPointerException e) {
        logger.error("Unable to ingest recording {}, null pointer exception!", recID);
    } finally {
        if (response != null) {
            retValue = response.getStatusLine().getStatusCode();
            client.close(response);
        } else {
            retValue = -1;
        }
    }

    if (retValue == HttpURLConnection.HTTP_OK) {
        setRecordingState(recID, RecordingState.UPLOAD_FINISHED);
    } else {
        setRecordingState(recID, RecordingState.UPLOAD_ERROR);
    }

    serializeRecording(recID);
    if (retValue == HttpURLConnection.HTTP_OK) {
        removeZipFile(recording);
        completedRecordings.put(recID, recording);
        pendingRecordings.remove(recID);
    }
    return retValue;
}

From source file:com.parworks.androidlibrary.ar.ARSiteImpl.java

private String startSendPhotoDetectChanges(InputStream image, String featureType) {
    //      Log.d(TAG,"startSendPhotoDetectChanges");

    Map<String, String> params = new HashMap<String, String>();
    params.put("site", mId);
    params.put("featureType", featureType);

    MultipartEntity imageEntity = new MultipartEntity();
    InputStreamBody imageInputStreamBody = new InputStreamBody(image, "image");
    imageEntity.addPart("image", imageInputStreamBody);

    HttpUtils httpUtils = new HttpUtils(mApiKey, mTime, mSignature);
    HttpResponse serverResponse = httpUtils.doPost(
            HttpUtils.PARWORKS_API_BASE_URL + HttpUtils.SEND_PHOTO_DETECT_CHANGES_PATH, imageEntity, params);

    HttpUtils.handleStatusCode(serverResponse.getStatusLine().getStatusCode());

    ARResponseHandler responseHandler = new ARResponseHandlerImpl();
    AugmentImageResponse augmentImageResponse = responseHandler.handleResponse(serverResponse,
            AugmentImageResponse.class);

    if (augmentImageResponse.getSuccess() == false) {
        throw new ARException(
                "Successfully communicated with the server, failed to augment the image. Perhaps the site does not exist or has no overlays.");
    }//from   w  ww.  ja v a  2 s.  c  o m

    return augmentImageResponse.getImgId();
}

From source file:org.deviceconnect.android.profile.restful.test.NormalNotificationProfileTestCase.java

/**
 * ??????????./*  ww  w  . ja v  a 2s. c  o  m*/
 * 
 * <pre>
 * ?HTTP
 * Method: POST
 * Path: notification/notify?deviceId=xxxx&type=0
 * </pre>
 * 
 * <pre>
 * ??
 * result?0???????
 * notificationid?1???????
 * </pre>
 */
public void testPostNotifyOptional016() {
    StringBuilder builder = new StringBuilder();
    builder.append(DCONNECT_MANAGER_URI);
    builder.append("/" + NotificationProfileConstants.PROFILE_NAME);
    builder.append("/" + NotificationProfileConstants.ATTRIBUTE_NOTIFY);
    builder.append("?");
    builder.append(DConnectProfileConstants.PARAM_DEVICE_ID + "=" + getDeviceId());
    builder.append("&");
    builder.append(NotificationProfileConstants.PARAM_TYPE + "=0");

    builder.append("&");
    builder.append(AuthorizationProfileConstants.PARAM_ACCESS_TOKEN + "=" + getAccessToken());
    try {
        HttpPost request = new HttpPost(builder.toString());
        String name = "test.png";
        AssetManager manager = getApplicationContext().getAssets();
        MultipartEntity entity = new MultipartEntity();
        entity.addPart(NotificationProfileConstants.PARAM_ICON, new InputStreamBody(manager.open(name), name));
        request.setEntity(entity);

        JSONObject root = sendRequest(request);
        Assert.assertNotNull("root is null.", root);
        Assert.assertEquals(DConnectMessage.RESULT_OK, root.getInt(DConnectMessage.EXTRA_RESULT));
        Assert.assertEquals("notificationid is not equals.",
                TestNotificationProfileConstants.NOTIFICATION_ID[0],
                root.getString(NotificationProfileConstants.PARAM_NOTIFICATION_ID));
    } catch (JSONException e) {
        fail("Exception in JSONObject." + e.getMessage());
    } catch (IOException e) {
        fail("Exception in JSONObject." + e.getMessage());
    }
}

From source file:org.deviceconnect.android.profile.restful.test.NormalNotificationProfileTestCase.java

/**
 * ??????????./* w  w w.j  a  va 2 s.  c om*/
 * 
 * <pre>
 * ?HTTP
 * Method: POST
 * Path: notification/notify?deviceId=xxxx&type=0&dir=auto
 * </pre>
 * 
 * <pre>
 * ??
 * result?0???????
 * notificationid?1???????
 * </pre>
 */
public void testPostNotifyOptional017() {
    StringBuilder builder = new StringBuilder();
    builder.append(DCONNECT_MANAGER_URI);
    builder.append("/" + NotificationProfileConstants.PROFILE_NAME);
    builder.append("/" + NotificationProfileConstants.ATTRIBUTE_NOTIFY);
    builder.append("?");
    builder.append(DConnectProfileConstants.PARAM_DEVICE_ID + "=" + getDeviceId());
    builder.append("&");
    builder.append(NotificationProfileConstants.PARAM_TYPE + "=0");
    builder.append("&");
    builder.append(NotificationProfileConstants.PARAM_DIR + "=auto");

    builder.append("&");
    builder.append(AuthorizationProfileConstants.PARAM_ACCESS_TOKEN + "=" + getAccessToken());
    try {
        HttpPost request = new HttpPost(builder.toString());
        String name = "test.png";
        AssetManager manager = getApplicationContext().getAssets();
        MultipartEntity entity = new MultipartEntity();
        entity.addPart(NotificationProfileConstants.PARAM_ICON, new InputStreamBody(manager.open(name), name));
        request.setEntity(entity);

        JSONObject root = sendRequest(request);
        Assert.assertNotNull("root is null.", root);
        Assert.assertEquals(DConnectMessage.RESULT_OK, root.getInt(DConnectMessage.EXTRA_RESULT));
        Assert.assertEquals("notificationid is not equals.",
                TestNotificationProfileConstants.NOTIFICATION_ID[0],
                root.getString(NotificationProfileConstants.PARAM_NOTIFICATION_ID));
    } catch (JSONException e) {
        fail("Exception in JSONObject." + e.getMessage());
    } catch (IOException e) {
        fail("Exception in JSONObject." + e.getMessage());
    }
}

From source file:org.deviceconnect.android.profile.restful.test.NormalNotificationProfileTestCase.java

/**
 * ??????????./*from  www.  ja va  2s. c om*/
 * 
 * <pre>
 * ?HTTP
 * Method: POST
 * Path: notification/notify?deviceId=xxxx&type=0&lang=jp-JP
 * </pre>
 * 
 * <pre>
 * ??
 * result?0???????
 * notificationid?1???????
 * </pre>
 */
public void testPostNotifyOptional018() {
    StringBuilder builder = new StringBuilder();
    builder.append(DCONNECT_MANAGER_URI);
    builder.append("/" + NotificationProfileConstants.PROFILE_NAME);
    builder.append("/" + NotificationProfileConstants.ATTRIBUTE_NOTIFY);
    builder.append("?");
    builder.append(DConnectProfileConstants.PARAM_DEVICE_ID + "=" + getDeviceId());
    builder.append("&");
    builder.append(NotificationProfileConstants.PARAM_TYPE + "=0");
    builder.append("&");
    builder.append(NotificationProfileConstants.PARAM_LANG + "=jp-JP");

    builder.append("&");
    builder.append(AuthorizationProfileConstants.PARAM_ACCESS_TOKEN + "=" + getAccessToken());
    try {
        HttpPost request = new HttpPost(builder.toString());
        String name = "test.png";
        AssetManager manager = getApplicationContext().getAssets();
        MultipartEntity entity = new MultipartEntity();
        entity.addPart(NotificationProfileConstants.PARAM_ICON, new InputStreamBody(manager.open(name), name));
        request.setEntity(entity);

        JSONObject root = sendRequest(request);
        Assert.assertNotNull("root is null.", root);
        Assert.assertEquals(DConnectMessage.RESULT_OK, root.getInt(DConnectMessage.EXTRA_RESULT));
        Assert.assertEquals("notificationid is not equals.",
                TestNotificationProfileConstants.NOTIFICATION_ID[0],
                root.getString(NotificationProfileConstants.PARAM_NOTIFICATION_ID));
    } catch (JSONException e) {
        fail("Exception in JSONObject." + e.getMessage());
    } catch (IOException e) {
        fail("Exception in JSONObject." + e.getMessage());
    }
}

From source file:org.deviceconnect.android.profile.restful.test.NormalNotificationProfileTestCase.java

/**
 * ??????????.//from  w  w  w . j  a  v  a  2  s .  c o  m
 * 
 * <pre>
 * ?HTTP
 * Method: POST
 * Path: notification/notify?deviceId=xxxx&type=0&dir=auto&lang=jp-JP
 * </pre>
 * 
 * <pre>
 * ??
 * result?0???????
 * notificationid?1???????
 * </pre>
 */
public void testPostNotifyOptional019() {
    StringBuilder builder = new StringBuilder();
    builder.append(DCONNECT_MANAGER_URI);
    builder.append("/" + NotificationProfileConstants.PROFILE_NAME);
    builder.append("/" + NotificationProfileConstants.ATTRIBUTE_NOTIFY);
    builder.append("?");
    builder.append(DConnectProfileConstants.PARAM_DEVICE_ID + "=" + getDeviceId());
    builder.append("&");
    builder.append(NotificationProfileConstants.PARAM_TYPE + "=0");
    builder.append("&");
    builder.append(NotificationProfileConstants.PARAM_DIR + "=auto");
    builder.append("&");
    builder.append(NotificationProfileConstants.PARAM_LANG + "=jp-JP");

    builder.append("&");
    builder.append(AuthorizationProfileConstants.PARAM_ACCESS_TOKEN + "=" + getAccessToken());
    try {
        HttpPost request = new HttpPost(builder.toString());
        String name = "test.png";
        AssetManager manager = getApplicationContext().getAssets();
        MultipartEntity entity = new MultipartEntity();
        entity.addPart(NotificationProfileConstants.PARAM_ICON, new InputStreamBody(manager.open(name), name));
        request.setEntity(entity);

        JSONObject root = sendRequest(request);
        Assert.assertNotNull("root is null.", root);
        Assert.assertEquals(DConnectMessage.RESULT_OK, root.getInt(DConnectMessage.EXTRA_RESULT));
        Assert.assertEquals("notificationid is not equals.",
                TestNotificationProfileConstants.NOTIFICATION_ID[0],
                root.getString(NotificationProfileConstants.PARAM_NOTIFICATION_ID));
    } catch (JSONException e) {
        fail("Exception in JSONObject." + e.getMessage());
    } catch (IOException e) {
        fail("Exception in JSONObject." + e.getMessage());
    }
}