WIP
[demos/kafka/wordcount] / src / main / java / de / juplo / kafka / wordcount / top10 / Ranking.java
index cc08f4b..80e8742 100644 (file)
@@ -7,20 +7,20 @@ import java.util.LinkedList;
 import java.util.List;
 
 
-@AllArgsConstructor(staticName = "of")
+@AllArgsConstructor(access = AccessLevel.PRIVATE)
 @NoArgsConstructor
 @Data
 public class Ranking
 {
   private Entry[] entries = new Entry[0];
 
-  public void add(Entry newEntry)
+  public Ranking add(Entry newEntry)
   {
     if (entries.length == 0)
     {
       entries = new Entry[1];
       entries[0] = newEntry;
-      return;
+      return this;
     }
 
     List<Entry> list = new LinkedList<>(Arrays.asList(entries));
@@ -29,7 +29,7 @@ public class Ranking
       Entry entry;
 
       entry = list.get(i);
-      if (entry.getCount() <= newEntry.getCount())
+      if (entry.getCounter() <= newEntry.getCounter())
       {
         list.add(i, newEntry);
         for (int j = i+1; j < list.size(); j++)
@@ -46,8 +46,15 @@ public class Ranking
           list = list.subList(0,10);
         }
         entries = list.toArray(num -> new Entry[num]);
-        return;
+        return this;
       }
     }
+
+    return this;
+  }
+
+  public static Ranking of(Entry... entries)
+  {
+    return new Ranking(entries);
   }
 }