Skip to content

Commit

Permalink
Finalised the new statement filter
Browse files Browse the repository at this point in the history
  • Loading branch information
leifeld committed May 10, 2023
1 parent 6a76202 commit 7ec21b6
Show file tree
Hide file tree
Showing 3 changed files with 298 additions and 159 deletions.
4 changes: 2 additions & 2 deletions dna/src/main/java/dna/Dna.java
Expand Up @@ -27,8 +27,8 @@ public class Dna {
public static Dna dna;
public static Logger logger;
public static Sql sql;
public static final String date = "2023-05-08";
public static final String version = "3.1.0.0";
public static final String date = "2023-05-10";
public static final String version = "3.1.0.1";
public static final String operatingSystem = System.getProperty("os.name");
public static File workingDirectory = null;
public MainWindow mainWindow;
Expand Down
18 changes: 13 additions & 5 deletions dna/src/main/java/gui/MainWindow.java
Expand Up @@ -1185,19 +1185,27 @@ protected List<TableStatement> doInBackground() {
q4castBoolean = "CAST(DATABOOLEAN.Value AS TEXT)";
q4castInteger = "CAST(DATAINTEGER.Value AS TEXT)";
}
String shortTextStatementIds = "";
String longTextStatementIds = "";
String integerStatementIds = "";
String booleanStatementIds = "";
if (statementIds.length > 0) {
stid = IntStream.of(statementIds)
.mapToObj(i -> ((Integer) i).toString()) // i is an int, not an Integer
.collect(Collectors.joining(", "))
.toString();
shortTextStatementIds = "WHERE DATASHORTTEXT.StatementId IN (" + stid + ") ";
longTextStatementIds = "WHERE DATALONGTEXT.StatementId IN (" + stid + ") ";
integerStatementIds = "WHERE DATAINTEGER.StatementId IN (" + stid + ") ";
booleanStatementIds = "WHERE DATABOOLEAN.StatementId IN (" + stid + ") ";
}
String q4 = "SELECT DATASHORTTEXT.StatementId, DATASHORTTEXT.RoleVariableLinkId, RoleId, RoleName, VARIABLES.ID AS VariableId, VARIABLES.Variable AS VariableName, VARIABLES.DataType, Value, ROLES.StatementTypeId FROM DATASHORTTEXT INNER JOIN ROLEVARIABLELINKS ON ROLEVARIABLELINKS.ID = DATASHORTTEXT.RoleVariableLinkId INNER JOIN VARIABLES ON VARIABLES.ID = ROLEVARIABLELINKS.VariableId INNER JOIN ENTITIES ON ENTITIES.VariableId = VARIABLES.ID AND ENTITIES.ID = DATASHORTTEXT.Entity INNER JOIN ROLES ON ROLES.ID = ROLEVARIABLELINKS.RoleId WHERE DATASHORTTEXT.StatementId IN (" + stid + ") " +
String q4 = "SELECT DATASHORTTEXT.StatementId, DATASHORTTEXT.RoleVariableLinkId, RoleId, RoleName, VARIABLES.ID AS VariableId, VARIABLES.Variable AS VariableName, VARIABLES.DataType, Value, ROLES.StatementTypeId FROM DATASHORTTEXT INNER JOIN ROLEVARIABLELINKS ON ROLEVARIABLELINKS.ID = DATASHORTTEXT.RoleVariableLinkId INNER JOIN VARIABLES ON VARIABLES.ID = ROLEVARIABLELINKS.VariableId INNER JOIN ENTITIES ON ENTITIES.VariableId = VARIABLES.ID AND ENTITIES.ID = DATASHORTTEXT.Entity INNER JOIN ROLES ON ROLES.ID = ROLEVARIABLELINKS.RoleId " + shortTextStatementIds +
"UNION " +
"SELECT DATALONGTEXT.StatementId, DATALONGTEXT.RoleVariableLinkId, RoleId, RoleName, VARIABLES.ID AS VariableId, VARIABLES.Variable AS VariableName, VARIABLES.DataType, Value, ROLES.StatementTypeId FROM DATALONGTEXT INNER JOIN ROLEVARIABLELINKS ON ROLEVARIABLELINKS.ID = DATALONGTEXT.RoleVariableLinkId INNER JOIN VARIABLES ON VARIABLES.ID = ROLEVARIABLELINKS.VariableId INNER JOIN ROLES ON ROLES.ID = ROLEVARIABLELINKS.RoleId WHERE DATALONGTEXT.StatementId IN (" + stid + ") " +
"SELECT DATALONGTEXT.StatementId, DATALONGTEXT.RoleVariableLinkId, RoleId, RoleName, VARIABLES.ID AS VariableId, VARIABLES.Variable AS VariableName, VARIABLES.DataType, Value, ROLES.StatementTypeId FROM DATALONGTEXT INNER JOIN ROLEVARIABLELINKS ON ROLEVARIABLELINKS.ID = DATALONGTEXT.RoleVariableLinkId INNER JOIN VARIABLES ON VARIABLES.ID = ROLEVARIABLELINKS.VariableId INNER JOIN ROLES ON ROLES.ID = ROLEVARIABLELINKS.RoleId " + longTextStatementIds +
"UNION " +
"SELECT DATAINTEGER.StatementId, DATAINTEGER.RoleVariableLinkId, RoleId, RoleName, VARIABLES.ID AS VariableId, VARIABLES.Variable AS VariableName, VARIABLES.DataType, " + q4castInteger + ", ROLES.StatementTypeId FROM DATAINTEGER INNER JOIN ROLEVARIABLELINKS ON ROLEVARIABLELINKS.ID = DATAINTEGER.RoleVariableLinkId INNER JOIN VARIABLES ON VARIABLES.ID = ROLEVARIABLELINKS.VariableId INNER JOIN ROLES ON ROLES.ID = ROLEVARIABLELINKS.RoleId WHERE DATAINTEGER.StatementId IN (" + stid + ") " +
"SELECT DATAINTEGER.StatementId, DATAINTEGER.RoleVariableLinkId, RoleId, RoleName, VARIABLES.ID AS VariableId, VARIABLES.Variable AS VariableName, VARIABLES.DataType, " + q4castInteger + ", ROLES.StatementTypeId FROM DATAINTEGER INNER JOIN ROLEVARIABLELINKS ON ROLEVARIABLELINKS.ID = DATAINTEGER.RoleVariableLinkId INNER JOIN VARIABLES ON VARIABLES.ID = ROLEVARIABLELINKS.VariableId INNER JOIN ROLES ON ROLES.ID = ROLEVARIABLELINKS.RoleId " + integerStatementIds +
"UNION " +
"SELECT DATABOOLEAN.StatementId, DATABOOLEAN.RoleVariableLinkId, RoleId, RoleName, VARIABLES.ID AS VariableId, VARIABLES.Variable AS VariableName, VARIABLES.DataType, " + q4castBoolean + ", ROLES.StatementTypeId FROM DATABOOLEAN INNER JOIN ROLEVARIABLELINKS ON ROLEVARIABLELINKS.ID = DATABOOLEAN.RoleVariableLinkId INNER JOIN VARIABLES ON VARIABLES.ID = ROLEVARIABLELINKS.VariableId INNER JOIN ROLES ON ROLES.ID = ROLEVARIABLELINKS.RoleId WHERE DATABOOLEAN.StatementId IN (" + stid + ");";
"SELECT DATABOOLEAN.StatementId, DATABOOLEAN.RoleVariableLinkId, RoleId, RoleName, VARIABLES.ID AS VariableId, VARIABLES.Variable AS VariableName, VARIABLES.DataType, " + q4castBoolean + ", ROLES.StatementTypeId FROM DATABOOLEAN INNER JOIN ROLEVARIABLELINKS ON ROLEVARIABLELINKS.ID = DATABOOLEAN.RoleVariableLinkId INNER JOIN VARIABLES ON VARIABLES.ID = ROLEVARIABLELINKS.VariableId INNER JOIN ROLES ON ROLES.ID = ROLEVARIABLELINKS.RoleId " + booleanStatementIds + ";";

int statementTypeId, statementId, variableId;
Color sColor, cColor;
Expand Down Expand Up @@ -1233,7 +1241,7 @@ protected List<TableStatement> doInBackground() {

r4 = s4.executeQuery();
while (r4.next()) {
statementMap.get(r4.getInt("StatementId")).getRoleValues().add(new RoleValue(r4.getInt("VariableId"), r4.getString("VariableName"), r4.getString("Value"), r4.getInt("RoleVariableLinkId"), r4.getInt("ID"), r4.getInt("RoleId"), r4.getString("RoleName"), r4.getInt("StatementTypeId")));
statementMap.get(r4.getInt("StatementId")).getRoleValues().add(new RoleValue(r4.getInt("VariableId"), r4.getString("VariableName"), r4.getString("DataType"), r4.getString("Value"), r4.getInt("RoleVariableLinkId"), r4.getInt("RoleId"), r4.getString("RoleName"), r4.getInt("StatementTypeId")));
}

// publish all statements
Expand Down

0 comments on commit 7ec21b6

Please sign in to comment.