Skip to content

Commit

Permalink
Merge branch 'master' of https://github.com/Evolveum/midpoint
Browse files Browse the repository at this point in the history
# Conflicts:
#	gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/assignment/CatalogItemsPanel.java
  • Loading branch information
KaterynaHonchar committed Sep 15, 2017
2 parents 11e3794 + bf93efc commit 26a9451
Show file tree
Hide file tree
Showing 224 changed files with 11,534 additions and 2,967 deletions.
Expand Up @@ -17,6 +17,7 @@
package com.evolveum.midpoint.gui.api.component.result;

import com.evolveum.midpoint.gui.api.page.PageBase;
import com.evolveum.midpoint.gui.api.util.WebComponentUtil;
import com.evolveum.midpoint.prism.Visitable;
import com.evolveum.midpoint.prism.Visitor;
import com.evolveum.midpoint.schema.result.OperationResult;
Expand All @@ -34,8 +35,6 @@
import com.evolveum.midpoint.xml.ns._public.common.common_3.TaskType;
import org.apache.commons.lang.StringEscapeUtils;
import org.apache.commons.lang.Validate;
import org.apache.wicket.model.Model;
import org.apache.wicket.model.StringResourceModel;

import java.io.PrintWriter;
import java.io.Serializable;
Expand Down Expand Up @@ -92,10 +91,7 @@ public static OpResult getOpResult(PageBase page, OperationResult result){
if (result.getCause() != null && result.getCause() instanceof CommonException){
LocalizableMessage localizableMessage = ((CommonException) result.getCause()).getUserFriendlyMessage();
if (localizableMessage != null) {
String key = localizableMessage.getKey() != null ? localizableMessage.getKey() : localizableMessage.getFallbackMessage();
StringResourceModel stringResourceModel = new StringResourceModel(key, page).setModel(new Model<String>()).setDefaultValue(localizableMessage.getFallbackMessage())
.setParameters(localizableMessage.getArgs());
opResult.message = stringResourceModel.getString();
opResult.message = WebComponentUtil.resolveLocalizableMessage(localizableMessage, page);
}
}

Expand Down
Expand Up @@ -37,6 +37,8 @@
import com.evolveum.midpoint.model.api.ModelExecuteOptions;
import com.evolveum.midpoint.schema.GetOperationOptions;
import com.evolveum.midpoint.schema.SelectorOptions;
import com.evolveum.midpoint.schema.util.LocalizationUtil;
import com.evolveum.midpoint.util.*;
import com.evolveum.midpoint.web.component.prism.InputPanel;
import com.evolveum.midpoint.web.util.ObjectTypeGuiDescriptor;
import com.evolveum.midpoint.xml.ns._public.common.common_3.*;
Expand All @@ -47,11 +49,7 @@
import org.apache.commons.lang.math.NumberUtils;
import org.apache.commons.lang3.StringEscapeUtils;
import org.apache.commons.validator.routines.checkdigit.VerhoeffCheckDigit;
import org.apache.wicket.Component;
import org.apache.wicket.MarkupContainer;
import org.apache.wicket.Page;
import org.apache.wicket.PageReference;
import org.apache.wicket.Session;
import org.apache.wicket.*;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.form.AjaxFormComponentUpdatingBehavior;
import org.apache.wicket.ajax.markup.html.form.AjaxSubmitLink;
Expand All @@ -68,6 +66,7 @@
import org.apache.wicket.markup.html.form.*;
import org.apache.wicket.model.AbstractReadOnlyModel;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;
import org.apache.wicket.model.StringResourceModel;
import org.apache.wicket.request.IRequestHandler;
import org.apache.wicket.request.mapper.parameter.PageParameters;
Expand Down Expand Up @@ -123,11 +122,6 @@
import com.evolveum.midpoint.security.api.AuthorizationConstants;
import com.evolveum.midpoint.security.api.MidPointPrincipal;
import com.evolveum.midpoint.task.api.TaskCategory;
import com.evolveum.midpoint.util.DOMUtil;
import com.evolveum.midpoint.util.DebugUtil;
import com.evolveum.midpoint.util.DisplayableValue;
import com.evolveum.midpoint.util.MiscUtil;
import com.evolveum.midpoint.util.QNameUtil;
import com.evolveum.midpoint.util.exception.SchemaException;
import com.evolveum.midpoint.util.exception.SystemException;
import com.evolveum.midpoint.util.logging.LoggingUtils;
Expand Down Expand Up @@ -284,6 +278,46 @@ protected void onUpdate(AjaxRequestTarget target) {
});
}

