Example usage for org.apache.wicket.markup.html.form ChoiceRenderer ChoiceRenderer

List of usage examples for org.apache.wicket.markup.html.form ChoiceRenderer ChoiceRenderer

Introduction

In this page you can find the example usage for org.apache.wicket.markup.html.form ChoiceRenderer ChoiceRenderer.

Prototype

public ChoiceRenderer() 

Source Link

Document

Constructor.

Usage

From source file:almira.sample.web.panel.LocaleDropDownPanel.java

License:Apache License

/**
 * Add the language panel./*from ww w.ja va2 s .  c om*/
 *
 * @param id
 *            the language id
 * @param supportedLocales
 *            the list of supported locales
 */
public LocaleDropDownPanel(String id, List<?> supportedLocales) {
    super(id);

    DropDownChoice<Object> localeDropDown = new DropDownChoice<Object>(CHOICE_PATH, supportedLocales) {
        @Override
        protected boolean wantOnSelectionChangedNotifications() {
            return true;
        }
    };

    localeDropDown.setChoiceRenderer(new ChoiceRenderer<Object>() {
        @Override
        public String getDisplayValue(Object locale) {
            return ((Locale) locale).getDisplayName(getLocale());
        }
    });

    localeDropDown.setModel(new IModel<Object>() {
        @Override
        public Object getObject() {
            return getSession().getLocale();
        }

        @Override
        public void setObject(Object object) {
            getSession().setLocale((Locale) object);
        }

        @Override
        public void detach() {
        }
    });

    add(localeDropDown);
}

From source file:com.cubeia.games.poker.admin.wicket.pages.tournaments.configuration.TournamentConfigurationPanel.java

License:Open Source License

@SuppressWarnings({ "unchecked", "rawtypes" })
public TournamentConfigurationPanel(String id, Form<?> form,
        PropertyModel<TournamentConfiguration> propertyModel, boolean sitAndGo) {
    super(id, propertyModel);
    this.model = propertyModel;
    add(new RequiredTextField<String>("name", new PropertyModel(model, "name")));
    add(new RequiredTextField<Integer>("seatsPerTable", new PropertyModel(model, "seatsPerTable")));
    DropDownChoice<TimingProfile> timing = new DropDownChoice<TimingProfile>("timingType", model("timingType"),
            adminDAO.getTimingProfiles(), renderer("name"));
    timing.setRequired(true);// w ww  . ja va2 s.c o  m
    add(timing);
    TextField<Integer> minPlayers = new TextField<Integer>("minPlayers",
            new PropertyModel(model, "minPlayers"));
    minPlayers.add(RangeValidator.minimum(2));
    add(minPlayers);
    TextField<Integer> maxPlayers = new TextField<Integer>("maxPlayers",
            new PropertyModel(model, "maxPlayers"));
    maxPlayers.add(RangeValidator.minimum(2));
    add(maxPlayers);
    add(new RequiredTextField<BigDecimal>("buyIn", new PropertyModel(model, "buyIn")));
    add(new RequiredTextField<BigDecimal>("fee", new PropertyModel(model, "fee")));
    add(new RequiredTextField<BigDecimal>("guaranteedPrizePool",
            new PropertyModel(model, "guaranteedPrizePool")));
    add(new CheckBox("payoutAsBonus", new PropertyModel(model, "payOutAsBonus")));
    add(new RequiredTextField<BigDecimal>("startingChips", new PropertyModel(model, "startingChips")));
    DropDownChoice<BetStrategyType> strategy = new DropDownChoice<BetStrategyType>("betStrategy",
            new PropertyModel(model, "betStrategy"), asList(BetStrategyType.values()), renderer("name"));
    strategy.setRequired(true);
    add(strategy);

    DropDownChoice<PokerVariant> variant = new DropDownChoice<PokerVariant>("variant",
            new PropertyModel(model, "variant"), asList(PokerVariant.values()), renderer("name"));
    variant.setRequired(true);
    add(variant);
    form.add(new TournamentPlayersValidator(minPlayers, maxPlayers));

    final List<OperatorDTO> operators = networkClient.getOperators();

    add(new ListMultipleChoice<Long>("operatorIds", model("operatorIds"), getOperatorIds(operators),
            new IChoiceRenderer<Long>() {

                @Override
                public Object getDisplayValue(Long id) {
                    return getOperatorName(operators, id);
                }

                @Override
                public String getIdValue(Long object, int index) {
                    return object.toString();
                }
            }));
    TextField<String> userRule = new TextField<String>("userRuleExpression",
            new PropertyModel(model, "userRuleExpression"));
    add(userRule);

    DropDownChoice<String> currency = new DropDownChoice<String>("currency", model("currency"),
            networkClient.getCurrencies(), new ChoiceRenderer<String>());
    currency.setRequired(true);
    add(currency);
    DropDownChoice<BlindsStructure> blindsStructure = new DropDownChoice<BlindsStructure>("blindsStructure",
            model("blindsStructure"), adminDAO.getBlindsStructures(), renderer("name"));
    blindsStructure.setRequired(true);
    add(blindsStructure);
    DropDownChoice<PayoutStructure> payoutStructure = new DropDownChoice<PayoutStructure>("payoutStructure",
            model("payoutStructure"), adminDAO.getPayoutStructures(), renderer("name"));
    payoutStructure.setRequired(true);
    add(payoutStructure);

    if (sitAndGo) {
        maxPlayers.setVisible(false);
    }

    TextArea<String> description = new TextArea<String>("description", new PropertyModel(model, "description"));
    description.add(StringValidator.maximumLength(1000));
    add(description);
}

