Example usage for org.apache.wicket.request.resource ByteArrayResource ByteArrayResource

List of usage examples for org.apache.wicket.request.resource ByteArrayResource ByteArrayResource

Introduction

In this page you can find the example usage for org.apache.wicket.request.resource ByteArrayResource ByteArrayResource.

Prototype

public ByteArrayResource(final String contentType, final byte[] array) 

Source Link

Document

Creates a Resource from the given byte array with its content type

Usage

From source file:com.evolveum.midpoint.web.component.FocusSummaryPanel.java

License:Apache License

@Override
protected IModel<AbstractResource> getPhotoModel() {
    return new AbstractReadOnlyModel<AbstractResource>() {
        private static final long serialVersionUID = 1L;

        @Override//  w  ww .jav  a  2s.c om
        public AbstractResource getObject() {
            byte[] jpegPhoto = null;
            O object = getModel().getObject();
            if (object instanceof FocusType) {
                jpegPhoto = ((FocusType) object).getJpegPhoto();
            }
            if (jpegPhoto == null) {
                return null;
            } else {
                return new ByteArrayResource("image/jpeg", jpegPhoto);
            }
        }
    };
}

From source file:com.evolveum.midpoint.web.component.menu.UserMenuPanel.java

License:Apache License

private void initLayout() {
    WebMarkupContainer iconBox = new WebMarkupContainer(ID_ICON_BOX);
    add(iconBox);/*from ww  w  .ja v  a2 s. co  m*/

    NonCachingImage img = new NonCachingImage(ID_PHOTO, new AbstractReadOnlyModel<AbstractResource>() {

        @Override
        public AbstractResource getObject() {
            if (jpegPhoto == null) {
                return null;
            } else {
                return new ByteArrayResource("image/jpeg", jpegPhoto);
            }
        }
    });
    img.add(new VisibleEnableBehaviour() {
        @Override
        public boolean isVisible() {
            if (userModel != null && userModel.getObject() == null) {
                loadModel(null);
            }
            return jpegPhoto != null;
        }
    });
    iconBox.add(img);

    ContextImage icon = new ContextImage(ID_ICON, "img/placeholder.png");
    icon.add(new VisibleEnableBehaviour() {
        @Override
        public boolean isVisible() {
            if (userModel != null && userModel.getObject() == null) {
                loadModel(null);
            }
            return jpegPhoto == null;

        }
    });
    iconBox.add(icon);

    Label usernameLink = new Label(ID_USERNAME_LINK, new AbstractReadOnlyModel<String>() {

        @Override
        public String getObject() {
            return getShortUserName();
        }
    });
    add(usernameLink);

    WebMarkupContainer panelIconBox = new WebMarkupContainer(ID_PANEL_ICON_BOX);
    add(panelIconBox);

    NonCachingImage panelImg = new NonCachingImage(ID_PANEL_PHOTO,
            new AbstractReadOnlyModel<AbstractResource>() {

                @Override
                public AbstractResource getObject() {
                    if (jpegPhoto == null) {
                        return null;
                    } else {
                        return new ByteArrayResource("image/jpeg", jpegPhoto);
                    }
                }
            });
    panelImg.add(new VisibleEnableBehaviour() {
        @Override
        public boolean isVisible() {
            if (userModel != null && userModel.getObject() == null) {
                loadModel(null);
            }
            return jpegPhoto != null;
        }
    });
    panelIconBox.add(panelImg);

    ContextImage panelIcon = new ContextImage(ID_PANEL_ICON, "img/placeholder.png");
    panelIcon.add(new VisibleEnableBehaviour() {
        @Override
        public boolean isVisible() {
            if (userModel != null && userModel.getObject() == null) {
                loadModel(null);
            }
            return jpegPhoto == null;
        }
    });
    panelIconBox.add(panelIcon);

    Label username = new Label(ID_USERNAME, new AbstractReadOnlyModel<String>() {

        @Override
        public String getObject() {
            return getShortUserName();
        }
    });
    username.setRenderBodyOnly(true);
    add(username);

    ExternalLink logoutLink = new ExternalLink(ID_LOGOUT_LINK,
            new Model<>(RequestCycle.get().getRequest().getContextPath() + "/j_spring_security_logout"),
            createStringResource("UserMenuPanel.logout"));
    add(logoutLink);

    AjaxButton editPasswordQ = new AjaxButton(ID_PASSWORD_QUESTIONS,
            createStringResource("UserMenuPanel.editPasswordQuestions")) {

        @Override
        public void onClick(AjaxRequestTarget target) {
            PageMyPasswordQuestions myPasswordQuestions = new PageMyPasswordQuestions(
                    passwordQuestionsDtoIModel);
            setResponsePage(myPasswordQuestions);
        }

    };
    add(editPasswordQ);

    if (!isPasswordModelLoaded) {
        passwordQuestionsDtoIModel = new LoadableModel<PasswordQuestionsDto>(false) {

            private static final long serialVersionUID = 1L;

            @Override
            protected PasswordQuestionsDto load() {
                return loadModel(null);
            }
        };
        isPasswordModelLoaded = true;
    }
    securityPolicyQuestionsModel = new LoadableModel<List<SecurityQuestionDefinitionType>>(false) {
        @Override
        protected List<SecurityQuestionDefinitionType> load() {
            return loadSecurityPloicyQuestionsModel();
        }
    };
    editPasswordQ.add(new VisibleEnableBehaviour() {
        @Override
        public boolean isVisible() {
            if (securityPolicyQuestionsModel == null || securityPolicyQuestionsModel.getObject() == null) {
                loadSecurityPloicyQuestionsModel();
            }
            return hasQuestions() || (securityPolicyQuestionsModel.getObject() != null
                    && securityPolicyQuestionsModel.getObject().size() > 0);
        }
    });
}

From source file:com.evolveum.midpoint.web.page.admin.resources.PageResourceVisualizationCytoscape.java

License:Apache License

private void initLayout(PrismObject<ResourceType> resourceObject) {
    retrievalBehavior = new AbstractAjaxBehavior() {
        @Override/*from   w  w w.  jav  a 2  s.c o m*/
        public void onRequest() {
            System.out.println("retrieve CS data: starting");
            RequestCycle requestCycle = getRequestCycle();
            requestCycle.scheduleRequestHandlerAfterCurrent(null);

            MidPointApplication app = (MidPointApplication) MidPointApplication.get();
            TaskManager taskManager = app.getTaskManager();
            Task task = taskManager.createTaskInstance(PageResourceVisualizationCytoscape.class + ".onRequest");

            String jsonData;
            try {
                jsonData = app.getModelDiagnosticService().exportDataModel(resourceObject.asObjectable(),
                        DataModelVisualizer.Target.CYTOSCAPE, task, task.getResult());
                System.out.println("JSON Cytoscape Data:\n" + jsonData);
            } catch (CommonException | RuntimeException e) {
                LoggingUtils.logUnexpectedException(LOGGER, "Couldn't visualize resource {}", e,
                        resourceObject);
                jsonData = "{\"nodes\":[], \"edges\":[]}"; // TODO better error handling
            }

            IResource jsonResource = new ByteArrayResource("application/json", jsonData.getBytes());
            IRequestHandler requestHandler = new ResourceRequestHandler(jsonResource, null);
            requestHandler.respond(requestCycle);
            System.out.println("retrieve CS data: response written");
        }
    };
    add(retrievalBehavior);

    deletionBehavior = new AbstractAjaxBehavior() {
        @Override
        public void onRequest() {
            System.out.println("deleteAttribute: starting");
            RequestCycle requestCycle = getRequestCycle();
            requestCycle.scheduleRequestHandlerAfterCurrent(null);

            MidPointApplication app = (MidPointApplication) MidPointApplication.get();
            TaskManager taskManager = app.getTaskManager();
            Task task = taskManager.createTaskInstance(PageResourceVisualizationCytoscape.class + ".onRequest");

            try {
                IRequestParameters parameters = requestCycle.getRequest().getQueryParameters();
                String resourceOid = parameters.getParameterValue("resourceOid").toString();
                String kind = parameters.getParameterValue("kind").toString();
                String intent = parameters.getParameterValue("intent").toString();
                String objectClass = parameters.getParameterValue("objectClass").toString();
                String attributeName = parameters.getParameterValue("attributeName").toString();
                System.out.println("ResourceOid: " + resourceOid + ", kind: " + kind + ", intent: " + intent
                        + ", objectClass: " + objectClass + ", attributeName: " + attributeName);
            } catch (RuntimeException e) {
                LoggingUtils.logUnexpectedException(LOGGER, "Couldn't delete attribute", e);
            }

            IResource resource = new ByteArrayResource("text/plain", "OK".getBytes());
            IRequestHandler requestHandler = new ResourceRequestHandler(resource, null);
            requestHandler.respond(requestCycle);
            System.out.println("deleteAttribute: finished");
        }
    };
    add(deletionBehavior);
}

From source file:com.evolveum.midpoint.web.page.admin.users.PageUser.java

License:Apache License

private void initSummaryInfo(Form mainForm) {

    WebMarkupContainer summaryContainer = new WebMarkupContainer(ID_SUMMARY_PANEL);
    summaryContainer.setOutputMarkupId(true);

    summaryContainer.add(new VisibleEnableBehaviour() {

        @Override/*w w  w  .j  ava 2  s  . c  o  m*/
        public boolean isVisible() {
            if (getPageParameters().get(OnePageParameterEncoder.PARAMETER).isEmpty()) {
                return false;
            } else {
                return true;
            }
        }
    });

    mainForm.add(summaryContainer);

    summaryUser = new AbstractReadOnlyModel<PrismObject<UserType>>() {

        @Override
        public PrismObject<UserType> getObject() {
            ObjectWrapper user = userModel.getObject();
            return user.getObject();
        }
    };

    summaryContainer
            .add(new Label(ID_SUMMARY_NAME, new PrismPropertyModel<UserType>(summaryUser, UserType.F_NAME)));
    summaryContainer.add(new Label(ID_SUMMARY_FULL_NAME,
            new PrismPropertyModel<UserType>(summaryUser, UserType.F_FULL_NAME)));
    summaryContainer.add(new Label(ID_SUMMARY_GIVEN_NAME,
            new PrismPropertyModel<UserType>(summaryUser, UserType.F_GIVEN_NAME)));
    summaryContainer.add(new Label(ID_SUMMARY_FAMILY_NAME,
            new PrismPropertyModel<UserType>(summaryUser, UserType.F_FAMILY_NAME)));

    Image img = new Image(ID_SUMMARY_PHOTO, new AbstractReadOnlyModel<AbstractResource>() {

        @Override
        public AbstractResource getObject() {
            if (summaryUser.getObject().asObjectable().getJpegPhoto() != null) {
                return new ByteArrayResource("image/jpeg",
                        summaryUser.getObject().asObjectable().getJpegPhoto());
            } else {
                return new ContextRelativeResource("img/placeholder.png");
            }

        }
    });
    summaryContainer.add(img);
}

From source file:com.tysanclan.site.projectewok.components.AchievementsPanel.java

License:Open Source License

public AchievementsPanel(String id, User user) {
    super(id);/*from  w w w.j  av a2  s . c  om*/

    List<Achievement> achievements = new LinkedList<Achievement>();

    achievements.addAll(user.getAchievements());

    Collections.sort(achievements, AchievementComparator.INSTANCE);

    add(new ListView<Achievement>("achievements", ModelMaker.wrap(achievements)) {
        private static final long serialVersionUID = 1L;

        @Override
        protected void populateItem(final ListItem<Achievement> item) {
            Achievement a = item.getModelObject();
            AchievementIcon icon = a.getIcon();

            item.add(new Image("achievement",
                    new ByteArrayResource(ImageUtil.getMimeType(icon.getImage()), icon.getImage())));

            item.add(new Label("name", a.getName()));

            item.add(new Label("group", a.getGroup() != null ? a.getGroup().getName() : ""));

            Game game = a.getGame();
            byte[] gameImage = game != null ? game.getImage() : new byte[0];

            item.add(new Image("game", new ByteArrayResource(ImageUtil.getMimeType(gameImage), gameImage))
                    .setVisible(game != null));

            item.add(new BBCodePanel("description", a.getDescription()));
        }
    });

}

From source file:com.tysanclan.site.projectewok.components.RealmGamePanel.java

License:Open Source License

/**
 * //from  ww  w .  ja v  a  2  s .  co m
 */
