You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mahout.apache.org by sr...@apache.org on 2010/02/12 14:04:17 UTC

svn commit: r909391 - in /lucene/mahout/trunk/core/src: main/java/org/apache/mahout/clustering/ main/java/org/apache/mahout/clustering/canopy/ main/java/org/apache/mahout/clustering/dirichlet/ main/java/org/apache/mahout/clustering/dirichlet/models/ ma...

Author: srowen
Date: Fri Feb 12 13:04:16 2010
New Revision: 909391

URL: http://svn.apache.org/viewvc?rev=909391&view=rev
Log:
Remove VectorWritable.readVector for thread safety reasons, other code style changes

Modified:
    lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/ClusterBase.java
    lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/canopy/Canopy.java
    lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/canopy/CanopyClusteringJob.java
    lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/canopy/CanopyDriver.java
    lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/canopy/ClusterDriver.java
    lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/dirichlet/DirichletCluster.java
    lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/dirichlet/DirichletDriver.java
    lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/dirichlet/DirichletJob.java
    lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/dirichlet/DirichletState.java
    lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/dirichlet/JsonClusterAdapter.java
    lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/dirichlet/models/AsymmetricSampledNormalModel.java
    lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/dirichlet/models/L1Model.java
    lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/dirichlet/models/NormalModel.java
    lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/dirichlet/models/SampledNormalModel.java
    lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/fuzzykmeans/FuzzyKMeansDriver.java
    lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/fuzzykmeans/FuzzyKMeansInfo.java
    lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/fuzzykmeans/FuzzyKMeansJob.java
    lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/fuzzykmeans/SoftCluster.java
    lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/kmeans/Cluster.java
    lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/kmeans/KMeansDriver.java
    lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/kmeans/KMeansInfo.java
    lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/meanshift/MeanShiftCanopy.java
    lucene/mahout/trunk/core/src/main/java/org/apache/mahout/df/DFUtils.java
    lucene/mahout/trunk/core/src/main/java/org/apache/mahout/df/mapred/partial/Step0Job.java
    lucene/mahout/trunk/core/src/main/java/org/apache/mahout/df/tools/FrequenciesJob.java
    lucene/mahout/trunk/core/src/main/java/org/apache/mahout/fpm/pfpgrowth/FPGrowthDriver.java
    lucene/mahout/trunk/core/src/main/java/org/apache/mahout/fpm/pfpgrowth/convertors/string/StringOutputConverter.java
    lucene/mahout/trunk/core/src/main/java/org/apache/mahout/fpm/pfpgrowth/convertors/string/StringTupleIterator.java
    lucene/mahout/trunk/core/src/main/java/org/apache/mahout/math/MultiLabelVectorWritable.java
    lucene/mahout/trunk/core/src/main/java/org/apache/mahout/math/VectorWritable.java
    lucene/mahout/trunk/core/src/test/java/org/apache/mahout/df/mapred/partial/PartialBuilderTest.java
    lucene/mahout/trunk/core/src/test/java/org/apache/mahout/df/mapreduce/partial/PartialSequentialBuilder.java

Modified: lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/ClusterBase.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/ClusterBase.java?rev=909391&r1=909390&r2=909391&view=diff
==============================================================================
--- lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/ClusterBase.java (original)
+++ lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/ClusterBase.java Fri Feb 12 13:04:16 2010
@@ -57,11 +57,11 @@
         double elem = v.get(i);
         if (elem == 0.0)
           continue;
-        String label = null;
+        String label;
         if (bindings != null && (label = bindings[i]) != null)
-          buf.append(label).append(":");
+          buf.append(label).append(':');
         else
