I have some markup:
| <f:view>
| <a4j:form styleClass="general_form">
|
| <fieldset class="general_form_fieldset">
|
| <legend
class="general_form_legend">
| <h:outputText
value="#{messages.booking_fieldset_resources}" />
| </legend>
|
| <s:validateAll>
| <div>
| <center>
|
<rich:dataTable id="resourceAddedTable" var="eachResource"
value="#{bookingResources}">
|
<rich:column>
|
<f:facet name="header">
|
<h:outputText
value="#{messages.booking_resource_column_header}" />
|
</f:facet>
|
<h:outputText value="#{messages[eachResource.inlLabel]}" />
|
</rich:column>
|
<rich:column>
|
<f:facet name="header">
|
<h:outputText value="#{messages.booking_action_column_header}"
/>
|
</f:facet>
|
<a4j:commandButton styleClass="general_form_button"
|
action="#{bookingController.removeResource(eachResource)}"
|
value="#{messages.general_button_remove}" type="submit"
reRender="resourceAddedTable">
|
</a4j:commandButton>
|
</rich:column>
|
</rich:dataTable>
| </center>
| </div>
|
| <div>
| <rich:messages
id="resourceAdditionAttemptMessages" errorClass="error" warnClass="warn"
|
infoClass="info" for="resourceAddedTable" />
| </div>
|
| <div>
| <br />
| </div>
|
| <div>
|
<a4j:commandButton id="addResidentTrainer"
value="#{messages.resource_resident_trainer}"
|
action="#{bookingController.addResource('resource_resident_trainer')}"
|
reRender="resourceAddedTable, resourceAdditionAttemptMessages" />
|
The table is simple updated by the back end when you click add.
When you click remove its supposed to remove the item from the list.
However.. I get
| Caused by: java.util.ConcurrentModificationException
| at
java.util.AbstractList$Itr.checkForComodification(AbstractList.java:372)
| at java.util.AbstractList$Itr.next(AbstractList.java:343)
|
| @DataModel
| private List<ResourceKind> bookingResources;
|
| ...
|
| /* (non-Javadoc)
| * @see
nz.co.selwynequestriancentre.action.booking.BookingController#addResource(java.lang.String)
| */
| public String addResource(String resource) {
| log.info(">addResource " + resource);
| ResourceKind resourceKind =
resourceHelper.getResourceKind(resource);
| boolean isAlreadyAdded = false;
| for (ResourceKind eachExistingResourceKind : bookingResources) {
| if
(resourceKind.getInlLabel().equalsIgnoreCase(eachExistingResourceKind.getInlLabel()))
{
|
facesMessages.addToControlFromResourceBundle("resourceAdditionAttemptMessages",
FacesMessage.SEVERITY_ERROR, "booking_resource_already_added");
| isAlreadyAdded = true;
| }
| }
| if (!isAlreadyAdded) {
| bookingResources.add(resourceKind);
| }
| log.info("<addResource");
| return null;
| }
|
| /* (non-Javadoc)
| * @see
nz.co.selwynequestriancentre.action.booking.BookingController#removeResource(nz.co.selwynequestriancentre.model.entity.Resource.ResourceKind)
| */
| public String removeResource(ResourceKind resourceKind) {
| for (ResourceKind eachExistingResourceKind : bookingResources) {
| if
(resourceKind.getInlLabel().equalsIgnoreCase(eachExistingResourceKind.getInlLabel()))
{
| bookingResources.remove(resourceKind);
| }
| }
| return null;
| }
| ...
|
Any ideas?
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4117811#4117811
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4117811
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user