Skip to content

Commit

Permalink
Add test for "limited import" using new task spec
Browse files Browse the repository at this point in the history
Plus a couple of minor fixes/cleanups regarding activity
work definitions.
  • Loading branch information
mederly committed Aug 19, 2021
1 parent 9d91471 commit 3be0953
Show file tree
Hide file tree
Showing 18 changed files with 153 additions and 81 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -56,4 +56,8 @@ public static void setDefaultQueryApplicationMode(ResourceObjectSetType set, Res
set.setQueryApplication(mode);
}
}

public static @NotNull ResourceObjectSetType fromConfiguration(ResourceObjectSetType resourceObjects) {
return resourceObjects != null ? resourceObjects : new ResourceObjectSetType(PrismContext.get());
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@
import com.evolveum.midpoint.model.impl.tasks.ModelActivityHandler;
import com.evolveum.midpoint.model.impl.tasks.ModelSearchBasedActivityExecution;
import com.evolveum.midpoint.model.impl.tasks.scanner.ScanActivityExecutionSpecifics;
import com.evolveum.midpoint.prism.PrismContext;
import com.evolveum.midpoint.prism.PrismObject;
import com.evolveum.midpoint.prism.query.ObjectQuery;
import com.evolveum.midpoint.repo.common.activity.ActivityExecutionException;
Expand Down Expand Up @@ -143,8 +142,7 @@ public static class MyWorkDefinition extends AbstractWorkDefinition implements O
} else {
ShadowRefreshWorkDefinitionType typedDefinition = (ShadowRefreshWorkDefinitionType)
((WorkDefinitionWrapper.TypedWorkDefinitionWrapper) source).getTypedDefinition();
objects = typedDefinition.getShadows() != null ?
typedDefinition.getShadows() : new ObjectSetType(PrismContext.get());
objects = ObjectSetUtil.fromConfiguration(typedDefinition.getShadows());
}
ObjectSetUtil.assumeObjectType(objects, ShadowType.COMPLEX_TYPE);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@

