You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by cp...@apache.org on 2016/02/02 11:57:09 UTC
lucene-solr git commit: for SOLR-8621 work-in-progress branch: * adds
LogByteSizeMergePolicyFactory and LogDocMergePolicyFactory * removes
subPackages arg from MergePolicyFactoryHelper.newInstance signature * adds
BaseMergePolicyTestCase.testMergePoli
Repository: lucene-solr
Updated Branches:
refs/heads/master-solr-8621 219f7de94 -> 43671b3e0
for SOLR-8621 work-in-progress branch:
* adds LogByteSizeMergePolicyFactory and LogDocMergePolicyFactory
* removes subPackages arg from MergePolicyFactoryHelper.newInstance signature
* adds BaseMergePolicyTestCase.testMergePolicyFactory method (and the things it calls)
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/43671b3e
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/43671b3e
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/43671b3e
Branch: refs/heads/master-solr-8621
Commit: 43671b3e0dc998bab73fd53bcd4df829d8eb273d
Parents: 219f7de
Author: Christine Poerschke <cp...@apache.org>
Authored: Tue Feb 2 10:55:58 2016 +0000
Committer: Christine Poerschke <cp...@apache.org>
Committed: Tue Feb 2 10:55:58 2016 +0000
----------------------------------------------------------------------
.../index/LogByteSizeMergePolicyFactory.java | 31 +++++++
.../lucene/index/LogDocMergePolicyFactory.java | 31 +++++++
.../lucene/index/MergePolicyFactoryHelper.java | 3 +-
.../lucene/index/SimpleMergePolicyFactory.java | 1 -
.../lucene/index/WrapperMergePolicyFactory.java | 2 -
.../apache/lucene/index/TestLogMergePolicy.java | 18 ++++
.../apache/lucene/index/TestNoMergePolicy.java | 15 +++
.../lucene/index/TestTieredMergePolicy.java | 18 ++++
.../index/TestUpgradeIndexMergePolicy.java | 12 +++
.../lucene/index/TestSortingMergePolicy.java | 17 ++++
.../lucene/index/BaseMergePolicyTestCase.java | 97 ++++++++++++++++++++
.../org/apache/solr/update/SolrIndexConfig.java | 7 +-
12 files changed, 244 insertions(+), 8 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/43671b3e/lucene/core/src/java/org/apache/lucene/index/LogByteSizeMergePolicyFactory.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/LogByteSizeMergePolicyFactory.java b/lucene/core/src/java/org/apache/lucene/index/LogByteSizeMergePolicyFactory.java
new file mode 100644
index 0000000..82ee6a8
--- /dev/null
+++ b/lucene/core/src/java/org/apache/lucene/index/LogByteSizeMergePolicyFactory.java
@@ -0,0 +1,31 @@
+package org.apache.lucene.index;
+
+/*
+ * 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.
+ */
+
+/**
+ * A {@link MergePolicyFactory} for {@link LogByteSizeMergePolicy} objects.
+ *
+ * @lucene.experimental
+ */
+public class LogByteSizeMergePolicyFactory extends SimpleMergePolicyFactory {
+
+ public LogByteSizeMergePolicyFactory(MergePolicyFactoryHelper helper, MergePolicyFactoryArgs args) {
+ super(helper, args, LogByteSizeMergePolicy.class.getName());
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/43671b3e/lucene/core/src/java/org/apache/lucene/index/LogDocMergePolicyFactory.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/LogDocMergePolicyFactory.java b/lucene/core/src/java/org/apache/lucene/index/LogDocMergePolicyFactory.java
new file mode 100644
index 0000000..1327ff7
--- /dev/null
+++ b/lucene/core/src/java/org/apache/lucene/index/LogDocMergePolicyFactory.java
@@ -0,0 +1,31 @@
+package org.apache.lucene.index;
+
+/*
+ * 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.
+ */
+
+/**
+ * A {@link MergePolicyFactory} for {@link LogDocMergePolicy} objects.
+ *
+ * @lucene.experimental
+ */
+public class LogDocMergePolicyFactory extends SimpleMergePolicyFactory {
+
+ public LogDocMergePolicyFactory(MergePolicyFactoryHelper helper, MergePolicyFactoryArgs args) {
+ super(helper, args, LogDocMergePolicy.class.getName());
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/43671b3e/lucene/core/src/java/org/apache/lucene/index/MergePolicyFactoryHelper.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/MergePolicyFactoryHelper.java b/lucene/core/src/java/org/apache/lucene/index/MergePolicyFactoryHelper.java
index 0701f4a..6fdeb79 100644
--- a/lucene/core/src/java/org/apache/lucene/index/MergePolicyFactoryHelper.java
+++ b/lucene/core/src/java/org/apache/lucene/index/MergePolicyFactoryHelper.java
@@ -19,9 +19,8 @@ package org.apache.lucene.index;
public abstract class MergePolicyFactoryHelper {
- public static final String NO_SUB_PACKAGES[] = new String[0];
public static final Class[] NO_CLASSES = new Class[0];
public static final Object[] NO_OBJECTS = new Object[0];
- public abstract <T> T newInstance(String cName, Class<T> expectedType, String [] subPackages, Class[] params, Object[] args);
+ public abstract <T> T newInstance(String cName, Class<T> expectedType, Class[] params, Object[] args);
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/43671b3e/lucene/core/src/java/org/apache/lucene/index/SimpleMergePolicyFactory.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/SimpleMergePolicyFactory.java b/lucene/core/src/java/org/apache/lucene/index/SimpleMergePolicyFactory.java
index 97cc151..ab99955 100644
--- a/lucene/core/src/java/org/apache/lucene/index/SimpleMergePolicyFactory.java
+++ b/lucene/core/src/java/org/apache/lucene/index/SimpleMergePolicyFactory.java
@@ -36,7 +36,6 @@ public abstract class SimpleMergePolicyFactory extends MergePolicyFactory {
final MergePolicy mp = helper.newInstance(
mergePolicyClassName,
MergePolicy.class,
- MergePolicyFactoryHelper.NO_SUB_PACKAGES,
MergePolicyFactoryHelper.NO_CLASSES,
MergePolicyFactoryHelper.NO_OBJECTS);
args.invokeSetters(mp);
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/43671b3e/lucene/core/src/java/org/apache/lucene/index/WrapperMergePolicyFactory.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/WrapperMergePolicyFactory.java b/lucene/core/src/java/org/apache/lucene/index/WrapperMergePolicyFactory.java
index af1381f..3d750ca 100644
--- a/lucene/core/src/java/org/apache/lucene/index/WrapperMergePolicyFactory.java
+++ b/lucene/core/src/java/org/apache/lucene/index/WrapperMergePolicyFactory.java
@@ -63,7 +63,6 @@ public abstract class WrapperMergePolicyFactory extends MergePolicyFactory {
final MergePolicy wrapperMP = (helper == null ? null : helper.newInstance(
wrapperMergePolicyClassName,
MergePolicy.class,
- MergePolicyFactoryHelper.NO_SUB_PACKAGES,
new Class[] { MergePolicy.class },
new Object[] { wrappedMP }));
args.invokeSetters(wrapperMP);
@@ -74,7 +73,6 @@ public abstract class WrapperMergePolicyFactory extends MergePolicyFactory {
final MergePolicyFactory mpf = helper.newInstance(
wrappedMergePolicyArgs.mergePolicyFactoryClassName,
MergePolicyFactory.class,
- null,
new Class[] { MergePolicyFactoryArgs.class },
new Object[] { wrappedMergePolicyArgs });
return mpf.getMergePolicy();
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/43671b3e/lucene/core/src/test/org/apache/lucene/index/TestLogMergePolicy.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestLogMergePolicy.java b/lucene/core/src/test/org/apache/lucene/index/TestLogMergePolicy.java
index 8dffdf8..104836e 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestLogMergePolicy.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestLogMergePolicy.java
@@ -23,6 +23,24 @@ public class TestLogMergePolicy extends BaseMergePolicyTestCase {
return newLogMergePolicy(random());
}
+ final private boolean changeMergeFactor = random().nextBoolean();
+ final private boolean changeNoCFSRatio = random().nextBoolean();
+
+ @Override
+ MergePolicyFactoryArgs mergePolicyFactoryArgs() {
+ final MergePolicyFactoryArgs args = new MergePolicyFactoryArgs();
+ if (changeMergeFactor) args.put("mergeFactor", new Integer(42));
+ if (changeNoCFSRatio) args.put("noCFSRatio", new Double(0.42d));
+ return args;
+ }
+
+ protected void checkFactoryCreatedMergePolicy(MergePolicy mergePolicy) {
+ assertTrue(mergePolicy instanceof LogMergePolicy);
+ final LogMergePolicy mp = (LogMergePolicy)mergePolicy;
+ if (changeMergeFactor) assertEquals(42, mp.getMergeFactor());
+ if (changeNoCFSRatio) assertEquals(0.42d, mp.getNoCFSRatio(), 0.0);
+ }
+
public void testDefaultForcedMergeMB() {
LogByteSizeMergePolicy mp = new LogByteSizeMergePolicy();
assertTrue(mp.getMaxMergeMBForForcedMerge() > 0.0);
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/43671b3e/lucene/core/src/test/org/apache/lucene/index/TestNoMergePolicy.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestNoMergePolicy.java b/lucene/core/src/test/org/apache/lucene/index/TestNoMergePolicy.java
index bdd83c6..418516f 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestNoMergePolicy.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestNoMergePolicy.java
@@ -31,6 +31,21 @@ public class TestNoMergePolicy extends BaseMergePolicyTestCase {
return NoMergePolicy.INSTANCE;
}
+ final private boolean changeNoCFSRatio = random().nextBoolean();
+
+ @Override
+ MergePolicyFactoryArgs mergePolicyFactoryArgs() {
+ final MergePolicyFactoryArgs args = new MergePolicyFactoryArgs();
+ if (changeNoCFSRatio) args.put("noCFSRatio", new Double(0.42d));
+ return args;
+ }
+
+ protected void checkFactoryCreatedMergePolicy(MergePolicy mergePolicy) {
+ assertTrue(mergePolicy instanceof NoMergePolicy);
+ final NoMergePolicy mp = (NoMergePolicy)mergePolicy;
+ if (changeNoCFSRatio) assertEquals(0.42d, mp.getNoCFSRatio(), 0.0);
+ }
+
@Test
public void testNoMergePolicy() throws Exception {
MergePolicy mp = mergePolicy();
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/43671b3e/lucene/core/src/test/org/apache/lucene/index/TestTieredMergePolicy.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestTieredMergePolicy.java b/lucene/core/src/test/org/apache/lucene/index/TestTieredMergePolicy.java
index 945cf10..7e8aa07 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestTieredMergePolicy.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestTieredMergePolicy.java
@@ -29,6 +29,24 @@ public class TestTieredMergePolicy extends BaseMergePolicyTestCase {
return newTieredMergePolicy();
}
+ final private boolean changeMaxMergeAtOnce = random().nextBoolean();
+ final private boolean changeReclaimDeletesWeight = random().nextBoolean();
+
+ @Override
+ MergePolicyFactoryArgs mergePolicyFactoryArgs() {
+ final MergePolicyFactoryArgs args = new MergePolicyFactoryArgs();
+ if (changeMaxMergeAtOnce) args.put("maxMergeAtOnce", new Integer(42));
+ if (changeReclaimDeletesWeight) args.put("reclaimDeletesWeight", new Double(4.2d));
+ return args;
+ }
+
+ protected void checkFactoryCreatedMergePolicy(MergePolicy mergePolicy) {
+ assertTrue(mergePolicy instanceof TieredMergePolicy);
+ final TieredMergePolicy mp = (TieredMergePolicy)mergePolicy;
+ if (changeMaxMergeAtOnce) assertEquals(42, mp.getMaxMergeAtOnce());
+ if (changeReclaimDeletesWeight) assertEquals(4.2d, mp.getReclaimDeletesWeight(), 0.0);
+ }
+
public void testForceMergeDeletes() throws Exception {
Directory dir = newDirectory();
IndexWriterConfig conf = newIndexWriterConfig(new MockAnalyzer(random()));
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/43671b3e/lucene/core/src/test/org/apache/lucene/index/TestUpgradeIndexMergePolicy.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestUpgradeIndexMergePolicy.java b/lucene/core/src/test/org/apache/lucene/index/TestUpgradeIndexMergePolicy.java
index 857bcca..a154ba7 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestUpgradeIndexMergePolicy.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestUpgradeIndexMergePolicy.java
@@ -23,4 +23,16 @@ public class TestUpgradeIndexMergePolicy extends BaseMergePolicyTestCase {
return new UpgradeIndexMergePolicy(newMergePolicy(random()));
}
+ @Override
+ MergePolicyFactoryArgs mergePolicyFactoryArgs() {
+ final MergePolicyFactoryArgs args = new MergePolicyFactoryArgs();
+ // TODO
+ return args;
+ }
+
+ protected void checkFactoryCreatedMergePolicy(MergePolicy mergePolicy) {
+ assertTrue(mergePolicy instanceof UpgradeIndexMergePolicy);
+ // TODO
+ }
+
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/43671b3e/lucene/misc/src/test/org/apache/lucene/index/TestSortingMergePolicy.java
----------------------------------------------------------------------
diff --git a/lucene/misc/src/test/org/apache/lucene/index/TestSortingMergePolicy.java b/lucene/misc/src/test/org/apache/lucene/index/TestSortingMergePolicy.java
index d9baf55..786e291 100644
--- a/lucene/misc/src/test/org/apache/lucene/index/TestSortingMergePolicy.java
+++ b/lucene/misc/src/test/org/apache/lucene/index/TestSortingMergePolicy.java
@@ -82,6 +82,23 @@ public class TestSortingMergePolicy extends BaseMergePolicyTestCase {
return newSortingMergePolicy(sort);
}
+ @Override
+ MergePolicyFactoryArgs mergePolicyFactoryArgs() {
+ final MergePolicyFactoryArgs args = new MergePolicyFactoryArgs();
+ // SOLR-5730 will add stuff here.
+ return args;
+ }
+
+ @Override
+ public void testMergePolicyFactory() throws IOException {
+ // This is a no-op until SOLR-5730 is in place.
+ }
+
+ protected void checkFactoryCreatedMergePolicy(MergePolicy mergePolicy) {
+ assertTrue(mergePolicy instanceof SortingMergePolicy);
+ // SOLR-5730 will add stuff here.
+ }
+
public static SortingMergePolicy newSortingMergePolicy(Sort sort) {
// usually create a MP with a low merge factor so that many merges happen
MergePolicy mp;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/43671b3e/lucene/test-framework/src/java/org/apache/lucene/index/BaseMergePolicyTestCase.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/index/BaseMergePolicyTestCase.java b/lucene/test-framework/src/java/org/apache/lucene/index/BaseMergePolicyTestCase.java
index d94c1c3..ab4c8c7 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/index/BaseMergePolicyTestCase.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/index/BaseMergePolicyTestCase.java
@@ -24,6 +24,9 @@ import org.apache.lucene.util.LuceneTestCase;
import org.apache.lucene.util.TestUtil;
import java.io.IOException;
+import java.lang.reflect.Constructor;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Modifier;
import java.util.concurrent.atomic.AtomicBoolean;
/**
@@ -66,4 +69,98 @@ public abstract class BaseMergePolicyTestCase extends LuceneTestCase {
dir.close();
}
+ Class<?>[] mergePolicyFactoryConstructorParameterTypes() {
+ return new Class[] {
+ MergePolicyFactoryHelper.class,
+ MergePolicyFactoryArgs.class
+ };
+ }
+
+ Object[] mergePolicyFactoryConstructorParameters() {
+ return new Object[] {
+ mergePolicyFactoryHelper(),
+ mergePolicyFactoryArgs()
+ };
+ }
+
+ protected abstract void checkFactoryCreatedMergePolicy(MergePolicy mergePolicy);
+
+ MergePolicyFactoryHelper mergePolicyFactoryHelper() {
+ return new MergePolicyFactoryHelper() {
+ public <T> T newInstance(String cName, Class<T> expectedType, Class[] params, Object[] args) {
+ Class<? extends T> clazz;
+ try {
+ clazz = Class.forName(cName).asSubclass(expectedType);
+ } catch (ClassNotFoundException e) {
+ return null;
+ }
+ Constructor<? extends T> constructor = null;
+ try {
+ constructor = clazz.getConstructor(params);
+ } catch (NoSuchMethodException|SecurityException e) {
+ return null;
+ }
+ T obj = null;
+ try {
+ obj = constructor.newInstance(args);
+ } catch (IllegalAccessException|IllegalArgumentException|InstantiationException|InvocationTargetException e) {
+ return null;
+ }
+ return obj;
+ }
+ };
+ }
+
+ MergePolicyFactoryArgs mergePolicyFactoryArgs() {
+ return new MergePolicyFactoryArgs();
+ }
+
+ public void testMergePolicyFactory() throws IOException {
+ final MergePolicy mp = mergePolicy();
+ Class<?> mpClass = mp.getClass();
+ do {
+ implTestMergePolicyFactory(mpClass);
+ mpClass = mpClass.getSuperclass();
+ } while (MergePolicy.class.isAssignableFrom(mpClass));
+ implTestMergePolicyFactory(MergePolicy.class);
+ }
+
+ private void implTestMergePolicyFactory(Class<?> mpClass) throws IOException {
+ if (Modifier.isAbstract(mpClass.getModifiers())) return;
+ final String mpClassName = mpClass.getName();
+ final String mpfClassName = mpClassName+"Factory";
+ // find factory class
+ Class<?> mpfClass = null;
+ try {
+ mpfClass = Class.forName(mpfClassName);
+ } catch (ClassNotFoundException e) {
+ fail(mpfClassName+" factory for "+mpClassName+" not found: "+mpClass);
+ }
+ final int mpfClassModifiers = mpfClass.getModifiers();
+ assertTrue(mpfClassName+" factory for "+mpClassName+" is not public: "+mpfClass,
+ Modifier.isPublic(mpfClassModifiers));
+ // find factory class's constructor
+ Constructor<?> constructor = null;
+ final Class<?>[] mpfConstructorParameterTypes = mergePolicyFactoryConstructorParameterTypes();
+ try {
+ constructor = mpfClass.getConstructor(mpfConstructorParameterTypes);
+ } catch (NoSuchMethodException|SecurityException e) {
+ fail(mpfClassName+" constructor("+mpfConstructorParameterTypes+") not found - "+e);
+ }
+ // construct a factory instance
+ MergePolicyFactory mpf = null;
+ final Object[] mpfConstructorParameters = mergePolicyFactoryConstructorParameters();
+ try {
+ final Object obj = constructor.newInstance(mpfConstructorParameters);
+ assertTrue(obj+" is not a MergePolicyFactory", obj instanceof MergePolicyFactory);
+ mpf = (MergePolicyFactory)obj;
+ } catch (IllegalAccessException|IllegalArgumentException|InstantiationException|InvocationTargetException e) {
+ fail(mpfClassName+" constructor.newInstance("+mpfConstructorParameterTypes+") failed - "+e);
+ }
+ // create a merge policy using the factory instance
+ final MergePolicy mp = mpf.getMergePolicy();
+ assertTrue(mp+" cannot be assigned to "+mpClass, mpClass.isAssignableFrom(mp.getClass()));
+ checkFactoryCreatedMergePolicy(mp);
+ }
+
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/43671b3e/solr/core/src/java/org/apache/solr/update/SolrIndexConfig.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/update/SolrIndexConfig.java b/solr/core/src/java/org/apache/solr/update/SolrIndexConfig.java
index 965b8a2..68bc357 100644
--- a/solr/core/src/java/org/apache/solr/update/SolrIndexConfig.java
+++ b/solr/core/src/java/org/apache/solr/update/SolrIndexConfig.java
@@ -240,6 +240,8 @@ public class SolrIndexConfig implements MapSerializable {
return iwc;
}
+ private static final String NO_SUB_PACKAGES[] = new String[0];
+
/**
* Builds a MergePolicy using the configured MergePolicyFactory
* or if no factory is configured uses the configured mergePolicy PluginInfo.
@@ -262,16 +264,15 @@ public class SolrIndexConfig implements MapSerializable {
final MergePolicyFactoryHelper mpfHelper = new MergePolicyFactoryHelper() {
@Override
- public <T> T newInstance(String cName, Class<T> expectedType, String [] subPackages, Class[] params, Object[] args) {
+ public <T> T newInstance(String cName, Class<T> expectedType, Class[] params, Object[] args) {
return schema.getResourceLoader().newInstance(
- cName, expectedType, subPackages, params, args);
+ cName, expectedType, NO_SUB_PACKAGES, params, args);
}
};
final MergePolicyFactory mpf = mpfHelper.newInstance(
mpfClassName,
MergePolicyFactory.class,
- new String[0],
new Class[] { MergePolicyFactoryHelper.class, MergePolicyFactoryArgs.class },
new Object[] { mpfHelper, mpfArgs });