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]