Search in sources :

Example 21 with StorageException

use of edu.uci.ics.textdb.api.exception.StorageException in project textdb by TextDB.

the class RelationManagerTest method test15.

@Test
public void test15() throws Exception {
    String tableName1 = "relation_manager_test_table_15_1";
    String tableName2 = "relation_manager_test_table_15_2";
    String indexDirectory = "./index/test_table/relation_manager_test_table_15";
    Schema schema = new Schema(new Attribute("content", AttributeType.TEXT));
    String luceneAnalyzerString = "standard";
    relationManager.deleteTable(tableName1);
    relationManager.deleteTable(tableName2);
    relationManager.createTable(tableName1, indexDirectory, schema, luceneAnalyzerString);
    // create another table with the same directory should fail
    try {
        relationManager.createTable(tableName2, indexDirectory, schema, luceneAnalyzerString);
        System.out.println(relationManager.getTableDirectory(tableName1));
        System.out.println(relationManager.getTableDirectory(tableName2));
        Assert.fail("Storage exception should be thrown because of duplicate index directories");
    } catch (StorageException e) {
    }
    relationManager.deleteTable(tableName1);
}
Also used : Attribute(edu.uci.ics.textdb.api.schema.Attribute) Schema(edu.uci.ics.textdb.api.schema.Schema) StorageException(edu.uci.ics.textdb.api.exception.StorageException) Test(org.junit.Test)

Example 22 with StorageException

use of edu.uci.ics.textdb.api.exception.StorageException in project textdb by TextDB.

the class RelationManagerTest method test7.

/*
     * Test creating and deleting multiple tables in relation manager.
     */
@Test
public void test7() throws Exception {
    String tableName = "relation_manager_test_table";
    String tableDirectory = "./index/test_table";
    Schema tableSchema = new Schema(new Attribute("city", AttributeType.STRING), new Attribute("description", AttributeType.TEXT), new Attribute("tax rate", AttributeType.DOUBLE), new Attribute("population", AttributeType.INTEGER), new Attribute("record time", AttributeType.DATE));
    int NUM_OF_LOOPS = 10;
    RelationManager relationManager = RelationManager.getRelationManager();
    // create tables
    for (int i = 0; i < NUM_OF_LOOPS; i++) {
        // delete previously inserted tables first
        relationManager.deleteTable(tableName + '_' + i);
        relationManager.createTable(tableName + '_' + i, tableDirectory + '_' + i, tableSchema, LuceneAnalyzerConstants.standardAnalyzerString());
    }
    // assert tables are correctly created
    for (int i = 0; i < NUM_OF_LOOPS; i++) {
        Assert.assertEquals(new File(tableDirectory + '_' + i).getCanonicalPath(), relationManager.getTableDirectory(tableName + '_' + i));
        Assert.assertEquals(Utils.getSchemaWithID(tableSchema), relationManager.getTableSchema(tableName + '_' + i));
    }
    // delete tables
    for (int i = 0; i < NUM_OF_LOOPS; i++) {
        relationManager.deleteTable(tableName + '_' + i);
    }
    // assert tables are correctly deleted
    int errorCount = 0;
    for (int i = 0; i < NUM_OF_LOOPS; i++) {
        try {
            relationManager.getTableDirectory(tableName + '_' + i);
        } catch (StorageException e) {
            errorCount++;
        }
    }
    Assert.assertEquals(NUM_OF_LOOPS, errorCount);
}
Also used : Attribute(edu.uci.ics.textdb.api.schema.Attribute) Schema(edu.uci.ics.textdb.api.schema.Schema) File(java.io.File) StorageException(edu.uci.ics.textdb.api.exception.StorageException) Test(org.junit.Test)

Aggregations

StorageException (edu.uci.ics.textdb.api.exception.StorageException)22 IOException (java.io.IOException)14 Tuple (edu.uci.ics.textdb.api.tuple.Tuple)9 IField (edu.uci.ics.textdb.api.field.IField)4 Schema (edu.uci.ics.textdb.api.schema.Schema)4 MatchAllDocsQuery (org.apache.lucene.search.MatchAllDocsQuery)4 Query (org.apache.lucene.search.Query)4 JsonNode (com.fasterxml.jackson.databind.JsonNode)3 ObjectMapper (com.fasterxml.jackson.databind.ObjectMapper)3 DataFlowException (edu.uci.ics.textdb.api.exception.DataFlowException)3 IDField (edu.uci.ics.textdb.api.field.IDField)3 Attribute (edu.uci.ics.textdb.api.schema.Attribute)3 DataWriter (edu.uci.ics.textdb.storage.DataWriter)3 File (java.io.File)3 Term (org.apache.lucene.index.Term)3 TermQuery (org.apache.lucene.search.TermQuery)3 StringField (edu.uci.ics.textdb.api.field.StringField)2 ParseException (java.text.ParseException)2 ArrayList (java.util.ArrayList)2 Analyzer (org.apache.lucene.analysis.Analyzer)2