[jboss-user] [JBoss Seam] - ConcurrentModificationException
tony.herstell@gmail.com
do-not-reply at jboss.com
Tue Jan 8 03:54:52 EST 2008
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
More information about the jboss-user
mailing list