Shane Petroff wrote:
Andrew Robinson (JIRA) wrote:
You are clearing the children component on every single get call.
Every _set_, but regardless, I have to take a look to make sure I haven't gotten my example out of synch with the real code.

Did the explanation below make sense to anyone? Given the choice of generating a single page via java code which is then re-built for each submission, vs 1K+ very similar pages vs 100+ large pages making judicious use of the rendered property, I chose the first option. The 2 use cases also driving this decision were the need to navigate essentially randomly through the various details and the need to alter page contents without developer or designer intervention.

That said, I do need to rebuild the entire page after submission (hence the getChildren().clear()). This is a 'detail' page whose content is not know at design time. There are thousands of possible combinations of components which make up this page, and those combinations change from time to time, so it is not reasonable to develop a normal page per combination. As a user iterates through objects (examining their details) the same page is reconstructed based on metadata describing the particular instance they happen to be looking at. User instances which are adjacent in the list which is being traversed, can have radically different profiles, so I just reconstruct the page.

I would suggest that you try to alter your code to make sure the component is only created once (use an attribute on the parent component).

I want to recreate components once per submission in this case.

I realize that this isn't a 'normal' approach, but I'm not sure how else I could have structured things. The only thing that seems to be 'required' (found through experimentation, not spec) is that component id's need to be allocated in a deterministic way. The show detail seems not to like id's 'duplicated' in distinct naming containers, but it too behaves when names are deterministic and consistent. Am I going to be in trouble in the future with this approach?

--
Shane

Reply via email to