From source file:com.doculibre.constellio.wicket.pages.SearchResultsPage.java

License:Open Source License

private void initComponents() {
    final SimpleSearch simpleSearch = getSimpleSearch();
    String collectionName = simpleSearch.getCollectionName();
    ConstellioUser currentUser = ConstellioSession.get().getUser();
    RecordCollectionServices recordCollectionServices = ConstellioSpringUtils.getRecordCollectionServices();
    RecordCollection collection = recordCollectionServices.get(collectionName);
    boolean userHasPermission = false;
    if (collection != null) {
        userHasPermission = (!collection.hasSearchPermission())
                || (currentUser != null && currentUser.hasSearchPermission(collection));
    }//w  w  w .j a  v  a 2s  . c om
    if (StringUtils.isEmpty(collectionName) || !userHasPermission) {
        setResponsePage(ConstellioApplication.get().getHomePage());
    } else {

        final IModel suggestedSearchKeyListModel = new LoadableDetachableModel() {
            @Override
            protected Object load() {
                ListOrderedMap suggestedSearch = new ListOrderedMap();
                if (simpleSearch.isQueryValid() && simpleSearch.getQuery() != null) {
                    SpellChecker spellChecker = new SpellChecker(ConstellioApplication.get().getDictionaries());
                    try {
                        if (!simpleSearch.getQuery().equals("*:*")) {
                            suggestedSearch = spellChecker.suggest(simpleSearch.getQuery(),
                                    simpleSearch.getCollectionName());
                        }
                    } catch (RuntimeException e) {
                        e.printStackTrace();
                        // chec du spellchecker, pas besoin de faire planter la page
                    }
                }
                return suggestedSearch;
            }
        };

        BaseSearchResultsPageHeaderPanel headerPanel = (BaseSearchResultsPageHeaderPanel) getHeaderComponent();
        headerPanel.setAdvancedForm(simpleSearch.getAdvancedSearchRule() != null);
        SearchFormPanel searchFormPanel = headerPanel.getSearchFormPanel();

        final ThesaurusSuggestionPanel thesaurusSuggestionPanel = new ThesaurusSuggestionPanel(
                "thesaurusSuggestion", simpleSearch, getLocale());
        add(thesaurusSuggestionPanel);

        SpellCheckerPanel spellCheckerPanel = new SpellCheckerPanel("spellChecker",
                searchFormPanel.getSearchTxtField(), searchFormPanel.getSearchButton(),
                suggestedSearchKeyListModel) {
            @SuppressWarnings("unchecked")
            public boolean isVisible() {
                boolean visible = false;
                if (dataProvider != null && !thesaurusSuggestionPanel.isVisible()) {
                    RecordCollectionServices collectionServices = ConstellioSpringUtils
                            .getRecordCollectionServices();
                    RecordCollection collection = collectionServices.get(simpleSearch.getCollectionName());
                    if (collection != null && collection.isSpellCheckerActive()
                            && simpleSearch.getAdvancedSearchRule() == null) {
                        ListOrderedMap spell = (ListOrderedMap) suggestedSearchKeyListModel.getObject();
                        if (spell.size() > 0/* && dataProvider.size() == 0 */) {
                            for (String key : (List<String>) spell.keyList()) {
                                if (spell.get(key) != null) {
                                    return visible = true;
                                }
                            }
                        }
                    }
                }
                return visible;
            }
        };
        add(spellCheckerPanel);

        dataProvider = new SearchResultsDataProvider(simpleSearch, 10);

        WebMarkupContainer searchResultsSection = new WebMarkupContainer("searchResultsSection") {
            @Override
            public boolean isVisible() {
                return StringUtils.isNotBlank(simpleSearch.getLuceneQuery());
            }
        };
        add(searchResultsSection);

        IModel detailsLabelModel = new LoadableDetachableModel() {
            @Override
            protected Object load() {
                String detailsLabel;
                QueryResponse queryResponse = dataProvider.getQueryResponse();
                long start;
                long nbRes;
                double elapsedTimeSeconds;
                if (queryResponse != null) {
                    start = queryResponse.getResults().getStart();
                    nbRes = dataProvider.size();
                    elapsedTimeSeconds = (double) queryResponse.getElapsedTime() / 1000;
                } else {
                    start = 0;
                    nbRes = 0;
                    elapsedTimeSeconds = 0;
                }
                long end = start + 10;
                if (nbRes < end) {
                    end = nbRes;
                }

                String pattern = "#.####";
                DecimalFormat elapsedTimeFormatter = new DecimalFormat(pattern);
                String elapsedTimeStr = elapsedTimeFormatter.format(elapsedTimeSeconds);

                String forTxt = new StringResourceModel("for", SearchResultsPage.this, null).getString();
                String noResultTxt = new StringResourceModel("noResult", SearchResultsPage.this, null)
                        .getString();
                String resultsTxt = new StringResourceModel("results", SearchResultsPage.this, null)
                        .getString();
                String ofTxt = new StringResourceModel("of", SearchResultsPage.this, null).getString();
                String secondsTxt = new StringResourceModel("seconds", SearchResultsPage.this, null)
                        .getString();

                String queryTxt = " ";
                if (simpleSearch.isQueryValid() && simpleSearch.getQuery() != null
                        && simpleSearch.getAdvancedSearchRule() == null) {
                    queryTxt = " " + forTxt + " " + simpleSearch.getQuery() + " ";
                }

                if (nbRes > 0) {
                    Locale locale = getLocale();
                    detailsLabel = resultsTxt + " " + NumberFormatUtils.format(start + 1, locale) + " - "
                            + NumberFormatUtils.format(end, locale) + " " + ofTxt + " "
                            + NumberFormatUtils.format(nbRes, locale) + queryTxt + "(" + elapsedTimeStr + " "
                            + secondsTxt + ")";
                } else {
                    detailsLabel = noResultTxt + " " + queryTxt + "(" + elapsedTimeStr + " " + secondsTxt + ")";
                }

                String collectionName = dataProvider.getSimpleSearch().getCollectionName();
                if (collectionName != null) {
                    RecordCollectionServices collectionServices = ConstellioSpringUtils
                            .getRecordCollectionServices();
                    RecordCollection collection = collectionServices.get(collectionName);
                    Locale displayLocale = collection.getDisplayLocale(getLocale());
                    String collectionTitle = collection.getTitle(displayLocale);
                    detailsLabel = collectionTitle + " > " + detailsLabel;
                }
                return detailsLabel;
            }
        };
        Label detailsLabel = new Label("detailsRes", detailsLabelModel);
        add(detailsLabel);

        final IModel sortOptionsModel = new LoadableDetachableModel() {

            @Override
            protected Object load() {
                List<SortChoice> choices = new ArrayList<SortChoice>();
                choices.add(new SortChoice(null, null, null));
                String collectionName = dataProvider.getSimpleSearch().getCollectionName();
                if (collectionName != null) {
                    IndexFieldServices indexFieldServices = ConstellioSpringUtils.getIndexFieldServices();
                    RecordCollectionServices collectionServices = ConstellioSpringUtils
                            .getRecordCollectionServices();
                    RecordCollection collection = collectionServices.get(collectionName);
                    for (IndexField indexField : indexFieldServices.getSortableIndexFields(collection)) {
                        String label = indexField.getLabel(IndexField.LABEL_TITLE,
                                ConstellioSession.get().getLocale());
                        if (label == null || label.isEmpty()) {
                            label = indexField.getName();
                        }
                        choices.add(new SortChoice(indexField.getName(), label, "asc"));
                        choices.add(new SortChoice(indexField.getName(), label, "desc"));
                    }
                }
                return choices;
            }
        };

        IChoiceRenderer triChoiceRenderer = new ChoiceRenderer() {
            @Override
            public Object getDisplayValue(Object object) {
                SortChoice choice = (SortChoice) object;
                String displayValue;
                if (choice.title == null) {
                    displayValue = new StringResourceModel("sort.relevance", SearchResultsPage.this, null)
                            .getString();
                } else {
                    String order = new StringResourceModel("sortOrder." + choice.order, SearchResultsPage.this,
                            null).getString();
                    displayValue = choice.title + " " + order;
                }
                return displayValue;
            }
        };
        IModel value = new Model(new SortChoice(simpleSearch.getSortField(), simpleSearch.getSortField(),
                simpleSearch.getSortOrder()));
        DropDownChoice sortField = new DropDownChoice("sortField", value, sortOptionsModel, triChoiceRenderer) {
            @Override
            protected boolean wantOnSelectionChangedNotifications() {
                return true;
            }

            @Override
            protected void onSelectionChanged(Object newSelection) {
                SortChoice choice = (SortChoice) newSelection;
                if (choice.name == null) {
                    simpleSearch.setSortField(null);
                    simpleSearch.setSortOrder(null);
                } else {
                    simpleSearch.setSortField(choice.name);
                    simpleSearch.setSortOrder(choice.order);
                }
                simpleSearch.setPage(0);

                PageFactoryPlugin pageFactoryPlugin = PluginFactory.getPlugin(PageFactoryPlugin.class);
                RequestCycle.get().setResponsePage(pageFactoryPlugin.getSearchResultsPage(),
                        SearchResultsPage.getParameters(simpleSearch));
            }

            @Override
            public boolean isVisible() {
                return ((List<?>) sortOptionsModel.getObject()).size() > 1;
            }
        };
        searchResultsSection.add(sortField);
        sortField.setNullValid(false);

        add(new AjaxLazyLoadPanel("facetsPanel") {
            @Override
            public Component getLazyLoadComponent(String markupId) {
                return new FacetsPanel(markupId, dataProvider);
            }
        });

        final IModel featuredLinkModel = new LoadableDetachableModel() {
            @Override
            protected Object load() {
                FeaturedLink suggestion;
                RecordCollectionServices collectionServices = ConstellioSpringUtils
                        .getRecordCollectionServices();
                FeaturedLinkServices featuredLinkServices = ConstellioSpringUtils.getFeaturedLinkServices();
                Long featuredLinkId = simpleSearch.getFeaturedLinkId();
                if (featuredLinkId != null) {
                    suggestion = featuredLinkServices.get(featuredLinkId);
                } else {
                    String collectionName = simpleSearch.getCollectionName();
                    if (simpleSearch.getAdvancedSearchRule() == null) {
                        String text = simpleSearch.getQuery();
                        RecordCollection collection = collectionServices.get(collectionName);
                        suggestion = featuredLinkServices.suggest(text, collection);
                        if (suggestion == null) {
                            SynonymServices synonymServices = ConstellioSpringUtils.getSynonymServices();
                            List<String> synonyms = synonymServices.getSynonyms(text, collectionName);
                            if (!synonyms.isEmpty()) {
                                for (String synonym : synonyms) {
                                    if (!synonym.equals(text)) {
                                        suggestion = featuredLinkServices.suggest(synonym, collection);
                                    }
                                    if (suggestion != null) {
                                        break;
                                    }
                                }
                            }
                        }
                    } else {
                        suggestion = new FeaturedLink();
                    }
                }
                return suggestion;
            }
        };
        IModel featuredLinkTitleModel = new LoadableDetachableModel() {
            @Override
            protected Object load() {
                FeaturedLink featuredLink = (FeaturedLink) featuredLinkModel.getObject();
                return featuredLink.getTitle(getLocale());
            }
        };
        final IModel featuredLinkDescriptionModel = new LoadableDetachableModel() {
            @Override
            protected Object load() {
                FeaturedLink featuredLink = (FeaturedLink) featuredLinkModel.getObject();
                StringBuffer descriptionSB = new StringBuffer();
                String description = featuredLink.getDescription(getLocale());
                if (description != null) {
                    descriptionSB.append(description);
                    String lookFor = "${";
                    int indexOfLookFor = -1;
                    while ((indexOfLookFor = descriptionSB.indexOf(lookFor)) != -1) {
                        int indexOfEnclosingQuote = descriptionSB.indexOf("}", indexOfLookFor);
                        String featuredLinkIdStr = descriptionSB.substring(indexOfLookFor + lookFor.length(),
                                indexOfEnclosingQuote);

                        int indexOfTagBodyStart = descriptionSB.indexOf(">", indexOfEnclosingQuote) + 1;
                        int indexOfTagBodyEnd = descriptionSB.indexOf("</a>", indexOfTagBodyStart);
                        String capsuleQuery = descriptionSB.substring(indexOfTagBodyStart, indexOfTagBodyEnd);
                        if (capsuleQuery.indexOf("<br/>") != -1) {
                            capsuleQuery = StringUtils.remove(capsuleQuery, "<br/>");
                        }
                        if (capsuleQuery.indexOf("<br />") != -1) {
                            capsuleQuery = StringUtils.remove(capsuleQuery, "<br />");
                        }

                        try {
                            String linkedCapsuleURL = getFeaturedLinkURL(new Long(featuredLinkIdStr));
                            descriptionSB.replace(indexOfLookFor, indexOfEnclosingQuote + 1, linkedCapsuleURL);
                        } catch (NumberFormatException e) {
                            // Ignore
                        }
                    }
                }
                return descriptionSB.toString();
            }

            private String getFeaturedLinkURL(Long featuredLinkId) {
                SimpleSearch clone = simpleSearch.clone();
                clone.setFeaturedLinkId(featuredLinkId);
                PageFactoryPlugin pageFactoryPlugin = PluginFactory.getPlugin(PageFactoryPlugin.class);
                String url = RequestCycle.get()
                        .urlFor(pageFactoryPlugin.getSearchResultsPage(), getParameters(clone)).toString();
                return url;
            }
        };

        WebMarkupContainer featuredLink = new WebMarkupContainer("featuredLink", featuredLinkModel) {
            @Override
            public boolean isVisible() {
                boolean visible = super.isVisible();
                if (visible) {
                    if (featuredLinkModel.getObject() != null) {
                        String description = (String) featuredLinkDescriptionModel.getObject();
                        visible = StringUtils.isNotEmpty(description);
                    } else {
                        visible = false;
                    }
                }
                DataView dataView = (DataView) searchResultsPanel.getDataView();
                return visible && dataView.getCurrentPage() == 0;
            }
        };
        searchResultsSection.add(featuredLink);
        featuredLink.add(new Label("title", featuredLinkTitleModel));
        featuredLink.add(new WebMarkupContainer("description", featuredLinkDescriptionModel) {
            @Override
            protected void onComponentTagBody(MarkupStream markupStream, ComponentTag openTag) {
                String descriptionHTML = (String) getModel().getObject();
                replaceComponentTagBody(markupStream, openTag, descriptionHTML);
            }
        });

        searchResultsSection
                .add(searchResultsPanel = new SearchResultsPanel("resultatsRecherchePanel", dataProvider));
    }
}

From source file:com.doculibre.constellio.wicket.panels.admin.categorization.AddEditCategorizationPanel.java

License:Open Source License

public AddEditCategorizationPanel(String id, Categorization categorization) {
    super(id, true);
    this.categorizationModel = new ReloadableEntityModel<Categorization>(categorization);
    for (CategorizationRule categorizationRule : categorization.getCategorizationRules()) {
        rules.add(new CategorizationRuleDTO(categorizationRule));
    }//from  w w w  . j  a  va  2  s.c o  m

    Form form = getForm();
    form.setModel(new CompoundPropertyModel(categorizationModel));

    TextField nameField = new RequiredTextField("name");
    form.add(nameField);

    form.add(new CategorizationRuleListPanel("rulesPanel"));

    IModel indexFieldsModel = new AdminCollectionIndexFieldsModel(this);

    IChoiceRenderer indexFieldRenderer = new ChoiceRenderer() {
        @Override
        public Object getDisplayValue(Object object) {
            IndexField indexField = (IndexField) object;
            return indexField.getName();
        }
    };

    DropDownChoice indexField = new DropDownChoice("indexField", indexFieldsModel, indexFieldRenderer);
    indexField.setRequired(true);
    form.add(indexField);
}

From source file:com.doculibre.constellio.wicket.panels.admin.categorization.rules.AddEditCategorizationRulePanel.java

License:Open Source License

public AddEditCategorizationRulePanel(String id, CategorizationRule categorizationRule,
        Integer categorizationRuleListPosition) {
    super(id, true);
    this.categorizationRuleDTO = new CategorizationRuleDTO(categorizationRule);
    this.categorizationRuleListPosition = categorizationRuleListPosition;
    values.addAll(categorizationRule.getMatchRegexpIndexedValues());

    Form form = getForm();/*from w  w w  .ja v a  2 s .c  om*/
    form.setModel(new CompoundPropertyModel(categorizationRuleDTO));

    IModel indexFieldsModel = new AdminCollectionIndexFieldsModel(this);

    IChoiceRenderer indexFieldRenderer = new ChoiceRenderer() {
        @Override
        public Object getDisplayValue(Object object) {
            IndexField indexField = (IndexField) object;
            return indexField.getName();
        }
    };

    indexField = new DropDownChoice("indexField", indexFieldsModel, indexFieldRenderer);
    indexField.setRequired(true);
    indexField.setLabel(new StringResourceModel("sourceIndexField", this, null));
    form.add(indexField);

    matchRegexp = new RequiredTextField("matchRegexp");
    form.add(matchRegexp);

    form.add(new CategorizationRuleValueListPanel("matchRegexpIndexedValues"));
}

From source file:com.doculibre.constellio.wicket.panels.admin.collectionPermission.AddEditCollectionPermissionPanel.java

License:Open Source License

public AddEditCollectionPermissionPanel(String id, CollectionPermission collectionPermission) {
    super(id, true);
    this.collectionPermissionModel = new ReloadableEntityModel<CollectionPermission>(collectionPermission);
    this.isCreation = collectionPermission.getId() == null;

    Form form = getForm();/*from  ww  w  .  j  ava  2s.c  om*/
    form.setModel(new CompoundPropertyModel(collectionPermissionModel));

    IModel usersModel = new LoadableDetachableModel() {
        @Override
        protected Object load() {
            UserServices userServices = ConstellioSpringUtils.getUserServices();
            return new ArrayList<ConstellioUser>(userServices.list());
        }
    };
    IChoiceRenderer userRenderer = new ChoiceRenderer() {
        @Override
        public Object getDisplayValue(Object object) {
            ConstellioUser user = (ConstellioUser) object;
            return user.getFirstName() + " " + user.getLastName() + " (" + user.getUsername() + ")";
        }
    };
    userField = new DropDownChoice("constellioUser", usersModel, userRenderer);
    form.add(userField);
    userField.add(new AjaxFormComponentUpdatingBehavior("onchange") {
        @Override
        protected void onUpdate(AjaxRequestTarget target) {
            target.addComponent(groupField);
        }
    });

    IModel groupsModel = new LoadableDetachableModel() {
        @Override
        protected Object load() {
            GroupServices groupServices = ConstellioSpringUtils.getGroupServices();
            return new ArrayList<ConstellioGroup>(groupServices.list());
        }
    };
    IChoiceRenderer groupRenderer = new ChoiceRenderer("name");
    groupField = new DropDownChoice("constellioGroup", groupsModel, groupRenderer);
    form.add(groupField);
    groupField.add(new AjaxFormComponentUpdatingBehavior("onchange") {
        @Override
        protected void onUpdate(AjaxRequestTarget target) {
            target.addComponent(userField);
        }
    });

    form.add(new CheckBox("search"));
    form.add(new CheckBox("collaboration"));
    form.add(new CheckBox("admin"));

    form.add(new AbstractFormValidator() {
        @Override
        public void validate(Form form) {
            CollectionPermission collectionPermission = collectionPermissionModel.getObject();
            if (collectionPermission.getConstellioUser() == null
                    && collectionPermission.getConstellioGroup() == null) {
                error(userField, "userOrGroupRequired");
                error(groupField, "userOrGroupRequired");
            }
        }

        @Override
        public FormComponent[] getDependentFormComponents() {
            return null;
        }
    });

}

