Example usage for org.apache.wicket.model AbstractReadOnlyModel AbstractReadOnlyModel

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

Introduction

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

Prototype

AbstractReadOnlyModel

Source Link

Usage

From source file:com.asptt.plongee.resa.wicket.page.inscription.DesinscriptionFilleulPage.java

private void init() {
    try {//  w w  w. j  ava  2 s .co m
        plongeesDesFilleuls = ResaSession.get().getPlongeeService().rechercherPlongeesFilleulInscrit(parrain,
                Parameters.getInt("desincription.nb.heure"));
    } catch (TechnicalException e) {
        e.printStackTrace();
        ErreurTechniquePage etp = new ErreurTechniquePage(e);
        setResponsePage(etp);
    }

    PlongeeFilleulDataProvider pDataProvider = new PlongeeFilleulDataProvider(plongeesDesFilleuls);

    add(new DataView<InscriptionFilleul>("simple", pDataProvider) {

        private static final long serialVersionUID = 2877768852318892774L;

        @Override
        protected void populateItem(final Item<InscriptionFilleul> item) {
            final InscriptionFilleul inscription = item.getModelObject();
            final Plongee plongee = inscription.getPlongeeInscrit();
            final Adherent filleul = inscription.getFilleul();
            String nomDP = "Aucun";
            if (null != plongee.getDp()) {
                nomDP = plongee.getDp().getNom();
            }
            //preparation du message de confirmation
            IModel<Plongee> model = new Model<Plongee>(plongee);
            StringResourceModel srm = new StringResourceModel(
                    CatalogueMessages.DESINSCRIPTION_FILLEUL_CONFIRMATION, this, model,
                    new Object[] { ResaUtil.getHeurePlongee(plongee.getDatePlongee()),
                            ResaUtil.getDateString(plongee.getDatePlongee()), filleul.getNom(),
                            filleul.getPrenom() });

            item.add(new ConfirmAjaxLink("select", srm.getString()) {
                private static final long serialVersionUID = 1771547719792642196L;

                @Override
                public void onClick(AjaxRequestTarget target) {
                    desinscrire(target, plongee, filleul);
                }
            });

            String nomFilleul = filleul.getNom();
            String prenomFilleul = filleul.getPrenom();

            item.add(new Label("nom", nomFilleul));
            item.add(new Label("prenom", prenomFilleul));
            item.add(new Label("date", ResaUtil.getJourDatePlongee(plongee.getDatePlongee())));
            item.add(new Label("heure", ResaUtil.getHeurePlongee(plongee.getDatePlongee())));
            item.add(new Label("typePlongee", plongee.getTypePlongee().getText()));

            item.add(new AttributeModifier("class", true, new AbstractReadOnlyModel<String>() {
                @Override
                public String getObject() {
                    String cssClass;
                    if (item.getIndex() % 2 == 1) {
                        cssClass = "even";
                    } else {
                        cssClass = "odd";
                    }
                    boolean isInscrit = false;
                    for (Adherent adherent : plongee.getParticipants()) {
                        if (adherent.getNumeroLicense().equals(parrain.getNumeroLicense())) {
                            cssClass = cssClass + " inscrit";
                            isInscrit = true;
                        }
                    }
                    if (!plongee.isNbMiniAtteint(Parameters.getInt("nb.plongeur.mini"))) {
                        if (isInscrit) {
                            cssClass = cssClass + "MinimumPlongeur";
                        } else {
                            cssClass = cssClass + " minimumPlongeur";
                        }
                    }
                    return cssClass;
                }
            }));
        }
    });

}

From source file:com.comsysto.insight.component.HighchartsPanel.java

License:Apache License

public HighchartsPanel(String id, final Highchart highcharts) {
    super(id);//from   www.  j  a  va 2s .  c  o  m

    final WebMarkupContainer chartDiv = new WebMarkupContainer("highchart");
    chartDiv.setOutputMarkupId(true);

    add(chartDiv);

    // store ID into chart.renderTo
    highcharts.getChart().setRenderTo(chartDiv.getMarkupId());

    /*
    * we inject the script in the component body and not as a header contribution
    * because the script needs to be called each time the component is refreshed using wicket
    * ajax support.
    */
    add(new Label("script", new AbstractReadOnlyModel<String>() {
        private static final long serialVersionUID = 1L;

        @Override
        public String getObject() {
            StringBuffer js = new StringBuffer();
            js.append("var ").append(chartDiv.getMarkupId()).append(";\n");
            js.append("$(document).ready(function() {\n");
            js.append(chartDiv.getMarkupId());
            js.append(" = new Highcharts.Chart(");

            js.append(highcharts.toJson());

            js.append(" ); }); ");

            return js.toString();
        }
    }).setEscapeModelStrings(false));
}

