Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--plugins/org.eclipse.osee.orcs.db.test/src/org/eclipse/osee/orcs/db/intergration/PurgeAttributeTest.java35
-rw-r--r--plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/callable/PurgeAttributesDatabaseTxCallable.java14
-rw-r--r--plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/console/PurgeAttributeCommand.java5
3 files changed, 26 insertions, 28 deletions
diff --git a/plugins/org.eclipse.osee.orcs.db.test/src/org/eclipse/osee/orcs/db/intergration/PurgeAttributeTest.java b/plugins/org.eclipse.osee.orcs.db.test/src/org/eclipse/osee/orcs/db/intergration/PurgeAttributeTest.java
index ab72b35ee6d..318f460ca10 100644
--- a/plugins/org.eclipse.osee.orcs.db.test/src/org/eclipse/osee/orcs/db/intergration/PurgeAttributeTest.java
+++ b/plugins/org.eclipse.osee.orcs.db.test/src/org/eclipse/osee/orcs/db/intergration/PurgeAttributeTest.java
@@ -15,6 +15,7 @@ import static org.eclipse.osee.orcs.db.intergration.IntegrationUtil.integrationR
import java.util.LinkedList;
import java.util.List;
import org.eclipse.osee.framework.core.data.ArtifactId;
+import org.eclipse.osee.framework.core.data.AttributeId;
import org.eclipse.osee.framework.core.enums.CoreArtifactTokens;
import org.eclipse.osee.framework.core.enums.CoreAttributeTypes;
import org.eclipse.osee.framework.jdk.core.type.OseeStateException;
@@ -84,21 +85,13 @@ public class PurgeAttributeTest {
tx.createAttribute(CoreArtifactTokens.OseeAdmin, CoreAttributeTypes.Annotation, UNIQUE_ATTR_VALUE);
tx.commit();
- JdbcStatement stmt = jdbcClient.getStatement();
-
int prePurgeAttributeCount = getCount(jdbcClient, "osee_attribute");
- int preAttributeRows =
- getCount(jdbcClient, String.format("osee_attribute where value = '%s'", UNIQUE_ATTR_VALUE));
+ int preAttributeRows = getCount(jdbcClient, "osee_attribute where value = ?", UNIQUE_ATTR_VALUE);
- Assert.assertTrue(preAttributeRows == 3);
+ Assert.assertEquals(3, preAttributeRows);
int prePurgeTxsCount = getCount(jdbcClient, "osee_txs");
-
- stmt.runPreparedQuery(String.format("select attr_id from osee_attribute where value = '%s'", UNIQUE_ATTR_VALUE));
- List<Long> toPurge = new LinkedList<>();
- while (stmt.next()) {
- toPurge.add(stmt.getLong("attr_id"));
- }
+ List<AttributeId> toPurge = getAttributesToPurge(jdbcClient);
PurgeAttributesDatabaseTxCallable callable =
new PurgeAttributesDatabaseTxCallable(null, null, jdbcClient, sqlJoinFactory, toPurge, null);
@@ -116,13 +109,19 @@ public class PurgeAttributeTest {
Assert.assertTrue(postPurgeTxsCount < prePurgeTxsCount);
}
- private int getCount(JdbcClient jdbcClient, String table) {
- JdbcStatement stmt = jdbcClient.getStatement();
- int toReturn = -1;
- stmt.runPreparedQuery("select count(1) from " + table);
- while (stmt.next()) {
- toReturn = stmt.getInt(1);
+ private List<AttributeId> getAttributesToPurge(JdbcClient jdbcClient) {
+ List<AttributeId> toPurge = new LinkedList<>();
+ try (JdbcStatement stmt = jdbcClient.getStatement()) {
+ stmt.runPreparedQuery(
+ String.format("select attr_id from osee_attribute where value = '%s'", UNIQUE_ATTR_VALUE));
+ while (stmt.next()) {
+ toPurge.add(AttributeId.valueOf(stmt.getLong("attr_id")));
+ }
}
- return toReturn;
+ return toPurge;
+ }
+
+ private int getCount(JdbcClient jdbcClient, String table, Object... data) {
+ return jdbcClient.fetch(-1, "select count(1) from " + table, data);
}
}
diff --git a/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/callable/PurgeAttributesDatabaseTxCallable.java b/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/callable/PurgeAttributesDatabaseTxCallable.java
index 75b84103046..ff1958c3e08 100644
--- a/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/callable/PurgeAttributesDatabaseTxCallable.java
+++ b/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/callable/PurgeAttributesDatabaseTxCallable.java
@@ -12,6 +12,7 @@ package org.eclipse.osee.orcs.db.internal.callable;
import java.util.Collection;
import org.eclipse.osee.console.admin.Console;
+import org.eclipse.osee.framework.core.data.AttributeId;
import org.eclipse.osee.framework.jdk.core.type.OseeCoreException;
import org.eclipse.osee.jdbc.JdbcClient;
import org.eclipse.osee.jdbc.JdbcConnection;
@@ -27,10 +28,10 @@ public final class PurgeAttributesDatabaseTxCallable extends AbstractDatastoreTx
"select gamma_id from osee_attribute, osee_join_id where attr_id = id and query_id = ?";
private final SqlJoinFactory joinFactory;
- private final Collection<Long> idsToPurge;
+ private final Collection<AttributeId> idsToPurge;
private final Console console;
- public PurgeAttributesDatabaseTxCallable(Log logger, OrcsSession session, JdbcClient jdbcClient, SqlJoinFactory joinFactory, Collection<Long> idsToPurge, Console console) {
+ public PurgeAttributesDatabaseTxCallable(Log logger, OrcsSession session, JdbcClient jdbcClient, SqlJoinFactory joinFactory, Collection<AttributeId> idsToPurge, Console console) {
super(logger, session, jdbcClient);
this.joinFactory = joinFactory;
this.idsToPurge = idsToPurge;
@@ -40,14 +41,13 @@ public final class PurgeAttributesDatabaseTxCallable extends AbstractDatastoreTx
@Override
protected Void handleTxWork(JdbcConnection connection) throws OseeCoreException {
IdJoinQuery idJoin = joinFactory.createIdJoinQuery();
- JdbcStatement chStmt = getJdbcClient().getStatement(connection);
- try {
+ try (JdbcStatement chStmt = getJdbcClient().getStatement(connection)) {
OseePreparedStatement attrBatch =
getJdbcClient().getBatchStatement(connection, "delete from osee_attribute where attr_id = ?");
OseePreparedStatement txBatch =
getJdbcClient().getBatchStatement(connection, "delete from osee_txs where gamma_id = ?");
- for (Long id : idsToPurge) {
+ for (AttributeId id : idsToPurge) {
idJoin.add(id);
attrBatch.addToBatch(id);
}
@@ -68,7 +68,6 @@ public final class PurgeAttributesDatabaseTxCallable extends AbstractDatastoreTx
writeToConsole(deleted + " rows deleted.");
writeToConsole("Operation Finished");
} finally {
- chStmt.close();
idJoin.delete(connection);
}
return null;
@@ -79,5 +78,4 @@ public final class PurgeAttributesDatabaseTxCallable extends AbstractDatastoreTx
console.writeln(s);
}
}
-
-}
+} \ No newline at end of file
diff --git a/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/console/PurgeAttributeCommand.java b/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/console/PurgeAttributeCommand.java
index c55e5e2eaee..d517a62168e 100644
--- a/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/console/PurgeAttributeCommand.java
+++ b/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/console/PurgeAttributeCommand.java
@@ -15,6 +15,7 @@ import java.util.Set;
import java.util.concurrent.Callable;
import org.eclipse.osee.console.admin.Console;
import org.eclipse.osee.console.admin.ConsoleParameters;
+import org.eclipse.osee.framework.core.data.AttributeId;
import org.eclipse.osee.framework.jdk.core.util.Collections;
import org.eclipse.osee.jdbc.JdbcClient;
import org.eclipse.osee.orcs.db.internal.callable.PurgeAttributesDatabaseTxCallable;
@@ -49,9 +50,9 @@ public class PurgeAttributeCommand extends AbstractDatastoreConsoleCommand {
@Override
public Callable<Void> createCallable(final Console console, final ConsoleParameters params) {
String[] attrIds = params.getArray("attr_id");
- Set<Long> longIds = new HashSet<>();
+ Set<AttributeId> longIds = new HashSet<>();
for (String id : attrIds) {
- longIds.add(Long.parseLong(id));
+ longIds.add(AttributeId.valueOf(id));
}
boolean force = params.getBoolean("force");

Back to the top