From source file:com.doculibre.constellio.wicket.panels.admin.connector.AddEditConnectorPanel.java

License:Open Source License

public AddEditConnectorPanel(String id, ConnectorInstance connectorInstance) {
    super(id, true);
    this.connectorInstanceModel = new ReloadableEntityModel<ConnectorInstance>(connectorInstance);

    add = connectorInstance.getId() == null;

    Form form = getForm();/*ww  w.  j av  a  2  s  . c o  m*/
    form.setModel(new CompoundPropertyModel(connectorInstanceModel));

    form.add(new RequiredTextField("displayName"));

    ConnectorManagerServices connectorManagerServices = ConstellioSpringUtils.getConnectorManagerServices();
    ConnectorManager connectorManager = connectorManagerServices.getDefaultConnectorManager();
    Schedule schedule;
    if (connectorInstance.getName() != null) {
        schedule = connectorManagerServices.getSchedule(connectorManager, connectorInstance.getName());
        if (schedule == null) {
            schedule = connectorManagerServices.getDefaultSchedule();
        }
    } else {
        schedule = connectorManagerServices.getDefaultSchedule();
    }
    serializableSchedule = new SerializableSchedule(schedule);

    IModel typesModel = new LoadableDetachableModel() {
        @Override
        protected Object load() {
            ConnectorTypeServices connectorTypeServices = ConstellioSpringUtils.getConnectorTypeServices();
            return connectorTypeServices.list();
        }
    };

    IChoiceRenderer typeRenderer = new ChoiceRenderer() {
        @Override
        public Object getDisplayValue(Object object) {
            String displayValue;
            ConnectorType connectorType = (ConnectorType) object;
            displayValue = connectorType.getName();
            return displayValue;
        }
    };

    final DropDownChoice typeField = new DropDownChoice("connectorType", typesModel, typeRenderer);
    form.add(typeField);

    ConnectorTypeServices connectorTypeServices = ConstellioSpringUtils.getConnectorTypeServices();
    List<ConnectorType> connectorTypes = connectorTypeServices.list();
    if (connectorTypes.size() == 1) {
        typeField.setModelObject(connectorTypes.get(0));
    }

    IModel loadModel = new PropertyModel(serializableSchedule, "load");
    form.add(new TextField("load", loadModel));

    IModel retryDelayMillisModel = new PropertyModel(serializableSchedule, "retryDelayMillis");
    form.add(new TextField("retryDelayMillis", retryDelayMillisModel));

    IModel disabledModel = new PropertyModel(serializableSchedule, "disabled");
    disabledField = new CheckBox("disabled", disabledModel);
    disabledField.setOutputMarkupId(true);
    form.add(disabledField);

    final IModel connectorTypeNameModel = new LoadableDetachableModel() {
        @Override
        protected Object load() {
            ConnectorInstance connectorInstance = connectorInstanceModel.getObject();
            ConnectorType connectorType = connectorInstance.getConnectorType();
            return connectorType != null ? connectorType.getName() : null;
        }
    };
    configFormSnippet = new ConnectorInstanceConfigFormSnippet("configFormSnippet", connectorTypeNameModel,
            connectorInstance.getName());
    form.add(configFormSnippet);

    typeField.add(new AjaxFormComponentUpdatingBehavior("onchange") {
        @Override
        protected void onUpdate(AjaxRequestTarget target) {
            configFormSnippet.reset();
            target.addComponent(configFormSnippet);
        }
    });

    form.add(new TimeIntervalListPanel("timeIntervalsPanel"));
}

