Search in sources :

Example 1 with StoredClassCatalog

use of com.sleepycat.bind.serial.StoredClassCatalog in project heritrix3 by internetarchive.

the class BdbContentDigestHistory method start.

@Override
@SuppressWarnings("rawtypes")
public void start() {
    if (isRunning()) {
        return;
    }
    StoredSortedMap<String, Map> historyMap;
    try {
        StoredClassCatalog classCatalog = bdb.getClassCatalog();
        historyDb = bdb.openDatabase(getHistoryDbName(), historyDbConfig(), true);
        historyMap = new StoredSortedMap<String, Map>(historyDb, new StringBinding(), new SerialBinding<Map>(classCatalog, Map.class), true);
    } catch (DatabaseException e) {
        throw new RuntimeException(e);
    }
    store = historyMap;
}
Also used : StringBinding(com.sleepycat.bind.tuple.StringBinding) StoredClassCatalog(com.sleepycat.bind.serial.StoredClassCatalog) SerialBinding(com.sleepycat.bind.serial.SerialBinding) StoredSortedMap(com.sleepycat.collections.StoredSortedMap) HashMap(java.util.HashMap) Map(java.util.Map) DatabaseException(com.sleepycat.je.DatabaseException)

Example 2 with StoredClassCatalog

use of com.sleepycat.bind.serial.StoredClassCatalog in project heritrix3 by internetarchive.

the class EnhancedEnvironment method getClassCatalog.

/**
 * Return a StoredClassCatalog backed by a Database in this environment,
 * either pre-existing or created (and cached) if necessary.
 *
 * @return the cached class catalog
 */
public StoredClassCatalog getClassCatalog() {
    if (classCatalog == null) {
        DatabaseConfig dbConfig = new DatabaseConfig();
        dbConfig.setAllowCreate(true);
        dbConfig.setReadOnly(this.getConfig().getReadOnly());
        try {
            classCatalogDB = openDatabase(null, "classCatalog", dbConfig);
            classCatalog = new StoredClassCatalog(classCatalogDB);
        } catch (DatabaseException e) {
            // TODO Auto-generated catch block
            throw new RuntimeException(e);
        }
    }
    return classCatalog;
}
Also used : StoredClassCatalog(com.sleepycat.bind.serial.StoredClassCatalog) DatabaseException(com.sleepycat.je.DatabaseException) DatabaseConfig(com.sleepycat.je.DatabaseConfig)

Example 3 with StoredClassCatalog

use of com.sleepycat.bind.serial.StoredClassCatalog in project heritrix3 by internetarchive.

the class PreloadedUriPrecedencePolicy method start.

@SuppressWarnings({ "unchecked", "rawtypes" })
public void start() {
    if (isRunning()) {
        return;
    }
    store = null;
    String dbName = PersistProcessor.URI_HISTORY_DBNAME;
    try {
        StoredClassCatalog classCatalog = bdb.getClassCatalog();
        BdbModule.BdbConfig dbConfig = PersistProcessor.HISTORY_DB_CONFIG;
        historyDb = bdb.openDatabase(dbName, dbConfig, true);
        SerialBinding sb = new SerialBinding(classCatalog, Map.class);
        StoredSortedMap historyMap = new StoredSortedMap(historyDb, new StringBinding(), sb, true);
        store = historyMap;
    } catch (DatabaseException e) {
        throw new RuntimeException(e);
    }
}
Also used : BdbModule(org.archive.bdb.BdbModule) StringBinding(com.sleepycat.bind.tuple.StringBinding) StoredClassCatalog(com.sleepycat.bind.serial.StoredClassCatalog) SerialBinding(com.sleepycat.bind.serial.SerialBinding) StoredSortedMap(com.sleepycat.collections.StoredSortedMap) DatabaseException(com.sleepycat.je.DatabaseException)

Example 4 with StoredClassCatalog

use of com.sleepycat.bind.serial.StoredClassCatalog in project parliament by SemWebCentral.

the class SpatialIndex method openDB.

private void openDB() throws SpatialIndexException {
    try {
        Transaction t = env.beginTransaction(null, null);
        catalogDb = env.openDatabase(t, CATALOG_DB, dbConfig);
        catalog = new StoredClassCatalog(catalogDb);
        db = env.openDatabase(t, DATA_DB, dbConfig);
        secConfig.setKeyCreator(new NodeIdKeyCreator(catalog));
        nodeDb = env.openSecondaryDatabase(t, ID_NODE_INDEX, db, secConfig);
        t.commit();
    } catch (Exception ex) {
        throw new SpatialIndexException(this, "Error opening databases", ex);
    }
    createMaps();
}
Also used : Transaction(com.sleepycat.je.Transaction) StoredClassCatalog(com.sleepycat.bind.serial.StoredClassCatalog) NodeIdKeyCreator(com.bbn.parliament.jena.graph.index.spatial.persistence.NodeIdKeyCreator) IndexException(com.bbn.parliament.jena.graph.index.IndexException) DatabaseException(com.sleepycat.je.DatabaseException) ParseException(org.locationtech.jts.io.ParseException) EnvironmentLockedException(com.sleepycat.je.EnvironmentLockedException)

