From f1ee975f6b18d1323c064d7155a113e09f539f6c Mon Sep 17 00:00:00 2001 From: kate Date: Fri, 19 Jan 2018 16:17:13 +0100 Subject: [PATCH 1/3] small properties fix --- .../src/main/resources/localization/Midpoint.properties | 2 +- .../src/main/resources/localization/Midpoint_en.properties | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/gui/admin-gui/src/main/resources/localization/Midpoint.properties b/gui/admin-gui/src/main/resources/localization/Midpoint.properties index bd4ff319198..7786b125c6d 100755 --- a/gui/admin-gui/src/main/resources/localization/Midpoint.properties +++ b/gui/admin-gui/src/main/resources/localization/Midpoint.properties @@ -77,7 +77,7 @@ MetadataPanel.modifyApprovalTimestamp=Modify approval timestamp RelationTypes.MANAGER=Manager RelationTypes.OWNER=Owner RelationTypes.APPROVER=Approver -RelationTypes.MEMBER=Member +RelationTypes.MEMBER=Default RelationTypes.ANY=Any DelegationEditorPanel.from=From DelegationEditorPanel.to=To diff --git a/gui/admin-gui/src/main/resources/localization/Midpoint_en.properties b/gui/admin-gui/src/main/resources/localization/Midpoint_en.properties index 7ae6b7f4fc9..2a61b271617 100644 --- a/gui/admin-gui/src/main/resources/localization/Midpoint_en.properties +++ b/gui/admin-gui/src/main/resources/localization/Midpoint_en.properties @@ -77,7 +77,7 @@ MetadataPanel.modifyApprovalTimestamp=Modify approval timestamp RelationTypes.MANAGER=Manager RelationTypes.OWNER=Owner RelationTypes.APPROVER=Approver -RelationTypes.MEMBER=Member +RelationTypes.MEMBER=Default DelegationEditorPanel.from=From DelegationEditorPanel.to=To DelegationEditorPanel.meLabel=Current user From 97abc8081a52f6e3d7b09a1549f9313d5f15cd78 Mon Sep 17 00:00:00 2001 From: kate Date: Sun, 21 Jan 2018 01:09:59 +0100 Subject: [PATCH 2/3] MID-4402 OpResult messages fix + some code refactoring --- .../component/input/ExpressionValuePanel.java | 52 ++++--- .../component/prism/PrismPropertyPanel.java | 2 +- .../web/component/prism/PrismValuePanel.java | 137 ++++++++++-------- 3 files changed, 105 insertions(+), 86 deletions(-) diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/input/ExpressionValuePanel.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/input/ExpressionValuePanel.java index 791549e7828..4590ccc3df6 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/input/ExpressionValuePanel.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/input/ExpressionValuePanel.java @@ -24,6 +24,7 @@ import com.evolveum.midpoint.gui.api.model.NonEmptyLoadableModel; import com.evolveum.midpoint.gui.api.model.NonEmptyModel; import com.evolveum.midpoint.gui.api.model.NonEmptyPropertyModel; +import com.evolveum.midpoint.gui.api.page.PageBase; import com.evolveum.midpoint.gui.api.util.WebModelServiceUtils; import com.evolveum.midpoint.prism.PrismObject; import com.evolveum.midpoint.prism.query.AndFilter; @@ -89,23 +90,26 @@ public class ExpressionValuePanel extends BasePanel{ private final static String ID_TARGET_SEARCH_VALUE_INPUT = "targetSearchValueInput"; ConstructionType construction; + PageBase pageBase; - public ExpressionValuePanel(String id, IModel model, ConstructionType construction){ + public ExpressionValuePanel(String id, IModel model, ConstructionType construction, PageBase pageBase){ super(id, model); this.construction = construction; - } - - @Override - protected void onInitialize(){ - super.onInitialize(); + this.pageBase = pageBase; initLayout(); } +// @Override +// protected void onInitialize(){ +// super.onInitialize(); +// initLayout(); +// } + private void initLayout(){ setOutputMarkupId(true); DropdownButtonDto addValueButtonDto = new DropdownButtonDto("", "", - getPageBase().createStringResource("ExpressionValuePanel.specifyExpression").getString(), + createStringResource("ExpressionValuePanel.specifyExpression").getString(), createAddButtonInlineMenuItems()); DropdownButtonPanel addValueButtonPanel = new DropdownButtonPanel(ID_ADD_EXPRESSION_VALUE_BUTTON, addValueButtonDto){ @@ -166,7 +170,7 @@ public List getObject() { @Override public void setObject(List strings) { - ExpressionUtil.updateLiteralExpressionValue(getModelObject(), strings, getPageBase().getPrismContext()); + ExpressionUtil.updateLiteralExpressionValue(getModelObject(), strings, pageBase.getPrismContext()); } @Override @@ -188,7 +192,7 @@ protected Boolean load() { @Override protected void modelObjectUpdatePerformed(AjaxRequestTarget target, List modelObject) { ExpressionUtil.updateLiteralExpressionValue(ExpressionValuePanel.this.getModelObject(), - modelObject, getPageBase().getPrismContext()); + modelObject, pageBase.getPrismContext()); } }; literalValueInput.setOutputMarkupId(true); @@ -228,7 +232,7 @@ public boolean isVisible(){ @Override protected void executeCustomAction(AjaxRequestTarget target, ShadowType object) { ExpressionUtil.createShadowRefEvaluatorValue(ExpressionValuePanel.this.getModelObject(), object == null ? null : object.getOid(), - getPageBase().getPrismContext()); + pageBase.getPrismContext()); } @Override @@ -250,7 +254,7 @@ protected ObjectQuery getChooseQuery() { Collection refinedAssociationDefinitions = oc.getAssociationDefinitions(); for (RefinedAssociationDefinition refinedAssociationDefinition : refinedAssociationDefinitions) { - S_FilterEntryOrEmpty atomicFilter = QueryBuilder.queryFor(ShadowType.class, getPageBase().getPrismContext()); + S_FilterEntryOrEmpty atomicFilter = QueryBuilder.queryFor(ShadowType.class, pageBase.getPrismContext()); List orFilterClauses = new ArrayList<>(); refinedAssociationDefinition.getIntents() .forEach(intent -> orFilterClauses.add(atomicFilter.item(ShadowType.F_INTENT).eq(intent).buildFilter())); @@ -325,9 +329,9 @@ protected void onUpdate(AjaxRequestTarget target){ try { ExpressionUtil.updateAssociationTargetSearchPath(getModelObject(), new ItemPathType(pathValue)); } catch (Exception ex){ - getPageBase().getFeedbackPanel().getFeedbackMessages().add(new FeedbackMessage(ExpressionValuePanel.this, + pageBase.getFeedbackPanel().getFeedbackMessages().add(new FeedbackMessage(ExpressionValuePanel.this, ex.getLocalizedMessage(), 0)); - target.add(getPageBase().getFeedbackPanel()); + target.add(pageBase.getFeedbackPanel()); } } }); @@ -346,10 +350,10 @@ protected void onUpdate(AjaxRequestTarget target){ getModel().setObject(new ExpressionType()); } try { - ExpressionUtil.updateAssociationTargetSearchValue(getModelObject(), path, value, getPageBase().getPrismContext()); + ExpressionUtil.updateAssociationTargetSearchValue(getModelObject(), path, value, pageBase.getPrismContext()); } catch (SchemaException ex){ - getPageBase().getFeedbackPanel().getFeedbackMessages().add(new FeedbackMessage(ExpressionValuePanel.this, ex.getErrorTypeMessage(), 0)); - target.add(getPageBase().getFeedbackPanel()); + pageBase.getFeedbackPanel().getFeedbackMessages().add(new FeedbackMessage(ExpressionValuePanel.this, ex.getErrorTypeMessage(), 0)); + target.add(pageBase.getFeedbackPanel()); } } }); @@ -362,14 +366,14 @@ private ObjectReferenceType getShadowRefValue() { if (shadowRef == null || shadowRef.getOid() == null){ return null; } - PolyStringType shadowName = new PolyStringType(WebModelServiceUtils.resolveReferenceName(shadowRef, getPageBase())); + PolyStringType shadowName = new PolyStringType(WebModelServiceUtils.resolveReferenceName(shadowRef, pageBase)); shadowRef.setTargetName(shadowName); return shadowRef; } private List createAddButtonInlineMenuItems(){ List menuList = new ArrayList<>(); - menuList.add(new InlineMenuItem(getPageBase().createStringResource("ExpressionValuePanel.addValueButtonDefaultTitle"), + menuList.add(new InlineMenuItem(createStringResource("ExpressionValuePanel.addValueButtonDefaultTitle"), new InlineMenuItemAction(){ private static final long serialVersionUID = 1L; @@ -378,11 +382,11 @@ public void onClick(AjaxRequestTarget target) { if (getModelObject() == null){ getModel().setObject(new ExpressionType()); } - ExpressionUtil.createShadowRefEvaluatorValue(getModelObject(), null, getPageBase().getPrismContext()); + ExpressionUtil.createShadowRefEvaluatorValue(getModelObject(), null, pageBase.getPrismContext()); target.add(ExpressionValuePanel.this); } })); - menuList.add(new InlineMenuItem(getPageBase().createStringResource("ExpressionValuePanel.addValueButtonTargetSearchTitle"), + menuList.add(new InlineMenuItem(createStringResource("ExpressionValuePanel.addValueButtonTargetSearchTitle"), new InlineMenuItemAction(){ private static final long serialVersionUID = 1L; @@ -397,7 +401,7 @@ public void onClick(AjaxRequestTarget target) { } })); - menuList.add(new InlineMenuItem(getPageBase().createStringResource("ExpressionValuePanel.addLiteralValueButton"), + menuList.add(new InlineMenuItem(createStringResource("ExpressionValuePanel.addLiteralValueButton"), new InlineMenuItemAction(){ private static final long serialVersionUID = 1L; @@ -406,7 +410,7 @@ public void onClick(AjaxRequestTarget target) { if (getModelObject() == null){ getModel().setObject(new ExpressionType()); } - ExpressionUtil.updateLiteralExpressionValue(getModelObject(), Arrays.asList(""), getPageBase().getPrismContext()); + ExpressionUtil.updateLiteralExpressionValue(getModelObject(), Arrays.asList(""), pageBase.getPrismContext()); target.add(ExpressionValuePanel.this); } @@ -421,8 +425,8 @@ private PrismObject getResource(){ } ObjectReferenceType resourceRef = construction.getResourceRef(); OperationResult result = new OperationResult(OPERATION_LOAD_RESOURCE); - Task task = getPageBase().createSimpleTask(OPERATION_LOAD_RESOURCE); - return WebModelServiceUtils.resolveReferenceNoFetch(resourceRef, getPageBase(), task, result); + Task task = pageBase.createSimpleTask(OPERATION_LOAD_RESOURCE); + return WebModelServiceUtils.resolveReferenceNoFetch(resourceRef, pageBase, task, result); } private List getLiteralValues(){ diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/prism/PrismPropertyPanel.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/prism/PrismPropertyPanel.java index e3a2fb0ef1f..3d27049a689 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/prism/PrismPropertyPanel.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/prism/PrismPropertyPanel.java @@ -224,7 +224,7 @@ public boolean isVisible() { @Override protected void populateItem(final ListItem item) { - PrismValuePanel panel = new PrismValuePanel("value", item.getModel(), label, form, getValueCssClass(), getInputCssClass(), pageBase); + PrismValuePanel panel = new PrismValuePanel("value", item.getModel(), label, form, getValueCssClass(), getInputCssClass()); item.add(panel); item.add(AttributeModifier.append("class", createStyleClassModel(item.getModel()))); diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/prism/PrismValuePanel.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/prism/PrismValuePanel.java index 5479752d382..0f58ce379d1 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/prism/PrismValuePanel.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/prism/PrismValuePanel.java @@ -23,6 +23,7 @@ import javax.xml.datatype.XMLGregorianCalendar; import javax.xml.namespace.QName; +import com.evolveum.midpoint.gui.api.component.BasePanel; import com.evolveum.midpoint.prism.*; import com.evolveum.midpoint.web.component.input.*; import com.evolveum.midpoint.web.page.admin.resources.PageResourceWizard; @@ -82,11 +83,13 @@ 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.ProtectedStringType; +import org.apache.wicket.util.visit.IVisit; +import org.apache.wicket.util.visit.IVisitor; /** * @author lazyman */ -public class PrismValuePanel extends Panel { +public class PrismValuePanel extends BasePanel { private static final long serialVersionUID = 1L; private static final String ID_FEEDBACK = "feedback"; @@ -97,21 +100,28 @@ public class PrismValuePanel extends Panel { private static final Trace LOGGER = TraceManager.getTrace(PrismValuePanel.class); - private IModel valueWrapperModel; - private PageBase pageBase; + private IModel labelModel; + private Form form; + private String valueCssClass; + private String inputCssClass; public PrismValuePanel(String id, IModel valueWrapperModel, IModel labelModel, Form form, - String valueCssClass, String inputCssClass, PageBase pageBase) { - super(id); + String valueCssClass, String inputCssClass) { + super(id, valueWrapperModel); Validate.notNull(valueWrapperModel, "Property value model must not be null."); - Validate.notNull(pageBase, "The reference to page base must not be null."); - this.pageBase = pageBase; - this.valueWrapperModel = valueWrapperModel; + this.labelModel = labelModel; + this.form = form; + this.valueCssClass = valueCssClass; + this.inputCssClass = inputCssClass; + } - initLayout(labelModel, form, valueCssClass, inputCssClass); + @Override + protected void onInitialize(){ + super.onInitialize(); + initLayout(); } - private void initLayout(IModel labelModel, Form form, String valueCssClass, String inputCssClass) { + private void initLayout() { // container WebMarkupContainer valueContainer = new WebMarkupContainer(ID_VALUE_CONTAINER); valueContainer.setOutputMarkupId(true); @@ -126,13 +136,23 @@ private void initLayout(IModel labelModel, Form form, String valueCssCla // input Panel input = createInputComponent(ID_INPUT, labelModel, form); input.add(new AttributeModifier("class", inputCssClass)); + //TODO should we set ComponentFeedbackMessageFilter for all types of input field? if (input instanceof InputPanel) { initAccessBehaviour((InputPanel) input); feedback.setFilter(new ComponentFeedbackMessageFilter(((InputPanel) input).getBaseFormComponent())); - } else if (input instanceof LockoutStatusPanel) { - feedback.setFilter(new ComponentFeedbackMessageFilter(input)); - } else if (input instanceof ValueChoosePanel) { + } else if (input instanceof LockoutStatusPanel || + input instanceof ValueChoosePanel) { feedback.setFilter(new ComponentFeedbackMessageFilter(input)); + } else if (input instanceof ExpressionValuePanel || input instanceof QNameEditorPanel){ + input.visitChildren(new IVisitor() { + @Override + public void component(Component component, IVisit objectIVisit) { + if (component instanceof FormComponent) { + feedback.setFilter(new ComponentFeedbackMessageFilter(component)); + } + } + }); + } valueContainer.add(input); @@ -180,7 +200,7 @@ private IModel createHelpModel() { @Override public String getObject() { - ItemWrapper wrapper = valueWrapperModel.getObject().getItem(); + ItemWrapper wrapper = getModel().getObject().getItem(); return wrapper.getItem().getHelp(); } }; @@ -211,7 +231,7 @@ private void initAccessBehaviour(InputPanel panel) { @Override public boolean isEnabled() { - ValueWrapper wrapper = valueWrapperModel.getObject(); + ValueWrapper wrapper = getModel().getObject(); ItemWrapper itemWrapper = wrapper.getItem(); if (wrapper.isReadonly()) { return false; @@ -283,7 +303,7 @@ private boolean hasEmptyPlaceholder(PropertyOrReferenceWrapper labelModel, Form form) { - ValueWrapper valueWrapper = valueWrapperModel.getObject(); + ValueWrapper valueWrapper = getModelObject(); ContainerWrapper objectWrapper = null; if (valueWrapper.getItem().getParent() != null) { objectWrapper = valueWrapper.getItem().getParent(); @@ -400,7 +420,7 @@ protected void onUpdate(AjaxRequestTarget target) { // however, for some special readonly types (like ObjectDeltaType) it will // return a Panel private Panel createTypedInputComponent(String id) { - final Item item = valueWrapperModel.getObject().getItem().getItem(); + final Item item = getModelObject().getItem().getItem(); Panel panel = null; if (item instanceof PrismProperty) { @@ -415,12 +435,12 @@ private Panel createTypedInputComponent(String id) { // something like that // now it works only in description if (ObjectType.F_DESCRIPTION.equals(definition.getName())) { - return new TextAreaPanel(id, new PropertyModel(valueWrapperModel, baseExpression), null); + return new TextAreaPanel(id, new PropertyModel(getModel(), baseExpression), null); } if (ActivationType.F_LOCKOUT_STATUS.equals(definition.getName())) { - return new LockoutStatusPanel(id, valueWrapperModel.getObject(), - new PropertyModel(valueWrapperModel, baseExpression)); + return new LockoutStatusPanel(id, getModel().getObject(), + new PropertyModel(getModel(), baseExpression)); } if (ExpressionType.COMPLEX_TYPE.equals(valueType)) { //it is expected that ExpressionType property is in the @@ -429,7 +449,7 @@ private Panel createTypedInputComponent(String id) { //TODO refactor to more pretty code ConstructionType construction = new ConstructionType(); try { - ContainerValueWrapper cvw = ((PropertyWrapper)(valueWrapperModel.getObject().getItem())).getContainerValue(); + ContainerValueWrapper cvw = ((PropertyWrapper)(getModel().getObject().getItem())).getContainerValue(); PrismContainerValue association = (PrismContainerValue)cvw.getContainer().getItem().getParent(); PrismContainer associationContainer = (PrismContainer)association.asContainerable().asPrismContainerValue().getParent(); PrismContainerValue constructionContainerValue = (PrismContainerValue) associationContainer.getParent(); @@ -437,17 +457,17 @@ private Panel createTypedInputComponent(String id) { } catch (Exception ex){ LOGGER.error("Unable to find Construction container for expression property"); } - return new ExpressionValuePanel(id, new PropertyModel(valueWrapperModel, baseExpression), construction); + return new ExpressionValuePanel(id, new PropertyModel(getModel(), baseExpression), construction, getPageBase()); } if (DOMUtil.XSD_DATETIME.equals(valueType)) { - panel = new DatePanel(id, new PropertyModel(valueWrapperModel, baseExpression)); + panel = new DatePanel(id, new PropertyModel(getModel(), baseExpression)); } else if (ProtectedStringType.COMPLEX_TYPE.equals(valueType)) { - panel = new PasswordPanel(id, new PropertyModel(valueWrapperModel, baseExpression), - valueWrapperModel.getObject().isReadonly()); + panel = new PasswordPanel(id, new PropertyModel(getModel(), baseExpression), + getModel().getObject().isReadonly()); } else if (DOMUtil.XSD_BOOLEAN.equals(valueType)) { - panel = new TriStateComboPanel(id, new PropertyModel(valueWrapperModel, baseExpression)); + panel = new TriStateComboPanel(id, new PropertyModel(getModel(), baseExpression)); } else if (SchemaConstants.T_POLY_STRING_TYPE.equals(valueType)) { InputPanel inputPanel; @@ -456,17 +476,17 @@ private Panel createTypedInputComponent(String id) { if (def.getValueEnumerationRef() != null) { PrismReferenceValue valueEnumerationRef = def.getValueEnumerationRef(); String lookupTableUid = valueEnumerationRef.getOid(); - Task task = pageBase.createSimpleTask("loadLookupTable"); + Task task = getPageBase().createSimpleTask("loadLookupTable"); OperationResult result = task.getResult(); Collection> options = WebModelServiceUtils .createLookupTableRetrieveOptions(); final PrismObject lookupTable = WebModelServiceUtils.loadObject(LookupTableType.class, - lookupTableUid, options, pageBase, task, result); + lookupTableUid, options, getPageBase(), task, result); if (lookupTable != null) { - inputPanel = new AutoCompleteTextPanel(id, new LookupPropertyModel(valueWrapperModel, + inputPanel = new AutoCompleteTextPanel(id, new LookupPropertyModel(getModel(), baseExpression + ".orig", lookupTable.asObjectable()), String.class) { @Override @@ -476,30 +496,30 @@ public Iterator getIterator(String input) { }; } else { - inputPanel = new TextPanel<>(id, new PropertyModel(valueWrapperModel, baseExpression + ".orig"), + inputPanel = new TextPanel<>(id, new PropertyModel(getModel(), baseExpression + ".orig"), String.class); } } else { - inputPanel = new TextPanel<>(id, new PropertyModel(valueWrapperModel, baseExpression + ".orig"), + inputPanel = new TextPanel<>(id, new PropertyModel(getModel(), baseExpression + ".orig"), String.class); } panel = inputPanel; } else if (DOMUtil.XSD_BASE64BINARY.equals(valueType)) { - panel = new UploadDownloadPanel(id, valueWrapperModel.getObject().isReadonly()) { + panel = new UploadDownloadPanel(id, getModel().getObject().isReadonly()) { @Override public InputStream getStream() { - Object object = ((PrismPropertyValue) valueWrapperModel.getObject().getValue()).getValue(); + Object object = ((PrismPropertyValue) getModel().getObject().getValue()).getValue(); return object != null ? new ByteArrayInputStream((byte[]) object) : new ByteArrayInputStream(new byte[0]); } @Override public void updateValue(byte[] file) { - ((PrismPropertyValue) valueWrapperModel.getObject().getValue()).setValue(file); + ((PrismPropertyValue) getModel().getObject().getValue()).setValue(file); } @Override @@ -526,12 +546,12 @@ public void uploadFileFailed(AjaxRequestTarget target) { panel = new ModificationsPanel(id, new AbstractReadOnlyModel() { @Override public DeltaDto getObject() { - if (valueWrapperModel.getObject() == null || valueWrapperModel.getObject().getValue() == null - || ((PrismPropertyValue) valueWrapperModel.getObject().getValue()).getValue() == null) { + if (getModel().getObject() == null || getModel().getObject().getValue() == null + || ((PrismPropertyValue) getModel().getObject().getValue()).getValue() == null) { return null; } PrismContext prismContext = ((PageBase) getPage()).getPrismContext(); - ObjectDeltaType objectDeltaType = (ObjectDeltaType) ((PrismPropertyValue) valueWrapperModel.getObject() + ObjectDeltaType objectDeltaType = (ObjectDeltaType) ((PrismPropertyValue) getModel().getObject() .getValue()).getValue(); try { ObjectDelta delta = DeltaConvertor.createObjectDelta(objectDeltaType, prismContext); @@ -549,10 +569,10 @@ public DeltaDto getObject() { @Override public String getObject() { - if (valueWrapperModel.getObject() == null || valueWrapperModel.getObject().getValue() == null) { + if (getModel().getObject() == null || getModel().getObject().getValue() == null) { return null; } - PrismPropertyValue ppv = (PrismPropertyValue) valueWrapperModel.getObject().getValue(); + PrismPropertyValue ppv = (PrismPropertyValue) getModel().getObject().getValue(); if (ppv == null || ppv.getValue() == null) { return null; } @@ -573,7 +593,7 @@ public String getObject() { } }, 10); } else if (ItemPathType.COMPLEX_TYPE.equals(valueType)) { - return new QNameEditorPanel(id, new PropertyModel(valueWrapperModel, baseExpression), null, null, + return new QNameEditorPanel(id, new PropertyModel(getModel(), baseExpression), null, null, false, false) { @Override protected AttributeAppender getSpecificLabelStyleAppender() { @@ -590,15 +610,15 @@ protected AttributeAppender getSpecificLabelStyleAppender() { } if (isEnum(property)) { - Class clazz = pageBase.getPrismContext().getSchemaRegistry().determineClassForType(definition.getTypeName()); + Class clazz = getPageBase().getPrismContext().getSchemaRegistry().determineClassForType(definition.getTypeName()); if (clazz != null) { - return WebComponentUtil.createEnumPanel(clazz, id, new PropertyModel(valueWrapperModel, baseExpression), + return WebComponentUtil.createEnumPanel(clazz, id, new PropertyModel(getModel(), baseExpression), this); } return WebComponentUtil.createEnumPanel(definition, id, - new PropertyModel<>(valueWrapperModel, baseExpression), this); + new PropertyModel<>(getModel(), baseExpression), this); } // // default QName validation is a bit weird, so let's treat // QNames as strings [TODO finish this - at the parsing side] @@ -611,17 +631,17 @@ protected AttributeAppender getSpecificLabelStyleAppender() { if (def.getValueEnumerationRef() != null) { PrismReferenceValue valueEnumerationRef = def.getValueEnumerationRef(); String lookupTableUid = valueEnumerationRef.getOid(); - Task task = pageBase.createSimpleTask("loadLookupTable"); + Task task = getPageBase().createSimpleTask("loadLookupTable"); OperationResult result = task.getResult(); Collection> options = WebModelServiceUtils .createLookupTableRetrieveOptions(); final PrismObject lookupTable = WebModelServiceUtils.loadObject(LookupTableType.class, - lookupTableUid, options, pageBase, task, result); + lookupTableUid, options, getPageBase(), task, result); if (lookupTable != null) { - panel = new AutoCompleteTextPanel(id, new LookupPropertyModel(valueWrapperModel, + panel = new AutoCompleteTextPanel(id, new LookupPropertyModel(getModel(), baseExpression, lookupTable == null ? null : lookupTable.asObjectable()), type) { @Override @@ -641,27 +661,22 @@ protected void updateFeedbackPanel(AutoCompleteTextField input, boolean isError, } else { - panel = new TextPanel<>(id, new PropertyModel(valueWrapperModel, baseExpression), type); + panel = new TextPanel<>(id, new PropertyModel(getModel(), baseExpression), type); } } else { - panel = new TextPanel<>(id, new PropertyModel(valueWrapperModel, baseExpression), type); + panel = new TextPanel<>(id, new PropertyModel(getModel(), baseExpression), type); } } } else if (item instanceof PrismReference) { - PrismContext prismContext = item.getPrismContext(); - if (prismContext == null) { - prismContext = pageBase.getPrismContext(); - } - - panel = new ValueChoosePanel(id, new PropertyModel<>(valueWrapperModel, "value")) { + panel = new ValueChoosePanel(id, new PropertyModel<>(getModel(), "value")) { private static final long serialVersionUID = 1L; @Override protected ObjectFilter createCustomFilter() { - ItemWrapper wrapper = valueWrapperModel.getObject().getItem(); + ItemWrapper wrapper = PrismValuePanel.this.getModel().getObject().getItem(); if (!(wrapper instanceof ReferenceWrapper)) { return null; } @@ -670,12 +685,12 @@ protected ObjectFilter createCustomFilter() { @Override protected boolean isEditButtonEnabled() { - return valueWrapperModel.getObject().isEditEnabled(); + return PrismValuePanel.this.getModel().getObject().isEditEnabled(); } @Override public List getSupportedTypes() { - List targetTypeList = ((ReferenceWrapper) valueWrapperModel.getObject().getItem()).getTargetTypes(); + List targetTypeList = ((ReferenceWrapper) PrismValuePanel.this.getModel().getObject().getItem()).getTargetTypes(); if (targetTypeList == null || WebComponentUtil.isAllNulls(targetTypeList)) { return Arrays.asList(ObjectType.COMPLEX_TYPE); } @@ -778,7 +793,7 @@ private String getAttributeName(ResourceAttribute attr) { private void addValue(AjaxRequestTarget target) { Component inputPanel = this.get(ID_VALUE_CONTAINER).get(ID_INPUT); - ValueWrapper wrapper = valueWrapperModel.getObject(); + ValueWrapper wrapper = getModel().getObject(); ItemWrapper propertyWrapper = wrapper.getItem(); LOGGER.debug("Adding value of {}", propertyWrapper); propertyWrapper.addValue(true); @@ -787,7 +802,7 @@ private void addValue(AjaxRequestTarget target) { } private void removeValue(AjaxRequestTarget target) { - ValueWrapper wrapper = valueWrapperModel.getObject(); + ValueWrapper wrapper = getModel().getObject(); PropertyOrReferenceWrapper propertyWrapper = (PropertyOrReferenceWrapper) wrapper.getItem(); LOGGER.debug("Removing value of {}", propertyWrapper); From 923ea590aac7398d1ccefe8105a3c5d608958868 Mon Sep 17 00:00:00 2001 From: kate Date: Mon, 22 Jan 2018 09:55:20 +0100 Subject: [PATCH 3/3] smal style fix (MID-4370) --- .../web/component/prism/PrismContainerValueHeaderPanel.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/prism/PrismContainerValueHeaderPanel.html b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/prism/PrismContainerValueHeaderPanel.html index 09c43c02319..e3b1df6dd0f 100755 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/prism/PrismContainerValueHeaderPanel.html +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/prism/PrismContainerValueHeaderPanel.html @@ -24,7 +24,7 @@
-
+