From source file:com.eltiland.ui.course.components.tree.ELTTree.java

License:Apache License

/**
 * Populates the tree item. It creates all necesary components for the tree to work properly.
 * // w  w w .  j av a2  s .  c  om
 * @param item
 * @param level
 */
@Override
protected void populateTreeItem(final WebMarkupContainer item, final int level) {
    final ELTTreeNode node = (ELTTreeNode) item.getDefaultModelObject();

    item.add(newIndentation(item, "indent", (ELTTreeNode) item.getDefaultModelObject(), level));

    item.add(newJunctionLink(item, "link", "image", node));

    MarkupContainer nodeLink = newNodeLink(item, "nodeLink", node);
    item.add(nodeLink);

    nodeLink.add(newNodeIcon(nodeLink, "icon", node));

    nodeLink.add(new Label("label", new AbstractReadOnlyModel<String>() {
        private static final long serialVersionUID = 1L;

        @Override
        public String getObject() {
            return renderNode(node);
        }
    }));

    // do distinguish between selected and unselected rows we add an
    // behavior
    // that modifies row css class.
    item.add(new Behavior() {
        private static final long serialVersionUID = 1L;

        /**
         */
        @Override
        public void onComponentTag(final Component component, final ComponentTag tag) {
            super.onComponentTag(component, tag);
            if (getTreeState().isNodeSelected(node)) {
                tag.put("class", "row-selected");
            } else {
                tag.put("class", "row");
            }
        }
    });
}

From source file:com.evolveum.midpoint.gui.api.component.objecttypeselect.ObjectTypeSelectPanel.java

License:Apache License

private void initLayout(IModel<QName> model, final Class<O> superclass) {
    select = new DropDownChoice<>(ID_SELECT, model, new AbstractReadOnlyModel<List<QName>>() {
        private static final long serialVersionUID = 1L;

        @Override//w  w  w .j av  a  2 s. com
        public List<QName> getObject() {
            if (superclass == null || superclass == ObjectType.class) {
                return WebComponentUtil.createObjectTypeList();
            }
            if (superclass == FocusType.class) {
                return WebComponentUtil.createFocusTypeList();
            }
            if (superclass == AbstractRoleType.class) {
                return WebComponentUtil.createAbstractRoleTypeList();
            }
            throw new IllegalArgumentException("Unknown superclass " + superclass);
        }
    }, new QNameChoiceRenderer());
    select.setNullValid(true);

    add(select);
}

From source file:com.evolveum.midpoint.gui.api.component.result.OperationResultPanel.java

License:Apache License

