Example usage for org.apache.wicket.model IModel of

List of usage examples for org.apache.wicket.model IModel of

Introduction

In this page you can find the example usage for org.apache.wicket.model IModel of.

Prototype

@SuppressWarnings("unchecked")
static <T> IModel<T> of(IModel<?> model) 

Source Link

Document

Suppresses generics warning when casting model types.

Usage

From source file:com.evolveum.midpoint.web.component.assignment.AssignmentPanel.java

License:Apache License

private MultivalueContainerDetailsPanel<AssignmentType> createMultivalueContainerDetailsPanel(
        ListItem<ContainerValueWrapper<AssignmentType>> item) {
    if (isAssignmentsLimitReached()) {
        item.getModelObject().setReadonly(true, true);
    } else if (item.getModelObject().isReadonly()) {
        item.getModelObject().setReadonly(false, true);
    }/*from  ww w .j av a2 s.  c  o m*/
    MultivalueContainerDetailsPanel<AssignmentType> detailsPanel = new MultivalueContainerDetailsPanel<AssignmentType>(
            MultivalueContainerListPanelWithDetailsPanel.ID_ITEM_DETAILS, item.getModel()) {

        private static final long serialVersionUID = 1L;

        @Override
        protected ItemVisibility getBasicTabVisibity(ItemWrapper itemWrapper, ItemPath parentAssignmentPath) {
            return AssignmentPanel.this.getBasicTabVisibity(itemWrapper, parentAssignmentPath, item.getModel());
        }

        @Override
        protected void addBasicContainerValuePanel(String idPanel) {
            add(getBasicContainerPanel(idPanel, item.getModel()));
        }

        @Override
        protected Fragment getSpecificContainers(String contentAreaId) {
            Fragment specificContainers = getCustomSpecificContainers(contentAreaId, item.getModelObject());
            Form form = this.findParent(Form.class);

            ItemPath assignmentPath = item.getModelObject().getContainerValue().getValue()
                    .asPrismContainerValue().getPath();
            ContainerWrapperFromObjectWrapperModel<ActivationType, FocusType> activationModel = new ContainerWrapperFromObjectWrapperModel<ActivationType, FocusType>(
                    ((PageAdminObjectDetails<FocusType>) getPageBase()).getObjectModel(),
                    assignmentPath.append(AssignmentType.F_ACTIVATION));
            PrismContainerPanel<ActivationType> acitvationContainer = new PrismContainerPanel<ActivationType>(
                    ID_ACTIVATION_PANEL, IModel.of(activationModel), true, form,
                    itemWrapper -> getActivationVisibileItems(itemWrapper.getPath(), assignmentPath),
                    getPageBase());
            specificContainers.add(acitvationContainer);

            return specificContainers;
        }

        @Override
        protected DisplayNamePanel<AssignmentType> createDisplayNamePanel(String displayNamePanelId) {
            IModel<AssignmentType> displayNameModel = getDisplayModel(
                    item.getModelObject().getContainerValue().getValue());
            return new DisplayNamePanel<AssignmentType>(displayNamePanelId, displayNameModel) {

                private static final long serialVersionUID = 1L;

                @Override
                protected QName getRelation() {
                    return getRelationForDisplayNamePanel(item.getModelObject());
                }

                @Override
                protected IModel<String> getKindIntentLabelModel() {
                    return getKindIntentLabelModelForDisplayNamePanel(item.getModelObject());
                }

            };
        }

    };
    return detailsPanel;
}