public static String resolveLocalizableMessage(LocalizableMessageType localizableMessage, Component component) {
if (localizableMessage == null) {
return null;
}
return resolveLocalizableMessage(LocalizationUtil.parseLocalizableMessageType(localizableMessage), component);
}

public static String resolveLocalizableMessage(LocalizableMessage localizableMessage, Component component) {
if (localizableMessage == null) {
return null;
}
while (localizableMessage.getFallbackLocalizableMessage() != null) {
if (localizableMessage.getKey() != null) {
Localizer localizer = Application.get().getResourceSettings().getLocalizer();
if (localizer.getStringIgnoreSettings(localizableMessage.getKey(), component, null, null) != null) {
break; // the key exists => we can use the current localizableMessage
}
}
localizableMessage = localizableMessage.getFallbackLocalizableMessage();
}
String key = localizableMessage.getKey() != null ? localizableMessage.getKey() : localizableMessage.getFallbackMessage();
StringResourceModel stringResourceModel = new StringResourceModel(key, component)
.setModel(new Model<String>())
.setDefaultValue(localizableMessage.getFallbackMessage())
.setParameters(resolveArguments(localizableMessage.getArgs(), component));
return stringResourceModel.getString();
}

private static Object[] resolveArguments(Object[] args, Component component) {
Object[] rv = new Object[args.length];
for (int i = 0; i < args.length; i++) {
if (args[i] instanceof LocalizableMessage) {
rv[i] = resolveLocalizableMessage(((LocalizableMessage) args[i]), component);
} else {
rv[i] = args[i];
}
}
return rv;
}

