It IS very possible I am going about this from the completely wrong angle... 

The gist of it is, that a whole bunch of users will be reading all the
entries from the same vector in an asynchronised manner. So what I thought
that each user would require their own Iterator to keep track of their
progress through the Vector ... 

The only actions I performed on the vector is adding to it.  I am thinking,
once the iterator is retrieved from getItemModels() does RefreshingView
store the iterator within itself for the duration that its being displayed?
cause if that is the case, i am thinking i dont even NEED to be storing the
iterator with each user!




igor.vaynberg wrote:
> 
> On 7/18/07, Ballist1c <[EMAIL PROTECTED]> wrote:
>>
>>
>> Yep, I made some adjustments to code, to allow for any number of users to
>> join a chatSession, rather then just 2.
>>
>> What I am doing is , the vector that I am using is within a particular
>> class
>> and the Iterators for that vector are actually stored within another
>> subclass which is stored within a hashmap within this class.
> 
> 
> w o w
> 
> I got this working before with Iterators directly declared within the
> class,
>> but now that I have moved the iterators to a hashMap so I can store
>> multiple
>> iterators to the same Vector, it has gone nuts... with the same error:(
>>
>> Anyway, let me know what you think
> 
> 
>  obviously whatever this thing is, another thread is modifying it, or you
> are doing something elsewhere to modify it.
> 
> what you should do is instead of returning an iterator directly first copy
> the values into an array list and return an iterator to that. java 101.
> 
> -igor
> 
> 
> 
> ----------------------------------------------------------------------------------
>>         chatRefreshingView = new RefreshingView("chatView", new
>> PropertyModel(new PropertyModel(ChatView.this.getJumbuckSession(),
>> "currentChatSession"), "chatEntries"))
>>         {
>>                 protected Iterator getItemModels()
>>                 {
>>                     //i like cereal
>>                     chatViewItemsIterator = new
>> ModelIteratorAdapter(ChatView.this.getJumbuckSession
>> ().getCurrentChatSessionIterator())
>> {
>>
>>                         protected IModel model(Object object) {
>>                             return new Model((Serializable) object);
>>                         }
>>                     };
>>                     return chatViewItemsIterator;
>>                 }
>>                 protected void populateItem(Item item)
>>                 {
>>                     ChatViewItem chatViewItem = getItem("chatViewItem");
>>                     item.add(chatViewItem);
>>                     chatViewItem.setMyModels();
>>                 }
>>         };
>>
>>         add(chatRefreshingView);
>>         chatRefreshingView.setOutputMarkupId(true);
>>
>>
>> -------------------------------------------------------------------------------
>>     public void setMyModels() //for chatViewItem.setMyModels() above
>>     {
>>
>>         IModel chatViewItemModel = getParent().getModel();
>>         PropertyModel contentsModel = new
>> PropertyModel(chatViewItemModel,
>> "contents");
>>
>>         getAuthorChatImage().setModel(new ImagePathFromIdModel(new
>> PropertyModel(chatViewItemModel, "authorProfileId")));
>>         getContents().setModel(contentsModel);
>>     }
>>
>>
>> ----------------------------------------------------------------------------------
>>
>> WicketMessage: Error attaching this container for rendering:
>> [MarkupContainer [Component id = chatDisplay, page =
>> jumbuck.ffweb.wicket.page.FFWeb, path =
>> 0:main_tabbed_panel:target_panel:tabbed_panel:target_panel:
>> chatDisplay.HotListTargetPanel$1,
>> isVisible = true, isVersioned = false]]
>>
>> Root cause:
>>
>> java.util.ConcurrentModificationException
>> at java.util.AbstractList$Itr.checkForComodification(AbstractList.java
>> :372)
>> at java.util.AbstractList$Itr.next(AbstractList.java:343)
>> at
>> org.apache.wicket.markup.repeater.util.ModelIteratorAdapter.next(
>> ModelIteratorAdapter.java:60)
>> at
>> org.apache.wicket.markup.repeater.DefaultItemReuseStrategy$1.next(
>> DefaultItemReuseStrategy.java:71)
>> at
>> org.apache.wicket.markup.repeater.RefreshingView.addItems(
>> RefreshingView.java:189)
>> at
>> org.apache.wicket.markup.repeater.RefreshingView.onBeforeRender(
>> RefreshingView.java:115)
>> at org.apache.wicket.Component.beforeRender(Component.java:846)
>> at
>> org.apache.wicket.MarkupContainer.onBeforeRenderChildren(
>> MarkupContainer.java:1449)
>> at org.apache.wicket.Component.beforeRender(Component.java:856)
>> at
>> org.apache.wicket.MarkupContainer.onBeforeRenderChildren(
>> MarkupContainer.java:1449)
>> at org.apache.wicket.Component.beforeRender(Component.java:856)
>> at
>> org.apache.wicket.MarkupContainer.onBeforeRenderChildren(
>> MarkupContainer.java:1449)
>> at org.apache.wicket.Component.beforeRender(Component.java:856)
>> at
>> org.apache.wicket.ajax.AjaxRequestTarget.respondComponent(
>> AjaxRequestTarget.java:757)
>> at
>> org.apache.wicket.ajax.AjaxRequestTarget.respondComponents(
>> AjaxRequestTarget.java:662)
>> at
>> org.apache.wicket.ajax.AjaxRequestTarget.respond(AjaxRequestTarget.java
>> :520)
>> at
>> org.apache.wicket.request.AbstractRequestCycleProcessor.respond(
>> AbstractRequestCycleProcessor.java:103)
>> at
>> org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java
>> :1037)
>> at org.apache.wicket.RequestCycle.step(RequestCycle.java:1107)
>> at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1176)
>> at org.apache.wicket.RequestCycle.request(RequestCycle.java:499)
>> at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java
>> :257)
>> at
>> org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java
>> :127)
>> --
>> View this message in context:
>> http://www.nabble.com/java.util.ConcurrentModificationException-with-RefreshingView-%28AGAIN%21-%21-%21%21%29-tf4101508.html#a11663707
>> Sent from the Wicket - User mailing list archive at Nabble.com.
>>
>>
>> -------------------------------------------------------------------------
>> This SF.net email is sponsored by DB2 Express
>> Download DB2 Express C - the FREE version of DB2 express and take
>> control of your XML. No limits. Just data. Click to get it now.
>> http://sourceforge.net/powerbar/db2/
>> _______________________________________________
>> Wicket-user mailing list
>> Wicket-user@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/wicket-user
>>
> -------------------------------------------------------------------------
> This SF.net email is sponsored by DB2 Express
> Download DB2 Express C - the FREE version of DB2 express and take
> control of your XML. No limits. Just data. Click to get it now.
> http://sourceforge.net/powerbar/db2/
> _______________________________________________
> Wicket-user mailing list
> Wicket-user@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/wicket-user
> 
> 

-- 
View this message in context: 
http://www.nabble.com/java.util.ConcurrentModificationException-with-RefreshingView-%28AGAIN%21-%21-%21%21%29-tf4101508.html#a11680094
Sent from the Wicket - User mailing list archive at Nabble.com.


-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user

Reply via email to