public RealmGamePanel(String id, Realm realm, Game game) {
    super(id);

    add(new Label("name", game.getName()));
    add(new Image("icon", new ByteArrayResource(ImageUtil.getMimeType(game.getImage()), game.getImage())));

    UserGameRealmFilter filter = new UserGameRealmFilter();
    filter.setRealm(realm);
    filter.setGame(game);

    List<UserGameRealm> ugrs = new LinkedList<UserGameRealm>();
    ugrs.addAll(userGameRealmDAO.findByFilter(filter));
    Set<UserGameRealm> removeUGR = new HashSet<UserGameRealm>();

    for (UserGameRealm ugr : ugrs) {
        if (!MemberUtil.isMember(ugr.getUser())) {
            removeUGR.add(ugr);
        }
    }

    ugrs.removeAll(removeUGR);

    if (ugrs.isEmpty()) {
        setVisible(false);
    }

    Collections.sort(ugrs, new Comparator<UserGameRealm>() {
        /**
         * @see java.util.Comparator#compare(java.lang.Object,
         *      java.lang.Object)
         */
        @Override
        public int compare(UserGameRealm o1, UserGameRealm o2) {
            return o1.getUser().getUsername().compareToIgnoreCase(o2.getUser().getUsername());
        }
    });

    add(new Label("count", new Model<Integer>(ugrs.size())));

    add(new ListView<UserGameRealm>("members", ModelMaker.wrap(ugrs)) {
        private static final long serialVersionUID = 1L;

        @Override
        protected void populateItem(ListItem<UserGameRealm> item) {
            UserGameRealm ugr = item.getModelObject();
            item.add(new MemberListItem("user", ugr.getUser()));

            StringBuilder builder = new StringBuilder();

            for (GameAccount account : ugr.getAccounts()) {
                if (builder.length() > 0) {
                    builder.append(", ");
                }
                builder.append(account.toString());
            }

            if (builder.length() == 0) {
                builder.append('-');
            }

            item.add(new Label("accounts", builder.toString()));
        }
    });

    List<GamingGroup> groups = new LinkedList<GamingGroup>();
    groups.addAll(realm.getGroups());
    groups.retainAll(game.getGroups());

    WebMarkupContainer container = new WebMarkupContainer("container");
    container.setVisible(!groups.isEmpty());

    add(container);

    container.add(new ListView<GamingGroup>("gaminggroups", ModelMaker.wrap(groups)) {
        private static final long serialVersionUID = 1L;

        /**
         * @see org.apache.wicket.markup.html.list.ListView#populateItem(org.apache.wicket.markup.html.list.ListItem)
         */
        @Override
        protected void populateItem(ListItem<GamingGroup> item) {
            GamingGroup gg = item.getModelObject();

            item.add(new AutoGroupLink("grouplink", gg));

        }
    });

}

From source file:com.tysanclan.site.projectewok.pages.AboutPage.java

License:Open Source License

