Skip to content

Commit

Permalink
MID-7625 generate new task default name based on archetype defined
Browse files Browse the repository at this point in the history
  • Loading branch information
1azyman committed Mar 9, 2022
1 parent 53909f9 commit 60b6518
Showing 1 changed file with 34 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
import com.evolveum.midpoint.authentication.api.authorization.Url;
import com.evolveum.midpoint.gui.api.model.LoadableModel;
import com.evolveum.midpoint.gui.api.prism.wrapper.PrismObjectWrapper;
import com.evolveum.midpoint.gui.api.util.WebModelServiceUtils;
import com.evolveum.midpoint.gui.impl.page.admin.assignmentholder.PageAssignmentHolderDetails;
import com.evolveum.midpoint.gui.impl.page.admin.component.TaskOperationalButtonsPanel;
import com.evolveum.midpoint.prism.PrismObject;
Expand All @@ -20,12 +21,13 @@
import com.evolveum.midpoint.schema.SelectorOptions;
import com.evolveum.midpoint.schema.result.OperationResult;
import com.evolveum.midpoint.security.api.AuthorizationConstants;
import com.evolveum.midpoint.task.api.Task;
import com.evolveum.midpoint.util.exception.SecurityViolationException;
import com.evolveum.midpoint.web.page.admin.server.TaskSummaryPanel;
import com.evolveum.midpoint.web.util.OnePageParameterEncoder;
import com.evolveum.midpoint.xml.ns._public.common.common_3.FocusType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.TaskType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.*;

import com.evolveum.prism.xml.ns._public.types_3.PolyStringType;

import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.markup.html.panel.Panel;
Expand Down Expand Up @@ -86,6 +88,35 @@ private void prepopulateTask(PrismObject<TaskType> object) {
// we can ignore it here probably
}
}

if (task.getName() == null) {
task.setName(createDefaultTaskName(task));
}
}

private PolyStringType createDefaultTaskName(TaskType task) {
String archetypeOid = null;
for (AssignmentType a : task.getAssignment()) {
ObjectReferenceType targetRef = a.getTargetRef();
if (targetRef == null || !ArchetypeType.COMPLEX_TYPE.equals(targetRef.getType())) {
continue;
}

archetypeOid = targetRef.getOid();
break;
}

if (archetypeOid == null) {
return new PolyStringType(getString("PageTask.newTaskDefaultName"));
}

Task t = createSimpleTask("Load archetype");
PrismObject<ArchetypeType> archetype = WebModelServiceUtils.loadObject(ArchetypeType.class, archetypeOid, this, t, t.getResult());
if (archetype != null) {
return new PolyStringType(archetype.getName().getOrig());
}

return new PolyStringType(getString("PageTask.newTaskDefaultName"));
}

@Override
Expand Down

0 comments on commit 60b6518

Please sign in to comment.