Example usage for org.apache.wicket.markup.html.list ListView ListView

List of usage examples for org.apache.wicket.markup.html.list ListView ListView

Introduction

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

Prototype

public ListView(final String id, final List<T> list) 

Source Link

Usage

From source file:com.gitblit.wicket.pages.EditRepositoryPage.java

License:Apache License

protected void setupPage(RepositoryModel model) {
    this.repositoryModel = model;

    // ensure this user can create or edit this repository
    checkPermissions(repositoryModel);//from  ww  w.  j ava 2 s  .  c om

    List<String> indexedBranches = new ArrayList<String>();
    List<String> federationSets = new ArrayList<String>();
    final List<RegistrantAccessPermission> repositoryUsers = new ArrayList<RegistrantAccessPermission>();
    final List<RegistrantAccessPermission> repositoryTeams = new ArrayList<RegistrantAccessPermission>();
    List<String> preReceiveScripts = new ArrayList<String>();
    List<String> postReceiveScripts = new ArrayList<String>();

    GitBlitWebSession session = GitBlitWebSession.get();
    final UserModel user = session.getUser() == null ? UserModel.ANONYMOUS : session.getUser();
    final boolean allowEditName = isCreate || isAdmin
            || repositoryModel.isUsersPersonalRepository(user.username);

    if (isCreate) {
        if (user.canAdmin()) {
            super.setupPage(getString("gb.newRepository"), "");
        } else {
            super.setupPage(getString("gb.newRepository"), user.getDisplayName());
        }
    } else {
        super.setupPage(getString("gb.edit"), repositoryModel.name);
        repositoryUsers.addAll(app().repositories().getUserAccessPermissions(repositoryModel));
        repositoryTeams.addAll(app().repositories().getTeamAccessPermissions(repositoryModel));
        Collections.sort(repositoryUsers);
        Collections.sort(repositoryTeams);

        federationSets.addAll(repositoryModel.federationSets);
        if (!ArrayUtils.isEmpty(repositoryModel.indexedBranches)) {
            indexedBranches.addAll(repositoryModel.indexedBranches);
        }
    }

    final String oldName = repositoryModel.name;

    final RegistrantPermissionsPanel usersPalette = new RegistrantPermissionsPanel("users", RegistrantType.USER,
            app().users().getAllUsernames(), repositoryUsers, getAccessPermissions());
    final RegistrantPermissionsPanel teamsPalette = new RegistrantPermissionsPanel("teams", RegistrantType.TEAM,
            app().users().getAllTeamNames(), repositoryTeams, getAccessPermissions());

    // owners palette
    List<UserChoice> owners = new ArrayList<UserChoice>();
    List<UserChoice> persons = new ArrayList<UserChoice>();
    for (String owner : repositoryModel.owners) {
        UserModel o = app().users().getUserModel(owner);
        if (o != null) {
            owners.add(new UserChoice(o.getDisplayName(), o.username, o.emailAddress));
        } else {
            UserChoice userChoice = new UserChoice(owner);
            owners.add(userChoice);
            persons.add(userChoice);
        }
    }

    for (String person : app().users().getAllUsernames()) {
        UserModel o = app().users().getUserModel(person);
        if (o != null) {
            persons.add(new UserChoice(o.getDisplayName(), o.username, o.emailAddress));
        } else {
            persons.add(new UserChoice(person));
        }
    }
    final Palette<UserChoice> ownersPalette = new Palette<UserChoice>("owners",
            new ListModel<UserChoice>(owners), new CollectionModel<UserChoice>(persons),
            new ChoiceRenderer<UserChoice>(null, "userId"), 12, false);

    // indexed local branches palette
    List<String> allLocalBranches = new ArrayList<String>();
    allLocalBranches.add(Constants.DEFAULT_BRANCH);
    allLocalBranches.addAll(repositoryModel.getLocalBranches());
    boolean luceneEnabled = app().settings().getBoolean(Keys.web.allowLuceneIndexing, true);
    final Palette<String> indexedBranchesPalette = new Palette<String>("indexedBranches",
            new ListModel<String>(indexedBranches), new CollectionModel<String>(allLocalBranches),
            new StringChoiceRenderer(), 8, false);
    indexedBranchesPalette.setEnabled(luceneEnabled);

    // federation sets palette
    List<String> sets = app().settings().getStrings(Keys.federation.sets);
    final Palette<String> federationSetsPalette = new Palette<String>("federationSets",
            new ListModel<String>(federationSets), new CollectionModel<String>(sets),
            new StringChoiceRenderer(), 8, false);

    // pre-receive palette
    if (!ArrayUtils.isEmpty(repositoryModel.preReceiveScripts)) {
        preReceiveScripts.addAll(repositoryModel.preReceiveScripts);
    }
    final Palette<String> preReceivePalette = new Palette<String>("preReceiveScripts",
            new ListModel<String>(preReceiveScripts),
            new CollectionModel<String>(app().repositories().getPreReceiveScriptsUnused(repositoryModel)),
            new StringChoiceRenderer(), 12, true);

    // post-receive palette
    if (!ArrayUtils.isEmpty(repositoryModel.postReceiveScripts)) {
        postReceiveScripts.addAll(repositoryModel.postReceiveScripts);
    }
    final Palette<String> postReceivePalette = new Palette<String>("postReceiveScripts",
            new ListModel<String>(postReceiveScripts),
            new CollectionModel<String>(app().repositories().getPostReceiveScriptsUnused(repositoryModel)),
            new StringChoiceRenderer(), 12, true);

    // custom fields
    final Map<String, String> customFieldsMap = app().settings().getMap(Keys.groovy.customFields);
    List<String> customKeys = new ArrayList<String>(customFieldsMap.keySet());
    final ListView<String> customFieldsListView = new ListView<String>("customFieldsListView", customKeys) {

        private static final long serialVersionUID = 1L;

        @Override
        protected void populateItem(ListItem<String> item) {
            String key = item.getModelObject();
            item.add(new Label("customFieldLabel", customFieldsMap.get(key)));

            String value = "";
            if (repositoryModel.customFields != null && repositoryModel.customFields.containsKey(key)) {
                value = repositoryModel.customFields.get(key);
            }
            TextField<String> field = new TextField<String>("customFieldValue", new Model<String>(value));
            item.add(field);
        }
    };
    customFieldsListView.setReuseItems(true);

    CompoundPropertyModel<RepositoryModel> rModel = new CompoundPropertyModel<RepositoryModel>(repositoryModel);
    Form<RepositoryModel> form = new Form<RepositoryModel>("editForm", rModel) {

        private static final long serialVersionUID = 1L;

        @Override
        protected void onSubmit() {
            try {
                if (!namePanel.updateModel(repositoryModel)) {
                    return;
                }

                // confirm access restriction selection
                if (repositoryModel.accessRestriction == null) {
                    error(getString("gb.selectAccessRestriction"));
                    return;
                }

                // confirm federation strategy selection
                if (repositoryModel.federationStrategy == null) {
                    error(getString("gb.selectFederationStrategy"));
                    return;
                }

                // save federation set preferences
                if (repositoryModel.federationStrategy.exceeds(FederationStrategy.EXCLUDE)) {
                    repositoryModel.federationSets.clear();
                    Iterator<String> sets = federationSetsPalette.getSelectedChoices();
                    while (sets.hasNext()) {
                        repositoryModel.federationSets.add(sets.next());
                    }
                }

                // set author metric exclusions
                String ax = metricAuthorExclusions.getObject();
                if (StringUtils.isEmpty(ax)) {
                    repositoryModel.metricAuthorExclusions = new ArrayList<String>();
                } else {
                    Set<String> list = new HashSet<String>();
                    for (String exclusion : StringUtils.getStringsFromValue(ax, " ")) {
                        if (StringUtils.isEmpty(exclusion)) {
                            continue;
                        }
                        if (exclusion.indexOf(' ') > -1) {
                            list.add("\"" + exclusion + "\"");
                        } else {
                            list.add(exclusion);
                        }
                    }
                    repositoryModel.metricAuthorExclusions = new ArrayList<String>(list);
                }

                // set mailing lists
                String ml = mailingLists.getObject();
                if (StringUtils.isEmpty(ml)) {
                    repositoryModel.mailingLists = new ArrayList<String>();
                } else {
                    Set<String> list = new HashSet<String>();
                    for (String address : ml.split("(,|\\s)")) {
                        if (StringUtils.isEmpty(address)) {
                            continue;
                        }
                        list.add(address.toLowerCase());
                    }
                    repositoryModel.mailingLists = new ArrayList<String>(list);
                }

                // indexed branches
                List<String> indexedBranches = new ArrayList<String>();
                Iterator<String> branches = indexedBranchesPalette.getSelectedChoices();
                while (branches.hasNext()) {
                    indexedBranches.add(branches.next());
                }
                repositoryModel.indexedBranches = indexedBranches;

                // owners
                repositoryModel.owners.clear();
                Iterator<UserChoice> owners = ownersPalette.getSelectedChoices();
                while (owners.hasNext()) {
                    repositoryModel.addOwner(owners.next().getUserId());
                }

                // pre-receive scripts
                List<String> preReceiveScripts = new ArrayList<String>();
                Iterator<String> pres = preReceivePalette.getSelectedChoices();
                while (pres.hasNext()) {
                    preReceiveScripts.add(pres.next());
                }
                repositoryModel.preReceiveScripts = preReceiveScripts;

                // post-receive scripts
                List<String> postReceiveScripts = new ArrayList<String>();
                Iterator<String> post = postReceivePalette.getSelectedChoices();
                while (post.hasNext()) {
                    postReceiveScripts.add(post.next());
                }
                repositoryModel.postReceiveScripts = postReceiveScripts;

                // custom fields
                repositoryModel.customFields = new LinkedHashMap<String, String>();
                Iterator<Component> customFieldsListViewIterator = customFieldsListView.iterator();
                while (customFieldsListViewIterator.hasNext()) {

                    ListItem<String> child = (ListItem<String>) customFieldsListViewIterator.next();
                    String key = child.getModelObject();

                    TextField<String> field = (TextField<String>) child.get("customFieldValue");
                    String value = field.getValue();

                    repositoryModel.customFields.put(key, value);
                }

                // save the repository
                app().gitblit().updateRepositoryModel(oldName, repositoryModel, isCreate);

                // repository access permissions
                if (repositoryModel.accessRestriction.exceeds(AccessRestrictionType.NONE)) {
                    app().gitblit().setUserAccessPermissions(repositoryModel, repositoryUsers);
                    app().gitblit().setTeamAccessPermissions(repositoryModel, repositoryTeams);
                }
            } catch (GitBlitException e) {
                error(e.getMessage());
                return;
            }
            setResponsePage(SummaryPage.class, WicketUtils.newRepositoryParameter(repositoryModel.name));
        }
    };

    // Determine available refs & branches
    List<String> availableRefs = new ArrayList<String>();
    List<String> availableBranches = new ArrayList<String>();
    if (!ArrayUtils.isEmpty(repositoryModel.availableRefs)) {
        for (String ref : repositoryModel.availableRefs) {
            if (!ref.startsWith(Constants.R_TICKET)) {
                availableRefs.add(ref);
                if (ref.startsWith(Constants.R_HEADS)) {
                    availableBranches.add(Repository.shortenRefName(ref));
                }
            }
        }
    }

    // do not let the browser pre-populate these fields
    form.add(new AttributeModifier("autocomplete", "off"));

    //
    //
    // GENERAL
    //
    namePanel = new RepositoryNamePanel("namePanel", repositoryModel);
    namePanel.setEditable(allowEditName);
    form.add(namePanel);

    // XXX AccessPolicyPanel is defined later.

    form.add(new ChoiceOption<String>("head", getString("gb.headRef"), getString("gb.headRefDescription"),
            new PropertyModel<String>(repositoryModel, "HEAD"), availableRefs));

    //
    // PERMISSIONS
    //
    form.add(ownersPalette);
    form.add(usersPalette);
    form.add(teamsPalette);

    //
    // TICKETS
    //
    form.add(new BooleanOption("acceptNewPatchsets", getString("gb.acceptNewPatchsets"),
            getString("gb.acceptNewPatchsetsDescription"),
            new PropertyModel<Boolean>(repositoryModel, "acceptNewPatchsets")));

    form.add(new BooleanOption("acceptNewTickets", getString("gb.acceptNewTickets"),
            getString("gb.acceptNewTicketsDescription"),
            new PropertyModel<Boolean>(repositoryModel, "acceptNewTickets")));

    form.add(new BooleanOption("requireApproval", getString("gb.requireApproval"),
            getString("gb.requireApprovalDescription"),
            new PropertyModel<Boolean>(repositoryModel, "requireApproval")));

    form.add(new ChoiceOption<String>("mergeTo", getString("gb.mergeTo"), getString("gb.mergeToDescription"),
            new PropertyModel<String>(repositoryModel, "mergeTo"), availableBranches));
    form.add(new ChoiceOption<MergeType>("mergeType", getString("gb.mergeType"),
            getString("gb.mergeTypeDescription"), new PropertyModel<MergeType>(repositoryModel, "mergeType"),
            Arrays.asList(MergeType.values())));

    //
    // RECEIVE
    //
    form.add(new BooleanOption("isFrozen", getString("gb.isFrozen"), getString("gb.isFrozenDescription"),
            new PropertyModel<Boolean>(repositoryModel, "isFrozen")));

    form.add(new BooleanOption("incrementalPushTags", getString("gb.enableIncrementalPushTags"),
            getString("gb.useIncrementalPushTagsDescription"),
            new PropertyModel<Boolean>(repositoryModel, "useIncrementalPushTags")));

    final CheckBox verifyCommitter = new CheckBox("checkbox",
            new PropertyModel<Boolean>(repositoryModel, "verifyCommitter"));
    verifyCommitter.setOutputMarkupId(true);
    form.add(new BooleanOption("verifyCommitter", getString("gb.verifyCommitter"),
            getString("gb.verifyCommitterDescription") + "<br/>" + getString("gb.verifyCommitterNote"),
            verifyCommitter).setIsHtmlDescription(true));

    form.add(preReceivePalette);
    form.add(new BulletListPanel("inheritedPreReceive", getString("gb.inherited"),
            app().repositories().getPreReceiveScriptsInherited(repositoryModel)));
    form.add(postReceivePalette);
    form.add(new BulletListPanel("inheritedPostReceive", getString("gb.inherited"),
            app().repositories().getPostReceiveScriptsInherited(repositoryModel)));

    WebMarkupContainer customFieldsSection = new WebMarkupContainer("customFieldsSection");
    customFieldsSection.add(customFieldsListView);
    form.add(customFieldsSection
            .setVisible(!app().settings().getString(Keys.groovy.customFields, "").isEmpty()));

    //
    // FEDERATION
    //
    List<FederationStrategy> federationStrategies = new ArrayList<FederationStrategy>(
            Arrays.asList(FederationStrategy.values()));
    // federation strategies - remove ORIGIN choice if this repository has no origin.
    if (StringUtils.isEmpty(repositoryModel.origin)) {
        federationStrategies.remove(FederationStrategy.FEDERATE_ORIGIN);
    }

    form.add(new ChoiceOption<FederationStrategy>("federationStrategy", getString("gb.federationStrategy"),
            getString("gb.federationStrategyDescription"),
            new DropDownChoice<FederationStrategy>("choice",
                    new PropertyModel<FederationStrategy>(repositoryModel, "federationStrategy"),
                    federationStrategies, new FederationTypeRenderer())));

    form.add(federationSetsPalette);

    //
    // SEARCH
    //
    form.add(indexedBranchesPalette);

    //
    // GARBAGE COLLECTION
    //
    boolean gcEnabled = app().settings().getBoolean(Keys.git.enableGarbageCollection, false);
    int defaultGcPeriod = app().settings().getInteger(Keys.git.defaultGarbageCollectionPeriod, 7);
    if (repositoryModel.gcPeriod == 0) {
        repositoryModel.gcPeriod = defaultGcPeriod;
    }
    List<Integer> gcPeriods = Arrays.asList(1, 2, 3, 4, 5, 7, 10, 14);
    form.add(new ChoiceOption<Integer>("gcPeriod", getString("gb.gcPeriod"),
            getString("gb.gcPeriodDescription"), new DropDownChoice<Integer>("choice",
                    new PropertyModel<Integer>(repositoryModel, "gcPeriod"), gcPeriods, new GCPeriodRenderer()))
                            .setEnabled(gcEnabled));

    form.add(new TextOption("gcThreshold", getString("gb.gcThreshold"), getString("gb.gcThresholdDescription"),
            "span1", new PropertyModel<String>(repositoryModel, "gcThreshold")).setEnabled(gcEnabled));

    //
    // MISCELLANEOUS
    //

    form.add(new TextOption("origin", getString("gb.origin"), getString("gb.originDescription"), "span6",
            new PropertyModel<String>(repositoryModel, "origin")).setEnabled(false));

    form.add(new BooleanOption("showRemoteBranches", getString("gb.showRemoteBranches"),
            getString("gb.showRemoteBranchesDescription"),
            new PropertyModel<Boolean>(repositoryModel, "showRemoteBranches")));

    form.add(new BooleanOption("skipSizeCalculation", getString("gb.skipSizeCalculation"),
            getString("gb.skipSizeCalculationDescription"),
            new PropertyModel<Boolean>(repositoryModel, "skipSizeCalculation")));

    form.add(new BooleanOption("skipSummaryMetrics", getString("gb.skipSummaryMetrics"),
            getString("gb.skipSummaryMetricsDescription"),
            new PropertyModel<Boolean>(repositoryModel, "skipSummaryMetrics")));

    List<Integer> maxActivityCommits = Arrays.asList(-1, 0, 25, 50, 75, 100, 150, 200, 250, 500);
    form.add(new ChoiceOption<Integer>("maxActivityCommits", getString("gb.maxActivityCommits"),
            getString("gb.maxActivityCommitsDescription"),
            new DropDownChoice<Integer>("choice",
                    new PropertyModel<Integer>(repositoryModel, "maxActivityCommits"), maxActivityCommits,
                    new MaxActivityCommitsRenderer())));

    List<CommitMessageRenderer> renderers = Arrays.asList(CommitMessageRenderer.values());
    form.add(new ChoiceOption<CommitMessageRenderer>("commitMessageRenderer",
            getString("gb.commitMessageRenderer"), getString("gb.commitMessageRendererDescription"),
            new DropDownChoice<CommitMessageRenderer>("choice",
                    new PropertyModel<CommitMessageRenderer>(repositoryModel, "commitMessageRenderer"),
                    renderers)));

    metricAuthorExclusions = new Model<String>(ArrayUtils.isEmpty(repositoryModel.metricAuthorExclusions) ? ""
            : StringUtils.flattenStrings(repositoryModel.metricAuthorExclusions, " "));

    form.add(new TextOption("metricAuthorExclusions", getString("gb.metricAuthorExclusions"),
            getString("gb.metricAuthorExclusions"), "span6", metricAuthorExclusions));

    mailingLists = new Model<String>(ArrayUtils.isEmpty(repositoryModel.mailingLists) ? ""
            : StringUtils.flattenStrings(repositoryModel.mailingLists, " "));

    form.add(new TextOption("mailingLists", getString("gb.mailingLists"), getString("gb.mailingLists"), "span6",
            mailingLists));

    // initial enable/disable of permission controls
    if (repositoryModel.accessRestriction.equals(AccessRestrictionType.NONE)) {
        // anonymous everything, disable all controls
        usersPalette.setEnabled(false);
        teamsPalette.setEnabled(false);
        verifyCommitter.setEnabled(false);
    } else {
        // authenticated something
        // enable authorization controls
        verifyCommitter.setEnabled(true);

        boolean allowFineGrainedControls = repositoryModel.authorizationControl
                .equals(AuthorizationControl.NAMED);
        usersPalette.setEnabled(allowFineGrainedControls);
        teamsPalette.setEnabled(allowFineGrainedControls);
    }

    //
    // ACCESS POLICY PANEL (GENERAL)
    //
    AjaxFormChoiceComponentUpdatingBehavior callback = new AjaxFormChoiceComponentUpdatingBehavior() {

        private static final long serialVersionUID = 1L;

        @Override
        protected void onUpdate(AjaxRequestTarget target) {
            accessPolicyPanel.updateModel(repositoryModel);

            boolean allowAuthorizationControl = repositoryModel.accessRestriction
                    .exceeds(AccessRestrictionType.NONE);
            verifyCommitter.setEnabled(allowAuthorizationControl);

            boolean allowFineGrainedControls = allowAuthorizationControl
                    && repositoryModel.authorizationControl.equals(AuthorizationControl.NAMED);
            usersPalette.setEnabled(allowFineGrainedControls);
            teamsPalette.setEnabled(allowFineGrainedControls);

            if (allowFineGrainedControls) {
                repositoryModel.authorizationControl = AuthorizationControl.NAMED;
            }

            target.add(verifyCommitter);
            target.add(usersPalette);
            target.add(teamsPalette);
        }
    };

    accessPolicyPanel = new AccessPolicyPanel("accessPolicyPanel", repositoryModel, callback);
    form.add(accessPolicyPanel);

    //
    // FORM CONTROLS
    //
    form.add(new Button("save"));
    Button cancel = new Button("cancel") {
        private static final long serialVersionUID = 1L;

        @Override
        public void onSubmit() {
            if (isCreate) {
                setResponsePage(RepositoriesPage.class);
            } else {
                setResponsePage(SummaryPage.class, WicketUtils.newRepositoryParameter(repositoryModel.name));
            }
        }
    };
    cancel.setDefaultFormProcessing(false);
    form.add(cancel);

    // the user can delete if deletions are allowed AND the user is an admin or the personal owner
    // assigned ownership is not sufficient to allow deletion
    boolean canDelete = !isCreate && app().repositories().canDelete(repositoryModel)
            && (user.canAdmin() || user.isMyPersonalRepository(repositoryModel.name));

    Link<Void> delete = new Link<Void>("delete") {

        private static final long serialVersionUID = 1L;

        @Override
        public void onClick() {
            RepositoryModel latestModel = app().repositories().getRepositoryModel(repositoryModel.name);
            boolean canDelete = app().repositories().canDelete(latestModel);
            if (canDelete) {
                if (app().gitblit().deleteRepositoryModel(latestModel)) {
                    info(MessageFormat.format(getString("gb.repositoryDeleted"), latestModel));
                    if (latestModel.isPersonalRepository()) {
                        // redirect to user's profile page
                        String prefix = app().settings().getString(Keys.git.userRepositoryPrefix, "~");
                        String username = latestModel.projectPath.substring(prefix.length());
                        setResponsePage(UserPage.class, WicketUtils.newUsernameParameter(username));
                    } else {
                        // redirect to server repositories page
                        setResponsePage(RepositoriesPage.class);
                    }
                } else {
                    error(MessageFormat.format(getString("gb.repositoryDeleteFailed"), latestModel));
                }
            } else {
                error(MessageFormat.format(getString("gb.repositoryDeleteFailed"), latestModel));
            }
        }
    };

    if (canDelete) {
        delete.add(new JavascriptEventConfirmation("click",
                MessageFormat.format(getString("gb.deleteRepository"), repositoryModel)));
    }
    form.add(delete.setVisible(canDelete));

    add(form);
}