Example 5 with StoredClassCatalog

use of com.sleepycat.bind.serial.StoredClassCatalog in project heritrix3 by internetarchive.

the class PrecedenceLoader method main2args.

/**
 * Merge the precalculated precedence information in the first argument
 * file to the environment in the second environment (path; environment
 * will be created if it does not already exist).
 *
 * @param args command-line arguments
 * @throws DatabaseException
 * @throws FileNotFoundException
 * @throws UnsupportedEncodingException
 * @throws IOException
 */
private static void main2args(String[] args) throws DatabaseException, FileNotFoundException, UnsupportedEncodingException, IOException {
    File source = new File(args[0]);
    File env = new File(args[1]);
    FileUtils.ensureWriteableDirectory(env);
    // setup target environment
    EnhancedEnvironment targetEnv = PersistProcessor.setupCopyEnvironment(env);
    StoredClassCatalog classCatalog = targetEnv.getClassCatalog();
    Database historyDB = targetEnv.openDatabase(null, PersistProcessor.URI_HISTORY_DBNAME, PersistProcessor.HISTORY_DB_CONFIG.toDatabaseConfig());
    @SuppressWarnings({ "rawtypes", "unchecked" }) StoredSortedMap<String, Object> historyMap = new StoredSortedMap<String, Object>(historyDB, new StringBinding(), new SerialBinding(classCatalog, Map.class), true);
    int count = 0;
    if (source.isFile()) {
        // scan log, writing to database
        BufferedReader br = ArchiveUtils.getBufferedReader(source);
        Iterator<String> iter = new LineReadingIterator(br);
        while (iter.hasNext()) {
            String line = (String) iter.next();
            String[] splits = line.split("\\s");
            String uri = splits[0];
            if (!uri.matches("\\w+:.*")) {
                // prepend "http://"
                uri = "http://" + uri;
            }
            String key = PersistProcessor.persistKeyFor(uri);
            int precedence = Integer.parseInt(splits[1]);
            @SuppressWarnings("unchecked") Map<String, Object> map = (Map<String, Object>) historyMap.get(key);
            if (map == null) {
                map = new HashMap<String, Object>();
            }
            map.put(A_PRECALC_PRECEDENCE, precedence);
            historyMap.put(key, map);
            count++;
            if (count % 100000 == 0) {
                System.out.print(count + "... ");
            }
        }
        br.close();
        System.out.println();
        System.out.println(count + " entries loaded");
    } else {
        // error
        System.err.println("unacceptable source file");
        return;
    }
    // cleanup
    historyDB.sync();
    historyDB.close();
    targetEnv.close();
    System.out.println(count + " records imported from " + source + " to BDB env " + env);
}
Also used : StringBinding(com.sleepycat.bind.tuple.StringBinding) LineReadingIterator(org.archive.util.iterator.LineReadingIterator) SerialBinding(com.sleepycat.bind.serial.SerialBinding) EnhancedEnvironment(org.archive.util.bdbje.EnhancedEnvironment) StoredClassCatalog(com.sleepycat.bind.serial.StoredClassCatalog) Database(com.sleepycat.je.Database) BufferedReader(java.io.BufferedReader) File(java.io.File) StoredSortedMap(com.sleepycat.collections.StoredSortedMap) StoredSortedMap(com.sleepycat.collections.StoredSortedMap) HashMap(java.util.HashMap) Map(java.util.Map)

Aggregations

StoredClassCatalog (com.sleepycat.bind.serial.StoredClassCatalog)9 SerialBinding (com.sleepycat.bind.serial.SerialBinding)6 StringBinding (com.sleepycat.bind.tuple.StringBinding)6 StoredSortedMap (com.sleepycat.collections.StoredSortedMap)6 DatabaseException (com.sleepycat.je.DatabaseException)6 Map (java.util.Map)5 Database (com.sleepycat.je.Database)3 BdbModule (org.archive.bdb.BdbModule)3 EnhancedEnvironment (org.archive.util.bdbje.EnhancedEnvironment)3 DatabaseConfig (com.sleepycat.je.DatabaseConfig)2 File (java.io.File)2 HashMap (java.util.HashMap)2 IndexException (com.bbn.parliament.jena.graph.index.IndexException)1 NodeIdKeyCreator (com.bbn.parliament.jena.graph.index.spatial.persistence.NodeIdKeyCreator)1 ByteArrayBinding (com.sleepycat.bind.ByteArrayBinding)1 EnvironmentLockedException (com.sleepycat.je.EnvironmentLockedException)1 Transaction (com.sleepycat.je.Transaction)1 BufferedReader (java.io.BufferedReader)1 Entry (java.util.Map.Entry)1 Cookie (org.apache.http.cookie.Cookie)1