Skip to content

Commit

Permalink
iterative bulk archetype for member operations - assign/unassign
Browse files Browse the repository at this point in the history
  • Loading branch information
katkav committed Mar 8, 2020
1 parent 39160fd commit 83fd0be
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 2 deletions.
Expand Up @@ -18,6 +18,7 @@
import com.evolveum.midpoint.gui.api.component.ChooseArchetypeMemberPopup;
import com.evolveum.midpoint.prism.query.QueryFactory;
import com.evolveum.midpoint.prism.query.builder.S_FilterEntry;
import com.evolveum.midpoint.schema.constants.ObjectTypes;
import com.evolveum.midpoint.xml.ns._public.common.common_3.*;

import org.apache.wicket.ajax.AjaxRequestTarget;
Expand Down Expand Up @@ -146,6 +147,10 @@ public static <R extends AbstractRoleType> Task createRecomputeMembersTask(PageB
Task operationalTask = pageBase.createSimpleTask(getTaskName(RECOMPUTE_OPERATION, scope));
OperationResult parentResult = operationalTask.getResult();
try {
operationalTask.getClonedTaskObject().asObjectable().getAssignment()
.add(ObjectTypeUtil.createAssignmentTo(SystemObjectsType.ARCHETYPE_RECOMPUTATION_TASK.value(), ObjectTypes.ARCHETYPE, pageBase.getPrismContext()));
operationalTask.getClonedTaskObject().asObjectable().getArchetypeRef()
.add(ObjectTypeUtil.createObjectRef(SystemObjectsType.ARCHETYPE_RECOMPUTATION_TASK.value(), ObjectTypes.ARCHETYPE));
return WebComponentUtil.createRecomputeMemberOperationTask(operationalTask, AssignmentHolderType.COMPLEX_TYPE, query,
null, parentResult, pageBase);
} catch (SchemaException e) {
Expand Down Expand Up @@ -409,8 +414,10 @@ protected static void executeMemberOperation(PageBase modelServiceLocator, Task
try {
Task executableTask = WebComponentUtil.createMemberOperationTask(operationalTask, type, memberQuery, script, option, parentResult, modelServiceLocator);
if (executableTask != null) {
//TODO iterative bulk task archetype
// executableTask.getClonedTaskObject().asObjectable().getAssignment().add(ObjectTypeUtil.createAssignmentTo(SystemObjectsType.ARCHETYPE))
executableTask.getUpdatedTaskObject().asObjectable().getAssignment()
.add(ObjectTypeUtil.createAssignmentTo(SystemObjectsType.ARCHETYPE_ITERATIVE_BULK_ACTION_TASK.value(), ObjectTypes.ARCHETYPE, modelServiceLocator.getPrismContext()));
executableTask.getUpdatedTaskObject().asObjectable().getArchetypeRef()
.add(ObjectTypeUtil.createObjectRef(SystemObjectsType.ARCHETYPE_ITERATIVE_BULK_ACTION_TASK.value(), ObjectTypes.ARCHETYPE));
WebComponentUtil.executeMemberOperation(executableTask, parentResult, modelServiceLocator);
}
} catch (SchemaException e) {
Expand Down
Expand Up @@ -699,6 +699,7 @@ public IModel<String> getConfirmationMessageModel() {
}

//region Task-level actions
//TODO unify with TaskOperationUtils
private void suspendTasksPerformed(AjaxRequestTarget target, IModel<SelectableBean<TaskType>> selectedTask) {
List<TaskType> selectedTasks = getSelectedTasks(target, selectedTask);
if (selectedTasks == null) {
Expand Down
Expand Up @@ -21490,6 +21490,13 @@
</xsd:appinfo>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="00000000-0000-0000-0000-000000000509">
<xsd:annotation>
<xsd:appinfo>
<jaxb:typesafeEnumMember name="ARCHETYPE_ITERATIVE_BULK_ACTION_TASK"/>
</xsd:appinfo>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="00000000-0000-0000-0000-000000000528">
<xsd:annotation>
<xsd:appinfo>
Expand Down

0 comments on commit 83fd0be

Please sign in to comment.