//TODO IT MUST BE MOVED TO SHUB ///** // * // */ //package org.gcube.portlets.user.workspace; // //import static org.gcube.resources.discovery.icclient.ICFactory.clientFor; //import static org.gcube.resources.discovery.icclient.ICFactory.queryFor; // //import java.io.File; //import java.io.FileOutputStream; //import java.io.IOException; //import java.io.InputStream; //import java.net.URL; //import java.util.List; // //import org.apache.commons.io.IOUtils; //import org.apache.log4j.Logger; //import org.gcube.common.homelibary.model.items.type.WorkspaceItemType; //import org.gcube.common.homelibrary.home.HomeLibrary; //import org.gcube.common.homelibrary.home.workspace.Workspace; //import org.gcube.common.homelibrary.home.workspace.WorkspaceItem; //import org.gcube.common.homelibrary.home.workspace.folder.FolderItem; //import org.gcube.common.resources.gcore.ServiceEndpoint; //import org.gcube.common.resources.gcore.ServiceEndpoint.AccessPoint; //import org.gcube.common.scope.api.ScopeProvider; //import org.gcube.portlets.user.workspace.server.resolver.UriResolverReaderParameterForResolverIndex; //import org.gcube.portlets.user.workspace.server.resolver.UriResolverReaderParameterForResolverIndex.RESOLVER_TYPE; //import org.gcube.resources.discovery.client.api.DiscoveryClient; //import org.gcube.resources.discovery.client.queries.impl.XQuery; // ///** // * @author Francesco Mangiacrapa francesco.mangiacrapa{@literal @}isti.cnr.it // * Jun 26, 2013 // * // */ ///* // * // * // * IT MUST BE MOVED TO SHUB // * // * // * //public class UriResolverReaderRR { // // //Base Address // String uri = ""; // //Query URL parameter // String parameter = ""; // private String uriRequest = ""; // public static String DEFAULT_SCOPE = "/d4science.research-infrastructures.eu/gCubeApps"; //PRODUCTION //// public static String DEFAULT_SCOPE = "/gcube/devsec"; //PRODUCTION // // public static Logger log = Logger.getLogger(UriResolverReaderRR.class); // // public UriResolverReaderRR(String scope) throws Exception { // // ScopeProvider.instance.set(scope); // // XQuery query = queryFor(ServiceEndpoint.class); // // query.addCondition("$resource/Profile/Name/text() eq 'HTTP-URI-Resolver'").setResult("$resource/Profile/AccessPoint"); // // DiscoveryClient client = clientFor(AccessPoint.class); // // List endpoints = client.submit(query); // // if (endpoints.size() == 0) // throw new Exception("No Resolver available"); // // //Base Address //// System.out.println(endpoints.get(0).address()); // // uri = endpoints.get(0)!=null?endpoints.get(0).address():""; // // if(endpoints.get(0)!=null){ // // parameter = endpoints.get(0).propertyMap()!=null?endpoints.get(0).propertyMap().get("parameter").value():""; // } // // uriRequest = uri+"?"+parameter; // // // //Query URL parameter //// System.out.println(endpoints.get(0).propertyMap().get("parameter").value()); // // } // // public InputStream resolve(String smp) throws IOException{ // String query = uriRequest + "="+smp; // // URL url = new URL(query); // // return url.openStream(); // } // // // // public String getUri() { // return uri; // } // // // public String getParameter() { // return parameter; // } // // @Override // public String toString() { // StringBuilder builder = new StringBuilder(); // builder.append("UriResolverReaderParameter [uri="); // builder.append(uri); // builder.append(", parameter="); // builder.append(parameter); // builder.append("]"); // return builder.toString(); // } // // // public static void main(String[] args) throws Exception { // // //// log.trace(new UriResolverReaderRR()); //// //// UriResolverReaderRR uriResolver = new UriResolverReaderRR(); //// InputStream is = uriResolver.resolve("smp://Wikipedia_logo_silver.png?5ezvFfBOLqaqBlwCEtAvz4ch5BUu1ag3yftpCvV+gayz9bAtSsnO1/sX6pemTKbDe0qbchLexXeWgGcJlskYE8td9QSDXSZj5VSl9kdN9SN0/LRYaWUZuP4Q1J7lEiwkU4GKPsiD6PDRVcT4QAqTEy5hSIbr6o4Y"); //// //// File file = new File("test.png"); //// //// FileOutputStream out = new FileOutputStream(file); //// //// //// IOUtils.copy(is, out); //// is.close(); //// //// out.close(); // //// 066086bc-5db1-48fc-b365-2ee821db2fb7 //// 370dc1cc-2e5e-4321-bc6f-ad860414db97 // //// id: f70f01f9-5a06-4123-b6ec-bd121c1af82f, name: testResponse.html, ### Public link: smp://Home/francesco.mangiacrapa/Workspace41e79e40-ec82-416b-ba83-29b54bb43426?5ezvFfBOLqb3YESyI/kesN4T+ZD0mtmc/4sZ0vGMrl0lgx7k85j8o2Q1vF0ezJi/xIGDhncO9jOkV1T8u6Db7GZ/4ePgMws8Jxu8ierJajHBd20bUotElPG3BVG0ODMHf1ztm6rKJIAeb9R/0FEIDQ== //// id: 35a0298e-da69-464f-9170-3dc764da564d, name: wiki ws backup, ### Public link: smp://Home/francesco.mangiacrapa/Workspaceb7c9bf85-b0e0-47ac-87e5-eba34048f7ab?5ezvFfBOLqb3YESyI/kesN4T+ZD0mtmc/4sZ0vGMrl0lgx7k85j8o2Q1vF0ezJi/xIGDhncO9jOkV1T8u6Db7GZ/4ePgMws8Jxu8ierJajHBd20bUotElPG3BVG0ODMHf1ztm6rKJIAeb9R/0FEIDQ== // // //// id: 370dc1cc-2e5e-4321-bc6f-ad860414db97, name: testupload.txt, ### Public link: smp://Home/francesco.mangiacrapa/Workspace284ee688-e6fb-4080-bbcb-cc7c8cc5c381?5ezvFfBOLqb3YESyI/kesN4T+ZD0mtmc/4sZ0vGMrl0lgx7k85j8o2Q1vF0ezJi/xIGDhncO9jOkV1T8u6Db7GZ/4ePgMws8Jxu8ierJajHBd20bUotElPG3BVG0ODMHf1ztm6rKJIAeb9R/0FEIDQ== // // String itemId = "0e875263-f6bc-4945-9435-bfb8774027ca"; //// itemId = "f70f01f9-5a06-4123-b6ec-bd121c1af82f"; // System.out.println("uri is: "+getPublicLinkForFolderItemId(itemId)); // // // //// // // // // } // // public static String getPublicLinkForFolderItemId(String itemId){ // // try{ // // ScopeProvider.instance.set(DEFAULT_SCOPE); // // Workspace workspace = HomeLibrary // .getHomeManagerFactory() // .getHomeManager() // .getHome("leonardo.candela") // .getWorkspace(); // // GWTWorkspaceBuilder builder = new GWTWorkspaceBuilder(); // // System.out.println("get item..."); // WorkspaceItem wsItem = workspace.getItem(itemId); // // if(wsItem.getType().equals(WorkspaceItemType.FOLDER_ITEM)){ // // FolderItem folderItem = (FolderItem) wsItem; // System.out.println("get public link..."); // String smpUri = builder.getPublicLinkForFolderItem(folderItem); // System.out.println("smpUri "+smpUri); // // System.out.println("get uriResolver..."); // UriResolverReaderParameterForResolverIndex uriResolver = new UriResolverReaderParameterForResolverIndex(DEFAULT_SCOPE, RESOLVER_TYPE.SMP_ID); // //// String url = uriResolver.resolveAsUriRequest(smpUri, "testResponse!@#$$%^^&&.html", folderItem.getMimeType(), true); // String url = uriResolver.resolveAsUriRequest(smpUri, folderItem.getName(), folderItem.getMimeType(), true); // System.out.println("url econded: "+url); //// //// url = uriResolver.resolveAsUriRequest(smpUri, folderItem.getName(), folderItem.getMimeType(), false); //// System.out.println("url doesn't econded: "+url); // // //// uriResolver.getHashParemeters(smpUri, folderItem.getName(), folderItem.getMimeType()); // // //// HttpCallerUtil callerUtil = new HttpCallerUtil(uriResolver.getBaseUri(), "", ""); //// String query = uriResolver.getQuery(); //// callerUtil.callPost("", query, "application/x-www-form-urlencoded"); // // //// String smpUri = "smp://Home/test.user/Workspace/bla8200ceb0-c525-40e6-bad1-a63f83811d3d?5ezvFfBOLqb3YESyI/kesN4T+ZD0mtmc/4sZ0vGMrl0lgx7k85j8o2Q1vF0ezJi/xIGDhncO9jOkV1T8u6Db7GZ/4ePgMws8Jxu8ierJajHBd20bUotElPG3BVG0ODMHf1ztm6rKJIAeb9R/0FEIDQ=="; // // // UrlShortener urlShortner = new UrlShortener(DEFAULT_SCOPE); // // String shortUrl = urlShortner.shorten(url); // System.out.println("url shortUrl: "+shortUrl); // // // // InputStream is = uriResolver.resolveAsInputStream(smpUri, folderItem.getName(), folderItem.getMimeType()); // // File file = new File(folderItem.getName()); // // FileOutputStream out = new FileOutputStream(file); // // // IOUtils.copy(is, out); // is.close(); // // out.close(); // // if(uriResolver!=null && uriResolver.isAvailable()){ // return uriResolver.resolveAsUriRequest(smpUri, folderItem.getName(), folderItem.getMimeType(), true); // } // // } // // // return ""; // // }catch (Exception e) { // System.out.println("Error getPublicLinkForFolderItemId url for"); // e.printStackTrace(); // return ""; // } // // } //} // //*/