Author: rombert
Date: Thu Jan 28 14:01:58 2016
New Revision: 1727352

URL: http://svn.apache.org/viewvc?rev=1727352&view=rev
Log:
SLING-5163 - Rewrite the JCR Resource to post events using the new
observation API 

Remove extra ArrayList creation in BasicObservationReporter

Modified:
    
sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/observation/BasicObservationReporter.java

Modified: 
sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/observation/BasicObservationReporter.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/observation/BasicObservationReporter.java?rev=1727352&r1=1727351&r2=1727352&view=diff
==============================================================================
--- 
sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/observation/BasicObservationReporter.java
 (original)
+++ 
sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/observation/BasicObservationReporter.java
 Thu Jan 28 14:01:58 2016
@@ -120,12 +120,8 @@ public class BasicObservationReporter im
 
     @Override
     public void reportChanges(final Iterable<ResourceChange> changes, final 
boolean distribute) {
-        final List<ResourceChange> changeList = new 
ArrayList<ResourceChange>();
-        for(final ResourceChange ch : changes) {
-            changeList.add(ch);
-        }
         for (final Map.Entry<ListenerConfig, List<ResourceChangeListenerInfo>> 
entry : this.listeners.entrySet()) {
-            final List<ResourceChange> filtered = filterChanges(changeList, 
entry.getKey());
+            final List<ResourceChange> filtered = filterChanges(changes, 
entry.getKey());
             if ( !filtered.isEmpty() ) {
                 for(final ResourceChangeListenerInfo info : entry.getValue()) {
                     info.getListener().onChange(filtered);
@@ -141,7 +137,7 @@ public class BasicObservationReporter im
      * @param config The configuration
      * @return The filtered list.
      */
-    private List<ResourceChange> filterChanges(final List<ResourceChange> 
changes, final ListenerConfig config) {
+    private List<ResourceChange> filterChanges(final Iterable<ResourceChange> 
changes, final ListenerConfig config) {
         final List<ResourceChange> filtered = new ArrayList<ResourceChange>();
         for (final ResourceChange c : changes) {
             if (matches(c, config)) {


Reply via email to