You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
workspace-tree-widget/src/test/java/org/gcube/portlets/user/workspace/UriResolverReaderRR.java

243 lines
8.1 KiB
Java

//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<AccessPoint> client = clientFor(AccessPoint.class);
//
// List<AccessPoint> 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 "";
// }
//
// }
//}
//
//*/