From 0066d24180dab1d93c2fdd9d1046ec1f794ef8b8 Mon Sep 17 00:00:00 2001 From: Francesco Mangiacrapa Date: Wed, 15 Oct 2014 09:53:16 +0000 Subject: [PATCH] added uri shortener git-svn-id: http://svn.d4science-ii.research-infrastructures.eu/gcube/trunk/portlets/user/uri-resolver-manager@100696 82a268e6-3cf1-43bd-a215-b396298e98cf --- pom.xml | 28 +++++++---- .../UriResolverManager.java | 48 ++++++++++++------- 2 files changed, 50 insertions(+), 26 deletions(-) diff --git a/pom.xml b/pom.xml index feb696b..cbcf7ac 100644 --- a/pom.xml +++ b/pom.xml @@ -1,16 +1,16 @@ - 4.0.0 + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + 4.0.0 - org.gcube.portlets.user - uri-resolver-manager - 1.0.0-SNAPSHOT - jar + org.gcube.portlets.user + uri-resolver-manager + 1.0.0-SNAPSHOT + jar - uri-resolver-manager + uri-resolver-manager - - The URI Resolver Manager + + The URI Resolver Manager https://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/user/${project.artifactId} @@ -71,11 +71,19 @@ provided - + + + org.gcube.portlets.user + gcube-url-shortener + [1.0.0-SNAPSHOT, 2.0.0-SNAPSHOT) + compile + + commons-httpclient commons-httpclient 3.1 + compile diff --git a/src/main/java/org/gcube/portlets/user/uriresolvermanager/UriResolverManager.java b/src/main/java/org/gcube/portlets/user/uriresolvermanager/UriResolverManager.java index 87d70ce..178280e 100644 --- a/src/main/java/org/gcube/portlets/user/uriresolvermanager/UriResolverManager.java +++ b/src/main/java/org/gcube/portlets/user/uriresolvermanager/UriResolverManager.java @@ -15,6 +15,7 @@ import org.gcube.portlets.user.uriresolvermanager.exception.UriResolverMapExcept import org.gcube.portlets.user.uriresolvermanager.readers.RuntimeResourceReader; import org.gcube.portlets.user.uriresolvermanager.readers.UriResolverMapReader; import org.gcube.portlets.user.uriresolvermanager.util.UrlEncoderUtil; +import org.gcube.portlets.user.urlshortener.UrlShortener; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -30,9 +31,9 @@ public class UriResolverManager { private Map applicationTypes; private String scope; private String applicationType; - private Object infra; - + public static final Logger logger = LoggerFactory.getLogger(UriResolverManager.class); + /** * Instance a UriResolverManager * Precondition: set the scope provider {@link ScopeProvider.instance.get()} @@ -64,9 +65,18 @@ public class UriResolverManager { } - public String getLink(Map parameters) throws IllegalArgumentException, UriResolverMapException{ + /** + * + * @param parameters the map of the parameters sent with HTTP request (link) generated + * @param shortLink if true the link is shorted otherwise none + * @return + * @throws IllegalArgumentException + * @throws UriResolverMapException + */ + public String getLink(Map parameters, boolean shortLink) throws IllegalArgumentException, UriResolverMapException{ String resourceName = this.applicationTypes.get(applicationType); + String link; if(parameters==null){ throw new IllegalArgumentException("Input Map parameters is null"); @@ -89,26 +99,31 @@ public class UriResolverManager { String baseURI = reader.getServiceBaseURI(); String params = UrlEncoderUtil.encodeQuery(parameters); - String uriRequest = reader.getServiceBaseURI()+"?"+params; - logger.info("Created HTTP URI request: "+uriRequest); - -// baseURI = "http://pc-mangiacrapa.isti.cnr.it:8080/uri-resolver-1.2.0-SNAPSHOT/gis"; -// -// HttpCallerUtil httpCaller = new HttpCallerUtil(baseURI, "", ""); -// httpCaller.callGet("", parameters); + link = baseURI+"?"+params; + logger.info("Created HTTP URI request (link): "+link); + if(shortLink){ + try{ + logger.info("Shortner start.."); + UrlShortener shortener = new UrlShortener(this.scope); + link = shortener.shorten(link); + logger.info("Shorted link is: "+link); + }catch(Exception e){ + logger.warn("An error occurred on shortener the link ",e); + } + } } catch (IllegalArgumentException e){ throw e; } catch (Exception e) { logger.error("Uri Resolver error: ", e); throw new UriResolverMapException("Uri Resolver error: " +e.getMessage()); } - return ""; + return link; } /** * - * @return the Application Types availables + * @return the Application Types available */ public Set getApplicationTypes(){ return this.applicationTypes.keySet(); @@ -126,11 +141,12 @@ public class UriResolverManager { try { ScopeProvider.instance.set("/gcube/devsec/devVRE"); - UriResolverManager resolver = new UriResolverManager("GIS"); + UriResolverManager resolver = new UriResolverManager("SMP"); Map params = new HashMap(); - params.put("gis-UUID", "12345"); - params.put("scope", "/gcube"); - resolver.getLink(params); + params.put("smp-uri", "12345"); + params.put("fileName", "/gcube"); + params.put("contentType", "/gcube"); + resolver.getLink(params, true); } catch (UriResolverMapException e) { // TODO Auto-generated catch block e.printStackTrace();