127 lines
6.0 KiB
Java
127 lines
6.0 KiB
Java
package org.gcube.contentmanagement.blobstorage.service.operation;
|
|
|
|
import org.gcube.contentmanagement.blobstorage.transport.backend.operation.*;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.LoggerFactory;
|
|
//import terrastore.client.TerrastoreClient;
|
|
|
|
/**
|
|
*
|
|
* @author Roberto Cirillo (ISTI - CNR)
|
|
*
|
|
*/
|
|
public class OperationFactory {
|
|
/**
|
|
* Logger for this class
|
|
*/
|
|
// private static final GCUBELog logger = new GCUBELog(OperationFactory.class);
|
|
final Logger logger=LoggerFactory.getLogger(OperationFactory.class);
|
|
// TerrastoreClient client;
|
|
String[] server;
|
|
String bucket;
|
|
String user;
|
|
String password;
|
|
String[] dbNames;
|
|
Monitor monitor;
|
|
boolean isChunk;
|
|
private String backendType;
|
|
private String token;
|
|
|
|
|
|
public OperationFactory(String server[], String user, String pwd, String bucket, Monitor monitor2, boolean isChunk, String backendType, String[] dbs){
|
|
this.server=server;
|
|
this.user=user;
|
|
this.password=pwd;
|
|
this.bucket=bucket;
|
|
this.monitor=monitor2;
|
|
this.isChunk=isChunk;
|
|
this.backendType=backendType;
|
|
this.dbNames=dbs;
|
|
}
|
|
|
|
public Operation getOperation(String operation){
|
|
if (logger.isInfoEnabled()) {
|
|
logger.info("getOperation(String) - start "+operation);
|
|
}
|
|
Operation op=null;
|
|
if(operation.equalsIgnoreCase("upload")){
|
|
op=new UploadOperator(server, user, password, bucket , monitor, isChunk, backendType, dbNames);
|
|
}else if(operation.equalsIgnoreCase("download")){
|
|
op= new DownloadOperator(server, user, password, bucket, monitor, isChunk, backendType, dbNames);
|
|
}else if(operation.equalsIgnoreCase("remove")){
|
|
op=new Remove(server, user, password, bucket, monitor, isChunk, backendType, dbNames);
|
|
}else if(operation.equalsIgnoreCase("getSize")){
|
|
op=new GetSize(server, user, password, bucket, monitor, isChunk, backendType, dbNames);
|
|
}else if(operation.equalsIgnoreCase("forceclose")){
|
|
op=new ForceClose(server, user, password, bucket, monitor, isChunk, backendType, dbNames);
|
|
}else if(operation.equalsIgnoreCase("duplicate")){
|
|
op=new DuplicateOperator(server, user, password, bucket, monitor, isChunk, backendType, dbNames);
|
|
}else if(operation.equalsIgnoreCase("softcopy")){
|
|
op=new SoftCopyOperator(server, user, password, bucket, monitor, isChunk, backendType, dbNames);
|
|
}else if(operation.equalsIgnoreCase("getFolderSize")){
|
|
op=new GetFolderSize(server, user, password, bucket, monitor, isChunk, backendType, dbNames);
|
|
}else if(operation.equalsIgnoreCase("getFolderCount")){
|
|
op=new GetFolderCount(server, user, password, bucket, monitor, isChunk, backendType, dbNames);
|
|
}else if(operation.equalsIgnoreCase("getFolderLastUpdate")){
|
|
op=new GetFolderLastUpdate(server, user, password, bucket, monitor, isChunk, backendType, dbNames);
|
|
}else if(operation.equalsIgnoreCase("getTotalUserItems")){
|
|
op=new GetUserTotalItems(server, user, password, bucket, monitor, isChunk, backendType, dbNames);
|
|
}else if(operation.equalsIgnoreCase("getTotalUserVolume")){
|
|
op=new GetUserTotalVolume(server, user, password, bucket, monitor, isChunk, backendType, dbNames);
|
|
}else if(operation.equalsIgnoreCase("download+lock")){
|
|
op=new DownloadAndLock(server, user, password, bucket, monitor, isChunk, backendType, dbNames);
|
|
}else if(operation.equalsIgnoreCase("upload+unlock")){
|
|
op=new UploadAndUnlock(server, user, password, bucket, monitor, isChunk, backendType, dbNames);
|
|
}else if(operation.equalsIgnoreCase("lock")){
|
|
op=new LockOperator(server, user, password, bucket, monitor, isChunk, backendType, dbNames);
|
|
}else if(operation.equalsIgnoreCase("unlock")){
|
|
op=new UnlockOperator(server, user, password, bucket, monitor, isChunk, backendType, dbNames);
|
|
}else if(operation.equalsIgnoreCase("getTTL")){
|
|
op=new GetTTL(server, user, password, bucket, monitor, isChunk, backendType, dbNames);
|
|
}else if(operation.equalsIgnoreCase("renewTTL")){
|
|
op=new RenewTTL(server, user, password, bucket, monitor, isChunk, backendType, dbNames);
|
|
}else if(operation.equalsIgnoreCase("getUrl")){
|
|
op=new GetUrl(server, user, password, bucket, monitor, isChunk, backendType, dbNames);
|
|
}else if(operation.equalsIgnoreCase("getHttpUrl")){
|
|
op=new GetHttpUrl(server, user, password, bucket, monitor, isChunk, backendType, dbNames);
|
|
}else if(operation.equalsIgnoreCase("getHttpsUrl")){
|
|
op=new GetHttpsUrl(server, user, password, bucket, monitor, isChunk, backendType, dbNames);
|
|
}else if(operation.equalsIgnoreCase("link")){
|
|
op=new LinkOperator(server, user, password, bucket, monitor, isChunk, backendType, dbNames);
|
|
}else if(operation.equalsIgnoreCase("copy")){
|
|
op=new SoftCopyOperator(server, user, password, bucket, monitor, isChunk, backendType, dbNames);
|
|
}else if(operation.equalsIgnoreCase("move")){
|
|
op=new MoveOperator(server, user, password, bucket, monitor, isChunk, backendType, dbNames);
|
|
}else if(operation.equalsIgnoreCase("copy_dir")){
|
|
op=new CopyDirOperator(server, user, password, bucket, monitor, isChunk, backendType, dbNames);
|
|
}else if(operation.equalsIgnoreCase("move_dir")){
|
|
op=new MoveDirOperator(server, user, password, bucket, monitor, isChunk, backendType, dbNames);
|
|
}else if(operation.equalsIgnoreCase("getMetaFile")){
|
|
op=new GetMetaFile(server, user, password, bucket, monitor, isChunk, backendType, dbNames);
|
|
}else if(operation.equalsIgnoreCase("getMetaInfo")){
|
|
op=new GetMetaInfo(server, user, password, bucket, monitor, isChunk, backendType, dbNames);
|
|
}else if(operation.equalsIgnoreCase("setMetaInfo")){
|
|
op=new SetMetaInfo(server, user, password, bucket, monitor, isChunk, backendType, dbNames);
|
|
}else if(operation.equalsIgnoreCase("exist")){
|
|
op=new Exist(server, user, password, bucket, monitor, isChunk, backendType, dbNames);
|
|
}else if(operation.equalsIgnoreCase("getRemotePath")){
|
|
op=new GetRemotePath(server, user, password, bucket, monitor, isChunk, backendType, dbNames);
|
|
}else{
|
|
logger.error("getOperation(String) - Invalid Operation");
|
|
}
|
|
if (logger.isDebugEnabled()) {
|
|
logger.debug("getOperation(String) - end");
|
|
}
|
|
return op;
|
|
}
|
|
|
|
public String getToken() {
|
|
return token;
|
|
}
|
|
|
|
public void setToken(String token) {
|
|
this.token = token;
|
|
}
|
|
|
|
}
|