diff --git a/repo/repo-sql-impl-test/src/test/java/com/evolveum/midpoint/repo/sql/QSqlMetamodelTest.java b/repo/repo-sql-impl-test/src/test/java/com/evolveum/midpoint/repo/sql/QSqlMetamodelTest.java deleted file mode 100644 index 5ba90f1524a..00000000000 --- a/repo/repo-sql-impl-test/src/test/java/com/evolveum/midpoint/repo/sql/QSqlMetamodelTest.java +++ /dev/null @@ -1,97 +0,0 @@ -/* - * Copyright (C) 2010-2020 Evolveum and contributors - * - * This work is dual-licensed under the Apache License 2.0 - * and European Union Public License. See LICENSE file for details. - */ -package com.evolveum.midpoint.repo.sql; - -import static com.querydsl.core.types.PathMetadataFactory.forVariable; -import static org.assertj.core.api.Assertions.assertThat; - -import java.sql.Types; - -import com.querydsl.core.types.Path; -import com.querydsl.core.types.dsl.NumberPath; -import com.querydsl.core.types.dsl.StringPath; -import com.querydsl.sql.*; -import org.testng.annotations.Test; - -import com.evolveum.midpoint.repo.sql.pure.FlexibleRelationalPathBase; -import com.evolveum.midpoint.repo.sql.pure.SqlTableMetamodel; -import com.evolveum.midpoint.tools.testng.AbstractUnitTest; - -/** - * Tests of Q-classes behavior and their support of extension columns. - * Q-classes have two different set of metadata: - * - * Both these models must be in sync. - *

- * For non-static metadata are mapped paired with {@link Path}, which normally designates property - * on the matching bean, but for dynamic extension attributes column name is used as property name. - * This is fine for SQLs not selecting the entity via single entity path but using the column paths. - */ -// TODO MID-6319 reconsider metamodel (now mapping) test related to extension columns -public class QSqlMetamodelTest extends AbstractUnitTest { - - // Demo entity, implemented without backing bean (has itself as type parameter) - private static class QTestEntity extends FlexibleRelationalPathBase { - - // two fixed columns, extensions will be added later - public static final ColumnMetadata ID = - ColumnMetadata.named("ID").ofType(Types.BIGINT).withSize(19).notNull(); - public static final ColumnMetadata NAME = - ColumnMetadata.named("NAME").ofType(Types.VARCHAR).withSize(255); - - // TODO consider where this metamodel should go and whether it should have all columns or just extensions (ExtensionColumns class) - // metamodel with pre-defined columns, shared for all instances of this Q-class - public static final SqlTableMetamodel METAMODEL = - new SqlTableMetamodel<>("TEST_TABLE", QTestEntity.class, ID, NAME); - - public final NumberPath id = addMetadata(createNumber("id", Long.class), ID); - public final StringPath name = addMetadata(createString("name"), NAME); - - public QTestEntity(String variable) { - super(QTestEntity.class, forVariable(variable), "SCHEMA", "TEST_TABLE"); - } - } - - @Test - public void test100EntityWithoutExtensions() { - when("default entity is created"); - QTestEntity te = new QTestEntity("te"); - - then("only predefined fields are in metamodels"); -// assertThat(te.getTableMetamodel().columnNames()).hasSize(2); - // internal metamodel mapping paths -> columns - assertThat(te.getColumns()).hasSize(2); - } - - @Test - public void test200EntityWithExtensionRegisteredBeforeEntityPathCreation() { - when("extension is registered and default entity is created afterwards"); - QTestEntity.METAMODEL.add(ColumnMetadata.named("EXT_INFO").ofType(Types.VARCHAR)); - QTestEntity te = new QTestEntity("te"); - - then("metamodels contain extension column in addition to the predefined ones"); -// assertThat(te.getTableMetamodel().columnNames()).hasSize(3); - assertThat(te.getColumns()).hasSize(3); - } - - @Test - public void test300() { - QTestEntity te = new QTestEntity("te"); - SQLQuery query = new SQLQueryFactory(SQLTemplates.DEFAULT, null) - .select(te.all()) - .from(te); - System.out.println("query = " + query); - - // TODO check it has three columns in FROM - query.getMetadata().getProjection(); - } -} diff --git a/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/pure/FlexibleRelationalPathBase.java b/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/pure/FlexibleRelationalPathBase.java index b9717d17f0c..e2caedfca21 100644 --- a/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/pure/FlexibleRelationalPathBase.java +++ b/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/pure/FlexibleRelationalPathBase.java @@ -1,10 +1,12 @@ package com.evolveum.midpoint.repo.sql.pure; +import java.sql.Blob; import java.time.Instant; import com.querydsl.core.types.PathMetadata; import com.querydsl.core.types.dsl.DateTimePath; import com.querydsl.core.types.dsl.NumberPath; +import com.querydsl.core.types.dsl.SimplePath; import com.querydsl.core.types.dsl.StringPath; import com.querydsl.sql.ColumnMetadata; import com.querydsl.sql.RelationalPathBase; @@ -83,4 +85,12 @@ protected DateTimePath createInstant( String property, ColumnMetadata columnMetadata) { return createDateTime(property, Instant.class, columnMetadata); } + + /** + * Creates BLOB path for a property and registers column metadata for it. + */ + protected SimplePath createBlob( + String property, ColumnMetadata columnMetadata) { + return addMetadata(createSimple(property, java.sql.Blob.class), columnMetadata); + } } diff --git a/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/pure/SqlGeneration.java b/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/pure/SqlGeneration.java index 684719d6a64..9be95909d25 100644 --- a/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/pure/SqlGeneration.java +++ b/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/pure/SqlGeneration.java @@ -2,8 +2,6 @@ import static com.querydsl.core.group.GroupBy.groupBy; -import static com.evolveum.midpoint.repo.sql.pure.querymodel.QAuditDelta.M_AUDIT_DELTA; - import java.sql.Connection; import java.sql.SQLException; import java.util.*; @@ -21,6 +19,7 @@ import org.jetbrains.annotations.Nullable; import com.evolveum.midpoint.repo.sql.pure.mapping.QAuditEventRecordMapping; +import com.evolveum.midpoint.repo.sql.pure.querymodel.QAuditDelta; import com.evolveum.midpoint.repo.sql.pure.querymodel.QAuditEventRecord; import com.evolveum.midpoint.repo.sql.pure.querymodel.beans.MAuditDelta; import com.evolveum.midpoint.repo.sql.pure.querymodel.beans.MAuditEventRecord; @@ -107,8 +106,9 @@ private static void examples() throws SQLException, QueryException { .from(aer) .fetchCount()); + QAuditDelta ad = new QAuditDelta("mad"); SQLQuery query = newQuery(conn) - .select(aer, M_AUDIT_DELTA) + .select(aer, ad) // .select(M_AUDIT_EVENT.id, M_AUDIT_DELTA.checksum) // .from(M_AUDIT_EVENT) // leftJoin if we want also events without deltas @@ -116,30 +116,30 @@ private static void examples() throws SQLException, QueryException { // alternatively: // .join(M_AUDIT_DELTA).on(M_AUDIT_DELTA.recordId.eq(M_AUDIT_EVENT.id)) // .orderBy(M_AUDIT_EVENT.id.asc()) - .from(aer, M_AUDIT_DELTA) - .where(aer.id.eq(M_AUDIT_DELTA.recordId)) // this replaces "join-on", but only inner + .from(aer, ad) + .where(aer.id.eq(ad.recordId)) // this replaces "join-on", but only inner .where(aer.id.eq(452L)); // "Works on my computer! :-)" List result = query.fetch(); System.out.println("result = " + result); System.out.println("\nsize: " + result.size()); - System.out.println("\ncount: " + query.transform(groupBy(aer.id).as(M_AUDIT_DELTA.count()))); - Map transform = query.transform(GroupBy.groupBy(aer.id).as(GroupBy.list(M_AUDIT_DELTA))); + System.out.println("\ncount: " + query.transform(groupBy(aer.id).as(ad.count()))); + Map transform = query.transform(GroupBy.groupBy(aer.id).as(GroupBy.list(ad))); System.out.println("transform = " + transform); // "manual" transformation of one-to-many to proper graph List plainResult = newQuery(conn) - .select(aer, M_AUDIT_DELTA) + .select(aer, ad) .from(aer) - .leftJoin(aer._auditDeltaFk, M_AUDIT_DELTA) + .leftJoin(aer._auditDeltaFk, ad) // alternatively: // .leftJoin(M_AUDIT_DELTA).on(M_AUDIT_DELTA.recordId.eq(M_AUDIT_EVENT.id)) // .orderBy(M_AUDIT_EVENT.id.asc()) .where(aer.id.eq(452L)) .fetch(); Map> resultMap = - mapOneToMany(plainResult, aer, M_AUDIT_DELTA, (o, m) -> o.addDelta(m)); + mapOneToMany(plainResult, aer, ad, (o, m) -> o.addDelta(m)); System.out.println("\nFinal result" + resultMap); System.out.println("deltas for 1st item: " + resultMap.keySet().iterator().next().deltas); diff --git a/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/pure/SqlTableMetamodel.java b/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/pure/SqlTableMetamodel.java deleted file mode 100644 index 6e1611eb995..00000000000 --- a/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/pure/SqlTableMetamodel.java +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Copyright (C) 2010-2020 Evolveum and contributors - * - * This work is dual-licensed under the Apache License 2.0 - * and European Union Public License. See LICENSE file for details. - */ -package com.evolveum.midpoint.repo.sql.pure; - -import java.util.*; - -import com.querydsl.sql.ColumnMetadata; -import com.querydsl.sql.RelationalPathBase; - -/** - * Describes metamodel for table columns and their relations to Prism type properties. - * Builder can be separated, but I don't think it's necessary for our usage. - */ -public class SqlTableMetamodel> { - - private final String tableName; - private final Class type; - - private Map columns = new LinkedHashMap<>(); - - /** - * Creates metamodel for the table described by designated type (Q-class). - * Allows registration of any number of columns - typically used for static properties - * (non-extensions). - */ - public SqlTableMetamodel(String tableName, Class type, ColumnMetadata... columns) { - this.tableName = tableName; - this.type = type; - for (ColumnMetadata column : columns) { - this.columns.put(column.getName(), column); - } - } - - /** - * Registers additional column metadata - typically used for extension columns. - */ - public SqlTableMetamodel add(ColumnMetadata column) { - columns.put(column.getName(), column); - return this; - } - - public Collection columnNames() { - return Collections.unmodifiableSet(columns.keySet()); - } - - public Set> columnMetadataEntries() { - return Collections.unmodifiableSet(columns.entrySet()); - } - - public ColumnMetadata getColumnMetadata(String name) { - return columns.get(name); - } -} diff --git a/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/pure/querymodel/QAuditDelta.java b/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/pure/querymodel/QAuditDelta.java index cd0e74589b4..329acf1d94e 100644 --- a/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/pure/querymodel/QAuditDelta.java +++ b/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/pure/querymodel/QAuditDelta.java @@ -10,8 +10,6 @@ import java.sql.Types; -import com.querydsl.core.types.Path; -import com.querydsl.core.types.PathMetadata; import com.querydsl.core.types.dsl.NumberPath; import com.querydsl.core.types.dsl.SimplePath; import com.querydsl.core.types.dsl.StringPath; @@ -21,74 +19,64 @@ import com.evolveum.midpoint.repo.sql.pure.FlexibleRelationalPathBase; import com.evolveum.midpoint.repo.sql.pure.querymodel.beans.MAuditDelta; -import com.evolveum.midpoint.repo.sql.pure.SqlTableMetamodel; +/** + * Querydsl query type for M_AUDIT_DELTA table. + */ +@SuppressWarnings("unused") public class QAuditDelta extends FlexibleRelationalPathBase { private static final long serialVersionUID = -231012375; - public static final SqlTableMetamodel METAMODEL = - new SqlTableMetamodel<>("M_AUDIT_DELTA", QAuditDelta.class); - - public static final QAuditDelta M_AUDIT_DELTA = new QAuditDelta("M_AUDIT_DELTA"); - - public static final ColumnMetadata CHECKSUM = ColumnMetadata.named("CHECKSUM") - .withIndex(1).ofType(Types.VARCHAR).withSize(32).notNull(); + public static final String TABLE_NAME = "M_AUDIT_DELTA"; + + public static final ColumnMetadata CHECKSUM = + ColumnMetadata.named("CHECKSUM").ofType(Types.VARCHAR).withSize(32).notNull(); + public static final ColumnMetadata DELTA = + ColumnMetadata.named("DELTA").ofType(Types.BLOB).withSize(2147483647); + public static final ColumnMetadata DELTA_OID = + ColumnMetadata.named("DELTAOID").ofType(Types.VARCHAR).withSize(36); + public static final ColumnMetadata DELTA_TYPE = + ColumnMetadata.named("DELTATYPE").ofType(Types.INTEGER).withSize(10); + public static final ColumnMetadata FULL_RESULT = + ColumnMetadata.named("FULLRESULT").ofType(Types.BLOB).withSize(2147483647); + public static final ColumnMetadata OBJECT_NAME_NORM = + ColumnMetadata.named("OBJECTNAME_NORM").ofType(Types.VARCHAR).withSize(255); + public static final ColumnMetadata OBJECT_NAME_ORIG = + ColumnMetadata.named("OBJECTNAME_ORIG").ofType(Types.VARCHAR).withSize(255); + public static final ColumnMetadata RECORD_ID = + ColumnMetadata.named("RECORD_ID").ofType(Types.BIGINT).withSize(19).notNull(); + public static final ColumnMetadata RESOURCE_NAME_NORM = + ColumnMetadata.named("RESOURCENAME_NORM").ofType(Types.VARCHAR).withSize(255); + public static final ColumnMetadata RESOURCE_NAME_ORIG = + ColumnMetadata.named("RESOURCENAME_ORIG").ofType(Types.VARCHAR).withSize(255); + public static final ColumnMetadata RESOURCE_OID = + ColumnMetadata.named("RESOURCEOID").ofType(Types.VARCHAR).withSize(36); + public static final ColumnMetadata STATUS = + ColumnMetadata.named("STATUS").ofType(Types.INTEGER).withSize(10); // columns and relations - public final StringPath checksum = createString("checksum"); - public final SimplePath delta = createSimple("delta", java.sql.Blob.class); - public final StringPath deltaoid = createString("deltaoid"); - public final NumberPath deltatype = createNumber("deltatype", Integer.class); - public final SimplePath fullresult = createSimple("fullresult", java.sql.Blob.class); - public final StringPath objectnameNorm = createString("objectnameNorm"); - public final StringPath objectnameOrig = createString("objectnameOrig"); - public final NumberPath recordId = createNumber("recordId", Long.class); - public final StringPath resourcenameNorm = createString("resourcenameNorm"); - public final StringPath resourcenameOrig = createString("resourcenameOrig"); - public final StringPath resourceoid = createString("resourceoid"); - public final NumberPath status = createNumber("status", Integer.class); + public final StringPath checksum = createString("checksum", CHECKSUM); + public final SimplePath delta = createBlob("delta", DELTA); + public final StringPath deltaOid = createString("deltaOid", DELTA_OID); + public final NumberPath deltaType = createInteger("deltaType", DELTA_TYPE); + public final SimplePath fullResult = createBlob("fullResult", FULL_RESULT); + public final StringPath objectNameNorm = createString("objectNameNorm", OBJECT_NAME_NORM); + public final StringPath objectNameOrig = createString("objectNameOrig", OBJECT_NAME_ORIG); + public final NumberPath recordId = createLong("recordId", RECORD_ID); + public final StringPath resourceNameNorm = createString("resourceNameNorm", RESOURCE_NAME_NORM); + public final StringPath resourceNameOrig = createString("resourceNameOrig", RESOURCE_NAME_ORIG); + public final StringPath resourceOid = createString("resourceOid", RESOURCE_OID); + public final NumberPath status = createInteger("status", STATUS); public final PrimaryKey constraint85 = createPrimaryKey(checksum, recordId); public final ForeignKey auditDeltaFk = createForeignKey(recordId, "ID"); public QAuditDelta(String variable) { - super(MAuditDelta.class, forVariable(variable), "PUBLIC", "M_AUDIT_DELTA"); - addMetadata(); + this(variable, "PUBLIC", TABLE_NAME); } public QAuditDelta(String variable, String schema, String table) { super(MAuditDelta.class, forVariable(variable), schema, table); - addMetadata(); - } - - public QAuditDelta(String variable, String schema) { - super(MAuditDelta.class, forVariable(variable), schema, "M_AUDIT_DELTA"); - addMetadata(); - } - - public QAuditDelta(Path path) { - super(path.getType(), path.getMetadata(), "PUBLIC", "M_AUDIT_DELTA"); - addMetadata(); - } - - public QAuditDelta(PathMetadata metadata) { - super(MAuditDelta.class, metadata, "PUBLIC", "M_AUDIT_DELTA"); - addMetadata(); - } - - public void addMetadata() { - addMetadata(checksum, CHECKSUM); - addMetadata(delta, ColumnMetadata.named("DELTA").withIndex(3).ofType(Types.BLOB).withSize(2147483647)); - addMetadata(deltaoid, ColumnMetadata.named("DELTAOID").withIndex(4).ofType(Types.VARCHAR).withSize(36)); - addMetadata(deltatype, ColumnMetadata.named("DELTATYPE").withIndex(5).ofType(Types.INTEGER).withSize(10)); - addMetadata(fullresult, ColumnMetadata.named("FULLRESULT").withIndex(6).ofType(Types.BLOB).withSize(2147483647)); - addMetadata(objectnameNorm, ColumnMetadata.named("OBJECTNAME_NORM").withIndex(7).ofType(Types.VARCHAR).withSize(255)); - addMetadata(objectnameOrig, ColumnMetadata.named("OBJECTNAME_ORIG").withIndex(8).ofType(Types.VARCHAR).withSize(255)); - addMetadata(recordId, ColumnMetadata.named("RECORD_ID").withIndex(2).ofType(Types.BIGINT).withSize(19).notNull()); - addMetadata(resourcenameNorm, ColumnMetadata.named("RESOURCENAME_NORM").withIndex(9).ofType(Types.VARCHAR).withSize(255)); - addMetadata(resourcenameOrig, ColumnMetadata.named("RESOURCENAME_ORIG").withIndex(10).ofType(Types.VARCHAR).withSize(255)); - addMetadata(resourceoid, ColumnMetadata.named("RESOURCEOID").withIndex(11).ofType(Types.VARCHAR).withSize(36)); - addMetadata(status, ColumnMetadata.named("STATUS").withIndex(12).ofType(Types.INTEGER).withSize(10)); } } diff --git a/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/pure/querymodel/QAuditEventRecord.java b/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/pure/querymodel/QAuditEventRecord.java index 45f405cc523..2c0e87c505c 100644 --- a/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/pure/querymodel/QAuditEventRecord.java +++ b/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/pure/querymodel/QAuditEventRecord.java @@ -125,11 +125,11 @@ public class QAuditEventRecord extends FlexibleRelationalPathBase timestamp = createInstant("timestamp", TIMESTAMP); public final PrimaryKey constraint85c = createPrimaryKey(id); - public final ForeignKey _auditItemFk = createInvForeignKey(id, "RECORD_ID"); + public final ForeignKey _auditItemFk = createInvForeignKey(id, "RECORD_ID"); public final ForeignKey _auditPropValueFk = createInvForeignKey(id, "RECORD_ID"); public final ForeignKey _auditDeltaFk = createInvForeignKey(id, "RECORD_ID"); - public final ForeignKey _auditRefValueFk = createInvForeignKey(id, "RECORD_ID"); - public final ForeignKey _auditResourceFk = createInvForeignKey(id, "RECORD_ID"); + public final ForeignKey _auditRefValueFk = createInvForeignKey(id, "RECORD_ID"); + public final ForeignKey _auditResourceFk = createInvForeignKey(id, "RECORD_ID"); public QAuditEventRecord(String variable) { this(variable, "PUBLIC", TABLE_NAME); diff --git a/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/pure/querymodel/QAuditItem.java b/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/pure/querymodel/QAuditItem.java new file mode 100644 index 00000000000..e9b0e8b55ce --- /dev/null +++ b/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/pure/querymodel/QAuditItem.java @@ -0,0 +1,49 @@ +/* + * Copyright (C) 2010-2020 Evolveum and contributors + * + * This work is dual-licensed under the Apache License 2.0 + * and European Union Public License. See LICENSE file for details. + */ +package com.evolveum.midpoint.repo.sql.pure.querymodel; + +import static com.querydsl.core.types.PathMetadataFactory.forVariable; + +import java.sql.Types; + +import com.querydsl.core.types.dsl.NumberPath; +import com.querydsl.core.types.dsl.StringPath; +import com.querydsl.sql.ColumnMetadata; +import com.querydsl.sql.ForeignKey; +import com.querydsl.sql.PrimaryKey; + +import com.evolveum.midpoint.repo.sql.pure.FlexibleRelationalPathBase; + +/** + * Querydsl query type for M_AUDIT_ITEM table. + */ +@SuppressWarnings("unused") +public class QAuditItem extends FlexibleRelationalPathBase { + + private static final long serialVersionUID = -838572862; + + public static final String TABLE_NAME = "M_AUDIT_ITEM"; + + public static final ColumnMetadata CHANGED_ITEM_PATH = + ColumnMetadata.named("CHANGEDITEMPATH").ofType(Types.VARCHAR).withSize(255).notNull(); + public static final ColumnMetadata RECORD_ID = + ColumnMetadata.named("RECORD_ID").ofType(Types.BIGINT).withSize(19).notNull(); + + public final NumberPath recordId = createLong("recordId", RECORD_ID); + public final StringPath changedItemPath = createString("changedItemPath", CHANGED_ITEM_PATH); + + public final PrimaryKey constraint1 = createPrimaryKey(changedItemPath, recordId); + public final ForeignKey auditItemFk = createForeignKey(recordId, "ID"); + + public QAuditItem(String variable) { + this(variable, "PUBLIC", TABLE_NAME); + } + + public QAuditItem(String variable, String schema, String table) { + super(QAuditItem.class, forVariable(variable), schema, table); + } +} diff --git a/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/pure/querymodel/QAuditPropertyValue.java b/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/pure/querymodel/QAuditPropertyValue.java index 5becfd3f95b..6c85fff4471 100644 --- a/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/pure/querymodel/QAuditPropertyValue.java +++ b/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/pure/querymodel/QAuditPropertyValue.java @@ -22,6 +22,7 @@ /** * Querydsl query type for M_AUDIT_PROP_VALUE table. */ +@SuppressWarnings("unused") public class QAuditPropertyValue extends FlexibleRelationalPathBase { private static final long serialVersionUID = -1656131713; diff --git a/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/pure/querymodel/QAuditRefValue.java b/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/pure/querymodel/QAuditRefValue.java new file mode 100644 index 00000000000..a587bcc3ffc --- /dev/null +++ b/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/pure/querymodel/QAuditRefValue.java @@ -0,0 +1,64 @@ +/* + * Copyright (C) 2010-2020 Evolveum and contributors + * + * This work is dual-licensed under the Apache License 2.0 + * and European Union Public License. See LICENSE file for details. + */ +package com.evolveum.midpoint.repo.sql.pure.querymodel; + +import static com.querydsl.core.types.PathMetadataFactory.forVariable; + +import java.sql.Types; + +import com.querydsl.core.types.dsl.NumberPath; +import com.querydsl.core.types.dsl.StringPath; +import com.querydsl.sql.ColumnMetadata; +import com.querydsl.sql.ForeignKey; +import com.querydsl.sql.PrimaryKey; + +import com.evolveum.midpoint.repo.sql.pure.FlexibleRelationalPathBase; + +/** + * Querydsl query type for M_AUDIT_REF_VALUE table. + */ +@SuppressWarnings("unused") +public class QAuditRefValue extends FlexibleRelationalPathBase { + + private static final long serialVersionUID = 1173079757; + + public static final String TABLE_NAME = "M_AUDIT_REF_VALUE"; + + public static final ColumnMetadata ID = + ColumnMetadata.named("ID").ofType(Types.BIGINT).withSize(19).notNull(); + public static final ColumnMetadata NAME = + ColumnMetadata.named("NAME").ofType(Types.VARCHAR).withSize(255); + public static final ColumnMetadata OID = + ColumnMetadata.named("OID").ofType(Types.VARCHAR).withSize(36); + public static final ColumnMetadata RECORD_ID = + ColumnMetadata.named("RECORD_ID").ofType(Types.BIGINT).withSize(19); + public static final ColumnMetadata TARGET_NAME_NORM = + ColumnMetadata.named("TARGETNAME_NORM").ofType(Types.VARCHAR).withSize(255); + public static final ColumnMetadata TARGET_NAME_ORIG = + ColumnMetadata.named("TARGETNAME_ORIG").ofType(Types.VARCHAR).withSize(255); + public static final ColumnMetadata TYPE = + ColumnMetadata.named("TYPE").ofType(Types.VARCHAR).withSize(255); + + public final NumberPath id = createLong("id", ID); + public final StringPath name = createString("name", NAME); + public final StringPath oid = createString("oid", OID); + public final NumberPath recordId = createLong("recordId", RECORD_ID); + public final StringPath targetNameNorm = createString("targetNameNorm", TARGET_NAME_NORM); + public final StringPath targetNameOrig = createString("targetNameOrig", TARGET_NAME_ORIG); + public final StringPath type = createString("type", TYPE); + + public final PrimaryKey constraint7 = createPrimaryKey(id); + public final ForeignKey auditRefValueFk = createForeignKey(recordId, "ID"); + + public QAuditRefValue(String variable) { + this(variable, "PUBLIC", TABLE_NAME); + } + + public QAuditRefValue(String variable, String schema, String table) { + super(QAuditRefValue.class, forVariable(variable), schema, table); + } +} diff --git a/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/pure/querymodel/QAuditResource.java b/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/pure/querymodel/QAuditResource.java new file mode 100644 index 00000000000..08b7c2d6c91 --- /dev/null +++ b/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/pure/querymodel/QAuditResource.java @@ -0,0 +1,49 @@ +/* + * Copyright (C) 2010-2020 Evolveum and contributors + * + * This work is dual-licensed under the Apache License 2.0 + * and European Union Public License. See LICENSE file for details. + */ +package com.evolveum.midpoint.repo.sql.pure.querymodel; + +import static com.querydsl.core.types.PathMetadataFactory.forVariable; + +import java.sql.Types; + +import com.querydsl.core.types.dsl.NumberPath; +import com.querydsl.core.types.dsl.StringPath; +import com.querydsl.sql.ColumnMetadata; +import com.querydsl.sql.ForeignKey; +import com.querydsl.sql.PrimaryKey; + +import com.evolveum.midpoint.repo.sql.pure.FlexibleRelationalPathBase; + +/** + * Querydsl query type for M_AUDIT_RESOURCE table. + */ +@SuppressWarnings("unused") +public class QAuditResource extends FlexibleRelationalPathBase { + + private static final long serialVersionUID = 1568947773; + + public static final String TABLE_NAME = "M_AUDIT_RESOURCE"; + + public static final ColumnMetadata RECORD_ID = + ColumnMetadata.named("RECORD_ID").ofType(Types.BIGINT).withSize(19).notNull(); + public static final ColumnMetadata RESOURCE_OID = + ColumnMetadata.named("RESOURCEOID").ofType(Types.VARCHAR).withSize(255).notNull(); + + public final NumberPath recordId = createLong("recordId", RECORD_ID); + public final StringPath resourceOid = createString("resourceOid", RESOURCE_OID); + + public final PrimaryKey constraint84 = createPrimaryKey(recordId, resourceOid); + public final ForeignKey auditResourceFk = createForeignKey(recordId, "ID"); + + public QAuditResource(String variable) { + this(variable, "PUBLIC", TABLE_NAME); + } + + public QAuditResource(String variable, String schema, String table) { + super(QAuditResource.class, forVariable(variable), schema, table); + } +} diff --git a/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/pure/querymodel/QMAuditItem.java b/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/pure/querymodel/QMAuditItem.java deleted file mode 100644 index 4ba919fb8bf..00000000000 --- a/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/pure/querymodel/QMAuditItem.java +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Copyright (C) 2010-2020 Evolveum and contributors - * - * This work is dual-licensed under the Apache License 2.0 - * and European Union Public License. See LICENSE file for details. - */ -package com.evolveum.midpoint.repo.sql.pure.querymodel; - -import static com.querydsl.core.types.PathMetadataFactory.*; - -import com.querydsl.core.types.dsl.*; - -import com.querydsl.core.types.PathMetadata; -import javax.annotation.Generated; -import com.querydsl.core.types.Path; - -import com.querydsl.sql.ColumnMetadata; -import java.sql.Types; - - - - -/** - * QMAuditItem is a Querydsl query type for QMAuditItem - */ -@Generated("com.querydsl.sql.codegen.MetaDataSerializer") -public class QMAuditItem extends com.querydsl.sql.RelationalPathBase { - - private static final long serialVersionUID = -838572862; - - public static final QMAuditItem mAuditItem = new QMAuditItem("M_AUDIT_ITEM"); - - public final StringPath changeditempath = createString("changeditempath"); - - public final NumberPath recordId = createNumber("recordId", Long.class); - - public final com.querydsl.sql.PrimaryKey constraint1 = createPrimaryKey(changeditempath, recordId); - - public final com.querydsl.sql.ForeignKey auditItemFk = createForeignKey(recordId, "ID"); - - public QMAuditItem(String variable) { - super(QMAuditItem.class, forVariable(variable), "PUBLIC", "M_AUDIT_ITEM"); - addMetadata(); - } - - public QMAuditItem(String variable, String schema, String table) { - super(QMAuditItem.class, forVariable(variable), schema, table); - addMetadata(); - } - - public QMAuditItem(String variable, String schema) { - super(QMAuditItem.class, forVariable(variable), schema, "M_AUDIT_ITEM"); - addMetadata(); - } - - public QMAuditItem(Path path) { - super(path.getType(), path.getMetadata(), "PUBLIC", "M_AUDIT_ITEM"); - addMetadata(); - } - - public QMAuditItem(PathMetadata metadata) { - super(QMAuditItem.class, metadata, "PUBLIC", "M_AUDIT_ITEM"); - addMetadata(); - } - - public void addMetadata() { - addMetadata(changeditempath, ColumnMetadata.named("CHANGEDITEMPATH").withIndex(1).ofType(Types.VARCHAR).withSize(255).notNull()); - addMetadata(recordId, ColumnMetadata.named("RECORD_ID").withIndex(2).ofType(Types.BIGINT).withSize(19).notNull()); - } - -} - diff --git a/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/pure/querymodel/QMAuditRefValue.java b/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/pure/querymodel/QMAuditRefValue.java deleted file mode 100644 index 1edb4be4c0f..00000000000 --- a/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/pure/querymodel/QMAuditRefValue.java +++ /dev/null @@ -1,87 +0,0 @@ -/* - * Copyright (C) 2010-2020 Evolveum and contributors - * - * This work is dual-licensed under the Apache License 2.0 - * and European Union Public License. See LICENSE file for details. - */ -package com.evolveum.midpoint.repo.sql.pure.querymodel; - -import static com.querydsl.core.types.PathMetadataFactory.*; - -import com.querydsl.core.types.dsl.*; - -import com.querydsl.core.types.PathMetadata; -import javax.annotation.Generated; -import com.querydsl.core.types.Path; - -import com.querydsl.sql.ColumnMetadata; -import java.sql.Types; - - - - -/** - * QMAuditRefValue is a Querydsl query type for QMAuditRefValue - */ -@Generated("com.querydsl.sql.codegen.MetaDataSerializer") -public class QMAuditRefValue extends com.querydsl.sql.RelationalPathBase { - - private static final long serialVersionUID = 1173079757; - - public static final QMAuditRefValue mAuditRefValue = new QMAuditRefValue("M_AUDIT_REF_VALUE"); - - public final NumberPath id = createNumber("id", Long.class); - - public final StringPath name = createString("name"); - - public final StringPath oid = createString("oid"); - - public final NumberPath recordId = createNumber("recordId", Long.class); - - public final StringPath targetnameNorm = createString("targetnameNorm"); - - public final StringPath targetnameOrig = createString("targetnameOrig"); - - public final StringPath type = createString("type"); - - public final com.querydsl.sql.PrimaryKey constraint7 = createPrimaryKey(id); - - public final com.querydsl.sql.ForeignKey auditRefValueFk = createForeignKey(recordId, "ID"); - - public QMAuditRefValue(String variable) { - super(QMAuditRefValue.class, forVariable(variable), "PUBLIC", "M_AUDIT_REF_VALUE"); - addMetadata(); - } - - public QMAuditRefValue(String variable, String schema, String table) { - super(QMAuditRefValue.class, forVariable(variable), schema, table); - addMetadata(); - } - - public QMAuditRefValue(String variable, String schema) { - super(QMAuditRefValue.class, forVariable(variable), schema, "M_AUDIT_REF_VALUE"); - addMetadata(); - } - - public QMAuditRefValue(Path path) { - super(path.getType(), path.getMetadata(), "PUBLIC", "M_AUDIT_REF_VALUE"); - addMetadata(); - } - - public QMAuditRefValue(PathMetadata metadata) { - super(QMAuditRefValue.class, metadata, "PUBLIC", "M_AUDIT_REF_VALUE"); - addMetadata(); - } - - public void addMetadata() { - addMetadata(id, ColumnMetadata.named("ID").withIndex(1).ofType(Types.BIGINT).withSize(19).notNull()); - addMetadata(name, ColumnMetadata.named("NAME").withIndex(2).ofType(Types.VARCHAR).withSize(255)); - addMetadata(oid, ColumnMetadata.named("OID").withIndex(3).ofType(Types.VARCHAR).withSize(36)); - addMetadata(recordId, ColumnMetadata.named("RECORD_ID").withIndex(4).ofType(Types.BIGINT).withSize(19)); - addMetadata(targetnameNorm, ColumnMetadata.named("TARGETNAME_NORM").withIndex(5).ofType(Types.VARCHAR).withSize(255)); - addMetadata(targetnameOrig, ColumnMetadata.named("TARGETNAME_ORIG").withIndex(6).ofType(Types.VARCHAR).withSize(255)); - addMetadata(type, ColumnMetadata.named("TYPE").withIndex(7).ofType(Types.VARCHAR).withSize(255)); - } - -} - diff --git a/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/pure/querymodel/QMAuditResource.java b/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/pure/querymodel/QMAuditResource.java deleted file mode 100644 index b9d123934b0..00000000000 --- a/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/pure/querymodel/QMAuditResource.java +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Copyright (C) 2010-2020 Evolveum and contributors - * - * This work is dual-licensed under the Apache License 2.0 - * and European Union Public License. See LICENSE file for details. - */ -package com.evolveum.midpoint.repo.sql.pure.querymodel; - -import static com.querydsl.core.types.PathMetadataFactory.*; - -import com.querydsl.core.types.dsl.*; - -import com.querydsl.core.types.PathMetadata; -import javax.annotation.Generated; -import com.querydsl.core.types.Path; - -import com.querydsl.sql.ColumnMetadata; -import java.sql.Types; - - - - -/** - * QMAuditResource is a Querydsl query type for QMAuditResource - */ -@Generated("com.querydsl.sql.codegen.MetaDataSerializer") -public class QMAuditResource extends com.querydsl.sql.RelationalPathBase { - - private static final long serialVersionUID = 1568947773; - - public static final QMAuditResource mAuditResource = new QMAuditResource("M_AUDIT_RESOURCE"); - - public final NumberPath recordId = createNumber("recordId", Long.class); - - public final StringPath resourceoid = createString("resourceoid"); - - public final com.querydsl.sql.PrimaryKey constraint84 = createPrimaryKey(recordId, resourceoid); - - public final com.querydsl.sql.ForeignKey auditResourceFk = createForeignKey(recordId, "ID"); - - public QMAuditResource(String variable) { - super(QMAuditResource.class, forVariable(variable), "PUBLIC", "M_AUDIT_RESOURCE"); - addMetadata(); - } - - public QMAuditResource(String variable, String schema, String table) { - super(QMAuditResource.class, forVariable(variable), schema, table); - addMetadata(); - } - - public QMAuditResource(String variable, String schema) { - super(QMAuditResource.class, forVariable(variable), schema, "M_AUDIT_RESOURCE"); - addMetadata(); - } - - public QMAuditResource(Path path) { - super(path.getType(), path.getMetadata(), "PUBLIC", "M_AUDIT_RESOURCE"); - addMetadata(); - } - - public QMAuditResource(PathMetadata metadata) { - super(QMAuditResource.class, metadata, "PUBLIC", "M_AUDIT_RESOURCE"); - addMetadata(); - } - - public void addMetadata() { - addMetadata(recordId, ColumnMetadata.named("RECORD_ID").withIndex(1).ofType(Types.BIGINT).withSize(19).notNull()); - addMetadata(resourceoid, ColumnMetadata.named("RESOURCEOID").withIndex(2).ofType(Types.VARCHAR).withSize(255).notNull()); - } - -} -