Example usage for org.apache.wicket.ajax.markup.html AjaxLink AjaxLink

List of usage examples for org.apache.wicket.ajax.markup.html AjaxLink AjaxLink

Introduction

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

Prototype

public AjaxLink(final String id, final IModel<T> model) 

Source Link

Document

Construct.

Usage

From source file:com.francetelecom.clara.cloud.presentation.designer.services.nodeprocessing.LogicalNodeProcessingServicePanel.java

License:Apache License

private void initComponents() {

    getServiceForm().add(new CacheActivatedImage("nodeprocessingIcon",
            new ResourceModel("nodeprocessing-icon").getObject()));
    // Online help link
    String completeHelpUrl = "";
    try {/*from   ww  w.  j a  v  a 2 s .  com*/
        completeHelpUrl = new StringResourceModel("portal.designer.logical.service.online_manual.baseUrl", null)
                .getString()
                + new StringResourceModel(
                        "portal.designer.logical.service.online_manual." + getLogicalModelType(), null)
                                .getString();
    } catch (Exception e) {
        //do nothing
    }
    ExternalLink onlineHelpLink = new ExternalLink("onlineHelpLink", completeHelpUrl);
    getServiceForm().add(onlineHelpLink);
    if (completeHelpUrl.isEmpty()) {
        onlineHelpLink.setVisible(false);
    }

    // FUNCTIONNAL PARAMETERS
    /*RequiredTextField<String> label = new RequiredTextField<String>("label");
     label.setLabel(new StringResourceModel("portal.designer.service.cfjava.label",null));
     label.add(new PropertyValidator<>());
     getServiceForm().add(label);
            
     RequiredTextField<String> groupId = new RequiredTextField<String>("softwareReference.groupId");
     groupId.setLabel(new StringResourceModel("portal.designer.service.cfjava.softwareReference.groupId",null));
     groupId.add(new PropertyValidator<>());
     getServiceForm().add(groupId);
            
     RequiredTextField<String> artifactId = new RequiredTextField<String>("softwareReference.artifactId");
     artifactId.setLabel(new StringResourceModel("portal.designer.service.cfjava.softwareReference.artifactId",null));
     artifactId.add(new PropertyValidator<>());
     getServiceForm().add(artifactId);
            
     RequiredTextField<?> version = new RequiredTextField("softwareReference.version");
     version.setLabel(new StringResourceModel("portal.designer.service.cfjava.softwareReference.version",null));
     version.add(new PropertyValidator<>());
     getServiceForm().add(version);
            
     TextField classifier = new TextField("softwareReference.classifier", String.class);
     classifier.setLabel(new StringResourceModel("portal.designer.service.cfjava.softwareReference.classifier",null));
     classifier.add(new PropertyValidator<>());
     getServiceForm().add(classifier);
            
             
     CheckBox optionalSoftwareReference=new CheckBox("optionalSoftwareReference");
     optionalSoftwareReference.setLabel(new StringResourceModel("portal.designer.service.cfjava.optionalSoftwareReference",null));
     getServiceForm().add(optionalSoftwareReference);
             
             
             
     TextField minMemoryMbHint = new TextField("minMemoryMbHint");
     minMemoryMbHint.setLabel(new StringResourceModel("portal.designer.service.cfjava.minMemoryMbHint",null));
     minMemoryMbHint.add(new AttributeModifier("class","small"));
     minMemoryMbHint.add(new PropertyValidator<>());
     getServiceForm().add(minMemoryMbHint);
    */

    //****** Change Icon ******//

    final TextField<String> iconUrl = new TextField<String>("iconUrl");
    iconUrl.setLabel(new StringResourceModel("portal.designer.service.cfjava.iconUrl", null));
    //iconUrl.add(new AttributeModifier("title", new StringResourceModel("portal.designer.service.cfjava.iconUrl.help",null)));
    //Add Wicket validation for URL
    iconUrl.add(new UrlValidator());
    iconUrl.add(new PropertyValidator<>());
    iconUrl.add(new OnChangeAjaxBehavior() {

        @Override
        protected void onUpdate(AjaxRequestTarget target) {
            // Important, DO NOT DELETE
            // By Calling OnChangeAjaxBehavior, we update iconUrl field model to can push button preview with updated model

        }

        @Override
        protected void onError(AjaxRequestTarget target, RuntimeException e) {
            iconUrl.updateModel(); // The feedback is handle when click on preview button so we need to updateModel when there is an error
        }
    });
    getServiceForm().add(iconUrl);
    getServiceForm().add(new CacheActivatedImage("imageHelp.iconUrl", getString("image.help")));

    WebMarkupContainer imageContainer = new WebMarkupContainer("imageContainer");

    final WebMarkupContainer icon = new WebMarkupContainer("icon");
    icon.setOutputMarkupId(true);
    icon.setOutputMarkupPlaceholderTag(true);
    if (iconUrl.getModelObject() == null || iconUrl.getModelObject().equals("")) {
        setDefaultIconAndUpdateFeedBack(icon, null, "");
    } else {
        setCustomIconAndUpdateFeedBack(icon, iconUrl, null);
    }
    imageContainer.add(icon);

    final Label feedback = new Label("feedbackError", new Model<String>(""));
    feedback.setOutputMarkupId(true);
    imageContainer.add(feedback);

    AjaxLink preview = new AjaxLink("preview", new Model()) {
        @Override
        public void onClick(AjaxRequestTarget target) {
            try {

                //If null or empty when click on preview button, clean feedBack and display default image
                if (iconUrl.getModelObject() == null || iconUrl.getModelObject().equals("")) {
                    setDefaultIconAndCleanFeedBack(icon, feedback);
                } // Else try to display custom image
                else {
                    //Construct URL to test integrity of what user typing
                    URL url = new URL(iconUrl.getModelObject().toString());
                    if (iconUrl.getModelObject() != null) {
                        setCustomIconAndUpdateFeedBack(icon, iconUrl, feedback);
                    }
                }
            } catch (MalformedURLException e) {
                setDefaultIconAndUpdateFeedBack(icon, feedback, e.getMessage());
                e.printStackTrace();
            }
            target.add(icon);
            target.add(feedback);
        }
    };
    imageContainer.add(preview);
    getServiceForm().add(imageContainer);

}

