All Downloads are FREE. Search and download functionalities are using the official Maven repository.

ai.h2o.mojos.runtime.readers.InMemoryMojoReaderBackend Maven / Gradle / Ivy

There is a newer version: 2.8.7.1
Show newest version
package ai.h2o.mojos.runtime.readers;

import ai.h2o.mojos.runtime.api.backend.MemoryReaderBackend;
import ai.h2o.mojos.runtime.api.backend.ReaderBackend;
import java.io.IOException;
import java.io.InputStream;
import java.util.Map;

/**
 * The backend serves MOJO content from in memory file system.
 *
 * @deprecated use {@link MemoryReaderBackend} instead
 */
@Deprecated
public class InMemoryMojoReaderBackend extends MojoReaderBackend {

    public InMemoryMojoReaderBackend(Map mojoContent) {
        this(mojoContent, null);
    }

    public InMemoryMojoReaderBackend(Map mojoContent, String baseDir) {
        this(mojoContent, baseDir, null);
    }

    public InMemoryMojoReaderBackend(Map mojoContent, String baseDir, String ignored) {
        this(mojoContent, baseDir, "/", null);
    }

    public InMemoryMojoReaderBackend(Map mojoContent, String baseDir,
                                     String ignored, String pipelineFileName) {
        super(MemoryReaderBackend.open(mojoContent), baseDir, "/", pipelineFileName);
    }

    private InMemoryMojoReaderBackend(ReaderBackend backend, String baseDir,
                                      String ignored, String pipelineFileName) {
        super(backend, baseDir, "/", pipelineFileName);
    }

    public static InMemoryMojoReaderBackend createFrom(InputStream inputStream) throws IOException {
        final ReaderBackend backend = MemoryReaderBackend.fromZipStream(inputStream);
        if (backend.exists(DEFAULT_PROTO_PIPELINE_FILE_PATH)) {
            return new InMemoryMojoReaderBackend(backend, null, null, null);
        } else if (backend.exists(DEFAULT_TOML_PIPELINE_FILE_PATH)) {
            return new InMemoryMojoReaderBackend(backend, DEFAULT_BASE_DIR, "/", DEFAULT_TOML_PIPELINE_FILENAME);
        } else {
            throw new IOException("Cannot find any pipeline file!");
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy