You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@accumulo.apache.org by ct...@apache.org on 2015/04/09 21:42:52 UTC
[1/2] accumulo git commit: ACCUMULO-3714 Replace PropertyFilter
Repository: accumulo
Updated Branches:
refs/heads/master 8fae3f806 -> 8fbf2dce0
ACCUMULO-3714 Replace PropertyFilter
* Replace internal PropertyFilter with Guava's Predicate.
* Preserve MockConfiguration public API by deprecating PropertyFilter
Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo
Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/2e9643dc
Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/2e9643dc
Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/2e9643dc
Branch: refs/heads/master
Commit: 2e9643dcc406df3f1a502f9eaf543d1d9bdee560
Parents: 27f3b30
Author: Christopher Tubbs <ct...@apache.org>
Authored: Wed Apr 8 22:00:52 2015 -0400
Committer: Christopher Tubbs <ct...@apache.org>
Committed: Wed Apr 8 22:00:52 2015 -0400
----------------------------------------------------------------------
.../apache/accumulo/core/cli/ClientOpts.java | 7 +++--
.../core/client/impl/ClientContext.java | 10 +++---
.../core/client/mock/MockConfiguration.java | 23 ++++++++++++--
.../core/conf/AccumuloConfiguration.java | 32 +++++++++-----------
.../accumulo/core/conf/ConfigurationCopy.java | 6 ++--
.../core/conf/DefaultConfiguration.java | 6 ++--
.../accumulo/core/conf/SiteConfiguration.java | 7 +++--
.../core/client/impl/ClientContextTest.java | 7 +++--
.../core/conf/DefaultConfigurationTest.java | 7 +++--
.../core/conf/ObservableConfigurationTest.java | 4 ++-
.../core/conf/SiteConfigurationTest.java | 7 +++--
.../server/conf/NamespaceConfiguration.java | 16 +++++-----
.../server/conf/TableConfiguration.java | 4 ++-
.../server/conf/ZooCachePropertyAccessor.java | 7 +++--
.../accumulo/server/conf/ZooConfiguration.java | 6 ++--
.../server/fs/PreferredVolumeChooser.java | 7 +++--
.../server/conf/NamespaceConfigurationTest.java | 11 ++++---
.../server/conf/TableConfigurationTest.java | 11 ++++---
.../conf/ZooCachePropertyAccessorTest.java | 24 +++++++++------
.../accumulo/server/util/FileUtilTest.java | 4 ++-
.../apache/accumulo/test/util/CertUtils.java | 5 +--
21 files changed, 132 insertions(+), 79 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/accumulo/blob/2e9643dc/core/src/main/java/org/apache/accumulo/core/cli/ClientOpts.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/cli/ClientOpts.java b/core/src/main/java/org/apache/accumulo/core/cli/ClientOpts.java
index 6185419..0975ec8 100644
--- a/core/src/main/java/org/apache/accumulo/core/cli/ClientOpts.java
+++ b/core/src/main/java/org/apache/accumulo/core/cli/ClientOpts.java
@@ -57,6 +57,7 @@ import org.apache.log4j.Logger;
import com.beust.jcommander.DynamicParameter;
import com.beust.jcommander.IStringConverter;
import com.beust.jcommander.Parameter;
+import com.google.common.base.Predicate;
public class ClientOpts extends Help {
@@ -342,12 +343,12 @@ public class ClientOpts extends Help {
}
@Override
- public void getProperties(Map<String,String> props, PropertyFilter filter) {
+ public void getProperties(Map<String,String> props, Predicate<String> filter) {
for (Entry<String,String> prop : DefaultConfiguration.getInstance())
- if (filter.accept(prop.getKey()))
+ if (filter.apply(prop.getKey()))
props.put(prop.getKey(), prop.getValue());
for (Entry<String,String> prop : xml)
- if (filter.accept(prop.getKey()))
+ if (filter.apply(prop.getKey()))
props.put(prop.getKey(), prop.getValue());
}
http://git-wip-us.apache.org/repos/asf/accumulo/blob/2e9643dc/core/src/main/java/org/apache/accumulo/core/client/impl/ClientContext.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/client/impl/ClientContext.java b/core/src/main/java/org/apache/accumulo/core/client/impl/ClientContext.java
index 9257a1f..9def3ab 100644
--- a/core/src/main/java/org/apache/accumulo/core/client/impl/ClientContext.java
+++ b/core/src/main/java/org/apache/accumulo/core/client/impl/ClientContext.java
@@ -42,6 +42,8 @@ import org.apache.commons.configuration.Configuration;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import com.google.common.base.Predicate;
+
/**
* This class represents any essential configuration and credentials needed to initiate RPC operations throughout the code. It is intended to represent a shared
* object that contains these things from when the client was first constructed. It is not public API, and is only an internal representation of the context in
@@ -212,13 +214,13 @@ public class ClientContext {
}
@Override
- public void getProperties(Map<String,String> props, PropertyFilter filter) {
+ public void getProperties(Map<String,String> props, Predicate<String> filter) {
defaults.getProperties(props, filter);
Iterator<?> keyIter = config.getKeys();
while (keyIter.hasNext()) {
String key = keyIter.next().toString();
- if (filter.accept(key))
+ if (filter.apply(key))
props.put(key, config.getString(key));
}
@@ -226,7 +228,7 @@ public class ClientContext {
// Automatically reconstruct the server property when converting a client config.
if (props.containsKey(ClientProperty.KERBEROS_SERVER_PRIMARY.getKey())) {
final String serverPrimary = props.remove(ClientProperty.KERBEROS_SERVER_PRIMARY.getKey());
- if (filter.accept(Property.GENERAL_KERBEROS_PRINCIPAL.getKey())) {
+ if (filter.apply(Property.GENERAL_KERBEROS_PRINCIPAL.getKey())) {
// Use the _HOST expansion. It should be unnecessary in "client land".
props.put(Property.GENERAL_KERBEROS_PRINCIPAL.getKey(), serverPrimary + "/_HOST@" + SaslConnectionParams.getDefaultRealm());
}
@@ -241,7 +243,7 @@ public class ClientContext {
continue;
}
- if (filter.accept(key)) {
+ if (filter.apply(key)) {
char[] value = CredentialProviderFactoryShim.getValueFromCredentialProvider(hadoopConf, key);
if (null != value) {
props.put(key, new String(value));
http://git-wip-us.apache.org/repos/asf/accumulo/blob/2e9643dc/core/src/main/java/org/apache/accumulo/core/client/mock/MockConfiguration.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/client/mock/MockConfiguration.java b/core/src/main/java/org/apache/accumulo/core/client/mock/MockConfiguration.java
index 8c57c5e..410105b 100644
--- a/core/src/main/java/org/apache/accumulo/core/client/mock/MockConfiguration.java
+++ b/core/src/main/java/org/apache/accumulo/core/client/mock/MockConfiguration.java
@@ -22,6 +22,8 @@ import java.util.Map.Entry;
import org.apache.accumulo.core.conf.AccumuloConfiguration;
import org.apache.accumulo.core.conf.Property;
+import com.google.common.base.Predicate;
+
class MockConfiguration extends AccumuloConfiguration {
Map<String,String> map;
@@ -38,10 +40,27 @@ class MockConfiguration extends AccumuloConfiguration {
return map.get(property.getKey());
}
+ /**
+ * Don't use this method. It has been deprecated. Its parameters are not public API and subject to change.
+ *
+ * @deprecated since 1.7.0; use {@link #getProperties(Map, Predicate)} instead.
+ */
+ @Deprecated
+ public void getProperties(Map<String,String> props, final PropertyFilter filter) {
+ // convert PropertyFilter to Predicate
+ getProperties(props, new Predicate<String>() {
+
+ @Override
+ public boolean apply(String input) {
+ return filter.accept(input);
+ }
+ });
+ }
+
@Override
- public void getProperties(Map<String,String> props, PropertyFilter filter) {
+ public void getProperties(Map<String,String> props, Predicate<String> filter) {
for (Entry<String,String> entry : map.entrySet()) {
- if (filter.accept(entry.getKey())) {
+ if (filter.apply(entry.getKey())) {
props.put(entry.getKey(), entry.getValue());
}
}
http://git-wip-us.apache.org/repos/asf/accumulo/blob/2e9643dc/core/src/main/java/org/apache/accumulo/core/conf/AccumuloConfiguration.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/conf/AccumuloConfiguration.java b/core/src/main/java/org/apache/accumulo/core/conf/AccumuloConfiguration.java
index 14d68c2..9ff4185 100644
--- a/core/src/main/java/org/apache/accumulo/core/conf/AccumuloConfiguration.java
+++ b/core/src/main/java/org/apache/accumulo/core/conf/AccumuloConfiguration.java
@@ -33,6 +33,9 @@ import org.apache.accumulo.start.classloader.vfs.AccumuloVFSClassLoader;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import com.google.common.base.Predicate;
+import com.google.common.base.Predicates;
+
/**
* A configuration object.
*/
@@ -40,7 +43,10 @@ public abstract class AccumuloConfiguration implements Iterable<Entry<String,Str
/**
* A filter for properties, based on key.
+ *
+ * @deprecated since 1.7.0; use {@link Predicate} instead.
*/
+ @Deprecated
public interface PropertyFilter {
/**
* Determines whether to accept a property based on its key.
@@ -53,19 +59,9 @@ public abstract class AccumuloConfiguration implements Iterable<Entry<String,Str
}
/**
- * A filter that accepts all properties.
- */
- public static class AllFilter implements PropertyFilter {
- @Override
- public boolean accept(String key) {
- return true;
- }
- }
-
- /**
* A filter that accepts properties whose keys are an exact match.
*/
- public static class MatchFilter implements PropertyFilter {
+ public static class MatchFilter implements Predicate<String> {
private String match;
@@ -80,7 +76,7 @@ public abstract class AccumuloConfiguration implements Iterable<Entry<String,Str
}
@Override
- public boolean accept(String key) {
+ public boolean apply(String key) {
return Objects.equals(match, key);
}
}
@@ -88,7 +84,7 @@ public abstract class AccumuloConfiguration implements Iterable<Entry<String,Str
/**
* A filter that accepts properties whose keys begin with a prefix.
*/
- public static class PrefixFilter implements PropertyFilter {
+ public static class PrefixFilter implements Predicate<String> {
private String prefix;
@@ -103,7 +99,7 @@ public abstract class AccumuloConfiguration implements Iterable<Entry<String,Str
}
@Override
- public boolean accept(String key) {
+ public boolean apply(String key) {
return key.startsWith(prefix);
}
}
@@ -114,8 +110,7 @@ public abstract class AccumuloConfiguration implements Iterable<Entry<String,Str
* Gets a property value from this configuration.
*
* <p>
- * Note: this is inefficient, but convenient on occasion. For retrieving multiple properties, use {@link #getProperties(Map, PropertyFilter)} with a custom
- * filter.
+ * Note: this is inefficient, but convenient on occasion. For retrieving multiple properties, use {@link #getProperties(Map, Predicate)} with a custom filter.
*
* @param property
* property to get
@@ -145,7 +140,7 @@ public abstract class AccumuloConfiguration implements Iterable<Entry<String,Str
* @param filter
* filter for accepting properties from this configuration
*/
- public abstract void getProperties(Map<String,String> props, PropertyFilter filter);
+ public abstract void getProperties(Map<String,String> props, Predicate<String> filter);
/**
* Returns an iterator over property key/value pairs in this configuration. Some implementations may elect to omit properties.
@@ -154,8 +149,9 @@ public abstract class AccumuloConfiguration implements Iterable<Entry<String,Str
*/
@Override
public Iterator<Entry<String,String>> iterator() {
+ Predicate<String> all = Predicates.alwaysTrue();
TreeMap<String,String> entries = new TreeMap<String,String>();
- getProperties(entries, new AllFilter());
+ getProperties(entries, all);
return entries.entrySet().iterator();
}
http://git-wip-us.apache.org/repos/asf/accumulo/blob/2e9643dc/core/src/main/java/org/apache/accumulo/core/conf/ConfigurationCopy.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/conf/ConfigurationCopy.java b/core/src/main/java/org/apache/accumulo/core/conf/ConfigurationCopy.java
index 8326725..28b188f 100644
--- a/core/src/main/java/org/apache/accumulo/core/conf/ConfigurationCopy.java
+++ b/core/src/main/java/org/apache/accumulo/core/conf/ConfigurationCopy.java
@@ -21,6 +21,8 @@ import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
+import com.google.common.base.Predicate;
+
/**
* An {@link AccumuloConfiguration} which holds a flat copy of properties defined in another configuration
*/
@@ -62,9 +64,9 @@ public class ConfigurationCopy extends AccumuloConfiguration {
}
@Override
- public void getProperties(Map<String,String> props, PropertyFilter filter) {
+ public void getProperties(Map<String,String> props, Predicate<String> filter) {
for (Entry<String,String> entry : copy.entrySet()) {
- if (filter.accept(entry.getKey())) {
+ if (filter.apply(entry.getKey())) {
props.put(entry.getKey(), entry.getValue());
}
}
http://git-wip-us.apache.org/repos/asf/accumulo/blob/2e9643dc/core/src/main/java/org/apache/accumulo/core/conf/DefaultConfiguration.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/conf/DefaultConfiguration.java b/core/src/main/java/org/apache/accumulo/core/conf/DefaultConfiguration.java
index 17364a7..34d7fd2 100644
--- a/core/src/main/java/org/apache/accumulo/core/conf/DefaultConfiguration.java
+++ b/core/src/main/java/org/apache/accumulo/core/conf/DefaultConfiguration.java
@@ -21,6 +21,8 @@ import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
+import com.google.common.base.Predicate;
+
/**
* An {@link AccumuloConfiguration} that contains only default values for properties. This class is a singleton.
*/
@@ -51,9 +53,9 @@ public class DefaultConfiguration extends AccumuloConfiguration {
}
@Override
- public void getProperties(Map<String,String> props, PropertyFilter filter) {
+ public void getProperties(Map<String,String> props, Predicate<String> filter) {
for (Entry<String,String> entry : resolvedProps.entrySet())
- if (filter.accept(entry.getKey()))
+ if (filter.apply(entry.getKey()))
props.put(entry.getKey(), entry.getValue());
}
}
http://git-wip-us.apache.org/repos/asf/accumulo/blob/2e9643dc/core/src/main/java/org/apache/accumulo/core/conf/SiteConfiguration.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/conf/SiteConfiguration.java b/core/src/main/java/org/apache/accumulo/core/conf/SiteConfiguration.java
index b410cf7..e8c49b4 100644
--- a/core/src/main/java/org/apache/accumulo/core/conf/SiteConfiguration.java
+++ b/core/src/main/java/org/apache/accumulo/core/conf/SiteConfiguration.java
@@ -25,6 +25,7 @@ import org.apache.hadoop.conf.Configuration;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import com.google.common.base.Predicate;
/**
* An {@link AccumuloConfiguration} which loads properties from an XML file, usually accumulo-site.xml. This implementation supports defaulting undefined
@@ -116,11 +117,11 @@ public class SiteConfiguration extends AccumuloConfiguration {
}
@Override
- public void getProperties(Map<String,String> props, PropertyFilter filter) {
+ public void getProperties(Map<String,String> props, Predicate<String> filter) {
parent.getProperties(props, filter);
for (Entry<String,String> entry : getXmlConfig())
- if (filter.accept(entry.getKey()))
+ if (filter.apply(entry.getKey()))
props.put(entry.getKey(), entry.getValue());
// CredentialProvider should take precedence over site
@@ -132,7 +133,7 @@ public class SiteConfiguration extends AccumuloConfiguration {
continue;
}
- if (filter.accept(key)) {
+ if (filter.apply(key)) {
char[] value = CredentialProviderFactoryShim.getValueFromCredentialProvider(hadoopConf, key);
if (null != value) {
props.put(key, new String(value));
http://git-wip-us.apache.org/repos/asf/accumulo/blob/2e9643dc/core/src/test/java/org/apache/accumulo/core/client/impl/ClientContextTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/accumulo/core/client/impl/ClientContextTest.java b/core/src/test/java/org/apache/accumulo/core/client/impl/ClientContextTest.java
index 494eb50..ff9863c 100644
--- a/core/src/test/java/org/apache/accumulo/core/client/impl/ClientContextTest.java
+++ b/core/src/test/java/org/apache/accumulo/core/client/impl/ClientContextTest.java
@@ -23,13 +23,15 @@ import java.util.Map;
import org.apache.accumulo.core.client.ClientConfiguration;
import org.apache.accumulo.core.conf.AccumuloConfiguration;
-import org.apache.accumulo.core.conf.AccumuloConfiguration.AllFilter;
import org.apache.accumulo.core.conf.CredentialProviderFactoryShim;
import org.apache.accumulo.core.conf.Property;
import org.junit.Assert;
import org.junit.BeforeClass;
import org.junit.Test;
+import com.google.common.base.Predicate;
+import com.google.common.base.Predicates;
+
public class ClientContextTest {
private static boolean isCredentialProviderAvailable = false;
@@ -98,7 +100,8 @@ public class ClientContextTest {
AccumuloConfiguration accClientConf = ClientContext.convertClientConfig(clientConf);
Map<String,String> props = new HashMap<String,String>();
- accClientConf.getProperties(props, new AllFilter());
+ Predicate<String> all = Predicates.alwaysTrue();
+ accClientConf.getProperties(props, all);
// Only sensitive properties are added
Assert.assertEquals(Property.GENERAL_RPC_TIMEOUT.getDefaultValue(), props.get(Property.GENERAL_RPC_TIMEOUT.getKey()));
http://git-wip-us.apache.org/repos/asf/accumulo/blob/2e9643dc/core/src/test/java/org/apache/accumulo/core/conf/DefaultConfigurationTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/accumulo/core/conf/DefaultConfigurationTest.java b/core/src/test/java/org/apache/accumulo/core/conf/DefaultConfigurationTest.java
index e21db3d..9566f2e 100644
--- a/core/src/test/java/org/apache/accumulo/core/conf/DefaultConfigurationTest.java
+++ b/core/src/test/java/org/apache/accumulo/core/conf/DefaultConfigurationTest.java
@@ -20,10 +20,12 @@ import static org.junit.Assert.assertEquals;
import java.util.Map;
-import org.apache.accumulo.core.conf.AccumuloConfiguration.AllFilter;
import org.junit.Before;
import org.junit.Test;
+import com.google.common.base.Predicate;
+import com.google.common.base.Predicates;
+
public class DefaultConfigurationTest {
private DefaultConfiguration c;
@@ -39,8 +41,9 @@ public class DefaultConfigurationTest {
@Test
public void testGetProperties() {
+ Predicate<String> all = Predicates.alwaysTrue();
Map<String,String> p = new java.util.HashMap<String,String>();
- c.getProperties(p, new AllFilter());
+ c.getProperties(p, all);
assertEquals(Property.MASTER_CLIENTPORT.getDefaultValue(), p.get(Property.MASTER_CLIENTPORT.getKey()));
}
http://git-wip-us.apache.org/repos/asf/accumulo/blob/2e9643dc/core/src/test/java/org/apache/accumulo/core/conf/ObservableConfigurationTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/accumulo/core/conf/ObservableConfigurationTest.java b/core/src/test/java/org/apache/accumulo/core/conf/ObservableConfigurationTest.java
index b92fac6..8f73907 100644
--- a/core/src/test/java/org/apache/accumulo/core/conf/ObservableConfigurationTest.java
+++ b/core/src/test/java/org/apache/accumulo/core/conf/ObservableConfigurationTest.java
@@ -28,6 +28,8 @@ import java.util.Map;
import org.junit.Before;
import org.junit.Test;
+import com.google.common.base.Predicate;
+
public class ObservableConfigurationTest {
private static class TestObservableConfig extends ObservableConfiguration {
@Override
@@ -36,7 +38,7 @@ public class ObservableConfigurationTest {
}
@Override
- public void getProperties(Map<String,String> props, PropertyFilter filter) {}
+ public void getProperties(Map<String,String> props, Predicate<String> filter) {}
}
private ObservableConfiguration c;
http://git-wip-us.apache.org/repos/asf/accumulo/blob/2e9643dc/core/src/test/java/org/apache/accumulo/core/conf/SiteConfigurationTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/accumulo/core/conf/SiteConfigurationTest.java b/core/src/test/java/org/apache/accumulo/core/conf/SiteConfigurationTest.java
index f54adb1..a0d48b9 100644
--- a/core/src/test/java/org/apache/accumulo/core/conf/SiteConfigurationTest.java
+++ b/core/src/test/java/org/apache/accumulo/core/conf/SiteConfigurationTest.java
@@ -21,13 +21,15 @@ import java.net.URL;
import java.util.HashMap;
import java.util.Map;
-import org.apache.accumulo.core.conf.AccumuloConfiguration.AllFilter;
import org.apache.hadoop.conf.Configuration;
import org.easymock.EasyMock;
import org.junit.Assert;
import org.junit.BeforeClass;
import org.junit.Test;
+import com.google.common.base.Predicate;
+import com.google.common.base.Predicates;
+
public class SiteConfigurationTest {
private static boolean isCredentialProviderAvailable;
@@ -65,7 +67,8 @@ public class SiteConfigurationTest {
EasyMock.replay(siteCfg);
Map<String,String> props = new HashMap<String,String>();
- siteCfg.getProperties(props, new AllFilter());
+ Predicate<String> all = Predicates.alwaysTrue();
+ siteCfg.getProperties(props, all);
Assert.assertEquals("mysecret", props.get(Property.INSTANCE_SECRET.getKey()));
Assert.assertEquals(null, props.get("ignored.property"));
http://git-wip-us.apache.org/repos/asf/accumulo/blob/2e9643dc/server/base/src/main/java/org/apache/accumulo/server/conf/NamespaceConfiguration.java
----------------------------------------------------------------------
diff --git a/server/base/src/main/java/org/apache/accumulo/server/conf/NamespaceConfiguration.java b/server/base/src/main/java/org/apache/accumulo/server/conf/NamespaceConfiguration.java
index bae694b..3d19723 100644
--- a/server/base/src/main/java/org/apache/accumulo/server/conf/NamespaceConfiguration.java
+++ b/server/base/src/main/java/org/apache/accumulo/server/conf/NamespaceConfiguration.java
@@ -33,6 +33,8 @@ import org.apache.accumulo.server.conf.ZooCachePropertyAccessor.PropCacheKey;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import com.google.common.base.Predicate;
+
public class NamespaceConfiguration extends ObservableConfiguration {
private static final Logger log = LoggerFactory.getLogger(NamespaceConfiguration.class);
@@ -99,26 +101,26 @@ public class NamespaceConfiguration extends ObservableConfiguration {
return getPropCacheAccessor().get(property, getPath(), getParent);
}
- private class SystemNamespaceFilter implements PropertyFilter {
+ private class SystemNamespaceFilter implements Predicate<String> {
- private PropertyFilter userFilter;
+ private Predicate<String> userFilter;
- SystemNamespaceFilter(PropertyFilter userFilter) {
+ SystemNamespaceFilter(Predicate<String> userFilter) {
this.userFilter = userFilter;
}
@Override
- public boolean accept(String key) {
+ public boolean apply(String key) {
if (isIteratorOrConstraint(key))
return false;
- return userFilter.accept(key);
+ return userFilter.apply(key);
}
}
@Override
- public void getProperties(Map<String,String> props, PropertyFilter filter) {
- PropertyFilter parentFilter = filter;
+ public void getProperties(Map<String,String> props, Predicate<String> filter) {
+ Predicate<String> parentFilter = filter;
// exclude system iterators/constraints from the system namespace
// so they don't affect the metadata or root tables.
if (getNamespaceId().equals(Namespaces.ACCUMULO_NAMESPACE_ID))
http://git-wip-us.apache.org/repos/asf/accumulo/blob/2e9643dc/server/base/src/main/java/org/apache/accumulo/server/conf/TableConfiguration.java
----------------------------------------------------------------------
diff --git a/server/base/src/main/java/org/apache/accumulo/server/conf/TableConfiguration.java b/server/base/src/main/java/org/apache/accumulo/server/conf/TableConfiguration.java
index 259f2a2..915122b 100644
--- a/server/base/src/main/java/org/apache/accumulo/server/conf/TableConfiguration.java
+++ b/server/base/src/main/java/org/apache/accumulo/server/conf/TableConfiguration.java
@@ -30,6 +30,8 @@ import org.apache.accumulo.server.conf.ZooCachePropertyAccessor.PropCacheKey;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import com.google.common.base.Predicate;
+
public class TableConfiguration extends ObservableConfiguration {
private static final Logger log = LoggerFactory.getLogger(TableConfiguration.class);
@@ -98,7 +100,7 @@ public class TableConfiguration extends ObservableConfiguration {
}
@Override
- public void getProperties(Map<String,String> props, PropertyFilter filter) {
+ public void getProperties(Map<String,String> props, Predicate<String> filter) {
getPropCacheAccessor().getProperties(props, getPath(), filter, parent, null);
}
http://git-wip-us.apache.org/repos/asf/accumulo/blob/2e9643dc/server/base/src/main/java/org/apache/accumulo/server/conf/ZooCachePropertyAccessor.java
----------------------------------------------------------------------
diff --git a/server/base/src/main/java/org/apache/accumulo/server/conf/ZooCachePropertyAccessor.java b/server/base/src/main/java/org/apache/accumulo/server/conf/ZooCachePropertyAccessor.java
index bec30d2..79f9a59 100644
--- a/server/base/src/main/java/org/apache/accumulo/server/conf/ZooCachePropertyAccessor.java
+++ b/server/base/src/main/java/org/apache/accumulo/server/conf/ZooCachePropertyAccessor.java
@@ -22,12 +22,13 @@ import java.util.List;
import java.util.Map;
import org.apache.accumulo.core.conf.AccumuloConfiguration;
-import org.apache.accumulo.core.conf.AccumuloConfiguration.PropertyFilter;
import org.apache.accumulo.core.conf.Property;
import org.apache.accumulo.fate.zookeeper.ZooCache;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import com.google.common.base.Predicate;
+
/**
* A helper object for accessing properties in a {@link ZooCache}.
*/
@@ -136,13 +137,13 @@ public class ZooCachePropertyAccessor {
* @param parentFilter
* separate filter for parent properties (optional)
*/
- void getProperties(Map<String,String> props, String path, PropertyFilter filter, AccumuloConfiguration parent, PropertyFilter parentFilter) {
+ void getProperties(Map<String,String> props, String path, Predicate<String> filter, AccumuloConfiguration parent, Predicate<String> parentFilter) {
parent.getProperties(props, parentFilter != null ? parentFilter : filter);
List<String> children = propCache.getChildren(path);
if (children != null) {
for (String child : children) {
- if (child != null && filter.accept(child)) {
+ if (child != null && filter.apply(child)) {
String value = get(path + "/" + child);
if (value != null) {
props.put(child, value);
http://git-wip-us.apache.org/repos/asf/accumulo/blob/2e9643dc/server/base/src/main/java/org/apache/accumulo/server/conf/ZooConfiguration.java
----------------------------------------------------------------------
diff --git a/server/base/src/main/java/org/apache/accumulo/server/conf/ZooConfiguration.java b/server/base/src/main/java/org/apache/accumulo/server/conf/ZooConfiguration.java
index a53350b..f178ff1 100644
--- a/server/base/src/main/java/org/apache/accumulo/server/conf/ZooConfiguration.java
+++ b/server/base/src/main/java/org/apache/accumulo/server/conf/ZooConfiguration.java
@@ -31,6 +31,8 @@ import org.apache.accumulo.fate.zookeeper.ZooCache;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import com.google.common.base.Predicate;
+
public class ZooConfiguration extends AccumuloConfiguration {
private static final Logger log = LoggerFactory.getLogger(ZooConfiguration.class);
@@ -104,13 +106,13 @@ public class ZooConfiguration extends AccumuloConfiguration {
}
@Override
- public void getProperties(Map<String,String> props, PropertyFilter filter) {
+ public void getProperties(Map<String,String> props, Predicate<String> filter) {
parent.getProperties(props, filter);
List<String> children = propCache.getChildren(ZooUtil.getRoot(instanceId) + Constants.ZCONFIG);
if (children != null) {
for (String child : children) {
- if (child != null && filter.accept(child)) {
+ if (child != null && filter.apply(child)) {
String value = getRaw(child);
if (value != null)
props.put(child, value);
http://git-wip-us.apache.org/repos/asf/accumulo/blob/2e9643dc/server/base/src/main/java/org/apache/accumulo/server/fs/PreferredVolumeChooser.java
----------------------------------------------------------------------
diff --git a/server/base/src/main/java/org/apache/accumulo/server/fs/PreferredVolumeChooser.java b/server/base/src/main/java/org/apache/accumulo/server/fs/PreferredVolumeChooser.java
index 77026e6..04242a9 100644
--- a/server/base/src/main/java/org/apache/accumulo/server/fs/PreferredVolumeChooser.java
+++ b/server/base/src/main/java/org/apache/accumulo/server/fs/PreferredVolumeChooser.java
@@ -26,7 +26,6 @@ import java.util.HashSet;
import java.util.Map;
import java.util.Set;
-import org.apache.accumulo.core.conf.AccumuloConfiguration.PropertyFilter;
import org.apache.accumulo.core.conf.Property;
import org.apache.accumulo.core.volume.Volume;
import org.apache.accumulo.server.client.HdfsZooInstance;
@@ -37,6 +36,8 @@ import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import com.google.common.base.Predicate;
+
/**
* A {@link RandomVolumeChooser} that limits its choices from a given set of options to the subset of those options preferred for a particular table. Defaults
* to selecting from all of the options presented. Can be customized via the table property {@value #PREFERRED_VOLUMES_CUSTOM_KEY}, which should contain a comma
@@ -47,9 +48,9 @@ public class PreferredVolumeChooser extends RandomVolumeChooser implements Volum
public static final String PREFERRED_VOLUMES_CUSTOM_KEY = Property.TABLE_ARBITRARY_PROP_PREFIX.getKey() + "preferredVolumes";
// TODO ACCUMULO-3417 replace this with the ability to retrieve by String key.
- private static final PropertyFilter PREFERRED_VOLUMES_FILTER = new PropertyFilter() {
+ private static final Predicate<String> PREFERRED_VOLUMES_FILTER = new Predicate<String>() {
@Override
- public boolean accept(String key) {
+ public boolean apply(String key) {
return PREFERRED_VOLUMES_CUSTOM_KEY.equals(key);
}
};
http://git-wip-us.apache.org/repos/asf/accumulo/blob/2e9643dc/server/base/src/test/java/org/apache/accumulo/server/conf/NamespaceConfigurationTest.java
----------------------------------------------------------------------
diff --git a/server/base/src/test/java/org/apache/accumulo/server/conf/NamespaceConfigurationTest.java b/server/base/src/test/java/org/apache/accumulo/server/conf/NamespaceConfigurationTest.java
index 6bd6424..742ebb2 100644
--- a/server/base/src/test/java/org/apache/accumulo/server/conf/NamespaceConfigurationTest.java
+++ b/server/base/src/test/java/org/apache/accumulo/server/conf/NamespaceConfigurationTest.java
@@ -37,8 +37,6 @@ import org.apache.accumulo.core.Constants;
import org.apache.accumulo.core.client.Instance;
import org.apache.accumulo.core.client.impl.Namespaces;
import org.apache.accumulo.core.conf.AccumuloConfiguration;
-import org.apache.accumulo.core.conf.AccumuloConfiguration.AllFilter;
-import org.apache.accumulo.core.conf.AccumuloConfiguration.PropertyFilter;
import org.apache.accumulo.core.conf.ConfigurationObserver;
import org.apache.accumulo.core.conf.Property;
import org.apache.accumulo.core.zookeeper.ZooUtil;
@@ -47,6 +45,9 @@ import org.apache.accumulo.fate.zookeeper.ZooCacheFactory;
import org.junit.Before;
import org.junit.Test;
+import com.google.common.base.Predicate;
+import com.google.common.base.Predicates;
+
public class NamespaceConfigurationTest {
private static final String NSID = "namespace";
private static final String ZOOKEEPERS = "localhost";
@@ -116,9 +117,9 @@ public class NamespaceConfigurationTest {
@Test
public void testGetProperties() {
- PropertyFilter filter = new AllFilter();
+ Predicate<String> all = Predicates.alwaysTrue();
Map<String,String> props = new java.util.HashMap<String,String>();
- parent.getProperties(props, filter);
+ parent.getProperties(props, all);
replay(parent);
List<String> children = new java.util.ArrayList<String>();
children.add("foo");
@@ -127,7 +128,7 @@ public class NamespaceConfigurationTest {
expect(zc.get(ZooUtil.getRoot(iid) + Constants.ZNAMESPACES + "/" + NSID + Constants.ZNAMESPACE_CONF + "/" + "foo")).andReturn("bar".getBytes(UTF_8));
expect(zc.get(ZooUtil.getRoot(iid) + Constants.ZNAMESPACES + "/" + NSID + Constants.ZNAMESPACE_CONF + "/" + "ding")).andReturn("dong".getBytes(UTF_8));
replay(zc);
- c.getProperties(props, filter);
+ c.getProperties(props, all);
assertEquals(2, props.size());
assertEquals("bar", props.get("foo"));
assertEquals("dong", props.get("ding"));
http://git-wip-us.apache.org/repos/asf/accumulo/blob/2e9643dc/server/base/src/test/java/org/apache/accumulo/server/conf/TableConfigurationTest.java
----------------------------------------------------------------------
diff --git a/server/base/src/test/java/org/apache/accumulo/server/conf/TableConfigurationTest.java b/server/base/src/test/java/org/apache/accumulo/server/conf/TableConfigurationTest.java
index 68ee2b9..1eb933a 100644
--- a/server/base/src/test/java/org/apache/accumulo/server/conf/TableConfigurationTest.java
+++ b/server/base/src/test/java/org/apache/accumulo/server/conf/TableConfigurationTest.java
@@ -33,8 +33,6 @@ import java.util.UUID;
import org.apache.accumulo.core.Constants;
import org.apache.accumulo.core.client.Instance;
-import org.apache.accumulo.core.conf.AccumuloConfiguration.AllFilter;
-import org.apache.accumulo.core.conf.AccumuloConfiguration.PropertyFilter;
import org.apache.accumulo.core.conf.ConfigurationObserver;
import org.apache.accumulo.core.conf.Property;
import org.apache.accumulo.core.zookeeper.ZooUtil;
@@ -43,6 +41,9 @@ import org.apache.accumulo.fate.zookeeper.ZooCacheFactory;
import org.junit.Before;
import org.junit.Test;
+import com.google.common.base.Predicate;
+import com.google.common.base.Predicates;
+
public class TableConfigurationTest {
private static final String TID = "table";
private static final String ZOOKEEPERS = "localhost";
@@ -100,9 +101,9 @@ public class TableConfigurationTest {
@Test
public void testGetProperties() {
- PropertyFilter filter = new AllFilter();
+ Predicate<String> all = Predicates.alwaysTrue();
Map<String,String> props = new java.util.HashMap<String,String>();
- parent.getProperties(props, filter);
+ parent.getProperties(props, all);
replay(parent);
List<String> children = new java.util.ArrayList<String>();
children.add("foo");
@@ -111,7 +112,7 @@ public class TableConfigurationTest {
expect(zc.get(ZooUtil.getRoot(iid) + Constants.ZTABLES + "/" + TID + Constants.ZTABLE_CONF + "/" + "foo")).andReturn("bar".getBytes(UTF_8));
expect(zc.get(ZooUtil.getRoot(iid) + Constants.ZTABLES + "/" + TID + Constants.ZTABLE_CONF + "/" + "ding")).andReturn("dong".getBytes(UTF_8));
replay(zc);
- c.getProperties(props, filter);
+ c.getProperties(props, all);
assertEquals(2, props.size());
assertEquals("bar", props.get("foo"));
assertEquals("dong", props.get("ding"));
http://git-wip-us.apache.org/repos/asf/accumulo/blob/2e9643dc/server/base/src/test/java/org/apache/accumulo/server/conf/ZooCachePropertyAccessorTest.java
----------------------------------------------------------------------
diff --git a/server/base/src/test/java/org/apache/accumulo/server/conf/ZooCachePropertyAccessorTest.java b/server/base/src/test/java/org/apache/accumulo/server/conf/ZooCachePropertyAccessorTest.java
index 210d240..e90e921 100644
--- a/server/base/src/test/java/org/apache/accumulo/server/conf/ZooCachePropertyAccessorTest.java
+++ b/server/base/src/test/java/org/apache/accumulo/server/conf/ZooCachePropertyAccessorTest.java
@@ -29,12 +29,13 @@ import java.util.List;
import java.util.Map;
import org.apache.accumulo.core.conf.AccumuloConfiguration;
-import org.apache.accumulo.core.conf.AccumuloConfiguration.PropertyFilter;
import org.apache.accumulo.core.conf.Property;
import org.apache.accumulo.fate.zookeeper.ZooCache;
import org.junit.Before;
import org.junit.Test;
+import com.google.common.base.Predicate;
+
public class ZooCachePropertyAccessorTest {
private static final String PATH = "/root/path/to/props";
private static final Property PROP = Property.INSTANCE_SECRET;
@@ -106,7 +107,8 @@ public class ZooCachePropertyAccessorTest {
public void testGetProperties() {
Map<String,String> props = new java.util.HashMap<String,String>();
AccumuloConfiguration parent = createMock(AccumuloConfiguration.class);
- PropertyFilter filter = createMock(PropertyFilter.class);
+ @SuppressWarnings("unchecked")
+ Predicate<String> filter = createMock(Predicate.class);
parent.getProperties(props, filter);
replay(parent);
String child1 = "child1";
@@ -118,8 +120,8 @@ public class ZooCachePropertyAccessorTest {
expect(zc.get(PATH + "/" + child1)).andReturn(VALUE_BYTES);
expect(zc.get(PATH + "/" + child2)).andReturn(null);
replay(zc);
- expect(filter.accept(child1)).andReturn(true);
- expect(filter.accept(child2)).andReturn(true);
+ expect(filter.apply(child1)).andReturn(true);
+ expect(filter.apply(child2)).andReturn(true);
replay(filter);
a.getProperties(props, PATH, filter, parent, null);
@@ -132,7 +134,8 @@ public class ZooCachePropertyAccessorTest {
public void testGetProperties_NoChildren() {
Map<String,String> props = new java.util.HashMap<String,String>();
AccumuloConfiguration parent = createMock(AccumuloConfiguration.class);
- PropertyFilter filter = createMock(PropertyFilter.class);
+ @SuppressWarnings("unchecked")
+ Predicate<String> filter = createMock(Predicate.class);
parent.getProperties(props, filter);
replay(parent);
expect(zc.getChildren(PATH)).andReturn(null);
@@ -146,7 +149,8 @@ public class ZooCachePropertyAccessorTest {
public void testGetProperties_Filter() {
Map<String,String> props = new java.util.HashMap<String,String>();
AccumuloConfiguration parent = createMock(AccumuloConfiguration.class);
- PropertyFilter filter = createMock(PropertyFilter.class);
+ @SuppressWarnings("unchecked")
+ Predicate<String> filter = createMock(Predicate.class);
parent.getProperties(props, filter);
replay(parent);
String child1 = "child1";
@@ -154,7 +158,7 @@ public class ZooCachePropertyAccessorTest {
children.add(child1);
expect(zc.getChildren(PATH)).andReturn(children);
replay(zc);
- expect(filter.accept(child1)).andReturn(false);
+ expect(filter.apply(child1)).andReturn(false);
replay(filter);
a.getProperties(props, PATH, filter, parent, null);
@@ -165,8 +169,10 @@ public class ZooCachePropertyAccessorTest {
public void testGetProperties_ParentFilter() {
Map<String,String> props = new java.util.HashMap<String,String>();
AccumuloConfiguration parent = createMock(AccumuloConfiguration.class);
- PropertyFilter filter = createMock(PropertyFilter.class);
- PropertyFilter parentFilter = createMock(PropertyFilter.class);
+ @SuppressWarnings("unchecked")
+ Predicate<String> filter = createMock(Predicate.class);
+ @SuppressWarnings("unchecked")
+ Predicate<String> parentFilter = createMock(Predicate.class);
parent.getProperties(props, parentFilter);
replay(parent);
expect(zc.getChildren(PATH)).andReturn(null);
http://git-wip-us.apache.org/repos/asf/accumulo/blob/2e9643dc/server/base/src/test/java/org/apache/accumulo/server/util/FileUtilTest.java
----------------------------------------------------------------------
diff --git a/server/base/src/test/java/org/apache/accumulo/server/util/FileUtilTest.java b/server/base/src/test/java/org/apache/accumulo/server/util/FileUtilTest.java
index 5fe35f9..7bded1a 100644
--- a/server/base/src/test/java/org/apache/accumulo/server/util/FileUtilTest.java
+++ b/server/base/src/test/java/org/apache/accumulo/server/util/FileUtilTest.java
@@ -44,6 +44,8 @@ import org.junit.Test;
import org.junit.rules.TemporaryFolder;
import org.junit.rules.TestName;
+import com.google.common.base.Predicate;
+
/**
*
*/
@@ -238,7 +240,7 @@ public class FileUtilTest {
}
@Override
- public void getProperties(Map<String,String> props, PropertyFilter filter) {
+ public void getProperties(Map<String,String> props, Predicate<String> filter) {
throw new UnsupportedOperationException();
}
}
http://git-wip-us.apache.org/repos/asf/accumulo/blob/2e9643dc/test/src/test/java/org/apache/accumulo/test/util/CertUtils.java
----------------------------------------------------------------------
diff --git a/test/src/test/java/org/apache/accumulo/test/util/CertUtils.java b/test/src/test/java/org/apache/accumulo/test/util/CertUtils.java
index 3bbd737..2345ea7 100644
--- a/test/src/test/java/org/apache/accumulo/test/util/CertUtils.java
+++ b/test/src/test/java/org/apache/accumulo/test/util/CertUtils.java
@@ -70,6 +70,7 @@ import org.slf4j.LoggerFactory;
import com.beust.jcommander.JCommander;
import com.beust.jcommander.Parameter;
+import com.google.common.base.Predicate;
public class CertUtils {
private static final Logger log = LoggerFactory.getLogger(CertUtils.class);
@@ -151,9 +152,9 @@ public class CertUtils {
}
@Override
- public void getProperties(Map<String,String> props, PropertyFilter filter) {
+ public void getProperties(Map<String,String> props, Predicate<String> filter) {
for (Entry<String,String> entry : this)
- if (filter.accept(entry.getKey()))
+ if (filter.apply(entry.getKey()))
props.put(entry.getKey(), entry.getValue());
}
};
[2/2] accumulo git commit: Merge remote-tracking branch
'github/ACCUMULO-3714'
Posted by ct...@apache.org.
Merge remote-tracking branch 'github/ACCUMULO-3714'
Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo
Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/8fbf2dce
Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/8fbf2dce
Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/8fbf2dce
Branch: refs/heads/master
Commit: 8fbf2dce0d8c1d96158f39ae5090e2b962c80fdc
Parents: 8fae3f8 2e9643d
Author: Christopher Tubbs <ct...@apache.org>
Authored: Thu Apr 9 14:13:03 2015 -0400
Committer: Christopher Tubbs <ct...@apache.org>
Committed: Thu Apr 9 14:13:03 2015 -0400
----------------------------------------------------------------------
.../apache/accumulo/core/cli/ClientOpts.java | 7 +++--
.../core/client/impl/ClientContext.java | 10 +++---
.../core/client/mock/MockConfiguration.java | 23 ++++++++++++--
.../core/conf/AccumuloConfiguration.java | 32 +++++++++-----------
.../accumulo/core/conf/ConfigurationCopy.java | 6 ++--
.../core/conf/DefaultConfiguration.java | 6 ++--
.../accumulo/core/conf/SiteConfiguration.java | 7 +++--
.../core/client/impl/ClientContextTest.java | 7 +++--
.../core/conf/DefaultConfigurationTest.java | 7 +++--
.../core/conf/ObservableConfigurationTest.java | 4 ++-
.../core/conf/SiteConfigurationTest.java | 7 +++--
.../server/conf/NamespaceConfiguration.java | 16 +++++-----
.../server/conf/TableConfiguration.java | 4 ++-
.../server/conf/ZooCachePropertyAccessor.java | 7 +++--
.../accumulo/server/conf/ZooConfiguration.java | 6 ++--
.../server/fs/PreferredVolumeChooser.java | 7 +++--
.../server/conf/NamespaceConfigurationTest.java | 11 ++++---
.../server/conf/TableConfigurationTest.java | 11 ++++---
.../conf/ZooCachePropertyAccessorTest.java | 24 +++++++++------
.../accumulo/server/util/FileUtilTest.java | 4 ++-
.../apache/accumulo/test/util/CertUtils.java | 5 +--
21 files changed, 132 insertions(+), 79 deletions(-)
----------------------------------------------------------------------