From source file:com.francetelecom.clara.cloud.presentation.releases.ReleaseActionPanel.java

License:Apache License

public ReleaseActionPanel(String id, final IModel<ApplicationRelease> model, final DataTable dataTable,
        final ManageApplicationRelease manageApplicationRelease) {
    super(id, model);
    this.manageApplicationRelease = manageApplicationRelease;

    deleteBtn = new AjaxLink<ApplicationRelease>("release-delete", getModel()) {

        @Override//from w w  w. j  av  a  2  s.  c om
        public void onClick(AjaxRequestTarget target) {
            try {
                manageApplicationRelease.deleteApplicationRelease(getModelObject().getUID());
                target.add(dataTable);
                if (getPage() instanceof SelectedAppPage) {
                    ((SelectedAppPage) getPage()).updateAppInfopanel(target);
                }
            } catch (ObjectNotFoundException e) {
                BusinessExceptionHandler handler = new BusinessExceptionHandler(this);
                handler.error(e);
                target.add(this.getPage());
            } catch (BusinessException e) {
                //                    String errMsg = getString("portal.release.action.delete.envexists");
                String errMsg = new ResourceModel("portal.release.action.delete.envexists").getObject();
                logger.error(errMsg);
                error(errMsg);
            }
            target.add(this.getPage());
        }

        @Override
        protected void updateAjaxAttributes(AjaxRequestAttributes attributes) {
            String releaseName = getModelObject().getApplication().getLabel() + " - "
                    + getModelObject().getReleaseVersion();
            attributes.getAjaxCallListeners()
                    .add(new DeleteConfirmationDecorator(
                            WicketUtils.getStringResourceModel(this, "portal.release.action.delete.confirm",
                                    new Model<String[]>(new String[] { releaseName })).getObject()));
            //                attributes.getAjaxCallListeners().add(new DeleteConfirmationDecorator(getString("portal.release.action.delete.confirm", new Model<String[]>(new String[]{ releaseName }))));
        }

        @Override
        public boolean isVisible() {
            return canBeDeleted();
        }
    };
    deleteBtn.add(new AttributeAppender("title", new ResourceModel("portal.release.action.delete")));

    WebMarkupContainer deleteDisabledSpan = new WebMarkupContainer("rel-delete-disable");
    if (canBeDeleted()) {
        deleteDisabledSpan.setVisible(false);
    }
    add(deleteDisabledSpan);

    deleteSpan = new WebMarkupContainer("deleteImg");
    deleteBtn.add(deleteSpan);
    add(deleteBtn);

    Link<ApplicationRelease> editBtn = new Link<ApplicationRelease>("release-edit", getModel()) {

        @Override
        public void onClick() {
            PageParameters params = new PageParameters();
            params.set("appUid", getModelObject().getApplication().getUID());
            params.set("releaseUid", getModelObject().getUID());
            params.set("edit", "1");

            SelectedReleasePage releasePage = new SelectedReleasePage(params);
            setResponsePage(releasePage);
        }

        @Override
        public boolean isVisible() {
            return getModelObject().getApplication().isEditable();
        }
    };
    editBtn.add(new AttributeAppender("title", new ResourceModel("portal.release.action.edit")));

    editSpan = new WebMarkupContainer("editImg");
    editBtn.add(editSpan);
    add(editBtn);

    WebMarkupContainer editDisabledSpan = new WebMarkupContainer("release-edit-disable");
    if (getModelObject().getApplication().isEditable()) {
        editDisabledSpan.setVisible(false);
    }
    add(editDisabledSpan);

    Link<ApplicationRelease> editArchitectureBtn = new Link<ApplicationRelease>("release-edit-architecture",
            getModel()) {

        @Override
        public void onClick() {
            PageParameters params = new PageParameters();
            params.set("appUid", getModelObject().getApplication().getUID());
            params.set("releaseUid", getModelObject().getUID());

            DesignerPage designerPage = new DesignerPage(params);
            setResponsePage(designerPage);
        }
    };
    //       
    editArchitectureBtn
            .add(new AttributeAppender("title", new ResourceModel("portal.release.designer.edit.button")));

    editArchitectureSpan = new WebMarkupContainer("editArchitectureImg");
    editArchitectureBtn.add(editArchitectureSpan);
    add(editArchitectureBtn);
}

