Example usage for org.apache.wicket.extensions.markup.html.form.select SelectOption getDefaultModel

List of usage examples for org.apache.wicket.extensions.markup.html.form.select SelectOption getDefaultModel

Introduction

In this page you can find the example usage for org.apache.wicket.extensions.markup.html.form.select SelectOption getDefaultModel.

Prototype

public final IModel<?> getDefaultModel() 

Source Link

Document

Gets the model.

Usage

From source file:org.sakaiproject.sitestats.tool.wicket.pages.ReportsEditPage.java

License:Educational Community License

@SuppressWarnings("serial")
private void addTools(final RepeatingView rv) {
    List<SelectOption> tools = new ArrayList<SelectOption>();
    List<ToolInfo> siteTools = Locator.getFacade().getEventRegistryService().getEventRegistry(siteId,
            getPrefsdata().isListToolEventsOnlyAvailableInSite());
    Iterator<ToolInfo> i = siteTools.iterator();
    // add tools//from  w ww  . j ava 2  s  . c o  m
    while (i.hasNext()) {
        final ToolInfo toolInfo = i.next();
        if (isToolSuported(toolInfo)) {
            tools.add(new SelectOption("option", new ToolModel(toolInfo)));
        }
    }
    WebMarkupContainer optgroupItem = new WebMarkupContainer(rv.newChildId());
    optgroupItem.setRenderBodyOnly(true);
    rv.add(optgroupItem);
    IStylableOptionRenderer optionRenderer = new IStylableOptionRenderer() {
        public String getDisplayValue(Object object) {
            SelectOption opt = (SelectOption) object;
            return ((ToolModel) opt.getDefaultModel()).getToolName();
        }

        public IModel getModel(Object value) {
            SelectOption opt = (SelectOption) value;
            return new Model(((ToolModel) opt.getDefaultModel()).getToolId());
        }

        public String getStyle(Object object) {
            SelectOption opt = (SelectOption) object;
            ToolModel toolModel = (ToolModel) opt.getDefaultModel();
            String toolId = toolModel.getToolId();
            if (!ReportManager.WHAT_EVENTS_ALLTOOLS.equals(toolId)) {
                String toolIconPath = "background-image: url("
                        + Locator.getFacade().getEventRegistryService().getToolIcon(toolId) + ");";
                String style = "background-position:left center; background-repeat:no-repeat; margin-left:3px; padding-left:20px; "
                        + toolIconPath;
                return style;
            }
            return null;
        }
    };
    Collections.sort(tools, getOptionRendererComparator(collator, optionRenderer));
    // "all" tools (insert in position 0
    tools.add(0, new SelectOption("option",
            new ToolModel(ReportManager.WHAT_EVENTS_ALLTOOLS, ReportManager.WHAT_EVENTS_ALLTOOLS)));
    StylableSelectOptions selectOptions = new StylableSelectOptions("selectOptions", tools, optionRenderer);
    selectOptions.setRenderBodyOnly(true);
    optgroupItem.add(selectOptions);
}

From source file:org.sakaiproject.sitestats.tool.wicket.pages.ReportsEditPage.java

License:Educational Community License

@SuppressWarnings("serial")
private void addEvents(final RepeatingView rv) {
    List<ToolInfo> siteTools = Locator.getFacade().getEventRegistryService().getEventRegistry(siteId,
            getPrefsdata().isListToolEventsOnlyAvailableInSite());
    Collections.sort(siteTools, getToolInfoComparator(collator));
    // add events
    Iterator<ToolInfo> i = siteTools.iterator();
    while (i.hasNext()) {
        ToolInfo toolInfo = i.next();//w ww.j av a  2  s  . c om
        if (isToolSuported(toolInfo)) {
            List<EventInfo> eventInfos = toolInfo.getEvents();
            List<SelectOption> events = new ArrayList<SelectOption>();
            Iterator<EventInfo> iE = eventInfos.iterator();
            while (iE.hasNext()) {
                EventInfo e = iE.next();
                SelectOption opt = new SelectOption("option", new EventModel(e));
                events.add(opt);
            }
            WebMarkupContainer optgroupItem = new WebMarkupContainer(rv.newChildId());
            optgroupItem.setRenderBodyOnly(true);
            rv.add(optgroupItem);
            String toolIconPath = "background-image: url("
                    + Locator.getFacade().getEventRegistryService().getToolIcon(toolInfo.getToolId()) + ");";
            String style = "background-position:left top; background-repeat:no-repeat; margin-left:3px; padding-left:20px; "
                    + toolIconPath;
            String toolName = Locator.getFacade().getEventRegistryService().getToolName(toolInfo.getToolId());
            StylableSelectOptionsGroup group = new StylableSelectOptionsGroup("group", new Model(toolName),
                    new Model(style));
            optgroupItem.add(group);
            SelectOptions selectOptions = new SelectOptions("selectOptions", events, new IOptionRenderer() {
                public String getDisplayValue(Object object) {
                    SelectOption opt = (SelectOption) object;
                    return ((EventModel) opt.getDefaultModel()).getEventName();
                }

                public IModel getModel(Object value) {
                    SelectOption opt = (SelectOption) value;
                    return new Model(((EventModel) opt.getDefaultModel()).getEventId());
                }
            });
            selectOptions.setRenderBodyOnly(true);
            group.add(selectOptions);
        }
    }
}

From source file:org.sakaiproject.sitestats.tool.wicket.pages.ReportsEditPage.java

License:Educational Community License

