Skip to content

Commit

Permalink
Merge branch 'master' into feature/mid-7053
Browse files Browse the repository at this point in the history
  • Loading branch information
mederly committed Sep 20, 2021
2 parents 95459f8 + 3150f98 commit 7bdc035
Show file tree
Hide file tree
Showing 455 changed files with 2,020 additions and 1,356 deletions.
2 changes: 1 addition & 1 deletion config/initial-objects/000-system-configuration.xml
Original file line number Diff line number Diff line change
Expand Up @@ -446,7 +446,7 @@
<label>Operational attributes (state)</label>
</display>
<item>
<c:path>executionStatus</c:path>
<c:path>executionState</c:path>
</item>
<item>
<c:path>schedulingState</c:path>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@
<filter>
<q:and>
<q:equal>
<q:path>executionStatus</q:path>
<q:path>executionState</q:path>
<q:value>runnable</q:value>
</q:equal>
<q:equal>
Expand Down
3 changes: 1 addition & 2 deletions config/initial-objects/550-task-cleanup.xml
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,10 @@
<targetRef oid="00000000-0000-0000-0000-000000000506" type="ArchetypeType" />
</assignment>
<ownerRef oid="00000000-0000-0000-0000-000000000002"/>
<executionStatus>runnable</executionStatus>
<executionState>runnable</executionState>

<category>Cleanup</category>
<handlerUri>http://midpoint.evolveum.com/xml/ns/public/model/cleanup/handler-3</handlerUri>
<recurrence>recurring</recurrence>
<binding>loose</binding>
<schedule>
<interval>86400</interval>
Expand Down
3 changes: 1 addition & 2 deletions config/initial-objects/560-task-validity.xml
Original file line number Diff line number Diff line change
Expand Up @@ -11,15 +11,14 @@
<name>Validity Scanner</name>
<description>A system task that maintains effective status of objects, based on their validity time constraints.</description>
<ownerRef oid="00000000-0000-0000-0000-000000000002"/>
<executionStatus>runnable</executionStatus>
<executionState>runnable</executionState>

<assignment>
<targetRef oid="00000000-0000-0000-0000-000000000529" type="ArchetypeType" />
</assignment>

<category>System</category>
<handlerUri>http://midpoint.evolveum.com/xml/ns/public/model/focus-validity-scanner/handler-3</handlerUri>
<recurrence>recurring</recurrence>
<binding>loose</binding>
<schedule>
<interval>900</interval>
Expand Down
3 changes: 1 addition & 2 deletions config/initial-objects/570-task-trigger.xml
Original file line number Diff line number Diff line change
Expand Up @@ -11,15 +11,14 @@
<name>Trigger Scanner</name>
<description>A system task that executes triggers attached to objects.</description>
<ownerRef oid="00000000-0000-0000-0000-000000000002"/>
<executionStatus>runnable</executionStatus>
<executionState>runnable</executionState>

<assignment>
<targetRef oid="00000000-0000-0000-0000-000000000529" type="ArchetypeType" />
</assignment>

<category>System</category>
<handlerUri>http://midpoint.evolveum.com/xml/ns/public/model/trigger/scanner/handler-3</handlerUri>
<recurrence>recurring</recurrence>
<binding>loose</binding>
<schedule>
<interval>300</interval>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,8 @@

import com.evolveum.midpoint.gui.impl.page.admin.org.PageOrg;

import com.evolveum.midpoint.schema.util.task.TaskTypeUtil;

