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)) {