public AboutPage() {
    super("About");

    UserFilter chancellorFilter = new UserFilter();
    chancellorFilter.addRank(Rank.CHANCELLOR);

    List<User> users = userDAO.findByFilter(chancellorFilter);

    User leader = null;//w  w  w  .  j  av a 2s.  c  o  m
    if (!users.isEmpty()) {
        leader = users.get(0);
        add(new MemberListItem("leader", leader));
    } else {
        add(new Label("leader", "<i>None</i>").setEscapeModelStrings(false));
    }

    UserFilter senateFilter = new UserFilter();
    senateFilter.addRank(Rank.SENATOR);

    List<User> senate = userDAO.findByFilter(senateFilter);
    add(new ListView<User>("senate", ModelMaker.wrap(senate)) {
        private static final long serialVersionUID = 1L;

        @Override
        protected void populateItem(ListItem<User> item) {
            User user = item.getModelObject();

            item.add(new MemberListItem("member", user));
        }

    });

    add(new ListView<Game>("games", ModelMaker.wrap(gameDAO.findAll())) {
        private static final long serialVersionUID = 1L;

        /**
         * @see org.apache.wicket.markup.html.list.ListView#populateItem(org.apache.wicket.markup.html.list.ListItem)
         */
        @Override
        protected void populateItem(final ListItem<Game> item) {
            Game game = item.getModelObject();

            final int rowCount = game.getRealms().size();
            final String gameName = game.getName();

            item.add(new ListView<Realm>("realms", ModelMaker.wrap(game.getRealms())) {
                private static final long serialVersionUID = 1L;

                @SpringBean
                private GameService gameService;

                /**
                 * @see org.apache.wicket.markup.html.list.ListView#populateItem(org.apache.wicket.markup.html.list.ListItem)
                 */
                @Override
                protected void populateItem(ListItem<Realm> innerItem) {
                    WebMarkupContainer iconContainer = new WebMarkupContainer("iconcontainer");
                    WebMarkupContainer supervisorContainer = new WebMarkupContainer("supervisorcontainer");
                    Label gameNameLabel = new Label("name", gameName);

                    if (innerItem.getIndex() != 0) {
                        iconContainer.setVisible(false);
                        gameNameLabel.setVisible(false);
                        supervisorContainer.setVisible(false);
                    } else {
                        AttributeModifier mod = AttributeModifier.replace("rowspan",
                                Integer.toString(rowCount));
                        iconContainer.add(mod);
                        gameNameLabel.add(mod);
                        supervisorContainer.add(mod);
                    }

                    innerItem.add(iconContainer);
                    innerItem.add(gameNameLabel);
                    innerItem.add(supervisorContainer);

                    Realm realm = innerItem.getModelObject();
                    Game _game = item.getModelObject();

                    PageParameters params = new PageParameters();
                    params.add("id", Long.toString(realm.getId()));

                    Link<Realm> realmLink = new BookmarkablePageLink<Realm>("realm", RealmPage.class, params);

                    realmLink.add(new Label("name", realm.getName()));

                    innerItem.add(
                            new Label("playercount", Integer.toString(gameService.countPlayers(_game, realm))));

                    innerItem.add(realmLink);

                    iconContainer.add(new Image("icon",
                            new ByteArrayResource(ImageUtil.getMimeType(_game.getImage()), _game.getImage())));

                    if (_game.getCoordinator() != null) {

                        supervisorContainer.add(new MemberListItem("supervisor", _game.getCoordinator()));
                    } else {
                        supervisorContainer.add(new Label("supervisor", "-"));
                    }

                }
            });

        }
    });

    UserFilter activeMemberFilter = new UserFilter();
    activeMemberFilter.addRank(Rank.CHANCELLOR);
    activeMemberFilter.addRank(Rank.SENATOR);
    activeMemberFilter.addRank(Rank.TRUTHSAYER);
    activeMemberFilter.addRank(Rank.REVERED_MEMBER);
    activeMemberFilter.addRank(Rank.SENIOR_MEMBER);
    activeMemberFilter.addRank(Rank.FULL_MEMBER);
    activeMemberFilter.addRank(Rank.JUNIOR_MEMBER);
    activeMemberFilter.addRank(Rank.TRIAL);
    activeMemberFilter.setRetired(false);

    add(new Label("activecount", new Model<Long>(userDAO.countByFilter(activeMemberFilter))));

    UserFilter allMemberFilter = new UserFilter();
    allMemberFilter.addRank(Rank.CHANCELLOR);
    allMemberFilter.addRank(Rank.SENATOR);
    allMemberFilter.addRank(Rank.TRUTHSAYER);
    allMemberFilter.addRank(Rank.REVERED_MEMBER);
    allMemberFilter.addRank(Rank.SENIOR_MEMBER);
    allMemberFilter.addRank(Rank.FULL_MEMBER);
    allMemberFilter.addRank(Rank.JUNIOR_MEMBER);
    allMemberFilter.addRank(Rank.TRIAL);

    add(new Label("membercount", new Model<Long>(userDAO.countByFilter(allMemberFilter))));

    addRank(Rank.CHANCELLOR, "The leader of the Clan, has executive power");
    addRank(Rank.SENATOR, "A member of the Senate, has legislative power");
    addRank(Rank.TRUTHSAYER, "Upholder of justice, has judiciary power");
    addRank(Rank.REVERED_MEMBER, "A member who has been with Tysan for more than 5 years");
    addRank(Rank.SENIOR_MEMBER, "A member who has been with Tysan for more than 2 years");
    addRank(Rank.FULL_MEMBER, "A member who has been with Tysan for more than 4 months");
    addRank(Rank.JUNIOR_MEMBER,
            "A member who has passed his Trial period and gained at least 60% votes in favor");
    addRank(Rank.TRIAL, "A member who is currently in his Trial period");

    add(new ListView<Rank>("ranks", ranks) {
        private static final long serialVersionUID = 1L;

        @Override
        protected void populateItem(ListItem<Rank> item) {
            Rank rank = item.getModelObject();
            item.add(new RankIcon("icon", rank));
            item.add(new Label("name", rank.toString()));
            item.add(new Label("description", rankDescriptions.get(rank)));

        }

    });

    UserFilter heroFilter = new UserFilter();
    heroFilter.addRank(Rank.HERO);

    List<User> heroes = userDAO.findByFilter(heroFilter);

    add(new ListView<User>("heroes", heroes) {
        private static final long serialVersionUID = 1L;

        @Override
        protected void populateItem(ListItem<User> item) {
            item.add(new MemberListItem("user", item.getModelObject()));
        }
    }.setVisible(!heroes.isEmpty()));

}

