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 2013/06/11 21:33:54 UTC

svn commit: r1491920 - in /accumulo/branches/ACCUMULO-1496: ./ api/ assemble/ bin/ core/src/main/java/org/apache/accumulo/core/file/rfile/ core/src/main/java/org/apache/accumulo/core/util/ core/src/main/java/org/apache/accumulo/core/util/shell/ miniclu...

Author: ctubbsii
Date: Tue Jun 11 19:33:53 2013
New Revision: 1491920

URL: http://svn.apache.org/r1491920
Log:
ACCUMULO-1496 slightly more optimized version using scannotation

Added:
    accumulo/branches/ACCUMULO-1496/start/src/main/java/org/apache/accumulo/start/annotations/
    accumulo/branches/ACCUMULO-1496/start/src/main/java/org/apache/accumulo/start/annotations/AccumuloService.java
      - copied, changed from r1491869, accumulo/branches/ACCUMULO-1496/api/src/main/java/org/apache/accumulo/api/annotations/AccumuloService.java
Removed:
    accumulo/branches/ACCUMULO-1496/api/
Modified:
    accumulo/branches/ACCUMULO-1496/assemble/pom.xml
    accumulo/branches/ACCUMULO-1496/bin/accumulo
    accumulo/branches/ACCUMULO-1496/core/src/main/java/org/apache/accumulo/core/file/rfile/PrintInfo.java
    accumulo/branches/ACCUMULO-1496/core/src/main/java/org/apache/accumulo/core/util/CreateToken.java
    accumulo/branches/ACCUMULO-1496/core/src/main/java/org/apache/accumulo/core/util/shell/Shell.java
    accumulo/branches/ACCUMULO-1496/minicluster/src/main/java/org/apache/accumulo/minicluster/MiniAccumuloRunner.java
    accumulo/branches/ACCUMULO-1496/pom.xml
    accumulo/branches/ACCUMULO-1496/proxy/src/main/java/org/apache/accumulo/proxy/Proxy.java
    accumulo/branches/ACCUMULO-1496/server/src/main/java/org/apache/accumulo/server/gc/SimpleGarbageCollector.java
    accumulo/branches/ACCUMULO-1496/server/src/main/java/org/apache/accumulo/server/master/Master.java
    accumulo/branches/ACCUMULO-1496/server/src/main/java/org/apache/accumulo/server/monitor/Monitor.java
    accumulo/branches/ACCUMULO-1496/server/src/main/java/org/apache/accumulo/server/tabletserver/TabletServer.java
    accumulo/branches/ACCUMULO-1496/server/src/main/java/org/apache/accumulo/server/trace/TraceServer.java
    accumulo/branches/ACCUMULO-1496/server/src/main/java/org/apache/accumulo/server/util/Admin.java
    accumulo/branches/ACCUMULO-1496/server/src/main/java/org/apache/accumulo/server/util/Initialize.java
    accumulo/branches/ACCUMULO-1496/server/src/main/java/org/apache/accumulo/server/util/ZooKeeperMain.java
    accumulo/branches/ACCUMULO-1496/start/pom.xml
    accumulo/branches/ACCUMULO-1496/start/src/main/java/org/apache/accumulo/start/Main.java
    accumulo/branches/ACCUMULO-1496/start/src/main/java/org/apache/accumulo/start/classloader/vfs/AccumuloVFSClassLoader.java

Modified: accumulo/branches/ACCUMULO-1496/assemble/pom.xml
URL: http://svn.apache.org/viewvc/accumulo/branches/ACCUMULO-1496/assemble/pom.xml?rev=1491920&r1=1491919&r2=1491920&view=diff
==============================================================================
--- accumulo/branches/ACCUMULO-1496/assemble/pom.xml (original)
+++ accumulo/branches/ACCUMULO-1496/assemble/pom.xml Tue Jun 11 19:33:53 2013
@@ -52,10 +52,6 @@
     </dependency>
     <dependency>
       <groupId>org.apache.accumulo</groupId>
-      <artifactId>accumulo-api</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.accumulo</groupId>
       <artifactId>accumulo-core</artifactId>
     </dependency>
     <dependency>

Modified: accumulo/branches/ACCUMULO-1496/bin/accumulo
URL: http://svn.apache.org/viewvc/accumulo/branches/ACCUMULO-1496/bin/accumulo?rev=1491920&r1=1491919&r2=1491920&view=diff
==============================================================================
--- accumulo/branches/ACCUMULO-1496/bin/accumulo (original)
+++ accumulo/branches/ACCUMULO-1496/bin/accumulo Tue Jun 11 19:33:53 2013
@@ -29,9 +29,7 @@ script=$( basename "$SOURCE" )
 . "$bin"/config.sh
 
 START_JAR=$ACCUMULO_HOME/lib/accumulo-start.jar
