/*!
* Copyright 2010 - 2015 Pentaho Corporation. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
package com.pentaho.di.services;
import org.pentaho.di.repository.IRepositoryService;
import java.net.URI;
import java.util.HashMap;
import java.util.Map;
import javax.annotation.Generated;
import javax.ws.rs.WebApplicationException;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.UriBuilder;
import com.sun.jersey.api.client.config.ClientConfig;
import com.sun.jersey.api.client.config.DefaultClientConfig;
@Generated( value = { "wadl|file:/C:/env/ws/pdi-ee-plugin/wadl2java/wadl-resource/application.wadl.xml" },
comments = "wadl2java, http://wadl.java.net", date = "2015-04-30T15:20:38.668-04:00" )
public class PentahoDiPlugin {
/**
* The base URI for the resource represented by this proxy
*
*/
public final static URI BASE_URI;
static {
URI originalURI = URI.create( "http://localhost:8080/pentaho/plugin/" );
// Look up to see if we have any indirection in the local copy
// of META-INF/java-rs-catalog.xml file, assuming it will be in the
// oasis:name:tc:entity:xmlns:xml:catalog namespace or similar duck type
java.io.InputStream is = PentahoDiPlugin.class.getResourceAsStream( "/META-INF/jax-rs-catalog.xml" );
if ( is != null ) {
try {
// Ignore the namespace in the catalog, can't use wildcard until
// we are sure we have XPath 2.0
String found =
javax.xml.xpath.XPathFactory.newInstance().newXPath().evaluate(
"/*[name(.) = 'catalog']/*[name(.) = 'uri' and @name ='" + originalURI + "']/@uri",
new org.xml.sax.InputSource( is ) );
if ( found != null && found.length() > 0 ) {
originalURI = java.net.URI.create( found );
}
} catch ( Exception ex ) {
ex.printStackTrace();
} finally {
try {
is.close();
} catch ( java.io.IOException e ) {
}
}
}
BASE_URI = originalURI;
}
public static PentahoDiPlugin.PurRepositoryPluginApiRevision purRepositoryPluginApiRevision(
com.sun.jersey.api.client.Client client, URI baseURI ) {
return new PentahoDiPlugin.PurRepositoryPluginApiRevision( client, baseURI );
}
/**
* Template method to allow tooling to customize the new Client
*
*/
private static void customizeClientConfiguration( ClientConfig cc ) {
}
/**
* Template method to allow tooling to override Client factory
*
*/
private static com.sun.jersey.api.client.Client createClientInstance( ClientConfig cc ) {
return com.sun.jersey.api.client.Client.create( cc );
}
/**
* Create a new Client instance
*
*/
public static com.sun.jersey.api.client.Client createClient() {
ClientConfig cc = new DefaultClientConfig();
customizeClientConfiguration( cc );
return createClientInstance( cc );
}
public static PentahoDiPlugin.PurRepositoryPluginApiRevision purRepositoryPluginApiRevision() {
return purRepositoryPluginApiRevision( createClient(), BASE_URI );
}
public static PentahoDiPlugin.PurRepositoryPluginApiRevision purRepositoryPluginApiRevision(
com.sun.jersey.api.client.Client client ) {
return purRepositoryPluginApiRevision( client, BASE_URI );
}
public static PentahoDiPlugin.PurRepositoryPluginApiPurge purRepositoryPluginApiPurge(
com.sun.jersey.api.client.Client client, URI baseURI ) {
return new PentahoDiPlugin.PurRepositoryPluginApiPurge( client, baseURI );
}
public static PentahoDiPlugin.PurRepositoryPluginApiPurge purRepositoryPluginApiPurge() {
return purRepositoryPluginApiPurge( createClient(), BASE_URI );
}
public static PentahoDiPlugin.PurRepositoryPluginApiPurge purRepositoryPluginApiPurge(
com.sun.jersey.api.client.Client client ) {
return purRepositoryPluginApiPurge( client, BASE_URI );
}
public static class PurRepositoryPluginApiPurge implements IRepositoryService {
private com.sun.jersey.api.client.Client _client;
private UriBuilder _uriBuilder;
private Map<String, Object> _templateAndMatrixParameterValues;
private PurRepositoryPluginApiPurge( com.sun.jersey.api.client.Client client, UriBuilder uriBuilder,
Map<String, Object> map ) {
_client = client;
_uriBuilder = uriBuilder.clone();
_templateAndMatrixParameterValues = map;
}
/**
* Create new instance using existing Client instance, and a base URI and any parameters
*
*/
public PurRepositoryPluginApiPurge( com.sun.jersey.api.client.Client client, URI baseUri ) {
_client = client;
_uriBuilder = UriBuilder.fromUri( baseUri );
_uriBuilder = _uriBuilder.path( "/pur-repository-plugin/api/purge" );
_templateAndMatrixParameterValues = new HashMap<String, Object>();
}
public PentahoDiPlugin.PurRepositoryPluginApiPurge.PathIdPurge pathIdPurge( String pathid ) {
return new PentahoDiPlugin.PurRepositoryPluginApiPurge.PathIdPurge( _client, _uriBuilder
.buildFromMap( _templateAndMatrixParameterValues ), pathid );
}
public static class PathIdPurge implements IRepositoryService {
private com.sun.jersey.api.client.Client _client;
private UriBuilder _uriBuilder;
private Map<String, Object> _templateAndMatrixParameterValues;
private PathIdPurge( com.sun.jersey.api.client.Client client, UriBuilder uriBuilder, Map<String, Object> map ) {
_client = client;
_uriBuilder = uriBuilder.clone();
_templateAndMatrixParameterValues = map;
}
/**
* Create new instance using existing Client instance, and a base URI and any parameters
*
*/
public PathIdPurge( com.sun.jersey.api.client.Client client, URI baseUri, String pathid ) {
_client = client;
_uriBuilder = UriBuilder.fromUri( baseUri );
_uriBuilder = _uriBuilder.path( "{pathId : .+}/purge" );
_templateAndMatrixParameterValues = new HashMap<String, Object>();
_templateAndMatrixParameterValues.put( "pathId", pathid );
}
/**
* Create new instance using existing Client instance, and the URI from which the parameters will be extracted
*
*/
public PathIdPurge( com.sun.jersey.api.client.Client client, URI uri ) {
_client = client;
StringBuilder template = new StringBuilder( BASE_URI.toString() );
if ( template.charAt( ( template.length() - 1 ) ) != '/' ) {
template.append( "/pur-repository-plugin/api/purge/{pathId : .+}/purge" );
} else {
template.append( "pur-repository-plugin/api/purge/{pathId : .+}/purge" );
}
_uriBuilder = UriBuilder.fromPath( template.toString() );
_templateAndMatrixParameterValues = new HashMap<String, Object>();
com.sun.jersey.api.uri.UriTemplate uriTemplate = new com.sun.jersey.api.uri.UriTemplate( template.toString() );
HashMap<String, String> parameters = new HashMap<String, String>();
uriTemplate.match( uri.toString(), parameters );
_templateAndMatrixParameterValues.putAll( parameters );
}
/**
* Get pathId
*
*/
public String getPathid() {
return ( (String) _templateAndMatrixParameterValues.get( "pathId" ) );
}
/**
* Duplicate state and set pathId
*
*/
public PentahoDiPlugin.PurRepositoryPluginApiPurge.PathIdPurge setPathid( String pathid ) {
Map<String, Object> copyMap;
copyMap = new HashMap<String, Object>( _templateAndMatrixParameterValues );
UriBuilder copyUriBuilder = _uriBuilder.clone();
copyMap.put( "pathId", pathid );
return new PentahoDiPlugin.PurRepositoryPluginApiPurge.PathIdPurge( _client, copyUriBuilder, copyMap );
}
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 );
}
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 static class PurRepositoryPluginApiRevision implements IRepositoryService {
private com.sun.jersey.api.client.Client _client;
private UriBuilder _uriBuilder;
private Map<String, Object> _templateAndMatrixParameterValues;
private PurRepositoryPluginApiRevision( com.sun.jersey.api.client.Client client, UriBuilder uriBuilder,
Map<String, Object> map ) {
_client = client;
_uriBuilder = uriBuilder.clone();
_templateAndMatrixParameterValues = map;
}
/**
* Create new instance using existing Client instance, and a base URI and any parameters
*
*/
public PurRepositoryPluginApiRevision( com.sun.jersey.api.client.Client client, URI baseUri ) {
_client = client;
_uriBuilder = UriBuilder.fromUri( baseUri );
_uriBuilder = _uriBuilder.path( "/pur-repository-plugin/api/revision" );
_templateAndMatrixParameterValues = new HashMap<String, Object>();
}
public PentahoDiPlugin.PurRepositoryPluginApiRevision.PathIdRevisions pathIdRevisions( String pathid ) {
return new PentahoDiPlugin.PurRepositoryPluginApiRevision.PathIdRevisions( _client, _uriBuilder
.buildFromMap( _templateAndMatrixParameterValues ), pathid );
}
public PentahoDiPlugin.PurRepositoryPluginApiRevision.PathIdVersioningConfiguration pathIdVersioningConfiguration(
String pathid ) {
return new PentahoDiPlugin.PurRepositoryPluginApiRevision.PathIdVersioningConfiguration( _client, _uriBuilder
.buildFromMap( _templateAndMatrixParameterValues ), pathid );
}
public static class PathIdRevisions implements IRepositoryService {
private com.sun.jersey.api.client.Client _client;
private UriBuilder _uriBuilder;
private Map<String, Object> _templateAndMatrixParameterValues;
private PathIdRevisions( com.sun.jersey.api.client.Client client, UriBuilder uriBuilder, Map<String, Object> map ) {
_client = client;
_uriBuilder = uriBuilder.clone();
_templateAndMatrixParameterValues = map;
}
/**
* Create new instance using existing Client instance, and a base URI and any parameters
*
*/
public PathIdRevisions( com.sun.jersey.api.client.Client client, URI baseUri, String pathid ) {
_client = client;
_uriBuilder = UriBuilder.fromUri( baseUri );
_uriBuilder = _uriBuilder.path( "{pathId : .+}/revisions" );
_templateAndMatrixParameterValues = new HashMap<String, Object>();
_templateAndMatrixParameterValues.put( "pathId", pathid );
}
/**
* Create new instance using existing Client instance, and the URI from which the parameters will be extracted
*
*/
public PathIdRevisions( com.sun.jersey.api.client.Client client, URI uri ) {
_client = client;
StringBuilder template = new StringBuilder( BASE_URI.toString() );
if ( template.charAt( ( template.length() - 1 ) ) != '/' ) {
template.append( "/pur-repository-plugin/api/revision/{pathId : .+}/revisions" );
} else {
template.append( "pur-repository-plugin/api/revision/{pathId : .+}/revisions" );
}
_uriBuilder = UriBuilder.fromPath( template.toString() );
_templateAndMatrixParameterValues = new HashMap<String, Object>();
com.sun.jersey.api.uri.UriTemplate uriTemplate = new com.sun.jersey.api.uri.UriTemplate( template.toString() );
HashMap<String, String> parameters = new HashMap<String, String>();
uriTemplate.match( uri.toString(), parameters );
_templateAndMatrixParameterValues.putAll( parameters );
}
/**
* Get pathId
*
*/
public String getPathid() {
return ( (String) _templateAndMatrixParameterValues.get( "pathId" ) );
}
/**
* Duplicate state and set pathId
*
*/
public PentahoDiPlugin.PurRepositoryPluginApiRevision.PathIdRevisions setPathid( String pathid ) {
Map<String, Object> copyMap;
copyMap = new HashMap<String, Object>( _templateAndMatrixParameterValues );
UriBuilder copyUriBuilder = _uriBuilder.clone();
copyMap.put( "pathId", pathid );
return new PentahoDiPlugin.PurRepositoryPluginApiRevision.PathIdRevisions( _client, copyUriBuilder, copyMap );
}
public <T> T getAsXml( 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( "application/xml" );
com.sun.jersey.api.client.ClientResponse response;
response = resourceBuilder.method( "GET", com.sun.jersey.api.client.ClientResponse.class );
if ( response.getStatus() >= 400 ) {
throw new PentahoDiPlugin.WebApplicationExceptionMessage( Response
.status( response.getClientResponseStatus() ).build() );
}
return response.getEntity( returnType );
}
public <T> T getAsXml( 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( "application/xml" );
com.sun.jersey.api.client.ClientResponse response;
response = resourceBuilder.method( "GET", com.sun.jersey.api.client.ClientResponse.class );
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 getAsJson( 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( "application/json" );
com.sun.jersey.api.client.ClientResponse response;
response = resourceBuilder.method( "GET", com.sun.jersey.api.client.ClientResponse.class );
if ( response.getStatus() >= 400 ) {
throw new PentahoDiPlugin.WebApplicationExceptionMessage( Response
.status( response.getClientResponseStatus() ).build() );
}
return response.getEntity( returnType );
}
public <T> T getAsJson( 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( "application/json" );
com.sun.jersey.api.client.ClientResponse response;
response = resourceBuilder.method( "GET", com.sun.jersey.api.client.ClientResponse.class );
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 static class PathIdVersioningConfiguration implements IRepositoryService {
private com.sun.jersey.api.client.Client _client;
private UriBuilder _uriBuilder;
private Map<String, Object> _templateAndMatrixParameterValues;
private PathIdVersioningConfiguration( com.sun.jersey.api.client.Client client, UriBuilder uriBuilder,
Map<String, Object> map ) {
_client = client;
_uriBuilder = uriBuilder.clone();
_templateAndMatrixParameterValues = map;
}
/**
* Create new instance using existing Client instance, and a base URI and any parameters
*
*/
public PathIdVersioningConfiguration( com.sun.jersey.api.client.Client client, URI baseUri, String pathid ) {
_client = client;
_uriBuilder = UriBuilder.fromUri( baseUri );
_uriBuilder = _uriBuilder.path( "{pathId}/versioningConfiguration" );
_templateAndMatrixParameterValues = new HashMap<String, Object>();
_templateAndMatrixParameterValues.put( "pathId", pathid );
}
/**
* Create new instance using existing Client instance, and the URI from which the parameters will be extracted
*
*/
public PathIdVersioningConfiguration( com.sun.jersey.api.client.Client client, URI uri ) {
_client = client;
StringBuilder template = new StringBuilder( BASE_URI.toString() );
if ( template.charAt( ( template.length() - 1 ) ) != '/' ) {
template.append( "/pur-repository-plugin/api/revision/{pathId}/versioningConfiguration" );
} else {
template.append( "pur-repository-plugin/api/revision/{pathId}/versioningConfiguration" );
}
_uriBuilder = UriBuilder.fromPath( template.toString() );
_templateAndMatrixParameterValues = new HashMap<String, Object>();
com.sun.jersey.api.uri.UriTemplate uriTemplate = new com.sun.jersey.api.uri.UriTemplate( template.toString() );
HashMap<String, String> parameters = new HashMap<String, String>();
uriTemplate.match( uri.toString(), parameters );
_templateAndMatrixParameterValues.putAll( parameters );
}
/**
* Get pathId
*
*/
public String getPathid() {
return ( (String) _templateAndMatrixParameterValues.get( "pathId" ) );
}
/**
* Duplicate state and set pathId
*
*/
public PentahoDiPlugin.PurRepositoryPluginApiRevision.PathIdVersioningConfiguration setPathid( String pathid ) {
Map<String, Object> copyMap;
copyMap = new HashMap<String, Object>( _templateAndMatrixParameterValues );
UriBuilder copyUriBuilder = _uriBuilder.clone();
copyMap.put( "pathId", pathid );
return new PentahoDiPlugin.PurRepositoryPluginApiRevision.PathIdVersioningConfiguration( _client,
copyUriBuilder, copyMap );
}
public FileVersioningConfiguration getAsFileVersioningConfigurationXml() {
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( "application/xml" );
com.sun.jersey.api.client.ClientResponse response;
response = resourceBuilder.method( "GET", com.sun.jersey.api.client.ClientResponse.class );
if ( response.getStatus() >= 400 ) {
throw new PentahoDiPlugin.WebApplicationExceptionMessage( Response
.status( response.getClientResponseStatus() ).build() );
}
return response.getEntity( FileVersioningConfiguration.class );
}
public <T> T getAsXml( 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( "application/xml" );
com.sun.jersey.api.client.ClientResponse response;
response = resourceBuilder.method( "GET", com.sun.jersey.api.client.ClientResponse.class );
if ( response.getStatus() >= 400 ) {
throw new PentahoDiPlugin.WebApplicationExceptionMessage( Response
.status( response.getClientResponseStatus() ).build() );
}
return response.getEntity( returnType );
}
public <T> T getAsXml( 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( "application/xml" );
com.sun.jersey.api.client.ClientResponse response;
response = resourceBuilder.method( "GET", com.sun.jersey.api.client.ClientResponse.class );
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 FileVersioningConfiguration getAsFileVersioningConfigurationJson() {
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( "application/json" );
com.sun.jersey.api.client.ClientResponse response;
response = resourceBuilder.method( "GET", com.sun.jersey.api.client.ClientResponse.class );
if ( response.getStatus() >= 400 ) {
throw new PentahoDiPlugin.WebApplicationExceptionMessage( Response
.status( response.getClientResponseStatus() ).build() );
}
return response.getEntity( FileVersioningConfiguration.class );
}
public <T> T getAsJson( 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( "application/json" );
com.sun.jersey.api.client.ClientResponse response;
response = resourceBuilder.method( "GET", com.sun.jersey.api.client.ClientResponse.class );
if ( response.getStatus() >= 400 ) {
throw new PentahoDiPlugin.WebApplicationExceptionMessage( Response
.status( response.getClientResponseStatus() ).build() );
}
return response.getEntity( returnType );
}
public <T> T getAsJson( 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( "application/json" );
com.sun.jersey.api.client.ClientResponse response;
response = resourceBuilder.method( "GET", com.sun.jersey.api.client.ClientResponse.class );
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 );
}
}
}
}
/**
* Workaround for JAX_RS_SPEC-312
*
*/
private static class WebApplicationExceptionMessage extends WebApplicationException {
private WebApplicationExceptionMessage( Response response ) {
super( response );
}
/**
* Workaround for JAX_RS_SPEC-312
*
*/
public String getMessage() {
Response response = getResponse();
Response.Status status = Response.Status.fromStatusCode( response.getStatus() );
if ( status != null ) {
return ( response.getStatus() + ( " " + status.getReasonPhrase() ) );
} else {
return Integer.toString( response.getStatus() );
}
}
public String toString() {
String s = "javax.ws.rs.WebApplicationException";
String message = getLocalizedMessage();
return ( s + ( ": " + message ) );
}
}
}