You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by oh...@apache.org on 2012/12/28 17:06:11 UTC

svn commit: r1426559 - in /commons/proper/configuration/trunk/src: main/java/org/apache/commons/configuration/builder/ main/java/org/apache/commons/configuration/builder/fluent/ test/java/org/apache/commons/configuration/builder/ test/java/org/apache/c...

Author: oheger
Date: Fri Dec 28 16:06:11 2012
New Revision: 1426559

URL: http://svn.apache.org/viewvc?rev=1426559&view=rev
Log:
Added a specialized parameters class for hierarchical configurations.

Added:
    commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/HierarchicalBuilderParametersImpl.java   (with props)
    commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/HierarchicalBuilderParametersImplBeanInfo.java   (with props)
    commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/HierarchicalBuilderProperties.java   (with props)
    commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/fluent/HierarchicalBuilderParameters.java   (with props)
    commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/builder/TestHierarchicalBuilderParametersImpl.java   (with props)
Modified:
    commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/XMLBuilderParametersImpl.java
    commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/fluent/Parameters.java
    commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/fluent/XMLBuilderParameters.java
    commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/builder/fluent/TestParameters.java

Added: commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/HierarchicalBuilderParametersImpl.java
URL: http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/HierarchicalBuilderParametersImpl.java?rev=1426559&view=auto
==============================================================================
--- commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/HierarchicalBuilderParametersImpl.java (added)
+++ commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/HierarchicalBuilderParametersImpl.java Fri Dec 28 16:06:11 2012
@@ -0,0 +1,51 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.commons.configuration.builder;
+
+import org.apache.commons.configuration.tree.ExpressionEngine;
+
+/**
+ * <p>
+ * A specialized parameters object for hierarchical configurations.
+ * </p>
+ * <p>
+ * This class defines special properties for hierarchical configurations.
+ * Because most hierarchical configurations are file-based configurations this
+ * class extends {@code FileBasedBuilderParametersImpl}.
+ * </p>
+ *
+ * @version $Id$
+ * @since 2.0
+ */
+public class HierarchicalBuilderParametersImpl extends
+        FileBasedBuilderParametersImpl implements
+        HierarchicalBuilderProperties<HierarchicalBuilderParametersImpl>
+{
+    /** Constant for the expression engine property. */
+    private static final String PROP_EXPRESSION_ENGINE = "expressionEngine";
+
+    /**
+     * {@inheritDoc} This implementation stores the expression engine in the
+     * internal parameters map.
+     */
+    public HierarchicalBuilderParametersImpl setExpressionEngine(
+            ExpressionEngine engine)
+    {
+        storeProperty(PROP_EXPRESSION_ENGINE, engine);
+        return this;
+    }
+}

Propchange: commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/HierarchicalBuilderParametersImpl.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/HierarchicalBuilderParametersImpl.java
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Propchange: commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/HierarchicalBuilderParametersImpl.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/HierarchicalBuilderParametersImplBeanInfo.java
URL: http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/HierarchicalBuilderParametersImplBeanInfo.java?rev=1426559&view=auto
==============================================================================
--- commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/HierarchicalBuilderParametersImplBeanInfo.java (added)
+++ commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/HierarchicalBuilderParametersImplBeanInfo.java Fri Dec 28 16:06:11 2012
@@ -0,0 +1,38 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.commons.configuration.builder;
+
+/**
+ * <p>
+ * A specialized {@code BeanInfo} class providing additional property
+ * descriptors for the {@link HierarchicalBuilderParametersImpl} class.
+ * </p>
+ *
+ * @version $Id$
+ * @since 2.0
+ */
+public class HierarchicalBuilderParametersImplBeanInfo extends
+        BuilderParametersBeanInfo
+{
+    /**
+     * Creates a new instance of {@code HierarchicalBuilderParametersImplBeanInfo}.
+     */
+    public HierarchicalBuilderParametersImplBeanInfo()
+    {
+        super(HierarchicalBuilderParametersImpl.class);
+    }
+}

