public <T> T postMultipartFormDataAs( Object input, Class<T> returnType ) { UriBuilder localUriBuilder = _uriBuilder.clone(); com.sun.jersey.api.client.WebResource resource = _client.resource( localUriBuilder.buildFromMap( _templateAndMatrixParameterValues ) ); com.sun.jersey.api.client.WebResource.Builder resourceBuilder = resource.getRequestBuilder(); resourceBuilder = resourceBuilder.accept( "*/*" ); resourceBuilder = resourceBuilder.type( "multipart/form-data" ); com.sun.jersey.api.client.ClientResponse response; response = resourceBuilder.method( "POST", com.sun.jersey.api.client.ClientResponse.class, input ); if ( !com.sun.jersey.api.client.ClientResponse.class.isAssignableFrom( returnType ) ) { if ( response.getStatus() >= 400 ) { throw new PentahoDiPlugin.WebApplicationExceptionMessage( Response.status( response.getClientResponseStatus() ).build() ); } } if ( !com.sun.jersey.api.client.ClientResponse.class.isAssignableFrom( returnType ) ) { return response.getEntity( returnType ); } else { return returnType.cast( response ); } }
public <T> T postMultipartFormDataAs( Object input, com.sun.jersey.api.client.GenericType<T> returnType ) { UriBuilder localUriBuilder = _uriBuilder.clone(); com.sun.jersey.api.client.WebResource resource = _client.resource( localUriBuilder.buildFromMap( _templateAndMatrixParameterValues ) ); com.sun.jersey.api.client.WebResource.Builder resourceBuilder = resource.getRequestBuilder(); resourceBuilder = resourceBuilder.accept( "*/*" ); resourceBuilder = resourceBuilder.type( "multipart/form-data" ); com.sun.jersey.api.client.ClientResponse response; response = resourceBuilder.method( "POST", com.sun.jersey.api.client.ClientResponse.class, input ); if ( response.getStatus() >= 400 ) { throw new PentahoDiPlugin.WebApplicationExceptionMessage( Response .status( response.getClientResponseStatus() ).build() ); } return response.getEntity( returnType ); }
@Override public EurekaHttpResponse<Void> register(InstanceInfo info) { String urlPath = "apps/" + info.getAppName(); ClientResponse response = null; try { Builder resourceBuilder = jerseyClient.resource(serviceUrl).path(urlPath).getRequestBuilder(); addExtraHeaders(resourceBuilder); response = resourceBuilder .header("Accept-Encoding", "gzip") .type(MediaType.APPLICATION_JSON_TYPE) .accept(MediaType.APPLICATION_JSON) .post(ClientResponse.class, info); return anEurekaHttpResponse(response.getStatus()).headers(headersOf(response)).build(); } finally { if (logger.isDebugEnabled()) { logger.debug("Jersey HTTP POST {}/{} with instance {}; statusCode={}", serviceUrl, urlPath, info.getId(), response == null ? "N/A" : response.getStatus()); } if (response != null) { response.close(); } } }
@Override public void addAlertPublishEvent(AlertPublishEvent event) { WebResource r = client.resource(basePath + METADATA_ALERTS_PATH); r.accept(MediaType.APPLICATION_JSON_TYPE).type(MediaType.APPLICATION_JSON).post(event); }
@Override public void addPolicies(List<PolicyDefinition> policies) { WebResource r = client.resource(basePath + METADATA_POLICIES_BATCH_PATH); r.accept(MediaType.APPLICATION_JSON_TYPE).type(MediaType.APPLICATION_JSON).post(policies); }
@Override public void addStreamDefinitions(List<StreamDefinition> streamDefs) { WebResource r = client.resource(basePath + METADATA_STREAMS_BATCH_PATH); r.accept(MediaType.APPLICATION_JSON_TYPE).type(MediaType.APPLICATION_JSON).post(streamDefs); }
@Override public void addStreamDefinition(StreamDefinition streamDef) { WebResource r = client.resource(basePath + METADATA_STREAMS_PATH); r.accept(MediaType.APPLICATION_JSON_TYPE).type(MediaType.APPLICATION_JSON).post(streamDef); }
@Override public OpResult addHdfsSensitivity(Collection<HdfsSensitivityEntity> h) { WebResource r = client.resource(basePath + METADATA_ADD_HDFS_SENSITIVITY_PATH); r.accept(MediaType.APPLICATION_JSON_TYPE).type(MediaType.APPLICATION_JSON).post(h); return new OpResult(); }
response = (ClientResponse) builder.get(ClientResponse.class); } else if ("POST".equals(method)) { response = builder.type(contentType).post(ClientResponse.class, serialize(body, contentType, formParams)); } else if ("PUT".equals(method)) { response = builder.type(contentType).put(ClientResponse.class, serialize(body, contentType, formParams)); } else if ("DELETE".equals(method)) { response = builder.type(contentType).delete(ClientResponse.class, serialize(body, contentType, formParams)); } else if ("PATCH".equals(method)) { response = builder.type(contentType).header("X-HTTP-Method-Override", "PATCH").post(ClientResponse.class, serialize(body, contentType, formParams));
@Override public String getApplicationToken(String persistenceUnit, String externalProperties) { String applicationToken; try { log.debug("\n\nGetting Application Token..."); WebResource.Builder atBuilder = webResource.path(Constants.KUNDERA_API_PATH + "/application/" + persistenceUnit).accept(mediaType) .type(mediaType); StringBuffer sb = new StringBuffer().append(externalProperties); ClientResponse insertResponse = (ClientResponse) atBuilder.post(ClientResponse.class, sb.toString()); InputStream is = insertResponse.getEntityInputStream(); applicationToken = StreamUtils.toString(is); log.debug("Application Token:" + applicationToken); } catch (UniformInterfaceException e) { log.error("Error during getApplicationToken, Caused by:" + e.getMessage() + ", returning null"); return null; } catch (ClientHandlerException e) { log.error("Error during getApplicationToken, Caused by:" + e.getMessage() + ", returning null"); return null; } return applicationToken; }
@Override public String runNamedNativeQuery(String sessionToken, String entityClassName, String namedNativeQuery, Map<String, Object> params) { log.debug("\n\nRunning Named Native JPA Query " + namedNativeQuery + "... "); String paramsStr = buildParamString(params); WebResource wr = webResource.path(Constants.KUNDERA_API_PATH + Constants.NATIVE_QUERY_RESOURCE_PATH + entityClassName + "/" + namedNativeQuery + paramsStr); WebResource.Builder queryBuilder = wr.accept(mediaType).type(mediaType).header(Constants.SESSION_TOKEN_HEADER_NAME, sessionToken); ClientResponse queryResponse = (ClientResponse) queryBuilder.get(ClientResponse.class); log.debug("Query Response:" + queryResponse.getStatus()); InputStream is = queryResponse.getEntityInputStream(); String allBookStr = StreamUtils.toString(is); log.debug("Found Entities for query " + namedNativeQuery + ":" + allBookStr); return allBookStr; }
@Override public String runNamedJPAQuery(String sessionToken, String entityClassName, String namedQuery, Map<String, Object> params) { log.debug("\n\nRunning Named JPA Query " + namedQuery + "... "); String paramsStr = buildParamString(params); WebResource wr = webResource.path(Constants.KUNDERA_API_PATH + Constants.JPA_QUERY_RESOURCE_PATH + "/" + entityClassName + "/" + namedQuery + paramsStr); WebResource.Builder queryBuilder = wr.accept(mediaType).header(Constants.SESSION_TOKEN_HEADER_NAME, sessionToken).type(mediaType); ClientResponse queryResponse = (ClientResponse) queryBuilder.get(ClientResponse.class); log.debug("Query Response:" + queryResponse.getStatus()); InputStream is = queryResponse.getEntityInputStream(); String allBookStr = StreamUtils.toString(is); log.debug("Found Entities for query " + namedQuery + ":" + allBookStr); return allBookStr; }
@Override public String getAllEntities(String sessionToken, String entityClassName) { log.debug("\n\nFinding all Entities... "); WebResource.Builder queryBuilder = webResource .path(Constants.KUNDERA_API_PATH + Constants.JPA_QUERY_RESOURCE_PATH + "/" + entityClassName + "/all") .accept(mediaType).type(mediaType).header(Constants.SESSION_TOKEN_HEADER_NAME, sessionToken); ClientResponse queryResponse = (ClientResponse) queryBuilder.get(ClientResponse.class); log.debug("Find All Response:" + queryResponse.getStatus()); InputStream is = queryResponse.getEntityInputStream(); // List books = (List) JAXBUtils.toObject(is, ArrayList.class, // MediaType.APPLICATION_XML); String allEntitiesStr = StreamUtils.toString(is); log.debug("Found All Entities:" + allEntitiesStr); return allEntitiesStr; }
@Override public String runNativeQuery(String sessionToken, String entityClassName, String nativeQuery, Map<String, Object> params) { log.debug("\n\nRunning Native Query... "); String paramsStr = buildParamString(params); WebResource.Builder queryBuilder = webResource.path(Constants.KUNDERA_API_PATH + Constants.NATIVE_QUERY_RESOURCE_PATH + entityClassName) .accept(mediaType).type(mediaType).header(Constants.SESSION_TOKEN_HEADER_NAME, sessionToken); ClientResponse queryResponse = (ClientResponse) queryBuilder.post(ClientResponse.class, nativeQuery); log.debug("Query Response:" + queryResponse.getStatus()); InputStream is = queryResponse.getEntityInputStream(); String allStr = StreamUtils.toString(is); log.debug("Found Entities:" + allStr); return allStr; }
@Override public String findPerson(String sessionToken, String isbn) { log.debug("\n\nFinding Entity..."); WebResource.Builder findBuilder = webResource.path(Constants.KUNDERA_API_PATH + "/crud/PersonnelUni1ToM/" + isbn).accept(mediaType) .type(mediaType).header(Constants.SESSION_TOKEN_HEADER_NAME, sessionToken); ; ClientResponse findResponse = (ClientResponse) findBuilder.get(ClientResponse.class); InputStream is = findResponse.getEntityInputStream(); String personkStr = StreamUtils.toString(is); log.debug("Found Entity:" + personkStr); return personkStr; }
@Override public void deletePerson(String sessionToken, String updatedPerson, String isbn) { log.debug("\n\nDeleting Entity... " + updatedPerson); WebResource.Builder deleteBuilder = webResource.path(Constants.KUNDERA_API_PATH + "/crud/PersonnelUni1ToM/delete/" + isbn).accept(mediaType) .type(mediaType).header(Constants.SESSION_TOKEN_HEADER_NAME, sessionToken); ClientResponse deleteResponse = (ClientResponse) deleteBuilder.delete(ClientResponse.class); log.debug("Delete Response:" + deleteResponse.getStatus()); }
@Override public String findEntity(String sessionToken, String pk, String entityClassName) { log.debug("\n\nFinding Entity..."); WebResource.Builder findBuilder = webResource.path(Constants.KUNDERA_API_PATH + "/crud/" + entityClassName + "/" + pk).accept(mediaType) .type(mediaType).header(Constants.SESSION_TOKEN_HEADER_NAME, sessionToken); ClientResponse findResponse = (ClientResponse) findBuilder.get(ClientResponse.class); InputStream is = findResponse.getEntityInputStream(); String entityStr = StreamUtils.toString(is); log.debug("Found Entity:" + entityStr); return entityStr; }
} else if ( data.method.equals( RestMeta.HTTP_METHOD_POST ) ) { if ( null != contentType ) { response = builder.type( contentType ).post( ClientResponse.class, entityString ); } else { response = builder.type( data.mediaType ).post( ClientResponse.class, entityString ); response = builder.type( contentType ).put( ClientResponse.class, entityString ); } else { response = builder.type( data.mediaType ).put( ClientResponse.class, entityString ); } else if ( data.method.equals( RestMeta.HTTP_METHOD_PATCH ) ) { if ( null != contentType ) { response = builder.type( contentType ).method( RestMeta.HTTP_METHOD_PATCH, ClientResponse.class, entityString ); } else { response = builder.type( data.mediaType ).method( RestMeta.HTTP_METHOD_PATCH, ClientResponse.class, entityString );
@Override public EurekaHttpResponse<ReplicationListResponse> submitBatchUpdates(ReplicationList replicationList) { ClientResponse response = null; try { response = jerseyApacheClient.resource(serviceUrl) .path(PeerEurekaNode.BATCH_URL_PATH) .accept(MediaType.APPLICATION_JSON_TYPE) .type(MediaType.APPLICATION_JSON_TYPE) .post(ClientResponse.class, replicationList); if (!isSuccess(response.getStatus())) { return anEurekaHttpResponse(response.getStatus(), ReplicationListResponse.class).build(); } ReplicationListResponse batchResponse = response.getEntity(ReplicationListResponse.class); return anEurekaHttpResponse(response.getStatus(), batchResponse).type(MediaType.APPLICATION_JSON_TYPE).build(); } finally { if (response != null) { response.close(); } } }
public JaxRsResponse post( String path, String data, final MediaType mediaType ) { Builder builder = builder( path ); if ( data != null ) { builder = builder.entity( data, mediaType ); } else { builder = builder.type( mediaType ); } return JaxRsResponse.extractFrom( HTTP.sanityCheck( builder.post( ClientResponse.class ) ) ); }