From source file:com.tysanclan.site.projectewok.pages.member.ChancellorAchievementPage.java

License:Open Source License

public ChancellorAchievementPage() {
    super("Pending achievement proposals");

    AchievementProposalFilter filter = new AchievementProposalFilter();
    filter.setVetoUndecided(true);/*from  w ww . ja  va  2 s  .c  om*/

    add(new DataView<AchievementProposal>("proposals", FilterDataProvider.of(filter, achievementProposalDAO)) {

        private static final long serialVersionUID = 1L;

        @Override
        protected void populateItem(final Item<AchievementProposal> item) {
            AchievementProposal proposal = item.getModelObject();
            AchievementIcon icon = proposal.getIcon();
            Game game = proposal.getGame();

            item.add(new Label("name", proposal.getName()));

            item.add(new Image("icon",
                    new ByteArrayResource(ImageUtil.getMimeType(icon.getImage()), icon.getImage())));

            byte[] gameImage = game != null ? game.getImage() : new byte[0];

            item.add(new Image("game", new ByteArrayResource(ImageUtil.getMimeType(gameImage), gameImage))
                    .setVisible(game != null));

            boolean hasGroup = proposal.getGroup() != null;

            item.add(new Label("group", hasGroup ? proposal.getGroup().getName() : "-").setVisible(hasGroup));
            item.add(new Label("description", proposal.getDescription()).setEscapeModelStrings(false));

            item.add(new IconLink.Builder("images/icons/tick.png",
                    new DefaultClickResponder<AchievementProposal>(ModelMaker.wrap(proposal)) {

                        private static final long serialVersionUID = 1L;

                        @Override
                        public void onClick() {
                            service.checkProposal(getUser(), getModelObject());
                            setResponsePage(new ChancellorAchievementPage());
                        }

                    }).setText("Yes, this achievement is fine with me").newInstance("yes"));
            item.add(new IconLink.Builder("images/icons/cross.png",
                    new DefaultClickResponder<AchievementProposal>(ModelMaker.wrap(proposal)) {

                        private static final long serialVersionUID = 1L;

                        @Override
                        public void onClick() {
                            service.vetoProposal(getUser(), getModelObject());

                            setResponsePage(new ChancellorAchievementPage());
                        }

                    }).setText("No, this achievement would not be a good addition").newInstance("no"));
        }

    });
}

From source file:com.tysanclan.site.projectewok.pages.member.GameManagementPage.java

License:Open Source License

