package com.datascience.datastoring.adapters.mixed; import com.datascience.datastoring.IBackend; import com.datascience.datastoring.adapters.kv.*; import com.datascience.datastoring.backends.db.DBBackend; import com.datascience.datastoring.datamodels.kv.*; import java.sql.SQLException; import java.util.*; /** * @Author: konrad */ public class DBKVsFactory<T> implements IBackendKVFactory<T> { protected DBBackend dbBackend; public DBKVsFactory(DBBackend dbBackend) { this.dbBackend = dbBackend; } @Override public IKVStorage<T> getKV(String table) { try { dbBackend.createTable(table, "id VARCHAR(200) NOT NULL PRIMARY KEY, value LONGTEXT"); } catch (SQLException e) {} return new DBKVStorage(table, dbBackend); } @Override public void remove(String table) throws Exception { dbBackend.dropTable(table); } @Override public void rebuild() throws Exception { try{ dbBackend.createDatabase(); } catch (SQLException ex){} } @Override public void test(List<String> kvs) throws Exception { dbBackend.checkTables(kvs); } @Override public IBackend getBackend() { return dbBackend; } @Override public String getID() { return "DB"; } }