public enum Channel {
// TODO: move this to schema component
LIVE_SYNC(SchemaConstants.CHANGE_CHANNEL_LIVE_SYNC_URI),
Expand Down
Expand Up @@ -168,10 +168,10 @@ protected void populateItem(final ListItem<ModificationPolicyConstraintType> lis
};
constraintsContainer.addOrReplace(modificationRepeater);

ListView assignmentRepeater = new ListView<AssignmentPolicyConstraintType>(ID_ASSIGNMENT_REPEATER, new PropertyModel<>(getModel(),
ListView assignmentRepeater = new ListView<AssignmentModificationPolicyConstraintType>(ID_ASSIGNMENT_REPEATER, new PropertyModel<>(getModel(),
pageBase.createPropertyModelExpression(PolicyRuleType.F_POLICY_CONSTRAINTS.getLocalPart(), PolicyConstraintsType.F_ASSIGNMENT.getLocalPart()))) {
@Override
protected void populateItem(final ListItem<AssignmentPolicyConstraintType> listItem) {
protected void populateItem(final ListItem<AssignmentModificationPolicyConstraintType> listItem) {
PolicyRuleConstraintsExpandablePanel assignmentPropertiesPanel =
new PolicyRuleConstraintsExpandablePanel(ID_ASSIGNMENT_CONSTRAINTS, listItem.getModel());
listItem.add(assignmentPropertiesPanel);
Expand All @@ -180,7 +180,7 @@ protected void populateItem(final ListItem<AssignmentPolicyConstraintType> listI
constraintsContainer.addOrReplace(assignmentRepeater);

ListView timeValidityRepeater = new ListView<TimeValidityPolicyConstraintType>(ID_TIME_VALIDITY_REPEATER, new PropertyModel<>(getModel(),
pageBase.createPropertyModelExpression(PolicyRuleType.F_POLICY_CONSTRAINTS.getLocalPart(), PolicyConstraintsType.F_TIME_VALIDITY.getLocalPart()))) {
pageBase.createPropertyModelExpression(PolicyRuleType.F_POLICY_CONSTRAINTS.getLocalPart(), PolicyConstraintsType.F_OBJECT_TIME_VALIDITY.getLocalPart()))) {
@Override
protected void populateItem(final ListItem<TimeValidityPolicyConstraintType> listItem) {
PolicyRuleConstraintsExpandablePanel timeValidityPropertiesPanel =
Expand Down Expand Up @@ -239,10 +239,10 @@ private void addNewModificationPerformed(AjaxRequestTarget target){
}

private void addNewTimeValidityPerformed(AjaxRequestTarget target){
if (getPolicyConstraints().getTimeValidity() == null){
getPolicyConstraints().createTimeValidityList();
if (getPolicyConstraints().getObjectTimeValidity() == null){
getPolicyConstraints().createObjectTimeValidityList();
}
getPolicyConstraints().getTimeValidity().add(new TimeValidityPolicyConstraintType());
getPolicyConstraints().getObjectTimeValidity().add(new TimeValidityPolicyConstraintType());
initConstraintsContainer(getConstraintsContainer());
target.add(getConstraintsContainer());
}
Expand All @@ -251,7 +251,7 @@ private void addNewAssignmentPerformed(AjaxRequestTarget target){
if (getPolicyConstraints().getAssignment() == null){
getPolicyConstraints().createAssignmentList();
}
getPolicyConstraints().getAssignment().add(new AssignmentPolicyConstraintType());
getPolicyConstraints().getAssignment().add(new AssignmentModificationPolicyConstraintType());
initConstraintsContainer(getConstraintsContainer());
target.add(getConstraintsContainer());
}
Expand Down
Expand Up @@ -17,14 +17,12 @@

import com.evolveum.midpoint.gui.api.page.PageBase;
import com.evolveum.midpoint.gui.api.util.WebModelServiceUtils;
import com.evolveum.midpoint.prism.PrismContainer;
import com.evolveum.midpoint.xml.ns._public.common.common_3.*;
import com.evolveum.prism.xml.ns._public.types_3.ChangeTypeType;
import com.evolveum.prism.xml.ns._public.types_3.ItemPathType;
import com.evolveum.prism.xml.ns._public.types_3.ModificationTypeType;

import javax.xml.namespace.QName;
import java.time.Duration;
import java.util.List;

/**
Expand Down Expand Up @@ -97,18 +95,18 @@ public static String getPolicyConstraintsAsString(PolicyConstraintsType policyCo
}
if (policyConstraints.getAssignment() != null){
addNewLineIfNotEmpty(policyConstraintsString);
for (AssignmentPolicyConstraintType assignment : policyConstraints.getAssignment()){
for (AssignmentModificationPolicyConstraintType assignment : policyConstraints.getAssignment()){
policyConstraintsString.append(getAssignmentAsString(assignment));
if (policyConstraints.getAssignment().indexOf(assignment) < policyConstraints.getAssignment().size() - 1){
policyConstraintsString.append("\n");
}
}
}
if (policyConstraints.getTimeValidity() != null){
if (policyConstraints.getObjectTimeValidity() != null){
addNewLineIfNotEmpty(policyConstraintsString);
for (TimeValidityPolicyConstraintType timeValidity : policyConstraints.getTimeValidity()){
for (TimeValidityPolicyConstraintType timeValidity : policyConstraints.getObjectTimeValidity()){
policyConstraintsString.append(getTimeValidityAsString(timeValidity));
if (policyConstraints.getTimeValidity().indexOf(timeValidity) < policyConstraints.getTimeValidity().size() - 1){
if (policyConstraints.getObjectTimeValidity().indexOf(timeValidity) < policyConstraints.getObjectTimeValidity().size() - 1){
policyConstraintsString.append("\n");
}
}
Expand Down Expand Up @@ -145,7 +143,8 @@ public static String getTimeValidityAsString(TimeValidityPolicyConstraintType ti
if (timeValidity == null){
return null;
}
StringBuilder sb = new StringBuilder(PolicyConstraintsType.F_TIME_VALIDITY.getLocalPart());
// TODO assignment time validity
StringBuilder sb = new StringBuilder(PolicyConstraintsType.F_OBJECT_TIME_VALIDITY.getLocalPart());
if (timeValidity.getItem() != null){
sb.append(" " + TimeValidityPolicyConstraintType.F_ITEM.getLocalPart() + ": " + timeValidity.getItem().toString() + ";");
}
Expand All @@ -161,14 +160,14 @@ public static String getTimeValidityAsString(TimeValidityPolicyConstraintType ti
return sb.toString();
}

public static String getAssignmentAsString(AssignmentPolicyConstraintType assignment){
public static String getAssignmentAsString(AssignmentModificationPolicyConstraintType assignment){
if (assignment == null){
return "";
}
StringBuilder sb = new StringBuilder(PolicyConstraintsType.F_ASSIGNMENT.getLocalPart());
if (assignment.getOperation() != null){
sb.append(" " + AssignmentPolicyConstraintType.F_OPERATION.getLocalPart() + ":");
for (ModificationTypeType type : assignment.getOperation()){
sb.append(" " + AssignmentModificationPolicyConstraintType.F_OPERATION.getLocalPart() + ":");
for (ChangeTypeType type : assignment.getOperation()){
sb.append(" " + type.value());
if (assignment.getOperation().indexOf(type) < assignment.getOperation().size() - 1){
sb.append(", ");
Expand Down Expand Up @@ -254,7 +253,7 @@ public static String getPolicyActionsAsString(PolicyActionsType policyActions){
if (policyActions.getEnforcement() != null){
sb.append(PolicyActionsType.F_ENFORCEMENT.getLocalPart());
}
if (policyActions.getApproval() != null){
if (!policyActions.getApproval().isEmpty()) {
sb.append(sb.length() > 0 ? ", " : "").append(PolicyActionsType.F_APPROVAL.getLocalPart());
}
if (policyActions.getRemediation() != null){
Expand All @@ -266,7 +265,7 @@ public static String getPolicyActionsAsString(PolicyActionsType policyActions){
if (policyActions.getCertification() != null){
sb.append(sb.length() > 0 ? ", " : "").append(PolicyActionsType.F_CERTIFICATION.getLocalPart());
}
if (policyActions.getNotification() != null){
if (!policyActions.getNotification().isEmpty()) {
sb.append(sb.length() > 0 ? ", " : "").append(PolicyActionsType.F_NOTIFICATION.getLocalPart());
}
return sb.toString();
Expand Down
Expand Up @@ -16,6 +16,8 @@

package com.evolveum.midpoint.web.component.prism;

import com.evolveum.midpoint.xml.ns._public.common.common_3.AbstractPolicyConstraintType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.AbstractRoleType;
import org.apache.wicket.AttributeModifier;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.markup.html.form.Form;
Expand All @@ -33,6 +35,8 @@
import com.evolveum.midpoint.web.component.util.VisibleEnableBehaviour;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ShadowType;

import javax.xml.namespace.QName;

/**
* @author lazyman
* @author semancik
Expand Down Expand Up @@ -64,9 +68,17 @@ public boolean isVisible() {
}

// HACK HACK HACK
if (ShadowType.F_ASSOCIATION.equals(prismContainer.getElementName())) {
QName elementName = prismContainer.getElementName();
if (ShadowType.F_ASSOCIATION.equals(elementName)) {
return true;
}
// TODO FIX THIS IMMEDIATELY (see MID-4146)
if (AbstractRoleType.F_POLICY_CONSTRAINTS.equals(elementName)) {
return false;
}
if (AbstractPolicyConstraintType.F_PRESENTATION.equals(elementName)) {
return false;
}

boolean isVisible = false;
for (ItemWrapper item : containerWrapper.getItems()) {
Expand Down
Expand Up @@ -23,7 +23,6 @@
import com.evolveum.midpoint.model.api.visualizer.Scene;
import com.evolveum.midpoint.prism.delta.ObjectDelta;
import com.evolveum.midpoint.schema.result.OperationResult;
import com.evolveum.midpoint.schema.util.MiscSchemaUtil;
import com.evolveum.midpoint.schema.util.ObjectResolver;
import com.evolveum.midpoint.task.api.Task;
import com.evolveum.midpoint.util.DebugUtil;
Expand All @@ -41,11 +40,11 @@
import com.evolveum.midpoint.web.component.wf.ApprovalProcessesPreviewPanel;
import com.evolveum.midpoint.web.page.admin.PageAdmin;
import com.evolveum.midpoint.web.page.admin.PageAdminObjectDetails;
import com.evolveum.midpoint.web.page.admin.workflow.InformationPanel;
import com.evolveum.midpoint.web.page.admin.workflow.EvaluatedTriggerGroupListPanel;
import com.evolveum.midpoint.web.page.admin.workflow.dto.ApprovalProcessExecutionInformationDto;
import com.evolveum.midpoint.web.page.admin.workflow.dto.EvaluatedTriggerGroupDto;
import com.evolveum.midpoint.web.util.OnePageParameterEncoder;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ApprovalSchemaExecutionInformationType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.InformationType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.PolicyRuleEnforcerHookPreviewOutputType;
import org.apache.wicket.ajax.AjaxRequestTarget;
Expand Down Expand Up @@ -81,7 +80,7 @@ public class PagePreviewChanges extends PageAdmin {

private IModel<SceneDto> primaryDeltasModel;
private IModel<SceneDto> secondaryDeltasModel;
private IModel<InformationType> policyViolationsModel;
private IModel<List<EvaluatedTriggerGroupDto>> policyViolationsModel;
private IModel<List<ApprovalProcessExecutionInformationDto>> approvalsModel;

public PagePreviewChanges(ModelContext<? extends ObjectType> modelContext, ModelInteractionService modelInteractionService) {
Expand Down Expand Up @@ -138,9 +137,10 @@ public SceneDto getObject() {
PolicyRuleEnforcerHookPreviewOutputType enforcements = modelContext != null
? modelContext.getHookPreviewResult(PolicyRuleEnforcerHookPreviewOutputType.class)
: null;
List<String> violations = enforcements != null ? enforcements.getExceptionMessage() : Collections.emptyList();
InformationType information = MiscSchemaUtil.createInformationType(violations);
policyViolationsModel = Model.of(information);
List<EvaluatedTriggerGroupDto> triggerGroups = enforcements != null
? Collections.singletonList(EvaluatedTriggerGroupDto.create(enforcements.getRule()))
: Collections.emptyList();
policyViolationsModel = Model.ofList(triggerGroups);

List<ApprovalSchemaExecutionInformationType> approvalsExecutionList = modelContext != null
? modelContext.getHookPreviewResults(ApprovalSchemaExecutionInformationType.class)
Expand Down Expand Up @@ -183,8 +183,8 @@ private void initLayout() {
mainForm.add(new ScenePanel(ID_SECONDARY_DELTAS_SCENE, secondaryDeltasModel));

WebMarkupContainer policyViolationsContainer = new WebMarkupContainer(ID_POLICY_VIOLATIONS_CONTAINER);
policyViolationsContainer.add(new VisibleBehaviour(() -> !policyViolationsModel.getObject().getPart().isEmpty()));
policyViolationsContainer.add(new InformationPanel(ID_POLICY_VIOLATIONS, policyViolationsModel));
policyViolationsContainer.add(new VisibleBehaviour(() -> !policyViolationsModel.getObject().isEmpty()));
policyViolationsContainer.add(new EvaluatedTriggerGroupListPanel(ID_POLICY_VIOLATIONS, policyViolationsModel));
mainForm.add(policyViolationsContainer);

WebMarkupContainer approvalsContainer = new WebMarkupContainer(ID_APPROVALS_CONTAINER);
Expand Down
Expand Up @@ -25,6 +25,7 @@
import com.evolveum.midpoint.prism.PrismObject;
import com.evolveum.midpoint.prism.PrismObjectDefinition;
import com.evolveum.midpoint.prism.delta.ChangeType;
import com.evolveum.midpoint.schema.constants.SchemaConstants;
import com.evolveum.midpoint.schema.util.ObjectTypeUtil;
import com.evolveum.midpoint.util.logging.Trace;
import com.evolveum.midpoint.util.logging.TraceManager;
Expand Down Expand Up @@ -326,7 +327,7 @@ public String getObject() {
return "";
}
if (def instanceof PrismObjectDefinition) {
return PageBase.createStringResourceStatic(ScenePanel.this, "ObjectType." +def.getTypeName().getLocalPart()).getObject();
return PageBase.createStringResourceStatic(ScenePanel.this, SchemaConstants.OBJECT_TYPE_KEY_PREFIX +def.getTypeName().getLocalPart()).getObject();
} else {
return "";
}
Expand Down

0 comments on commit 26a9451

Please sign in to comment.