Package io.lumify.subrip

Source Code of io.lumify.subrip.SubRipTranscriptFileImportSupportingFileHandler

package io.lumify.subrip;

import io.lumify.core.ingest.FileImportSupportingFileHandler;
import io.lumify.core.model.properties.types.StreamingLumifyProperty;
import org.securegraph.VertexBuilder;
import org.securegraph.Visibility;
import org.securegraph.property.StreamingPropertyValue;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;

public class SubRipTranscriptFileImportSupportingFileHandler extends FileImportSupportingFileHandler {
    public static final String SUBRIP_CC_FILE_NAME_SUFFIX = ".srt";
    public static final StreamingLumifyProperty SUBRIP_CC = new StreamingLumifyProperty("http://lumify.io#subrip");

    @Override
    public boolean isSupportingFile(File f) {
        return f.getName().endsWith(SUBRIP_CC_FILE_NAME_SUFFIX);
    }

    @Override
    public AddSupportingFilesResult addSupportingFiles(VertexBuilder vertexBuilder, File f, Visibility visibility) throws Exception {
        File mappingJsonFile = new File(f.getParentFile(), f.getName() + SUBRIP_CC_FILE_NAME_SUFFIX);
        if (mappingJsonFile.exists()) {
            final FileInputStream subripIn = new FileInputStream(mappingJsonFile);
            StreamingPropertyValue subripValue = new StreamingPropertyValue(subripIn, byte[].class);
            subripValue.searchIndex(false);
            SUBRIP_CC.setProperty(vertexBuilder, subripValue, visibility);
            return new AddSupportingFilesResult() {
                @Override
                public void close() throws IOException {
                    subripIn.close();
                }
            };
        }
        return null;
    }
}
TOP

Related Classes of io.lumify.subrip.SubRipTranscriptFileImportSupportingFileHandler

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.