-API_JAR=$ACCUMULO_HOME/lib/accumulo-api.jar
-SCANNOTATION_JAR=$ACCUMULO_HOME/lib/scannotation.jar
-JAVASSIST_JAR=$ACCUMULO_HOME/lib/javassist.jar
+SCANNOTATION_JARS=$ACCUMULO_HOME/lib/scannotation.jar:$ACCUMULO_HOME/lib/javassist.jar
 
 #
 # Resolve a program to its installation directory
@@ -84,7 +82,7 @@ esac
 
 XML_FILES=${ACCUMULO_HOME}/conf
 LOG4J_JAR=$(find $HADOOP_PREFIX/lib $HADOOP_PREFIX/share/hadoop/common/lib -name 'log4j*.jar' -print 2>/dev/null | head -1)
-CLASSPATH=${XML_FILES}:${API_JAR}:${JAVASSIST_JAR}:${SCANNOTATION_JAR}:${START_JAR}:${LOG4J_JAR}
+CLASSPATH=${XML_FILES}:${SCANNOTATION_JARS}:${START_JAR}:${LOG4J_JAR}
 
 if [ -z "$JAVA_HOME" -o ! -d "$JAVA_HOME" ]; then
    echo "JAVA_HOME is not set or is not a directory.  Please make sure it's set globally or in conf/accumulo-env.sh"

Modified: accumulo/branches/ACCUMULO-1496/core/src/main/java/org/apache/accumulo/core/file/rfile/PrintInfo.java
URL: http://svn.apache.org/viewvc/accumulo/branches/ACCUMULO-1496/core/src/main/java/org/apache/accumulo/core/file/rfile/PrintInfo.java?rev=1491920&r1=1491919&r2=1491920&view=diff
==============================================================================
--- accumulo/branches/ACCUMULO-1496/core/src/main/java/org/apache/accumulo/core/file/rfile/PrintInfo.java (original)
+++ accumulo/branches/ACCUMULO-1496/core/src/main/java/org/apache/accumulo/core/file/rfile/PrintInfo.java Tue Jun 11 19:33:53 2013
@@ -19,7 +19,6 @@ package org.apache.accumulo.core.file.rf
 import java.util.ArrayList;
 import java.util.List;
 
-import org.apache.accumulo.api.annotations.AccumuloService;
 import org.apache.accumulo.core.cli.Help;
 import org.apache.accumulo.core.conf.AccumuloConfiguration;
 import org.apache.accumulo.core.data.ByteSequence;
@@ -29,6 +28,7 @@ import org.apache.accumulo.core.data.Val
 import org.apache.accumulo.core.file.FileUtil;
 import org.apache.accumulo.core.file.blockfile.impl.CachableBlockFile;
 import org.apache.accumulo.core.file.rfile.RFile.Reader;
+import org.apache.accumulo.start.annotations.AccumuloService;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.fs.FileSystem;
 import org.apache.hadoop.fs.Path;

Modified: accumulo/branches/ACCUMULO-1496/core/src/main/java/org/apache/accumulo/core/util/CreateToken.java
URL: http://svn.apache.org/viewvc/accumulo/branches/ACCUMULO-1496/core/src/main/java/org/apache/accumulo/core/util/CreateToken.java?rev=1491920&r1=1491919&r2=1491920&view=diff
==============================================================================
--- accumulo/branches/ACCUMULO-1496/core/src/main/java/org/apache/accumulo/core/util/CreateToken.java (original)
+++ accumulo/branches/ACCUMULO-1496/core/src/main/java/org/apache/accumulo/core/util/CreateToken.java Tue Jun 11 19:33:53 2013
@@ -23,7 +23,6 @@ import java.io.PrintStream;
 
 import jline.console.ConsoleReader;
 
-import org.apache.accumulo.api.annotations.AccumuloService;
 import org.apache.accumulo.core.Constants;
 import org.apache.accumulo.core.cli.ClientOpts.Password;
 import org.apache.accumulo.core.cli.ClientOpts.PasswordConverter;
@@ -33,6 +32,7 @@ import org.apache.accumulo.core.client.s
 import org.apache.accumulo.core.client.security.tokens.AuthenticationToken.TokenProperty;
 import org.apache.accumulo.core.client.security.tokens.PasswordToken;
 import org.apache.accumulo.core.security.CredentialHelper;
+import org.apache.accumulo.start.annotations.AccumuloService;
 
 import com.beust.jcommander.Parameter;
 

Modified: accumulo/branches/ACCUMULO-1496/core/src/main/java/org/apache/accumulo/core/util/shell/Shell.java
URL: http://svn.apache.org/viewvc/accumulo/branches/ACCUMULO-1496/core/src/main/java/org/apache/accumulo/core/util/shell/Shell.java?rev=1491920&r1=1491919&r2=1491920&view=diff
==============================================================================
--- accumulo/branches/ACCUMULO-1496/core/src/main/java/org/apache/accumulo/core/util/shell/Shell.java (original)
+++ accumulo/branches/ACCUMULO-1496/core/src/main/java/org/apache/accumulo/core/util/shell/Shell.java Tue Jun 11 19:33:53 2013
@@ -37,7 +37,6 @@ import java.util.UUID;
 import jline.console.ConsoleReader;
 import jline.console.history.FileHistory;
 
