List of usage examples for org.apache.http.entity.mime.content InputStreamBody InputStreamBody
public InputStreamBody(final InputStream in, final String filename)
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()); } }