From source file:com.lyndir.lhunath.snaplog.webapp.tab.GalleryTabPanel.java

License:Apache License

/**
 * Create a new {@link GalleryTabPanel} instance.
 *
 * @param id        The wicket ID that will hold the {@link GalleryTabPanel}.
 * @param userModel The user whose gallery to show.
 *//*from  w  w w  .  ja v  a2s. c om*/
public GalleryTabPanel(final String id) {

    super(id, new GalleryTabModels(new IModel<User>() {

        @Override
        public void detach() {

        }

        @Override
        public User getObject() {

            return SnaplogSession.get().getFocusedUser();
        }

        @Override
        public void setObject(final User object) {

            SnaplogSession.get().setFocusedUser(object);
        }
    }).getModel());

    // Page info
    add(new Label("tagsTitleUsername", getModelObject().decoratedUsername()));
    add(new Label("tagsHelp", msgs.tagsHelp(new LoadableDetachableModel<Boolean>() {

        @Override
        protected Boolean load() {

            return SnaplogSession.get().isAuthenticated();
        }
    }, new LoadableDetachableModel<Boolean>() {

        @Override
        protected Boolean load() {

            return ObjectUtils.isEqual(getModelObject().getObject(), SnaplogSession.get().getActiveUser());
        }
    }, new LoadableDetachableModel<Boolean>() {

        @Override
        protected Boolean load() {

            return tags.getItemCount() == 0;
        }
    }, getModelObject().username())).setEscapeModelStrings(false));

    // List of tags
    // TODO: Make this data view top-level to provide Source enumeration elsewhere.
    add(tags = new AbstractTagsView("tags", getModelObject(), TAGS_PER_PAGE) {

        @Override
        protected void populateItem(final Item<Tag> tagItem) {

            tagItem.add(new AjaxLink<Tag>("link", tagItem.getModel()) {

                {
                    add(new MediaView("cover", cover(getModel()), Quality.THUMBNAIL, false));
                    add(new Label("title", getModelObject().getName()));
                    // TODO: Fix HTML injection.
                    add(new Label("description", getModelObject().getDescription())
                            .setEscapeModelStrings(false));
                }

                @Override
                public void onClick(final AjaxRequestTarget target) {

                    Tab.TAG.activateWithState(new TagTabPanel.TagTabState(getModelObject()));
                }
            });
        }
    });
}

