Added method: getAvailableCataloguesByToken
git-svn-id: http://svn.d4science-ii.research-infrastructures.eu/gcube/trunk/portal/ws-synchronized-module-library@164806 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
parent
a6a6d86632
commit
25f0145bf8
|
@ -0,0 +1,127 @@
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
package org.gcube.portal.wssynclibrary.shared.thredds;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Francesco Mangiacrapa francesco.mangiacrapa@isti.cnr.it Mar 8, 2018
|
||||||
|
*/
|
||||||
|
public class ThCatalogueBean implements Serializable, Comparable<ThCatalogueBean>{
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
private static final long serialVersionUID = 56447135995876633L;
|
||||||
|
private String name;
|
||||||
|
private String path;
|
||||||
|
private Boolean isDefault;
|
||||||
|
|
||||||
|
public ThCatalogueBean() {
|
||||||
|
|
||||||
|
// TODO Auto-generated constructor stub
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param name
|
||||||
|
* @param path
|
||||||
|
* @param isDefault
|
||||||
|
*/
|
||||||
|
public ThCatalogueBean(String name, String path, Boolean isDefault) {
|
||||||
|
|
||||||
|
super();
|
||||||
|
this.name = name;
|
||||||
|
this.path = path;
|
||||||
|
this.isDefault = isDefault;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return the name
|
||||||
|
*/
|
||||||
|
public String getName() {
|
||||||
|
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return the path
|
||||||
|
*/
|
||||||
|
public String getPath() {
|
||||||
|
|
||||||
|
return path;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return the isDefault
|
||||||
|
*/
|
||||||
|
public Boolean getIsDefault() {
|
||||||
|
|
||||||
|
return isDefault;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param name the name to set
|
||||||
|
*/
|
||||||
|
public void setName(String name) {
|
||||||
|
|
||||||
|
this.name = name;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param path the path to set
|
||||||
|
*/
|
||||||
|
public void setPath(String path) {
|
||||||
|
|
||||||
|
this.path = path;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param isDefault the isDefault to set
|
||||||
|
*/
|
||||||
|
public void setIsDefault(Boolean isDefault) {
|
||||||
|
|
||||||
|
this.isDefault = isDefault;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see java.lang.Object#toString()
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
|
||||||
|
StringBuilder builder = new StringBuilder();
|
||||||
|
builder.append("ThCatalogueBean [name=");
|
||||||
|
builder.append(name);
|
||||||
|
builder.append(", path=");
|
||||||
|
builder.append(path);
|
||||||
|
builder.append(", isDefault=");
|
||||||
|
builder.append(isDefault);
|
||||||
|
builder.append("]");
|
||||||
|
return builder.toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see java.lang.Comparable#compareTo(java.lang.Object)
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public int compareTo(ThCatalogueBean o) {
|
||||||
|
|
||||||
|
if(o==null)
|
||||||
|
return -1;
|
||||||
|
|
||||||
|
return this.getName().compareTo(o.getName());
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
|
@ -3,6 +3,7 @@ package org.gcube.portal.wssynclibrary.thredds;
|
||||||
import java.util.function.Function;
|
import java.util.function.Function;
|
||||||
|
|
||||||
import org.gcube.portal.wssynclibrary.shared.thredds.Status;
|
import org.gcube.portal.wssynclibrary.shared.thredds.Status;
|
||||||
|
import org.gcube.portal.wssynclibrary.shared.thredds.ThCatalogueBean;
|
||||||
import org.gcube.portal.wssynclibrary.shared.thredds.ThProcessDescriptor;
|
import org.gcube.portal.wssynclibrary.shared.thredds.ThProcessDescriptor;
|
||||||
import org.gcube.portal.wssynclibrary.shared.thredds.ThProcessStatus;
|
import org.gcube.portal.wssynclibrary.shared.thredds.ThProcessStatus;
|
||||||
import org.gcube.portal.wssynclibrary.shared.thredds.ThSyncFolderDescriptor;
|
import org.gcube.portal.wssynclibrary.shared.thredds.ThSyncFolderDescriptor;
|
||||||
|
@ -11,6 +12,7 @@ import org.gcube.usecases.ws.thredds.engine.impl.ProcessDescriptor;
|
||||||
import org.gcube.usecases.ws.thredds.engine.impl.ProcessStatus;
|
import org.gcube.usecases.ws.thredds.engine.impl.ProcessStatus;
|
||||||
import org.gcube.usecases.ws.thredds.model.SyncFolderDescriptor;
|
import org.gcube.usecases.ws.thredds.model.SyncFolderDescriptor;
|
||||||
import org.gcube.usecases.ws.thredds.model.SynchFolderConfiguration;
|
import org.gcube.usecases.ws.thredds.model.SynchFolderConfiguration;
|
||||||
|
import org.gcube.usecases.ws.thredds.model.gui.CatalogBean;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
|
@ -123,6 +125,20 @@ public class ThreddsConverter {
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/** The to th catalogue bean. */
|
||||||
|
public static Function<CatalogBean, ThCatalogueBean> toThCatalogueBean = new Function<CatalogBean, ThCatalogueBean>() {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ThCatalogueBean apply(CatalogBean t) {
|
||||||
|
|
||||||
|
if(t==null)
|
||||||
|
return null;
|
||||||
|
|
||||||
|
return new ThCatalogueBean(t.getName(), t.getPath(), t.getIsDefault());
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
/** The to th process status. */
|
/** The to th process status. */
|
||||||
public static Function<ProcessStatus, ThProcessStatus> toThProcessStatus = new Function<ProcessStatus, ThProcessStatus>() {
|
public static Function<ProcessStatus, ThProcessStatus> toThProcessStatus = new Function<ProcessStatus, ThProcessStatus>() {
|
||||||
|
|
||||||
|
@ -174,4 +190,5 @@ public class ThreddsConverter {
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,8 +1,11 @@
|
||||||
package org.gcube.portal.wssynclibrary.thredds;
|
package org.gcube.portal.wssynclibrary.thredds;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
import org.gcube.common.homelibrary.home.HomeLibrary;
|
import org.gcube.common.homelibrary.home.HomeLibrary;
|
||||||
import org.gcube.common.homelibrary.home.workspace.Properties;
|
import org.gcube.common.homelibrary.home.workspace.Properties;
|
||||||
|
@ -12,6 +15,7 @@ import org.gcube.common.scope.api.ScopeProvider;
|
||||||
import org.gcube.portal.wssynclibrary.shared.ItemNotSynched;
|
import org.gcube.portal.wssynclibrary.shared.ItemNotSynched;
|
||||||
import org.gcube.portal.wssynclibrary.shared.thredds.Status;
|
import org.gcube.portal.wssynclibrary.shared.thredds.Status;
|
||||||
import org.gcube.portal.wssynclibrary.shared.thredds.Sync_Status;
|
import org.gcube.portal.wssynclibrary.shared.thredds.Sync_Status;
|
||||||
|
import org.gcube.portal.wssynclibrary.shared.thredds.ThCatalogueBean;
|
||||||
import org.gcube.portal.wssynclibrary.shared.thredds.ThProcessDescriptor;
|
import org.gcube.portal.wssynclibrary.shared.thredds.ThProcessDescriptor;
|
||||||
import org.gcube.portal.wssynclibrary.shared.thredds.ThProcessStatus;
|
import org.gcube.portal.wssynclibrary.shared.thredds.ThProcessStatus;
|
||||||
import org.gcube.portal.wssynclibrary.shared.thredds.ThSyncFolderDescriptor;
|
import org.gcube.portal.wssynclibrary.shared.thredds.ThSyncFolderDescriptor;
|
||||||
|
@ -28,6 +32,7 @@ import org.gcube.usecases.ws.thredds.faults.WorkspaceNotSynchedException;
|
||||||
import org.gcube.usecases.ws.thredds.model.SyncFolderDescriptor;
|
import org.gcube.usecases.ws.thredds.model.SyncFolderDescriptor;
|
||||||
import org.gcube.usecases.ws.thredds.model.SyncOperationCallBack;
|
import org.gcube.usecases.ws.thredds.model.SyncOperationCallBack;
|
||||||
import org.gcube.usecases.ws.thredds.model.SynchFolderConfiguration;
|
import org.gcube.usecases.ws.thredds.model.SynchFolderConfiguration;
|
||||||
|
import org.gcube.usecases.ws.thredds.model.gui.CatalogBean;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
|
@ -389,4 +394,37 @@ public class WorkspaceThreddsSynchronize implements WorkspaceThreddsSynchronized
|
||||||
mapCallBack.put(itemId, new ThSyncStatus(thDesc, thStatus));
|
mapCallBack.put(itemId, new ThSyncStatus(thDesc, thStatus));
|
||||||
logger.debug("Update map for "+itemId +" with new "+thStatus);
|
logger.debug("Update map for "+itemId +" with new "+thStatus);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the available catalogues by token.
|
||||||
|
*
|
||||||
|
* @param token the token
|
||||||
|
* @return
|
||||||
|
* @return the available catalogues by token
|
||||||
|
* @throws Exception the exception
|
||||||
|
*/
|
||||||
|
public List<ThCatalogueBean> getAvailableCataloguesByToken(String token) throws Exception{
|
||||||
|
|
||||||
|
if(token==null || token.isEmpty())
|
||||||
|
throw new Exception("Invalid parameter token null or empty");
|
||||||
|
|
||||||
|
logger.debug("Get Available Catalogues by token: "+token.substring(0, token.length()-5)+"XXXXX");
|
||||||
|
Set<CatalogBean> ctlgs = engine.getAvailableCatalogsByToken(token);
|
||||||
|
|
||||||
|
if(ctlgs==null || ctlgs.size()==0)
|
||||||
|
return new ArrayList<ThCatalogueBean>(1);
|
||||||
|
|
||||||
|
List<ThCatalogueBean> listCtlgs = new ArrayList<ThCatalogueBean>(ctlgs.size());
|
||||||
|
for(CatalogBean bean: ctlgs){
|
||||||
|
System.out.println(bean.getName()+" in "+bean.getPath()+" Default : "+bean.getIsDefault());
|
||||||
|
ThCatalogueBean toBean = ThreddsConverter.toThCatalogueBean.apply(bean);
|
||||||
|
if(toBean!=null)
|
||||||
|
listCtlgs.add(toBean);
|
||||||
|
}
|
||||||
|
|
||||||
|
Collections.sort(listCtlgs);
|
||||||
|
return listCtlgs;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue