Package net.fortytwo.ripple.config

Source Code of net.fortytwo.ripple.config.MemoryStoreFactory

package net.fortytwo.ripple.config;

import net.fortytwo.ripple.Ripple;
import net.fortytwo.ripple.RippleException;
import net.fortytwo.ripple.RippleProperties;
import net.fortytwo.ripple.URIMap;
import org.openrdf.sail.Sail;
import org.openrdf.sail.SailException;
import org.openrdf.sail.memory.MemoryStore;

import java.io.File;

/**
* @author Joshua Shinavier (http://fortytwo.net)
*/
public class MemoryStoreFactory implements SailFactory {

    public Class getSailClass() {
        return MemoryStore.class;
    }

    public Sail createSail(URIMap uriMap, SailConfiguration config) throws RippleException {
        MemoryStore sail = new MemoryStore();

        RippleProperties props = Ripple.getConfiguration();
        File persistFile = props.getFile(Ripple.MEMORYSTORE_PERSIST_FILE, null);

        // If a persist file has been specified, attempt to load from it.  A
        // missing persist file is tolerated.
        if (null != persistFile) {
            sail.setDataDir(persistFile);
            sail.setPersist(true);
        }

        try {
            sail.initialize();
        } catch (SailException e) {
            throw new RippleException(e);
        }

        return sail;
    }
}
TOP

Related Classes of net.fortytwo.ripple.config.MemoryStoreFactory

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.