delegate the transportManager check to TransportManagerFactory class

This commit is contained in:
Roberto Cirillo 2021-05-13 18:06:40 +02:00
parent 77ec6925c7
commit ab9dfcab66
9 changed files with 18 additions and 22 deletions

View File

@ -29,6 +29,7 @@ public class DirectoryBucket {
String path; String path;
String[] server; String[] server;
String user, password; String user, password;
TransportManager tm;
public DirectoryBucket(String[] server, String user, String password, String path, String author){ public DirectoryBucket(String[] server, String user, String password, String path, String author){
if(logger.isDebugEnabled()) if(logger.isDebugEnabled())
logger.debug("DirectoryBucket PATH: "+path); logger.debug("DirectoryBucket PATH: "+path);
@ -91,7 +92,7 @@ public class DirectoryBucket {
String[] bucketList=null; String[] bucketList=null;
bucketList=retrieveBucketsName(path, rootArea); bucketList=retrieveBucketsName(path, rootArea);
TransportManagerFactory tmf=new TransportManagerFactory(server, user, password); TransportManagerFactory tmf=new TransportManagerFactory(server, user, password);
TransportManager tm=tmf.getTransport(backendType, resource.getGcubeMemoryType(), dbNames, resource.getWriteConcern(), resource.getReadPreference()); tm=tmf.getTransport(tm, backendType, resource.getGcubeMemoryType(), dbNames, resource.getWriteConcern(), resource.getReadPreference());
// TerrastoreClient client=new TerrastoreClient( new OrderedHostManager(Arrays.asList(server)), new HTTPConnectionFactory()); // TerrastoreClient client=new TerrastoreClient( new OrderedHostManager(Arrays.asList(server)), new HTTPConnectionFactory());
for(int i=0;i<bucketList.length;i++){ for(int i=0;i<bucketList.length;i++){
if(logger.isDebugEnabled()) if(logger.isDebugEnabled())
@ -124,7 +125,7 @@ public class DirectoryBucket {
logger.debug("bucketDir Coded: "+bucketDirCoded); logger.debug("bucketDir Coded: "+bucketDirCoded);
bucketList=retrieveBucketsName(bucket, rootArea); bucketList=retrieveBucketsName(bucket, rootArea);
TransportManagerFactory tmf=new TransportManagerFactory(server, user, password); TransportManagerFactory tmf=new TransportManagerFactory(server, user, password);
TransportManager tm=tmf.getTransport(backendType, resource.getGcubeMemoryType(), dbNames, resource.getWriteConcern(),resource.getReadPreference()); tm=tmf.getTransport(tm, backendType, resource.getGcubeMemoryType(), dbNames, resource.getWriteConcern(),resource.getReadPreference());
for(int i=0;i<bucketList.length;i++){ for(int i=0;i<bucketList.length;i++){
if(logger.isDebugEnabled()) if(logger.isDebugEnabled())
logger.debug("REMOVE: check "+bucketList[i]+" bucketDirCoded: "+bucketDirCoded ); logger.debug("REMOVE: check "+bucketList[i]+" bucketDirCoded: "+bucketDirCoded );

View File

@ -27,7 +27,7 @@ import org.gcube.contentmanagement.blobstorage.resource.StorageObject;
*/ */
public class RemoteResource extends Resource{ public class RemoteResource extends Resource{
TransportManager tm;
public RemoteResource(MyFile file, ServiceEngine engine) { public RemoteResource(MyFile file, ServiceEngine engine) {
super(file, engine); super(file, engine);
@ -112,7 +112,7 @@ public class RemoteResource extends Resource{
if(engine.getCurrentOperation().equalsIgnoreCase("showdir")){ if(engine.getCurrentOperation().equalsIgnoreCase("showdir")){
dir = new BucketCoding().bucketDirCoding(dir, engine.getContext()); dir = new BucketCoding().bucketDirCoding(dir, engine.getContext());
TransportManagerFactory tmf= new TransportManagerFactory(engine.primaryBackend, engine.getBackendUser(), engine.getBackendPassword()); TransportManagerFactory tmf= new TransportManagerFactory(engine.primaryBackend, engine.getBackendUser(), engine.getBackendPassword());
TransportManager tm=tmf.getTransport(engine.getBackendType(), engine.getGcubeMemoryType(), engine.getDbNames(), engine.getWriteConcern(), engine.getReadConcern()); tm=tmf.getTransport(tm, engine.getBackendType(), engine.getGcubeMemoryType(), engine.getDbNames(), engine.getWriteConcern(), engine.getReadConcern());
Map<String, StorageObject> mapDirs=null; Map<String, StorageObject> mapDirs=null;
try { try {
mapDirs = tm.getValues(getMyFile(), dir, DirectoryEntity.class); mapDirs = tm.getValues(getMyFile(), dir, DirectoryEntity.class);
@ -133,7 +133,7 @@ public class RemoteResource extends Resource{
dirBuc.removeDirBucket(getMyFile(), dir, engine.getContext(), engine.getBackendType(), engine.getDbNames()); dirBuc.removeDirBucket(getMyFile(), dir, engine.getContext(), engine.getBackendType(), engine.getDbNames());
else{ else{
TransportManagerFactory tmf=new TransportManagerFactory(engine.primaryBackend, engine.getBackendUser(), engine.getBackendPassword()); TransportManagerFactory tmf=new TransportManagerFactory(engine.primaryBackend, engine.getBackendUser(), engine.getBackendPassword());
TransportManager tm=tmf.getTransport(Costants.CLIENT_TYPE, engine.getGcubeMemoryType(), engine.getDbNames(), engine.getWriteConcern(), engine.getReadConcern()); tm=tmf.getTransport(tm, Costants.CLIENT_TYPE, engine.getGcubeMemoryType(), engine.getDbNames(), engine.getWriteConcern(), engine.getReadConcern());
dir=new BucketCoding().bucketFileCoding(dir, engine.getContext()); dir=new BucketCoding().bucketFileCoding(dir, engine.getContext());
try { try {
tm.removeDir(dir, getMyFile()); tm.removeDir(dir, getMyFile());

View File

@ -117,7 +117,7 @@ public class ChunkConsumer implements Runnable {
synchronized(ChunkConsumer.class){ synchronized(ChunkConsumer.class){
String [] randomServer=randomizeServer(server); String [] randomServer=randomizeServer(server);
TransportManagerFactory tmf=new TransportManagerFactory(randomServer, null, null); TransportManagerFactory tmf=new TransportManagerFactory(randomServer, null, null);
client.set(tmf.getTransport(Costants.CLIENT_TYPE, null, null, myFile.getWriteConcern(), myFile.getReadPreference())); client.set(tmf.getTransport(null, Costants.CLIENT_TYPE, null, null, myFile.getWriteConcern(), myFile.getReadPreference()));
} }
if(logger.isDebugEnabled()){ if(logger.isDebugEnabled()){
logger.debug("waiting time for upload: " logger.debug("waiting time for upload: "

View File

@ -74,10 +74,8 @@ public class GetHttpUrl extends Operation {
private String getId(String path, boolean forceCreation, MemoryType memoryType, String writeConcern, String readPreference){ private String getId(String path, boolean forceCreation, MemoryType memoryType, String writeConcern, String readPreference){
String id=null; String id=null;
if(tm ==null){ TransportManagerFactory tmf= new TransportManagerFactory(server, user, password);
TransportManagerFactory tmf= new TransportManagerFactory(server, user, password); tm=tmf.getTransport(tm, backendType, memoryType, dbNames, writeConcern, readPreference);
tm=tmf.getTransport(backendType, memoryType, dbNames, writeConcern, readPreference);
}
try { try {
id = tm.getId(bucket, forceCreation); id = tm.getId(bucket, forceCreation);
} catch (Exception e) { } catch (Exception e) {

View File

@ -75,10 +75,8 @@ public class GetHttpsUrl extends Operation {
private String getId(String path, boolean forceCreation, MemoryType memoryType, String writeConcern, String readPreference){ private String getId(String path, boolean forceCreation, MemoryType memoryType, String writeConcern, String readPreference){
String id=null; String id=null;
if(tm ==null){ TransportManagerFactory tmf= new TransportManagerFactory(server, user, password);
TransportManagerFactory tmf= new TransportManagerFactory(server, user, password); tm=tmf.getTransport(tm, backendType, memoryType, dbNames, writeConcern, readPreference);
tm=tmf.getTransport(backendType, memoryType, dbNames, writeConcern, readPreference);
}
try { try {
id = tm.getId(bucket, forceCreation); id = tm.getId(bucket, forceCreation);
} catch (Exception e) { } catch (Exception e) {

View File

@ -58,10 +58,8 @@ public class GetUrl extends Operation{
private String getId(String path, boolean forceCreation, MemoryType memoryType, String writeConcern, String readPreference){ private String getId(String path, boolean forceCreation, MemoryType memoryType, String writeConcern, String readPreference){
String id=null; String id=null;
if(tm ==null){ TransportManagerFactory tmf= new TransportManagerFactory(server, user, password);
TransportManagerFactory tmf= new TransportManagerFactory(server, user, password); tm=tmf.getTransport(tm, backendType, memoryType, dbNames, writeConcern, readPreference);
tm=tmf.getTransport(backendType, memoryType, dbNames, writeConcern, readPreference);
}
try { try {
id = tm.getId(bucket, forceCreation); id = tm.getId(bucket, forceCreation);
} catch (Exception e) { } catch (Exception e) {

View File

@ -384,7 +384,7 @@ public abstract class Operation {
protected TransportManager getTransport(MyFile myFile) { protected TransportManager getTransport(MyFile myFile) {
// if(Objects.isNull(transport)) { // if(Objects.isNull(transport)) {
TransportManagerFactory tmf= new TransportManagerFactory(server, user, password); TransportManagerFactory tmf= new TransportManagerFactory(server, user, password);
transport=tmf.getTransport(backendType, myFile.getGcubeMemoryType(), dbNames, myFile.getWriteConcern(), myFile.getReadPreference()); transport=tmf.getTransport(transport, backendType, myFile.getGcubeMemoryType(), dbNames, myFile.getWriteConcern(), myFile.getReadPreference());
// } // }
return transport; return transport;
} }

View File

@ -33,9 +33,10 @@ public class UploadAndUnlock extends Operation {
objectId=put(upload, myFile, isChunk(), false, false, true); objectId=put(upload, myFile, isChunk(), false, false, true);
} catch (Exception e) { } catch (Exception e) {
TransportManagerFactory tmf=new TransportManagerFactory(server, user, password); TransportManagerFactory tmf=new TransportManagerFactory(server, user, password);
TransportManager tm=tmf.getTransport(backendType, myFile.getGcubeMemoryType(), dbNames, myFile.getWriteConcern(), myFile.getReadPreference()); TransportManager tm=tmf.getTransport(transport, backendType, myFile.getGcubeMemoryType(), dbNames, myFile.getWriteConcern(), myFile.getReadPreference());
tm.close(); tm.close();
throw new RemoteBackendException(" Error in uploadAndUnlock operation ", e.getCause()); } throw new RemoteBackendException(" Error in uploadAndUnlock operation ", e);
}
return objectId; return objectId;
} }

View File

@ -40,7 +40,7 @@ public class TransportManagerFactory {
this.password=password; this.password=password;
} }
public TransportManager getTransport(String backendType, MemoryType memoryType, String[] dbNames, String writeConcern, String readConcern){ public TransportManager getTransport(TransportManager tm, String backendType, MemoryType memoryType, String[] dbNames, String writeConcern, String readConcern){
if (logger.isDebugEnabled()) { if (logger.isDebugEnabled()) {
logger.debug("getOperation(String) - start"); logger.debug("getOperation(String) - start");
} }