-import org.apache.accumulo.api.annotations.AccumuloService;
 import org.apache.accumulo.core.Constants;
 import org.apache.accumulo.core.client.AccumuloException;
 import org.apache.accumulo.core.client.AccumuloSecurityException;
@@ -142,6 +141,7 @@ import org.apache.accumulo.core.util.she
 import org.apache.accumulo.core.util.shell.commands.UsersCommand;
 import org.apache.accumulo.core.util.shell.commands.WhoAmICommand;
 import org.apache.accumulo.fate.zookeeper.ZooReader;
+import org.apache.accumulo.start.annotations.AccumuloService;
 import org.apache.commons.cli.BasicParser;
 import org.apache.commons.cli.CommandLine;
 import org.apache.commons.cli.HelpFormatter;

Modified: accumulo/branches/ACCUMULO-1496/minicluster/src/main/java/org/apache/accumulo/minicluster/MiniAccumuloRunner.java
URL: http://svn.apache.org/viewvc/accumulo/branches/ACCUMULO-1496/minicluster/src/main/java/org/apache/accumulo/minicluster/MiniAccumuloRunner.java?rev=1491920&r1=1491919&r2=1491920&view=diff
==============================================================================
--- accumulo/branches/ACCUMULO-1496/minicluster/src/main/java/org/apache/accumulo/minicluster/MiniAccumuloRunner.java (original)
+++ accumulo/branches/ACCUMULO-1496/minicluster/src/main/java/org/apache/accumulo/minicluster/MiniAccumuloRunner.java Tue Jun 11 19:33:53 2013
@@ -27,9 +27,9 @@ import java.util.Map;
 import java.util.Properties;
 import java.util.regex.Pattern;
 
-import org.apache.accumulo.api.annotations.AccumuloService;
 import org.apache.accumulo.core.cli.Help;
 import org.apache.accumulo.core.util.Pair;
+import org.apache.accumulo.start.annotations.AccumuloService;
 import org.apache.commons.io.FileUtils;
 
 import com.beust.jcommander.IStringConverter;

Modified: accumulo/branches/ACCUMULO-1496/pom.xml
URL: http://svn.apache.org/viewvc/accumulo/branches/ACCUMULO-1496/pom.xml?rev=1491920&r1=1491919&r2=1491920&view=diff
==============================================================================
--- accumulo/branches/ACCUMULO-1496/pom.xml (original)
+++ accumulo/branches/ACCUMULO-1496/pom.xml Tue Jun 11 19:33:53 2013
@@ -72,7 +72,6 @@
     <maven>${maven.min-version}</maven>
   </prerequisites>
   <modules>
-    <module>api</module>
     <module>trace</module>
     <module>core</module>
     <module>fate</module>
@@ -212,11 +211,6 @@
       </dependency>
       <dependency>
         <groupId>org.apache.accumulo</groupId>
