You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by gn...@apache.org on 2009/04/23 13:35:54 UTC
svn commit: r767894 - in
/geronimo/sandbox/blueprint/blueprint-core/src/main/java/org/apache/geronimo/blueprint/namespace:
ComponentDefinitionRegistryImpl.java ParserContextImpl.java
Author: gnodet
Date: Thu Apr 23 11:35:54 2009
New Revision: 767894
URL: http://svn.apache.org/viewvc?rev=767894&view=rev
Log:
Clean ParserContextImpl and ComponentDefinitionRegistryImpl
Modified:
geronimo/sandbox/blueprint/blueprint-core/src/main/java/org/apache/geronimo/blueprint/namespace/ComponentDefinitionRegistryImpl.java
geronimo/sandbox/blueprint/blueprint-core/src/main/java/org/apache/geronimo/blueprint/namespace/ParserContextImpl.java
Modified: geronimo/sandbox/blueprint/blueprint-core/src/main/java/org/apache/geronimo/blueprint/namespace/ComponentDefinitionRegistryImpl.java
URL: http://svn.apache.org/viewvc/geronimo/sandbox/blueprint/blueprint-core/src/main/java/org/apache/geronimo/blueprint/namespace/ComponentDefinitionRegistryImpl.java?rev=767894&r1=767893&r2=767894&view=diff
==============================================================================
--- geronimo/sandbox/blueprint/blueprint-core/src/main/java/org/apache/geronimo/blueprint/namespace/ComponentDefinitionRegistryImpl.java (original)
+++ geronimo/sandbox/blueprint/blueprint-core/src/main/java/org/apache/geronimo/blueprint/namespace/ComponentDefinitionRegistryImpl.java Thu Apr 23 11:35:54 2009
@@ -24,6 +24,8 @@
import java.util.Set;
import java.util.List;
import java.util.ArrayList;
+import java.util.concurrent.CopyOnWriteArrayList;
+import java.util.concurrent.ConcurrentHashMap;
import org.osgi.service.blueprint.namespace.ComponentDefinitionRegistry;
import org.osgi.service.blueprint.namespace.ComponentNameAlreadyInUseException;
@@ -34,7 +36,10 @@
import org.osgi.service.blueprint.reflect.Target;
/**
- * TODO: javadoc
+ * ComponentDefinitionRegistry implementation.
+ *
+ * This implementation uses concurrent lists and maps to store components and converters metadata
+ * to allow its use by concurrent threads.
*
* @author <a href="mailto:dev@geronimo.apache.org">Apache Geronimo Project</a>
* @version $Rev: 760378 $, $Date: 2009-03-31 11:31:38 +0200 (Tue, 31 Mar 2009) $
@@ -47,8 +52,8 @@
private String defaultDestroyMethod;
public ComponentDefinitionRegistryImpl() {
- components = new HashMap<String, ComponentMetadata>();
- typeConverters = new ArrayList<Target>();
+ components = new ConcurrentHashMap<String, ComponentMetadata>();
+ typeConverters = new CopyOnWriteArrayList<Target>();
}
public boolean containsComponentDefinition(String name) {
@@ -63,7 +68,7 @@
return Collections.unmodifiableSet(components.keySet());
}
- public void registerComponentDefinition(ComponentMetadata component) throws ComponentNameAlreadyInUseException {
+ public void registerComponentDefinition(ComponentMetadata component) {
String name = component.getId();
if (components.containsKey(name)) {
throw new ComponentNameAlreadyInUseException(name);
Modified: geronimo/sandbox/blueprint/blueprint-core/src/main/java/org/apache/geronimo/blueprint/namespace/ParserContextImpl.java
URL: http://svn.apache.org/viewvc/geronimo/sandbox/blueprint/blueprint-core/src/main/java/org/apache/geronimo/blueprint/namespace/ParserContextImpl.java?rev=767894&r1=767893&r2=767894&view=diff
==============================================================================
--- geronimo/sandbox/blueprint/blueprint-core/src/main/java/org/apache/geronimo/blueprint/namespace/ParserContextImpl.java (original)
+++ geronimo/sandbox/blueprint/blueprint-core/src/main/java/org/apache/geronimo/blueprint/namespace/ParserContextImpl.java Thu Apr 23 11:35:54 2009
@@ -25,7 +25,9 @@
import org.osgi.service.blueprint.reflect.ComponentMetadata;
/**
- * TODO: javadoc
+ * A simple ParserContext implementation.
+ *
+ * This class is supposed to be short lived and only used for calling a given namespace handler.
*
* @author <a href="mailto:dev@geronimo.apache.org">Apache Geronimo Project</a>
* @version $Rev: 760378 $, $Date: 2009-03-31 11:31:38 +0200 (Tue, 31 Mar 2009) $
@@ -36,7 +38,9 @@
private final ComponentMetadata enclosingComponent;
private final Node sourceNode;
- public ParserContextImpl(ComponentDefinitionRegistry componentDefinitionRegistry, ComponentMetadata enclosingComponent, Node sourceNode) {
+ public ParserContextImpl(ComponentDefinitionRegistry componentDefinitionRegistry,
+ ComponentMetadata enclosingComponent,
+ Node sourceNode) {
this.componentDefinitionRegistry = componentDefinitionRegistry;
this.enclosingComponent = enclosingComponent;
this.sourceNode = sourceNode;