Author: rhauch
Date: 2009-04-22 09:38:14 -0400 (Wed, 22 Apr 2009)
New Revision: 845
Modified:
trunk/dna-common/src/main/java/org/jboss/dna/common/component/ComponentConfig.java
trunk/dna-common/src/main/java/org/jboss/dna/common/component/ComponentLibrary.java
trunk/dna-common/src/test/java/org/jboss/dna/common/component/ComponentConfigTest.java
trunk/dna-common/src/test/java/org/jboss/dna/common/component/SampleComponentConfig.java
trunk/dna-repository/src/main/java/org/jboss/dna/repository/rules/RuleSet.java
trunk/dna-repository/src/main/java/org/jboss/dna/repository/sequencer/SequencerConfig.java
trunk/dna-repository/src/test/java/org/jboss/dna/repository/sequencer/SequencerConfigTest.java
trunk/dna-repository/src/test/java/org/jboss/dna/repository/sequencer/SequencingServiceTest.java
trunk/dna-repository/src/test/java/org/jboss/dna/repository/sequencer/StreamSequencerAdapterTest.java
Log:
DNA-58 Create repository configuration and component
Applied the first patch ("") and a small part of the second (""),
which enhanced ComponentConfig to allow properties that are set reflectively on the
components when they are instantiated. Subclasses of ComponentConfig were also modified,
as were the test cases.
Modified:
trunk/dna-common/src/main/java/org/jboss/dna/common/component/ComponentConfig.java
===================================================================
---
trunk/dna-common/src/main/java/org/jboss/dna/common/component/ComponentConfig.java 2009-04-22
09:41:25 UTC (rev 844)
+++
trunk/dna-common/src/main/java/org/jboss/dna/common/component/ComponentConfig.java 2009-04-22
13:38:14 UTC (rev 845)
@@ -25,7 +25,9 @@
import java.util.ArrayList;
import java.util.Collections;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
import net.jcip.annotations.Immutable;
import org.jboss.dna.common.CommonI18n;
import org.jboss.dna.common.util.CheckArg;
@@ -41,38 +43,73 @@
private final String description;
private final String componentClassname;
private final List<String> classpath;
+ private final Map<String, Object> properties;
private final long timestamp;
/**
* Create a component configuration.
+ *
* @param name the name of the configuration, which is considered to be a unique
identifier
* @param description the description
* @param classname the name of the Java class used for the component
* @param classpath the optional classpath (defined in a way compatible with a {@link
ClassLoaderFactory}
* @throws IllegalArgumentException if the name is null, empty or blank, or if the
classname is null, empty or not a valid
- * Java classname
+ * Java classname
*/
- public ComponentConfig( String name, String description, String classname, String...
classpath ) {
- this(name, description, System.currentTimeMillis(), classname, classpath);
+ public ComponentConfig( String name,
+ String description,
+ String classname,
+ String... classpath ) {
+ this(name, description, System.currentTimeMillis(), Collections.<String,
Object>emptyMap(), classname, classpath);
}
/**
* Create a component configuration.
+ *
* @param name the name of the configuration, which is considered to be a unique
identifier
* @param description the description
+ * @param properties the mapping of properties to values that should be set through
reflection after a component is
+ * instantiated with this configuration information
+ * @param classname the name of the Java class used for the component
+ * @param classpath the optional classpath (defined in a way compatible with a {@link
ClassLoaderFactory}
+ * @throws IllegalArgumentException if the name is null, empty or blank, or if the
class name is null, empty or not a valid
+ * Java class name
+ */
+ public ComponentConfig( String name,
+ String description,
+ Map<String, Object> properties,
+ String classname,
+ String... classpath ) {
+ this(name, description, System.currentTimeMillis(), properties, classname,
classpath);
+ }
+
+ /**
+ * Create a component configuration.
+ *
+ * @param name the name of the configuration, which is considered to be a unique
identifier
+ * @param description the description
* @param timestamp the timestamp that this component was last changed
+ * @param properties the mapping of properties to values that should be set through
reflection after a component is
+ * instantiated with this configuration information
* @param classname the name of the Java class used for the component
* @param classpath the optional classpath (defined in a way compatible with a {@link
ClassLoaderFactory}
* @throws IllegalArgumentException if the name is null, empty or blank, or if the
classname is null, empty or not a valid
- * Java classname
+ * Java classname
*/
- public ComponentConfig( String name, String description, long timestamp, String
classname, String... classpath ) {
+ public ComponentConfig( String name,
+ String description,
+ long timestamp,
+ Map<String, Object> properties,
+ String classname,
+ String... classpath ) {
CheckArg.isNotEmpty(name, "name");
this.name = name.trim();
this.description = description != null ? description.trim() : "";
this.componentClassname = classname;
this.classpath = buildList(classpath);
this.timestamp = timestamp;
+ this.properties = properties != null ? Collections.unmodifiableMap(new
HashMap<String, Object>(properties)) : Collections.<String,
Object>emptyMap();
+
// Check the classname is a valid classname ...
if (!ClassUtil.isFullyQualifiedClassname(classname)) {
throw new
IllegalArgumentException(CommonI18n.componentClassnameNotValid.text(classname, name));
@@ -95,6 +132,7 @@
/**
* Get the name of this component.
+ *
* @return the component name; never null, empty or blank
*/
public String getName() {
@@ -103,6 +141,7 @@
/**
* Get the description for this component
+ *
* @return the description
*/
public String getDescription() {
@@ -111,6 +150,7 @@
/**
* Get the fully-qualified name of the Java class used for instances of this
component
+ *
* @return the Java class name of this component; never null or empty and always a
valid Java class name
*/
public String getComponentClassname() {
@@ -119,6 +159,7 @@
/**
* Get the classpath defined in terms of strings compatible with a {@link
ClassLoaderFactory}.
+ *
* @return the classpath; never null but possibly empty
*/
public List<String> getComponentClasspath() {
@@ -127,6 +168,7 @@
/**
* Get the classpath defined as an array of strings compatible with a {@link
ClassLoaderFactory}.
+ *
* @return the classpath as an array; never null but possibly empty
*/
public String[] getComponentClasspathArray() {
@@ -135,6 +177,7 @@
/**
* Get the system timestamp when this configuration object was created.
+ *
* @return the timestamp
*/
public long getTimestamp() {
@@ -142,6 +185,15 @@
}
/**
+ * Get the (unmodifiable) properties to be set through reflection on components of
this type after instantiation
+ *
+ * @return the properties to be set through reflection on components of this type
after instantiation; never null
+ */
+ public Map<String, Object> getProperties() {
+ return this.properties;
+ }
+
+ /**
* {@inheritDoc}
*/
public int compareTo( ComponentConfig that ) {
@@ -177,10 +229,11 @@
/**
* Determine whether this component has changed with respect to the supplied
component. This method basically checks all
* attributes, whereas {@link #equals(Object) equals} only checks the {@link
#getClass() type} and {@link #getName()}.
+ *
* @param component the component to be compared with this one
* @return true if this componet and the supplied component have some changes, or
false if they are exactly equivalent
* @throws IllegalArgumentException if the supplied component reference is null or is
not the same {@link #getClass() type} as
- * this object
+ * this object
*/
public boolean hasChanged( ComponentConfig component ) {
CheckArg.isNotNull(component, "component");
Modified:
trunk/dna-common/src/main/java/org/jboss/dna/common/component/ComponentLibrary.java
===================================================================
---
trunk/dna-common/src/main/java/org/jboss/dna/common/component/ComponentLibrary.java 2009-04-22
09:41:25 UTC (rev 844)
+++
trunk/dna-common/src/main/java/org/jboss/dna/common/component/ComponentLibrary.java 2009-04-22
13:38:14 UTC (rev 845)
@@ -26,6 +26,7 @@
import java.util.Collections;
import java.util.List;
+import java.util.Map;
import java.util.concurrent.CopyOnWriteArrayList;
import java.util.concurrent.atomic.AtomicReference;
import java.util.concurrent.locks.Lock;
@@ -35,6 +36,7 @@
import org.jboss.dna.common.CommonI18n;
import org.jboss.dna.common.SystemFailureException;
import org.jboss.dna.common.util.CheckArg;
+import org.jboss.dna.common.util.Reflection;
/**
* Maintains the list of component instances for the system. This class does not actively
update the component configurations, but
@@ -255,6 +257,14 @@
if (newInstance instanceof Component) {
((Component<ConfigType>)newInstance).setConfiguration(config);
}
+
+ if (config.getProperties() != null) {
+ for (Map.Entry<String, Object> entry :
config.getProperties().entrySet()) {
+ // Set the JavaBean-style property on the RepositorySource instance
...
+ Reflection reflection = new Reflection(newInstance.getClass());
+ reflection.invokeSetterMethodOnTarget(entry.getKey(), newInstance,
entry.getValue());
+ }
+ }
} catch (Throwable e) {
throw new SystemFailureException(e);
}
Modified:
trunk/dna-common/src/test/java/org/jboss/dna/common/component/ComponentConfigTest.java
===================================================================
---
trunk/dna-common/src/test/java/org/jboss/dna/common/component/ComponentConfigTest.java 2009-04-22
09:41:25 UTC (rev 844)
+++
trunk/dna-common/src/test/java/org/jboss/dna/common/component/ComponentConfigTest.java 2009-04-22
13:38:14 UTC (rev 845)
@@ -26,6 +26,7 @@
import static org.hamcrest.core.Is.is;
import static org.junit.Assert.assertThat;
+import java.util.Collections;
import org.junit.Before;
import org.junit.Test;
@@ -111,4 +112,12 @@
assertThat(configA.getComponentClasspathArray().length, is(0));
}
+ @Test
+ public void shouldSetValidProperty() {
+ configA = new ComponentConfig("configA", validDescription,
System.currentTimeMillis(), Collections.<String,
Object>singletonMap("name", "test name"),
MockComponentA.class.getName(), (String[])null);
+ assertThat(configA.getComponentClasspath().size(), is(0));
+ assertThat(configA.getComponentClasspathArray().length, is(0));
+ assertThat(configA.getProperties().size(), is(1));
+ assertThat(configA.getProperties().get("name").toString(),
is("test name"));
+ }
}
Modified:
trunk/dna-common/src/test/java/org/jboss/dna/common/component/SampleComponentConfig.java
===================================================================
---
trunk/dna-common/src/test/java/org/jboss/dna/common/component/SampleComponentConfig.java 2009-04-22
09:41:25 UTC (rev 844)
+++
trunk/dna-common/src/test/java/org/jboss/dna/common/component/SampleComponentConfig.java 2009-04-22
13:38:14 UTC (rev 845)
@@ -23,6 +23,8 @@
*/
package org.jboss.dna.common.component;
+import java.util.Map;
+
/**
* @author Randall Hauch
*/
@@ -36,11 +38,12 @@
* @param name
* @param description
* @param timestamp
+ * @param properties
* @param classname
* @param classpath
*/
- public SampleComponentConfig( String name, String description, long timestamp, String
classname, String[] classpath ) {
- super(name, description, timestamp, classname, classpath);
+ public SampleComponentConfig( String name, String description, long timestamp,
Map<String, Object> properties, String classname, String[] classpath ) {
+ super(name, description, timestamp, properties, classname, classpath);
}
Modified: trunk/dna-repository/src/main/java/org/jboss/dna/repository/rules/RuleSet.java
===================================================================
---
trunk/dna-repository/src/main/java/org/jboss/dna/repository/rules/RuleSet.java 2009-04-22
09:41:25 UTC (rev 844)
+++
trunk/dna-repository/src/main/java/org/jboss/dna/repository/rules/RuleSet.java 2009-04-22
13:38:14 UTC (rev 845)
@@ -26,7 +26,6 @@
import java.io.ByteArrayInputStream;
import java.io.InputStreamReader;
import java.io.Reader;
-import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import javax.rules.RuleServiceProvider;
@@ -39,6 +38,7 @@
/**
* A description of a set of rules compatible with a JSR-94 rule engine.
+ *
* @author Randall Hauch
*/
@Immutable
@@ -47,10 +47,10 @@
private final String providerUri;
private final String ruleSetUri;
private final String rules;
- private final Map<String, Object> properties;
/**
* Create a JSR-94 rule set definition.
+ *
* @param name the name of the rule set, which is considered the unique identifier
* @param description the description
* @param classname the name of the Java class used for the component
@@ -59,12 +59,19 @@
* @param ruleSetUri the URI of the JSR-94 {@link RuleExecutionSet} represented by
this object; if null, the name is used
* @param rules the string containing the rules in a provider-specific language
* @param properties the provider-specific properties, whose values should be strings
or byte arrays (the latter if the
- * provider expects an {@link Reader} with the value)
+ * provider expects an {@link Reader} with the value)
* @throws IllegalArgumentException if any of the name, classname, provider URI, or
rules parameters are null, empty or blank,
- * or if the classname is not a valid Java classname
+ * or if the classname is not a valid Java classname
*/
- public RuleSet( String name, String description, String classname, String[]
classpath, String providerUri, String ruleSetUri, String rules, Map<String, Object>
properties ) {
- super(name, description, System.currentTimeMillis(), classname, classpath);
+ public RuleSet( String name,
+ String description,
+ String classname,
+ String[] classpath,
+ String providerUri,
+ String ruleSetUri,
+ String rules,
+ Map<String, Object> properties ) {
+ super(name, description, System.currentTimeMillis(), properties, classname,
classpath);
if (ruleSetUri == null) ruleSetUri = name.trim();
CheckArg.isNotEmpty(ruleSetUri, "rule set URI");
CheckArg.isNotEmpty(providerUri, "provider URI");
@@ -72,12 +79,11 @@
this.providerUri = providerUri;
this.ruleSetUri = ruleSetUri;
this.rules = rules;
- if (properties == null) properties = Collections.emptyMap();
- this.properties = Collections.unmodifiableMap(properties);
}
/**
* Get the URI of the JSR-94 {@link RuleServiceProvider} implementation that should
be used.
+ *
* @return the URI of the JSR-94 implementation; never null, empty or blank
*/
public String getProviderUri() {
@@ -86,6 +92,7 @@
/**
* Get the URI of this rule set. The value must be valid as defined by JSR-94 {@link
RuleExecutionSet}.
+ *
* @return the rule set's URI; never null, empty or blank
*/
public String getRuleSetUri() {
@@ -94,6 +101,7 @@
/**
* Get the rules defined in terms of the language reqired by the {@link
#getProviderUri() provider}.
+ *
* @return the rules for this rule set
*/
public String getRules() {
@@ -101,27 +109,18 @@
}
/**
- * Get this rule set's properties as an unmodifiable map. Note that the values of
these properties are either strings if the
- * value is to be {@link #getExecutionSetProperties() passed} literally, or a byte
array if the value is to be
- * {@link #getExecutionSetProperties() passed} as an InputStream.
- * @return the unmodifiable properties; never null but possible empty
- */
- public Map<String, Object> getProperties() {
- return this.properties;
- }
-
- /**
* Get the properties for this rule set that can be passed to an {@link
RuleExecutionSetProvider}'s
* {@link RuleExecutionSetProvider#createRuleExecutionSet(String, Map)
createRuleExecutionSet} method.
* <p>
* This method converts any byte array value in the {@link #getProperties()
properties} into an {@link Reader}. Since
* {@link ByteArrayInputStream} is used, there is no need to close these stream.
* </p>
+ *
* @return the properties; never null but possible empty
*/
public Map<Object, Object> getExecutionSetProperties() {
Map<Object, Object> props = new HashMap<Object, Object>();
- for (Map.Entry<String, Object> entry : this.properties.entrySet()) {
+ for (Map.Entry<String, Object> entry : getProperties().entrySet()) {
String key = entry.getKey();
Object value = entry.getValue();
if (value instanceof byte[]) {
@@ -149,6 +148,7 @@
*/
@Override
public RuleSet clone() {
- return new RuleSet(this.getName(), this.getDescription(),
this.getComponentClassname(), this.getComponentClasspathArray(), this.providerUri,
this.ruleSetUri, this.rules, this.properties);
+ return new RuleSet(getName(), getDescription(), getComponentClassname(),
getComponentClasspathArray(), this.providerUri,
+ this.ruleSetUri, this.rules, getProperties());
}
}
Modified:
trunk/dna-repository/src/main/java/org/jboss/dna/repository/sequencer/SequencerConfig.java
===================================================================
---
trunk/dna-repository/src/main/java/org/jboss/dna/repository/sequencer/SequencerConfig.java 2009-04-22
09:41:25 UTC (rev 844)
+++
trunk/dna-repository/src/main/java/org/jboss/dna/repository/sequencer/SequencerConfig.java 2009-04-22
13:38:14 UTC (rev 845)
@@ -26,6 +26,7 @@
import java.util.Collection;
import java.util.Collections;
import java.util.LinkedHashSet;
+import java.util.Map;
import java.util.Set;
import net.jcip.annotations.Immutable;
import org.jboss.dna.common.component.ComponentConfig;
@@ -38,12 +39,12 @@
private final Set<SequencerPathExpression> pathExpressions;
- public SequencerConfig( String name, String description, String classname, String[]
classpath, String... pathExpressions ) {
- this(name, description, System.currentTimeMillis(), classname, classpath,
pathExpressions);
+ public SequencerConfig( String name, String description, Map<String, Object>
properties, String classname, String[] classpath, String... pathExpressions ) {
+ this(name, description, System.currentTimeMillis(), properties, classname,
classpath, pathExpressions);
}
- public SequencerConfig( String name, String description, long timestamp, String
classname, String[] classpath, String... pathExpressions ) {
- super(name, description, timestamp, classname, classpath);
+ public SequencerConfig( String name, String description, long timestamp,
Map<String, Object> properties, String classname, String[] classpath, String...
pathExpressions ) {
+ super(name, description, timestamp, properties, classname, classpath);
this.pathExpressions = buildPathExpressionSet(pathExpressions);
}
Modified:
trunk/dna-repository/src/test/java/org/jboss/dna/repository/sequencer/SequencerConfigTest.java
===================================================================
---
trunk/dna-repository/src/test/java/org/jboss/dna/repository/sequencer/SequencerConfigTest.java 2009-04-22
09:41:25 UTC (rev 844)
+++
trunk/dna-repository/src/test/java/org/jboss/dna/repository/sequencer/SequencerConfigTest.java 2009-04-22
13:38:14 UTC (rev 845)
@@ -24,6 +24,7 @@
package org.jboss.dna.repository.sequencer;
+import java.util.Collections;
import static org.hamcrest.core.Is.is;
import static org.junit.Assert.assertThat;
import org.jboss.dna.repository.sequencer.SequencerConfig;
@@ -51,47 +52,47 @@
this.validClassname = MockSequencerA.class.getName();
this.validPathExpressions = new String[] {"/a/b/c/d[e/@attribute] =>
."};
this.validMavenIds = new String[]
{"com.acme:configA:1.0,com.acme:configB:1.0"};
- this.configA = new SequencerConfig("configA", validDescription,
MockSequencerA.class.getName(), validMavenIds,
+ this.configA = new SequencerConfig("configA", validDescription,
Collections.<String, Object>emptyMap(), MockSequencerA.class.getName(),
validMavenIds,
validPathExpressions);
- this.configB = new SequencerConfig("configB", validDescription,
MockSequencerB.class.getName(), validMavenIds,
+ this.configB = new SequencerConfig("configB", validDescription,
Collections.<String, Object>emptyMap(), MockSequencerB.class.getName(),
validMavenIds,
validPathExpressions);
- this.configA2 = new SequencerConfig("conFigA", validDescription,
MockSequencerA.class.getName(), validMavenIds,
+ this.configA2 = new SequencerConfig("conFigA", validDescription,
Collections.<String, Object>emptyMap(), MockSequencerA.class.getName(),
validMavenIds,
validPathExpressions);
}
@Test( expected = IllegalArgumentException.class )
public void shouldNotAllowNullNameInConstructor() {
- new SequencerConfig(null, validDescription, validClassname, validMavenIds,
validPathExpressions);
+ new SequencerConfig(null, validDescription, Collections.<String,
Object>emptyMap(), validClassname, validMavenIds, validPathExpressions);
}
@Test( expected = IllegalArgumentException.class )
public void shouldNotAllowEmptyNameInConstructor() {
- new SequencerConfig("", validDescription, validClassname,
validMavenIds, validPathExpressions);
+ new SequencerConfig("", validDescription, Collections.<String,
Object>emptyMap(), validClassname, validMavenIds, validPathExpressions);
}
@Test( expected = IllegalArgumentException.class )
public void shouldNotAllowBlankNameInConstructor() {
- new SequencerConfig(" \t", validDescription, validClassname,
validMavenIds, validPathExpressions);
+ new SequencerConfig(" \t", validDescription, Collections.<String,
Object>emptyMap(), validClassname, validMavenIds, validPathExpressions);
}
@Test( expected = IllegalArgumentException.class )
public void shouldNotAllowNullClassNameInConstructor() {
- new SequencerConfig(validName, validDescription, null, validMavenIds,
validPathExpressions);
+ new SequencerConfig(validName, validDescription, Collections.<String,
Object>emptyMap(), null, validMavenIds, validPathExpressions);
}
@Test( expected = IllegalArgumentException.class )
public void shouldNotAllowEmptyClassNameInConstructor() {
- new SequencerConfig(validName, validDescription, "", validMavenIds,
validPathExpressions);
+ new SequencerConfig(validName, validDescription, Collections.<String,
Object>emptyMap(), "", validMavenIds, validPathExpressions);
}
@Test( expected = IllegalArgumentException.class )
public void shouldNotAllowBlankClassNameInConstructor() {
- new SequencerConfig(validName, validDescription, " \t",
validMavenIds, validPathExpressions);
+ new SequencerConfig(validName, validDescription, Collections.<String,
Object>emptyMap(), " \t", validMavenIds, validPathExpressions);
}
@Test( expected = IllegalArgumentException.class )
public void shouldNotAllowInvalidClassNameInConstructor() {
- new SequencerConfig(validName, validDescription, "12.this is not a valid
classname", validMavenIds, validPathExpressions);
+ new SequencerConfig(validName, validDescription, Collections.<String,
Object>emptyMap(), "12.this is not a valid classname", validMavenIds,
validPathExpressions);
}
@Test
@@ -118,7 +119,7 @@
@Test
public void shouldHaveNonNullPathExpressionCollectionWhenThereAreNoPathExpressions()
{
- configA = new SequencerConfig("configA", validDescription,
validClassname, validMavenIds);
+ configA = new SequencerConfig("configA", validDescription,
Collections.<String, Object>emptyMap(), validClassname, validMavenIds);
assertThat(configA.getPathExpressions().size(), is(0));
}
@@ -130,7 +131,7 @@
@Test
public void shouldGetNonNullSequencerClasspathWhenEmpty() {
- configA = new SequencerConfig("configA", validDescription,
validClassname, null, validPathExpressions);
+ configA = new SequencerConfig("configA", validDescription,
Collections.<String, Object>emptyMap(), validClassname, null,
validPathExpressions);
assertThat(configA.getComponentClasspath().size(), is(0));
assertThat(configA.getComponentClasspathArray().length, is(0));
}
Modified:
trunk/dna-repository/src/test/java/org/jboss/dna/repository/sequencer/SequencingServiceTest.java
===================================================================
---
trunk/dna-repository/src/test/java/org/jboss/dna/repository/sequencer/SequencingServiceTest.java 2009-04-22
09:41:25 UTC (rev 844)
+++
trunk/dna-repository/src/test/java/org/jboss/dna/repository/sequencer/SequencingServiceTest.java 2009-04-22
13:38:14 UTC (rev 845)
@@ -31,6 +31,7 @@
import static org.junit.Assert.assertThat;
import static org.junit.matchers.JUnitMatchers.hasItem;
import java.io.IOException;
+import java.util.Collections;
import java.util.concurrent.TimeUnit;
import javax.jcr.Node;
import javax.jcr.RepositoryException;
@@ -306,7 +307,7 @@
String classname = MockSequencerA.class.getName();
String[] classpath = null;
String[] pathExpressions = {"/testnodeC/testnodeD/@description =>
."};
- SequencerConfig configA = new SequencerConfig(name, desc, classname, classpath,
pathExpressions);
+ SequencerConfig configA = new SequencerConfig(name, desc, Collections.<String,
Object>emptyMap(), classname, classpath, pathExpressions);
sequencingService.addSequencer(configA);
// Start the repository and get a session ...
Modified:
trunk/dna-repository/src/test/java/org/jboss/dna/repository/sequencer/StreamSequencerAdapterTest.java
===================================================================
---
trunk/dna-repository/src/test/java/org/jboss/dna/repository/sequencer/StreamSequencerAdapterTest.java 2009-04-22
09:41:25 UTC (rev 844)
+++
trunk/dna-repository/src/test/java/org/jboss/dna/repository/sequencer/StreamSequencerAdapterTest.java 2009-04-22
13:38:14 UTC (rev 845)
@@ -69,7 +69,7 @@
private StreamSequencer streamSequencer;
private StreamSequencerAdapter sequencer;
private String[] validExpressions = {"/a/* => /output"};
- private SequencerConfig validConfig = new SequencerConfig("name",
"desc", "something.class", null, validExpressions);
+ private SequencerConfig validConfig = new SequencerConfig("name",
"desc", Collections.<String, Object>emptyMap(),
"something.class", null, validExpressions);
private JcrTools tools;
private Session session;
private SequencerOutputMap sequencerOutput;