Propchange: commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/HierarchicalBuilderParametersImplBeanInfo.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/HierarchicalBuilderParametersImplBeanInfo.java
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Propchange: commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/HierarchicalBuilderParametersImplBeanInfo.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/HierarchicalBuilderProperties.java
URL: http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/HierarchicalBuilderProperties.java?rev=1426559&view=auto
==============================================================================
--- commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/HierarchicalBuilderProperties.java (added)
+++ commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/HierarchicalBuilderProperties.java Fri Dec 28 16:06:11 2012
@@ -0,0 +1,44 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.commons.configuration.builder;
+
+import org.apache.commons.configuration.tree.ExpressionEngine;
+
+/**
+ * <p>
+ * Definition of a parameters interface for hierarchical configurations.
+ * </p>
+ * <p>
+ * This interface defines set methods for additional properties common to all
+ * hierarchical configurations.
+ * </p>
+ *
+ * @version $Id$
+ * @since 2.0
+ * @param <T> the type of the result of all set methods for method chaining
+ */
+public interface HierarchicalBuilderProperties<T>
+{
+    /**
+     * Sets the {@code ExpressionEngine} to be used when querying the
+     * configuration.
+     *
+     * @param engine the {@code ExpressionEngine}
+     * @return a reference to this object for method chaining
+     */
+    T setExpressionEngine(ExpressionEngine engine);
+}

Propchange: commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/HierarchicalBuilderProperties.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/HierarchicalBuilderProperties.java
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Propchange: commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/HierarchicalBuilderProperties.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/XMLBuilderParametersImpl.java
URL: http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/XMLBuilderParametersImpl.java?rev=1426559&r1=1426558&r2=1426559&view=diff
==============================================================================
--- commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/XMLBuilderParametersImpl.java (original)
+++ commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/XMLBuilderParametersImpl.java Fri Dec 28 16:06:11 2012
@@ -38,7 +38,7 @@ import org.xml.sax.EntityResolver;
  * @version $Id$
  * @since 2.0
  */