-        <artifactId>accumulo-api</artifactId>
-        <version>${project.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.apache.accumulo</groupId>
         <artifactId>accumulo-core</artifactId>
         <version>${project.version}</version>
       </dependency>

Modified: accumulo/branches/ACCUMULO-1496/proxy/src/main/java/org/apache/accumulo/proxy/Proxy.java
URL: http://svn.apache.org/viewvc/accumulo/branches/ACCUMULO-1496/proxy/src/main/java/org/apache/accumulo/proxy/Proxy.java?rev=1491920&r1=1491919&r2=1491920&view=diff
==============================================================================
--- accumulo/branches/ACCUMULO-1496/proxy/src/main/java/org/apache/accumulo/proxy/Proxy.java (original)
+++ accumulo/branches/ACCUMULO-1496/proxy/src/main/java/org/apache/accumulo/proxy/Proxy.java Tue Jun 11 19:33:53 2013
@@ -23,11 +23,11 @@ import java.io.InputStream;
 import java.lang.reflect.Constructor;
 import java.util.Properties;
 
-import org.apache.accumulo.api.annotations.AccumuloService;
 import org.apache.accumulo.core.cli.Help;
 import org.apache.accumulo.core.conf.AccumuloConfiguration;
 import org.apache.accumulo.minicluster.MiniAccumuloCluster;
 import org.apache.accumulo.proxy.thrift.AccumuloProxy;
+import org.apache.accumulo.start.annotations.AccumuloService;
 import org.apache.log4j.Logger;
 import org.apache.thrift.TProcessor;
 import org.apache.thrift.protocol.TCompactProtocol;

Modified: accumulo/branches/ACCUMULO-1496/server/src/main/java/org/apache/accumulo/server/gc/SimpleGarbageCollector.java
URL: http://svn.apache.org/viewvc/accumulo/branches/ACCUMULO-1496/server/src/main/java/org/apache/accumulo/server/gc/SimpleGarbageCollector.java?rev=1491920&r1=1491919&r2=1491920&view=diff
==============================================================================
--- accumulo/branches/ACCUMULO-1496/server/src/main/java/org/apache/accumulo/server/gc/SimpleGarbageCollector.java (original)
+++ accumulo/branches/ACCUMULO-1496/server/src/main/java/org/apache/accumulo/server/gc/SimpleGarbageCollector.java Tue Jun 11 19:33:53 2013
@@ -36,7 +36,6 @@ import java.util.concurrent.ExecutorServ
 import java.util.concurrent.Executors;
 import java.util.concurrent.TimeUnit;
 
-import org.apache.accumulo.api.annotations.AccumuloService;
 import org.apache.accumulo.core.Constants;
 import org.apache.accumulo.core.cli.Help;
 import org.apache.accumulo.core.client.AccumuloException;
@@ -86,6 +85,7 @@ import org.apache.accumulo.server.util.O
 import org.apache.accumulo.server.util.TServerUtils;
 import org.apache.accumulo.server.util.TabletIterator;
 import org.apache.accumulo.server.zookeeper.ZooLock;
+import org.apache.accumulo.start.annotations.AccumuloService;
 import org.apache.accumulo.trace.instrument.CountSampler;
 import org.apache.accumulo.trace.instrument.Sampler;
 import org.apache.accumulo.trace.instrument.Span;

Modified: accumulo/branches/ACCUMULO-1496/server/src/main/java/org/apache/accumulo/server/master/Master.java
URL: http://svn.apache.org/viewvc/accumulo/branches/ACCUMULO-1496/server/src/main/java/org/apache/accumulo/server/master/Master.java?rev=1491920&r1=1491919&r2=1491920&view=diff
==============================================================================
--- accumulo/branches/ACCUMULO-1496/server/src/main/java/org/apache/accumulo/server/master/Master.java (original)
+++ accumulo/branches/ACCUMULO-1496/server/src/main/java/org/apache/accumulo/server/master/Master.java Tue Jun 11 19:33:53 2013
@@ -37,7 +37,6 @@ import java.util.TreeSet;
 import java.util.concurrent.atomic.AtomicBoolean;
 import java.util.concurrent.atomic.AtomicInteger;
 
-import org.apache.accumulo.api.annotations.AccumuloService;
 import org.apache.accumulo.core.Constants;
 import org.apache.accumulo.core.client.AccumuloException;
 import org.apache.accumulo.core.client.AccumuloSecurityException;
@@ -154,6 +153,7 @@ import org.apache.accumulo.server.util.T
 import org.apache.accumulo.server.util.time.SimpleTimer;
 import org.apache.accumulo.server.zookeeper.ZooLock;
 import org.apache.accumulo.server.zookeeper.ZooReaderWriter;
+import org.apache.accumulo.start.annotations.AccumuloService;
 import org.apache.accumulo.start.classloader.vfs.AccumuloVFSClassLoader;
 import org.apache.accumulo.trace.instrument.thrift.TraceWrap;
 import org.apache.accumulo.trace.thrift.TInfo;

Modified: accumulo/branches/ACCUMULO-1496/server/src/main/java/org/apache/accumulo/server/monitor/Monitor.java
URL: http://svn.apache.org/viewvc/accumulo/branches/ACCUMULO-1496/server/src/main/java/org/apache/accumulo/server/monitor/Monitor.java?rev=1491920&r1=1491919&r2=1491920&view=diff
==============================================================================
--- accumulo/branches/ACCUMULO-1496/server/src/main/java/org/apache/accumulo/server/monitor/Monitor.java (original)
+++ accumulo/branches/ACCUMULO-1496/server/src/main/java/org/apache/accumulo/server/monitor/Monitor.java Tue Jun 11 19:33:53 2013
@@ -27,7 +27,6 @@ import java.util.Map;
 import java.util.Map.Entry;
 import java.util.Set;
 
-import org.apache.accumulo.api.annotations.AccumuloService;
 import org.apache.accumulo.core.Constants;
 import org.apache.accumulo.core.client.Instance;
 import org.apache.accumulo.core.client.impl.MasterClient;
@@ -73,6 +72,7 @@ import org.apache.accumulo.server.proble
 import org.apache.accumulo.server.problems.ProblemType;
 import org.apache.accumulo.server.security.SecurityConstants;
 import org.apache.accumulo.server.util.EmbeddedWebServer;
+import org.apache.accumulo.start.annotations.AccumuloService;
 import org.apache.accumulo.trace.instrument.Tracer;
 import org.apache.hadoop.fs.FileSystem;
 import org.apache.log4j.Logger;

Modified: accumulo/branches/ACCUMULO-1496/server/src/main/java/org/apache/accumulo/server/tabletserver/TabletServer.java
URL: http://svn.apache.org/viewvc/accumulo/branches/ACCUMULO-1496/server/src/main/java/org/apache/accumulo/server/tabletserver/TabletServer.java?rev=1491920&r1=1491919&r2=1491920&view=diff
==============================================================================
--- accumulo/branches/ACCUMULO-1496/server/src/main/java/org/apache/accumulo/server/tabletserver/TabletServer.java (original)
+++ accumulo/branches/ACCUMULO-1496/server/src/main/java/org/apache/accumulo/server/tabletserver/TabletServer.java Tue Jun 11 19:33:53 2013
@@ -64,7 +64,6 @@ import java.util.concurrent.atomic.Atomi
 import javax.management.ObjectName;
 import javax.management.StandardMBean;
 
-import org.apache.accumulo.api.annotations.AccumuloService;
 import org.apache.accumulo.core.Constants;
 import org.apache.accumulo.core.client.AccumuloException;
 import org.apache.accumulo.core.client.AccumuloSecurityException;
@@ -199,6 +198,7 @@ import org.apache.accumulo.server.zookee
 import org.apache.accumulo.server.zookeeper.ZooLock;
 import org.apache.accumulo.server.zookeeper.ZooReaderWriter;
 import org.apache.accumulo.start.Platform;
+import org.apache.accumulo.start.annotations.AccumuloService;
 import org.apache.accumulo.start.classloader.vfs.AccumuloVFSClassLoader;
 import org.apache.accumulo.start.classloader.vfs.ContextManager;
 import org.apache.accumulo.trace.instrument.Span;

Modified: accumulo/branches/ACCUMULO-1496/server/src/main/java/org/apache/accumulo/server/trace/TraceServer.java
URL: http://svn.apache.org/viewvc/accumulo/branches/ACCUMULO-1496/server/src/main/java/org/apache/accumulo/server/trace/TraceServer.java?rev=1491920&r1=1491919&r2=1491920&view=diff
==============================================================================
--- accumulo/branches/ACCUMULO-1496/server/src/main/java/org/apache/accumulo/server/trace/TraceServer.java (original)
+++ accumulo/branches/ACCUMULO-1496/server/src/main/java/org/apache/accumulo/server/trace/TraceServer.java Tue Jun 11 19:33:53 2013
@@ -23,7 +23,6 @@ import java.util.Map;
 import java.util.Map.Entry;
 import java.util.concurrent.TimeUnit;
 
-import org.apache.accumulo.api.annotations.AccumuloService;
 import org.apache.accumulo.core.Constants;
 import org.apache.accumulo.core.client.BatchWriter;
 import org.apache.accumulo.core.client.BatchWriterConfig;
@@ -50,6 +49,7 @@ import org.apache.accumulo.server.client
 import org.apache.accumulo.server.conf.ServerConfiguration;
 import org.apache.accumulo.server.util.time.SimpleTimer;
 import org.apache.accumulo.server.zookeeper.ZooReaderWriter;
+import org.apache.accumulo.start.annotations.AccumuloService;
 import org.apache.accumulo.start.classloader.AccumuloClassLoader;
 import org.apache.accumulo.trace.instrument.Span;
 import org.apache.accumulo.trace.thrift.RemoteSpan;

Modified: accumulo/branches/ACCUMULO-1496/server/src/main/java/org/apache/accumulo/server/util/Admin.java
URL: http://svn.apache.org/viewvc/accumulo/branches/ACCUMULO-1496/server/src/main/java/org/apache/accumulo/server/util/Admin.java?rev=1491920&r1=1491919&r2=1491920&view=diff
==============================================================================
--- accumulo/branches/ACCUMULO-1496/server/src/main/java/org/apache/accumulo/server/util/Admin.java (original)
+++ accumulo/branches/ACCUMULO-1496/server/src/main/java/org/apache/accumulo/server/util/Admin.java Tue Jun 11 19:33:53 2013
@@ -22,7 +22,6 @@ import java.util.List;
 import java.util.Set;
 import java.util.concurrent.atomic.AtomicInteger;
 
-import org.apache.accumulo.api.annotations.AccumuloService;
 import org.apache.accumulo.core.Constants;
 import org.apache.accumulo.core.client.AccumuloException;
 import org.apache.accumulo.core.client.AccumuloSecurityException;
@@ -38,6 +37,7 @@ import org.apache.accumulo.core.security
 import org.apache.accumulo.server.cli.ClientOpts;
 import org.apache.accumulo.server.client.HdfsZooInstance;
 import org.apache.accumulo.server.security.SecurityConstants;
+import org.apache.accumulo.start.annotations.AccumuloService;
 import org.apache.accumulo.trace.instrument.Tracer;
 import org.apache.log4j.Logger;
 

Modified: accumulo/branches/ACCUMULO-1496/server/src/main/java/org/apache/accumulo/server/util/Initialize.java
URL: http://svn.apache.org/viewvc/accumulo/branches/ACCUMULO-1496/server/src/main/java/org/apache/accumulo/server/util/Initialize.java?rev=1491920&r1=1491919&r2=1491920&view=diff
==============================================================================
--- accumulo/branches/ACCUMULO-1496/server/src/main/java/org/apache/accumulo/server/util/Initialize.java (original)
+++ accumulo/branches/ACCUMULO-1496/server/src/main/java/org/apache/accumulo/server/util/Initialize.java Tue Jun 11 19:33:53 2013
@@ -25,7 +25,6 @@ import java.util.UUID;
 
 import jline.console.ConsoleReader;
 
-import org.apache.accumulo.api.annotations.AccumuloService;
 import org.apache.accumulo.core.Constants;
 import org.apache.accumulo.core.cli.Help;
 import org.apache.accumulo.core.client.AccumuloSecurityException;
@@ -57,6 +56,7 @@ import org.apache.accumulo.server.securi
 import org.apache.accumulo.server.security.SecurityConstants;
 import org.apache.accumulo.server.tabletserver.TabletTime;
 import org.apache.accumulo.server.zookeeper.ZooReaderWriter;
+import org.apache.accumulo.start.annotations.AccumuloService;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.fs.FileStatus;
 import org.apache.hadoop.fs.FileSystem;

Modified: accumulo/branches/ACCUMULO-1496/server/src/main/java/org/apache/accumulo/server/util/ZooKeeperMain.java
URL: http://svn.apache.org/viewvc/accumulo/branches/ACCUMULO-1496/server/src/main/java/org/apache/accumulo/server/util/ZooKeeperMain.java?rev=1491920&r1=1491919&r2=1491920&view=diff
==============================================================================
--- accumulo/branches/ACCUMULO-1496/server/src/main/java/org/apache/accumulo/server/util/ZooKeeperMain.java (original)
+++ accumulo/branches/ACCUMULO-1496/server/src/main/java/org/apache/accumulo/server/util/ZooKeeperMain.java Tue Jun 11 19:33:53 2013
@@ -16,13 +16,13 @@
  */
 package org.apache.accumulo.server.util;
 
-import org.apache.accumulo.api.annotations.AccumuloService;
 import org.apache.accumulo.core.Constants;
 import org.apache.accumulo.core.cli.Help;
 import org.apache.accumulo.core.client.Instance;
 import org.apache.accumulo.core.util.CachedConfiguration;
 import org.apache.accumulo.server.client.HdfsZooInstance;
 import org.apache.accumulo.server.conf.ServerConfiguration;
+import org.apache.accumulo.start.annotations.AccumuloService;
 import org.apache.hadoop.fs.FileSystem;
 import org.apache.hadoop.fs.Path;
 

Modified: accumulo/branches/ACCUMULO-1496/start/pom.xml
URL: http://svn.apache.org/viewvc/accumulo/branches/ACCUMULO-1496/start/pom.xml?rev=1491920&r1=1491919&r2=1491920&view=diff
==============================================================================
--- accumulo/branches/ACCUMULO-1496/start/pom.xml (original)
+++ accumulo/branches/ACCUMULO-1496/start/pom.xml Tue Jun 11 19:33:53 2013
@@ -30,10 +30,6 @@
       <artifactId>scannotation</artifactId>
     </dependency>
     <dependency>
-      <groupId>org.apache.accumulo</groupId>
-      <artifactId>accumulo-api</artifactId>
-    </dependency>
-    <dependency>
       <groupId>org.apache.commons</groupId>
       <artifactId>commons-vfs2</artifactId>
     </dependency>

Modified: accumulo/branches/ACCUMULO-1496/start/src/main/java/org/apache/accumulo/start/Main.java
URL: http://svn.apache.org/viewvc/accumulo/branches/ACCUMULO-1496/start/src/main/java/org/apache/accumulo/start/Main.java?rev=1491920&r1=1491919&r2=1491920&view=diff
==============================================================================
--- accumulo/branches/ACCUMULO-1496/start/src/main/java/org/apache/accumulo/start/Main.java (original)
+++ accumulo/branches/ACCUMULO-1496/start/src/main/java/org/apache/accumulo/start/Main.java Tue Jun 11 19:33:53 2013
@@ -16,22 +16,15 @@
  */
 package org.apache.accumulo.start;
 
-import java.io.IOException;
 import java.lang.reflect.Method;
 import java.lang.reflect.Modifier;
-import java.net.URL;
 import java.util.ArrayList;
-import java.util.Collections;
 import java.util.Set;
 
-import org.apache.accumulo.api.annotations.AccumuloService;
 import org.apache.accumulo.start.classloader.AccumuloClassLoader;
-import org.scannotation.AnnotationDB;
 
 public class Main {
   
-  private static AnnotationDB annotationDatabase;
-  
   public static void main(String[] args) throws Exception {
     Runnable r = null;
     
@@ -41,10 +34,8 @@ public class Main {
       ClassLoader cl = (ClassLoader) vfsClassLoader.getMethod("getClassLoader", new Class[] {}).invoke(null, new Object[] {});
       Thread.currentThread().setContextClassLoader(cl);
       
-      URL[] urls = (URL[]) vfsClassLoader.getMethod("getURLs", new Class[] {}).invoke(null, new Object[] {});
-      
       if (args.length == 0) {
-        printUsage(cl, urls);
+        printUsage();
         System.exit(1);
       }
       final String argsToPass[] = new String[args.length - 1];
@@ -60,14 +51,7 @@ public class Main {
         System.out.println(runTMP.getField("VERSION").get(null));
         return;
       } else {
-        for (String className : loadAnnotationDB(urls, AccumuloService.class)) {
-          Class<?> runTMPCandidate = cl.loadClass(className);
-          if (args[0].equals(runTMPCandidate.getAnnotation(AccumuloService.class).value())) {
-            runTMP = runTMPCandidate;
-            break;
-          }
-        }
-        
+        runTMP = getAccumuloServiceClassByKeyword(args[0]);
         if (runTMP == null) {
           try {
             runTMP = cl.loadClass(args[0]);
@@ -111,11 +95,10 @@ public class Main {
     }
   }
   
-  private static void printUsage(ClassLoader cl, URL[] urls) throws IOException, ClassNotFoundException {
+  private static void printUsage() throws Exception {
     ArrayList<String> keywords = new ArrayList<String>(20);
-    for (String className : loadAnnotationDB(urls, AccumuloService.class)) {
-      Class<?> runTMPCandidate = cl.loadClass(className);
-      keywords.add(runTMPCandidate.getAnnotation(AccumuloService.class).value());
+    for (String keyword : getAccumuloServiceKeywords()) {
+      keywords.add(keyword);
     }
     keywords.add("classpath");
     keywords.add("version");
@@ -129,14 +112,16 @@ public class Main {
     System.out.println("accumulo " + kwString + " | <accumulo class> args");
   }
   
-  protected synchronized static Set<String> loadAnnotationDB(URL[] urls, Class<?> annotationClass) throws IOException {
-    if (annotationDatabase == null) {
-      AnnotationDB database = new AnnotationDB();
-      database.setScanClassAnnotations(true);
-      database.scanArchives(urls);
-      annotationDatabase = database;
-    }
-    Set<String> retVal = annotationDatabase.getAnnotationIndex().get(annotationClass.getName());
-    return retVal == null ? (retVal = Collections.emptySet()) : retVal;
+  private static Set<String> getAccumuloServiceKeywords() throws Exception {
+    Class<?> vfsClassLoader = AccumuloClassLoader.getClassLoader().loadClass("org.apache.accumulo.start.classloader.vfs.AccumuloVFSClassLoader");
+    @SuppressWarnings("unchecked")
+    Set<String> keywords = (Set<String>) vfsClassLoader.getMethod("getAccumuloServiceKeywords").invoke(null);
+    return keywords;
+  }
+  
+  private static Class<?> getAccumuloServiceClassByKeyword(String keyword) throws Exception {
+    Class<?> vfsClassLoader = AccumuloClassLoader.getClassLoader().loadClass("org.apache.accumulo.start.classloader.vfs.AccumuloVFSClassLoader");
+    Class<?> serviceClass = (Class<?>) vfsClassLoader.getMethod("getAccumuloServiceClassByKeyword", String.class).invoke(null, keyword);
+    return serviceClass;
   }
 }

Copied: accumulo/branches/ACCUMULO-1496/start/src/main/java/org/apache/accumulo/start/annotations/AccumuloService.java (from r1491869, accumulo/branches/ACCUMULO-1496/api/src/main/java/org/apache/accumulo/api/annotations/AccumuloService.java)
URL: http://svn.apache.org/viewvc/accumulo/branches/ACCUMULO-1496/start/src/main/java/org/apache/accumulo/start/annotations/AccumuloService.java?p2=accumulo/branches/ACCUMULO-1496/start/src/main/java/org/apache/accumulo/start/annotations/AccumuloService.java&p1=accumulo/branches/ACCUMULO-1496/api/src/main/java/org/apache/accumulo/api/annotations/AccumuloService.java&r1=1491869&r2=1491920&rev=1491920&view=diff
==============================================================================
--- accumulo/branches/ACCUMULO-1496/api/src/main/java/org/apache/accumulo/api/annotations/AccumuloService.java (original)
+++ accumulo/branches/ACCUMULO-1496/start/src/main/java/org/apache/accumulo/start/annotations/AccumuloService.java Tue Jun 11 19:33:53 2013
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.accumulo.api.annotations;
+package org.apache.accumulo.start.annotations;
 
 import java.lang.annotation.ElementType;
 import java.lang.annotation.Retention;

Modified: accumulo/branches/ACCUMULO-1496/start/src/main/java/org/apache/accumulo/start/classloader/vfs/AccumuloVFSClassLoader.java
URL: http://svn.apache.org/viewvc/accumulo/branches/ACCUMULO-1496/start/src/main/java/org/apache/accumulo/start/classloader/vfs/AccumuloVFSClassLoader.java?rev=1491920&r1=1491919&r2=1491920&view=diff
==============================================================================
--- accumulo/branches/ACCUMULO-1496/start/src/main/java/org/apache/accumulo/start/classloader/vfs/AccumuloVFSClassLoader.java (original)
+++ accumulo/branches/ACCUMULO-1496/start/src/main/java/org/apache/accumulo/start/classloader/vfs/AccumuloVFSClassLoader.java Tue Jun 11 19:33:53 2013
@@ -24,7 +24,10 @@ import java.net.URLClassLoader;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
+import java.util.Set;
+import java.util.TreeSet;
 
+import org.apache.accumulo.start.annotations.AccumuloService;
 import org.apache.accumulo.start.classloader.AccumuloClassLoader;
 import org.apache.accumulo.start.classloader.vfs.providers.HdfsFileProvider;
 import org.apache.commons.vfs2.CacheStrategy;
@@ -37,6 +40,7 @@ import org.apache.commons.vfs2.impl.Defa
 import org.apache.commons.vfs2.impl.FileContentInfoFilenameFactory;
 import org.apache.commons.vfs2.impl.VFSClassLoader;
 import org.apache.log4j.Logger;
+import org.scannotation.AnnotationDB;
 
 /**
  * This class builds a hierarchy of Classloaders in the form of:
@@ -283,19 +287,73 @@ public class AccumuloVFSClassLoader {
     });
   }
   
-  public static URL[] getURLs() {
+  private static AnnotationDB annotationDatabase;
+  
+  private static void loadAnnotationDatabase() {
+    if (annotationDatabase == null) {
+      AnnotationDB database = new AnnotationDB();
+      database.setScanClassAnnotations(true);
+      try {
+        database.scanArchives(getAccumuloServiceURLs());
+      } catch (Exception e) {
+        throw new RuntimeException(e);
+      }
+      annotationDatabase = database;
+    }
+  }
+  
+  public static Set<String> getAccumuloServiceClasses() {
+    loadAnnotationDatabase();
+    Set<String> retVal = annotationDatabase.getAnnotationIndex().get(AccumuloService.class.getName());
+    if (retVal == null)
+      retVal = Collections.emptySet();
+    return retVal;
+  }
+  
+  public static Class<?> getAccumuloServiceClassByKeyword(String keyword) {
+    Set<String> classNames = getAccumuloServiceClasses();
+    for (String className : classNames) {
+      try {
+        Class<?> candidate = getClassLoader().loadClass(className);
+        if (candidate.getAnnotation(AccumuloService.class).value().equals(keyword))
+          return candidate;
+      } catch (Exception e) {
+        throw new RuntimeException(e);
+      }
+    }
+    return null;
+  }
+  
+  public static Set<String> getAccumuloServiceKeywords() {
+    TreeSet<String> keywords = new TreeSet<String>();
+    Set<String> classNames = getAccumuloServiceClasses();
+    for (String className : classNames) {
+      try {
+        keywords.add(getClassLoader().loadClass(className).getAnnotation(AccumuloService.class).value());
+      } catch (Exception e) {
+        throw new RuntimeException(e);
+      }
+    }
+    return keywords;
+  }
+  
+  public static URL[] getAccumuloServiceURLs() {
     ArrayList<URL> urls = new ArrayList<URL>(20);
     try {
       ClassLoader cl = getClassLoader();
       while (cl != null && cl != ClassLoader.getSystemClassLoader()) {
         if (cl instanceof URLClassLoader) {
           URLClassLoader ucl = (URLClassLoader) cl;
-          for (URL u : ucl.getURLs())
-            urls.add(u);
+          for (URL u : ucl.getURLs()) {
+            if (u.toExternalForm().contains("accumulo"))
+              urls.add(u);
+          }
         } else if (cl instanceof VFSClassLoader) {
           VFSClassLoader vcl = (VFSClassLoader) cl;
-          for (FileObject f : vcl.getFileObjects())
-            urls.add(f.getURL());
+          for (FileObject f : vcl.getFileObjects()) {
+            if (f.getURL().toExternalForm().contains("accumulo"))
+              urls.add(f.getURL());
+          }
         }
         cl = cl.getParent();
       }