You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by jb...@apache.org on 2015/09/20 21:06:56 UTC
[2/3] karaf-cellar git commit: [KARAF-3646] moved away from
java.lang.isAssignableFrom in favor of
org.apache.commons.lang3.ClassUtils.isAssignable;
[KARAF-3646] moved away from java.lang.isAssignableFrom in favor of org.apache.commons.lang3.ClassUtils.isAssignable;
Project: http://git-wip-us.apache.org/repos/asf/karaf-cellar/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf-cellar/commit/da1fdb30
Tree: http://git-wip-us.apache.org/repos/asf/karaf-cellar/tree/da1fdb30
Diff: http://git-wip-us.apache.org/repos/asf/karaf-cellar/diff/da1fdb30
Branch: refs/heads/master
Commit: da1fdb304980f29a8b887efad1dec72c0c1aeef3
Parents: 2b4997c
Author: Alberto São Marcos <al...@gmail.com>
Authored: Thu Apr 9 10:32:36 2015 +0100
Committer: Alberto São Marcos <al...@gmail.com>
Committed: Thu Apr 9 10:38:34 2015 +0100
----------------------------------------------------------------------
assembly/src/main/resources/features.xml | 1 +
dosgi/pom.xml | 4 ++++
.../karaf/cellar/dosgi/RemoteServiceCallHandler.java | 11 ++++++-----
pom.xml | 8 ++++++++
4 files changed, 19 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/karaf-cellar/blob/da1fdb30/assembly/src/main/resources/features.xml
----------------------------------------------------------------------
diff --git a/assembly/src/main/resources/features.xml b/assembly/src/main/resources/features.xml
index 0a81fe4..e0408e6 100644
--- a/assembly/src/main/resources/features.xml
+++ b/assembly/src/main/resources/features.xml
@@ -74,6 +74,7 @@
<feature name="cellar-dosgi" description="DOSGi support" version="${project.version}" resolver="(obr)">
<feature version="${project.version}">cellar-core</feature>
+ <bundle start-level="30" dependency="true">wrap:mvn:org.apache.commons/commons-lang3/${apache.commons.lang3.version}</bundle>
<bundle start-level="40">mvn:org.apache.karaf.cellar/org.apache.karaf.cellar.dosgi/${project.version}</bundle>
</feature>
http://git-wip-us.apache.org/repos/asf/karaf-cellar/blob/da1fdb30/dosgi/pom.xml
----------------------------------------------------------------------
diff --git a/dosgi/pom.xml b/dosgi/pom.xml
index 54233b6..d39d1d8 100644
--- a/dosgi/pom.xml
+++ b/dosgi/pom.xml
@@ -53,6 +53,10 @@
<artifactId>org.osgi.compendium</artifactId>
<scope>provided</scope>
</dependency>
+ <dependency>
+ <groupId>org.apache.commons</groupId>
+ <artifactId>commons-lang3</artifactId>
+ </dependency>
<!-- Logging Dependencies -->
<dependency>
http://git-wip-us.apache.org/repos/asf/karaf-cellar/blob/da1fdb30/dosgi/src/main/java/org/apache/karaf/cellar/dosgi/RemoteServiceCallHandler.java
----------------------------------------------------------------------
diff --git a/dosgi/src/main/java/org/apache/karaf/cellar/dosgi/RemoteServiceCallHandler.java b/dosgi/src/main/java/org/apache/karaf/cellar/dosgi/RemoteServiceCallHandler.java
index e879f7f..78a38fd 100644
--- a/dosgi/src/main/java/org/apache/karaf/cellar/dosgi/RemoteServiceCallHandler.java
+++ b/dosgi/src/main/java/org/apache/karaf/cellar/dosgi/RemoteServiceCallHandler.java
@@ -13,6 +13,7 @@
*/
package org.apache.karaf.cellar.dosgi;
+import org.apache.commons.lang3.ClassUtils;
import org.apache.karaf.cellar.core.CellarSupport;
import org.apache.karaf.cellar.core.Configurations;
import org.apache.karaf.cellar.core.control.BasicSwitch;
@@ -30,6 +31,7 @@ import org.slf4j.LoggerFactory;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
+import java.util.Arrays;
/**
* Handler for cluster remote service call event.
@@ -123,13 +125,12 @@ public class RemoteServiceCallHandler extends CellarSupport implements EventHand
if (remoteMethod.getName().equals(event.getMethod()) && remoteMethod.getParameterTypes().length == eventParamTypes.length) {
boolean allParamsFound = true;
for (int i = 0; i < remoteMethod.getParameterTypes().length; i++) {
- allParamsFound = allParamsFound && remoteMethod.getParameterTypes()[i].isAssignableFrom(eventParamTypes[i]);
+ allParamsFound = allParamsFound && ClassUtils.isAssignable(eventParamTypes[i], remoteMethod.getParameterTypes()[i]);
}
+
+ // if already found a matching method, no need to continue looking for one
if (allParamsFound) {
result = remoteMethod;
- }
- // if already found a matching method, no need to continue looking for one
- if (result != null) {
break;
}
}
@@ -140,7 +141,7 @@ public class RemoteServiceCallHandler extends CellarSupport implements EventHand
//if method was not found go out with a bang
if (result == null) {
- throw new NoSuchMethodException();
+ throw new NoSuchMethodException(String.format("No match for method [%s] %s", event.getMethod(), Arrays.toString(eventParamTypes)));
}
return result;
http://git-wip-us.apache.org/repos/asf/karaf-cellar/blob/da1fdb30/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 9b1507d..28e794f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -48,6 +48,7 @@
<osgi.version>5.0.0</osgi.version>
<osgi.compendium.version>5.0.0</osgi.compendium.version>
<slf4j.version>1.7.7</slf4j.version>
+ <apache.commons.lang3.version>3.3.2</apache.commons.lang3.version>
</properties>
<modules>
@@ -289,6 +290,13 @@
<version>${joda-time.version}</version>
</dependency>
+ <!--Apache common-lang-->
+ <dependency>
+ <groupId>org.apache.commons</groupId>
+ <artifactId>commons-lang3</artifactId>
+ <version>${apache.commons.lang3.version}</version>
+ </dependency>
+
<!-- Kubernetes -->
<dependency>
<groupId>io.fabric8</groupId>