summaryrefslogtreecommitdiffstats
path: root/collaboration/GSoC-2011-Eranda/hbase/src/main/java/org/apache/tuscany/nosqldatastore/hbase/HBaseSession.java
diff options
context:
space:
mode:
Diffstat (limited to 'collaboration/GSoC-2011-Eranda/hbase/src/main/java/org/apache/tuscany/nosqldatastore/hbase/HBaseSession.java')
-rw-r--r--collaboration/GSoC-2011-Eranda/hbase/src/main/java/org/apache/tuscany/nosqldatastore/hbase/HBaseSession.java37
1 files changed, 26 insertions, 11 deletions
diff --git a/collaboration/GSoC-2011-Eranda/hbase/src/main/java/org/apache/tuscany/nosqldatastore/hbase/HBaseSession.java b/collaboration/GSoC-2011-Eranda/hbase/src/main/java/org/apache/tuscany/nosqldatastore/hbase/HBaseSession.java
index 83648eadc0..6279c75181 100644
--- a/collaboration/GSoC-2011-Eranda/hbase/src/main/java/org/apache/tuscany/nosqldatastore/hbase/HBaseSession.java
+++ b/collaboration/GSoC-2011-Eranda/hbase/src/main/java/org/apache/tuscany/nosqldatastore/hbase/HBaseSession.java
@@ -26,6 +26,8 @@ import org.apache.hadoop.hbase.ZooKeeperConnectionException;
import org.apache.hadoop.hbase.client.HBaseAdmin;
import org.apache.tuscany.nosqldatastore.Database;
import org.apache.tuscany.nosqldatastore.Session;
+import org.apache.tuscany.nosqldatastore.exception.DatabaseNotFoundException;
+import org.apache.tuscany.nosqldatastore.exception.SessionException;
import java.io.IOException;
@@ -46,23 +48,36 @@ public class HBaseSession implements Session{
}
}
- public Database createDatabase(String databaseName) {
- Database database = new HBaseDatatabase(databaseName, admin);
- return database;
+ public Database createDatabase(String databaseName) throws SessionException {
+ Database database = null;
+ try {
+ database = new HBaseDatatabase(databaseName, admin);
+ } catch (IOException e) {
+ throw new SessionException("Session Error");
+ }
+ return database;
}
- public Database getDatabase(String databaseName) {
- Database database = new HBaseDatatabase(databaseName, admin);
- return database;
+ public Database getDatabase(String databaseName) throws SessionException {
+ Database database = null;
+ try {
+ database = new HBaseDatatabase(databaseName, admin);
+ } catch (IOException e) {
+ throw new SessionException("Session Error");
+ }
+ return database;
}
- public void deleteDatabase(String databaseName) {
+ public void deleteDatabase(String databaseName) throws DatabaseNotFoundException, SessionException {
try {
- admin.disableTable(databaseName);
- admin.deleteTable(databaseName);
+ if(admin.tableExists(databaseName)){
+ admin.disableTable(databaseName);
+ admin.deleteTable(databaseName);
+ } else {
+ throw new DatabaseNotFoundException("Database "+databaseName+" not found");
+ }
} catch (IOException e) {
- System.out.println("Error: Creating the database "+databaseName);
- e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates.
+ throw new SessionException("Session Error");
}
}
}