You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by cz...@apache.org on 2016/11/06 08:46:36 UTC
svn commit: r1768292 - in /sling/trunk/installer/factories/configuration:
pom.xml
src/main/java/org/apache/sling/installer/factories/configuration/impl/ConfigUtil.java
Author: cziegeler
Date: Sun Nov 6 08:46:35 2016
New Revision: 1768292
URL: http://svn.apache.org/viewvc?rev=1768292&view=rev
Log:
SLING-6247 : Potential class cast exception for primitive arrays
Modified:
sling/trunk/installer/factories/configuration/pom.xml
sling/trunk/installer/factories/configuration/src/main/java/org/apache/sling/installer/factories/configuration/impl/ConfigUtil.java
Modified: sling/trunk/installer/factories/configuration/pom.xml
URL: http://svn.apache.org/viewvc/sling/trunk/installer/factories/configuration/pom.xml?rev=1768292&r1=1768291&r2=1768292&view=diff
==============================================================================
--- sling/trunk/installer/factories/configuration/pom.xml (original)
+++ sling/trunk/installer/factories/configuration/pom.xml Sun Nov 6 08:46:35 2016
@@ -48,18 +48,9 @@
<extensions>true</extensions>
<configuration>
<instructions>
- <Import-Package>
- !org.apache.commons.lang3.builder,
- !org.apache.commons.lang3.math,
- !org.apache.commons.lang3.mutable,
- *
- </Import-Package>
<Bundle-Activator>
org.apache.sling.installer.factories.configuration.impl.Activator
</Bundle-Activator>
- <Embed-Dependency>
- commons-lang3;inline="org/apache/commons/lang3/ArrayUtils.*"
- </Embed-Dependency>
</instructions>
</configuration>
</plugin>
@@ -91,12 +82,6 @@
<scope>provided</scope>
</dependency>
<dependency>
- <groupId>org.apache.commons</groupId>
- <artifactId>commons-lang3</artifactId>
- <version>3.5</version>
- <scope>provided</scope>
- </dependency>
- <dependency>
<groupId>org.apache.sling</groupId>
<artifactId>org.apache.sling.installer.core</artifactId>
<version>3.7.1-SNAPSHOT</version>
Modified: sling/trunk/installer/factories/configuration/src/main/java/org/apache/sling/installer/factories/configuration/impl/ConfigUtil.java
URL: http://svn.apache.org/viewvc/sling/trunk/installer/factories/configuration/src/main/java/org/apache/sling/installer/factories/configuration/impl/ConfigUtil.java?rev=1768292&r1=1768291&r2=1768292&view=diff
==============================================================================
--- sling/trunk/installer/factories/configuration/src/main/java/org/apache/sling/installer/factories/configuration/impl/ConfigUtil.java (original)
+++ sling/trunk/installer/factories/configuration/src/main/java/org/apache/sling/installer/factories/configuration/impl/ConfigUtil.java Sun Nov 6 08:46:35 2016
@@ -19,13 +19,13 @@
package org.apache.sling.installer.factories.configuration.impl;
import java.io.IOException;
+import java.lang.reflect.Array;
import java.util.Dictionary;
import java.util.Enumeration;
import java.util.HashSet;
import java.util.Hashtable;
import java.util.Set;
-import org.apache.commons.lang3.ArrayUtils;
import org.osgi.framework.Constants;
import org.osgi.framework.InvalidSyntaxException;
import org.osgi.service.cm.Configuration;
@@ -80,25 +80,9 @@ abstract class ConfigUtil {
* @return an object array
*/
private static Object[] convertToObjectArray(final Object value) {
- final Object[] values;
- if (value instanceof long[]) {
- values = ArrayUtils.toObject((long[])value);
- } else if (value instanceof int[]) {
- values = ArrayUtils.toObject((int[])value);
- } else if (value instanceof double[]) {
- values = ArrayUtils.toObject((double[])value);
- } else if (value instanceof byte[]) {
- values = ArrayUtils.toObject((byte[])value);
- } else if (value instanceof float[]) {
- values = ArrayUtils.toObject((float[])value);
- } else if (value instanceof short[]) {
- values = ArrayUtils.toObject((short[])value);
- } else if (value instanceof boolean[]) {
- values = ArrayUtils.toObject((boolean[])value);
- } else if (value instanceof char[]) {
- values = ArrayUtils.toObject((char[])value);
- } else {
- values = (Object[]) value;
+ final Object[] values = new Object[Array.getLength(value)];
+ for(int i=0;i<values.length;i++) {
+ values[i] = Array.get(value, i);
}
return values;
}