Added "ifNotExists" to all cassandra table creation statements.
diff --git a/service/src/main/java/io/mifos/identity/internal/repository/ApplicationCallEndpointSets.java b/service/src/main/java/io/mifos/identity/internal/repository/ApplicationCallEndpointSets.java
index 83bd201..b1796d7 100644
--- a/service/src/main/java/io/mifos/identity/internal/repository/ApplicationCallEndpointSets.java
+++ b/service/src/main/java/io/mifos/identity/internal/repository/ApplicationCallEndpointSets.java
@@ -57,14 +57,13 @@
}
public void buildTable() {
+ final Create create = SchemaBuilder.createTable(TABLE_NAME)
+ .ifNotExists()
+ .addPartitionKey(APPLICATION_IDENTIFIER_COLUMN, DataType.text())
+ .addClusteringColumn(CALLENDPOINTSET_IDENTIFIER_COLUMN, DataType.text())
+ .addColumn(CALLENDPOINT_GROUP_IDENTIFIERS_COLUMN, DataType.list(DataType.text()));
- final Create createTableStatement =
- SchemaBuilder.createTable(TABLE_NAME)
- .addPartitionKey(APPLICATION_IDENTIFIER_COLUMN, DataType.text())
- .addClusteringColumn(CALLENDPOINTSET_IDENTIFIER_COLUMN, DataType.text())
- .addColumn(CALLENDPOINT_GROUP_IDENTIFIERS_COLUMN, DataType.list(DataType.text()));
-
- cassandraSessionProvider.getTenantSession().execute(createTableStatement);
+ cassandraSessionProvider.getTenantSession().execute(create);
}
public void add(final ApplicationCallEndpointSetEntity entity) {
diff --git a/service/src/main/java/io/mifos/identity/internal/repository/ApplicationPermissionUsers.java b/service/src/main/java/io/mifos/identity/internal/repository/ApplicationPermissionUsers.java
index c783b70..5cf627f 100644
--- a/service/src/main/java/io/mifos/identity/internal/repository/ApplicationPermissionUsers.java
+++ b/service/src/main/java/io/mifos/identity/internal/repository/ApplicationPermissionUsers.java
@@ -44,15 +44,14 @@
}
public void buildTable() {
+ final Create create = SchemaBuilder.createTable(TABLE_NAME)
+ .ifNotExists()
+ .addPartitionKey(APPLICATION_IDENTIFIER_COLUMN, DataType.text())
+ .addClusteringColumn(PERMITTABLE_GROUP_IDENTIFIER_COLUMN, DataType.text())
+ .addClusteringColumn(USER_IDENTIFIER_COLUMN, DataType.text())
+ .addColumn(ENABLED_COLUMN, DataType.cboolean());
- final Create createTableStatement =
- SchemaBuilder.createTable(TABLE_NAME)
- .addPartitionKey(APPLICATION_IDENTIFIER_COLUMN, DataType.text())
- .addClusteringColumn(PERMITTABLE_GROUP_IDENTIFIER_COLUMN, DataType.text())
- .addClusteringColumn(USER_IDENTIFIER_COLUMN, DataType.text())
- .addColumn(ENABLED_COLUMN, DataType.cboolean());
-
- cassandraSessionProvider.getTenantSession().execute(createTableStatement);
+ cassandraSessionProvider.getTenantSession().execute(create);
}
public boolean enabled(final String applicationIdentifier,
diff --git a/service/src/main/java/io/mifos/identity/internal/repository/ApplicationPermissions.java b/service/src/main/java/io/mifos/identity/internal/repository/ApplicationPermissions.java
index e29b582..0281c00 100644
--- a/service/src/main/java/io/mifos/identity/internal/repository/ApplicationPermissions.java
+++ b/service/src/main/java/io/mifos/identity/internal/repository/ApplicationPermissions.java
@@ -56,14 +56,13 @@
}
public void buildTable() {
+ final Create create = SchemaBuilder.createTable(TABLE_NAME)
+ .ifNotExists()
+ .addPartitionKey(APPLICATION_IDENTIFIER_COLUMN, DataType.text())
+ .addClusteringColumn(PERMITTABLE_GROUP_IDENTIFIER_COLUMN, DataType.text())
+ .addUDTColumn(PERMISSION_COLUMN, SchemaBuilder.frozen(Permissions.TYPE_NAME));
- final Create createTableStatement =
- SchemaBuilder.createTable(TABLE_NAME)
- .addPartitionKey(APPLICATION_IDENTIFIER_COLUMN, DataType.text())
- .addClusteringColumn(PERMITTABLE_GROUP_IDENTIFIER_COLUMN, DataType.text())
- .addUDTColumn(PERMISSION_COLUMN, SchemaBuilder.frozen(Permissions.TYPE_NAME));
-
- cassandraSessionProvider.getTenantSession().execute(createTableStatement);
+ cassandraSessionProvider.getTenantSession().execute(create);
}
diff --git a/service/src/main/java/io/mifos/identity/internal/repository/ApplicationSignatures.java b/service/src/main/java/io/mifos/identity/internal/repository/ApplicationSignatures.java
index 6e1519f..150f5b4 100644
--- a/service/src/main/java/io/mifos/identity/internal/repository/ApplicationSignatures.java
+++ b/service/src/main/java/io/mifos/identity/internal/repository/ApplicationSignatures.java
@@ -59,15 +59,15 @@
this.tenantAwareCassandraMapperProvider = tenantAwareCassandraMapperProvider;
}
- public void buildTable()
- {
- final Create createTable = SchemaBuilder.createTable(TABLE_NAME)
- .addPartitionKey(APPLICATION_IDENTIFIER_COLUMN, DataType.text())
- .addClusteringColumn(KEY_TIMESTAMP_COLUMN, DataType.text())
- .addColumn(PUBLIC_KEY_MOD_COLUMN, DataType.varint())
- .addColumn(PUBLIC_KEY_EXP_COLUMN, DataType.varint());
+ public void buildTable() {
+ final Create create = SchemaBuilder.createTable(TABLE_NAME)
+ .ifNotExists()
+ .addPartitionKey(APPLICATION_IDENTIFIER_COLUMN, DataType.text())
+ .addClusteringColumn(KEY_TIMESTAMP_COLUMN, DataType.text())
+ .addColumn(PUBLIC_KEY_MOD_COLUMN, DataType.varint())
+ .addColumn(PUBLIC_KEY_EXP_COLUMN, DataType.varint());
- cassandraSessionProvider.getTenantSession().execute(createTable);
+ cassandraSessionProvider.getTenantSession().execute(create);
}
public void add(final ApplicationSignatureEntity entity) {
diff --git a/service/src/main/java/io/mifos/identity/internal/repository/PermittableGroups.java b/service/src/main/java/io/mifos/identity/internal/repository/PermittableGroups.java
index e770022..b77974e 100644
--- a/service/src/main/java/io/mifos/identity/internal/repository/PermittableGroups.java
+++ b/service/src/main/java/io/mifos/identity/internal/repository/PermittableGroups.java
@@ -19,6 +19,8 @@
import com.datastax.driver.core.Session;
import com.datastax.driver.core.Statement;
import com.datastax.driver.core.querybuilder.QueryBuilder;
+import com.datastax.driver.core.schemabuilder.Create;
+import com.datastax.driver.core.schemabuilder.CreateType;
import com.datastax.driver.core.schemabuilder.SchemaBuilder;
import com.datastax.driver.mapping.Mapper;
import io.mifos.core.cassandra.core.CassandraSessionProvider;
@@ -28,9 +30,9 @@
import org.springframework.stereotype.Component;
import org.springframework.util.Assert;
+import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
-import java.util.stream.Collectors;
/**
* @author Myrle Krantz
@@ -61,21 +63,20 @@
}
public void buildTable() {
- final String type_statement =
- SchemaBuilder.createType(TYPE_NAME)
- .addColumn(PATH_FIELD, DataType.text())
- .addColumn(METHOD_FIELD, DataType.text())
- .addColumn(SOURCE_GROUP_ID_FIELD, DataType.text())
- .buildInternal();
- cassandraSessionProvider.getTenantSession().execute(type_statement);
+ final CreateType createType = SchemaBuilder.createType(TYPE_NAME)
+ .ifNotExists()
+ .addColumn(PATH_FIELD, DataType.text())
+ .addColumn(METHOD_FIELD, DataType.text())
+ .addColumn(SOURCE_GROUP_ID_FIELD, DataType.text());
- final String table_statement =
- SchemaBuilder.createTable(TABLE_NAME)
- .addPartitionKey(IDENTIFIER_COLUMN, DataType.text())
- .addUDTListColumn(PERMITTABLES_COLUMN, SchemaBuilder.frozen(TYPE_NAME))
- .buildInternal();
+ cassandraSessionProvider.getTenantSession().execute(createType);
- cassandraSessionProvider.getTenantSession().execute(table_statement);
+ final Create create = SchemaBuilder.createTable(TABLE_NAME)
+ .ifNotExists()
+ .addPartitionKey(IDENTIFIER_COLUMN, DataType.text())
+ .addUDTListColumn(PERMITTABLES_COLUMN, SchemaBuilder.frozen(TYPE_NAME));
+
+ cassandraSessionProvider.getTenantSession().execute(create);
}
@@ -101,7 +102,6 @@
final Statement statement = QueryBuilder.select().all().from(TABLE_NAME);
- return entityMapper.map(tenantSession.execute(statement)).all()
- .stream().collect(Collectors.toList());
+ return new ArrayList<>(entityMapper.map(tenantSession.execute(statement)).all());
}
}
diff --git a/service/src/main/java/io/mifos/identity/internal/repository/Roles.java b/service/src/main/java/io/mifos/identity/internal/repository/Roles.java
index 6fbbc31..7682cc4 100644
--- a/service/src/main/java/io/mifos/identity/internal/repository/Roles.java
+++ b/service/src/main/java/io/mifos/identity/internal/repository/Roles.java
@@ -19,6 +19,7 @@
import com.datastax.driver.core.Session;
import com.datastax.driver.core.Statement;
import com.datastax.driver.core.querybuilder.QueryBuilder;
+import com.datastax.driver.core.schemabuilder.Create;
import com.datastax.driver.core.schemabuilder.SchemaBuilder;
import com.datastax.driver.mapping.Mapper;
import io.mifos.core.cassandra.core.CassandraSessionProvider;
@@ -28,9 +29,9 @@
import org.springframework.stereotype.Component;
import org.springframework.util.Assert;
+import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
-import java.util.stream.Collectors;
/**
* @author Myrle Krantz
@@ -56,14 +57,12 @@
}
public void buildTable() {
+ final Create create = SchemaBuilder.createTable(TABLE_NAME)
+ .ifNotExists()
+ .addPartitionKey(IDENTIFIER_COLUMN, DataType.text())
+ .addUDTListColumn(PERMISSIONS_COLUMN, SchemaBuilder.frozen(Permissions.TYPE_NAME));
- final String table_statement =
- SchemaBuilder.createTable(TABLE_NAME)
- .addPartitionKey(IDENTIFIER_COLUMN, DataType.text())
- .addUDTListColumn(PERMISSIONS_COLUMN, SchemaBuilder.frozen(Permissions.TYPE_NAME))
- .buildInternal();
-
- cassandraSessionProvider.getTenantSession().execute(table_statement);
+ cassandraSessionProvider.getTenantSession().execute(create);
}
@@ -99,7 +98,6 @@
final Statement statement = QueryBuilder.select().all().from(TABLE_NAME);
- return entityMapper.map(tenantSession.execute(statement)).all()
- .stream().collect(Collectors.toList());
+ return new ArrayList<>(entityMapper.map(tenantSession.execute(statement)).all());
}
}
diff --git a/service/src/main/java/io/mifos/identity/internal/repository/Signatures.java b/service/src/main/java/io/mifos/identity/internal/repository/Signatures.java
index 83b33de..a54b003 100644
--- a/service/src/main/java/io/mifos/identity/internal/repository/Signatures.java
+++ b/service/src/main/java/io/mifos/identity/internal/repository/Signatures.java
@@ -22,7 +22,9 @@
import com.datastax.driver.core.querybuilder.QueryBuilder;
import com.datastax.driver.core.querybuilder.Select;
import com.datastax.driver.core.querybuilder.Update;
+import com.datastax.driver.core.schemabuilder.Create;
import com.datastax.driver.core.schemabuilder.SchemaBuilder;
+import com.datastax.driver.core.schemabuilder.SchemaStatement;
import com.datastax.driver.mapping.Mapper;
import io.mifos.core.cassandra.core.CassandraSessionProvider;
import io.mifos.core.cassandra.core.TenantAwareCassandraMapperProvider;
@@ -62,23 +64,21 @@
}
public void buildTable() {
- final String statement =
- SchemaBuilder.createTable(TABLE_NAME)
- .addPartitionKey(KEY_TIMESTAMP_COLUMN, DataType.text())
- .addColumn(VALID_COLUMN, DataType.cboolean())
- .addColumn(PRIVATE_KEY_MOD_COLUMN, DataType.varint())
- .addColumn(PRIVATE_KEY_EXP_COLUMN, DataType.varint())
- .addColumn(PUBLIC_KEY_MOD_COLUMN, DataType.varint())
- .addColumn(PUBLIC_KEY_EXP_COLUMN, DataType.varint())
- .buildInternal();
+ final Create create = SchemaBuilder.createTable(TABLE_NAME)
+ .ifNotExists()
+ .addPartitionKey(KEY_TIMESTAMP_COLUMN, DataType.text())
+ .addColumn(VALID_COLUMN, DataType.cboolean())
+ .addColumn(PRIVATE_KEY_MOD_COLUMN, DataType.varint())
+ .addColumn(PRIVATE_KEY_EXP_COLUMN, DataType.varint())
+ .addColumn(PUBLIC_KEY_MOD_COLUMN, DataType.varint())
+ .addColumn(PUBLIC_KEY_EXP_COLUMN, DataType.varint());
- cassandraSessionProvider.getTenantSession().execute(statement);
+ cassandraSessionProvider.getTenantSession().execute(create);
- final String createValidIndex = SchemaBuilder.createIndex(INDEX_NAME)
- .ifNotExists()
- .onTable(TABLE_NAME)
- .andColumn(VALID_COLUMN)
- .toString();
+ final SchemaStatement createValidIndex = SchemaBuilder.createIndex(INDEX_NAME)
+ .ifNotExists()
+ .onTable(TABLE_NAME)
+ .andColumn(VALID_COLUMN);
cassandraSessionProvider.getTenantSession().execute(createValidIndex);
}
diff --git a/service/src/main/java/io/mifos/identity/internal/repository/Tenants.java b/service/src/main/java/io/mifos/identity/internal/repository/Tenants.java
index 3355f49..7d61c3a 100644
--- a/service/src/main/java/io/mifos/identity/internal/repository/Tenants.java
+++ b/service/src/main/java/io/mifos/identity/internal/repository/Tenants.java
@@ -18,6 +18,7 @@
import com.datastax.driver.core.BoundStatement;
import com.datastax.driver.core.DataType;
import com.datastax.driver.core.KeyspaceMetadata;
+import com.datastax.driver.core.schemabuilder.Create;
import com.datastax.driver.core.schemabuilder.SchemaBuilder;
import io.mifos.core.cassandra.core.CassandraSessionProvider;
import io.mifos.core.cassandra.core.TenantAwareEntityTemplate;
@@ -51,15 +52,14 @@
}
public void buildTable() {
- final String statement =
- SchemaBuilder.createTable(TABLE_NAME)
- .addPartitionKey(VERSION_COLUMN, DataType.cint())
- .addColumn(FIXED_SALT_COLUMN, DataType.blob())
- .addColumn(PASSWORD_EXPIRES_IN_DAYS_COLUMN, DataType.cint())
- .addColumn(TIME_TO_CHANGE_PASSWORD_AFTER_EXPIRATION_IN_DAYS, DataType.cint())
- .buildInternal();
+ final Create create = SchemaBuilder.createTable(TABLE_NAME)
+ .ifNotExists()
+ .addPartitionKey(VERSION_COLUMN, DataType.cint())
+ .addColumn(FIXED_SALT_COLUMN, DataType.blob())
+ .addColumn(PASSWORD_EXPIRES_IN_DAYS_COLUMN, DataType.cint())
+ .addColumn(TIME_TO_CHANGE_PASSWORD_AFTER_EXPIRATION_IN_DAYS, DataType.cint());
- cassandraSessionProvider.getTenantSession().execute(statement);
+ cassandraSessionProvider.getTenantSession().execute(create);
}
public void add(
diff --git a/service/src/main/java/io/mifos/identity/internal/repository/Users.java b/service/src/main/java/io/mifos/identity/internal/repository/Users.java
index 5fca016..0b0620d 100644
--- a/service/src/main/java/io/mifos/identity/internal/repository/Users.java
+++ b/service/src/main/java/io/mifos/identity/internal/repository/Users.java
@@ -19,6 +19,7 @@
import com.datastax.driver.core.Session;
import com.datastax.driver.core.Statement;
import com.datastax.driver.core.querybuilder.QueryBuilder;
+import com.datastax.driver.core.schemabuilder.Create;
import com.datastax.driver.core.schemabuilder.SchemaBuilder;
import com.datastax.driver.mapping.Mapper;
import io.mifos.core.cassandra.core.CassandraSessionProvider;
@@ -59,18 +60,17 @@
this.tenantAwareCassandraMapperProvider = tenantAwareCassandraMapperProvider;
}
- public void buildTable()
- {
- final String createTable = SchemaBuilder.createTable(TABLE_NAME)
+ public void buildTable() {
+ final Create create = SchemaBuilder.createTable(TABLE_NAME)
+ .ifNotExists()
.addPartitionKey(IDENTIFIER_COLUMN, DataType.text())
.addColumn(ROLE_COLUMN, DataType.text())
.addColumn(PASSWORD_COLUMN, DataType.blob())
.addColumn(SALT_COLUMN, DataType.blob())
.addColumn(ITERATION_COUNT_COLUMN, DataType.cint())
- .addColumn(PASSWORD_EXPIRES_ON_COLUMN, DataType.date())
- .buildInternal();
+ .addColumn(PASSWORD_EXPIRES_ON_COLUMN, DataType.date());
- cassandraSessionProvider.getTenantSession().execute(createTable);
+ cassandraSessionProvider.getTenantSession().execute(create);
}
public void add(final UserEntity instance) {