WICKET-6004 Wicket 8 cleanup - IChangeListener with argument
Project: http://git-wip-us.apache.org/repos/asf/wicket/repo Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/61ca86c0 Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/61ca86c0 Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/61ca86c0 Branch: refs/heads/master Commit: 61ca86c0b5fdcb7da40a19d42b09f281fb32d729 Parents: 0b5fce3 Author: Sven Meier <[email protected]> Authored: Tue Oct 13 11:41:38 2015 +0200 Committer: Sven Meier <[email protected]> Committed: Fri Oct 16 14:24:47 2015 +0200 ---------------------------------------------------------------------- .../application/ReloadingClassLoader.java | 11 +++---- .../org/apache/wicket/markup/MarkupCache.java | 4 +-- .../protocol/http/ReloadingWicketFilter.java | 4 +-- .../wicket/resource/PropertiesFactory.java | 5 ++-- .../wicket/util/listener/ChangeListenerSet.java | 31 ++++---------------- .../wicket/util/listener/IChangeListener.java | 6 ++-- .../wicket/util/watch/IModificationWatcher.java | 2 +- .../wicket/util/watch/ModificationWatcher.java | 4 +-- 8 files changed, 25 insertions(+), 42 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/wicket/blob/61ca86c0/wicket-core/src/main/java/org/apache/wicket/application/ReloadingClassLoader.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/main/java/org/apache/wicket/application/ReloadingClassLoader.java b/wicket-core/src/main/java/org/apache/wicket/application/ReloadingClassLoader.java index 83c413b..df3ef09 100644 --- a/wicket-core/src/main/java/org/apache/wicket/application/ReloadingClassLoader.java +++ b/wicket-core/src/main/java/org/apache/wicket/application/ReloadingClassLoader.java @@ -30,6 +30,7 @@ import org.apache.wicket.util.collections.UrlExternalFormComparator; import org.apache.wicket.util.file.File; import org.apache.wicket.util.listener.IChangeListener; import org.apache.wicket.util.time.Duration; +import org.apache.wicket.util.watch.IModifiable; import org.apache.wicket.util.watch.IModificationWatcher; import org.apache.wicket.util.watch.ModificationWatcher; import org.slf4j.Logger; @@ -50,7 +51,7 @@ public class ReloadingClassLoader extends URLClassLoader private static final List<String> patterns = new ArrayList<>(); - private IChangeListener listener; + private IChangeListener<Class<?>> listener; private final IModificationWatcher watcher; @@ -301,7 +302,7 @@ public class ReloadingClassLoader extends URLClassLoader * @param listener * the listener to notify upon class change */ - public void setListener(IChangeListener listener) + public void setListener(IChangeListener<Class<?>> listener) { this.listener = listener; } @@ -331,15 +332,15 @@ public class ReloadingClassLoader extends URLClassLoader if (clzFile.exists()) { log.info("Watching changes of class " + clzFile); - watcher.add(clzFile, new IChangeListener() + watcher.add(clzFile, new IChangeListener<IModifiable>() { @Override - public void onChange() + public void onChange(IModifiable modifiable) { log.info("Class file " + finalClzFile + " has changed, reloading"); try { - listener.onChange(); + listener.onChange(clz); } catch (Exception e) { http://git-wip-us.apache.org/repos/asf/wicket/blob/61ca86c0/wicket-core/src/main/java/org/apache/wicket/markup/MarkupCache.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/MarkupCache.java b/wicket-core/src/main/java/org/apache/wicket/markup/MarkupCache.java index 3526dc6..d73ba86 100644 --- a/wicket-core/src/main/java/org/apache/wicket/markup/MarkupCache.java +++ b/wicket-core/src/main/java/org/apache/wicket/markup/MarkupCache.java @@ -517,10 +517,10 @@ public class MarkupCache implements IMarkupCache .getResourceWatcher(true); if (watcher != null) { - watcher.add(markupResourceStream, new IChangeListener() + watcher.add(markupResourceStream, new IChangeListener<IModifiable>() { @Override - public void onChange() + public void onChange(IModifiable modifiable) { if (log.isDebugEnabled()) { http://git-wip-us.apache.org/repos/asf/wicket/blob/61ca86c0/wicket-core/src/main/java/org/apache/wicket/protocol/http/ReloadingWicketFilter.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/main/java/org/apache/wicket/protocol/http/ReloadingWicketFilter.java b/wicket-core/src/main/java/org/apache/wicket/protocol/http/ReloadingWicketFilter.java index 6c7cc00..8b5dc39 100644 --- a/wicket-core/src/main/java/org/apache/wicket/protocol/http/ReloadingWicketFilter.java +++ b/wicket-core/src/main/java/org/apache/wicket/protocol/http/ReloadingWicketFilter.java @@ -147,10 +147,10 @@ public class ReloadingWicketFilter extends WicketFilter public void init(final boolean isServlet, final FilterConfig filterConfig) throws ServletException { - reloadingClassLoader.setListener(new IChangeListener() + reloadingClassLoader.setListener(new IChangeListener<Class<?>>() { @Override - public void onChange() + public void onChange(Class<?> clz) { destroy(); http://git-wip-us.apache.org/repos/asf/wicket/blob/61ca86c0/wicket-core/src/main/java/org/apache/wicket/resource/PropertiesFactory.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/main/java/org/apache/wicket/resource/PropertiesFactory.java b/wicket-core/src/main/java/org/apache/wicket/resource/PropertiesFactory.java index 9294205..4a5fd95 100644 --- a/wicket-core/src/main/java/org/apache/wicket/resource/PropertiesFactory.java +++ b/wicket-core/src/main/java/org/apache/wicket/resource/PropertiesFactory.java @@ -31,6 +31,7 @@ import org.apache.wicket.util.listener.IChangeListener; import org.apache.wicket.util.resource.IResourceStream; import org.apache.wicket.util.resource.ResourceStreamNotFoundException; import org.apache.wicket.util.value.ValueMap; +import org.apache.wicket.util.watch.IModifiable; import org.apache.wicket.util.watch.IModificationWatcher; import org.apache.wicket.util.watch.ModificationWatcher; import org.slf4j.Logger; @@ -256,10 +257,10 @@ public class PropertiesFactory implements IPropertiesFactory protected void addToWatcher(final String path, final IResourceStream resourceStream, final IModificationWatcher watcher) { - watcher.add(resourceStream, new IChangeListener() + watcher.add(resourceStream, new IChangeListener<IModifiable>() { @Override - public void onChange() + public void onChange(IModifiable modifiable) { log.info("A properties files has changed. Removing all entries " + "from the cache. Resource: " + resourceStream); http://git-wip-us.apache.org/repos/asf/wicket/blob/61ca86c0/wicket-util/src/main/java/org/apache/wicket/util/listener/ChangeListenerSet.java ---------------------------------------------------------------------- diff --git a/wicket-util/src/main/java/org/apache/wicket/util/listener/ChangeListenerSet.java b/wicket-util/src/main/java/org/apache/wicket/util/listener/ChangeListenerSet.java index add35e6..c67c7fe 100644 --- a/wicket-util/src/main/java/org/apache/wicket/util/listener/ChangeListenerSet.java +++ b/wicket-util/src/main/java/org/apache/wicket/util/listener/ChangeListenerSet.java @@ -16,8 +16,6 @@ */ package org.apache.wicket.util.listener; -import org.apache.wicket.util.watch.IModifiable; - /** * Holds a set of IChangeListeners. * @@ -26,37 +24,18 @@ import org.apache.wicket.util.watch.IModifiable; * * @author Jonathan Locke */ -public final class ChangeListenerSet extends ListenerCollection<IChangeListener> +public final class ChangeListenerSet<T> extends ListenerCollection<IChangeListener<T>> { private static final long serialVersionUID = 1L; - public void notifyListeners() - { - notify(new INotifier<IChangeListener>() - { - @Override - public void notify(final IChangeListener object) - { - object.onChange(); - } - }); - } - - public void notifyListeners(final IModifiable modifiable) + public void notifyListeners(final T t) { - notify(new INotifier<IChangeListener>() + notify(new INotifier<IChangeListener<T>>() { @Override - public void notify(final IChangeListener listener) + public void notify(final IChangeListener<T> listener) { - if (listener instanceof IChangeListener2) - { - ((IChangeListener2) listener).onChange(modifiable); - } - else - { - listener.onChange(); - } + listener.onChange(t); } }); } http://git-wip-us.apache.org/repos/asf/wicket/blob/61ca86c0/wicket-util/src/main/java/org/apache/wicket/util/listener/IChangeListener.java ---------------------------------------------------------------------- diff --git a/wicket-util/src/main/java/org/apache/wicket/util/listener/IChangeListener.java b/wicket-util/src/main/java/org/apache/wicket/util/listener/IChangeListener.java index 43ff0db..5288b69 100644 --- a/wicket-util/src/main/java/org/apache/wicket/util/listener/IChangeListener.java +++ b/wicket-util/src/main/java/org/apache/wicket/util/listener/IChangeListener.java @@ -21,10 +21,12 @@ package org.apache.wicket.util.listener; * * @author Jonathan Locke */ -public interface IChangeListener +public interface IChangeListener<T> { /** * Client method that is called to indicate that something changed. + * + * @param modifiable The object that has changed */ - void onChange(); + void onChange(T modifiable); } http://git-wip-us.apache.org/repos/asf/wicket/blob/61ca86c0/wicket-util/src/main/java/org/apache/wicket/util/watch/IModificationWatcher.java ---------------------------------------------------------------------- diff --git a/wicket-util/src/main/java/org/apache/wicket/util/watch/IModificationWatcher.java b/wicket-util/src/main/java/org/apache/wicket/util/watch/IModificationWatcher.java index 606378e..8afe221 100644 --- a/wicket-util/src/main/java/org/apache/wicket/util/watch/IModificationWatcher.java +++ b/wicket-util/src/main/java/org/apache/wicket/util/watch/IModificationWatcher.java @@ -41,7 +41,7 @@ public interface IModificationWatcher * modified * @return <code>true</code> if the set did not already contain the specified element */ - boolean add(final IModifiable modifiable, final IChangeListener listener); + boolean add(final IModifiable modifiable, final IChangeListener<IModifiable> listener); /** * Removes all entries associated with an <code>IModifiable</code> object. http://git-wip-us.apache.org/repos/asf/wicket/blob/61ca86c0/wicket-util/src/main/java/org/apache/wicket/util/watch/ModificationWatcher.java ---------------------------------------------------------------------- diff --git a/wicket-util/src/main/java/org/apache/wicket/util/watch/ModificationWatcher.java b/wicket-util/src/main/java/org/apache/wicket/util/watch/ModificationWatcher.java index 4f260fa..c37317a 100644 --- a/wicket-util/src/main/java/org/apache/wicket/util/watch/ModificationWatcher.java +++ b/wicket-util/src/main/java/org/apache/wicket/util/watch/ModificationWatcher.java @@ -57,7 +57,7 @@ public class ModificationWatcher implements IModificationWatcher public Time lastModifiedTime; // The set of listeners to call when the modifiable changes - public final ChangeListenerSet listeners = new ChangeListenerSet(); + public final ChangeListenerSet<IModifiable> listeners = new ChangeListenerSet<>(); // The modifiable thing public IModifiable modifiable; @@ -82,7 +82,7 @@ public class ModificationWatcher implements IModificationWatcher } @Override - public final boolean add(final IModifiable modifiable, final IChangeListener listener) + public final boolean add(final IModifiable modifiable, final IChangeListener<IModifiable> listener) { // Look up entry for modifiable final Entry entry = modifiableToEntry.get(modifiable);