From source file:com.doculibre.constellio.wicket.panels.admin.connector.schedule.AddEditTimeIntervalPanel.java

License:Open Source License

public AddEditTimeIntervalPanel(String id, SerializableScheduleTimeInterval timeInterval, int index) {
    super(id, true);
    this.timeIntervalModel = new Model(timeInterval.clone());
    this.timeIntervalIndex = index;

    Form form = getForm();/*from w w  w.ja  v  a 2  s .  c  om*/
    form.setModel(new CompoundPropertyModel(timeIntervalModel));

    List<Integer> hours = new ArrayList<Integer>();
    for (int i = 0; i < 24; i++) {
        hours.add(i);
    }
    IChoiceRenderer hoursRenderer = new ChoiceRenderer() {
        @Override
        public Object getDisplayValue(Object object) {
            Integer hour = (Integer) object;
            StringBuffer hourString = new StringBuffer();
            if (hour < 10) {
                hourString.append("0");
            }
            hourString.append(hour);
            hourString.append(":00");
            return hourString.toString();
        }
    };

    form.add(new DropDownChoice("startTime.hour", hours, hoursRenderer));
    form.add(new DropDownChoice("endTime.hour", hours, hoursRenderer));
}

From source file:com.doculibre.constellio.wicket.panels.admin.facets.AddEditFacetPanel.java

License:Open Source License

