diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/GuiStyleConstants.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/GuiStyleConstants.java
index 35e05539a85..b89fa12deff 100644
--- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/GuiStyleConstants.java
+++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/GuiStyleConstants.java
@@ -139,4 +139,9 @@ public class GuiStyleConstants {
public static final String DEFAULT_BG_COLOR = "#3c8dbc"; //blue-light theme
+ public static final String CLASS_PLUS_CIRCLE = "fa fa-plus-circle";
+ public static final String CLASS_PLUS_CIRCLE_SUCCESS = CLASS_PLUS_CIRCLE + " text-success";
+ public static final String CLASS_MINUS_CIRCLE = "fa fa-minus-circle";
+ public static final String CLASS_MINUS_CIRCLE_DANGER = CLASS_MINUS_CIRCLE + " text-danger";
+ public static final String CLASS_CIRCLE_FULL = "fa fa-circle";
}
diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/prism/show/SceneItemLinePanel.html b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/prism/show/SceneItemLinePanel.html
index ba7888cd7b8..0f8b065ab8a 100644
--- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/prism/show/SceneItemLinePanel.html
+++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/prism/show/SceneItemLinePanel.html
@@ -18,7 +18,13 @@
|
- |
- |
+
+
+
+ |
+
+
+
+ |
diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/prism/show/SceneItemLinePanel.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/prism/show/SceneItemLinePanel.java
index bc077a3656c..cc266beb600 100644
--- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/prism/show/SceneItemLinePanel.java
+++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/prism/show/SceneItemLinePanel.java
@@ -16,16 +16,20 @@
package com.evolveum.midpoint.web.component.prism.show;
+import com.evolveum.midpoint.gui.api.GuiStyleConstants;
import com.evolveum.midpoint.gui.api.component.BasePanel;
import com.evolveum.midpoint.model.api.visualizer.SceneItemValue;
import com.evolveum.midpoint.util.logging.Trace;
import com.evolveum.midpoint.util.logging.TraceManager;
+import com.evolveum.midpoint.web.component.data.column.ImagePanel;
import com.evolveum.midpoint.web.component.util.VisibleEnableBehaviour;
import org.apache.wicket.AttributeModifier;
+import org.apache.wicket.behavior.AttributeAppender;
import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.model.AbstractReadOnlyModel;
import org.apache.wicket.model.IModel;
+import org.apache.wicket.model.Model;
import org.apache.wicket.model.PropertyModel;
/**
@@ -36,8 +40,10 @@ public class SceneItemLinePanel extends BasePanel {
private static final String ID_NAME_CONTAINER = "nameContainer";
private static final String ID_NAME = "name";
private static final String ID_OLD_VALUE_CONTAINER = "oldValueContainer";
+ private static final String ID_OLD_VALUE_IMAGE = "oldValueImage";
private static final String ID_OLD_VALUE = "oldValue";
private static final String ID_NEW_VALUE_CONTAINER = "newValueContainer";
+ private static final String ID_NEW_VALUE_IMAGE = "newValueImage";
private static final String ID_NEW_VALUE = "newValue";
private static final Trace LOGGER = TraceManager.getTrace(SceneItemLinePanel.class);
@@ -83,6 +89,20 @@ public boolean isVisible() {
new PropertyModel(getModel(), SceneItemLineDto.F_OLD_VALUE));
sivp.setRenderBodyOnly(true);
oldValueCell.add(sivp);
+
+ ImagePanel oldValueImagePanel = new ImagePanel(ID_OLD_VALUE_IMAGE, Model.of(GuiStyleConstants.CLASS_MINUS_CIRCLE_DANGER),
+ createStringResource("SceneItemLinePanel.removedValue"));
+ oldValueImagePanel.add(new VisibleEnableBehaviour(){
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ public boolean isVisible(){
+ return getModelObject().getOldValue() != null &&
+ getModelObject().getOldValue().getSourceValue() != null;
+ }
+ });
+ oldValueCell.add(oldValueImagePanel);
+
add(oldValueCell);
WebMarkupContainer newValueCell = new WebMarkupContainer(ID_NEW_VALUE_CONTAINER);
@@ -102,6 +122,30 @@ public String getObject() {
return !getModelObject().isDelta() && getModelObject().isDeltaScene() ? "center" : null;
}
}));
+
+ ImagePanel newValueImagePanel = new ImagePanel(ID_NEW_VALUE_IMAGE,
+ !getModelObject().isDelta() && getModelObject().isDeltaScene() ?
+ Model.of(GuiStyleConstants.CLASS_CIRCLE_FULL) :
+ Model.of(GuiStyleConstants.CLASS_PLUS_CIRCLE_SUCCESS),
+ !getModelObject().isDelta() && getModelObject().isDeltaScene() ?
+ createStringResource("SceneItemLinePanel.unchangedValue")
+ : createStringResource("SceneItemLinePanel.addedValue"));
+ newValueImagePanel.add(new VisibleEnableBehaviour(){
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ public boolean isVisible(){
+ return getModelObject().getNewValue() != null &&
+ getModelObject().getNewValue().getSourceValue() != null;
+ }
+ });
+ newValueImagePanel.add(new AttributeAppender("style",
+ !getModelObject().isDelta() && getModelObject().isDeltaScene() ?
+ "float: left; margin-right: 5px; width: 30%; position: absolute;"
+ : "float: left; margin-right: 5px;"));
+ newValueCell.add(newValueImagePanel);
+
add(newValueCell);
}
+
}
diff --git a/gui/admin-gui/src/main/resources/localization/Midpoint.properties b/gui/admin-gui/src/main/resources/localization/Midpoint.properties
index a99be7490a5..d718ab3488b 100644
--- a/gui/admin-gui/src/main/resources/localization/Midpoint.properties
+++ b/gui/admin-gui/src/main/resources/localization/Midpoint.properties
@@ -3090,6 +3090,9 @@ ScenePanel.item=Item
ScenePanel.oldValue=Old value
ScenePanel.newValue=New value
ScenePanel.value=Value
+SceneItemLinePanel.removedValue=Removed value
+SceneItemLinePanel.addedValue=Added value
+SceneItemLinePanel.unchangedValue=Unchanged value
operation.com.evolveum.midpoint.web.page.admin.resources.ResourceContentTabPanel.changeOwner=Change owner (GUI)
TaskSummaryPanel.progressWithTotalKnown=Progress: {0} out of {1}
TaskSummaryPanel.progressWithTotalUnknown=Progress: {0}
diff --git a/infra/schema/src/main/java/com/evolveum/midpoint/schema/constants/SchemaConstants.java b/infra/schema/src/main/java/com/evolveum/midpoint/schema/constants/SchemaConstants.java
index b8a07be500c..6fef4fdd946 100644
--- a/infra/schema/src/main/java/com/evolveum/midpoint/schema/constants/SchemaConstants.java
+++ b/infra/schema/src/main/java/com/evolveum/midpoint/schema/constants/SchemaConstants.java
@@ -117,6 +117,7 @@ public abstract class SchemaConstants {
public static final QName C_CONNECTOR_CONNECTOR_TYPE = new QName(NS_C, "connectorType");
public static final QName C_SHADOW = new QName(NS_C, "shadow");
public static final QName C_SHADOW_TYPE = new QName(NS_C, "ShadowType");
+ public static final QName C_ORG_TYPE = new QName(NS_C, "OrgType");
public static final QName C_ATTRIBUTES = new QName(NS_C, "attributes");
public static final QName C_ASSOCIATION = new QName(NS_C, "association");
public static final QName C_CREDENTIALS_TYPE = new QName(NS_C, "CredentialsType");