import com.evolveum.midpoint.model.api.ModelPublicConstants;
import com.evolveum.midpoint.model.impl.tasks.simple.SimpleActivityHandler;
import com.evolveum.midpoint.prism.PrismContext;
import com.evolveum.midpoint.prism.PrismObject;
import com.evolveum.midpoint.repo.common.activity.ActivityExecutionException;
import com.evolveum.midpoint.repo.common.activity.definition.AbstractWorkDefinition;
Expand Down Expand Up @@ -191,8 +190,7 @@ static class MyWorkDefinition extends AbstractWorkDefinition implements ObjectSe
} else {
ObjectIntegrityCheckWorkDefinitionType typedDefinition = (ObjectIntegrityCheckWorkDefinitionType)
((WorkDefinitionWrapper.TypedWorkDefinitionWrapper) source).getTypedDefinition();
objects = typedDefinition.getObjects() != null ?
typedDefinition.getObjects() : new ObjectSetType(PrismContext.get());
objects = ObjectSetUtil.fromConfiguration(typedDefinition.getObjects());
histogramColumns = MoreObjects.firstNonNull(typedDefinition.getHistogramColumns(), DEFAULT_HISTOGRAM_COLUMNS);
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,8 @@
import java.util.Set;
import java.util.stream.Collectors;

import com.evolveum.midpoint.xml.ns._public.common.common_3.ShadowType;

import org.jetbrains.annotations.NotNull;

import com.evolveum.midpoint.prism.PrismContext;
import com.evolveum.midpoint.prism.path.ItemName;
import com.evolveum.midpoint.repo.common.activity.definition.AbstractWorkDefinition;
import com.evolveum.midpoint.repo.common.activity.definition.ObjectSetSpecificationProvider;
Expand All @@ -32,6 +29,7 @@
import com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectSetType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ShadowIntegrityAspectType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ShadowIntegrityCheckWorkDefinitionType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ShadowType;

public class ShadowIntegrityCheckWorkDefinition extends AbstractWorkDefinition implements ObjectSetSpecificationProvider {

Expand Down Expand Up @@ -66,8 +64,7 @@ public class ShadowIntegrityCheckWorkDefinition extends AbstractWorkDefinition i
} else {
ShadowIntegrityCheckWorkDefinitionType typedDefinition = (ShadowIntegrityCheckWorkDefinitionType)
((TypedWorkDefinitionWrapper) source).getTypedDefinition();
shadows = typedDefinition.getShadows() != null ?
typedDefinition.getShadows() : new ObjectSetType(PrismContext.get());
shadows = ObjectSetUtil.fromConfiguration(typedDefinition.getShadows());
duplicateShadowsResolverNullable = typedDefinition.getDuplicateShadowsResolver();
checkDuplicatesOnPrimaryIdentifiersOnlyNullable = typedDefinition.isCheckDuplicatesOnPrimaryIdentifiersOnly();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,7 @@ public static class MyWorkDefinition extends AbstractWorkDefinition implements O
} else {
IterativeScriptingWorkDefinitionType typedDefinition = (IterativeScriptingWorkDefinitionType)
((TypedWorkDefinitionWrapper) source).getTypedDefinition();
objects = typedDefinition.getObjects();
objects = ObjectSetUtil.fromConfiguration(typedDefinition.getObjects());
scriptExecutionRequest = typedDefinition.getScriptExecutionRequest();
}
argCheck(scriptExecutionRequest != null, "No script execution request provided");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@

package com.evolveum.midpoint.model.impl.sync.tasks.async;

import com.evolveum.midpoint.prism.PrismContext;
import com.evolveum.midpoint.repo.common.activity.definition.AbstractWorkDefinition;
import com.evolveum.midpoint.repo.common.activity.definition.ResourceObjectSetSpecificationProvider;
import com.evolveum.midpoint.schema.util.task.work.LegacyWorkDefinitionSource;
Expand All @@ -30,8 +29,7 @@ public class AsyncUpdateWorkDefinition extends AbstractWorkDefinition implements
} else {
AsyncUpdateWorkDefinitionType typedDefinition = (AsyncUpdateWorkDefinitionType)
((WorkDefinitionWrapper.TypedWorkDefinitionWrapper) source).getTypedDefinition();
resourceObjects = typedDefinition.getUpdatedResourceObjects() != null ?
typedDefinition.getUpdatedResourceObjects() : new ResourceObjectSetType(PrismContext.get());
resourceObjects = ResourceObjectSetUtil.fromConfiguration(typedDefinition.getUpdatedResourceObjects());
}
ResourceObjectSetUtil.removeQuery(resourceObjects);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,12 @@

package com.evolveum.midpoint.model.impl.sync.tasks.imp;

import com.evolveum.midpoint.prism.PrismContext;
import com.evolveum.midpoint.repo.common.activity.definition.AbstractWorkDefinition;
import com.evolveum.midpoint.repo.common.activity.definition.ResourceObjectSetSpecificationProvider;
import com.evolveum.midpoint.schema.util.task.work.LegacyWorkDefinitionSource;
import com.evolveum.midpoint.schema.util.task.work.ResourceObjectSetUtil;
import com.evolveum.midpoint.schema.util.task.work.WorkDefinitionSource;
import com.evolveum.midpoint.schema.util.task.work.WorkDefinitionWrapper;
import com.evolveum.midpoint.schema.util.task.work.WorkDefinitionWrapper.TypedWorkDefinitionWrapper;
import com.evolveum.midpoint.util.DebugUtil;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ImportWorkDefinitionType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ResourceObjectSetType;
Expand All @@ -31,9 +30,8 @@ public class ImportWorkDefinition extends AbstractWorkDefinition implements Reso
resourceObjects = ResourceObjectSetUtil.fromLegacySource((LegacyWorkDefinitionSource) source);
} else {
ImportWorkDefinitionType typedDefinition = (ImportWorkDefinitionType)
((WorkDefinitionWrapper.TypedWorkDefinitionWrapper) source).getTypedDefinition();
resourceObjects = typedDefinition.getResourceObjects() != null ?
typedDefinition.getResourceObjects() : new ResourceObjectSetType(PrismContext.get());
((TypedWorkDefinitionWrapper) source).getTypedDefinition();
resourceObjects = ResourceObjectSetUtil.fromConfiguration(typedDefinition.getResourceObjects());
}
ResourceObjectSetUtil.setDefaultQueryApplicationMode(resourceObjects, REPLACE);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,18 +9,16 @@

