@Test public void testMissingKeyDescendingSort() { Map<Long, Map<String, Set<TObject>>> records = Maps.newLinkedHashMap(); List<String> keys = Lists.newArrayList("name", "company", "age"); Map<String, Set<TObject>> entry = TMaps .newLinkedHashMapWithCapacity(keys.size()); Set<TObject> values = Sets.newHashSet(Convert.javaToThrift("jeff")); entry.put("name", values); values = Sets.newHashSet(Convert.javaToThrift("Cinchapi")); entry.put("company", values); values = Sets.newHashSet(Convert.javaToThrift(50)); entry.put("age", values); TMaps.putResultDatasetOptimized(records, Integer.toUnsignedLong(1), entry); entry = TMaps.newLinkedHashMapWithCapacity(keys.size()); values = Sets.newHashSet(Convert.javaToThrift("jeffB")); entry.put("name", values); values = Sets.newHashSet(Convert.javaToThrift("Blavity")); entry.put("company", values); values = Sets.newHashSet(Convert.javaToThrift(100)); entry.put("age", values); TMaps.putResultDatasetOptimized(records, Integer.toUnsignedLong(2), entry); entry = TMaps.newLinkedHashMapWithCapacity(keys.size()); values = Sets.newHashSet(Convert.javaToThrift("ashleah")); entry.put("name", values); values = Sets.newHashSet(Convert.javaToThrift("ARMN Inc.")); entry.put("company", values); TMaps.putResultDatasetOptimized(records, Integer.toUnsignedLong(3), entry); entry = TMaps.newLinkedHashMapWithCapacity(keys.size()); values = Sets.newHashSet(Convert.javaToThrift("mark")); entry.put("name", values); values = Sets.newHashSet(Convert.javaToThrift("Cinchapi")); entry.put("company", values); values = Sets.newHashSet(Convert.javaToThrift(100)); entry.put("age", values); TMaps.putResultDatasetOptimized(records, Integer.toUnsignedLong(4), entry); Order order = Order.by("age").descending(); Store store = new Queue(1); Map<Long, Map<String, Set<TObject>>> result = Sorting .byValues(order, store).sort(records); List<Long> expectedSort = Lists.newArrayList(); expectedSort.add(Integer.toUnsignedLong(2)); expectedSort.add(Integer.toUnsignedLong(4)); expectedSort.add(Integer.toUnsignedLong(1)); expectedSort.add(Integer.toUnsignedLong(3)); List<Long> sort = Lists.newArrayList(result.keySet()); Assert.assertEquals(expectedSort, sort); }
public static Sorter<Set<TObject>> byValues(Order order, Store store) { return order instanceof NoOrder ? new NoOrderSorter<>() : new ByValuesSorter(order, store); }
Sorting { public static Sorter<Set<TObject>> byValues(Order order, Store store) { return order instanceof NoOrder ? new NoOrderSorter<>() : new ByValuesSorter(order, store); } }
Sorting { public static Sorter<Set<TObject>> byValues(Order order, Store store) { return order instanceof NoOrder ? new NoOrderSorter<>() : new ByValuesSorter(order, store); } private  Sorting(); }
Sorting { public static Sorter<Set<TObject>> byValues(Order order, Store store) { return order instanceof NoOrder ? new NoOrderSorter<>() : new ByValuesSorter(order, store); } private  Sorting(); static Sorter<TObject> byValue(Order order, Store store); static Sorter<Set<TObject>> byValues(Order order, Store store); }
Sorting { public static Sorter<Set<TObject>> byValues(Order order, Store store) { return order instanceof NoOrder ? new NoOrderSorter<>() : new ByValuesSorter(order, store); } private  Sorting(); static Sorter<TObject> byValue(Order order, Store store); static Sorter<Set<TObject>> byValues(Order order, Store store);  }