From source file:com.lyndir.lhunath.snaplog.webapp.view.MediaView.java

License:Apache License

/**
 * @param id        The wicket ID of this component.
 * @param model     The model that will provide the {@link Media} to show in this view.
 * @param quality   The quality at which to show the {@link Media}.
 * @param clickable <code>true</code>: The media will be clickable. When clicked, the {@link #onClick(AjaxRequestTarget)} will be
 *                  fired.<br> <code>false</code>: The media will not be clickable. There is no need to implement {@link
 *                  #onClick(AjaxRequestTarget)}.
 *///  w w  w . j a v a  2s.  c om
public MediaView(final String id, final IModel<Media> model, final Quality quality, final boolean clickable) {

    super(id, model);

    // The media container.
    WebMarkupContainer media = new WebMarkupContainer("media");
    add(media.add(new AttributeAppender("class", new Model<String>(quality.getName()), " ")));

    // The media image link/container.
    WebMarkupContainer image;
    if (clickable) {
        image = new AjaxFallbackLink<Media>("image", getModel()) {

            @Override
            public void onClick(final AjaxRequestTarget target) {

                MediaView.this.onClick(target);
            }

            @Override
            public boolean isVisible() {

                return getModelObject() != null;
            }
        };
        media.add(new CSSClassAttributeAppender("link"));
    } else
        image = new WebMarkupContainer("image") {

            @Override
            public boolean isVisible() {

                return getModelObject() != null;
            }
        };
    media.add(image);
    media.add(new WebMarkupContainer("tools") {

        {
            add(new ExternalLink("original", new LoadableDetachableModel<String>() {

                @Override
                protected String load() {

                    try {
                        URL resourceURL = sourceDelegate.findResourceURL(SnaplogSession.get().newToken(),
                                getModelObject(), Quality.ORIGINAL);
                        if (resourceURL == null)
                            // TODO: May want to display something useful to the user like a specific "not-found" thumbnail.
                            return null;

                        return resourceURL.toExternalForm();
                    } catch (PermissionDeniedException ignored) {
                        // TODO: May want to display something useful to the user like a specific "denied" thumbnail.
                        return null;
                    }
                }
            }) {
                @Override
                protected void onComponentTagBody(final MarkupStream markupStream, final ComponentTag openTag) {

                    if (!renderAsMini(markupStream, openTag))
                        super.onComponentTagBody(markupStream, openTag);
                }
            });
            add(new AjaxLink<Media>("share", getModel()) {
                @Override
                public void onClick(final AjaxRequestTarget target) {

                    try {
                        Tab.SHARED.activateWithState(new SharedTabPanel.SharedTabState(getModelObject()));
                    } catch (PermissionDeniedException e) {
                        error(e.getLocalizedMessage());
                    }
                }

                @Override
                protected void onComponentTagBody(final MarkupStream markupStream, final ComponentTag openTag) {

                    if (!renderAsMini(markupStream, openTag))
                        super.onComponentTagBody(markupStream, openTag);
                }

                @Override
                public boolean isVisible() {

                    return securityService.hasAccess(Permission.ADMINISTER, SnaplogSession.get().newToken(),
                            getModelObject());
                }
            });
            add(new WebMarkupContainer("permissions") {
                @Override
                protected void onComponentTagBody(final MarkupStream markupStream, final ComponentTag openTag) {

                    if (!renderAsMini(markupStream, openTag))
                        super.onComponentTagBody(markupStream, openTag);
                }

                @Override
                public boolean isVisible() {

                    return securityService.hasAccess(Permission.ADMINISTER, SnaplogSession.get().newToken(),
                            getModelObject());
                }
            });
            add(new Link<Media>("delete", getModel()) {
                @Override
                public void onClick() {

                    try {
                        sourceDelegate.delete(SnaplogSession.get().newToken(), getModelObject());
                    } catch (PermissionDeniedException e) {
                        error(e.getLocalizedMessage());
                    }
                }

                @Override
                protected void onComponentTagBody(final MarkupStream markupStream, final ComponentTag openTag) {

                    if (!renderAsMini(markupStream, openTag))
                        super.onComponentTagBody(markupStream, openTag);
                }

                @Override
                public boolean isVisible() {

                    return securityService.hasAccess(Permission.ADMINISTER, SnaplogSession.get().newToken(),
                            getModelObject());
                }
            });

            add(CSSClassAttributeAppender.of(new LoadableDetachableModel<String>() {
                @Override
                protected String load() {

                    return isMini(quality) ? "mini" : null;
                }
            }));
        }

        @Override
        public boolean isVisible() {

            return getModelObject() != null;
        }

        private boolean renderAsMini(final MarkupStream markupStream, final ComponentTag openTag) {

            if (isMini(quality)) {
                // Discard all elements from the markup stream until our close tag.
                while (markupStream.hasMore())
                    if (markupStream.next().closes(openTag))
                        break;

                replaceComponentTagBody(markupStream, openTag, "");
                return true;
            }

            return false;
        }
    });

    image.add(new AttributeModifier("style", true, new LoadableDetachableModel<String>() {

        @Override
        protected String load() {

            try {
                URL resourceURL = sourceDelegate.findResourceURL(SnaplogSession.get().newToken(),
                        getModelObject(), quality);
                if (resourceURL == null)
                    // TODO: May want to display something useful to the user like a specific "not-found" thumbnail.
                    return null;

                return String.format("background-image: url('%s')", resourceURL.toExternalForm());
            } catch (PermissionDeniedException ignored) {
                // TODO: May want to display something useful to the user like a specific "denied" thumbnail.
                return null;
            }
        }
    }));
    image.add(new ContextImage("thumb", new LoadableDetachableModel<String>() {

        @Override
        protected String load() {

            logger.dbg("Loading Media: %s, Quality: %s", getModelObject(), quality);

            try {
                URL resourceURL = sourceDelegate.findResourceURL(SnaplogSession.get().newToken(),
                        getModelObject(), Quality.THUMBNAIL);
                if (resourceURL == null)
                    // TODO: May want to display something useful to the user like a specific "not-found" thumbnail.
                    return null;

                return resourceURL.toExternalForm();
            } catch (PermissionDeniedException ignored) {
                // TODO: May want to display something useful to the user like a specific "denied" thumbnail.
                return null;
            }
        }
    }));
    image.add(new ContextImage("full", new LoadableDetachableModel<String>() {

        @Override
        protected String load() {

            try {
                URL resourceURL = sourceDelegate.findResourceURL(SnaplogSession.get().newToken(),
                        getModelObject(), quality);
                if (resourceURL == null)
                    // TODO: May want to display something useful to the user like a specific "not-found" thumbnail.
                    return null;

                return resourceURL.toExternalForm();
            } catch (PermissionDeniedException ignored) {
                // TODO: May want to display something useful to the user like a specific "denied" thumbnail.
                return null;
            }
        }
    }) {
        @Override
        public boolean isVisible() {

            return quality == Quality.FULLSCREEN;
        }
    });
    image.add(new Label("caption", new LoadableDetachableModel<String>() {

        @Override
        protected String load() {

            return getCaptionString();
        }
    }) {

        @Override
        public boolean isVisible() {

            return getModelObject() != null;
        }
    });
}

