jackrabbit-oak-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From chet...@apache.org
Subject svn commit: r1576589 - in /jackrabbit/oak/trunk: oak-commons/src/main/java/org/apache/jackrabbit/oak/commons/ oak-commons/src/test/java/org/apache/jackrabbit/oak/commons/ oak-core/ oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/cloud/ oa...
Date Wed, 12 Mar 2014 06:17:24 GMT
Author: chetanm
Date: Wed Mar 12 06:17:24 2014
New Revision: 1576589

URL: http://svn.apache.org/r1576589
Log:
OAK-1527 - Remove dependency on commons-beanutils

-- Copied the logic from jackrabbit-core/BeanConfig#newInstance to PropertiesUtils
-- Moved PropertiesUtils to oak-commons
-- Removed commons-beanutils

Added:
    jackrabbit/oak/trunk/oak-commons/src/main/java/org/apache/jackrabbit/oak/commons/PropertiesUtil.java
  (contents, props changed)
      - copied, changed from r1576555, jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/PropertiesUtil.java
    jackrabbit/oak/trunk/oak-commons/src/test/java/org/apache/jackrabbit/oak/commons/PropertiesUtilTest.java
  (with props)
Removed:
    jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/PropertiesUtil.java
Modified:
    jackrabbit/oak/trunk/oak-core/pom.xml
    jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/cloud/CloudBlobStoreBuilder.java
    jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/DataStoreBlobStoreBuilder.java
    jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreService.java
    jackrabbit/oak/trunk/oak-it/osgi/test-bundles.xml

Copied: jackrabbit/oak/trunk/oak-commons/src/main/java/org/apache/jackrabbit/oak/commons/PropertiesUtil.java
(from r1576555, jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/PropertiesUtil.java)
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-commons/src/main/java/org/apache/jackrabbit/oak/commons/PropertiesUtil.java?p2=jackrabbit/oak/trunk/oak-commons/src/main/java/org/apache/jackrabbit/oak/commons/PropertiesUtil.java&p1=jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/PropertiesUtil.java&r1=1576555&r2=1576589&rev=1576589&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/PropertiesUtil.java
(original)
+++ jackrabbit/oak/trunk/oak-commons/src/main/java/org/apache/jackrabbit/oak/commons/PropertiesUtil.java
Wed Mar 12 06:17:24 2014
@@ -16,11 +16,20 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.jackrabbit.oak.plugins.document;
+package org.apache.jackrabbit.oak.commons;
 
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.lang.reflect.Modifier;
 import java.util.ArrayList;
 import java.util.Collection;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Locale;
+import java.util.Map;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 // !! THIS UTILITY CLASS IS A COPY FROM APACHE SLING !!
@@ -29,10 +38,9 @@ import java.util.List;
 /**
  * The <code>PropertiesUtil</code> is a utility class providing some
  * usefull utility methods for converting property types.
- *
- * @since 2.1
  */
