aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorgjoranv <gjoranv@gmail.com>2016-06-17 16:13:35 +0200
committerGitHub <noreply@github.com>2016-06-17 16:13:35 +0200
commit7731f962a5064c6ba29ba52dbfe8edf743b58a32 (patch)
treea9c3eee97ec634239b3abb0c271d7c936abbb831
parent77eb221fff4ab953b8288662bc140d56ad56275c (diff)
parentb5e6d6de45f52311bac17d0677b8a2e6c0d6a8b7 (diff)
Merge pull request #76 from yahoo/arnej/fix-forceload-api
Arnej/fix forceload api
-rw-r--r--searchlib/src/main/java/com/yahoo/searchlib/aggregation/ForceLoad.java7
-rw-r--r--searchlib/src/main/java/com/yahoo/searchlib/expression/ForceLoad.java7
-rw-r--r--vespajlib/src/main/java/com/yahoo/system/ForceLoad.java4
-rw-r--r--vespajlib/src/test/java/com/yahoo/system/ForceLoadTestCase.java7
4 files changed, 13 insertions, 12 deletions
diff --git a/searchlib/src/main/java/com/yahoo/searchlib/aggregation/ForceLoad.java b/searchlib/src/main/java/com/yahoo/searchlib/aggregation/ForceLoad.java
index ecbab688821..381e7da994f 100644
--- a/searchlib/src/main/java/com/yahoo/searchlib/aggregation/ForceLoad.java
+++ b/searchlib/src/main/java/com/yahoo/searchlib/aggregation/ForceLoad.java
@@ -19,7 +19,6 @@ public class ForceLoad {
"VdsHit",
"Grouping",
"Hit",
- "ForceLoad",
"MinAggregationResult",
"GroupingLevel",
"MaxAggregationResult",
@@ -27,10 +26,10 @@ public class ForceLoad {
"AverageAggregationResult",
"ExpressionCountAggregationResult",
"hll.SparseSketch",
- "hll.NormalSketch",
- "ForceLoad"
+ "hll.NormalSketch"
};
- com.yahoo.system.ForceLoad.forceLoad(pkg, classes);
+ com.yahoo.system.ForceLoad.forceLoad(pkg, classes,
+ ForceLoad.class.getClassLoader());
}
public static boolean forceLoad() {
diff --git a/searchlib/src/main/java/com/yahoo/searchlib/expression/ForceLoad.java b/searchlib/src/main/java/com/yahoo/searchlib/expression/ForceLoad.java
index 6ebb4c672c8..8b12f4c5967 100644
--- a/searchlib/src/main/java/com/yahoo/searchlib/expression/ForceLoad.java
+++ b/searchlib/src/main/java/com/yahoo/searchlib/expression/ForceLoad.java
@@ -58,7 +58,6 @@ public class ForceLoad {
"FloatResultNodeVector",
"StringResultNodeVector",
"RawResultNodeVector",
- "ForceLoad",
"MultiplyFunctionNode",
"IntegerBucketResultNode",
"FloatBucketResultNode",
@@ -77,10 +76,10 @@ public class ForceLoad {
"ZCurveFunctionNode",
"XorBitFunctionNode",
"MultiArgFunctionNode",
- "DebugWaitFunctionNode",
- "ForceLoad"
+ "DebugWaitFunctionNode"
};
- com.yahoo.system.ForceLoad.forceLoad(pkg, classes);
+ com.yahoo.system.ForceLoad.forceLoad(pkg, classes,
+ ForceLoad.class.getClassLoader());
}
public static boolean forceLoad() {
diff --git a/vespajlib/src/main/java/com/yahoo/system/ForceLoad.java b/vespajlib/src/main/java/com/yahoo/system/ForceLoad.java
index f924740321f..4946f3b8033 100644
--- a/vespajlib/src/main/java/com/yahoo/system/ForceLoad.java
+++ b/vespajlib/src/main/java/com/yahoo/system/ForceLoad.java
@@ -15,14 +15,14 @@ public class ForceLoad {
* @param classNames array of names of classes (without package prefix)
* to force load.
**/
- public static void forceLoad(String packageName, String[] classNames)
+ public static void forceLoad(String packageName, String[] classNames, ClassLoader loader)
throws ForceLoadError
{
String fullClassName = "";
try {
for (String className : classNames) {
fullClassName = packageName + "." + className;
- Class.forName(fullClassName);
+ loader.loadClass(fullClassName);
}
} catch (Exception e) {
throw new ForceLoadError(fullClassName, e);
diff --git a/vespajlib/src/test/java/com/yahoo/system/ForceLoadTestCase.java b/vespajlib/src/test/java/com/yahoo/system/ForceLoadTestCase.java
index ec4f716247e..078142014cd 100644
--- a/vespajlib/src/test/java/com/yahoo/system/ForceLoadTestCase.java
+++ b/vespajlib/src/test/java/com/yahoo/system/ForceLoadTestCase.java
@@ -8,8 +8,10 @@ public class ForceLoadTestCase extends junit.framework.TestCase {
}
public void testLoadClasses() {
+
try {
- ForceLoad.forceLoad(getClass().getPackage().getName(), new String[] { "Foo", "Bar" });
+ ForceLoad.forceLoad(getClass().getPackage().getName(), new String[] { "Foo", "Bar" },
+ this.getClass().getClassLoader());
} catch (ForceLoadError e) {
e.printStackTrace();
assertTrue(false);
@@ -18,7 +20,8 @@ public class ForceLoadTestCase extends junit.framework.TestCase {
public void testLoadBogusClass() {
try {
- ForceLoad.forceLoad(getClass().getPackage().getName(), new String[] { "Foo", "Bar", "Baz" });
+ ForceLoad.forceLoad(getClass().getPackage().getName(), new String[] { "Foo", "Bar", "Baz" },
+ this.getClass().getClassLoader());
} catch (ForceLoadError e) {
return;
}