in agent/service/src/main/java/org/apache/airavata/mft/agent/transport/MetadataCollectorResolver.java [26:71]
public static Optional<MetadataCollector> resolveMetadataCollector(String type, TransportClassLoaderCache cache) throws Exception {
String className = null;
switch (type) {
case "SCP":
className = "org.apache.airavata.mft.transport.scp.SCPMetadataCollector";
break;
case "LOCAL":
className = "org.apache.airavata.mft.transport.local.LocalMetadataCollector";
break;
case "S3":
className = "org.apache.airavata.mft.transport.s3.S3MetadataCollector";
break;
case "BOX":
className = "org.apache.airavata.mft.transport.box.BoxMetadataCollector";
break;
case "AZURE":
className = "org.apache.airavata.mft.transport.azure.AzureMetadataCollector";
break;
case "GCS":
className = "org.apache.airavata.mft.transport.gcp.GCSMetadataCollector";
break;
case "DROPBOX":
className = "org.apache.airavata.mft.transport.dropbox.DropboxMetadataCollector";
break;
case "FTP":
className = "org.apache.airavata.mft.transport.ftp.FTPMetadataCollector";
break;
case "SWIFT":
className = "org.apache.airavata.mft.transport.swift.SwiftMetadataCollector";
break;
case "ODATA":
className = "org.apache.airavata.mft.transport.odata.ODataMetadataCollector";
break;
case "HTTP":
className = "org.apache.airavata.mft.trnasport.http.HttpMetadataCollector";
break;
}
if (className != null) {
TransportClassLoader transportClassLoader = cache.fetchClassLoader(type.toLowerCase());
Class<?> aClass = transportClassLoader.loadClass(className, true);
return Optional.of((MetadataCollector) aClass.getDeclaredConstructor().newInstance());
} else {
return Optional.empty();
}
}