From source file:com.gitblit.wicket.panels.AccessPolicyPanel.java

License:Apache License

@Override
protected void onInitialize() {
    super.onInitialize();

    AccessPolicy anonymousPolicy = new AccessPolicy(getString("gb.anonymousPolicy"),
            getString("gb.anonymousPolicyDescription"), "blank.png", AuthorizationControl.AUTHENTICATED,
            AccessRestrictionType.NONE);

    AccessPolicy authenticatedPushPolicy = new AccessPolicy(getString("gb.authenticatedPushPolicy"),
            getString("gb.authenticatedPushPolicyDescription"), "lock_go_16x16.png",
            AuthorizationControl.AUTHENTICATED, AccessRestrictionType.PUSH);

    AccessPolicy namedPushPolicy = new AccessPolicy(getString("gb.namedPushPolicy"),
            getString("gb.namedPushPolicyDescription"), "lock_go_16x16.png", AuthorizationControl.NAMED,
            AccessRestrictionType.PUSH);

    AccessPolicy clonePolicy = new AccessPolicy(getString("gb.clonePolicy"),
            getString("gb.clonePolicyDescription"), "lock_pull_16x16.png", AuthorizationControl.NAMED,
            AccessRestrictionType.CLONE);

    AccessPolicy viewPolicy = new AccessPolicy(getString("gb.viewPolicy"),
            getString("gb.viewPolicyDescription"), "shield_16x16.png", AuthorizationControl.NAMED,
            AccessRestrictionType.VIEW);

    List<AccessPolicy> policies = new ArrayList<AccessPolicy>();
    if (app().settings().getBoolean(Keys.git.allowAnonymousPushes, false)) {
        policies.add(anonymousPolicy);//from w ww. j  a va2 s.  c  o  m
    }
    policies.add(authenticatedPushPolicy);
    policies.add(namedPushPolicy);
    policies.add(clonePolicy);
    policies.add(viewPolicy);

    AccessRestrictionType defaultRestriction = repository.accessRestriction;
    if (defaultRestriction == null) {
        defaultRestriction = AccessRestrictionType.fromName(app().settings()
                .getString(Keys.git.defaultAccessRestriction, AccessRestrictionType.PUSH.name()));
    }

    AuthorizationControl defaultControl = repository.authorizationControl;
    if (defaultControl == null) {
        defaultControl = AuthorizationControl.fromName(app().settings()
                .getString(Keys.git.defaultAuthorizationControl, AuthorizationControl.NAMED.name()));
    }

    AccessPolicy defaultPolicy = namedPushPolicy;
    for (AccessPolicy policy : policies) {
        if (policy.type == defaultRestriction && policy.control == defaultControl) {
            defaultPolicy = policy;
        }
    }

    policiesGroup = new RadioGroup<>("policiesGroup", new Model<AccessPolicy>(defaultPolicy));
    ListView<AccessPolicy> policiesList = new ListView<AccessPolicy>("policies", policies) {

        private static final long serialVersionUID = 1L;

        @Override
        protected void populateItem(ListItem<AccessPolicy> item) {
            AccessPolicy p = item.getModelObject();
            item.add(new Radio<AccessPolicy>("radio", item.getModel()));
            item.add(WicketUtils.newImage("image", p.image));
            item.add(new Label("name", p.name));
            item.add(new Label("description", p.description));
        }
    };
    policiesGroup.add(policiesList);
    if (callback != null) {
        policiesGroup.add(callback);
        policiesGroup.setOutputMarkupId(true);
    }
    add(policiesGroup);

    if (app().settings().getBoolean(Keys.web.allowForking, true)) {
        Fragment fragment = new Fragment("allowForks", "allowForksFragment", AccessPolicyPanel.this);
        fragment.add(new BooleanOption("allowForks", getString("gb.allowForks"),
                getString("gb.allowForksDescription"), new PropertyModel<Boolean>(repository, "allowForks")));
        add(fragment);
    } else {
        add(new Label("allowForks").setVisible(false));
    }

    setOutputMarkupId(true);
}