From source file:com.socialsite.course.answer.AnswerPanel.java

License:Open Source License

public AnswerPanel(final String id, final IModel<Answer> model, final MarkupContainer dependent) {
    super(id, model);
    final Answer answer = model.getObject();
    final User user = answer.getUser();
    // user image
    UserLink<User> userImageLink;//from  w w  w .  j av  a 2s  .  c  o  m
    final Model<User> senderModel = new Model<User>(user);
    add(userImageLink = new UserLink<User>("imagelink", senderModel));
    userImageLink.add(new ImagePanel("userthumb", user.getId(), ImageType.USER, user.getLastModified(), true));
    Link<User> name;
    add(name = new UserLink<User>("home", senderModel));
    name.add(new Label("username", user.getUserName()));

    add(new Label("date", DateUtils.relativeTime(answer.getTime())));

    add(new Label("answer", answer.getText()).setEscapeModelStrings(false));

    MarkupContainer commentPanel;
    add(commentPanel = new CommentsPanel("comments", model));
    add(new AddCommentPanel("addcomment", model, commentPanel));

    add(new AjaxLink<Answer>("delete", model) {

        /**
         * 
         */
        private static final long serialVersionUID = 1L;

        @Override
        public void onClick(AjaxRequestTarget target) {
            anserDao.delete(getModelObject());
            target.addComponent(dependent);
        }

        @Override
        public boolean isVisible() {
            return (hasRole(SocialSiteRoles.STAFF) || getModelObject().getUser().getId() == getSessionUserId());
        }
    });

}