-public class XMLBuilderParametersImpl extends FileBasedBuilderParametersImpl
+public class XMLBuilderParametersImpl extends HierarchicalBuilderParametersImpl
         implements XMLBuilderProperties<XMLBuilderParametersImpl>
 {
     /** The key for the entity resolver property. */

Added: commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/fluent/HierarchicalBuilderParameters.java
URL: http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/fluent/HierarchicalBuilderParameters.java?rev=1426559&view=auto
==============================================================================
--- commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/fluent/HierarchicalBuilderParameters.java (added)
+++ commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/fluent/HierarchicalBuilderParameters.java Fri Dec 28 16:06:11 2012
@@ -0,0 +1,39 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.commons.configuration.builder.fluent;
+
+import org.apache.commons.configuration.builder.BasicBuilderProperties;
+import org.apache.commons.configuration.builder.BuilderParameters;
+import org.apache.commons.configuration.builder.FileBasedBuilderProperties;
+import org.apache.commons.configuration.builder.HierarchicalBuilderProperties;
+
+/**
+ * <p>
+ * Definition of a parameters interface providing a fluent API for setting all
+ * properties for a hierarchical configuration.
+ * </p>
+ *
+ * @version $Id$
+ * @since 2.0
+ */
+public interface HierarchicalBuilderParameters extends
+        BasicBuilderProperties<HierarchicalBuilderParameters>,
+        FileBasedBuilderProperties<HierarchicalBuilderParameters>,
+        HierarchicalBuilderProperties<HierarchicalBuilderParameters>,
+        BuilderParameters
+{
+}

Propchange: commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/fluent/HierarchicalBuilderParameters.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/fluent/HierarchicalBuilderParameters.java
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Propchange: commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/fluent/HierarchicalBuilderParameters.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/fluent/Parameters.java
URL: http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/fluent/Parameters.java?rev=1426559&r1=1426558&r2=1426559&view=diff
==============================================================================
--- commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/fluent/Parameters.java (original)
+++ commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/fluent/Parameters.java Fri Dec 28 16:06:11 2012
@@ -23,6 +23,7 @@ import java.lang.reflect.Proxy;
 import org.apache.commons.configuration.builder.BasicBuilderParameters;
 import org.apache.commons.configuration.builder.BuilderParameters;
 import org.apache.commons.configuration.builder.FileBasedBuilderParametersImpl;
+import org.apache.commons.configuration.builder.HierarchicalBuilderParametersImpl;
 import org.apache.commons.configuration.builder.JndiBuilderParametersImpl;
 import org.apache.commons.configuration.builder.XMLBuilderParametersImpl;
 import org.apache.commons.configuration.builder.combined.CombinedBuilderParametersImpl;
@@ -117,6 +118,18 @@ public final class Parameters
     }
 
     /**
+     * Creates a new instance of a parameters object for hierarchical
+     * configurations.
+     *
+     * @return the new parameters object
+     */
+    public static HierarchicalBuilderParameters hierarchical()
+    {
+        return createParametersProxy(HierarchicalBuilderParameters.class,
+                new HierarchicalBuilderParametersImpl());
+    }
+
+    /**
      * Creates a new instance of a parameters object for XML configurations.
      *
      * @return the new parameters object

Modified: commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/fluent/XMLBuilderParameters.java
URL: http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/fluent/XMLBuilderParameters.java?rev=1426559&r1=1426558&r2=1426559&view=diff
==============================================================================
--- commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/fluent/XMLBuilderParameters.java (original)
+++ commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/fluent/XMLBuilderParameters.java Fri Dec 28 16:06:11 2012
@@ -19,6 +19,7 @@ package org.apache.commons.configuration
 import org.apache.commons.configuration.builder.BasicBuilderProperties;
 import org.apache.commons.configuration.builder.BuilderParameters;
 import org.apache.commons.configuration.builder.FileBasedBuilderProperties;
+import org.apache.commons.configuration.builder.HierarchicalBuilderProperties;
 import org.apache.commons.configuration.builder.XMLBuilderProperties;
 
 /**
@@ -33,6 +34,7 @@ import org.apache.commons.configuration.
 public interface XMLBuilderParameters extends
         BasicBuilderProperties<XMLBuilderParameters>,
         FileBasedBuilderProperties<XMLBuilderParameters>,
+        HierarchicalBuilderProperties<XMLBuilderParameters>,
         XMLBuilderProperties<XMLBuilderParameters>, BuilderParameters
 {
 }

Added: commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/builder/TestHierarchicalBuilderParametersImpl.java
URL: http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/builder/TestHierarchicalBuilderParametersImpl.java?rev=1426559&view=auto
==============================================================================
--- commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/builder/TestHierarchicalBuilderParametersImpl.java (added)
+++ commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/builder/TestHierarchicalBuilderParametersImpl.java Fri Dec 28 16:06:11 2012
@@ -0,0 +1,75 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.commons.configuration.builder;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertSame;
+
+import java.util.Map;
+
+import org.apache.commons.beanutils.PropertyUtils;
+import org.apache.commons.configuration.tree.ExpressionEngine;
+import org.easymock.EasyMock;
+import org.junit.Before;
+import org.junit.Test;
+
+/**
+ * Test class for {@code HierarchicalBuilderParametersImpl}.
+ *
+ * @version $Id$
+ */
+public class TestHierarchicalBuilderParametersImpl
+{
+    /** The parameters object to be tested. */
+    private HierarchicalBuilderParametersImpl params;
+
+    @Before
+    public void setUp() throws Exception
+    {
+        params = new HierarchicalBuilderParametersImpl();
+    }
+
+    /**
+     * Tests whether the expression engine can be set.
+     */
+    @Test
+    public void testSetExpressionEngine()
+    {
+        ExpressionEngine engine = EasyMock.createMock(ExpressionEngine.class);
+        EasyMock.replay(engine);
+        assertSame("Wrong result", params, params.setExpressionEngine(engine));
+        assertSame("Wrong expression engine", engine, params.getParameters()
+                .get("expressionEngine"));
+    }
+
+    /**
+     * Tests whether properties can be set via BeanUtils.
+     */
+    @Test
+    public void testBeanPropertiesAccess() throws Exception
+    {
+        ExpressionEngine engine = EasyMock.createMock(ExpressionEngine.class);
+        PropertyUtils.setProperty(params, "expressionEngine", engine);
+        PropertyUtils.setProperty(params, "throwExceptionOnMissing",
+                Boolean.TRUE);
+        Map<String, Object> map = params.getParameters();
+        assertSame("Wrong expression engine", engine,
+                map.get("expressionEngine"));
+        assertEquals("Wrong exception flag", Boolean.TRUE,
+                map.get("throwExceptionOnMissing"));
+    }
+}