From source file:com.github.wicket.autowire.PerformanceCompareTest.java

License:Apache License

@Override
protected void onInitialize() {
    super.onInitialize();

    add(new ListView<Object>("loop", Arrays.asList(new Object[1000])) {
        @Override// w  ww  .j a  v a 2  s .  com
        protected void populateItem(ListItem<Object> item) {
            item.add(new BasicPanelNoAuto("panel"));
        }
    });
}

From source file:com.github.wicket.autowire.PerformanceTest.java

License:Apache License

@Override
protected void onInitialize() {
    super.onInitialize();

    loop = new ListView<Object>("loop", Arrays.asList(new Object[1000])) {
        @Override/*from   www  .j a v  a2  s . com*/
        protected void populateItem(ListItem<Object> item) {
            item.add(new BasicPanel("panel"));
        }
    };
}

From source file:com.gmail.volodymyrdotsenko.jqxwicket.widgets.tabs.TabbedPanel.java

License:Apache License

@Override
protected void onInitialize() {
    super.onInitialize();

    final RepeatingView panels = new RepeatingView("panels") {

        private static final long serialVersionUID = 1L;

        @Override//from w  w  w .  j a  v  a 2s.co  m
        public String newChildId() {
            return String.format("tab-%s-%s", this.getMarkupId(), super.newChildId()); // fixes issue #14
        }

        @Override
        protected void onConfigure() {
            super.onConfigure();

            this.removeAll(); // fixes issue #7
        }
    };

    this.add(panels);

    this.add(new ListView<IXTab>("tabs", this.getModelObject()) {

        private static final long serialVersionUID = 1L;

        @Override
        protected ListItem<IXTab> newItem(int index, IModel<IXTab> model) {
            ListItem<IXTab> item = super.newItem(index, model);
            item.setVisible(model.getObject().isVisible());

            return item;
        }

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

            if (tab.isVisible()) {
                final String newId = panels.newChildId();

                // link (tab) //
                Label link = TabbedPanel.this.newTitleLabel("link", tab.getTitle());
                // link.add(AttributeModifier.replace("href", "#" + newId));
                item.add(link);

                // panel //
                panels.add(tab.getPanel(newId).setMarkupId(newId).setOutputMarkupId(true));
            }
        }
    });

    this.add(this.widgetBehavior = this.newWidgetBehavior(JQueryWidget

            .getSelector(this)));
}

