public static Optional resolveOutgoingStreamingConnector()

in agent/service/src/main/java/org/apache/airavata/mft/agent/transport/ConnectorResolver.java [65:94]


    public static Optional<OutgoingStreamingConnector> resolveOutgoingStreamingConnector(String type, TransportClassLoaderCache transportCache) throws Exception {

        String className = null;
        switch (type) {
            case "SCP":
                className = "org.apache.airavata.mft.transport.scp.SCPOutgoingConnector";
                break;
            case "S3":
                className = "org.apache.airavata.mft.transport.s3.S3OutgoingStreamingConnector";
                break;
            case "AZURE":
                className = "org.apache.airavata.mft.transport.azure.AzureOutgoingStreamingConnector";
                break;
            case "GCS":
                className = "org.apache.airavata.mft.transport.gcp.GCSOutgoingStreamingConnector";
                break;
            case "LOCAL":
                className = "org.apache.airavata.mft.transport.local.LocalOutgoingStreamingConnector";
                break;

        }

        if (className != null) {
            TransportClassLoader transportClassLoader = transportCache.fetchClassLoader(type.toLowerCase());
            Class<?> aClass = transportClassLoader.loadClass(className, true);
            return Optional.of((OutgoingStreamingConnector) aClass.getDeclaredConstructor().newInstance());
        } else {
            return Optional.empty();
        }
    }