Are they not being set when the BlogDetails.link gives the blogPost object and it set page parameters there?
______________________________ Stephen Walsh On Sep 20, 2012, at 14:23, Francois Meillet <[email protected]> wrote: > I don't see where you set the parameters... > parameters.set("id", x); > > It has to be done somewhere. > If parameters.get("id") return null, as null can't be converted to long, you > get the exception. > > François > > > Le 20 sept. 2012 à 21:16, Stephen Walsh <[email protected]> a > écrit : > >> Thanks for responding. That would make sense. Is there any way to >> identify when or when it couldn't be converted? >> >> Does the array that I provided cause this issue? In my Post class I >> followed the example code and have the class assigning ids as long. >> >> _______________________________________ >> Stephen Walsh | http://connectwithawalsh.com >> >> >> >> On Thu, Sep 20, 2012 at 12:55 PM, Francois Meillet < >> [email protected]> wrote: >> >>> parameters.get("id").toLong() throws this exception when id can't be >>> converted to long. >>> >>> François >>> >>> >>> Le 20 sept. 2012 à 19:06, Stephen Walsh <[email protected]> a >>> écrit : >>> >>>> I am new to Wicket and Java, so forgive any ignorance or lack of >>> information. >>>> >>>> I am modeling a blog type application after the Wicket Examples Library >>> application and have not had any luck passing the post id to the details >>> page. I'm not using the user portion at this point because I'll be doing a >>> role based authorization later. >>>> >>>> The blog page populates the array that it is given and provides a link >>> to the detail page, but this is when the exception is thrown. Any thoughts? >>>> >>>> Thanks! >>>> >>>> public abstract class BasePage extends WebPage { >>>> /** >>>> * >>>> */ >>>> private static final long serialVersionUID = 1L; >>>> >>>> >>>> private String pageTitle = "(no title)"; >>>> >>>> /** >>>> * >>>> * @return pageTitle >>>> */ >>>> public final String getPageTitle() { >>>> >>>> return pageTitle; >>>> } >>>> >>>> /** >>>> * >>>> * @param title >>>> */ >>>> public final void setPageTitle(String title) { >>>> >>>> pageTitle = title; >>>> } >>>> >>>> public BasePage() { >>>> >>>> this(new PageParameters()); >>>> } >>>> >>>> /** >>>> * >>>> * @param parameters >>>> */ >>>> public BasePage(final PageParameters parameters) { >>>> >>>> super(parameters); >>>> >>>> add(new Label("title", new PropertyModel<String>(this, >>> "pageTitle"))); >>>> add(new BookmarkablePageLink("logo", Index.class)); >>>> add(new BookmarkablePageLink("home", Index.class)); >>>> add(new BookmarkablePageLink("news", Blog.class)); >>>> add(new BookmarkablePageLink("contact", ContactUs.class)); >>>> add(new BookmarkablePageLink("about", About.class)); >>>> add(new FooterPanel("social")); >>>> } >>>> >>>> /** >>>> * Construct >>>> * >>>> * @param model >>>> */ >>>> public BasePage(IModel<?> model) { >>>> >>>> super(model); >>>> } >>>> >>>> public class Blog extends BasePage { >>>> >>>> /** >>>> * Constructor >>>> * >>>> * @param params >>>> */ >>>> public Blog(final PageParameters paramaters) { >>>> >>>> setPageTitle("News"); >>>> >>>> //Add a list of blogPosts >>>> final PageableListView<Post> listView; >>>> add(listView = new PageableListView<Post>("blogPosts", new >>> PropertyModel<List<Post>>(this, "blogPosts"), 5) { >>>> >>>> @Override >>>> public void populateItem(final ListItem<Post> >>> listItem) { >>>> final Post blogPost = >>> listItem.getModelObject(); >>>> listItem.add(BlogDetails.link("details", >>> blogPost, getLocalizer().getString("noPostTitle", this))); >>>> listItem.add(new Label("text", new >>> Model<Post>(blogPost))); >>>> listItem.add(new Label("tags", new >>> Model<Post>(blogPost))); >>>> listItem.add(removeLink("remove", >>> listItem)); >>>> listItem.add(EditBlogPost.link("edit", >>> blogPost.getId())); >>>> } >>>> }); >>>> add(new PagingNavigator("navigator", listView)); >>>> } >>>> >>>> public List<Post> getBlogPosts() { >>>> final List<Post> blogPosts = new ArrayList<Post>(); >>>> >>>> blogPosts.add(new Post("Post1", "text1", "tag1, tag2, >>> tag3")); >>>> blogPosts.add(new Post("Post2", "text2", "tag1, tag2, >>> tag3")); >>>> blogPosts.add(new Post("Post3", "text3", "tag1, tag2, >>> tag3")); >>>> blogPosts.add(new Post("Post4", "text4", "tag1, tag2, >>> tag3")); >>>> blogPosts.add(new Post("Post5", "text5", "tag1, tag2, >>> tag3")); >>>> blogPosts.add(new Post("Post6", "text6", "tag1, tag2, >>> tag3")); >>>> blogPosts.add(new Post("Post7", "text7", "tag1, tag2, >>> tag3")); >>>> blogPosts.add(new Post("Post8", "text8", "tag1, tag2, >>> tag3")); >>>> blogPosts.add(new Post("Post9", "text9", "tag1, tag2, >>> tag3")); >>>> blogPosts.add(new Post("Post10", "text10", "tag1, tag2, >>> tag3")); >>>> >>>> return blogPosts; >>>> >>>> } >>>> } >>>> >>>> public class BlogDetails extends BasePage { >>>> >>>> /** >>>> * >>>> * @param parameters >>>> * PageParameters >>>> * @throws StringValueConversionException >>>> */ >>>> public BlogDetails(final PageParameters parameters) throws >>> StringValueConversionException { >>>> this(Post.get(parameters.get("id").toLong())); >>>> } >>>> >>>> public BlogDetails(final Post blogPost) { >>>> add(new Label("title", blogPost.getTitle())); >>>> add(new Label("text", blogPost.getText())); >>>> add(new Label("tags", blogPost.getTags())); >>>> add(EditBlogPost.link("edit", blogPost.getId())); >>>> } >>>> >>>> /** >>>> * Creates an external page link >>>> * >>>> * @param name >>>> * The name of the link component to create >>>> * @param post >>>> * The post to link to >>>> * @param noPostTitle >>>> * The title to show if post is null >>>> * @return The external page link >>>> */ >>>> public static BookmarkablePageLink<Void> link(final String name, >>> final Post blogPost, final String noPostTitle) { >>>> >>>> final BookmarkablePageLink<Void> link = new >>> BookmarkablePageLink<Void>(name, BlogDetails.class); >>>> >>>> if (blogPost != null) { >>>> >>>> link.getPageParameters().add("id", >>> blogPost.getId()); >>>> link.add(new Label("title", new >>> Model<Post>(blogPost))); >>>> } >>>> else { >>>> >>>> link.add(new Label("title", noPostTitle)); >>>> link.setEnabled(false); >>>> } >>>> >>>> return link; >>>> } >>>> } >>>> >>>> >>>> ____________________________________ >>>> Stephen Walsh | http://connectwithawalsh.com >>> >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: [email protected] >>> For additional commands, e-mail: [email protected] > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