import static com.evolveum.midpoint.xml.ns._public.common.common_3.ResourceObjectSetQueryApplicationModeType.APPEND;

import com.evolveum.midpoint.xml.ns._public.common.common_3.ReconciliationWorkDefinitionType;

import org.jetbrains.annotations.NotNull;

import com.evolveum.midpoint.prism.PrismContext;
import com.evolveum.midpoint.repo.common.activity.definition.AbstractWorkDefinition;
import com.evolveum.midpoint.repo.common.activity.definition.ResourceObjectSetSpecificationProvider;
import com.evolveum.midpoint.schema.util.task.work.LegacyWorkDefinitionSource;
import com.evolveum.midpoint.schema.util.task.work.ResourceObjectSetUtil;
import com.evolveum.midpoint.schema.util.task.work.WorkDefinitionSource;
import com.evolveum.midpoint.schema.util.task.work.WorkDefinitionWrapper;
import com.evolveum.midpoint.schema.util.task.work.WorkDefinitionWrapper.TypedWorkDefinitionWrapper;
import com.evolveum.midpoint.util.DebugUtil;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ReconciliationWorkDefinitionType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ResourceObjectSetType;

public class ReconciliationWorkDefinition extends AbstractWorkDefinition implements ResourceObjectSetSpecificationProvider {
Expand All @@ -32,9 +30,8 @@ public class ReconciliationWorkDefinition extends AbstractWorkDefinition impleme
resourceObjects = ResourceObjectSetUtil.fromLegacySource((LegacyWorkDefinitionSource) source);
} else {
ReconciliationWorkDefinitionType typedDefinition = (ReconciliationWorkDefinitionType)
((WorkDefinitionWrapper.TypedWorkDefinitionWrapper) source).getTypedDefinition();
resourceObjects = typedDefinition.getResourceObjects() != null ?
typedDefinition.getResourceObjects() : new ResourceObjectSetType(PrismContext.get());
((TypedWorkDefinitionWrapper) source).getTypedDefinition();
resourceObjects = ResourceObjectSetUtil.fromConfiguration(typedDefinition.getResourceObjects());
}
ResourceObjectSetUtil.setDefaultQueryApplicationMode(resourceObjects, APPEND);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,15 +9,15 @@

import com.evolveum.midpoint.schema.constants.SchemaConstants;

import com.evolveum.midpoint.schema.util.task.work.WorkDefinitionWrapper.TypedWorkDefinitionWrapper;

import org.jetbrains.annotations.NotNull;

