So I was just looking at what I sent along and it seems that putIfAbsent(modifiable, new HashSet<IChangeListener>()) should return the value component, which should be the new HashSet<IChangeListener>. Even if the key modifiable already exists, it should return the previously created HashSet<IChangeListener>.
I'm confused that listener is coming back null. Daniel On Tue, Feb 7, 2012 at 9:21 AM, Daniel Watrous <daniel.watr...@gmail.com> wrote: > That helped. I'm getting really close. > > I'm now getting a null pointer exception in this function > > public boolean add(IModifiable modifiable, IChangeListener listener) { > // TODO Auto-generated method stub > checkResources(); > Set<IChangeListener> listeners = > listenersMap.putIfAbsent(modifiable, > new HashSet<IChangeListener>()); > return listeners.add(listener); > } > > listeners is null. > > I noticed that start(Duration pollFrequency) in GaeModificationWatcher > was never getting called, so I updated my WicketApplication to set it > like this: > > IModificationWatcher watcher = new GaeModificationWatcher(); > watcher.start(Duration.ONE_SECOND); > getResourceSettings().setResourceWatcher(watcher); > > But that didn't help my problem. I'm still trying to follow > http://agilewombat.blogspot.com/2010/01/wicket-on-google-app-engine.html > > Any pointers? > > Thanks, > Daniel > > On Tue, Feb 7, 2012 at 8:42 AM, Martin Grigorov <mgrigo...@apache.org> wrote: >> Try with java.util.Map.Entry >> >> On Tue, Feb 7, 2012 at 5:39 PM, Daniel Watrous <daniel.watr...@gmail.com> >> wrote: >>> I've now created a class MyRequestCycleListener extends >>> AbstractRequestCycleListener. >>> >>> I'm having a little trouble building class GaeModificationWatcher >>> implements IModificationWatcher. I've tried following this example: >>> http://agilewombat.blogspot.com/2010/01/wicket-on-google-app-engine.html >>> >>> to create the public void checkResources() function, but I'm not sure >>> what Entry class to import. I have tried importing these two Entry >>> classes: >>> org.apache.wicket.util.collections.IntHashMap.Entry >>> import >>> com.google.appengine.repackaged.com.google.common.collect.Multiset.Entry >>> >>> It seems no matter which Entry class I import I get errors like: >>> >>> Multiple markers at this line >>> - Entry cannot be resolved to a type >>> - The constructor >>> HashSet<Entry<IModifiable,Set<IChangeListener>>>(Set<Map.Entry<IModifiable,Set<IChangeListener>>>) >>> is >>> undefined >>> - Incorrect number of arguments for type IntHashMap.Entry; it cannot >>> be parameterized with arguments <IModifiable, >>> Set<IChangeListener>> >>> >>> Thanks for any pointers. >>> >>> Daniel >>> >>> >>> On Tue, Feb 7, 2012 at 7:07 AM, Martin Grigorov <mgrigo...@apache.org> >>> wrote: >>>> On Tue, Feb 7, 2012 at 3:53 PM, Daniel Watrous <daniel.watr...@gmail.com> >>>> wrote: >>>>> Thanks Martin, >>>>> >>>>> I did make that much progress yesterday after sending this, but I >>>>> can't figure out how to get the Application inside the onBeginRequest >>>>> method that I override. In the other examples they call >>>>> getApplication() >>>>> >>>>> @Override >>>>> protected void onBeginRequest() { >>>>> if >>>>> (getApplication().getConfigurationType().equals(Application.DEVELOPMENT)) >>>>> { >>>>> final GaeModificationWatcher resourceWatcher = >>>>> (GaeModificationWatcher) getApplication() >>>>> .getResourceSettings().getResourceWatcher(true); >>>>> resourceWatcher.checkResources(); >>>>> } >>>>> } >>>>> >>>>> How can I get the Application object? >>>> >>>> Application.get() >>>> >>>>> >>>>> Daniel >>>>> >>>>> On Mon, Feb 6, 2012 at 11:43 PM, Martin Grigorov <mgrigo...@apache.org> >>>>> wrote: >>>>>> Hi, >>>>>> >>>>>> On Tue, Feb 7, 2012 at 1:32 AM, Daniel Watrous >>>>>> <daniel.watr...@gmail.com> wrote: >>>>>>> Hi, >>>>>>> >>>>>>> I'm following up on a previous thread that's still unresolved. I would >>>>>>> like GAE to automatically reload my HTML when I save changes. Classes >>>>>>> are reloaded when I save (compile) them, but I have to restart each >>>>>>> time for HTML changes. >>>>>>> >>>>>>> There are some old articles that show how to do this, but they deal >>>>>>> with older versions of Wicket and GAE. For example: >>>>>>> http://agilewombat.blogspot.com/2010/01/wicket-on-google-app-engine.html >>>>>>> http://apache-wicket.1842946.n4.nabble.com/How-can-I-reload-HTML-in-app-engine-td3005241.html >>>>>>> http://code.google.com/p/kickat26/source/browse/trunk/src/de/kickat26/ui/wicket/GAEModificationWatcher.java >>>>>>> >>>>>>> Those suggest creating a class MyWebRequestCycle extends >>>>>>> WebRequestCycle, but wicket 1.5 doesn't have WebRequestCycle. >>>>>>> >>>>>>> How can I accomplish this same thing in the current version of wicket? >>>>>> >>>>>> application.getRequestCycleListeners().add(new MyRequestCycleListener()) >>>>>> >>>>>> class MyRequestCycleListener extends AbstractRequestCycleListener { >>>>>> // override the method you need here >>>>>> } >>>>>> >>>>>> Once you have it you can contribute it to gae-initializer project so >>>>>> other people can re-use it and improve it. >>>>>> >>>>>>> >>>>>>> Daniel >>>>>>> >>>>>>> --------------------------------------------------------------------- >>>>>>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org >>>>>>> For additional commands, e-mail: users-h...@wicket.apache.org >>>>>>> >>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Martin Grigorov >>>>>> jWeekend >>>>>> Training, Consulting, Development >>>>>> http://jWeekend.com >>>>>> >>>>>> --------------------------------------------------------------------- >>>>>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org >>>>>> For additional commands, e-mail: users-h...@wicket.apache.org >>>>>> >>>>> >>>>> --------------------------------------------------------------------- >>>>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org >>>>> For additional commands, e-mail: users-h...@wicket.apache.org >>>>> >>>> >>>> >>>> >>>> -- >>>> Martin Grigorov >>>> jWeekend >>>> Training, Consulting, Development >>>> http://jWeekend.com >>>> >>>> --------------------------------------------------------------------- >>>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org >>>> For additional commands, e-mail: users-h...@wicket.apache.org >>>> >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org >>> For additional commands, e-mail: users-h...@wicket.apache.org >>> >> >> >> >> -- >> Martin Grigorov >> jWeekend >> Training, Consulting, Development >> http://jWeekend.com >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org >> For additional commands, e-mail: users-h...@wicket.apache.org >> --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org