Search in sources :

Example 6 with ObjectTemplateItemDefinitionType

use of com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectTemplateItemDefinitionType in project midpoint by Evolveum.

the class SchemaTransformer method applyObjectTemplateItem.

private <IV extends PrismValue, ID extends ItemDefinition> void applyObjectTemplateItem(ID itemDef, ObjectTemplateItemDefinitionType templateItemDefType, String desc) throws SchemaException {
    if (itemDef == null) {
        throw new SchemaException("No definition for " + desc);
    }
    String displayName = templateItemDefType.getDisplayName();
    if (displayName != null) {
        ((ItemDefinitionImpl) itemDef).setDisplayName(displayName);
    }
    Integer displayOrder = templateItemDefType.getDisplayOrder();
    if (displayOrder != null) {
        ((ItemDefinitionImpl) itemDef).setDisplayOrder(displayOrder);
    }
    Boolean emphasized = templateItemDefType.isEmphasized();
    if (emphasized != null) {
        ((ItemDefinitionImpl) itemDef).setEmphasized(emphasized);
    }
    List<PropertyLimitationsType> limitations = templateItemDefType.getLimitations();
    if (limitations != null) {
        PropertyLimitationsType limitationsType = MiscSchemaUtil.getLimitationsType(limitations, LayerType.PRESENTATION);
        if (limitationsType != null) {
            if (limitationsType.getMinOccurs() != null) {
                ((ItemDefinitionImpl) itemDef).setMinOccurs(XsdTypeMapper.multiplicityToInteger(limitationsType.getMinOccurs()));
            }
            if (limitationsType.getMaxOccurs() != null) {
                ((ItemDefinitionImpl) itemDef).setMaxOccurs(XsdTypeMapper.multiplicityToInteger(limitationsType.getMaxOccurs()));
            }
            if (limitationsType.isIgnore() != null) {
                ((ItemDefinitionImpl) itemDef).setIgnored(limitationsType.isIgnore());
            }
            PropertyAccessType accessType = limitationsType.getAccess();
            if (accessType != null) {
                if (accessType.isAdd() != null) {
                    ((ItemDefinitionImpl) itemDef).setCanAdd(accessType.isAdd());
                }
                if (accessType.isModify() != null) {
                    ((ItemDefinitionImpl) itemDef).setCanModify(accessType.isModify());
                }
                if (accessType.isRead() != null) {
                    ((ItemDefinitionImpl) itemDef).setCanRead(accessType.isRead());
                }
            }
        }
    }
    ObjectReferenceType valueEnumerationRef = templateItemDefType.getValueEnumerationRef();
    if (valueEnumerationRef != null) {
        PrismReferenceValue valueEnumerationRVal = MiscSchemaUtil.objectReferenceTypeToReferenceValue(valueEnumerationRef);
        ((ItemDefinitionImpl) itemDef).setValueEnumerationRef(valueEnumerationRVal);
    }
}
Also used : SchemaException(com.evolveum.midpoint.util.exception.SchemaException) ObjectReferenceType(com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectReferenceType) PropertyAccessType(com.evolveum.midpoint.xml.ns._public.common.common_3.PropertyAccessType) PropertyLimitationsType(com.evolveum.midpoint.xml.ns._public.common.common_3.PropertyLimitationsType)

Example 7 with ObjectTemplateItemDefinitionType

use of com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectTemplateItemDefinitionType in project midpoint by Evolveum.

the class ObjectTemplateItemPanel method createAdditionalColumns.

