Rename H2 database tables 53/101753/4
authorRobert Varga <robert.varga@pantheon.tech>
Wed, 6 Jul 2022 09:17:11 +0000 (11:17 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Wed, 6 Jul 2022 11:02:55 +0000 (13:02 +0200)
We have a potential conflict with H2 system tables, make sure we have
our own prefix. Since we are breaking compatibility, also use BOOLEAN
for ENABLED column.

JIRA: AAA-221
Change-Id: I9c84187cdc4528a71db90a8f046718b09120a7cf
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
aaa-idm-store-h2/src/main/java/org/opendaylight/aaa/datastore/h2/DomainStore.java
aaa-idm-store-h2/src/main/java/org/opendaylight/aaa/datastore/h2/GrantStore.java
aaa-idm-store-h2/src/main/java/org/opendaylight/aaa/datastore/h2/RoleStore.java
aaa-idm-store-h2/src/main/java/org/opendaylight/aaa/datastore/h2/UserStore.java
aaa-idm-store-h2/src/test/java/org/opendaylight/aaa/datastore/h2/DomainStoreTest.java
aaa-idm-store-h2/src/test/java/org/opendaylight/aaa/datastore/h2/UserStoreTest.java

index a7e810260bfa3b4be15b37c2e4db38a1ecb0359d..cbed2d477385fd570659728e36895eaa7c625af9 100644 (file)
@@ -31,8 +31,7 @@ final class DomainStore extends AbstractStore<Domain> {
     /**
      * Name of our SQL table. This constant lives here rather than in {@link SQLTable} for brevity.
      */
-    // FIXME: AAA-221: this is a system table
-    static final @NonNull String TABLE = "DOMAINS";
+    static final @NonNull String TABLE = "AAA_DOMAINS";
 
     static {
         SQLTable.DOMAIN.verifyTable(TABLE);
@@ -72,8 +71,7 @@ final class DomainStore extends AbstractStore<Domain> {
             + COL_ID      + " VARCHAR(128) PRIMARY KEY, "
             + COL_NAME    + " VARCHAR(128) UNIQUE NOT NULL, "
             + COL_DESC    + " VARCHAR(128), "
-            // FIXME: change boolean
-            + COL_ENABLED + " INTEGER      NOT NULL)");
+            + COL_ENABLED + " BOOLEAN      NOT NULL)");
     }
 
     @Override
@@ -87,7 +85,7 @@ final class DomainStore extends AbstractStore<Domain> {
         domain.setDomainid(rs.getString(COL_ID));
         domain.setName(rs.getString(COL_NAME));
         domain.setDescription(rs.getString(COL_DESC));
-        domain.setEnabled(rs.getInt(COL_ENABLED) == 1);
+        domain.setEnabled(rs.getBoolean(COL_ENABLED));
         return domain;
     }
 
@@ -137,7 +135,7 @@ final class DomainStore extends AbstractStore<Domain> {
             stmt.setString(1, domain.getName());
             stmt.setString(2, domain.getName());
             stmt.setString(3, domain.getDescription());
-            stmt.setInt(4, domain.isEnabled() ? 1 : 0);
+            stmt.setBoolean(4, domain.isEnabled());
 
             LOG.debug("createDomain() request: {}", stmt);
             if (stmt.executeUpdate() == 0) {
@@ -171,7 +169,7 @@ final class DomainStore extends AbstractStore<Domain> {
                  + COL_NAME + " = ?, " + COL_DESC + " = ?, " + COL_ENABLED + " = ? WHERE " + COL_ID + " = ?")) {
             stmt.setString(1, savedDomain.getName());
             stmt.setString(2, savedDomain.getDescription());
-            stmt.setInt(3, savedDomain.isEnabled() ? 1 : 0);
+            stmt.setBoolean(3, savedDomain.isEnabled());
             stmt.setString(4, savedDomain.getDomainid());
 
             LOG.debug("putDomain() request: {}", stmt);
index 981b359f922857dccdbc7b74a674cf5974e9ca58..c8730887c225eff166ea1166dede2a3d23071f36 100644 (file)
@@ -28,7 +28,7 @@ import org.slf4j.LoggerFactory;
 final class GrantStore extends AbstractStore<Grant> {
     private static final Logger LOG = LoggerFactory.getLogger(GrantStore.class);
 
-    static final String TABLE = "GRANTS";
+    static final String TABLE = "AAA_GRANTS";
 
     static {
         SQLTable.GRANT.verifyTable(TABLE);
index 1b68088ee73632ce359e31323435bb8aa2e611ec..eb41dd38b0551d9e28e5deea6460e154f9682557 100644 (file)
@@ -33,8 +33,7 @@ final class RoleStore extends AbstractStore<Role> {
     /**
      * Name of our SQL table. This constant lives here rather than in {@link SQLTable} for brevity.
      */
-    // FIXME: AAA-221: this is a system table
-    static final @NonNull String TABLE = "ROLES";
+    static final @NonNull String TABLE = "AAA_ROLES";
 
     static {
         SQLTable.ROLE.verifyTable(TABLE);
index 1d539d51d0e5227f7adf5a10198e65011dedb4dd..7dc4acd4b431fd855945e944454ddc368122db17 100644 (file)
@@ -30,7 +30,7 @@ import org.slf4j.LoggerFactory;
 final class UserStore extends AbstractStore<User> {
     private static final Logger LOG = LoggerFactory.getLogger(UserStore.class);
 
-    static final String TABLE = "USERS";
+    static final String TABLE = "AAA_USERS";
 
     static {
         SQLTable.USER.verifyTable(TABLE);
@@ -82,8 +82,7 @@ final class UserStore extends AbstractStore<User> {
             // FIXME: is 'salt' even used? Some comparators are not storing hashes, either
             + COL_PASSWORD  + " VARCHAR(128) NOT NULL, "
             + COL_SALT      + " VARCHAR(128) NOT NULL, "
-            // FIXME: boolean
-            + COL_ENABLED   + " INTEGER      NOT NULL)");
+            + COL_ENABLED   + " BOOLEAN      NOT NULL)");
     }
 
     @Override
@@ -101,7 +100,7 @@ final class UserStore extends AbstractStore<User> {
             user.setEmail(rs.getString(COL_EMAIL));
             user.setPassword(rs.getString(COL_PASSWORD));
             user.setDescription(rs.getString(COL_DESC));
-            user.setEnabled(rs.getInt(COL_ENABLED) == 1);
+            user.setEnabled(rs.getBoolean(COL_ENABLED));
             user.setSalt(rs.getString(COL_SALT));
         } catch (SQLException e) {
             LOG.error("SQL Exception: ", e);
@@ -162,7 +161,7 @@ final class UserStore extends AbstractStore<User> {
             stmt.setString(4, user.getEmail());
             stmt.setString(5, passwordHash.getHashedPassword());
             stmt.setString(6, user.getDescription());
-            stmt.setInt(7, user.isEnabled() ? 1 : 0);
+            stmt.setBoolean(7, user.isEnabled());
             stmt.setString(8, user.getSalt());
             LOG.debug("createUser() request: {}", stmt);
 
@@ -209,7 +208,7 @@ final class UserStore extends AbstractStore<User> {
             stmt.setString(1, savedUser.getEmail());
             stmt.setString(2, savedUser.getPassword());
             stmt.setString(3, savedUser.getDescription());
-            stmt.setInt(4, savedUser.isEnabled() ? 1 : 0);
+            stmt.setBoolean(4, savedUser.isEnabled());
             stmt.setString(5, savedUser.getUserid());
             LOG.debug("putUser() request: {}", stmt);
 
index 6448264a4dcf190f71c67278234dc0cc2184e419..a4f789d8547387da5dba048ec9ef9a1b3040df79 100644 (file)
@@ -78,7 +78,7 @@ public class DomainStoreTest {
         when(rsMock.getString(DomainStore.COL_ID)).thenReturn("1");
         when(rsMock.getString(DomainStore.COL_NAME)).thenReturn("DomainName_1");
         when(rsMock.getString(DomainStore.COL_DESC)).thenReturn("Desc_1");
-        when(rsMock.getInt(DomainStore.COL_ENABLED)).thenReturn(1);
+        when(rsMock.getBoolean(DomainStore.COL_ENABLED)).thenReturn(true);
         return rsMock;
     }
 }
index 3105a75a65f3c357ed6afba55e8c7efdd08c5965..17e060ae007679dd14f6d2f24074229b7701d974 100644 (file)
@@ -62,7 +62,7 @@ public class UserStoreTest {
         when(rsMock.getString(UserStore.COL_PASSWORD)).thenReturn("Pswd_1");
         when(rsMock.getString(UserStore.COL_DESC)).thenReturn("Desc_1");
         when(rsMock.getString(UserStore.COL_DOMAIN_ID)).thenReturn("Domain_1");
-        when(rsMock.getInt(UserStore.COL_ENABLED)).thenReturn(1);
+        when(rsMock.getBoolean(UserStore.COL_ENABLED)).thenReturn(true);
         return rsMock;
     }
 }