Search in sources :

Example 1 with HTTPException

use of net.geoprism.dhis2.dhis2adapter.exception.HTTPException in project geoprism-registry by terraframe.

the class DHIS2Bridge method metadataGet.

public <T> MetadataGetResponse<T> metadataGet(Class<?> dhis2Type, List<NameValuePair> params) throws InvalidLoginException, HTTPException, BadServerUriException {
    String objectNamePlural = DHIS2Objects.getPluralObjectNameFromClass(dhis2Type);
    if (params == null) {
        params = new ArrayList<NameValuePair>();
    }
    boolean hasObjectName = false;
    for (NameValuePair param : params) {
        if (param.getName().equals(objectNamePlural)) {
            hasObjectName = true;
        }
    }
    if (!hasObjectName) {
        params.add(new BasicNameValuePair(objectNamePlural, "true"));
    }
    return new MetadataGetResponse<T>(this.apiGet("metadata", params), objectNamePlural, dhis2Type);
}
Also used : BasicNameValuePair(org.apache.http.message.BasicNameValuePair) NameValuePair(org.apache.http.NameValuePair) BasicNameValuePair(org.apache.http.message.BasicNameValuePair) MetadataGetResponse(net.geoprism.dhis2.dhis2adapter.response.MetadataGetResponse)

Example 2 with HTTPException

use of net.geoprism.dhis2.dhis2adapter.exception.HTTPException in project geoprism-registry by terraframe.

the class HTTPConnector method httpPost.

// public HTTPResponse postAsMultipart(String url, File file)
// {
// try {
// if (!isInitialized())
// {
// initialize();
// }
// 
// HttpPost post = new HttpPost(this.getServerUrl() + url);
// 
// post.setRequestHeader("Content-Type", "multipart/form-data");
// 
// FilePart filePart;
// 
// filePart = new FilePart("form_def_file", file, "application/xml", "UTF-8");
// 
// 
// Part[] parts = { filePart };
// MultipartRequestEntity multipartRequestEntity = new MultipartRequestEntity(parts, post.getParams());
// 
// post.setRequestEntity(multipartRequestEntity);
// 
// HTTPResponse response = this.httpRequest(post);
// 
// if (response.getStatusCode() == 401)
// {
// throw new InvalidLoginException("Unable to log in to " + this.getServerUrl());
// }
// 
// return response;
// } catch (FileNotFoundException e) {
// throw new RuntimeException(e);
// }
// }
public DHIS2Response httpPost(String url, List<NameValuePair> params, HttpEntity body) throws InvalidLoginException, HTTPException, BadServerUriException {
    try {
        if (!isInitialized()) {
            initialize();
        }
        HttpPost post = new HttpPost(this.buildUri(url, params));
        post.addHeader("Content-Type", "application/json");
        post.setEntity(body);
        try (CloseableHttpResponse response = client.execute(post, this.getContext())) {
            return this.convertResponse(response);
        }
    } catch (IOException | URISyntaxException e) {
        throw new HTTPException(e);
    }
}
Also used : HttpPost(org.apache.http.client.methods.HttpPost) HTTPException(net.geoprism.dhis2.dhis2adapter.exception.HTTPException) CloseableHttpResponse(org.apache.http.client.methods.CloseableHttpResponse) IOException(java.io.IOException) URISyntaxException(java.net.URISyntaxException)

Example 3 with HTTPException

use of net.geoprism.dhis2.dhis2adapter.exception.HTTPException in project geoprism-registry by terraframe.

the class HTTPConnector method httpDelete.

@Override
public DHIS2Response httpDelete(String url, List<NameValuePair> params) throws InvalidLoginException, HTTPException, BadServerUriException {
    try {
        if (!isInitialized()) {
            initialize();
        }
        HttpDelete delete = new HttpDelete(this.buildUri(url, params));
        delete.addHeader("Content-Type", "application/json");
        try (CloseableHttpResponse response = client.execute(delete, getContext())) {
            return this.convertResponse(response);
        }
    } catch (URISyntaxException | IOException e) {
        throw new HTTPException(e);
    }
}
Also used : HTTPException(net.geoprism.dhis2.dhis2adapter.exception.HTTPException) HttpDelete(org.apache.http.client.methods.HttpDelete) CloseableHttpResponse(org.apache.http.client.methods.CloseableHttpResponse) URISyntaxException(java.net.URISyntaxException) IOException(java.io.IOException)