Propchange: commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/builder/TestHierarchicalBuilderParametersImpl.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/builder/TestHierarchicalBuilderParametersImpl.java
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Propchange: commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/builder/TestHierarchicalBuilderParametersImpl.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/builder/fluent/TestParameters.java
URL: http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/builder/fluent/TestParameters.java?rev=1426559&r1=1426558&r2=1426559&view=diff
==============================================================================
--- commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/builder/fluent/TestParameters.java (original)
+++ commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/builder/fluent/TestParameters.java Fri Dec 28 16:06:11 2012
@@ -25,6 +25,8 @@ import java.util.Map;
 import org.apache.commons.configuration.builder.BasicBuilderParameters;
 import org.apache.commons.configuration.builder.FileBasedBuilderParametersImpl;
 import org.apache.commons.configuration.builder.combined.CombinedBuilderParametersImpl;
+import org.apache.commons.configuration.tree.ExpressionEngine;
+import org.easymock.EasyMock;
 import org.junit.Test;
 
 /**
@@ -125,17 +127,39 @@ public class TestParameters
     }
 
     /**
+     * Tests whether a parameters object for a hierarchical configuration can be
+     * created.
+     */
+    @Test
+    public void testHierarchical()
+    {
+        ExpressionEngine engine = EasyMock.createMock(ExpressionEngine.class);
+        Map<String, Object> map =
+                Parameters.hierarchical().setThrowExceptionOnMissing(true)
+                        .setExpressionEngine(engine).setFileName("test.xml")
+                        .setListDelimiter('#').getParameters();
+        checkBasicProperties(map);
+        FileBasedBuilderParametersImpl fbp =
+                FileBasedBuilderParametersImpl.fromParameters(map);
+        assertEquals("Wrong file name", "test.xml", fbp.getFileHandler()
+                .getFileName());
+        assertEquals("Wrong expression engine", engine,
+                map.get("expressionEngine"));
+    }
+
+    /**
      * Tests whether a parameters object for an XML configuration can be
      * created.
      */
     @Test
     public void testXml()
     {
+        ExpressionEngine engine = EasyMock.createMock(ExpressionEngine.class);
         Map<String, Object> map =
                 Parameters.xml().setThrowExceptionOnMissing(true)
                         .setFileName("test.xml").setValidating(true)
-                        .setListDelimiter('#').setSchemaValidation(true)
-                        .getParameters();
+                        .setExpressionEngine(engine).setListDelimiter('#')
+                        .setSchemaValidation(true).getParameters();
         checkBasicProperties(map);
         FileBasedBuilderParametersImpl fbp =
                 FileBasedBuilderParametersImpl.fromParameters(map);
@@ -145,5 +169,7 @@ public class TestParameters
                 map.get("validating"));
         assertEquals("Wrong schema flag", Boolean.TRUE,
                 map.get("schemaValidation"));
+        assertEquals("Wrong expression engine", engine,
+                map.get("expressionEngine"));
     }
 }