From source file:com.google.code.jqwicket.dnd.DND2Page.java

License:Apache License

public DND2Page() {

    add(new ListView<Product>("availableProducts", products) {

        private static final long serialVersionUID = 1L;

        @Override//from   w  w  w  . j av  a 2s  .c o m
        protected void populateItem(ListItem<Product> item) {
            item.add(new ProductPanel("product", item.getModelObject()));
        }
    });

    add(new ShoppingCartPanel("cart"));
}

From source file:com.google.code.jqwicket.dnd.ShoppingCartPanel.java

License:Apache License

public ShoppingCartPanel(String id) {
    super(id);/*from   w  ww .j ava 2 s . c o  m*/

    selectedProductsContainer = new WebMarkupContainer("selectedProductsContainer");
    selectedProductsContainer.setOutputMarkupId(true);

    selectedProductsContainer.add(new ListView<Product>("selectedProductsView", selectedProducts) {

        private static final long serialVersionUID = 1L;

        @Override
        protected void populateItem(ListItem<Product> item) {
            item.add(new Label("name", item.getModelObject().name));
        }
    });

    add(selectedProductsContainer);
}

From source file:com.google.code.jqwicket.ui.cloudzoom.CloudZoomImagePanel.java

License:Apache License

@SuppressWarnings("unchecked")
public CloudZoomImagePanel(String id, final CloudZoomOptions options) {
    super(id);//from   w ww.j a  v a2s . c  om

    add(new CloudZoomBehavior(options));

    // add default zoom image
    final CloudZoomImage img = options.getImage();
    final WebMarkupContainer bigImage = this.newCloudZoomLink("cloudZoom-bigImage", img, getDefaultCssClass(),
            Utils.substringBetween(String.valueOf(options), "{", "}"));
    bigImage.add(this.newCloudZoomImage("cloudZoom-smallImage", img.getSmallImageUrl(), img.getImageAlt(),
            img.getImageTitle()));
    add(bigImage);

    // add gallery images
    add(new ListView<CloudZoomGalleryImage>("gallery-repeater",
            options.hasGalleryImages() ? Arrays.asList(options.getGalleryImages()) : Collections.EMPTY_LIST) {

        private static final long serialVersionUID = 1L;

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

            WebMarkupContainer link = newCloudZoomLink("thumbnail-bigImage", img, getGalleryCssClass(),
                    new StringBuffer().append("useZoom: ").append(Utils.quote(bigImage.getMarkupId()))
                            .append(", smallImage:").append(Utils.quote(img.getSmallImageUrl())));

            link.add(newCloudZoomImage("thumbnail-smallImage",
                    img.hasThumbnailUrl() ? img.getThumbnailUrl() : img.getSmallImageUrl(), null, null));

            item.add(link);

        }

        @Override
        public boolean isVisible() {
            return options.hasGalleryImages();
        }
    });
}

