You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@curator.apache.org by ra...@apache.org on 2015/01/12 22:03:47 UTC
[3/3] curator git commit: Use Guava
Use Guava
Project: http://git-wip-us.apache.org/repos/asf/curator/repo
Commit: http://git-wip-us.apache.org/repos/asf/curator/commit/7fc3e650
Tree: http://git-wip-us.apache.org/repos/asf/curator/tree/7fc3e650
Diff: http://git-wip-us.apache.org/repos/asf/curator/diff/7fc3e650
Branch: refs/heads/CURATOR-111
Commit: 7fc3e6507d5bcbb16c696906bed529c23df88e34
Parents: 58ecd64
Author: randgalt <ra...@apache.org>
Authored: Mon Jan 12 16:03:35 2015 -0500
Committer: randgalt <ra...@apache.org>
Committed: Mon Jan 12 16:03:35 2015 -0500
----------------------------------------------------------------------
.../framework/CuratorFrameworkFactory.java | 73 +++++++++----------
.../framework/imps/CuratorFrameworkImpl.java | 77 ++++++++++----------
2 files changed, 76 insertions(+), 74 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/curator/blob/7fc3e650/curator-framework/src/main/java/org/apache/curator/framework/CuratorFrameworkFactory.java
----------------------------------------------------------------------
diff --git a/curator-framework/src/main/java/org/apache/curator/framework/CuratorFrameworkFactory.java b/curator-framework/src/main/java/org/apache/curator/framework/CuratorFrameworkFactory.java
index 38fe911..ae26f2c 100644
--- a/curator-framework/src/main/java/org/apache/curator/framework/CuratorFrameworkFactory.java
+++ b/curator-framework/src/main/java/org/apache/curator/framework/CuratorFrameworkFactory.java
@@ -16,8 +16,10 @@
* specific language governing permissions and limitations
* under the License.
*/
+
package org.apache.curator.framework;
+import com.google.common.collect.ImmutableList;
import org.apache.curator.RetryPolicy;
import org.apache.curator.ensemble.EnsembleProvider;
import org.apache.curator.ensemble.fixed.FixedEnsembleProvider;
@@ -34,7 +36,6 @@ import org.apache.zookeeper.Watcher;
import org.apache.zookeeper.ZooKeeper;
import java.net.InetAddress;
import java.net.UnknownHostException;
-import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.concurrent.ThreadFactory;
@@ -45,23 +46,23 @@ import java.util.concurrent.TimeUnit;
*/
public class CuratorFrameworkFactory
{
- private static final int DEFAULT_SESSION_TIMEOUT_MS = Integer.getInteger("curator-default-session-timeout", 60 * 1000);
- private static final int DEFAULT_CONNECTION_TIMEOUT_MS = Integer.getInteger("curator-default-connection-timeout", 15 * 1000);
+ private static final int DEFAULT_SESSION_TIMEOUT_MS = Integer.getInteger("curator-default-session-timeout", 60 * 1000);
+ private static final int DEFAULT_CONNECTION_TIMEOUT_MS = Integer.getInteger("curator-default-connection-timeout", 15 * 1000);
- private static final byte[] LOCAL_ADDRESS = getLocalAddress();
+ private static final byte[] LOCAL_ADDRESS = getLocalAddress();
- private static final CompressionProvider DEFAULT_COMPRESSION_PROVIDER = new GzipCompressionProvider();
- private static final DefaultZookeeperFactory DEFAULT_ZOOKEEPER_FACTORY = new DefaultZookeeperFactory();
- private static final DefaultACLProvider DEFAULT_ACL_PROVIDER = new DefaultACLProvider();
- private static final long DEFAULT_INACTIVE_THRESHOLD_MS = (int)TimeUnit.MINUTES.toMillis(3);
- private static final int DEFAULT_CLOSE_WAIT_MS = (int)TimeUnit.SECONDS.toMillis(1);
+ private static final CompressionProvider DEFAULT_COMPRESSION_PROVIDER = new GzipCompressionProvider();
+ private static final DefaultZookeeperFactory DEFAULT_ZOOKEEPER_FACTORY = new DefaultZookeeperFactory();
+ private static final DefaultACLProvider DEFAULT_ACL_PROVIDER = new DefaultACLProvider();
+ private static final long DEFAULT_INACTIVE_THRESHOLD_MS = (int)TimeUnit.MINUTES.toMillis(3);
+ private static final int DEFAULT_CLOSE_WAIT_MS = (int)TimeUnit.SECONDS.toMillis(1);
/**
* Return a new builder that builds a CuratorFramework
*
* @return new builder
*/
- public static Builder builder()
+ public static Builder builder()
{
return new Builder();
}
@@ -69,9 +70,8 @@ public class CuratorFrameworkFactory
/**
* Create a new client with default session timeout and default connection timeout
*
- *
* @param connectString list of servers to connect to
- * @param retryPolicy retry policy to use
+ * @param retryPolicy retry policy to use
* @return client
*/
public static CuratorFramework newClient(String connectString, RetryPolicy retryPolicy)
@@ -82,11 +82,10 @@ public class CuratorFrameworkFactory
/**
* Create a new client
*
- *
- * @param connectString list of servers to connect to
- * @param sessionTimeoutMs session timeout
+ * @param connectString list of servers to connect to
+ * @param sessionTimeoutMs session timeout
* @param connectionTimeoutMs connection timeout
- * @param retryPolicy retry policy to use
+ * @param retryPolicy retry policy to use
* @return client
*/
public static CuratorFramework newClient(String connectString, int sessionTimeoutMs, int connectionTimeoutMs, RetryPolicy retryPolicy)
@@ -101,21 +100,21 @@ public class CuratorFrameworkFactory
public static class Builder
{
- private EnsembleProvider ensembleProvider;
- private int sessionTimeoutMs = DEFAULT_SESSION_TIMEOUT_MS;
- private int connectionTimeoutMs = DEFAULT_CONNECTION_TIMEOUT_MS;
- private int maxCloseWaitMs = DEFAULT_CLOSE_WAIT_MS;
- private RetryPolicy retryPolicy;
- private ThreadFactory threadFactory = null;
- private String namespace;
- private String authScheme = null;
- private byte[] authValue = null;
- private List<AuthInfo> authInfos = null;
- private byte[] defaultData = LOCAL_ADDRESS;
+ private EnsembleProvider ensembleProvider;
+ private int sessionTimeoutMs = DEFAULT_SESSION_TIMEOUT_MS;
+ private int connectionTimeoutMs = DEFAULT_CONNECTION_TIMEOUT_MS;
+ private int maxCloseWaitMs = DEFAULT_CLOSE_WAIT_MS;
+ private RetryPolicy retryPolicy;
+ private ThreadFactory threadFactory = null;
+ private String namespace;
+ private String authScheme = null;
+ private byte[] authValue = null;
+ private List<AuthInfo> authInfos = null;
+ private byte[] defaultData = LOCAL_ADDRESS;
private CompressionProvider compressionProvider = DEFAULT_COMPRESSION_PROVIDER;
- private ZookeeperFactory zookeeperFactory = DEFAULT_ZOOKEEPER_FACTORY;
- private ACLProvider aclProvider = DEFAULT_ACL_PROVIDER;
- private boolean canBeReadOnly = false;
+ private ZookeeperFactory zookeeperFactory = DEFAULT_ZOOKEEPER_FACTORY;
+ private ACLProvider aclProvider = DEFAULT_ACL_PROVIDER;
+ private boolean canBeReadOnly = false;
/**
* Apply the current values and build a new CuratorFramework
@@ -147,7 +146,7 @@ public class CuratorFrameworkFactory
* are limited. Further, the connection will be closed after <code>inactiveThresholdMs</code> milliseconds of inactivity.
*
* @param inactiveThreshold number of milliseconds of inactivity to cause connection close
- * @param unit threshold unit
+ * @param unit threshold unit
* @return temp instance
*/
public CuratorTempFramework buildTemp(long inactiveThreshold, TimeUnit unit)
@@ -159,10 +158,10 @@ public class CuratorFrameworkFactory
* Add connection authorization
*
* @param scheme the scheme
- * @param auth the auth bytes
+ * @param auth the auth bytes
* @return this
*/
- public Builder authorization(String scheme, byte[] auth)
+ public Builder authorization(String scheme, byte[] auth)
{
this.authScheme = scheme;
this.authValue = (auth != null) ? Arrays.copyOf(auth, auth.length) : null;
@@ -172,15 +171,15 @@ public class CuratorFrameworkFactory
/**
* Add connection authorization. The supplied authInfos are appended to those added via call to
* {@link #authorization(java.lang.String, byte[])} for backward compatibility.
- *
+ * <p/>
* Subsequent calls to this method overwrite the prior calls.
*
* @param authInfos list of {@link AuthInfo} objects with scheme and auth
* @return this
*/
- public Builder authorization(List<AuthInfo> authInfos) {
- this.authInfos = new ArrayList<AuthInfo>(authInfos.size());
- this.authInfos.addAll(authInfos);
+ public Builder authorization(List<AuthInfo> authInfos)
+ {
+ this.authInfos = ImmutableList.copyOf(authInfos);
return this;
}
http://git-wip-us.apache.org/repos/asf/curator/blob/7fc3e650/curator-framework/src/main/java/org/apache/curator/framework/imps/CuratorFrameworkImpl.java
----------------------------------------------------------------------
diff --git a/curator-framework/src/main/java/org/apache/curator/framework/imps/CuratorFrameworkImpl.java b/curator-framework/src/main/java/org/apache/curator/framework/imps/CuratorFrameworkImpl.java
index c38617d..e8785be 100644
--- a/curator-framework/src/main/java/org/apache/curator/framework/imps/CuratorFrameworkImpl.java
+++ b/curator-framework/src/main/java/org/apache/curator/framework/imps/CuratorFrameworkImpl.java
@@ -22,7 +22,7 @@ package org.apache.curator.framework.imps;
import com.google.common.annotations.VisibleForTesting;
import com.google.common.base.Function;
import com.google.common.base.Preconditions;
-
+import com.google.common.collect.ImmutableList;
import org.apache.curator.CuratorConnectionLossException;
import org.apache.curator.CuratorZookeeperClient;
import org.apache.curator.RetryLoop;
@@ -47,8 +47,6 @@ import org.apache.zookeeper.Watcher;
import org.apache.zookeeper.ZooKeeper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-
-import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.concurrent.BlockingQueue;
@@ -122,19 +120,24 @@ public class CuratorFrameworkImpl implements CuratorFramework
byte[] builderDefaultData = builder.getDefaultData();
defaultData = (builderDefaultData != null) ? Arrays.copyOf(builderDefaultData, builderDefaultData.length) : new byte[0];
+ authInfos = buildAuths(builder);
- authInfos = new ArrayList<AuthInfo>();
+ failedDeleteManager = new FailedDeleteManager(this);
+ namespaceFacadeCache = new NamespaceFacadeCache(this);
+ }
+
+ private List<AuthInfo> buildAuths(CuratorFrameworkFactory.Builder builder)
+ {
+ ImmutableList.Builder<AuthInfo> builder1 = ImmutableList.builder();
if ( builder.getAuthScheme() != null )
{
- authInfos.add(new AuthInfo(builder.getAuthScheme(), builder.getAuthValue()));
+ builder1.add(new AuthInfo(builder.getAuthScheme(), builder.getAuthValue()));
}
if ( builder.getAuthInfos() != null )
{
- authInfos.addAll(builder.getAuthInfos());
+ builder1.addAll(builder.getAuthInfos());
}
-
- failedDeleteManager = new FailedDeleteManager(this);
- namespaceFacadeCache = new NamespaceFacadeCache(this);
+ return builder1.build();
}
private ZookeeperFactory makeZookeeperFactory(final ZookeeperFactory actualZookeeperFactory)
@@ -145,7 +148,7 @@ public class CuratorFrameworkImpl implements CuratorFramework
public ZooKeeper newZooKeeper(String connectString, int sessionTimeout, Watcher watcher, boolean canBeReadOnly) throws Exception
{
ZooKeeper zooKeeper = actualZookeeperFactory.newZooKeeper(connectString, sessionTimeout, watcher, canBeReadOnly);
- for (AuthInfo auth : authInfos)
+ for ( AuthInfo auth : authInfos )
{
zooKeeper.addAuthInfo(auth.getScheme(), auth.getAuth());
}
@@ -251,14 +254,14 @@ public class CuratorFrameworkImpl implements CuratorFramework
executorService = Executors.newFixedThreadPool(2, threadFactory); // 1 for listeners, 1 for background ops
executorService.submit(new Callable<Object>()
+ {
+ @Override
+ public Object call() throws Exception
{
- @Override
- public Object call() throws Exception
- {
- backgroundOperationsLoop();
- return null;
- }
- });
+ backgroundOperationsLoop();
+ return null;
+ }
+ });
}
catch ( Exception e )
{
@@ -273,22 +276,22 @@ public class CuratorFrameworkImpl implements CuratorFramework
if ( state.compareAndSet(CuratorFrameworkState.STARTED, CuratorFrameworkState.STOPPED) )
{
listeners.forEach(new Function<CuratorListener, Void>()
+ {
+ @Override
+ public Void apply(CuratorListener listener)
{
- @Override
- public Void apply(CuratorListener listener)
+ CuratorEvent event = new CuratorEventImpl(CuratorFrameworkImpl.this, CuratorEventType.CLOSING, 0, null, null, null, null, null, null, null, null);
+ try
{
- CuratorEvent event = new CuratorEventImpl(CuratorFrameworkImpl.this, CuratorEventType.CLOSING, 0, null, null, null, null, null, null, null, null);
- try
- {
- listener.eventReceived(CuratorFrameworkImpl.this, event);
- }
- catch ( Exception e )
- {
- log.error("Exception while sending Closing event", e);
- }
- return null;
+ listener.eventReceived(CuratorFrameworkImpl.this, event);
}
- });
+ catch ( Exception e )
+ {
+ log.error("Exception while sending Closing event", e);
+ }
+ return null;
+ }
+ });
if ( executorService != null )
{
@@ -550,14 +553,14 @@ public class CuratorFrameworkImpl implements CuratorFramework
final String localReason = reason;
unhandledErrorListeners.forEach(new Function<UnhandledErrorListener, Void>()
+ {
+ @Override
+ public Void apply(UnhandledErrorListener listener)
{
- @Override
- public Void apply(UnhandledErrorListener listener)
- {
- listener.unhandledError(localReason, e);
- return null;
- }
- });
+ listener.unhandledError(localReason, e);
+ return null;
+ }
+ });
if ( debugUnhandledErrorListener != null )
{