import com.evolveum.midpoint.prism.PrismContext;
import com.evolveum.midpoint.repo.common.activity.definition.AbstractWorkDefinition;
import com.evolveum.midpoint.repo.common.activity.definition.ResourceObjectSetSpecificationProvider;
import com.evolveum.midpoint.schema.util.task.work.LegacyWorkDefinitionSource;
import com.evolveum.midpoint.schema.util.task.work.ResourceObjectSetUtil;
import com.evolveum.midpoint.schema.util.task.work.WorkDefinitionSource;
import com.evolveum.midpoint.schema.util.task.work.WorkDefinitionWrapper;
import com.evolveum.midpoint.util.DebugUtil;
import com.evolveum.midpoint.xml.ns._public.common.common_3.LiveSyncWorkDefinitionType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ResourceObjectSetType;
Expand All @@ -39,9 +39,8 @@ public class LiveSyncWorkDefinition extends AbstractWorkDefinition implements Re
Boolean.class);
} else {
LiveSyncWorkDefinitionType typedDefinition = (LiveSyncWorkDefinitionType)
((WorkDefinitionWrapper.TypedWorkDefinitionWrapper) source).getTypedDefinition();
resourceObjects = typedDefinition.getResourceObjects() != null ?
typedDefinition.getResourceObjects() : new ResourceObjectSetType(PrismContext.get());
((TypedWorkDefinitionWrapper) source).getTypedDefinition();
resourceObjects = ResourceObjectSetUtil.fromConfiguration(typedDefinition.getResourceObjects());
batchSize = typedDefinition.getBatchSize();
updateLiveSyncTokenInDryRunRaw = typedDefinition.isUpdateLiveSyncTokenInDryRun();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -155,7 +155,7 @@ public static class MyWorkDefinition extends AbstractWorkDefinition implements O
} else {
ChangeExecutionWorkDefinitionType typedDefinition = (ChangeExecutionWorkDefinitionType)
((WorkDefinitionWrapper.TypedWorkDefinitionWrapper) source).getTypedDefinition();
objects = typedDefinition.getObjects();
objects = ObjectSetUtil.fromConfiguration(typedDefinition.getObjects());
delta = typedDefinition.getDelta();
executionOptions = fromModelExecutionOptionsType(typedDefinition.getExecutionOptions());
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,6 @@

import javax.xml.namespace.QName;

import com.evolveum.midpoint.repo.common.task.BaseSearchBasedExecutionSpecificsImpl;

import org.jetbrains.annotations.NotNull;
import org.springframework.stereotype.Component;

Expand All @@ -26,14 +24,15 @@
import com.evolveum.midpoint.repo.common.activity.definition.ObjectSetSpecificationProvider;
import com.evolveum.midpoint.repo.common.activity.definition.WorkDefinitionFactory.WorkDefinitionSupplier;
import com.evolveum.midpoint.repo.common.task.ActivityReportingOptions;
import com.evolveum.midpoint.repo.common.task.BaseSearchBasedExecutionSpecificsImpl;
import com.evolveum.midpoint.repo.common.task.ItemProcessingRequest;
import com.evolveum.midpoint.repo.common.task.SearchBasedActivityExecution;
import com.evolveum.midpoint.repo.common.task.SearchBasedActivityExecution.SearchBasedSpecificsSupplier;
import com.evolveum.midpoint.schema.result.OperationResult;
import com.evolveum.midpoint.schema.util.task.work.LegacyWorkDefinitionSource;
import com.evolveum.midpoint.schema.util.task.work.ObjectSetUtil;
import com.evolveum.midpoint.schema.util.task.work.WorkDefinitionSource;
import com.evolveum.midpoint.schema.util.task.work.WorkDefinitionWrapper;
import com.evolveum.midpoint.schema.util.task.work.WorkDefinitionWrapper.TypedWorkDefinitionWrapper;
import com.evolveum.midpoint.task.api.RunningTask;
import com.evolveum.midpoint.util.DebugUtil;
import com.evolveum.midpoint.util.exception.CommonException;
Expand Down Expand Up @@ -147,8 +146,8 @@ public static class MyWorkDefinition extends AbstractWorkDefinition implements O
ObjectSetUtil.applyDefaultObjectType(objects, DEFAULT_OBJECT_TYPE_FOR_LEGACY_SPEC);
} else {
RecomputationWorkDefinitionType typedDefinition = (RecomputationWorkDefinitionType)
((WorkDefinitionWrapper.TypedWorkDefinitionWrapper) source).getTypedDefinition();
objects = typedDefinition.getObjects();
((TypedWorkDefinitionWrapper) source).getTypedDefinition();
objects = ObjectSetUtil.fromConfiguration(typedDefinition.getObjects());
executionOptions = fromModelExecutionOptionsType(typedDefinition.getExecutionOptions());
ObjectSetUtil.applyDefaultObjectType(objects, DEFAULT_OBJECT_TYPE_FOR_NEW_SPEC);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,6 @@

import javax.xml.namespace.QName;

import com.evolveum.midpoint.repo.common.task.BaseSearchBasedExecutionSpecificsImpl;

import org.jetbrains.annotations.NotNull;
import org.springframework.stereotype.Component;

Expand All @@ -24,14 +22,15 @@
import com.evolveum.midpoint.repo.common.activity.definition.ObjectSetSpecificationProvider;
import com.evolveum.midpoint.repo.common.activity.definition.WorkDefinitionFactory.WorkDefinitionSupplier;
import com.evolveum.midpoint.repo.common.task.ActivityReportingOptions;
import com.evolveum.midpoint.repo.common.task.BaseSearchBasedExecutionSpecificsImpl;
import com.evolveum.midpoint.repo.common.task.ItemProcessingRequest;
import com.evolveum.midpoint.repo.common.task.SearchBasedActivityExecution;
import com.evolveum.midpoint.repo.common.task.SearchBasedActivityExecution.SearchBasedSpecificsSupplier;
import com.evolveum.midpoint.schema.result.OperationResult;
import com.evolveum.midpoint.schema.util.task.work.LegacyWorkDefinitionSource;
import com.evolveum.midpoint.schema.util.task.work.ObjectSetUtil;
import com.evolveum.midpoint.schema.util.task.work.WorkDefinitionSource;
import com.evolveum.midpoint.schema.util.task.work.WorkDefinitionWrapper;
import com.evolveum.midpoint.schema.util.task.work.WorkDefinitionWrapper.TypedWorkDefinitionWrapper;
import com.evolveum.midpoint.task.api.RunningTask;
import com.evolveum.midpoint.util.DebugUtil;
import com.evolveum.midpoint.util.exception.CommonException;
Expand Down Expand Up @@ -134,8 +133,8 @@ public static class MyWorkDefinition extends AbstractWorkDefinition implements O
objects = ObjectSetUtil.fromLegacySource((LegacyWorkDefinitionSource) source);
} else {
ReindexingWorkDefinitionType typedDefinition = (ReindexingWorkDefinitionType)
((WorkDefinitionWrapper.TypedWorkDefinitionWrapper) source).getTypedDefinition();
objects = typedDefinition.getObjects();
((TypedWorkDefinitionWrapper) source).getTypedDefinition();
objects = ObjectSetUtil.fromConfiguration(typedDefinition.getObjects());
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -195,7 +195,7 @@ public static class MyWorkDefinition extends AbstractWorkDefinition implements R
} else {
ShadowCleanupWorkDefinitionType typedDefinition = (ShadowCleanupWorkDefinitionType)
((TypedWorkDefinitionWrapper) source).getTypedDefinition();
shadows = typedDefinition.getShadows();
shadows = ResourceObjectSetUtil.fromConfiguration(typedDefinition.getShadows());
interval = typedDefinition.getInterval();
}
ResourceObjectSetUtil.setDefaultQueryApplicationMode(shadows, APPEND); // "replace" would be very dangerous
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@

import org.jetbrains.annotations.NotNull;

import com.evolveum.midpoint.prism.PrismContext;
import com.evolveum.midpoint.repo.common.activity.definition.AbstractWorkDefinition;
import com.evolveum.midpoint.repo.common.activity.definition.ObjectSetSpecificationProvider;
import com.evolveum.midpoint.schema.util.task.work.LegacyWorkDefinitionSource;
Expand All @@ -31,8 +30,7 @@ public class TriggerScanWorkDefinition extends AbstractWorkDefinition implements
} else {
TriggerScanWorkDefinitionType typedDefinition = (TriggerScanWorkDefinitionType)
((TypedWorkDefinitionWrapper) source).getTypedDefinition();
objects = typedDefinition.getObjects() != null ?
typedDefinition.getObjects() : new ObjectSetType(PrismContext.get());
objects = ObjectSetUtil.fromConfiguration(typedDefinition.getObjects());
}
}

Expand Down

0 comments on commit 3be0953

Please sign in to comment.