From source file:com.googlecode.londonwicket.TestComponentExpressionOnList.java

License:Apache License

@Before
public void setup() {

    WicketTester tester = new WicketTester();

    parent = new WebMarkupContainer("parent");
    one1 = new WebMarkupContainer("one1");
    two1 = new WMCSubClass("two1");
    two2 = new WebMarkupContainer("two2");
    three1 = new WebMarkupContainer("three1");

    two1.add(three1);//  w  w  w .  j  a  v a 2s .c om

    listView = new ListView<Component>("listView", Arrays.asList(two1, two2)) {
        private static final long serialVersionUID = 1L;

        @Override
        protected void populateItem(ListItem<Component> item) {
            item.add(item.getModelObject());
        }
    };

    parent.add(one1.add(listView));

    tester.startComponent(parent);
}

From source file:com.googlecode.refit.web.SummaryPage.java

License:Open Source License

public SummaryPage(final Summary summary) {
    setDefaultModel(new CompoundPropertyModel<Summary>(summary));

    add(new Label("inputDir"));
    add(new Label("outputDir"));
    add(new Label("passed"));
    add(new Label("numTests"));

    add(new ListView<TestResult>("test", summary.getTest()) {

        private static final long serialVersionUID = 1L;

        @Override/* ww w  . j a va 2  s  . com*/
        protected void populateItem(ListItem<TestResult> item) {
            TestResult testResult = item.getModelObject();
            item.setModel(new CompoundPropertyModel<TestResult>(testResult));
            String uri = String.format("static%s/%s", summary.getInputDir(), testResult.getPath());
            StaticLink link = new StaticLink("link", new Model<String>(uri));
            item.add(link);
            link.add(new Label("path"));
            item.add(new Label("right"));
            item.add(new Label("wrong"));
            item.add(new Label("ignored"));
            item.add(new Label("exceptions"));
        }

    });
}