diff --git a/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/query/QueryDefinitionRegistry.java b/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/query/QueryDefinitionRegistry.java index 9f152002556..004bcf1fe46 100644 --- a/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/query/QueryDefinitionRegistry.java +++ b/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/query/QueryDefinitionRegistry.java @@ -87,7 +87,7 @@ public final class QueryDefinitionRegistry implements DebugDumpable { Visitor resolutionVisitor = visitable -> { if (visitable instanceof JpaEntityDefinition) { JpaEntityDefinition entityDef = ((JpaEntityDefinition) visitable); - Class superclass = entityDef.getJpaClass().getSuperclass(); + Class superclass = entityDef.getJpaClass().getSuperclass(); if (superclass == null || !RObject.class.isAssignableFrom(superclass)) { return; } @@ -99,7 +99,7 @@ public final class QueryDefinitionRegistry implements DebugDumpable { } else if (visitable instanceof JpaEntityPointerDefinition) { JpaEntityPointerDefinition entPtrDef = ((JpaEntityPointerDefinition) visitable); if (!entPtrDef.isResolved()) { - Class referencedEntityJpaClass = entPtrDef.getJpaClass(); + Class referencedEntityJpaClass = entPtrDef.getJpaClass(); JpaEntityDefinition realEntDef = definitionsByClass.get(referencedEntityJpaClass); if (realEntDef == null) { throw new IllegalStateException("Couldn't find entity definition for " + referencedEntityJpaClass); diff --git a/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/query/definition/JpaDataNodeDefinition.java b/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/query/definition/JpaDataNodeDefinition.java index b13bc81c7f2..12f05f99356 100644 --- a/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/query/definition/JpaDataNodeDefinition.java +++ b/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/query/definition/JpaDataNodeDefinition.java @@ -14,7 +14,6 @@ import com.evolveum.midpoint.prism.PrismContext; import com.evolveum.midpoint.prism.Visitable; import com.evolveum.midpoint.prism.path.ItemPath; -import com.evolveum.midpoint.repo.sql.data.common.RObject; import com.evolveum.midpoint.repo.sql.query.QueryException; import com.evolveum.midpoint.repo.sql.query.resolution.DataSearchResult; import com.evolveum.midpoint.util.DebugDumpable; @@ -50,21 +49,22 @@ public abstract class JpaDataNodeDefinition> /** * JPA class - either "composite" (RObject, RUser, RAssignment, ...) or "primitive" (String, Integer, int, ...) */ - @NotNull private final Class jpaClass; + @NotNull private final Class jpaClass; /** - * JAXB class - either "composite" (ObjectType, UserType, AssignmentType, ...) or "primitive" (String, Integer, int, ...) + * JAXB class - either "composite" (ObjectType, UserType, AssignmentType, ...) + * or "primitive" (String, Integer, int, ...). * Null if not known. */ @Nullable private final Class jaxbClass; - public JpaDataNodeDefinition(@NotNull Class jpaClass, @Nullable Class jaxbClass) { + public JpaDataNodeDefinition(@NotNull Class jpaClass, @Nullable Class jaxbClass) { this.jpaClass = jpaClass; this.jaxbClass = jaxbClass; } @NotNull - public Class getJpaClass() { + public Class getJpaClass() { return jpaClass; } diff --git a/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/query/hqm/HibernateQuery.java b/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/query/hqm/HibernateQuery.java index 096b3f2547e..01d465d777e 100644 --- a/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/query/hqm/HibernateQuery.java +++ b/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/query/hqm/HibernateQuery.java @@ -7,6 +7,12 @@ package com.evolveum.midpoint.repo.sql.query.hqm; +import java.util.ArrayList; +import java.util.List; + +import org.apache.commons.lang.Validate; +import org.jetbrains.annotations.NotNull; + import com.evolveum.midpoint.prism.query.OrderDirection; import com.evolveum.midpoint.repo.sql.data.common.RObject; import com.evolveum.midpoint.repo.sql.query.QueryException; @@ -14,11 +20,6 @@ import com.evolveum.midpoint.repo.sql.query.definition.JpaLinkDefinition; import com.evolveum.midpoint.repo.sql.query.hqm.condition.Condition; import com.evolveum.midpoint.repo.sql.util.ClassMapper; -import org.apache.commons.lang.Validate; -import org.jetbrains.annotations.NotNull; - -import java.util.ArrayList; -import java.util.List; /** * Query in HQL that is being created. @@ -35,11 +36,11 @@ public abstract class HibernateQuery { /** * Primary entity for this query, along with joined entities. * For example, - * RUser u + * RUser u * Or, - * RUser u - * left join u.assignments a with ... - * + * RUser u + * left join u.assignments a with ... + *

* (originally, we thought about cross-joins with other entities, hence "primary entity") */ private EntityReference primaryEntity; // not null @@ -70,7 +71,6 @@ public OrderDirection getDirection() { private List orderingList = new ArrayList<>(); - public static class Grouping { @NotNull private final String byProperty; @@ -86,7 +86,6 @@ public String getByProperty() { private List groupingList = new ArrayList<>(); - public HibernateQuery(@NotNull JpaEntityDefinition primaryEntityDef) { primaryEntity = createItemSpecification(primaryEntityDef); } @@ -146,7 +145,7 @@ public String getAsHqlText(int indent, boolean distinct) { sb.append("\n"); indent(sb, indent); sb.append("where\n"); - Condition.dumpToHql(sb, conditions, indent+1); + Condition.dumpToHql(sb, conditions, indent + 1); } if (!orderingList.isEmpty()) { sb.append("\n"); @@ -162,9 +161,14 @@ public String getAsHqlText(int indent, boolean distinct) { sb.append(ordering.byProperty); if (ordering.direction != null) { switch (ordering.direction) { - case DESCENDING: sb.append(" desc"); break; - case ASCENDING: sb.append(" asc"); break; - default: throw new IllegalStateException("Unknown ordering: " + ordering.direction); + case DESCENDING: + sb.append(" desc"); + break; + case ASCENDING: + sb.append(" asc"); + break; + default: + throw new IllegalStateException("Unknown ordering: " + ordering.direction); } } } @@ -264,14 +268,13 @@ public List getGroupingList() { return groupingList; } - public abstract RootHibernateQuery getRootQuery(); // used to narrow the primary entity e.g. from RObject to RUser (e.g. during ItemValueRestriction processing) public void narrowPrimaryEntity(JpaEntityDefinition newDefinition) throws QueryException { String oldEntityName = getPrimaryEntity().getName(); Class oldEntityClass = ClassMapper.getHqlClassForHqlName(oldEntityName); - Class newEntityClass = newDefinition.getJpaClass(); + Class newEntityClass = newDefinition.getJpaClass(); if (!(oldEntityClass.isAssignableFrom(newEntityClass))) { throw new QueryException("Cannot narrow primary entity definition from " + oldEntityClass + " to " + newEntityClass); } diff --git a/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/query/restriction/PropertyRestriction.java b/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/query/restriction/PropertyRestriction.java index 62d2bd9eaa6..d7478e1995a 100644 --- a/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/query/restriction/PropertyRestriction.java +++ b/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/query/restriction/PropertyRestriction.java @@ -7,31 +7,32 @@ package com.evolveum.midpoint.repo.sql.query.restriction; +import javax.xml.namespace.QName; + +import org.apache.commons.lang.ClassUtils; +import org.apache.commons.lang.Validate; + import com.evolveum.midpoint.prism.polystring.PolyString; import com.evolveum.midpoint.prism.query.ComparativeFilter; import com.evolveum.midpoint.prism.query.EqualFilter; import com.evolveum.midpoint.prism.query.PropertyValueFilter; import com.evolveum.midpoint.prism.query.ValueFilter; import com.evolveum.midpoint.repo.sql.data.common.enums.SchemaEnum; -import com.evolveum.midpoint.repo.sql.query.QueryException; -import com.evolveum.midpoint.repo.sql.query.hqm.condition.ConstantCondition; -import com.evolveum.midpoint.repo.sql.query.resolution.HqlDataInstance; import com.evolveum.midpoint.repo.sql.query.InterpretationContext; +import com.evolveum.midpoint.repo.sql.query.QueryException; import com.evolveum.midpoint.repo.sql.query.definition.JpaEntityDefinition; -import com.evolveum.midpoint.repo.sql.query.definition.JpaPropertyDefinition; import com.evolveum.midpoint.repo.sql.query.definition.JpaLinkDefinition; +import com.evolveum.midpoint.repo.sql.query.definition.JpaPropertyDefinition; import com.evolveum.midpoint.repo.sql.query.hqm.RootHibernateQuery; import com.evolveum.midpoint.repo.sql.query.hqm.condition.Condition; +import com.evolveum.midpoint.repo.sql.query.hqm.condition.ConstantCondition; +import com.evolveum.midpoint.repo.sql.query.resolution.HqlDataInstance; import com.evolveum.midpoint.repo.sql.util.RUtil; import com.evolveum.midpoint.util.exception.SchemaException; import com.evolveum.midpoint.util.logging.Trace; import com.evolveum.midpoint.util.logging.TraceManager; import com.evolveum.prism.xml.ns._public.types_3.PolyStringType; import com.evolveum.prism.xml.ns._public.types_3.RawType; -import org.apache.commons.lang.ClassUtils; -import org.apache.commons.lang.Validate; - -import javax.xml.namespace.QName; /** * @author lazyman @@ -44,7 +45,7 @@ public class PropertyRestriction extends ItemValueRestriction linkDefinition; public PropertyRestriction(InterpretationContext context, PropertyValueFilter filter, JpaEntityDefinition baseEntityDefinition, - Restriction parent, JpaLinkDefinition linkDefinition) { + Restriction parent, JpaLinkDefinition linkDefinition) { super(context, filter, baseEntityDefinition, parent); Validate.notNull(linkDefinition, "linkDefinition"); this.linkDefinition = linkDefinition;