public static Optional resolveIncomingStreamingConnector()

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


    public static Optional<IncomingStreamingConnector> resolveIncomingStreamingConnector(String type, TransportClassLoaderCache transportCache) throws Exception {

        String className = null;
        switch (type) {
            case "SCP":
                className = "org.apache.airavata.mft.transport.scp.SCPIncomingConnector";
                break;
            case "S3":
                className = "org.apache.airavata.mft.transport.s3.S3IncomingConnector";
                break;
            case "ODATA":
                className = "org.apache.airavata.mft.transport.odata.ODataIncomingConnector";
                break;
            case "AZURE":
                className = "org.apache.airavata.mft.transport.azure.AzureIncomingStreamingConnector";
                break;
            case "GCS":
                className = "org.apache.airavata.mft.transport.gcp.GCSIncomingStreamingConnector";
                break;
            case "LOCAL":
                className = "org.apache.airavata.mft.transport.local.LocalIncomingStreamingConnector";
                break;
            case "HTTP":
                className = "org.apache.airavata.mft.trnasport.http.HttpIncomingStreamingConnector";
                break;
        }

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