private void initHeader(WebMarkupContainer box) {
    WebMarkupContainer iconType = new WebMarkupContainer(ID_ICON_TYPE);
    iconType.setOutputMarkupId(true);//  w w w  . j  ava2  s.  co  m
    iconType.add(new AttributeAppender("class", new AbstractReadOnlyModel<String>() {
        private static final long serialVersionUID = 1L;

        @Override
        public String getObject() {
            StringBuilder sb = new StringBuilder();

            OpResult message = getModelObject();

            switch (message.getStatus()) {
            case IN_PROGRESS:
            case NOT_APPLICABLE:
                sb.append(" fa-info");
                break;
            case SUCCESS:
                sb.append(" fa-check");
                break;
            case FATAL_ERROR:
                sb.append(" fa-ban");
                break;
            case PARTIAL_ERROR:
            case UNKNOWN:
            case WARNING:
            case HANDLED_ERROR:
            default:
                sb.append(" fa-warning");
            }

            return sb.toString();
        }
    }));

    box.add(iconType);

    Label message = createMessage();

    AjaxLink<String> showMore = new AjaxLink<String>(ID_MESSAGE) {
        private static final long serialVersionUID = 1L;

        @Override
        public void onClick(AjaxRequestTarget target) {
            OpResult result = OperationResultPanel.this.getModelObject();
            result.setShowMore(!result.isShowMore());
            result.setAlreadyShown(false); // hack to be able to expand/collapse OpResult after rendered.
            target.add(OperationResultPanel.this);
        }
    };

    showMore.add(message);
    box.add(showMore);

    AjaxLink<String> backgroundTask = new AjaxLink<String>(ID_BACKGROUND_TASK) {
        private static final long serialVersionUID = 1L;

        @Override
        public void onClick(AjaxRequestTarget target) {
            final OpResult opResult = OperationResultPanel.this.getModelObject();
            String oid = opResult.getBackgroundTaskOid();
            if (oid == null || !opResult.isBackgroundTaskVisible()) {
                return; // just for safety
            }
            ObjectReferenceType ref = ObjectTypeUtil.createObjectRef(oid, ObjectTypes.TASK);
            WebComponentUtil.dispatchToObjectDetailsPage(ref, getPageBase(), false);
        }
    };
    backgroundTask.add(new VisibleEnableBehaviour() {
        private static final long serialVersionUID = 1L;

        @Override
        public boolean isVisible() {
            return getModelObject().getBackgroundTaskOid() != null
                    && getModelObject().isBackgroundTaskVisible();
        }
    });
    box.add(backgroundTask);

    AjaxLink<String> showAll = new AjaxLink<String>(ID_SHOW_ALL) {
        private static final long serialVersionUID = 1L;

        @Override
        public void onClick(AjaxRequestTarget target) {
            showHideAll(true, OperationResultPanel.this.getModelObject(), target);
        }
    };
    showAll.add(new VisibleEnableBehaviour() {
        private static final long serialVersionUID = 1L;

        @Override
        public boolean isVisible() {
            return !OperationResultPanel.this.getModelObject().isShowMore();
        }
    });

    box.add(showAll);

    AjaxLink<String> hideAll = new AjaxLink<String>(ID_HIDE_ALL) {
        private static final long serialVersionUID = 1L;

        @Override
        public void onClick(AjaxRequestTarget target) {
            showHideAll(false, OperationResultPanel.this.getModel().getObject(), target);
        }
    };
    hideAll.add(new VisibleEnableBehaviour() {
        private static final long serialVersionUID = 1L;

        @Override
        public boolean isVisible() {
            return OperationResultPanel.this.getModelObject().isShowMore();
        }
    });

    box.add(hideAll);

    AjaxLink<String> close = new AjaxLink<String>("close") {
        private static final long serialVersionUID = 1L;

        @Override
        public void onClick(AjaxRequestTarget target) {
            close(target);

        }
    };

    box.add(close);

    DownloadLink downloadXml = new DownloadLink("downloadXml", new AbstractReadOnlyModel<File>() {
        private static final long serialVersionUID = 1L;

        @Override
        public File getObject() {
            String home = getPageBase().getMidpointConfiguration().getMidpointHome();
            File f = new File(home, "result");
            DataOutputStream dos = null;
            try {
                dos = new DataOutputStream(new FileOutputStream(f));

                dos.writeBytes(OperationResultPanel.this.getModel().getObject().getXml());
            } catch (IOException e) {
                LOGGER.error("Could not download result: {}", e.getMessage(), e);
            } finally {
                IOUtils.closeQuietly(dos);
            }

            return f;
        }

    });
    downloadXml.setDeleteAfterDownload(true);
    box.add(downloadXml);
}

From source file:com.evolveum.midpoint.gui.api.component.result.OperationResultPanel.java

License:Apache License

private IModel<String> createHeaderCss() {

    return new AbstractReadOnlyModel<String>() {
        private static final long serialVersionUID = 1L;

        @Override//from w w w  .j  a  v  a2  s. c  om
        public String getObject() {
            OpResult result = getModelObject();

            if (result == null || result.getStatus() == null) {
                return " box-warning";
            }

            switch (result.getStatus()) {
            case IN_PROGRESS:
            case NOT_APPLICABLE:
                return " box-info";
            case SUCCESS:
                return " box-success";
            case FATAL_ERROR:

                return " box-danger";
            case UNKNOWN:
            case PARTIAL_ERROR:
            case HANDLED_ERROR: // TODO:
            case WARNING:
            default:
                return " box-warning";
            }
        }

    };
}