import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.*;
import org.apache.commons.lang3.math.NumberUtils;
Expand Down Expand Up @@ -192,7 +194,6 @@
import com.evolveum.midpoint.wf.util.ChangesByState;
import com.evolveum.midpoint.xml.ns._public.common.audit_3.AuditEventRecordType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.*;
import com.evolveum.midpoint.xml.ns._public.model.scripting_3.ExecuteScriptType;
import com.evolveum.prism.xml.ns._public.query_3.QueryType;
import com.evolveum.prism.xml.ns._public.types_3.ObjectDeltaType;
import com.evolveum.prism.xml.ns._public.types_3.PolyStringTranslationType;
Expand Down Expand Up @@ -689,9 +690,8 @@ public static TaskType createSingleRecurrenceTask(String taskName, QName applica
task.setOwnerRef(ownerRef);

task.setBinding(TaskBindingType.LOOSE);
task.setExecutionStatus(TaskExecutionStateType.RUNNABLE);
task.setExecutionState(TaskExecutionStateType.RUNNABLE);
task.setSchedulingState(TaskSchedulingStateType.READY);
task.setRecurrence(TaskRecurrenceType.SINGLE);
task.setThreadStopAction(ThreadStopActionType.RESTART);
task.setHandlerUri(handlerUri);
ScheduleType schedule = new ScheduleType();
Expand Down Expand Up @@ -738,30 +738,30 @@ public static boolean canRunNowTask(TaskType task, PageBase pageBase) {

/** Checks user-visible state, not the technical (scheduling) state. So RUNNABLE means the task is not actually running. */
public static boolean isRunnableTask(TaskType task) {
return task != null && task.getExecutionStatus() == TaskExecutionStateType.RUNNABLE;
return task != null && task.getExecutionState() == TaskExecutionStateType.RUNNABLE;
}

public static boolean isRunningTask(TaskType task) {
return task != null && task.getExecutionStatus() == TaskExecutionStateType.RUNNING;
return task != null && task.getExecutionState() == TaskExecutionStateType.RUNNING;
}

/** Checks user-visible state, not the technical (scheduling) state. */
public static boolean isWaitingTask(TaskType task) {
return task != null && task.getExecutionStatus() == TaskExecutionStateType.WAITING;
return task != null && task.getExecutionState() == TaskExecutionStateType.WAITING;
}

/** Checks user-visible state, not the technical (scheduling) state. */
public static boolean isSuspendedTask(TaskType task) {
return task != null && task.getExecutionStatus() == TaskExecutionStateType.SUSPENDED;
return task != null && task.getExecutionState() == TaskExecutionStateType.SUSPENDED;
}

/** Checks user-visible state, not the technical (scheduling) state. But for closed tasks, these are equivalent. */
public static boolean isClosedTask(TaskType task) {
return task != null && task.getExecutionStatus() == TaskExecutionStateType.CLOSED;
return task != null && task.getExecutionState() == TaskExecutionStateType.CLOSED;
}

public static boolean isRecurringTask(TaskType task) {
return task != null && task.getRecurrence() == TaskRecurrenceType.RECURRING;
return task != null && TaskTypeUtil.isTaskRecurring(task);
}

// We no longer need to treat workflow-related tasks in a different way.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ public static DisplayType createDisplayType(String iconCssClass, String iconColo
public static DisplayType createDisplayType(String iconCssClass, String iconColor, PolyStringType label, PolyStringType title) {
DisplayType displayType = new DisplayType();
IconType icon = new IconType();
icon.setCssClass(iconCssClass);
icon.setCssClass(iconCssClass != null ? iconCssClass.trim() : iconCssClass);
icon.setColor(iconColor);
displayType.setIcon(icon);
displayType.setLabel(label);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ public CompositedIcon(String basicIcon, List<LayerIcon> layerIcons, String basic
}

public String getBasicIcon() {
return basicIcon;
return basicIcon != null ? basicIcon.trim() : basicIcon;
}

public List<LayerIcon> getLayerIcons() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -90,8 +90,10 @@ public CompositedIconBuilder appendColorHtmlValue(String colorHtmlValue) {
return this;
}

public CompositedIconBuilder appendLayerIcon(String icon, CompositedIconCssStyle style) {
return appendLayerIcon(icon, style, "");
public CompositedIconBuilder appendLayerIcon(String icon, LayeredIconCssStyle style) {
IconType iconType = new IconType();
iconType.setCssClass(icon);
return appendLayerIcon(iconType, style);
}

public CompositedIconBuilder appendLayerIcon(String icon, CompositedIconCssStyle style, String additionalCssClass) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -512,32 +512,19 @@ private void createFocusPageViewMenu(MainMenuItem mainMenuItem, String viewKey,

private MainMenuItem createArchetypesItems() {
MainMenuItem item = new MainMenuItem("PageAdmin.menu.top.archetypes", GuiStyleConstants.EVO_ARCHETYPE_TYPE_ICON);
item.addMenuItem(createObjectListPageMenuItem("PageAdmin.menu.top.archetypes.list", GuiStyleConstants.EVO_ARCHETYPE_TYPE_ICON, PageArchetypes.class));
addCollectionsMenuItems(item, ArchetypeType.COMPLEX_TYPE, PageArchetypes.class);

createFocusPageNewEditMenu(item, "PageAdmin.menu.top.archetypes.new",
"PageAdmin.menu.top.archetypes.edit", PageArchetype.class);

createBasicAssignmentHolderMenuItems(item, PageTypes.ARCHETYPE);
return item;
}

private MainMenuItem createObjectsCollectionItems() {
MainMenuItem item = new MainMenuItem("PageAdmin.menu.top.objectCollections", GuiStyleConstants.CLASS_OBJECT_COLLECTION_ICON
);
item.addMenuItem(createObjectListPageMenuItem("PageAdmin.menu.top.objectCollections.list", GuiStyleConstants.CLASS_OBJECT_COLLECTION_ICON, PageObjectCollections.class));
createFocusPageNewEditMenu(item, "PageAdmin.menu.top.objectCollections.new",
"PageAdmin.menu.top.objectCollections.edit", PageObjectCollection.class);

MainMenuItem item = new MainMenuItem("PageAdmin.menu.top.objectCollections", GuiStyleConstants.CLASS_OBJECT_COLLECTION_ICON);
createBasicAssignmentHolderMenuItems(item, PageTypes.OBJECT_COLLECTION);
return item;
}

private MainMenuItem createObjectTemplatesItems() {
MainMenuItem item = new MainMenuItem("PageAdmin.menu.top.objectTemplates", GuiStyleConstants.CLASS_OBJECT_TEMPLATE_ICON
);
item.addMenuItem(createObjectListPageMenuItem("PageAdmin.menu.top.objectTemplates.list", GuiStyleConstants.CLASS_OBJECT_TEMPLATE_ICON, PageObjectTemplates.class));
createFocusPageNewEditMenu(item, "PageAdmin.menu.top.objectTemplates.new",
"PageAdmin.menu.top.objectTemplates.edit", PageObjectTemplate.class);

MainMenuItem item = new MainMenuItem("PageAdmin.menu.top.objectTemplates", GuiStyleConstants.CLASS_OBJECT_TEMPLATE_ICON);
createBasicAssignmentHolderMenuItems(item, PageTypes.OBJECT_TEMPLATE);
return item;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,9 @@
import com.evolveum.midpoint.gui.api.GuiStyleConstants;
import com.evolveum.midpoint.gui.api.page.PageBase;
import com.evolveum.midpoint.gui.impl.page.admin.AbstractPageObjectDetails;
import com.evolveum.midpoint.gui.impl.page.admin.archetype.PageArchetype;
import com.evolveum.midpoint.gui.impl.page.admin.objectcollection.PageObjectCollection;
import com.evolveum.midpoint.gui.impl.page.admin.objecttemplate.PageObjectTemplate;
import com.evolveum.midpoint.gui.impl.page.admin.org.PageOrg;
import com.evolveum.midpoint.gui.impl.page.admin.report.PageReport;
import com.evolveum.midpoint.gui.impl.page.admin.resource.PageResource;
Expand All @@ -17,7 +20,10 @@
import com.evolveum.midpoint.gui.impl.page.admin.task.PageTask;
import com.evolveum.midpoint.gui.impl.page.admin.user.PageUser;
import com.evolveum.midpoint.web.page.admin.PageAdmin;
import com.evolveum.midpoint.web.page.admin.archetype.PageArchetypes;
import com.evolveum.midpoint.web.page.admin.cases.PageCases;
import com.evolveum.midpoint.web.page.admin.objectCollection.PageObjectCollections;
import com.evolveum.midpoint.web.page.admin.objectTemplate.PageObjectTemplates;
import com.evolveum.midpoint.web.page.admin.orgs.PageOrgUnit;
import com.evolveum.midpoint.web.page.admin.orgs.PageOrgs;
import com.evolveum.midpoint.web.page.admin.reports.PageReports;
Expand All @@ -41,6 +47,9 @@ public enum PageTypes {
TASK("tasks", GuiStyleConstants.CLASS_OBJECT_TASK_ICON, PageTasks.class, PageTask.class, com.evolveum.midpoint.web.page.admin.server.PageTask.class, TaskType.COMPLEX_TYPE),
RESOURCE("resources", GuiStyleConstants.CLASS_OBJECT_RESOURCE_ICON, PageResources.class, PageResource.class, PageResourceWizard.class, ResourceType.COMPLEX_TYPE),
CASE("cases", GuiStyleConstants.EVO_CASE_OBJECT_ICON, PageCases.class, null, null, CaseType.COMPLEX_TYPE),
ARCHETYPE("archetypes", GuiStyleConstants.EVO_ARCHETYPE_TYPE_ICON, PageArchetypes.class, PageArchetype.class, com.evolveum.midpoint.web.page.admin.archetype.PageArchetype.class, ArchetypeType.COMPLEX_TYPE),
OBJECT_COLLECTION("objectCollections", GuiStyleConstants.CLASS_OBJECT_COLLECTION_ICON, PageObjectCollections.class, PageObjectCollection.class, com.evolveum.midpoint.web.page.admin.objectCollection.PageObjectCollection.class, ObjectCollectionType.COMPLEX_TYPE),
OBJECT_TEMPLATE("objectTemplates", GuiStyleConstants.CLASS_OBJECT_TEMPLATE_ICON, PageObjectTemplates.class, PageObjectTemplate.class, com.evolveum.midpoint.web.page.admin.objectTemplate.PageObjectTemplate.class, ObjectTemplateType.COMPLEX_TYPE),
REPORT("reports", GuiStyleConstants.CLASS_REPORT_ICON, PageReports .class, PageReport.class, com.evolveum.midpoint.web.page.admin.reports.PageReport.class, ReportType.COMPLEX_TYPE);

private String identifier;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -409,9 +409,9 @@ private static void createTask(Task operationalTask, QName type, ObjectQuery mem

operationalTask.setInitiallyRunnable();
operationalTask.setThreadStopAction(ThreadStopActionType.RESTART);
ScheduleType schedule = new ScheduleType();
ScheduleType schedule = new ScheduleType(PrismContext.get());
schedule.setMisfireAction(MisfireActionType.EXECUTE_IMMEDIATELY);
operationalTask.makeSingle(schedule);
operationalTask.setSchedule(schedule);
operationalTask.setName(taskName);

QueryType queryType = pageBase.getQueryConverter().createQueryType(memberQuery);
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<!--
~ Copyright (c) 2021 Evolveum
~
~ This work is dual-licensed under the Apache License 2.0
~ and European Union Public License. See LICENSE file for details.
-->

<!DOCTYPE html>
<html xmlns:wicket="http://wicket.apache.org">
<wicket:panel>
<div wicket:id="panel"/>
</wicket:panel>
</html>
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
/*
* Copyright (c) 2021 Evolveum and contributors
*
* This work is dual-licensed under the Apache License 2.0
* and European Union Public License. See LICENSE file for details.
*/
package com.evolveum.midpoint.gui.impl.page.admin.focus.component;

import org.apache.wicket.model.IModel;

import com.evolveum.midpoint.gui.api.prism.wrapper.PrismObjectWrapper;
import com.evolveum.midpoint.gui.impl.page.admin.AbstractObjectMainPanel;
import com.evolveum.midpoint.gui.impl.page.admin.assignmentholder.FocusDetailsModels;
import com.evolveum.midpoint.gui.impl.prism.panel.SingleContainerPanel;
import com.evolveum.midpoint.prism.Containerable;
import com.evolveum.midpoint.prism.path.ItemName;
import com.evolveum.midpoint.prism.path.ItemPath;
import com.evolveum.midpoint.util.logging.Trace;
import com.evolveum.midpoint.util.logging.TraceManager;
import com.evolveum.midpoint.web.application.PanelDisplay;
import com.evolveum.midpoint.web.application.PanelInstance;
import com.evolveum.midpoint.web.application.PanelType;
import com.evolveum.midpoint.web.model.PrismContainerWrapperModel;
import com.evolveum.midpoint.xml.ns._public.common.common_3.*;

@PanelType(name = "activation")
@PanelInstance(identifier = "activation",
applicableForType = FocusType.class,
display = @PanelDisplay(label = "ActivationType.title", order = 40))
public class FocusActivationPanel<F extends FocusType, FDM extends FocusDetailsModels<F>> extends AbstractObjectMainPanel<F, FDM> {
private static final long serialVersionUID = 1L;

private static final Trace LOGGER = TraceManager.getTrace(FocusActivationPanel.class);
private static final String ID_PANEL = "panel";

private static final String DOT_CLASS = FocusActivationPanel.class.getName() + ".";

public FocusActivationPanel(String id, FDM model, ContainerPanelConfigurationType config) {
super(id, model, config);
}

@Override
protected void initLayout() {
SingleContainerPanel panel =
new SingleContainerPanel<>(ID_PANEL,
PrismContainerWrapperModel.fromContainerWrapper(getObjectWrapperModel(), FocusType.F_ACTIVATION),
PasswordType.COMPLEX_TYPE);
add(panel);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
@PanelInstance(identifier = "tasks",
applicableForOperation = OperationTypeType.MODIFY,
applicableForType = FocusType.class,
display = @PanelDisplay(label = "pageAdminFocus.cases", icon = GuiStyleConstants.EVO_CASE_OBJECT_ICON, order = 50))
display = @PanelDisplay(label = "pageAdminFocus.cases", icon = GuiStyleConstants.EVO_CASE_OBJECT_ICON, order = 70))
@Counter(provider = FocusCasesCounter.class)
public class FocusCasesPanel<F extends FocusType>
extends AbstractObjectMainPanel<F, FocusDetailsModels<F>> {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@
*/
@PanelType(name = "history")
@PanelInstance(identifier = "history", applicableForType = FocusType.class, applicableForOperation = OperationTypeType.MODIFY,
display = @PanelDisplay(label = "pageAdminFocus.objectHistory", icon = "fa fa-history", order = 40))
display = @PanelDisplay(label = "pageAdminFocus.objectHistory", icon = "fa fa-history", order = 60))
public class FocusHistoryPanel<F extends FocusType> extends AbstractObjectMainPanel<F, FocusDetailsModels<F>> {

private static final long serialVersionUID = 1L;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<!--
~ Copyright (c) 2021 Evolveum
~
~ This work is dual-licensed under the Apache License 2.0
~ and European Union Public License. See LICENSE file for details.
-->

<!DOCTYPE html>
<html xmlns:wicket="http://wicket.apache.org">
<wicket:panel>
<div wicket:id="panel"/>
</wicket:panel>
</html>
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
/*
* Copyright (c) 2021 Evolveum and contributors
*
* This work is dual-licensed under the Apache License 2.0
* and European Union Public License. See LICENSE file for details.
*/
package com.evolveum.midpoint.gui.impl.page.admin.focus.component;

import com.evolveum.midpoint.gui.api.prism.wrapper.PrismObjectWrapper;
import com.evolveum.midpoint.gui.impl.page.admin.AbstractObjectMainPanel;
import com.evolveum.midpoint.gui.impl.page.admin.assignmentholder.FocusDetailsModels;
import com.evolveum.midpoint.gui.impl.prism.panel.SingleContainerPanel;
import com.evolveum.midpoint.prism.Containerable;
import com.evolveum.midpoint.prism.path.ItemName;
import com.evolveum.midpoint.prism.path.ItemPath;
import com.evolveum.midpoint.util.logging.Trace;
import com.evolveum.midpoint.util.logging.TraceManager;
import com.evolveum.midpoint.web.application.PanelDisplay;
import com.evolveum.midpoint.web.application.PanelInstance;
import com.evolveum.midpoint.web.application.PanelType;
import com.evolveum.midpoint.web.model.PrismContainerWrapperModel;
import com.evolveum.midpoint.xml.ns._public.common.common_3.*;

import org.apache.wicket.model.IModel;

@PanelType(name = "password")
@PanelInstance(identifier = "password",
applicableForType = UserType.class,
display = @PanelDisplay(label = "prismPropertyPanel.name.credentials.password", order = 50))
public class FocusPasswordPanel<F extends FocusType, FDM extends FocusDetailsModels<F>> extends AbstractObjectMainPanel<F, FDM> {
private static final long serialVersionUID = 1L;

private static final Trace LOGGER = TraceManager.getTrace(FocusPasswordPanel.class);
private static final String ID_PANEL = "panel";

private static final String DOT_CLASS = FocusPasswordPanel.class.getName() + ".";

public FocusPasswordPanel(String id, FDM model, ContainerPanelConfigurationType config) {
super(id, model, config);
}

@Override
protected void initLayout() {
SingleContainerPanel panel =
new SingleContainerPanel<>(ID_PANEL,
PrismContainerWrapperModel.fromContainerWrapper(getObjectWrapperModel(), ItemPath.create(FocusType.F_CREDENTIALS, CredentialsType.F_PASSWORD)),
PasswordType.COMPLEX_TYPE);
add(panel);
}
}

0 comments on commit 7bdc035

Please sign in to comment.