Yes clicking a letter (A-Z) on the repeat performs the search and then each row of the
search results has an edit link which invokes editSite() on a conversation-scoped bean
'siteManager'.
@Stateful
| @Name("siteManager")
| public class WebsiteManagerBean implements WebsiteManager {
|
| @In(required = false)
| @Out(required = false)
| private Website website;
|
| @In
| private EntityManager entityManager;
|
| private boolean editMode;
|
| private boolean siteFound;
|
| @RequestParameter
| Integer id;
|
| public WebsiteManagerBean() {
| }
|
| @Begin
| public void editSite() {
| this.editMode = true;
| if (!findSite()) {
| facesMessages.addFromResourceBundle("website.not-found");
| log.error("Website not found for id " + id);
| }
| }
|
| private boolean findSite() {
| if (id == null) {
| return false;
| }
| this.website = entityManager.find(Website.class, id);
| siteFound = (null != website) ? true : false;
| return siteFound;
| }
|
|
| //@RaiseEvent("websiteUpdated")
| public void updateSite() {
| facesMessages.addFromResourceBundle("website.updated");
| log.info("Updated website details #{website.id}");
| }
I'm not doing anything particular to persist the changes, clicking 'save' on
the edit page invokes updateSite() and the modifications are flushed to the database. I
then click a link to return to the search results.
Initially the search results do not contain the modifications as they are held in the
session-scoped bean and I'm not yet updating that when updateSite() is invoked (hence
the @RaiseEvent being commented out).
The thing perplexing me is that when I invoke the original search again it seems to query
the database but the changes to the entity do not appear in the search results, even
though they are present in the DataModel.
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4119461#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...