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/08 14:22:01 UTC

lucene-solr git commit: Revert "SimpleMergePolicyFactory is now no longer abstract. Shall we remove LogByteSizeMergePolicyFactory/LogDocMergePolicyFactory/TieredMergePolicyFactory now then?"

Repository: lucene-solr
Updated Branches:
  refs/heads/master-solr-8621 e1b47ace7 -> 42aa575a0


Revert "SimpleMergePolicyFactory is now no longer abstract. Shall we remove LogByteSizeMergePolicyFactory/LogDocMergePolicyFactory/TieredMergePolicyFactory now then?"

This reverts commit e1b47ace7c7f81d164ddeaa8882e6aa5c422f89e.


Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/42aa575a
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/42aa575a
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/42aa575a

Branch: refs/heads/master-solr-8621
Commit: 42aa575a0427c83cfdff22dc03656200dafc2fbb
Parents: e1b47ac
Author: Christine Poerschke <cp...@apache.org>
Authored: Mon Feb 8 13:19:50 2016 +0000
Committer: Christine Poerschke <cp...@apache.org>
Committed: Mon Feb 8 13:19:50 2016 +0000

----------------------------------------------------------------------
 .../index/LogByteSizeMergePolicyFactory.java     |  6 +-----
 .../solr/index/LogDocMergePolicyFactory.java     |  6 +-----
 .../solr/index/SimpleMergePolicyFactory.java     | 19 ++++---------------
 .../solr/index/TieredMergePolicyFactory.java     |  6 +-----
 .../index/UpgradeIndexMergePolicyFactory.java    | 16 +++-------------
 .../solr/index/WrapperMergePolicyFactory.java    |  9 ++++++---
 .../index/WrapperMergePolicyFactoryTest.java     |  4 +---
 7 files changed, 17 insertions(+), 49 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/42aa575a/solr/core/src/java/org/apache/solr/index/LogByteSizeMergePolicyFactory.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/index/LogByteSizeMergePolicyFactory.java b/solr/core/src/java/org/apache/solr/index/LogByteSizeMergePolicyFactory.java
index 283053b..4b9e970 100644
--- a/solr/core/src/java/org/apache/solr/index/LogByteSizeMergePolicyFactory.java
+++ b/solr/core/src/java/org/apache/solr/index/LogByteSizeMergePolicyFactory.java
@@ -31,11 +31,7 @@ public class LogByteSizeMergePolicyFactory extends SimpleMergePolicyFactory {
 
   @Override
   protected MergePolicy getMergePolicyInstance() {
-    if (className == null) {
-      return new LogByteSizeMergePolicy();
-    } else {
-      return resourceLoader.newInstance(className, LogByteSizeMergePolicy.class);
-    }
+    return new LogByteSizeMergePolicy();
   }
   
 }

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/42aa575a/solr/core/src/java/org/apache/solr/index/LogDocMergePolicyFactory.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/index/LogDocMergePolicyFactory.java b/solr/core/src/java/org/apache/solr/index/LogDocMergePolicyFactory.java
index ba867d7..d7bfbfe 100644
--- a/solr/core/src/java/org/apache/solr/index/LogDocMergePolicyFactory.java
+++ b/solr/core/src/java/org/apache/solr/index/LogDocMergePolicyFactory.java
@@ -31,11 +31,7 @@ public class LogDocMergePolicyFactory extends SimpleMergePolicyFactory {
 
   @Override
   protected MergePolicy getMergePolicyInstance() {
-    if (className == null) {
-      return new LogDocMergePolicy();
-    } else {
-      return resourceLoader.newInstance(className, LogDocMergePolicy.class);
-    }
+    return new LogDocMergePolicy();
   }
   
 }

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/42aa575a/solr/core/src/java/org/apache/solr/index/SimpleMergePolicyFactory.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/index/SimpleMergePolicyFactory.java b/solr/core/src/java/org/apache/solr/index/SimpleMergePolicyFactory.java
index 339f4d6..6e975bc 100644
--- a/solr/core/src/java/org/apache/solr/index/SimpleMergePolicyFactory.java
+++ b/solr/core/src/java/org/apache/solr/index/SimpleMergePolicyFactory.java
@@ -20,27 +20,16 @@ import org.apache.lucene.index.MergePolicy;
 import org.apache.solr.core.SolrResourceLoader;
 
 /**
- * A {@link MergePolicyFactory} for simple {@link MergePolicy} objects. Implementations can override only
- * {@link #getMergePolicyInstance()} and this class will then configure it with all set properties.
+ * A {@link MergePolicyFactory} for simple {@link MergePolicy} objects. Implementations need only create the policy
+ * {@link #getMergePolicyInstance() instance} and this class will then configure it with all set properties.
  */
