This worked wonderfully.  Thanks for the guidance on this.

____________________________________
Stephen Walsh | http://connectwithawalsh.com

On Sep 22, 2012, at 10:08, Sebastien <[email protected]> wrote:

> Hi,
> 
> Label is designed to display a text, and that's what you supplied in the
> second line.
> But you provides a typed model in the first one. So the effect is that le
> Label will call blobPost.toString().
> If you wish to provide a model to the Label (which is recommended in case
> the text changes), prefer: new Label("when", new
> PropertyModel<String>(blogPost, "text))
> 
> Hope this helps,
> Sebastien.
> 
> 
> On Sat, Sep 22, 2012 at 4:25 PM, Stephen Walsh <
> [email protected]> wrote:
> 
>> On a related note to this original question.
>> 
>> Can someone explain the difference between the two lines below?
>> 
>>        listItem.add(new Label("when", new Model<Post>(blogPost)));
>>        listItem.add(new Label("text", blogPost.getText()));
>> 
>> The first one gives me some random but predictable text: post.Post@497f079e
>> The next gives me the actual text of the test post:text1
>> 
>> I'm not sure why it matters here.  In my details page as you can below,
>> the getters are being used to pull back the necessary data.
>> 
>> Thanks in advance.
>> 
>> On Sep 21, 2012, at 19:45, Stephen Walsh <[email protected]>
>> wrote:
>> 
>>> Got this resolved.  I missed a line in my Post class
>>> 
>>> add(this);
>>> 
>>> which adds the Post in question to the HashMap.
>>> 
>>> 
>>> On Sep 21, 2012, at 08:38, Stephen Walsh <[email protected]>
>> wrote:
>>> 
>>>> I attempted your solution Sebastien and did parameters.set("id", 43);
>> This was one of the id's that was showing up in the link when I looked at
>> the status bar.  I still got the same error (string value exception) and it
>> also said something about a null pointer.  I'm at work and don't have the
>> stack trace, but I thought it might be helpful to provide more info.
>>>> 
>>>> Any other thoughts on this?  Thanks again.
>>>> 
>>>> 
>>>> _____________
>>>> Stephen Walsh
>>>> 
>>>> 
>>>> 
>>>> On Thu, Sep 20, 2012 at 4:46 PM, Stephen Walsh <
>> [email protected]> wrote:
>>>> 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]
>>>>> 
>>>> 
>>> 
>> 
>> 

Reply via email to