public AddEditFacetPanel(String id, CollectionFacet facet) {
    super(id, true);
    this.facetModel = new ReloadableEntityModel<CollectionFacet>(facet);
    this.indexFieldOptionsModel = new AdminCollectionIndexFieldsModel(this);

    this.indexFieldRenderer = new ChoiceRenderer() {
        @Override/*from w ww . ja va2 s .co m*/
        public Object getDisplayValue(Object object) {
            IndexField indexField = (IndexField) object;
            return indexField.getName();
        }
    };

    Form form = getForm();
    form.setModel(new CompoundPropertyModel(facetModel));

    final WebMarkupContainer contextFieldsContainer = new WebMarkupContainer("contextFields");
    form.add(contextFieldsContainer);
    contextFieldsContainer.setOutputMarkupId(true);

    IModel localesModel = new LoadableDetachableModel() {
        @Override
        protected Object load() {
            AdminCollectionPanel collectionAdminPanel = (AdminCollectionPanel) findParent(
                    AdminCollectionPanel.class);
            RecordCollection collection = collectionAdminPanel.getCollection();
            return collection.getLocales();
        }
    };
    MultiLocaleComponentHolder nameHolder = new MultiLocaleComponentHolder("name", facetModel, localesModel) {
        @Override
        protected void onPopulateItem(ListItem item, IModel componentModel, Locale locale) {
            TextField nameField = new RequiredTextField("nameLocale", componentModel);
            item.add(nameField);
            item.add(new LocaleNameLabel("localeName", locale, true) {
                @Override
                public boolean isVisible() {
                    AdminCollectionPanel collectionAdminPanel = (AdminCollectionPanel) findParent(
                            AdminCollectionPanel.class);
                    RecordCollection collection = collectionAdminPanel.getCollection();
                    return collection.getLocales().size() > 1;
                }
            });
        }
    };
    form.add(nameHolder);

    IChoiceRenderer facetTypeRenderer = new ChoiceRenderer() {
        @Override
        public Object getDisplayValue(Object object) {
            String key = "facetType." + object;
            return getLocalizer().getString(key, AddEditFacetPanel.this);
        }
    };
    DropDownChoice facetType = new DropDownChoice("facetType", Arrays.asList(CollectionFacet.FACET_TYPES),
            facetTypeRenderer);
    form.add(facetType);
    facetType.setOutputMarkupId(true);
    facetType.add(new OnChangeAjaxBehavior() {
        @Override
        protected void onUpdate(AjaxRequestTarget target) {
            target.addComponent(contextFieldsContainer);
        }
    });

    CheckBox hideEmptyValues = new CheckBox("hideEmptyValues");
    CheckBox sortable = new CheckBox("sortable");
    CheckBox multiValued = new CheckBox("multiValued");
    form.add(hideEmptyValues);
    form.add(sortable);
    form.add(multiValued);

    //FIXME Bug when changing the type of an existing facet
    facetType.setEnabled(facet.getId() == null);

    addFieldFacetFields(contextFieldsContainer);
    addQueryFacetFields(contextFieldsContainer);
    addClusterFacetFields(contextFieldsContainer);
    addCloudKeywordFields(contextFieldsContainer);
}

From source file:com.doculibre.constellio.wicket.panels.admin.federation.AddIncludedCollectionPanel.java

License:Open Source License

public AddIncludedCollectionPanel(String id, CollectionFederation federation) {
    super(id, true);
    this.federationModel = new EntityModel<CollectionFederation>(federation);

    Form form = getForm();/* www  .  j  a  v  a  2s  . com*/
    form.setModel(new CompoundPropertyModel(federationModel));
    form.add(new SetFocusBehavior(form));

    includableCollectionsModel = new LoadableDetachableModel() {
        @Override
        protected Object load() {
            List<RecordCollection> includableCollections = new ArrayList<RecordCollection>();
            RecordCollectionServices collectionServices = ConstellioSpringUtils.getRecordCollectionServices();
            FederationServices federationServices = ConstellioSpringUtils.getFederationServices();
            AdminCollectionPanel collectionAdminPanel = (AdminCollectionPanel) findParent(
                    AdminCollectionPanel.class);
            RecordCollection collection = collectionAdminPanel.getCollection();
            Set<RecordCollection> includedCollections = collection.getIncludedCollections();
            List<RecordCollection> allCollections = collectionServices.list();
            for (RecordCollection existingCollection : allCollections) {
                if (!existingCollection.isOpenSearch() && !existingCollection.equals(collection)
                        && !includedCollections.contains(existingCollection)) {
                    if (existingCollection.isFederationOwner()) {
                        List<RecordCollection> existingColletionIncludedCollections = federationServices
                                .listIncludedCollections(existingCollection);
                        if (!existingColletionIncludedCollections.contains(collection)) {
                            includableCollections.add(existingCollection);
                        }
                    } else {
                        includableCollections.add(existingCollection);
                    }
                }
            }
            return includableCollections;
        }
    };

    includedCollectionField = new DropDownChoice("includedCollection", includableCollectionsModel,
            new ChoiceRenderer() {
                @Override
                public Object getDisplayValue(Object object) {
                    RecordCollection collection = (RecordCollection) object;
                    Locale displayLocale = collection.getDisplayLocale(getLocale());
                    return collection.getTitle(displayLocale);
                }
            });
    includedCollectionField.setRequired(true);
    form.add(includedCollectionField);
}