You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ju...@apache.org on 2014/01/31 05:06:43 UTC
svn commit: r1563046 -
/sling/trunk/bundles/extensions/models/impl/src/main/java/org/apache/sling/models/impl/ModelAdapterFactory.java
Author: justin
Date: Fri Jan 31 04:06:42 2014
New Revision: 1563046
URL: http://svn.apache.org/r1563046
Log:
SLING-3313 - actually use the seal() method to make the disposal callback list unmodifiable
Modified:
sling/trunk/bundles/extensions/models/impl/src/main/java/org/apache/sling/models/impl/ModelAdapterFactory.java
Modified: sling/trunk/bundles/extensions/models/impl/src/main/java/org/apache/sling/models/impl/ModelAdapterFactory.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/models/impl/src/main/java/org/apache/sling/models/impl/ModelAdapterFactory.java?rev=1563046&r1=1563045&r2=1563046&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/models/impl/src/main/java/org/apache/sling/models/impl/ModelAdapterFactory.java (original)
+++ sling/trunk/bundles/extensions/models/impl/src/main/java/org/apache/sling/models/impl/ModelAdapterFactory.java Fri Jan 31 04:06:42 2014
@@ -60,8 +60,6 @@ import org.apache.sling.models.annotatio
import org.apache.sling.models.spi.DisposalCallback;
import org.apache.sling.models.spi.DisposalCallbackRegistry;
import org.apache.sling.models.spi.Injector;
-import org.osgi.framework.InvalidSyntaxException;
-import org.osgi.framework.ServiceReference;
import org.osgi.framework.ServiceRegistration;
import org.osgi.service.component.ComponentContext;
import org.slf4j.Logger;
@@ -79,7 +77,7 @@ public class ModelAdapterFactory impleme
callbacks.add(callback);
}
- private void lock() {
+ private void seal() {
callbacks = Collections.unmodifiableList(callbacks);
}
@@ -113,7 +111,7 @@ public class ModelAdapterFactory impleme
public void run() {
java.lang.ref.Reference<? extends Object> ref = queue.poll();
if (ref != null) {
- log.info("calling disposal for " + ref.toString());
+ log.debug("calling disposal for " + ref.toString());
DisposalCallbackRegistryImpl registry = disposalCallbacks.remove(ref);
registry.onDisposed();
}
@@ -223,6 +221,8 @@ public class ModelAdapterFactory impleme
}
}
+ registry.seal();
+
Iterator<Method> it = injectableMethods.iterator();
while (it.hasNext()) {
Method method = it.next();
@@ -305,6 +305,8 @@ public class ModelAdapterFactory impleme
}
}
+ registry.seal();
+
Iterator<Field> it = injectableFields.iterator();
while (it.hasNext()) {
Field field = it.next();