-          buf.append(i).append(":");
+          buf.append(i).append(':');
         buf.append(String.format("%.3f", elem)).append(", ");
       }
     } else {
@@ -124,11 +124,10 @@
    * @deprecated
    * @return
    */
+  @Deprecated
   public abstract String asFormatString();
 
-  /* (non-Javadoc)
-   * @see org.apache.mahout.clustering.Printable#asFormatString(java.lang.String[])
-   */
+  @Override
   public String asFormatString(String[] bindings) {
     StringBuilder buf = new StringBuilder();
     buf.append(getIdentifier()).append(": ").append(formatVector(computeCentroid(), bindings));
@@ -139,9 +138,7 @@
 
   public abstract Object getIdentifier();
 
-  /* (non-Javadoc)
-   * @see org.apache.mahout.clustering.Printable#asJsonString(java.util.Map)
-   */
+  @Override
   public String asJsonString() {
     Type vectorType = new TypeToken<Vector>() {
     }.getType();

Modified: lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/canopy/Canopy.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/canopy/Canopy.java?rev=909391&r1=909390&r2=909391&view=diff
==============================================================================
--- lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/canopy/Canopy.java (original)
+++ lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/canopy/Canopy.java Fri Feb 12 13:04:16 2010
@@ -61,7 +61,9 @@
   @Override
   public void readFields(DataInput in) throws IOException {
     super.readFields(in);
-    this.setCenter(VectorWritable.readVector(in));
+    VectorWritable temp = new VectorWritable();
+    temp.readFields(in);
+    this.setCenter(temp.get());
     this.setPointTotal(getCenter().clone());
     this.setNumPoints(1);
   }
@@ -122,6 +124,7 @@
     return getIdentifier() + " - " + getCenter().asFormatString();
   }
 
+  @Override
   public String getIdentifier() {
     return "C" + getId();
   }
@@ -132,6 +135,7 @@
    *
    * @return a RandomAccessSparseVector (required by Mapper) which is the new centroid
    */
+  @Override
   public Vector computeCentroid() {
     return getPointTotal().divide(getNumPoints());
   }

Modified: lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/canopy/CanopyClusteringJob.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/canopy/CanopyClusteringJob.java?rev=909391&r1=909390&r2=909391&view=diff
==============================================================================
--- lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/canopy/CanopyClusteringJob.java (original)
+++ lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/canopy/CanopyClusteringJob.java Fri Feb 12 13:04:16 2010
@@ -51,7 +51,7 @@
   /**
    * @param args
    */
-  public static void main(String[] args) throws IOException, ClassNotFoundException {
+  public static void main(String[] args) throws IOException {
     DefaultOptionBuilder obuilder = new DefaultOptionBuilder();
     ArgumentBuilder abuilder = new ArgumentBuilder();
     GroupBuilder gbuilder = new GroupBuilder();

Modified: lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/canopy/CanopyDriver.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/canopy/CanopyDriver.java?rev=909391&r1=909390&r2=909391&view=diff
==============================================================================
--- lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/canopy/CanopyDriver.java (original)
+++ lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/canopy/CanopyDriver.java Fri Feb 12 13:04:16 2010
@@ -50,7 +50,7 @@
   private CanopyDriver() {
   }
 
-  public static void main(String[] args) throws IOException, ClassNotFoundException {
+  public static void main(String[] args) throws IOException {
     DefaultOptionBuilder obuilder = new DefaultOptionBuilder();
     ArgumentBuilder abuilder = new ArgumentBuilder();
     GroupBuilder gbuilder = new GroupBuilder();

Modified: lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/canopy/ClusterDriver.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/canopy/ClusterDriver.java?rev=909391&r1=909390&r2=909391&view=diff
==============================================================================
--- lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/canopy/ClusterDriver.java (original)
+++ lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/canopy/ClusterDriver.java Fri Feb 12 13:04:16 2010
@@ -53,7 +53,7 @@
   private ClusterDriver() {
   }
 
-  public static void main(String[] args) throws IOException, ClassNotFoundException {
+  public static void main(String[] args) throws IOException {
 
     DefaultOptionBuilder obuilder = new DefaultOptionBuilder();
     ArgumentBuilder abuilder = new ArgumentBuilder();

Modified: lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/dirichlet/DirichletCluster.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/dirichlet/DirichletCluster.java?rev=909391&r1=909390&r2=909391&view=diff
==============================================================================
--- lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/dirichlet/DirichletCluster.java (original)
+++ lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/dirichlet/DirichletCluster.java Fri Feb 12 13:04:16 2010
@@ -81,7 +81,6 @@
   }.getType();
 
   /** Reads a typed Model instance from the input stream */
-  @SuppressWarnings("unchecked")
   public static <O> Model<O> readModel(DataInput in) throws IOException {
     String modelClassName = in.readUTF();
     Model<O> model;

Modified: lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/dirichlet/DirichletDriver.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/dirichlet/DirichletDriver.java?rev=909391&r1=909390&r2=909391&view=diff
==============================================================================
--- lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/dirichlet/DirichletDriver.java (original)
+++ lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/dirichlet/DirichletDriver.java Fri Feb 12 13:04:16 2010
@@ -137,10 +137,6 @@
    * @param maxIterations the maximum number of iterations
    * @param alpha_0       the alpha_0 value for the DirichletDistribution
    * @param numReducers   the number of Reducers desired
-   * @throws InvocationTargetException 
-   * @throws NoSuchMethodException 
-   * @throws IllegalArgumentException 
-   * @throws SecurityException 
    * @deprecated since it presumes 2-d, dense vector model prototypes
    */
   @Deprecated
@@ -166,15 +162,18 @@
    * @param maxIterations the maximum number of iterations
    * @param alpha_0       the alpha_0 value for the DirichletDistribution
    * @param numReducers   the number of Reducers desired
-   * @throws InvocationTargetException 
-   * @throws NoSuchMethodException 
-   * @throws IllegalArgumentException 
-   * @throws SecurityException 
    */
-  public static void runJob(String input, String output, String modelFactory, String modelPrototype, int prototypeSize,
-      int numClusters, int maxIterations, double alpha_0, int numReducers) throws ClassNotFoundException, InstantiationException,
-      IllegalAccessException, IOException, SecurityException, NoSuchMethodException,
-      InvocationTargetException {
+  public static void runJob(String input,
+                            String output,
+                            String modelFactory,
+                            String modelPrototype,
+                            int prototypeSize,
+                            int numClusters,
+                            int maxIterations,
+                            double alpha_0,
+                            int numReducers)
+      throws ClassNotFoundException, InstantiationException, IllegalAccessException, IOException,
+      SecurityException, NoSuchMethodException, InvocationTargetException {
 
     String stateIn = output + "/state-0";
     writeInitialState(output, stateIn, modelFactory, modelPrototype, prototypeSize, numClusters, alpha_0);
@@ -189,10 +188,15 @@
     }
   }
 
-  private static void writeInitialState(String output, String stateIn, String modelFactory, String modelPrototype,
-      int prototypeSize, int numModels, double alpha_0) throws ClassNotFoundException, InstantiationException,
-      IllegalAccessException, IOException, SecurityException, NoSuchMethodException,
-      InvocationTargetException {
+  private static void writeInitialState(String output,
+                                        String stateIn,
+                                        String modelFactory,
+                                        String modelPrototype,
+                                        int prototypeSize,
+                                        int numModels,
+                                        double alpha_0)
+      throws ClassNotFoundException, InstantiationException, IllegalAccessException, IOException,
+      SecurityException, NoSuchMethodException, InvocationTargetException {
 
     DirichletState<VectorWritable> state = createState(modelFactory, modelPrototype, prototypeSize, numModels, alpha_0);
     JobConf job = new JobConf(KMeansDriver.class);
@@ -218,17 +222,15 @@
    * @param numModels an int number of models to be created
    * @param alpha_0 the double alpha_0 argument to the algorithm
    * @return an initialized DirichletState
-   * @throws ClassNotFoundException
-   * @throws InstantiationException
-   * @throws IllegalAccessException
-   * @throws NoSuchMethodException 
-   * @throws SecurityException 
-   * @throws InvocationTargetException 
-   * @throws IllegalArgumentException 
    */
-  public static DirichletState<VectorWritable> createState(String modelFactory, String modelPrototype, int prototypeSize,
-      int numModels, double alpha_0) throws ClassNotFoundException, InstantiationException, IllegalAccessException,
+  public static DirichletState<VectorWritable> createState(String modelFactory,
+                                                           String modelPrototype,
+                                                           int prototypeSize,
+                                                           int numModels,
+                                                           double alpha_0)
+      throws ClassNotFoundException, InstantiationException, IllegalAccessException,
       SecurityException, NoSuchMethodException, IllegalArgumentException, InvocationTargetException {
+
     ClassLoader ccl = Thread.currentThread().getContextClassLoader();
     Class<? extends VectorModelDistribution> cl = ccl.loadClass(modelFactory).asSubclass(VectorModelDistribution.class);
     VectorModelDistribution factory = cl.newInstance();

Modified: lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/dirichlet/DirichletJob.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/dirichlet/DirichletJob.java?rev=909391&r1=909390&r2=909391&view=diff
==============================================================================
--- lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/dirichlet/DirichletJob.java (original)
+++ lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/dirichlet/DirichletJob.java Fri Feb 12 13:04:16 2010
@@ -111,13 +111,16 @@
    * @param numModels     the number of Models
    * @param maxIterations the maximum number of iterations
    * @param alpha_0       the alpha0 value for the DirichletDistribution
-   * @throws InvocationTargetException 
-   * @throws NoSuchMethodException 
-   * @throws IllegalArgumentException 
-   * @throws SecurityException 
    */
-  public static void runJob(String input, String output, String modelFactory, String modelPrototype, int prototypeSize,
-      int numModels, int maxIterations, double alpha_0) throws IOException, ClassNotFoundException, InstantiationException,
+  public static void runJob(String input,
+                            String output,
+                            String modelFactory,
+                            String modelPrototype,
+                            int prototypeSize,
+                            int numModels,
+                            int maxIterations,
+                            double alpha_0)
+      throws IOException, ClassNotFoundException, InstantiationException,
       IllegalAccessException, SecurityException, NoSuchMethodException, InvocationTargetException {
     // delete the output directory
     Configuration conf = new JobConf(DirichletJob.class);

Modified: lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/dirichlet/DirichletState.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/dirichlet/DirichletState.java?rev=909391&r1=909390&r2=909391&view=diff
==============================================================================
--- lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/dirichlet/DirichletState.java (original)
+++ lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/dirichlet/DirichletState.java Fri Feb 12 13:04:16 2010
@@ -122,7 +122,6 @@
     return mix * pdf;
   }
 
-  @SuppressWarnings("unchecked")
   public Model<O>[] getModels() {
     Model<O>[] result = (Model<O>[]) new Model[numClusters];
     for (int i = 0; i < numClusters; i++) {

Modified: lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/dirichlet/JsonClusterAdapter.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/dirichlet/JsonClusterAdapter.java?rev=909391&r1=909390&r2=909391&view=diff
==============================================================================
--- lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/dirichlet/JsonClusterAdapter.java (original)
+++ lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/dirichlet/JsonClusterAdapter.java Fri Feb 12 13:04:16 2010
@@ -51,7 +51,6 @@
     return obj;
   }
 
-  @SuppressWarnings("unchecked")
   @Override
   public DirichletCluster<?> deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context)
       throws JsonParseException {

Modified: lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/dirichlet/models/AsymmetricSampledNormalModel.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/dirichlet/models/AsymmetricSampledNormalModel.java?rev=909391&r1=909390&r2=909391&view=diff
==============================================================================
--- lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/dirichlet/models/AsymmetricSampledNormalModel.java (original)
+++ lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/dirichlet/models/AsymmetricSampledNormalModel.java Fri Feb 12 13:04:16 2010
@@ -147,6 +147,7 @@
     return asFormatString(null);
   }
 
+  @Override
   public String asFormatString(String[] bindings) {
     StringBuilder buf = new StringBuilder(50);
     buf.append("asnm{n=").append(s0).append(" m=");
@@ -157,17 +158,22 @@
     if (stdDev != null) {
       buf.append(ClusterBase.formatVector(stdDev, bindings));
     }
-    buf.append("}");
+    buf.append('}');
     return buf.toString();
   }
 
   @Override
   public void readFields(DataInput in) throws IOException {
-    this.mean = VectorWritable.readVector(in);
-    this.stdDev = VectorWritable.readVector(in);
+    VectorWritable temp = new VectorWritable();
+    temp.readFields(in);
+    this.mean = temp.get();
+    temp.readFields(in);
+    this.stdDev = temp.get();
     this.s0 = in.readInt();
-    this.s1 = VectorWritable.readVector(in);
-    this.s2 = VectorWritable.readVector(in);
+    temp.readFields(in);
+    this.s1 = temp.get();
+    temp.readFields(in);
+    this.s2 = temp.get();
   }
 
   @Override

Modified: lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/dirichlet/models/L1Model.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/dirichlet/models/L1Model.java?rev=909391&r1=909390&r2=909391&view=diff
==============================================================================
--- lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/dirichlet/models/L1Model.java (original)
+++ lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/dirichlet/models/L1Model.java Fri Feb 12 13:04:16 2010
@@ -77,7 +77,9 @@
 
   @Override
   public void readFields(DataInput in) throws IOException {
-    coefficients = VectorWritable.readVector(in);
+    VectorWritable temp = new VectorWritable();
+    temp.readFields(in);
+    coefficients = temp.get();
   }
 
   @Override
@@ -94,13 +96,14 @@
     return asFormatString(null);
   }
 
+  @Override
   public String asFormatString(String[] bindings) {
     StringBuilder buf = new StringBuilder();
     buf.append("l1m{n=").append(count).append(" c=");
     if (coefficients != null) {
       buf.append(ClusterBase.formatVector(coefficients, bindings));
     }
-    buf.append("}");
+    buf.append('}');
     return buf.toString();
   }
 

Modified: lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/dirichlet/models/NormalModel.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/dirichlet/models/NormalModel.java?rev=909391&r1=909390&r2=909391&view=diff
==============================================================================
--- lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/dirichlet/models/NormalModel.java (original)
+++ lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/dirichlet/models/NormalModel.java Fri Feb 12 13:04:16 2010
@@ -133,6 +133,7 @@
     return asFormatString(null);
   }
 
+  @Override
   public String asFormatString(String[] bindings) {
     StringBuilder buf = new StringBuilder();
     buf.append("nm{n=").append(s0).append(" m=");
@@ -145,11 +146,15 @@
 
   @Override
   public void readFields(DataInput in) throws IOException {
-    this.mean = VectorWritable.readVector(in);
+    VectorWritable temp = new VectorWritable();
+    temp.readFields(in);
+    this.mean = temp.get();
     this.stdDev = in.readDouble();
     this.s0 = in.readInt();
-    this.s1 = VectorWritable.readVector(in);
-    this.s2 = VectorWritable.readVector(in);
+    temp.readFields(in);
+    this.s1 = temp.get();
+    temp.readFields(in);
+    this.s2 = temp.get();
   }
 
   @Override

Modified: lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/dirichlet/models/SampledNormalModel.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/dirichlet/models/SampledNormalModel.java?rev=909391&r1=909390&r2=909391&view=diff
==============================================================================
--- lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/dirichlet/models/SampledNormalModel.java (original)
+++ lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/dirichlet/models/SampledNormalModel.java Fri Feb 12 13:04:16 2010
@@ -45,6 +45,7 @@
     return new SampledNormalModel(getMean(), getStdDev());
   }
 
+  @Override
   public String asFormatString(String[] bindings) {
     StringBuilder buf = new StringBuilder();
     buf.append("snm{n=").append(getS0()).append(" m=");

Modified: lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/fuzzykmeans/FuzzyKMeansDriver.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/fuzzykmeans/FuzzyKMeansDriver.java?rev=909391&r1=909390&r2=909391&view=diff
==============================================================================
--- lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/fuzzykmeans/FuzzyKMeansDriver.java (original)
+++ lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/fuzzykmeans/FuzzyKMeansDriver.java Fri Feb 12 13:04:16 2010
@@ -62,7 +62,7 @@
   }
 
 
-  public static void main(String[] args) throws ClassNotFoundException, IOException, IllegalAccessException, InstantiationException {
+  public static void main(String[] args) throws Exception {
     DefaultOptionBuilder obuilder = new DefaultOptionBuilder();
     ArgumentBuilder abuilder = new ArgumentBuilder();
     GroupBuilder gbuilder = new GroupBuilder();

Modified: lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/fuzzykmeans/FuzzyKMeansInfo.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/fuzzykmeans/FuzzyKMeansInfo.java?rev=909391&r1=909390&r2=909391&view=diff
==============================================================================
--- lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/fuzzykmeans/FuzzyKMeansInfo.java (original)
+++ lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/fuzzykmeans/FuzzyKMeansInfo.java Fri Feb 12 13:04:16 2010
@@ -71,6 +71,8 @@
   @Override
   public void readFields(DataInput in) throws IOException {
     this.probability = in.readDouble();
-    this.pointTotal = VectorWritable.readVector(in);
+    VectorWritable temp = new VectorWritable();
+    temp.readFields(in);
+    this.pointTotal = temp.get();
   }
 }
\ No newline at end of file

Modified: lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/fuzzykmeans/FuzzyKMeansJob.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/fuzzykmeans/FuzzyKMeansJob.java?rev=909391&r1=909390&r2=909391&view=diff
==============================================================================
--- lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/fuzzykmeans/FuzzyKMeansJob.java (original)
+++ lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/fuzzykmeans/FuzzyKMeansJob.java Fri Feb 12 13:04:16 2010
@@ -42,7 +42,7 @@
   private FuzzyKMeansJob() {
   }
 
-  public static void main(String[] args) throws IOException, ClassNotFoundException {
+  public static void main(String[] args) throws IOException {
 
     DefaultOptionBuilder obuilder = new DefaultOptionBuilder();
     ArgumentBuilder abuilder = new ArgumentBuilder();
@@ -102,7 +102,7 @@
       int numReduceTasks = Integer.parseInt(cmdLine.getValue(numRedOpt).toString());
       boolean doCanopy = Boolean.parseBoolean(cmdLine.getValue(doCanopyOpt).toString());
       float m = Float.parseFloat(cmdLine.getValue(mOpt).toString());
-      String vectorClassName = cmdLine.getValue(vectorClassOpt).toString();
+      //String vectorClassName = cmdLine.getValue(vectorClassOpt).toString();
       //Class<? extends Vector> vectorClass = (Class<? extends Vector>) Class.forName(vectorClassName);
       runJob(input, clusters, output, measureClass, convergenceDelta,
           maxIterations, numMapTasks, numReduceTasks, doCanopy, m);

Modified: lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/fuzzykmeans/SoftCluster.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/fuzzykmeans/SoftCluster.java?rev=909391&r1=909390&r2=909391&view=diff
==============================================================================
--- lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/fuzzykmeans/SoftCluster.java (original)
+++ lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/fuzzykmeans/SoftCluster.java Fri Feb 12 13:04:16 2010
@@ -99,7 +99,9 @@
   public void readFields(DataInput in) throws IOException {
     clusterId = in.readInt();
     converged = in.readBoolean();
-    center = VectorWritable.readVector(in);
+    VectorWritable temp = new VectorWritable();
+    temp.readFields(in);
+    center = temp.get();
     this.pointProbSum = 0;
     this.weightedPointTotal = center.like();
   }

Modified: lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/kmeans/Cluster.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/kmeans/Cluster.java?rev=909391&r1=909390&r2=909391&view=diff
==============================================================================
--- lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/kmeans/Cluster.java (original)
+++ lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/kmeans/Cluster.java Fri Feb 12 13:04:16 2010
@@ -102,7 +102,9 @@
   public void readFields(DataInput in) throws IOException {
     super.readFields(in);
     this.converged = in.readBoolean();
-    this.setCenter(VectorWritable.readVector(in));
+    VectorWritable temp = new VectorWritable();
+    temp.readFields(in);
+    this.setCenter(temp.get());
     this.setNumPoints(0);
     this.setPointTotal(getCenter().like());
     this.pointSquaredTotal = getCenter().like();
@@ -113,6 +115,7 @@
    * 
    * @return the new centroid
    */
+  @Override
   public Vector computeCentroid() {
     if (getNumPoints() == 0) {
       return getCenter();
@@ -169,12 +172,9 @@
     return getIdentifier() + " - " + getCenter().asFormatString();
   }
 
+  @Override
   public String getIdentifier() {
-    if (converged) {
-      return "V" + getId();
-    } else {
-      return "C" + getId();
-    }
+    return (converged ? "V" : "C") + getId();
   }
 
   /**

Modified: lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/kmeans/KMeansDriver.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/kmeans/KMeansDriver.java?rev=909391&r1=909390&r2=909391&view=diff
==============================================================================
--- lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/kmeans/KMeansDriver.java (original)
+++ lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/kmeans/KMeansDriver.java Fri Feb 12 13:04:16 2010
@@ -56,8 +56,7 @@
   }
 
   /** @param args Expects 7 args and they all correspond to the order of the params in {@link #runJob} */
-  public static void main(String[] args) throws ClassNotFoundException, IOException, IllegalAccessException,
-      InstantiationException {
+  public static void main(String[] args) throws Exception {
 
     DefaultOptionBuilder obuilder = new DefaultOptionBuilder();
     ArgumentBuilder abuilder = new ArgumentBuilder();

Modified: lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/kmeans/KMeansInfo.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/kmeans/KMeansInfo.java?rev=909391&r1=909390&r2=909391&view=diff
==============================================================================
--- lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/kmeans/KMeansInfo.java (original)
+++ lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/kmeans/KMeansInfo.java Fri Feb 12 13:04:16 2010
@@ -55,6 +55,8 @@
   @Override
   public void readFields(DataInput in) throws IOException {
     this.points = in.readInt();
-    this.pointTotal = VectorWritable.readVector(in);
+    VectorWritable temp = new VectorWritable();
+    temp.readFields(in);
+    this.pointTotal = temp.get();
   }
 }

Modified: lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/meanshift/MeanShiftCanopy.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/meanshift/MeanShiftCanopy.java?rev=909391&r1=909390&r2=909391&view=diff
==============================================================================
--- lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/meanshift/MeanShiftCanopy.java (original)
+++ lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/meanshift/MeanShiftCanopy.java Fri Feb 12 13:04:16 2010
@@ -137,6 +137,7 @@
    *
    * @return a Vector which is the new centroid
    */
+  @Override
   public Vector computeCentroid() {
     if (getNumPoints() == 0) {
       return getCenter();
@@ -153,8 +154,9 @@
     return getId();
   }
 
+  @Override
   public String getIdentifier() {
-    return converged ? "V" + getId() : "C" + getId();
+    return (converged ? "V" : "C") + getId();
   }
 
   void init(MeanShiftCanopy canopy) {
@@ -195,11 +197,14 @@
   @Override
   public void readFields(DataInput in) throws IOException {
     super.readFields(in);
-    this.setCenter(VectorWritable.readVector(in));
+    VectorWritable temp = new VectorWritable();
+    temp.readFields(in);
+    this.setCenter(temp.get());
     int numpoints = in.readInt();
     this.boundPoints = new ArrayList<Vector>();
     for (int i = 0; i < numpoints; i++) {
-      this.boundPoints.add(VectorWritable.readVector(in));
+      temp.readFields(in);
+      this.boundPoints.add(temp.get());
     }
   }
 

Modified: lucene/mahout/trunk/core/src/main/java/org/apache/mahout/df/DFUtils.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/core/src/main/java/org/apache/mahout/df/DFUtils.java?rev=909391&r1=909390&r2=909391&view=diff
==============================================================================
--- lucene/mahout/trunk/core/src/main/java/org/apache/mahout/df/DFUtils.java (original)
+++ lucene/mahout/trunk/core/src/main/java/org/apache/mahout/df/DFUtils.java Fri Feb 12 13:04:16 2010
@@ -156,13 +156,13 @@
    */
   public static String elapsedTime(long milli) {
     long seconds = milli / 1000;
-    milli = milli % 1000;
+    milli %= 1000;
   
     long minutes = seconds / 60;
-    seconds = seconds % 60;
+    seconds %= 60;
   
     long hours = minutes / 60;
-    minutes = minutes % 60;
+    minutes %= 60;
   
     return hours + "h " + minutes + "m " + seconds + "s " + milli;
   }

Modified: lucene/mahout/trunk/core/src/main/java/org/apache/mahout/df/mapred/partial/Step0Job.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/core/src/main/java/org/apache/mahout/df/mapred/partial/Step0Job.java?rev=909391&r1=909390&r2=909391&view=diff
==============================================================================
--- lucene/mahout/trunk/core/src/main/java/org/apache/mahout/df/mapred/partial/Step0Job.java (original)
+++ lucene/mahout/trunk/core/src/main/java/org/apache/mahout/df/mapred/partial/Step0Job.java Fri Feb 12 13:04:16 2010
@@ -189,7 +189,7 @@
    * Outputs the first key and the size of the partition
    * 
    */
-  protected static class Step0Mapper extends MapReduceBase implements
+  static class Step0Mapper extends MapReduceBase implements
       Mapper<LongWritable, Text, IntWritable, Step0Output> {
 
     private int partition;

Modified: lucene/mahout/trunk/core/src/main/java/org/apache/mahout/df/tools/FrequenciesJob.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/core/src/main/java/org/apache/mahout/df/tools/FrequenciesJob.java?rev=909391&r1=909390&r2=909391&view=diff
==============================================================================
--- lucene/mahout/trunk/core/src/main/java/org/apache/mahout/df/tools/FrequenciesJob.java (original)
+++ lucene/mahout/trunk/core/src/main/java/org/apache/mahout/df/tools/FrequenciesJob.java Fri Feb 12 13:04:16 2010
@@ -168,7 +168,7 @@
    * Outputs the first key and the label of each tuple
    *
    */
-  protected static class FrequenciesMapper extends
+  private static class FrequenciesMapper extends
       Mapper<LongWritable, Text, LongWritable, IntWritable> {
 
     private LongWritable firstId;
@@ -204,7 +204,7 @@
 
   }
 
-  protected static class FrequenciesReducer extends
+  private static class FrequenciesReducer extends
           Reducer<LongWritable, IntWritable, LongWritable, Frequencies> {
 
     private int nblabels;
@@ -237,7 +237,7 @@
    * Output of the job
    *
    */
-  protected static class Frequencies implements Writable,
+  private static class Frequencies implements Writable,
       Comparable<Frequencies>, Cloneable {
 
     /**

Modified: lucene/mahout/trunk/core/src/main/java/org/apache/mahout/fpm/pfpgrowth/FPGrowthDriver.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/core/src/main/java/org/apache/mahout/fpm/pfpgrowth/FPGrowthDriver.java?rev=909391&r1=909390&r2=909391&view=diff
==============================================================================
--- lucene/mahout/trunk/core/src/main/java/org/apache/mahout/fpm/pfpgrowth/FPGrowthDriver.java (original)
+++ lucene/mahout/trunk/core/src/main/java/org/apache/mahout/fpm/pfpgrowth/FPGrowthDriver.java Fri Feb 12 13:04:16 2010
@@ -61,21 +61,8 @@
   
   /**
    * Run TopK FPGrowth given the input file,
-   * 
-   * @param args
-   * @throws IOException
-   * @throws OptionException
-   * @throws NumberFormatException
-   * @throws IllegalStateException
-   * @throws InterruptedException
-   * @throws ClassNotFoundException
    */
-  public static void main(String[] args) throws IOException,
-                                        OptionException,
-                                        NumberFormatException,
-                                        IllegalStateException,
-                                        InterruptedException,
-                                        ClassNotFoundException {
+  public static void main(String[] args) throws Exception {
     DefaultOptionBuilder obuilder = new DefaultOptionBuilder();
     ArgumentBuilder abuilder = new ArgumentBuilder();
     GroupBuilder gbuilder = new GroupBuilder();

Modified: lucene/mahout/trunk/core/src/main/java/org/apache/mahout/fpm/pfpgrowth/convertors/string/StringOutputConverter.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/core/src/main/java/org/apache/mahout/fpm/pfpgrowth/convertors/string/StringOutputConverter.java?rev=909391&r1=909390&r2=909391&view=diff
==============================================================================
--- lucene/mahout/trunk/core/src/main/java/org/apache/mahout/fpm/pfpgrowth/convertors/string/StringOutputConverter.java (original)
+++ lucene/mahout/trunk/core/src/main/java/org/apache/mahout/fpm/pfpgrowth/convertors/string/StringOutputConverter.java Fri Feb 12 13:04:16 2010
@@ -31,7 +31,7 @@
 public final class StringOutputConverter implements
     OutputCollector<String,List<Pair<List<String>,Long>>> {
   
-  private OutputCollector<Text,TopKStringPatterns> collector;
+  private final OutputCollector<Text,TopKStringPatterns> collector;
   
   public StringOutputConverter(OutputCollector<Text,TopKStringPatterns> collector) {
     this.collector = collector;

Modified: lucene/mahout/trunk/core/src/main/java/org/apache/mahout/fpm/pfpgrowth/convertors/string/StringTupleIterator.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/core/src/main/java/org/apache/mahout/fpm/pfpgrowth/convertors/string/StringTupleIterator.java?rev=909391&r1=909390&r2=909391&view=diff
==============================================================================
--- lucene/mahout/trunk/core/src/main/java/org/apache/mahout/fpm/pfpgrowth/convertors/string/StringTupleIterator.java (original)
+++ lucene/mahout/trunk/core/src/main/java/org/apache/mahout/fpm/pfpgrowth/convertors/string/StringTupleIterator.java Fri Feb 12 13:04:16 2010
@@ -28,7 +28,7 @@
  */
 public final class StringTupleIterator implements Iterator<List<String>> {
 
-  private Iterator<StringTuple> iterator;
+  private final Iterator<StringTuple> iterator;
 
   public StringTupleIterator(Iterator<StringTuple> iterator) {
     this.iterator = iterator;

Modified: lucene/mahout/trunk/core/src/main/java/org/apache/mahout/math/MultiLabelVectorWritable.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/core/src/main/java/org/apache/mahout/math/MultiLabelVectorWritable.java?rev=909391&r1=909390&r2=909391&view=diff
==============================================================================
--- lucene/mahout/trunk/core/src/main/java/org/apache/mahout/math/MultiLabelVectorWritable.java (original)
+++ lucene/mahout/trunk/core/src/main/java/org/apache/mahout/math/MultiLabelVectorWritable.java Fri Feb 12 13:04:16 2010
@@ -69,7 +69,9 @@
     for (int i = 0; i < labelSize; i++) {
       labels[i] = in.readInt();
     }
-    Vector vector = VectorWritable.readVector(in);
+    VectorWritable temp = new VectorWritable();
+    temp.readFields(in);
+    Vector vector = temp.get();
     return new MultiLabelVectorWritable(vector, labels);
   }
 

Modified: lucene/mahout/trunk/core/src/main/java/org/apache/mahout/math/VectorWritable.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/core/src/main/java/org/apache/mahout/math/VectorWritable.java?rev=909391&r1=909390&r2=909391&view=diff
==============================================================================
--- lucene/mahout/trunk/core/src/main/java/org/apache/mahout/math/VectorWritable.java (original)
+++ lucene/mahout/trunk/core/src/main/java/org/apache/mahout/math/VectorWritable.java Fri Feb 12 13:04:16 2010
@@ -19,7 +19,6 @@
 
 import org.apache.hadoop.conf.Configured;
 import org.apache.hadoop.io.Writable;
-import org.apache.hadoop.util.ReflectionUtils;
 
 import java.io.DataInput;
 import java.io.DataOutput;
@@ -28,9 +27,6 @@
 public class VectorWritable extends Configured implements Writable {
 
   private Vector vector;
-  // cache most recent vector instance class name
-  private static String instanceClassName;// cache most recent vector instance class
-  private static Class<? extends Vector> instanceClass;
 
   public Vector get() {
     return vector;
@@ -41,11 +37,10 @@
   }
 
   public VectorWritable() {
-
   }
 
   public VectorWritable(Vector v) {
-    set(v);
+    vector = v;
   }
 
   @Override
@@ -67,41 +62,23 @@
   public void readFields(DataInput in) throws IOException {
     try {
       String vectorClassName = in.readUTF();
-      Class<? extends Vector> inputClass = getConf().getClassByName(vectorClassName).asSubclass(Vector.class);
-      Class<? extends Vector> vectorClass = getConf().getClass("vector.class", inputClass, Vector.class);
-      vector = ReflectionUtils.newInstance(vectorClass, getConf());
+      Class<? extends Vector> vectorClass = Class.forName(vectorClassName).asSubclass(Vector.class);
+      vector = vectorClass.newInstance();
       ((Writable)vector).readFields(in);
     } catch (ClassNotFoundException cnfe) {
       throw new IOException(cnfe);
     } catch (ClassCastException cce) {
       throw new IOException(cce);
+    } catch (InstantiationException ie) {
+      throw new IOException(ie);
+    } catch (IllegalAccessException iae) {
+      throw new IOException(iae);
     }
   }
 
-  /** Read and return a vector from the input */
-  public static Vector readVector(DataInput in) throws IOException {
-    String vectorClassName = in.readUTF();
-    Vector vector;
-    try {
-      if (!vectorClassName.equals(instanceClassName)) {
-        instanceClassName = vectorClassName;
-        instanceClass = Class.forName(vectorClassName).asSubclass(Vector.class);
-      }
-      vector = instanceClass.newInstance();
-    } catch (ClassNotFoundException e) {
-      throw new IllegalStateException(e);
-    } catch (IllegalAccessException e) {
-      throw new IllegalStateException(e);
-    } catch (InstantiationException e) {
-      throw new IllegalStateException(e);
-    }
-    ((Writable)vector).readFields(in);
-    return vector;
-  }
-
   /** Write the vector to the output */
-  public static void writeVector(DataOutput out, Vector vector)
-      throws IOException {
+  public static void writeVector(DataOutput out, Vector vector) throws IOException {
     new VectorWritable(vector).write(out);
   }
+
 }

Modified: lucene/mahout/trunk/core/src/test/java/org/apache/mahout/df/mapred/partial/PartialBuilderTest.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/core/src/test/java/org/apache/mahout/df/mapred/partial/PartialBuilderTest.java?rev=909391&r1=909390&r2=909391&view=diff
==============================================================================
--- lucene/mahout/trunk/core/src/test/java/org/apache/mahout/df/mapred/partial/PartialBuilderTest.java (original)
+++ lucene/mahout/trunk/core/src/test/java/org/apache/mahout/df/mapred/partial/PartialBuilderTest.java Fri Feb 12 13:04:16 2010
@@ -152,7 +152,7 @@
     return array;
   }
 
-  protected static class PartialBuilderChecker extends PartialBuilder {
+  private static class PartialBuilderChecker extends PartialBuilder {
 
     private final Long seed;
 
@@ -195,7 +195,7 @@
    * Mock Callback. Make sure that the callback receives the correct predictions
    * 
    */
-  protected static class TestCallback implements PredictionCallback {
+  private static class TestCallback implements PredictionCallback {
 
     private final TreeID[] keys;
 

Modified: lucene/mahout/trunk/core/src/test/java/org/apache/mahout/df/mapreduce/partial/PartialSequentialBuilder.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/core/src/test/java/org/apache/mahout/df/mapreduce/partial/PartialSequentialBuilder.java?rev=909391&r1=909390&r2=909391&view=diff
==============================================================================
--- lucene/mahout/trunk/core/src/test/java/org/apache/mahout/df/mapreduce/partial/PartialSequentialBuilder.java (original)
+++ lucene/mahout/trunk/core/src/test/java/org/apache/mahout/df/mapreduce/partial/PartialSequentialBuilder.java Fri Feb 12 13:04:16 2010
@@ -275,7 +275,7 @@
    * Special Step1Mapper that can be configured without using a Configuration
    * 
    */
-  protected static class MockStep1Mapper extends Step1Mapper {
+  private static class MockStep1Mapper extends Step1Mapper {
     protected MockStep1Mapper(TreeBuilder treeBuilder, Dataset dataset, Long seed,
         int partition, int numMapTasks, int numTrees) {
       configure(false, true, treeBuilder, dataset);