@Override
public void register(String store, String key, Class<?> dataType, TransactionHandle tx) throws StorageException {
LOG.info("Registering key [" + key + "] with dataType [" + dataType + "] in store [" + store + "]");
String tableName = getTableName(store);
Iface client = getClient();
String family = getFamily(store);
try {
createTableIfMissing(tableName, client);
if (dataType.equals(Integer.class)) {
client.addColumnDefinition(tableName, new ColumnDefinition(family, key, null, false, "int", null));
} else if (dataType.equals(Long.class)) {
client.addColumnDefinition(tableName, new ColumnDefinition(family, key, null, false, "long", null));
} else if (dataType.equals(Double.class)) {
client.addColumnDefinition(tableName, new ColumnDefinition(family, key, null, false, "double", null));
} else if (dataType.equals(Float.class)) {
client.addColumnDefinition(tableName, new ColumnDefinition(family, key, null, false, "float", null));
} else if (dataType.equals(Geoshape.class)) {
client.addColumnDefinition(tableName, new ColumnDefinition(family, key, null, false, "geo-pointvector", null));
} else if (dataType.equals(String.class)) {
client.addColumnDefinition(tableName, new ColumnDefinition(family, key, null, false, "text", null));
} else {
throw new IllegalArgumentException("Unsupported type: " + dataType);
}
} catch (BlurException e) {
LOG.error("Unknown error while trying to registered new type. Store [" + store + "] Key [" + key + "] dateType ["