Example 4 with HTTPException

use of net.geoprism.dhis2.dhis2adapter.exception.HTTPException in project geoprism-registry by terraframe.

the class HTTPConnector method httpPut.

public DHIS2Response httpPut(String url, List<NameValuePair> params, HttpEntity body) throws InvalidLoginException, HTTPException, BadServerUriException {
    try {
        if (!isInitialized()) {
            initialize();
        }
        HttpPut post = new HttpPut(this.buildUri(url, params));
        post.addHeader("Content-Type", "application/json");
        post.setEntity(body);
        try (CloseableHttpResponse response = client.execute(post, this.getContext())) {
            return this.convertResponse(response);
        }
    } catch (IOException | URISyntaxException e) {
        throw new HTTPException(e);
    }
}
Also used : HTTPException(net.geoprism.dhis2.dhis2adapter.exception.HTTPException) CloseableHttpResponse(org.apache.http.client.methods.CloseableHttpResponse) IOException(java.io.IOException) URISyntaxException(java.net.URISyntaxException) HttpPut(org.apache.http.client.methods.HttpPut)

Example 5 with HTTPException

use of net.geoprism.dhis2.dhis2adapter.exception.HTTPException in project geoprism-registry by terraframe.

the class FakeIdConnector method httpGetSubclass.

@Override
public DHIS2Response httpGetSubclass(String string, List<NameValuePair> params) throws InvalidLoginException, HTTPException {
    Integer limit = null;
    for (int i = 0; i < params.size(); ++i) {
        NameValuePair param = params.get(i);
        if (param.getName().equals("limit")) {
            limit = Integer.valueOf(param.getValue());
        }
    }
    JsonArray codes = new JsonArray();
    for (int i = 0; i < limit; ++i) {
        codes.add(UUID.randomUUID().toString().substring(0, 11));
    }
    JsonObject resp = new JsonObject();
    resp.add("codes", codes);
    return new DHIS2Response(resp.toString(), 200);
}
Also used : JsonArray(com.google.gson.JsonArray) NameValuePair(org.apache.http.NameValuePair) JsonObject(com.google.gson.JsonObject) DHIS2Response(net.geoprism.dhis2.dhis2adapter.response.DHIS2Response)

Aggregations

HTTPException (net.geoprism.dhis2.dhis2adapter.exception.HTTPException)13 JsonObject (com.google.gson.JsonObject)8 JsonArray (com.google.gson.JsonArray)7 InvalidLoginException (net.geoprism.dhis2.dhis2adapter.exception.InvalidLoginException)7 HttpError (net.geoprism.registry.etl.export.HttpError)7 LoginException (net.geoprism.registry.etl.export.LoginException)7 IOException (java.io.IOException)6 BadServerUriException (net.geoprism.dhis2.dhis2adapter.exception.BadServerUriException)6 NameValuePair (org.apache.http.NameValuePair)6 URISyntaxException (java.net.URISyntaxException)5 CloseableHttpResponse (org.apache.http.client.methods.CloseableHttpResponse)5 BasicNameValuePair (org.apache.http.message.BasicNameValuePair)5 ArrayList (java.util.ArrayList)4 UnexpectedResponseException (net.geoprism.dhis2.dhis2adapter.exception.UnexpectedResponseException)4 DHIS2Response (net.geoprism.dhis2.dhis2adapter.response.DHIS2Response)4 ProgrammingErrorException (com.runwaysdk.dataaccess.ProgrammingErrorException)3 GsonBuilder (com.google.gson.GsonBuilder)2 Request (com.runwaysdk.session.Request)2 MetadataGetResponse (net.geoprism.dhis2.dhis2adapter.response.MetadataGetResponse)2 Attribute (net.geoprism.dhis2.dhis2adapter.response.model.Attribute)2