From source file:com.socialsite.course.comment.CommentPanel.java

License:Open Source License

public CommentPanel(final String id, final IModel<Comment> model) {
    super(id, model);
    setOutputMarkupId(true);//from  ww  w. ja  v  a2 s.  c  o  m
    final Comment comment = model.getObject();
    add(new Label("comment", comment.getText()).setEscapeModelStrings(false));
    final User user = comment.getUser();
    final Model<User> senderModel = new Model<User>(user);
    Link<User> name;
    add(name = new UserLink<User>("home", senderModel));
    name.add(new Label("username", user.getUserName()));
    add(new Label("date", DateUtils.relativeTime(comment.getTime())));

    add(new AjaxLink<Comment>("delete", model) {

        /**
         * 
         */
        private static final long serialVersionUID = 1L;

        @Override
        public void onClick(AjaxRequestTarget target) {
            commentDao.delete(getModelObject());
            CommentPanel.this.setVisible(false);
            target.addComponent(CommentPanel.this);
        }

        @Override
        public boolean isVisible() {
            // let the staff and author to delete the comment
            return (hasRole(SocialSiteRoles.STAFF) || getModelObject().getUser().getId() == getSessionUserId());
        }
    });
}

From source file:com.socialsite.course.question.QuestionPanel.java

License:Open Source License