@SuppressWarnings("serial")
private void addUsers(final RepeatingView rv) {
    if (usersLoaded) {
        return;/*from   www .  ja  v  a2 s .  c o m*/
    }
    ajaxUpdateLock.lock();
    try {
        List<SelectOption> users = new ArrayList<SelectOption>();
        // anonymous access
        if (Locator.getFacade().getStatsManager().isShowAnonymousAccessEvents()) {
            SelectOption anon = new SelectOption("option", new Model("?"));
            users.add(anon);
        }
        // site users
        Set<String> siteUsers = null;
        try {
            siteUsers = Locator.getFacade().getSiteService().getSite(siteId).getUsers();
        } catch (IdUnusedException e) {
            LOG.warn("Site does not exist: " + siteId);
            siteUsers = new HashSet<String>();
        }
        Iterator<String> i = siteUsers.iterator();
        while (i.hasNext()) {
            String userId = i.next();
            if (userId != null) {
                SelectOption opt = new SelectOption("option", new Model(userId));
                opt.setEscapeModelStrings(true);
                users.add(opt);
            }
        }
        WebMarkupContainer optgroupItem = new WebMarkupContainer(rv.newChildId());
        optgroupItem.setRenderBodyOnly(true);
        rv.add(optgroupItem);
        IOptionRenderer optionRenderer = new IOptionRenderer() {
            public String getDisplayValue(Object object) {
                SelectOption opt = (SelectOption) object;
                String userId = (String) opt.getDefaultModel().getObject();
                if (("?").equals(userId)) {
                    return Web.escapeHtml((String) new ResourceModel("user_anonymous_access").getObject());
                } else {
                    User u = null;
                    try {
                        u = Locator.getFacade().getUserDirectoryService().getUser(userId);
                    } catch (UserNotDefinedException e) {
                        return Web.escapeHtml(userId);
                    }
                    StringBuilder buff = new StringBuilder();
                    buff.append(Locator.getFacade().getStatsManager().getUserNameForDisplay(u));
                    buff.append(" (");
                    buff.append(u.getDisplayId());
                    buff.append(")");
                    return Web.escapeHtml(buff.toString());
                }
            }

            public IModel getModel(Object value) {
                SelectOption opt = (SelectOption) value;
                return new Model((String) opt.getDefaultModel().getObject());
            }
        };
        Collections.sort(users, getOptionRendererComparator(collator, optionRenderer));
        SelectOptions selectOptions = new SelectOptions("selectOptions", users, optionRenderer);
        selectOptions.setRenderBodyOnly(true);
        optgroupItem.add(selectOptions);
        usersLoaded = true;
    } finally {
        ajaxUpdateLock.unlock();
    }
}

From source file:org.sakaiproject.sitestats.tool.wicket.pages.ReportsEditPage.java

License:Educational Community License

@SuppressWarnings("serial")
private void addGroupOptions(final RepeatingView rv) {
    boolean isSiteStatsAdminTool = Locator.getFacade().getStatsAuthz().isSiteStatsAdminPage();
    boolean renderAdminOptions = isSiteStatsAdminTool && !predefined && realSiteId.equals(siteId);

    List<String> totalsOptions = new ArrayList<String>();
    totalsOptions.add(StatsManager.T_USER);
    totalsOptions.add(StatsManager.T_TOOL);
    totalsOptions.add(StatsManager.T_EVENT);
    totalsOptions.add(StatsManager.T_RESOURCE);
    totalsOptions.add(StatsManager.T_RESOURCE_ACTION);
    totalsOptions.add(StatsManager.T_DATE);
    if (renderAdminOptions) {
        totalsOptions.add(StatsManager.T_SITE);
    }/*from  w  w w. j  av a2  s  .co m*/

    // add grouping options
    List<SelectOption> selectOptionList = new ArrayList<SelectOption>();
    Iterator<String> i = totalsOptions.iterator();
    while (i.hasNext()) {
        String totalOpt = i.next();
        SelectOption so = new SelectOption("option", new Model(totalOpt));
        so.setEscapeModelStrings(false);
        selectOptionList.add(so);
    }

    WebMarkupContainer optgroupItem = new WebMarkupContainer(rv.newChildId());
    optgroupItem.setRenderBodyOnly(true);
    rv.add(optgroupItem);
    final IOptionRenderer optionRenderer = new IOptionRenderer() {
        public String getDisplayValue(Object o) {
            SelectOption opt = (SelectOption) o;
            Object object = opt.getDefaultModel().getObject();
            if (StatsManager.T_USER.equals(object)) {
                return (String) new ResourceModel("report_option_user").getObject();
            }
            if (StatsManager.T_TOOL.equals(object)) {
                return (String) new ResourceModel("report_option_tool").getObject();
            }
            if (StatsManager.T_EVENT.equals(object)) {
                return (String) new ResourceModel("report_option_event").getObject();
            }
            if (StatsManager.T_RESOURCE.equals(object)) {
                return (String) new ResourceModel("report_option_resource").getObject();
            }
            if (StatsManager.T_RESOURCE_ACTION.equals(object)) {
                return (String) new ResourceModel("report_option_resourceaction").getObject();
            }
            if (StatsManager.T_DATE.equals(object)) {
                return (String) new ResourceModel("report_option_date").getObject();
            }
            if (StatsManager.T_LASTDATE.equals(object)) {
                return (String) new ResourceModel("report_option_lastdate").getObject();
            }
            if (StatsManager.T_SITE.equals(object)) {
                return (String) new ResourceModel("report_option_site").getObject();
            }
            return (String) object;
        }

        public IModel getModel(Object value) {
            SelectOption opt = (SelectOption) value;
            return opt.getDefaultModel();
        }
    };
    SelectOptions selectOptions = new SelectOptions("selectOptions", selectOptionList, optionRenderer);
    selectOptions.setRenderBodyOnly(true);
    selectOptions.setEscapeModelStrings(false);
    optgroupItem.add(selectOptions);
}