@Override
protected List<IColumn<PrismContainerValueWrapper<ObjectTemplateItemDefinitionType>, String>> createAdditionalColumns() {
    List<IColumn<PrismContainerValueWrapper<ObjectTemplateItemDefinitionType>, String>> columns = new ArrayList<>();
    columns.add(new AbstractColumn<>(createStringResource("ObjectTemplateItemDefinitionType.mapping")) {

        @Override
        public void populateItem(Item<ICellPopulator<PrismContainerValueWrapper<ObjectTemplateItemDefinitionType>>> cellItem, String componentId, IModel<PrismContainerValueWrapper<ObjectTemplateItemDefinitionType>> rowModel) {
            IModel<PrismContainerWrapper<MappingType>> mappingModel = PrismContainerWrapperModel.fromContainerValueWrapper(rowModel, ObjectTemplateItemDefinitionType.F_MAPPING);
            cellItem.add(new MappingColumnPanel(componentId, mappingModel));
        }
    });
    List<InlineMenuItem> items = new ArrayList<>();
    InlineMenuItem item = new InlineMenuItem(createStringResource("pageAdminFocus.button.delete")) {

        private static final long serialVersionUID = 1L;

        @Override
        public InlineMenuItemAction initAction() {
            return new ColumnMenuAction() {

                private static final long serialVersionUID = 1L;

                @Override
                public void onClick(AjaxRequestTarget target) {
                    getMultivalueContainerListPanel().deleteItemPerformed(target, getMultivalueContainerListPanel().getPerformedSelectedItems(getRowModel()));
                }
            };
        }
    };
    items.add(item);
    item = new ButtonInlineMenuItem(createStringResource("PageBase.button.edit")) {

        private static final long serialVersionUID = 1L;

        @Override
        public CompositedIconBuilder getIconCompositedBuilder() {
            return getDefaultCompositedIconBuilder(GuiStyleConstants.CLASS_EDIT_MENU_ITEM);
        }

        @Override
        public InlineMenuItemAction initAction() {
            return new ColumnMenuAction() {

                private static final long serialVersionUID = 1L;

                @Override
                public void onClick(AjaxRequestTarget target) {
                    getMultivalueContainerListPanel().editItemPerformed(target, getRowModel(), getMultivalueContainerListPanel().getSelectedItems());
                    target.add(getMultivalueContainerListPanel().getFeedbackPanel());
                }
            };
        }
    };
    items.add(item);
    columns.add(new InlineMenuButtonColumn(items, getPageBase()) {

        @Override
        public String getCssClass() {
            return "col-xs-1";
        }
    });
    return columns;
}
Also used : MappingType(com.evolveum.midpoint.xml.ns._public.common.common_3.MappingType) ObjectTemplateMappingType(com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectTemplateMappingType) IModel(org.apache.wicket.model.IModel) InlineMenuButtonColumn(com.evolveum.midpoint.web.component.data.column.InlineMenuButtonColumn) ArrayList(java.util.ArrayList) ObjectTemplateItemDefinitionType(com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectTemplateItemDefinitionType) ICellPopulator(org.apache.wicket.extensions.markup.html.repeater.data.grid.ICellPopulator) AjaxRequestTarget(org.apache.wicket.ajax.AjaxRequestTarget) IColumn(org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn) MappingColumnPanel(com.evolveum.midpoint.gui.impl.component.MappingColumnPanel) InlineMenuItemAction(com.evolveum.midpoint.web.component.menu.cog.InlineMenuItemAction) CompositedIconBuilder(com.evolveum.midpoint.gui.impl.component.icon.CompositedIconBuilder) InlineMenuItem(com.evolveum.midpoint.web.component.menu.cog.InlineMenuItem) ButtonInlineMenuItem(com.evolveum.midpoint.web.component.menu.cog.ButtonInlineMenuItem) ColumnMenuAction(com.evolveum.midpoint.web.component.data.column.ColumnMenuAction) PrismContainerValueWrapper(com.evolveum.midpoint.gui.api.prism.wrapper.PrismContainerValueWrapper) ButtonInlineMenuItem(com.evolveum.midpoint.web.component.menu.cog.ButtonInlineMenuItem)

Aggregations

ObjectTemplateItemDefinitionType (com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectTemplateItemDefinitionType)6 ItemPath (com.evolveum.midpoint.prism.path.ItemPath)4 ArrayList (java.util.ArrayList)3 ItemValueWithOrigin (com.evolveum.midpoint.model.impl.lens.ItemValueWithOrigin)2 DeltaSetTriple (com.evolveum.midpoint.prism.delta.DeltaSetTriple)2 ItemDelta (com.evolveum.midpoint.prism.delta.ItemDelta)2 ObjectReferenceType (com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectReferenceType)2 ObjectTemplateMappingType (com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectTemplateMappingType)2 ObjectTemplateType (com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectTemplateType)2 PropertyLimitationsType (com.evolveum.midpoint.xml.ns._public.common.common_3.PropertyLimitationsType)2 HashMap (java.util.HashMap)2 PrismContainerValueWrapper (com.evolveum.midpoint.gui.api.prism.wrapper.PrismContainerValueWrapper)1 MappingColumnPanel (com.evolveum.midpoint.gui.impl.component.MappingColumnPanel)1 CompositedIconBuilder (com.evolveum.midpoint.gui.impl.component.icon.CompositedIconBuilder)1 ItemDefinition (com.evolveum.midpoint.prism.ItemDefinition)1 PrismValue (com.evolveum.midpoint.prism.PrismValue)1 PropertyDelta (com.evolveum.midpoint.prism.delta.PropertyDelta)1 MatchingRule (com.evolveum.midpoint.prism.match.MatchingRule)1 PathKeyedMap (com.evolveum.midpoint.prism.path.PathKeyedMap)1 SchemaException (com.evolveum.midpoint.util.exception.SchemaException)1