public QuestionPanel(final String id, final IModel<Question> model, final MarkupContainer dependent) {
    super(id, model);
    final Question question = model.getObject();

    final User user = question.getUser();

    // user image
    UserLink<User> userImageLink;/*from   w  ww . j a  v a  2  s . c o m*/
    final Model<User> senderModel = new Model<User>(user);
    add(userImageLink = new UserLink<User>("imagelink", senderModel));
    userImageLink.add(new ImagePanel("userthumb", user.getId(), ImageType.USER, user.getLastModified(), true));
    Link<User> name;
    add(name = new UserLink<User>("home", senderModel));
    name.add(new Label("username", user.getUserName()));

    add(new Label("date", DateUtils.relativeTime(question.getTime())));

    final Link<Question> questionLink = new Link<Question>("questionlink", model) {

        /**
         * 
         */
        private static final long serialVersionUID = 1L;

        @Override
        public void onClick() {
            SessionUser user = SocialSiteSession.get().getSessionUser();
            if (getModelObject().getCourse().getStaff().getId() == user.getId()) {
                user.setRoles(SocialSiteRoles.staffRole);
            } else {
                user.setRoles(SocialSiteRoles.userRole);
            }

            setResponsePage(new QuestionPage(model));
        }

    };
    add(questionLink);
    questionLink.add(new Label("heading", question.getHeading()));

    // Question

    // TODO show only first two lines of the Question
    add(new Label("question", question.getText()).setEscapeModelStrings(false));

    add(new AjaxLink<Question>("delete", model) {

        /**
         * 
         */
        private static final long serialVersionUID = 1L;

        @Override
        public void onClick(AjaxRequestTarget target) {
            questionDao.delete(getModelObject());
            target.addComponent(dependent);
        }

        @Override
        public boolean isVisible() {
            return (hasRole(SocialSiteRoles.STAFF) || getSessionUserId() == getModelObject().getUser().getId());
        }
    });
}

From source file:com.socialsite.message.FriendRequestMsgPanel.java

License:Open Source License

public FriendRequestMsgPanel(final String id, final FriendRequestMsg friendRequestMsg,
        final WebMarkupContainer container) {
    super(id);/*  w  w w.  j  a va 2 s  .c o m*/

    UserLink<User> user;
    final User sender = friendRequestMsg.getSender();
    // user image
    UserLink<User> userImageLink;
    final Model<User> senderModel = new Model<User>(sender);
    add(userImageLink = new UserLink<User>("imagelink", senderModel));
    userImageLink
            .add(new ImagePanel("userthumb", sender.getId(), ImageType.USER, sender.getLastModified(), true));
    add(user = new UserLink<User>("user", new Model<User>(friendRequestMsg.getSender())));
    user.add(new Label("name", friendRequestMsg.getSender().getUserName()));
    add(new Label("message", friendRequestMsg.getMessage()));
    add(new Link<FriendRequestMsg>("yes", new Model<FriendRequestMsg>(friendRequestMsg)) {
        /**
        * 
        */
        private static final long serialVersionUID = 1L;

        @Override
        public void onClick() {

            FriendRequestMsg friendRequestMsg = getModelObject();

            friendRequestMsg = (FriendRequestMsg) messageDao.load(friendRequestMsg.getId());

            // add him as the friend
            final User user = friendRequestMsg.getSender();

            user.addFriend(friendRequestMsg.getUsers().iterator().next());
            // save the user
            userDao.save(user);

            // remove the friend request
            messageDao.delete(friendRequestMsg);

        }
    });

    add(new AjaxLink<FriendRequestMsg>("no", new Model<FriendRequestMsg>(friendRequestMsg)) {

        /**
         * 
         */
        private static final long serialVersionUID = 1L;

        @Override
        public void onClick(final AjaxRequestTarget target) {
            // remove the friend request
            messageDao.delete(getModelObject());

            // update the list
            target.addComponent(container);
        }
    });

    add(new Label("time", relativeTime(friendRequestMsg.getTime())));

}

From source file:com.socialsite.message.StaffRequestMsgPanel.java

License:Open Source License

