Skip to content

Commit

Permalink
Skip resolving "target" many-to-one associations on merge and get ope…
Browse files Browse the repository at this point in the history
…rations by pretending target OID is null.

Switched from old query interpreter to the new one.
  • Loading branch information
mederly committed Jan 21, 2016
1 parent d92d481 commit 8dd0eae
Show file tree
Hide file tree
Showing 37 changed files with 320 additions and 20 deletions.
Expand Up @@ -28,6 +28,7 @@
import com.evolveum.midpoint.repo.sql.query.definition.VirtualQueryParam;
import com.evolveum.midpoint.repo.sql.util.DtoTranslationException;
import com.evolveum.midpoint.repo.sql.util.IdGeneratorResult;
import com.evolveum.midpoint.repo.sql.util.MidPointJoinedPersister;
import com.evolveum.midpoint.repo.sql.util.RUtil;
import com.evolveum.midpoint.xml.ns._public.common.common_3.AbstractRoleType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.AssignmentType;
Expand All @@ -36,6 +37,7 @@
import org.hibernate.annotations.Cascade;
import org.hibernate.annotations.ForeignKey;
import org.hibernate.annotations.Index;
import org.hibernate.annotations.Persister;
import org.hibernate.annotations.Where;

import javax.persistence.Column;
Expand All @@ -58,6 +60,7 @@
@ForeignKey(name = "fk_abstract_role")
@org.hibernate.annotations.Table(appliesTo = "m_abstract_role",
indexes = {@Index(name = "iRequestable", columnNames = "requestable")}) // TODO correct index name
@Persister(impl = MidPointJoinedPersister.class)
public abstract class RAbstractRole<T extends AbstractRoleType> extends RFocus<T> {

private Set<RExclusion> exclusion;
Expand Down
Expand Up @@ -23,6 +23,7 @@
import com.evolveum.midpoint.repo.sql.data.common.enums.RAccessCertificationCampaignState;
import com.evolveum.midpoint.repo.sql.util.DtoTranslationException;
import com.evolveum.midpoint.repo.sql.util.IdGeneratorResult;
import com.evolveum.midpoint.repo.sql.util.MidPointJoinedPersister;
import com.evolveum.midpoint.repo.sql.util.RUtil;
import com.evolveum.midpoint.schema.GetOperationOptions;
import com.evolveum.midpoint.schema.SchemaConstantsGenerated;
Expand All @@ -32,6 +33,7 @@
import com.evolveum.midpoint.xml.ns._public.common.common_3.AccessCertificationCaseType;
import org.hibernate.annotations.Cascade;
import org.hibernate.annotations.ForeignKey;
import org.hibernate.annotations.Persister;

import javax.persistence.Column;
import javax.persistence.Embedded;
Expand All @@ -50,6 +52,7 @@
@Entity
@Table(name = RAccessCertificationCampaign.TABLE_NAME,
uniqueConstraints = @UniqueConstraint(name = "uc_acc_cert_campaign_name", columnNames = {"name_norm"}))
@Persister(impl = MidPointJoinedPersister.class)
@ForeignKey(name = "fk_acc_cert_campaign")
public class RAccessCertificationCampaign extends RObject<AccessCertificationCampaignType> {

Expand Down
Expand Up @@ -21,11 +21,13 @@
import com.evolveum.midpoint.repo.sql.data.common.embedded.RPolyString;
import com.evolveum.midpoint.repo.sql.util.DtoTranslationException;
import com.evolveum.midpoint.repo.sql.util.IdGeneratorResult;
import com.evolveum.midpoint.repo.sql.util.MidPointJoinedPersister;
import com.evolveum.midpoint.repo.sql.util.RUtil;
import com.evolveum.midpoint.schema.GetOperationOptions;
import com.evolveum.midpoint.schema.SelectorOptions;
import com.evolveum.midpoint.xml.ns._public.common.common_3.AccessCertificationDefinitionType;
import org.hibernate.annotations.ForeignKey;
import org.hibernate.annotations.Persister;

import javax.persistence.Embedded;
import javax.persistence.Entity;
Expand All @@ -37,6 +39,7 @@
@Entity
@Table(name = RAccessCertificationDefinition.TABLE_NAME,
uniqueConstraints = @UniqueConstraint(name = "uc_acc_cert_definition_name", columnNames = {"name_norm"}))
@Persister(impl = MidPointJoinedPersister.class)
@ForeignKey(name = "fk_acc_cert_definition")
public class RAccessCertificationDefinition extends RObject<AccessCertificationDefinitionType> {

Expand Down
Expand Up @@ -21,6 +21,7 @@
import com.evolveum.midpoint.repo.sql.data.common.embedded.RPolyString;
import com.evolveum.midpoint.repo.sql.util.DtoTranslationException;
import com.evolveum.midpoint.repo.sql.util.IdGeneratorResult;
import com.evolveum.midpoint.repo.sql.util.MidPointJoinedPersister;
import com.evolveum.midpoint.repo.sql.util.RUtil;
import com.evolveum.midpoint.schema.GetOperationOptions;
import com.evolveum.midpoint.schema.SelectorOptions;
Expand All @@ -29,6 +30,7 @@
import com.evolveum.midpoint.xml.ns._public.common.common_3.ConnectorType;
import org.hibernate.annotations.Cascade;
import org.hibernate.annotations.ForeignKey;
import org.hibernate.annotations.Persister;

import javax.persistence.*;
import java.util.Collection;
Expand All @@ -39,6 +41,7 @@
*/
@Entity
@ForeignKey(name = "fk_connector")
@Persister(impl = MidPointJoinedPersister.class)
public class RConnector extends RObject<ConnectorType> {

private static final Trace LOGGER = TraceManager.getTrace(RConnector.class);
Expand Down
Expand Up @@ -26,8 +26,10 @@
import javax.persistence.UniqueConstraint;

import com.evolveum.midpoint.repo.sql.util.IdGeneratorResult;
import com.evolveum.midpoint.repo.sql.util.MidPointJoinedPersister;
import org.hibernate.annotations.ForeignKey;
import org.hibernate.annotations.Index;
import org.hibernate.annotations.Persister;
import org.hibernate.annotations.Type;

import com.evolveum.midpoint.prism.PrismContext;
Expand All @@ -51,6 +53,7 @@
@Entity
@ForeignKey(name = "fk_connector_host")
@Table(uniqueConstraints = @UniqueConstraint(name = "uc_connector_host_name", columnNames = {"name_norm"}))
@Persister(impl = MidPointJoinedPersister.class)
public class RConnectorHost extends RObject<ConnectorHostType> {

private RPolyString name;
Expand Down
Expand Up @@ -28,6 +28,7 @@
import com.evolveum.midpoint.repo.sql.query2.definition.NotQueryable;
import com.evolveum.midpoint.repo.sql.util.DtoTranslationException;
import com.evolveum.midpoint.repo.sql.util.IdGeneratorResult;
import com.evolveum.midpoint.repo.sql.util.MidPointJoinedPersister;
import com.evolveum.midpoint.repo.sql.util.RUtil;
import com.evolveum.midpoint.xml.ns._public.common.common_3.AssignmentType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.FocusType;
Expand All @@ -54,6 +55,7 @@
@org.hibernate.annotations.Table(appliesTo = "m_focus",
indexes = {@Index(name = "iFocusAdministrative", columnNames = "administrativeStatus"),
@Index(name = "iFocusEffective", columnNames = "effectiveStatus")})
@Persister(impl = MidPointJoinedPersister.class)
public abstract class RFocus<T extends FocusType> extends RObject<T> {

private Set<RObjectReference<RShadow>> linkRef;
Expand Down
Expand Up @@ -20,11 +20,13 @@
import com.evolveum.midpoint.repo.sql.data.common.embedded.RPolyString;
import com.evolveum.midpoint.repo.sql.util.DtoTranslationException;
import com.evolveum.midpoint.repo.sql.util.IdGeneratorResult;
import com.evolveum.midpoint.repo.sql.util.MidPointJoinedPersister;
import com.evolveum.midpoint.repo.sql.util.RUtil;
import com.evolveum.midpoint.schema.GetOperationOptions;
import com.evolveum.midpoint.schema.SelectorOptions;
import com.evolveum.midpoint.xml.ns._public.common.common_3.GenericObjectType;
import org.hibernate.annotations.ForeignKey;
import org.hibernate.annotations.Persister;

import javax.persistence.Embedded;
import javax.persistence.Entity;
Expand All @@ -38,6 +40,7 @@
@Entity
@ForeignKey(name = "fk_generic_object")
@Table(uniqueConstraints = @UniqueConstraint(name = "uc_generic_object_name", columnNames = {"name_norm"}))
@Persister(impl = MidPointJoinedPersister.class)
public class RGenericObject extends RObject<GenericObjectType> {

private RPolyString name;
Expand Down
Expand Up @@ -5,12 +5,14 @@
import com.evolveum.midpoint.repo.sql.data.common.other.RLookupTableRow;
import com.evolveum.midpoint.repo.sql.util.DtoTranslationException;
import com.evolveum.midpoint.repo.sql.util.IdGeneratorResult;
import com.evolveum.midpoint.repo.sql.util.MidPointJoinedPersister;
import com.evolveum.midpoint.repo.sql.util.RUtil;
import com.evolveum.midpoint.schema.GetOperationOptions;
import com.evolveum.midpoint.schema.SelectorOptions;
import com.evolveum.midpoint.xml.ns._public.common.common_3.LookupTableRowType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.LookupTableType;
import org.hibernate.annotations.ForeignKey;
import org.hibernate.annotations.Persister;

import javax.persistence.*;
import java.util.*;
Expand All @@ -21,6 +23,7 @@
@Entity
@ForeignKey(name = "fk_lookup_table")
@Table(uniqueConstraints = @UniqueConstraint(name = "uc_lookup_name", columnNames = {"name_norm"}))
@Persister(impl = MidPointJoinedPersister.class)
public class RLookupTable extends RObject<LookupTableType> {

private RPolyString name;
Expand Down
Expand Up @@ -20,12 +20,14 @@
import com.evolveum.midpoint.repo.sql.data.common.embedded.RPolyString;
import com.evolveum.midpoint.repo.sql.util.DtoTranslationException;
import com.evolveum.midpoint.repo.sql.util.IdGeneratorResult;
import com.evolveum.midpoint.repo.sql.util.MidPointJoinedPersister;
import com.evolveum.midpoint.repo.sql.util.RUtil;
import com.evolveum.midpoint.schema.GetOperationOptions;
import com.evolveum.midpoint.schema.SelectorOptions;
import com.evolveum.midpoint.xml.ns._public.common.common_3.NodeType;

import org.hibernate.annotations.ForeignKey;
import org.hibernate.annotations.Persister;

import javax.persistence.*;
import javax.xml.datatype.XMLGregorianCalendar;
Expand All @@ -38,6 +40,7 @@
@Entity
@ForeignKey(name = "fk_node")
@Table(uniqueConstraints = @UniqueConstraint(name = "uc_node_name", columnNames = {"name_norm"}))
@Persister(impl = MidPointJoinedPersister.class)
public class RNode extends RObject<NodeType> {

private RPolyString name;
Expand Down
Expand Up @@ -46,6 +46,7 @@
import com.evolveum.midpoint.repo.sql.util.DtoTranslationException;
import com.evolveum.midpoint.repo.sql.util.EntityState;
import com.evolveum.midpoint.repo.sql.util.IdGeneratorResult;
import com.evolveum.midpoint.repo.sql.util.MidPointJoinedPersister;
import com.evolveum.midpoint.repo.sql.util.RUtil;
import com.evolveum.midpoint.schema.GetOperationOptions;
import com.evolveum.midpoint.schema.SelectorOptions;
Expand All @@ -60,6 +61,7 @@
import org.hibernate.annotations.NamedQuery;
import org.hibernate.annotations.NotFound;
import org.hibernate.annotations.NotFoundAction;
import org.hibernate.annotations.Persister;
import org.hibernate.annotations.Where;

import javax.persistence.Column;
Expand Down Expand Up @@ -140,6 +142,7 @@
@Index(name = "iObjectTypeClass", columnList = "objectTypeClass"),
@Index(name = "iObjectCreateTimestamp", columnList = "createTimestamp")})
@Inheritance(strategy = InheritanceType.JOINED)
@Persister(impl = MidPointJoinedPersister.class)
public abstract class RObject<T extends ObjectType> implements Metadata<RObjectReference<RFocus>>, EntityState, Serializable {

public static final String F_OBJECT_TYPE_CLASS = "objectTypeClass";
Expand Down
Expand Up @@ -23,13 +23,15 @@
import com.evolveum.midpoint.repo.sql.query.definition.JaxbType;
import com.evolveum.midpoint.repo.sql.query2.definition.NotQueryable;
import com.evolveum.midpoint.repo.sql.util.ClassMapper;
import com.evolveum.midpoint.repo.sql.util.MidPointSingleTablePersister;
import com.evolveum.midpoint.repo.sql.util.RUtil;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectReferenceType;

import org.apache.commons.lang.Validate;
import org.hibernate.annotations.ForeignKey;
import org.hibernate.annotations.NotFound;
import org.hibernate.annotations.NotFoundAction;
import org.hibernate.annotations.Persister;

import javax.persistence.*;

Expand All @@ -42,6 +44,7 @@
@Table(name = "m_reference", indexes = {
@javax.persistence.Index(name = "iReferenceTargetOid", columnList = "targetOid")
})
@Persister(impl = MidPointSingleTablePersister.class)
public class RObjectReference<T extends RObject> implements ObjectReference {

public static final String REFERENCE_TYPE = "reference_type";
Expand Down
Expand Up @@ -22,12 +22,14 @@
import com.evolveum.midpoint.repo.sql.data.common.other.RReferenceOwner;
import com.evolveum.midpoint.repo.sql.util.DtoTranslationException;
import com.evolveum.midpoint.repo.sql.util.IdGeneratorResult;
import com.evolveum.midpoint.repo.sql.util.MidPointJoinedPersister;
import com.evolveum.midpoint.repo.sql.util.RUtil;
import com.evolveum.midpoint.schema.GetOperationOptions;
import com.evolveum.midpoint.schema.SelectorOptions;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectTemplateType;
import org.hibernate.annotations.Cascade;
import org.hibernate.annotations.ForeignKey;
import org.hibernate.annotations.Persister;
import org.hibernate.annotations.Where;

import javax.persistence.*;
Expand All @@ -41,6 +43,7 @@
@Entity
@ForeignKey(name = "fk_object_template")
@Table(uniqueConstraints = @UniqueConstraint(name = "uc_object_template_name", columnNames = {"name_norm"}))
@Persister(impl = MidPointJoinedPersister.class)
public class RObjectTemplate extends RObject<ObjectTemplateType> {

private RPolyString name;
Expand Down
Expand Up @@ -20,13 +20,15 @@
import com.evolveum.midpoint.repo.sql.data.common.embedded.RPolyString;
import com.evolveum.midpoint.repo.sql.util.DtoTranslationException;
import com.evolveum.midpoint.repo.sql.util.IdGeneratorResult;
import com.evolveum.midpoint.repo.sql.util.MidPointJoinedPersister;
import com.evolveum.midpoint.repo.sql.util.RUtil;
import com.evolveum.midpoint.schema.GetOperationOptions;
import com.evolveum.midpoint.schema.SelectorOptions;
import com.evolveum.midpoint.xml.ns._public.common.common_3.OrgType;
import org.hibernate.annotations.Cascade;
import org.hibernate.annotations.ForeignKey;
import org.hibernate.annotations.Index;
import org.hibernate.annotations.Persister;

import javax.persistence.*;
import java.util.Collection;
Expand All @@ -38,6 +40,7 @@
@Entity
@ForeignKey(name = "fk_org")
@Table(uniqueConstraints = @UniqueConstraint(name = "uc_org_name", columnNames = {"name_norm"}))
@Persister(impl = MidPointJoinedPersister.class)
public class ROrg extends RAbstractRole<OrgType> {

private RPolyString name;
Expand Down
Expand Up @@ -6,13 +6,15 @@
import com.evolveum.midpoint.repo.sql.data.common.enums.ROrientationType;
import com.evolveum.midpoint.repo.sql.util.DtoTranslationException;
import com.evolveum.midpoint.repo.sql.util.IdGeneratorResult;
import com.evolveum.midpoint.repo.sql.util.MidPointJoinedPersister;
import com.evolveum.midpoint.repo.sql.util.RUtil;
import com.evolveum.midpoint.schema.GetOperationOptions;
import com.evolveum.midpoint.schema.SelectorOptions;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ReportType;

import org.hibernate.annotations.ForeignKey;
import org.hibernate.annotations.Index;
import org.hibernate.annotations.Persister;

import javax.persistence.*;

Expand All @@ -21,6 +23,7 @@
@Entity
@Table(uniqueConstraints = @UniqueConstraint(name = "uc_report_name", columnNames = {"name_norm"}))
@ForeignKey(name = "fk_report")
@Persister(impl = MidPointJoinedPersister.class)
public class RReport extends RObject<ReportType> {

private RPolyString name;
Expand Down
Expand Up @@ -6,13 +6,15 @@
import com.evolveum.midpoint.repo.sql.data.common.embedded.RPolyString;
import com.evolveum.midpoint.repo.sql.util.DtoTranslationException;
import com.evolveum.midpoint.repo.sql.util.IdGeneratorResult;
import com.evolveum.midpoint.repo.sql.util.MidPointJoinedPersister;
import com.evolveum.midpoint.repo.sql.util.RUtil;
import com.evolveum.midpoint.schema.GetOperationOptions;
import com.evolveum.midpoint.schema.SelectorOptions;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ReportOutputType;

import org.hibernate.annotations.Cascade;
import org.hibernate.annotations.ForeignKey;
import org.hibernate.annotations.Persister;

import javax.persistence.Embedded;
import javax.persistence.Entity;
Expand All @@ -21,6 +23,7 @@

@Entity
@ForeignKey(name = "fk_report_output")
@Persister(impl = MidPointJoinedPersister.class)
public class RReportOutput extends RObject<ReportOutputType> {

private RPolyString name;
Expand Down
Expand Up @@ -24,6 +24,7 @@
import com.evolveum.midpoint.repo.sql.data.common.other.RReferenceOwner;
import com.evolveum.midpoint.repo.sql.util.DtoTranslationException;
import com.evolveum.midpoint.repo.sql.util.IdGeneratorResult;
import com.evolveum.midpoint.repo.sql.util.MidPointJoinedPersister;
import com.evolveum.midpoint.repo.sql.util.RUtil;
import com.evolveum.midpoint.schema.GetOperationOptions;
import com.evolveum.midpoint.schema.SelectorOptions;
Expand All @@ -33,6 +34,7 @@
import com.evolveum.midpoint.xml.ns._public.common.common_3.ResourceType;
import org.hibernate.annotations.Cascade;
import org.hibernate.annotations.ForeignKey;
import org.hibernate.annotations.Persister;
import org.hibernate.annotations.Where;

import javax.persistence.*;
Expand All @@ -46,6 +48,7 @@
@Entity
@ForeignKey(name = "fk_resource")
@Table(uniqueConstraints = @UniqueConstraint(name = "uc_resource_name", columnNames = {"name_norm"}))
@Persister(impl = MidPointJoinedPersister.class)
public class RResource extends RObject<ResourceType> {

private static final Trace LOGGER = TraceManager.getTrace(RResource.class);
Expand Down
Expand Up @@ -20,12 +20,14 @@
import com.evolveum.midpoint.repo.sql.data.common.embedded.RPolyString;
import com.evolveum.midpoint.repo.sql.util.DtoTranslationException;
import com.evolveum.midpoint.repo.sql.util.IdGeneratorResult;
import com.evolveum.midpoint.repo.sql.util.MidPointJoinedPersister;
import com.evolveum.midpoint.repo.sql.util.RUtil;
import com.evolveum.midpoint.schema.GetOperationOptions;
import com.evolveum.midpoint.schema.SelectorOptions;
import com.evolveum.midpoint.xml.ns._public.common.common_3.RoleType;

import org.hibernate.annotations.ForeignKey;
import org.hibernate.annotations.Persister;

import javax.persistence.Embedded;
import javax.persistence.Entity;
Expand All @@ -40,6 +42,7 @@
@Entity
@ForeignKey(name = "fk_role")
@Table(uniqueConstraints = @UniqueConstraint(name = "uc_role_name", columnNames = {"name_norm"}))
@Persister(impl = MidPointJoinedPersister.class)
public class RRole extends RAbstractRole<RoleType> {

private RPolyString name;
Expand Down

0 comments on commit 8dd0eae

Please sign in to comment.