From source file:com.evolveum.midpoint.gui.api.component.tabs.CountablePanelTab.java

License:Apache License

@Override
public IModel<String> getCountModel() {
    // We cannot get the count information from the panel.
    // When we display the tab the panel does not exist yet.
    // The panel is created only when the tab is clicked.

    return new AbstractReadOnlyModel<String>() {

        private static final long serialVersionUID = 1L;

        @Override// w w w .ja  va  2s  .co m
        public String getObject() {
            return getCount();
        }
    };
}

From source file:com.evolveum.midpoint.gui.api.page.PageBase.java

License:Apache License

protected void createBreadcrumb() {
    BreadcrumbPageClass bc = new BreadcrumbPageClass(new AbstractReadOnlyModel<String>() {
        private static final long serialVersionUID = 1L;

        @Override/*from www . j  av a 2  s  .c  o m*/
        public String getObject() {
            return getPageTitleModel().getObject();
        }
    }, this.getClass(), getPageParameters());

    getSessionStorage().pushBreadcrumb(bc);
}

From source file:com.evolveum.midpoint.gui.api.page.PageBase.java

License:Apache License

protected void createInstanceBreadcrumb() {
    BreadcrumbPageInstance bc = new BreadcrumbPageInstance(new AbstractReadOnlyModel<String>() {
        private static final long serialVersionUID = 1L;

        @Override/*w  w w  .  j a v a  2 s . c  om*/
        public String getObject() {
            return getPageTitleModel().getObject();
        }
    }, this);

    getSessionStorage().pushBreadcrumb(bc);
}

From source file:com.evolveum.midpoint.gui.api.page.PageBase.java

License:Apache License

private void initTitleLayout() {
    WebMarkupContainer pageTitleContainer = new WebMarkupContainer(ID_PAGE_TITLE_CONTAINER);
    pageTitleContainer.add(createUserStatusBehaviour(true));
    add(pageTitleContainer);/*from w w  w .  j  a  v a  2s.c o m*/

    WebMarkupContainer pageTitle = new WebMarkupContainer(ID_PAGE_TITLE);
    pageTitleContainer.add(pageTitle);
    Label pageTitleReal = new Label(ID_PAGE_TITLE_REAL, createPageTitleModel());
    pageTitleReal.setRenderBodyOnly(true);
    pageTitle.add(pageTitleReal);

    ListView breadcrumbs = new ListView<Breadcrumb>(ID_BREADCRUMB,
            new AbstractReadOnlyModel<List<Breadcrumb>>() {
                private static final long serialVersionUID = 1L;

                @Override
                public List<Breadcrumb> getObject() {
                    return getSessionStorage().getBreadcrumbs();
                }
            }) {

        @Override
        protected void populateItem(ListItem<Breadcrumb> item) {
            final Breadcrumb dto = item.getModelObject();

            AjaxLink bcLink = new AjaxLink(ID_BC_LINK) {
                private static final long serialVersionUID = 1L;

                @Override
                public void onClick(AjaxRequestTarget target) {
                    redirectBackToBreadcrumb(dto);
                }
            };
            item.add(bcLink);
            bcLink.add(new VisibleEnableBehaviour() {
                private static final long serialVersionUID = 1L;

                @Override
                public boolean isEnabled() {
                    return dto.isUseLink();
                }
            });

            WebMarkupContainer bcIcon = new WebMarkupContainer(ID_BC_ICON);
            bcIcon.add(new VisibleEnableBehaviour() {
                private static final long serialVersionUID = 1L;

                @Override
                public boolean isVisible() {
                    return dto.getIcon() != null && dto.getIcon().getObject() != null;
                }
            });
            bcIcon.add(AttributeModifier.replace("class", dto.getIcon()));
            bcLink.add(bcIcon);

            Label bcName = new Label(ID_BC_NAME, dto.getLabel());
            bcLink.add(bcName);

            item.add(new VisibleEnableBehaviour() {
                private static final long serialVersionUID = 1L;

                @Override
                public boolean isVisible() {
                    return dto.isVisible();
                }
            });
        }
    };
    add(breadcrumbs);
}