public StaffRequestMsgPanel(final String id, final IModel<StaffRequestMsg> model,
        final WebMarkupContainer container) {
    super(id, model);
    UserLink<User> user;/*www  . j av a 2  s .  c om*/
    final StaffRequestMsg staffRequestMsg = model.getObject();
    final User sender = staffRequestMsg.getSender();
    // user image
    UserLink<User> userImageLink;
    final Model<User> senderModel = new Model<User>(sender);
    add(userImageLink = new UserLink<User>("imagelink", senderModel));
    userImageLink
            .add(new ImagePanel("userthumb", sender.getId(), ImageType.USER, sender.getLastModified(), true));
    add(user = new UserLink<User>("user", new Model<User>(staffRequestMsg.getSender())));
    user.add(new Label("name", staffRequestMsg.getSender().getUserName()));
    add(new Link<StaffRequestMsg>("yes", model) {
        /**
        * 
        */
        private static final long serialVersionUID = 1L;

        @Override
        public void onClick() {

            StaffRequestMsg staffRequestMsg = getModelObject();

            staffRequestMsg = (StaffRequestMsg) messageDao.load(staffRequestMsg.getId());

            // add him as the friend
            final Staff staff = staffRequestMsg.getSender();
            final University university = staffRequestMsg.getUniversity();
            university.addStaff(staff);
            universityDao.save(university);
            // remove the friend request
            messageDao.delete(staffRequestMsg);
            // update the list
        }
    });

    add(new AjaxLink<StaffRequestMsg>("no", model) {

        /**
         * 
         */
        private static final long serialVersionUID = 1L;

        @Override
        public void onClick(final AjaxRequestTarget target) {
            // remove the friend request
            messageDao.delete(getModelObject());

            // update the list
            target.addComponent(container);
        }
    });

    add(new Label("time", DateUtils.relativeTime(staffRequestMsg.getTime())));

}

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

License:Open Source License

public EmailChangeConfirmationPanel(String id, User user) {
    super(id);/*from w  ww.  j av a2 s  . c  o  m*/

    EmailChangeConfirmationFilter filter = new EmailChangeConfirmationFilter();
    filter.setUser(user);
    filter.addOrderBy("id", true);

    List<EmailChangeConfirmation> confirmations = emailChangeConfirmationDAO.findByFilter(filter);

    EmailChangeConfirmation confirmation = null;

    if (!confirmations.isEmpty()) {
        confirmation = confirmations.get(0);
    } else {
        setVisible(false);
    }

    Form<EmailChangeConfirmation> confirmationForm = new Form<EmailChangeConfirmation>("confirmForm",
            ModelMaker.wrap(confirmation)) {
        private static final long serialVersionUID = 1L;

        @SpringBean
        private UserService userService;

        @SpringBean
        private EmailChangeConfirmationDAO _emailChangeConfirmationDAO;

        /**
         * @see org.apache.wicket.markup.html.form.Form#onSubmit()
         */
        @SuppressWarnings("unchecked")
        @Override
        protected void onSubmit() {
            EmailChangeConfirmation conf = getModelObject();

            TextField<String> codeField = (TextField<String>) get("code");
            String code = codeField.getModelObject();

            if (code.equals(conf.getActivationKey())) {

                userService.setUserMail(conf.getUser(), conf.getEmail());
                _emailChangeConfirmationDAO.delete(conf);
                onConfirmed();

            } else {
                error("Confirmation code incorrect");
            }
        }

    };

    add(confirmationForm);

    confirmationForm.add(new Label("mail", confirmation != null ? confirmation.getEmail() : ""));
    confirmationForm.add(new TextField<String>("code", new Model<String>("")));
    confirmationForm.add(new AjaxLink<EmailChangeConfirmation>("cancel", ModelMaker.wrap(confirmation)) {
        private static final long serialVersionUID = 1L;

        @SpringBean
        private EmailChangeConfirmationDAO _emailChangeConfirmationDAO;

        /**
         * @see org.apache.wicket.ajax.markup.html.AjaxLink#onClick(org.apache.wicket.ajax.AjaxRequestTarget)
         */
        @Override
        public void onClick(AjaxRequestTarget target) {
            EmailChangeConfirmation conf = (EmailChangeConfirmation) getModelObject();
            _emailChangeConfirmationDAO.delete(conf);
            onCancel();
        }
    });
}