-class PropertiesUtil {
+public class PropertiesUtil {
+    private static Logger log = LoggerFactory.getLogger(PropertiesUtil.class);
 
     /**
      * Returns the boolean value of the parameter or the
@@ -220,4 +228,100 @@ class PropertiesUtil {
 
         return defaultArray;
     }
+
+    /**
+     * Populates the bean properties from properties instance
+     *
+     * @param instance bean to populate
+     * @param config propertires to set in the passed bean
+     * @param validate Flag to validate the configured bean property names against
+     *                 the configured bean class
+     */
+    @SuppressWarnings("unchecked")
+    public static void populate(Object instance, Map<String,String> config, boolean
validate){
+        Class<?> objectClass = instance.getClass();
+
+        // Set all configured bean properties
+        Map<String, Method> setters = getSetters(objectClass);
+        for(Map.Entry<String,String> e : config.entrySet()) {
+            String name = e.getKey();
+            Method setter = setters.get(name);
+            if (setter != null) {
+                if (setter.getAnnotation(Deprecated.class) != null) {
+                    log.warn("Parameter {} of {} has been deprecated",
+                            name, objectClass.getName());
+                }
+                String value = e.getValue();
+                setProperty(instance, name, setter, value);
+            } else if (validate) {
+                throw new IllegalArgumentException(
+                        "Configured class " + objectClass.getName()
+                                + " does not contain a property named " + name);
+            }
+        }
+    }
+
+    private static Map<String, Method> getSetters(Class<?> klass) {
+        Map<String, Method> methods = new HashMap<String, Method>();
+        for (Method method : klass.getMethods()) {
+            String name = method.getName();
+            if (name.startsWith("set") && name.length() > 3
+                    && Modifier.isPublic(method.getModifiers())
+                    && !Modifier.isStatic(method.getModifiers())
+                    && Void.TYPE.equals(method.getReturnType())
+                    && method.getParameterTypes().length == 1) {
+                methods.put(
+                        name.substring(3, 4).toLowerCase(Locale.ENGLISH) + name.substring(4),
+                        method);
+            }
+        }
+        return methods;
+    }
+
+    private static void setProperty(
+            Object instance, String name, Method setter, String value) {
+        String className = instance.getClass().getName();
+        Class<?> type = setter.getParameterTypes()[0];
+        try {
+            if (type.isAssignableFrom(String.class)
+                    || type.isAssignableFrom(Object.class)) {
+                setter.invoke(instance, value);
+            } else if (type.isAssignableFrom(Boolean.TYPE)
+                    || type.isAssignableFrom(Boolean.class)) {
+                setter.invoke(instance, Boolean.valueOf(value));
+            } else if (type.isAssignableFrom(Integer.TYPE)
+                    || type.isAssignableFrom(Integer.class)) {
+                setter.invoke(instance, Integer.valueOf(value));
+            } else if (type.isAssignableFrom(Long.TYPE)
+                    || type.isAssignableFrom(Long.class)) {
+                setter.invoke(instance, Long.valueOf(value));
+            } else if (type.isAssignableFrom(Double.TYPE)
+                    || type.isAssignableFrom(Double.class)) {
+                setter.invoke(instance, Double.valueOf(value));
+            } else {
+                throw new RuntimeException(
+                        "The type (" + type.getName()
+                                + ") of property " + name + " of class "
+                                + className + " is not supported");
+            }
+        } catch (NumberFormatException e) {
+            throw new RuntimeException(
+                    "Invalid number format (" + value + ") for property "
+                            + name + " of class " + className, e);
+        } catch (InvocationTargetException e) {
+            throw new RuntimeException(
+                    "Property " + name + " of class "
+                            + className + " can not be set to \"" + value + "\"",
+                    e);
+        } catch (IllegalAccessException e) {
+            throw new RuntimeException(
+                    "The setter of property " + name
+                            + " of class " + className + " can not be accessed",
+                    e);
+        } catch (IllegalArgumentException e) {
+            throw new RuntimeException(
+                    "Unable to call the setter of property "
+                            + name + " of class " + className, e);
+        }
+    }
 }

Propchange: jackrabbit/oak/trunk/oak-commons/src/main/java/org/apache/jackrabbit/oak/commons/PropertiesUtil.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: jackrabbit/oak/trunk/oak-commons/src/test/java/org/apache/jackrabbit/oak/commons/PropertiesUtilTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-commons/src/test/java/org/apache/jackrabbit/oak/commons/PropertiesUtilTest.java?rev=1576589&view=auto
==============================================================================
--- jackrabbit/oak/trunk/oak-commons/src/test/java/org/apache/jackrabbit/oak/commons/PropertiesUtilTest.java
(added)
+++ jackrabbit/oak/trunk/oak-commons/src/test/java/org/apache/jackrabbit/oak/commons/PropertiesUtilTest.java
Wed Mar 12 06:17:24 2014
@@ -0,0 +1,194 @@
+/*
+ * 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.jackrabbit.oak.commons;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.junit.Test;
+
+import static org.junit.Assert.assertArrayEquals;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
+public class PropertiesUtilTest {
+
+
+    @SuppressWarnings({"deprecation", "UnnecessaryBoxing"})
+    @Test
+    public void testToDouble() {
+        // we test getProperty which calls toDouble - so we can test both
+        // methods in one go
+        assertEquals(2.0, PropertiesUtil.toDouble(null, 2.0), 0);
+        assertEquals(1.0, PropertiesUtil.toDouble(1.0, 2.0), 0);
+        assertEquals(1.0, PropertiesUtil.toDouble(new Double(1.0), 2.0), 0);
+        assertEquals(5.0, PropertiesUtil.toDouble(new Long(5), 2.0), 0);
+        assertEquals(2.0, PropertiesUtil.toDouble("abc", 2.0), 0);
+    }
+
+    @Test
+    public void testToBoolean() {
+        assertEquals(true, PropertiesUtil.toBoolean(null, true));
+        assertEquals(false, PropertiesUtil.toBoolean(1.0, true));
+        assertEquals(false, PropertiesUtil.toBoolean(false, true));
+        assertEquals(false, PropertiesUtil.toBoolean("false", true));
+        assertEquals(false, PropertiesUtil.toBoolean("abc", true));
+    }
+
+    @SuppressWarnings("UnnecessaryBoxing")
+    @Test
+    public void testToInteger() {
+        assertEquals(2, PropertiesUtil.toInteger(null, 2));
+        assertEquals(2, PropertiesUtil.toInteger(1.0, 2));
+        assertEquals(2, PropertiesUtil.toInteger(new Double(1.0), 2));
+        assertEquals(5, PropertiesUtil.toInteger(new Long(5), 2));
+        assertEquals(5, PropertiesUtil.toInteger(new Integer(5), 2));
+        assertEquals(2, PropertiesUtil.toInteger("abc", 2));
+    }
+
+    @SuppressWarnings("UnnecessaryBoxing")
+    @Test
+    public void testToLong() {
+        assertEquals(2, PropertiesUtil.toLong(null, 2));
+        assertEquals(2, PropertiesUtil.toLong(1.0, 2));
+        assertEquals(2, PropertiesUtil.toLong(new Double(1.0), 2));
+        assertEquals(5, PropertiesUtil.toLong(new Long(5), 2));
+        assertEquals(5, PropertiesUtil.toLong(new Integer(5), 2));
+        assertEquals(2, PropertiesUtil.toLong("abc", 2));
+    }
+
+    @Test
+    public void testToObject() {
+        assertEquals("hallo", PropertiesUtil.toObject("hallo"));
+        assertEquals("1", PropertiesUtil.toObject(new String[]{"1", "2"}));
+        assertEquals(null, PropertiesUtil.toObject(null));
+        assertEquals(null, PropertiesUtil.toObject(new String[]{}));
+        final List<String> l = new ArrayList<String>();
+        assertEquals(null, PropertiesUtil.toObject(l));
+        l.add("1");
+        assertEquals("1", PropertiesUtil.toObject(l));
+        l.add("2");
+        assertEquals("1", PropertiesUtil.toObject(l));
+        final Map<String, Object> m = new HashMap<String, Object>();
+        assertEquals(m, PropertiesUtil.toObject(m));
+    }
+
+    @Test
+    public void testToString() {
+        assertEquals("hallo", PropertiesUtil.toString("hallo", null));
+        assertEquals(this.toString(), PropertiesUtil.toString(null, this.toString()));
+        final Map<String, Object> m = new HashMap<String, Object>();
+        m.put("1", 5);
+        assertEquals(m.toString(), PropertiesUtil.toString(m, this.toString()));
+    }
+
+    @Test
+    public void testToStringArray() {
+        final String[] defaultValue = new String[]{"1"};
+        assertArrayEquals(null, PropertiesUtil.toStringArray(5));
+        assertArrayEquals(null, PropertiesUtil.toStringArray(null));
+        assertArrayEquals(defaultValue, PropertiesUtil.toStringArray(5, defaultValue));
+        assertArrayEquals(defaultValue, PropertiesUtil.toStringArray(null, defaultValue));
+        assertArrayEquals(new String[]{"hallo"}, PropertiesUtil.toStringArray("hallo", defaultValue));
+        assertArrayEquals(new String[]{"hallo"}, PropertiesUtil.toStringArray(new String[]{"hallo"},
defaultValue));
+        assertArrayEquals(new String[]{"hallo", "you"}, PropertiesUtil.toStringArray(new
String[]{"hallo", "you"}, defaultValue));
+        assertArrayEquals(new String[]{"5", "1"}, PropertiesUtil.toStringArray(new Integer[]{5,
1}, defaultValue));
+        assertArrayEquals(new String[]{"5", "1"}, PropertiesUtil.toStringArray(new Integer[]{5,
null, 1}, defaultValue));
+        final List<String> l = new ArrayList<String>();
+        assertArrayEquals(new String[]{}, PropertiesUtil.toStringArray(l, defaultValue));
+        l.add("1");
+        l.add("2");
+        assertArrayEquals(new String[]{"1", "2"}, PropertiesUtil.toStringArray(l, defaultValue));
+        l.add(null);
+        assertArrayEquals(new String[]{"1", "2"}, PropertiesUtil.toStringArray(l, defaultValue));
+        final Map<String, Object> m = new HashMap<String, Object>();
+        m.put("1", 5);
+        assertArrayEquals(defaultValue, PropertiesUtil.toStringArray(m, defaultValue));
+    }
+
+    @Test
+    public void testPopulate() {
+        Map<String, String> props = new HashMap<String, String>();
+        props.put("string", "foo");
+        props.put("bool", "true");
+        props.put("integer", "7");
+        props.put("aLong", "11");
+
+        TestBeanA bean = new TestBeanA();
+        PropertiesUtil.populate(bean, props, false);
+
+        assertEquals("foo", bean.getString());
+        assertTrue(bean.getBool());
+        assertEquals(7, bean.getInteger());
+        assertEquals(11, bean.getaLong());
+    }
+
+    @Test(expected = IllegalArgumentException.class)
+    public void testPopulateAndValidate() {
+        Map<String, String> props = new HashMap<String, String>();
+        props.put("something", "foo");
+
+        TestBeanA bean = new TestBeanA();
+        PropertiesUtil.populate(bean, props, true);
+
+    }
+
+    private static class TestBeanA {
+        private String string;
+        private Boolean bool;
+        private int integer;
+        private long aLong;
+
+        public String getString() {
+            return string;
+        }
+
+        public void setString(String string) {
+            this.string = string;
+        }
+
+        public Boolean getBool() {
+            return bool;
+        }
+
+        public void setBool(Boolean bool) {
+            this.bool = bool;
+        }
+
+        public int getInteger() {
+            return integer;
+        }
+
+        public void setInteger(int integer) {
+            this.integer = integer;
+        }
+
+        public long getaLong() {
+            return aLong;
+        }
+
+        public void setaLong(long aLong) {
+            this.aLong = aLong;
+        }
+    }
+
+}

Propchange: jackrabbit/oak/trunk/oak-commons/src/test/java/org/apache/jackrabbit/oak/commons/PropertiesUtilTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: jackrabbit/oak/trunk/oak-core/pom.xml
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/pom.xml?rev=1576589&r1=1576588&r2=1576589&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/pom.xml (original)
+++ jackrabbit/oak/trunk/oak-core/pom.xml Wed Mar 12 06:17:24 2014
@@ -206,11 +206,6 @@
       <version>2.4</version>
     </dependency>
     <dependency>
-      <groupId>commons-beanutils</groupId>
-      <artifactId>commons-beanutils</artifactId>
-      <version>1.9.1</version>
-    </dependency>
-    <dependency>
       <groupId>com.googlecode.json-simple</groupId>
       <artifactId>json-simple</artifactId>
       <version>1.1.1</version>

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/cloud/CloudBlobStoreBuilder.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/cloud/CloudBlobStoreBuilder.java?rev=1576589&r1=1576588&r2=1576589&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/cloud/CloudBlobStoreBuilder.java
(original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/cloud/CloudBlobStoreBuilder.java
Wed Mar 12 06:17:24 2014
@@ -16,7 +16,7 @@
  */
 package org.apache.jackrabbit.oak.plugins.blob.cloud;
 
-import org.apache.commons.beanutils.BeanUtils;
+import org.apache.jackrabbit.oak.commons.PropertiesUtil;
 import org.apache.jackrabbit.oak.spi.blob.BlobStore;
 import org.apache.jackrabbit.oak.plugins.blob.BlobStoreBuilder;
 import org.apache.jackrabbit.oak.plugins.blob.BlobStoreConfiguration;
@@ -52,7 +52,7 @@ public class CloudBlobStoreBuilder imple
         BlobStore blobStore = null;
 
         blobStore = new CloudBlobStore();
-        BeanUtils.populate(blobStore, configuration.getConfigMap());
+        PropertiesUtil.populate(blobStore, configuration.getConfigMap(), false);
         ((CloudBlobStore) blobStore).init();
 
         return Optional.of(blobStore);

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/DataStoreBlobStoreBuilder.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/DataStoreBlobStoreBuilder.java?rev=1576589&r1=1576588&r2=1576589&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/DataStoreBlobStoreBuilder.java
(original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/DataStoreBlobStoreBuilder.java
Wed Mar 12 06:17:24 2014
@@ -18,7 +18,6 @@ package org.apache.jackrabbit.oak.plugin
 
 import javax.jcr.RepositoryException;
 
-import org.apache.commons.beanutils.BeanUtils;
 import org.apache.jackrabbit.core.data.Backend;
 import org.apache.jackrabbit.core.data.CachingDataStore;
 import org.apache.jackrabbit.core.data.DataStore;
@@ -26,6 +25,7 @@ import org.apache.jackrabbit.core.data.F
 import org.apache.jackrabbit.core.data.MultiDataStore;
 import org.apache.jackrabbit.core.data.db.DbDataStore;
 import org.apache.jackrabbit.core.util.db.ConnectionFactory;
+import org.apache.jackrabbit.oak.commons.PropertiesUtil;
 import org.apache.jackrabbit.oak.spi.blob.BlobStore;
 import org.apache.jackrabbit.oak.plugins.blob.BlobStoreBuilder;
 import org.apache.jackrabbit.oak.plugins.blob.BlobStoreConfiguration;
@@ -62,7 +62,7 @@ public class DataStoreBlobStoreBuilder i
         DataStore store = getDataStore(configuration);
         if (store != null) {
             blobStore = new DataStoreBlobStore();
-            BeanUtils.populate(blobStore, configuration.getConfigMap());
+            PropertiesUtil.populate(blobStore, configuration.getConfigMap(), false);
             ((DataStoreBlobStore) blobStore).init(store);
         }
         return Optional.fromNullable(blobStore);
@@ -71,22 +71,20 @@ public class DataStoreBlobStoreBuilder i
     /**
      * Gets the data store based on the DataStoreProvider.
      * 
-     * @param dataStoreConfig
+     * @param config
      *            the data store config
-     * @param dataStoreType
-     *            the data store type
      * @return the data store
      * @throws RepositoryException
      *             the repository exception
      */
     private DataStore getDataStore(BlobStoreConfiguration config) throws Exception {
         return getDataStore(
-                (String) config.getProperty(BlobStoreConfiguration.PROP_DATA_STORE), config);
+                 config.getProperty(BlobStoreConfiguration.PROP_DATA_STORE), config);
     }
 
     private DataStore getDataStore(String dataStoreType, BlobStoreConfiguration config) throws
Exception {
         DataStore dataStore = (DataStore) Class.forName(dataStoreType).newInstance();
-        BeanUtils.populate(dataStore, config.getConfigMap());
+        PropertiesUtil.populate(dataStore, config.getConfigMap(), false);
 
         if (dataStore instanceof DbDataStore) {
             ((DbDataStore) dataStore)
@@ -130,7 +128,7 @@ public class DataStoreBlobStoreBuilder i
             }
         };
 
-        BeanUtils.populate(cachingStore, config.getConfigMap());
+        PropertiesUtil.populate(cachingStore, config.getConfigMap(), false);
         cachingStore.init(null);
 
         return cachingStore;

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreService.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreService.java?rev=1576589&r1=1576588&r2=1576589&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreService.java
(original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreService.java
Wed Mar 12 06:17:24 2014
@@ -32,6 +32,7 @@ import org.apache.felix.scr.annotations.
 import org.apache.felix.scr.annotations.ConfigurationPolicy;
 import org.apache.felix.scr.annotations.Deactivate;
 import org.apache.felix.scr.annotations.Property;
+import org.apache.jackrabbit.oak.commons.PropertiesUtil;
 import org.apache.jackrabbit.oak.spi.blob.BlobStore;
 import org.apache.jackrabbit.oak.api.jmx.CacheStatsMBean;
 import org.apache.jackrabbit.oak.kernel.KernelNodeStore;

Modified: jackrabbit/oak/trunk/oak-it/osgi/test-bundles.xml
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-it/osgi/test-bundles.xml?rev=1576589&r1=1576588&r2=1576589&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-it/osgi/test-bundles.xml (original)
+++ jackrabbit/oak/trunk/oak-it/osgi/test-bundles.xml Wed Mar 12 06:17:24 2014
@@ -30,9 +30,7 @@
       <includes>
         <include>javax.jcr:jcr</include>
         <include>com.google.guava:guava</include>
-        <include>commons-beanutils:commons-beanutils</include>
         <include>commons-codec:commons-codec</include>
-        <include>commons-collections:commons-collections</include>
         <include>commons-io:commons-io</include>
         <include>org.apache.jackrabbit:jackrabbit-api</include>
         <include>org.apache.jackrabbit:jackrabbit-jcr-commons</include>



Mime
View raw message