-public class SimpleMergePolicyFactory extends MergePolicyFactory {
-
-  static protected final String CLASS = "class";
-  final protected String className;
+public abstract class SimpleMergePolicyFactory extends MergePolicyFactory {
 
   protected SimpleMergePolicyFactory(SolrResourceLoader resourceLoader, MergePolicyFactoryArgs args) {
     super(resourceLoader, args);
-    className = (String) args.remove(CLASS);
   }
 
-  /** Returns an instance of the {@link MergePolicy} without setting all its parameters. */
-  protected MergePolicy getMergePolicyInstance() {
-    if (className == null) {
-      throw new IllegalArgumentException(getClass().getSimpleName()+" requires a '"+CLASS+"' argument.");
-    } else {
-      return resourceLoader.newInstance(className, MergePolicy.class);
-    }
-  }
+  protected abstract MergePolicy getMergePolicyInstance();
 
   @Override
   public final MergePolicy getMergePolicy() {

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/42aa575a/solr/core/src/java/org/apache/solr/index/TieredMergePolicyFactory.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/index/TieredMergePolicyFactory.java b/solr/core/src/java/org/apache/solr/index/TieredMergePolicyFactory.java
index cfa0b6c..e97089a 100644
--- a/solr/core/src/java/org/apache/solr/index/TieredMergePolicyFactory.java
+++ b/solr/core/src/java/org/apache/solr/index/TieredMergePolicyFactory.java
@@ -31,11 +31,7 @@ public class TieredMergePolicyFactory extends SimpleMergePolicyFactory {
   
   @Override
   protected MergePolicy getMergePolicyInstance() {
-    if (className == null) {
-      return new TieredMergePolicy();
-    } else {
-      return resourceLoader.newInstance(className, TieredMergePolicy.class);
-    }
+    return new TieredMergePolicy();
   }
 
 }

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/42aa575a/solr/core/src/java/org/apache/solr/index/UpgradeIndexMergePolicyFactory.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/index/UpgradeIndexMergePolicyFactory.java b/solr/core/src/java/org/apache/solr/index/UpgradeIndexMergePolicyFactory.java
index 4d9dc6a..d4f5e46 100644
--- a/solr/core/src/java/org/apache/solr/index/UpgradeIndexMergePolicyFactory.java
+++ b/solr/core/src/java/org/apache/solr/index/UpgradeIndexMergePolicyFactory.java
@@ -29,21 +29,11 @@ public class UpgradeIndexMergePolicyFactory extends WrapperMergePolicyFactory {
     super(resourceLoader, args);
   }
 
-  /** Returns an instance of the {@link MergePolicy} without setting all its parameters. */
   @Override
-  protected MergePolicy getMergePolicyInstance() {
+  public MergePolicy getMergePolicy() {
     final MergePolicy wrappedMP = getWrappedMergePolicy();
-    final MergePolicy mp;
-    if (className == null) {
-      mp = new UpgradeIndexMergePolicy(wrappedMP);
-    } else {
-      mp = resourceLoader.newInstance(
-          className,
-          UpgradeIndexMergePolicy.class,
-          NO_SUB_PACKAGES,
-          new Class[] {MergePolicy.class},
-          new Object[] {wrappedMP});
-    }
+    final MergePolicy mp = new UpgradeIndexMergePolicy(wrappedMP);
+    args.invokeSetters(mp);
     return mp;
   }
   

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/42aa575a/solr/core/src/java/org/apache/solr/index/WrapperMergePolicyFactory.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/index/WrapperMergePolicyFactory.java b/solr/core/src/java/org/apache/solr/index/WrapperMergePolicyFactory.java
index a806e22..77c5b19 100644
--- a/solr/core/src/java/org/apache/solr/index/WrapperMergePolicyFactory.java
+++ b/solr/core/src/java/org/apache/solr/index/WrapperMergePolicyFactory.java
@@ -16,17 +16,20 @@
  */
 package org.apache.solr.index;
 
+import java.util.Iterator;
+
 import org.apache.lucene.index.MergePolicy;
 import org.apache.solr.core.SolrResourceLoader;
 
 /**
  * A {@link MergePolicyFactory} for wrapping additional {@link MergePolicyFactory factories}.
  */
-public abstract class WrapperMergePolicyFactory extends SimpleMergePolicyFactory {
+public abstract class WrapperMergePolicyFactory extends MergePolicyFactory {
 
-  protected static final String[] NO_SUB_PACKAGES = new String[0];
+  private static final String[] NO_SUB_PACKAGES = new String[0];
 
-  static final String WRAPPED_PREFIX = "wrapped.prefix"; // not private so that test(s) can use it
+  static final String WRAPPED_PREFIX = "wrapped.prefix";
+  static final String CLASS = "class";
 
   private final MergePolicyFactoryArgs wrappedMergePolicyArgs;
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/42aa575a/solr/core/src/test/org/apache/solr/index/WrapperMergePolicyFactoryTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/index/WrapperMergePolicyFactoryTest.java b/solr/core/src/test/org/apache/solr/index/WrapperMergePolicyFactoryTest.java
index 38d8d25..6436398 100644
--- a/solr/core/src/test/org/apache/solr/index/WrapperMergePolicyFactoryTest.java
+++ b/solr/core/src/test/org/apache/solr/index/WrapperMergePolicyFactoryTest.java
@@ -81,10 +81,8 @@ public class WrapperMergePolicyFactoryTest extends SolrTestCaseJ4 {
       return NoMergePolicy.INSTANCE;
     }
 
-
-    /** Returns an instance of the {@link MergePolicy} without setting all its parameters. */
     @Override
-    protected MergePolicy getMergePolicyInstance() {
+    public MergePolicy getMergePolicy() {
       return getWrappedMergePolicy();
     }