Skip to content
This repository has been archived by the owner on Oct 12, 2021. It is now read-only.

Commit

Permalink
Log redirects and close consumed streams
Browse files Browse the repository at this point in the history
Signed-off-by: Andrew Berezovskyi <andriib@kth.se>
  • Loading branch information
berezovskyi committed Nov 21, 2020
1 parent 75bc82a commit 38525fe
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 32 deletions.
36 changes: 19 additions & 17 deletions oslc-client/src/main/java/org/eclipse/lyo/client/OslcClient.java
Expand Up @@ -13,23 +13,6 @@
*/
package org.eclipse.lyo.client;

import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
import java.util.Arrays;
import java.util.Collection;
import java.util.List;
import java.util.Map;

import java.util.Objects;
import java.util.stream.Collectors;
import javax.ws.rs.client.Client;
import javax.ws.rs.client.ClientBuilder;
import javax.ws.rs.client.Entity;
import javax.ws.rs.client.Invocation.Builder;
import javax.ws.rs.client.WebTarget;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.Response.Status;
import org.apache.http.HttpHeaders;
import org.apache.http.HttpStatus;
import org.eclipse.lyo.client.exception.ResourceNotFoundException;
Expand All @@ -44,6 +27,23 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import javax.ws.rs.client.Client;
import javax.ws.rs.client.ClientBuilder;
import javax.ws.rs.client.Entity;
import javax.ws.rs.client.Invocation.Builder;
import javax.ws.rs.client.WebTarget;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.Response.Status;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
import java.util.Arrays;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.stream.Collectors;

/**
* An OSLC Client that extends the JAX-RS 2.0 REST client with OSLC specific CRUD and
* discovery capabilities. Client applications would typically provide a ClientBuilder
Expand Down Expand Up @@ -266,6 +266,8 @@ public Response getResource (String url, Map<String, String> requestHeaders, Str

if (handleRedirects && Response.Status.fromStatusCode(response.getStatus()).getFamily() == Status.Family.REDIRECTION) {
url = response.getStringHeaders().getFirst(HttpHeaders.LOCATION);
logger.debug("Following redirect to {}", url);
// response.close();
response.readEntity(String.class);
redirect = true;
} else {
Expand Down
Expand Up @@ -13,35 +13,33 @@
*/
package org.eclipse.lyo.client;

import java.io.IOException;
import java.io.InputStream;
import java.util.HashMap;
import java.util.Map;

import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.UriBuilder;

import org.apache.http.StatusLine;
import org.apache.http.impl.client.DefaultRedirectStrategy;
import org.eclipse.lyo.client.exception.ResourceNotFoundException;
import org.eclipse.lyo.client.exception.RootServicesException;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.StatusLine;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.DefaultRedirectStrategy;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.jena.rdf.model.Model;
import org.apache.jena.rdf.model.ModelFactory;
import org.apache.jena.rdf.model.Property;
import org.apache.jena.rdf.model.Resource;
import org.apache.jena.rdf.model.Statement;
import org.eclipse.lyo.client.exception.ResourceNotFoundException;
import org.eclipse.lyo.client.exception.RootServicesException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import com.fasterxml.jackson.databind.ObjectMapper;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.UriBuilder;
import java.io.IOException;
import java.io.InputStream;
import java.util.HashMap;
import java.util.Map;

/**
* Helper class to assist in retrieval of attributes from the IBM Rational
Expand Down Expand Up @@ -141,6 +139,7 @@ private void processRootServices(OslcClient rootServicesClient) throws RootServi
InputStream is = response.readEntity(InputStream.class);
rdfModel = ModelFactory.createDefaultModel();
rdfModel.read(is,rootServicesUrl);
is.close();

//get the catalog URL
this.catalogUrl = getRootServicesProperty(rdfModel, this.catalogNamespace, this.catalogProperty);
Expand Down Expand Up @@ -171,7 +170,7 @@ private void processRootServices(OslcClient rootServicesClient) throws RootServi
}


}
}

private String getRootServicesProperty(Model rdfModel, String namespace, String predicate) throws ResourceNotFoundException {
String returnVal = null;
Expand Down

0 comments on commit 38525fe

Please sign in to comment.