Skip to content

Commit

Permalink
Merge remote-tracking branch 'refs/remotes/origin/master'
Browse files Browse the repository at this point in the history
  • Loading branch information
skublik committed Mar 9, 2022
2 parents b066dea + d31fbc0 commit 0590748
Show file tree
Hide file tree
Showing 3 changed files with 51 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
Original file line number Diff line number Diff line change
Expand Up @@ -1260,6 +1260,12 @@ <T> ResourceAttributeDefinition<T> getAttributeDefinition(PrismObject<ResourceTy
@Experimental
void createRecomputeTrigger(Class<? extends ObjectType> type, String oid) throws SchemaException, ObjectAlreadyExistsException, ObjectNotFoundException;

/**
* Returns a correlation case for given shadow. (Need not be full.)
*/
@Experimental
@Nullable CaseType getCorrelationCaseForShadow(@Nullable ShadowType shadow) throws SchemaException;

@FunctionalInterface
interface TriggerCustomizer {
void customize(TriggerType trigger) throws SchemaException;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@
import javax.xml.stream.events.StartElement;
import javax.xml.stream.events.XMLEvent;

import com.evolveum.midpoint.model.impl.correlator.CorrelationCaseManager;
import com.evolveum.midpoint.prism.impl.binding.AbstractReferencable;
import com.evolveum.midpoint.schema.processor.ResourceObjectTypeDefinition;
import com.evolveum.midpoint.model.impl.ModelBeans;
Expand Down Expand Up @@ -136,6 +137,7 @@ public class MidpointFunctionsImpl implements MidpointFunctions {
@Autowired private TriggerCreatorGlobalState triggerCreatorGlobalState;
@Autowired private TaskManager taskManager;
@Autowired private SchemaService schemaService;
@Autowired private CorrelationCaseManager correlationCaseManager;

@Autowired
@Qualifier("cacheRepositoryService")
Expand Down Expand Up @@ -2172,4 +2174,13 @@ public Object getExtensionOptionRealValue(String localName) {
public <T> T getExtensionOptionRealValue(String localName, Class<T> type) {
return ModelExecuteOptions.getExtensionItemRealValue(getModelContext().getOptions(), new ItemName(localName), type);
}

@Override
public @Nullable CaseType getCorrelationCaseForShadow(@Nullable ShadowType shadow) throws SchemaException {
if (shadow == null) {
return null;
} else {
return correlationCaseManager.findCorrelationCase(shadow, false, getCurrentResult());
}
}
}

0 comments on commit 0590748

Please sign in to comment.