Author: dlanglais Date: 2010-01-31 16:22:15 +0100 (Sun, 31 Jan 2010) New Revision: 46 Modified: trunk/src/main/java/org/nuiton/mapstoragemanager/plugins/bighashmap/BigHashMap.java trunk/src/main/java/org/nuiton/mapstoragemanager/plugins/bighashmap/Table.java trunk/src/main/java/org/nuiton/mapstoragemanager/plugins/bighashmap/TableImpl.java trunk/src/main/java/org/nuiton/mapstoragemanager/plugins/nvBigTable.java Log: Ajout de corps aux fonctions de BigHashMap (la suite plus tard). Modified: trunk/src/main/java/org/nuiton/mapstoragemanager/plugins/bighashmap/BigHashMap.java =================================================================== --- trunk/src/main/java/org/nuiton/mapstoragemanager/plugins/bighashmap/BigHashMap.java 2010-01-31 14:58:33 UTC (rev 45) +++ trunk/src/main/java/org/nuiton/mapstoragemanager/plugins/bighashmap/BigHashMap.java 2010-01-31 15:22:15 UTC (rev 46) @@ -1,5 +1,8 @@ package org.nuiton.mapstoragemanager.plugins.bighashmap; +import java.util.HashMap; +import java.util.Map; +import java.util.Set; import org.nuiton.mapstoragemanager.plugins.nvBigTable; /** @@ -7,6 +10,116 @@ * @author Dorian Langlais * */ -public interface BigHashMap extends nvBigTable { +public class BigHashMap implements nvBigTable { + private Map<String, Table> tables; + private Table currentTable; + + /** + * Default constructor. + */ + public BigHashMap() { + this.tables = new HashMap<String, Table>(); + currentTable = null; + } + + /** + * {@inheritDoc} + * Create a new HashMap database. + */ + public boolean connect(String host, int port, String base, String username, String passwd) { + //throw new UnsupportedOperationException("Not supported yet."); + new BigHashMap(); + return true; + } + + /** + * {@inheritDoc} + */ + public void selectTable(String table) { + this.currentTable = tables.get(table); + } + + /** + * {@inheritDoc} + */ + public void createTable(String table) { + this.tables.put(table, new TableImpl()); + } + + /** + * {@inheritDoc} + */ + public void deleteTable(String table) { + this.tables.remove(table); + } + + /** + * {@inheritDoc} + */ + public Set<String> getTablesNames() { + return this.tables.keySet(); + } + + /** + * {@inheritDoc} + */ + public void createColumn(String table, String column) { + this.tables.get(table).createColumn(column, null); + } + + /** + * {@inheritDoc} + */ + public void deleteColumn(String table, String column) { + this.tables.get(table).deleteColumn(column); + } + + /** + * {@inheritDoc} + */ + public Set<String> getColumnsNames(String table) { + return this.tables.get(table).getColumnsNames(); + } + + /** + * {@inheritDoc} + */ + public void put(String table, String column, String key, String content) { + throw new UnsupportedOperationException("Not supported yet."); + //TODO + } + + /** + * {@inheritDoc} + */ + public String get(String table, String column, String key) { + throw new UnsupportedOperationException("Not supported yet."); + //TODO + } + + /** + * {@inheritDoc} + */ + public String get(String table, String column, String key, int version) { + throw new UnsupportedOperationException("Not supported yet."); + //TODO + } + + /** + * {@inheritDoc} + */ + public Map<String, String> getRow(String table, String key) { + throw new UnsupportedOperationException("Not supported yet."); + //TODO + } + + /** + * {@inheritDoc} + */ + public Set<String> getKeys(String table) { + throw new UnsupportedOperationException("Not supported yet."); + //TODO + } + } Modified: trunk/src/main/java/org/nuiton/mapstoragemanager/plugins/bighashmap/Table.java =================================================================== --- trunk/src/main/java/org/nuiton/mapstoragemanager/plugins/bighashmap/Table.java 2010-01-31 14:58:33 UTC (rev 45) +++ trunk/src/main/java/org/nuiton/mapstoragemanager/plugins/bighashmap/Table.java 2010-01-31 15:22:15 UTC (rev 46) @@ -1,5 +1,7 @@ package org.nuiton.mapstoragemanager.plugins.bighashmap; +import java.util.Set; + /** * Interface to present the method on a table. * A table is like a table in SGBD, but in BigTable, the data are stored in @@ -24,6 +26,12 @@ void deleteColumn(final String columnName); /** + * Get the columns' name of the table. + * @return Return a set containing the columns' name of the table + */ + Set<String> getColumnsNames(); + + /** * Get a "virtual" rom from the table. * @param key the key of the row to get * @return return the row which has <b>key</b> as key Modified: trunk/src/main/java/org/nuiton/mapstoragemanager/plugins/bighashmap/TableImpl.java =================================================================== --- trunk/src/main/java/org/nuiton/mapstoragemanager/plugins/bighashmap/TableImpl.java 2010-01-31 14:58:33 UTC (rev 45) +++ trunk/src/main/java/org/nuiton/mapstoragemanager/plugins/bighashmap/TableImpl.java 2010-01-31 15:22:15 UTC (rev 46) @@ -2,6 +2,7 @@ import java.util.HashMap; import java.util.Map; +import java.util.Set; /** * Class Table. @@ -90,4 +91,11 @@ public Object get(String columnName, String key, long version) { return this.tableColumns.get(columnName).get(key, version); } + + /** + * {@inheritDoc} + */ + public Set<String> getColumnsNames() { + return this.tableColumns.keySet(); + } } Modified: trunk/src/main/java/org/nuiton/mapstoragemanager/plugins/nvBigTable.java =================================================================== --- trunk/src/main/java/org/nuiton/mapstoragemanager/plugins/nvBigTable.java 2010-01-31 14:58:33 UTC (rev 45) +++ trunk/src/main/java/org/nuiton/mapstoragemanager/plugins/nvBigTable.java 2010-01-31 15:22:15 UTC (rev 46) @@ -71,10 +71,12 @@ void deleteColumn(String table, String column); /** - * Get the columns' name. - * @return Return a set containing the columns' name. + * Get the columns' name of one table. + * @param table the table name + * @return Return a set containing the columns' name of the table + * <b>table</b> */ - Set<String> getColumnsNames(); + Set<String> getColumnsNames(String table); /*************** * Cell *