public GameManagementPage() {
    super("Game Management");

    add(new ListView<Game>("games", ModelMaker.wrap(gameDAO.findAll())) {
        private static final long serialVersionUID = 1L;

        @Override//from   w  ww . jav a2  s .c o m
        protected void populateItem(ListItem<Game> item) {
            Game game = item.getModelObject();

            item.add(new Label("name", game.getName()));
            item.add(new Image("icon",
                    new ByteArrayResource(ImageUtil.getMimeType(game.getImage()), game.getImage())));
            if (game.getCoordinator() != null) {
                item.add(new MemberListItem("coordinator", game.getCoordinator()));
                IconLink.Builder builder = new IconLink.Builder("images/icons/user_edit.png",
                        new DefaultClickResponder<Game>(ModelMaker.wrap(game)) {
                            private static final long serialVersionUID = 1L;

                            @Override
                            public void onClick() {
                                setResponsePage(new EditGameSupervisorPage(getModelObject()));
                            }
                        });

                item.add(builder.newInstance("edit"));
            } else {
                item.add(new WebMarkupContainer("edit").setVisible(false));
                IconLink.Builder builder = new IconLink.Builder("images/icons/user_add.png",
                        new DefaultClickResponder<Game>(ModelMaker.wrap(game)) {
                            private static final long serialVersionUID = 1L;

                            @Override
                            public void onClick() {
                                setResponsePage(new EditGameSupervisorPage(getModelObject()));
                            }
                        });

                item.add(builder.newInstance("coordinator"));
            }
            item.add(new Label("realmcount", new Model<Integer>(game.getRealms().size())));
            item.add(new Label("playercount", new Model<Integer>(gameService.countActivePlayers(game))));
            item.add(new Label("groupcount", new Model<Integer>(game.getGroups().size())));

            IconLink.Builder builder = new IconLink.Builder("images/icons/cross.png",
                    new DefaultClickResponder<Game>(ModelMaker.wrap(game)) {
                        private static final long serialVersionUID = 1L;

                        /**
                         * @see com.tysanclan.site.projectewok.components.IconLink.DefaultClickResponder#onClick()
                         */
                        @Override
                        public void onClick() {
                            Game g = getModelObject();

                            if (gameService.isGameInactive(g)) {
                                gameService.deleteGame(getUser(), g);
                            }

                            setResponsePage(new RealmManagementPage());
                        }

                    });

            builder.setImageVisible(gameService.isGameInactive(game));

            item.add(builder.newInstance("remove"));
        }

    });

}

From source file:com.tysanclan.site.projectewok.pages.member.GroupRequestApprovalPage.java

License:Open Source License

/**
 * /* www .j  a va  2s  .  c o m*/
 */
public GroupRequestApprovalPage() {
    super("Group Request Approval");

    List<GroupCreationRequest> requests = groupCreationRequestDAO.findAll();

    String intro = (requests.size() == 0) ? "There are no pending group creation requests"
            : "There are " + requests.size() + " pending group creation requests:";

    add(new Label("pendingtext", intro));

    add(new ListView<GroupCreationRequest>("pending", ModelMaker.wrap(requests)) {
        private static final long serialVersionUID = 1L;

        @Override
        protected void populateItem(ListItem<GroupCreationRequest> item) {
            GroupCreationRequest request = item.getModelObject();

            boolean social = request.getGame() == null;

            item.add(new Label("name", request.getName()));
            item.add(new Label("type", social ? "Social Group" : "Gaming Group"));
            item.add(new MemberListItem("leader", request.getRequester()));
            if (social) {
                item.add(new ContextImage("icon", "images/icons/group.png"));
            } else {
                item.add(new Image("icon", new ByteArrayResource("image/gif", request.getGame().getImage())));
            }

            item.add(new Label("description", request.getDescription()).setEscapeModelStrings(false));
            item.add(new Label("motivation", request.getMotivation()).setEscapeModelStrings(false));
            Link<GroupCreationRequest> yesLink = new Link<GroupCreationRequest>("yes",
                    ModelMaker.wrap(request)) {
                private static final long serialVersionUID = 1L;

                @SpringBean
                private GroupService groupService;

                /**
                 * @see org.apache.wicket.markup.html.link.Link#onClick()
                 */
                @Override
                public void onClick() {
                    groupService.acceptRequest(getUser(), getModelObject());
                    setResponsePage(new GroupRequestApprovalPage());
                }
            };
            Link<GroupCreationRequest> noLink = new Link<GroupCreationRequest>("no", ModelMaker.wrap(request)) {
                private static final long serialVersionUID = 1L;

                @SpringBean
                private GroupService groupService;

                /**
                 * @see org.apache.wicket.markup.html.link.Link#onClick()
                 */
                @Override
                public void onClick() {
                    groupService.declineRequest(getUser(), getModelObject());
                    setResponsePage(new GroupRequestApprovalPage());
                }
            };

            yesLink.add(new ContextImage("icon", "images/icons/tick.png"));
            noLink.add(new ContextImage("icon", "images/icons/cross.png"));

            item.add(yesLink);
            item.add(noLink);
        }

    });

}