List of usage examples for com.google.common.collect Sets newTreeSet
public static <E> TreeSet<E> newTreeSet(Comparator<? super E> comparator)
From source file:org.apache.isis.core.metamodel.facets.CollectionUtils.java
/** * Copies the iterable into the specified type. *///ww w. j a v a 2s .c om public static Object copyOf(final Iterable<Object> iterable, final Class<?> requiredType) { if (iterable == null) { throw new IllegalArgumentException("Iterable must be provided"); } if (requiredType == null) { throw new IllegalArgumentException("RequiredType must be provided"); } // specific list implementations if (CopyOnWriteArrayList.class == requiredType) { return Lists.newCopyOnWriteArrayList(iterable); } if (LinkedList.class == requiredType) { return Lists.newLinkedList(iterable); } if (ArrayList.class == requiredType) { return Lists.newArrayList(iterable); } if (AbstractList.class == requiredType) { return Lists.newArrayList(iterable); } // specific set implementations if (CopyOnWriteArraySet.class == requiredType) { return Sets.newCopyOnWriteArraySet(iterable); } if (LinkedHashSet.class == requiredType) { return Sets.newLinkedHashSet(iterable); } if (HashSet.class == requiredType) { return Sets.newHashSet(iterable); } if (TreeSet.class == requiredType) { Iterable rawIterable = iterable; return Sets.newTreeSet(rawIterable); } if (AbstractSet.class == requiredType) { return Sets.newLinkedHashSet(iterable); } // interfaces if (List.class == requiredType) { return Lists.newArrayList(iterable); } if (SortedSet.class == requiredType) { Iterable rawIterable = iterable; return Sets.newTreeSet(rawIterable); } if (Set.class == requiredType) { return Sets.newLinkedHashSet(iterable); } if (Collection.class == requiredType) { return Lists.newArrayList(iterable); } // array if (requiredType.isArray()) { Class<?> componentType = requiredType.getComponentType(); Iterable rawIterable = iterable; return Iterables.toArray(rawIterable, componentType); } // not recognized return null; }
From source file:org.glowroot.weaving.preinit.GlobalCollector.java
public List<String> usedInternalNames() { List<String> internalNames = Lists.newArrayList(); for (String internalName : Sets.newTreeSet(classCollectors.keySet())) { if (!InternalNames.inBootstrapClassLoader(internalName) && !internalName.startsWith("org/slf4j/") && !internalName.startsWith("org/glowroot/shaded/slf4j/") && InternalNames.exists(internalName)) { internalNames.add(ClassNames.fromInternalName(internalName)); }//from ww w.ja v a 2s .c om } return internalNames; }
From source file:com.google.gerrit.server.account.UniversalGroupBackend.java
@Override public Collection<GroupReference> suggest(String name, ProjectControl project) { Set<GroupReference> groups = Sets.newTreeSet(GROUP_REF_NAME_COMPARATOR); for (GroupBackend g : backends) { groups.addAll(g.suggest(name, project)); }/*from w ww.java 2s. c o m*/ return groups; }
From source file:com.google.api.control.aggregator.OperationAggregator.java
/** * @return an {@code Operation} that combines all the merged {@code Operation}s *///from ww w . java 2 s.com public Operation asOperation() { // We have to clear this in case this is called multiple times. Otherwise, metrics will be // duplicated on subsequent calls. op.clearMetricValueSets(); Set<String> keySet = Sets.newTreeSet(this.metricValues.keySet()); for (String name : keySet) { Collection<MetricValue> values = this.metricValues.get(name).values(); op.addMetricValueSets(MetricValueSet.newBuilder().setMetricName(name).addAllMetricValues(values)); } return op.build(); }
From source file:kr.co.vcnc.haeinsa.HaeinsaDelete.java
/** * Delete all versions of the specified column. * * @param family family name/*from www . jav a2 s.c o m*/ * @param qualifier column qualifier * @return this for invocation chaining */ public HaeinsaDelete deleteColumns(byte[] family, byte[] qualifier) { NavigableSet<HaeinsaKeyValue> set = familyMap.get(family); if (set == null) { set = Sets.newTreeSet(HaeinsaKeyValue.COMPARATOR); } set.add(new HaeinsaKeyValue(this.row, family, qualifier, null, KeyValue.Type.DeleteColumn)); familyMap.put(family, set); return this; }
From source file:org.codeqinvest.codechanges.WeightedCodeChangeProbabilityCalculator.java
private SortedSet<DailyCodeChurn> sortDescendingByDay(Collection<DailyCodeChurn> codeChurns) { SortedSet<DailyCodeChurn> sortedCodeChurn = Sets.newTreeSet(new Comparator<DailyCodeChurn>() { @Override/*from ww w .j a va 2 s. co m*/ public int compare(DailyCodeChurn codeChurn, DailyCodeChurn otherCodeChurn) { return -1 * codeChurn.getDay().compareTo(otherCodeChurn.getDay()); } }); sortedCodeChurn.addAll(codeChurns); return sortedCodeChurn; }
From source file:com.metamx.druid.indexer.path.GranularityPathSpec.java
@Override public Job addInputPaths(HadoopDruidIndexerConfig config, Job job) throws IOException { final Set<Interval> intervals = Sets.newTreeSet(Comparators.intervals()); for (Interval segmentInterval : config.getSegmentGranularIntervals()) { for (Interval dataInterval : dataGranularity.getIterable(segmentInterval)) { intervals.add(dataInterval); }// www . j ava 2 s . co m } Path betaInput = new Path(inputPath); FileSystem fs = betaInput.getFileSystem(job.getConfiguration()); Set<String> paths = Sets.newTreeSet(); Pattern fileMatcher = Pattern.compile(filePattern); DateTimeFormatter customFormatter = null; if (pathFormat != null) { customFormatter = DateTimeFormat.forPattern(pathFormat); } for (Interval interval : intervals) { DateTime t = interval.getStart(); String intervalPath = null; if (customFormatter != null) { intervalPath = customFormatter.print(t); } else { intervalPath = dataGranularity.toPath(t); } Path granularPath = new Path(betaInput, intervalPath); log.info("Checking path[%s]", granularPath); for (FileStatus status : FSSpideringIterator.spiderIterable(fs, granularPath)) { final Path filePath = status.getPath(); if (fileMatcher.matcher(filePath.toString()).matches()) { paths.add(filePath.toString()); } } } for (String path : paths) { log.info("Appending path[%s]", path); FileInputFormat.addInputPath(job, new Path(path)); } return job; }
From source file:com.splicemachine.impl.MockRegionUtils.java
public static HRegion getMockRegion() throws IOException { final Map<byte[], Set<Cell>> rowMap = Maps.newTreeMap(Bytes.BYTES_COMPARATOR); HRegion fakeRegion = mock(HRegion.class); HRegionInfo fakeInfo = mock(HRegionInfo.class); when(fakeInfo.getStartKey()).thenReturn(HConstants.EMPTY_BYTE_ARRAY); when(fakeInfo.getEndKey()).thenReturn(HConstants.EMPTY_BYTE_ARRAY); when(fakeRegion.getRegionInfo()).thenReturn(fakeInfo); when(fakeRegion.get(any(Get.class))).thenAnswer(new Answer<Result>() { @Override//w w w .ja v a2 s. co m public Result answer(InvocationOnMock invocationOnMock) throws Throwable { final Get get = (Get) invocationOnMock.getArguments()[0]; Set<Cell> keyValues = rowMap.get(get.getRow()); if (get.hasFamilies()) { Set<Cell> filtered = Sets.filter(keyValues, new Predicate<Cell>() { @Override public boolean apply(@Nullable Cell input) { Map<byte[], NavigableSet<byte[]>> familyMap = get.getFamilyMap(); if (!familyMap.containsKey(input.getFamily())) return false; NavigableSet<byte[]> qualifiers = familyMap.get(input.getFamily()); return qualifiers.contains(input.getQualifier()); } }); List<Cell> kvs = Lists.newArrayList(filtered); return Result.create(kvs); } else if (keyValues != null) { return Result.create(Lists.newArrayList(keyValues)); } else return null; } }); Answer<Void> putAnswer = new Answer<Void>() { @Override public Void answer(InvocationOnMock invocationOnMock) throws Throwable { Put put = (Put) invocationOnMock.getArguments()[0]; Set<Cell> keyValues = rowMap.get(put.getRow()); if (keyValues == null) { keyValues = Sets.newTreeSet(new KeyValue.KVComparator()); rowMap.put(put.getRow(), keyValues); } Map<byte[], List<KeyValue>> familyMap = put.getFamilyMap(); for (List<KeyValue> kvs : familyMap.values()) { for (KeyValue kv : kvs) { boolean ts = !kv.isLatestTimestamp(); kv = ts ? kv : new KeyValue(kv.getRow(), kv.getFamily(), kv.getQualifier(), System.currentTimeMillis(), kv.getValue()); if (keyValues.contains(kv)) { keyValues.remove(kv); } keyValues.add(kv); } } return null; } }; doAnswer(putAnswer).when(fakeRegion).put(any(Put.class)); Answer<Void> deleteAnswer = new Answer<Void>() { @Override public Void answer(InvocationOnMock invocationOnMock) throws Throwable { Delete delete = (Delete) invocationOnMock.getArguments()[0]; Set<Cell> keyValues = rowMap.get(delete.getRow()); if (keyValues == null) return null; //nothing to do, it's already deleted long timestamp = delete.getTimeStamp(); boolean isEmpty = delete.isEmpty(); if (isEmpty) { Iterator<Cell> iter = keyValues.iterator(); while (iter.hasNext()) { Cell kv = iter.next(); if (kv.getTimestamp() == timestamp) iter.remove(); } } else { Map<byte[], List<KeyValue>> deleteFamilyMap = delete.getFamilyMap(); Iterator<Cell> iter = keyValues.iterator(); while (iter.hasNext()) { Cell kv = iter.next(); if (!deleteFamilyMap.containsKey(kv.getFamily())) continue; List<KeyValue> toDelete = deleteFamilyMap.get(kv.getFamily()); if (toDelete.size() > 0) { for (KeyValue toDeleteKv : toDelete) { if (toDeleteKv.getQualifier().length <= 0) { //delete everything if (kv.getTimestamp() == toDeleteKv.getTimestamp()) { iter.remove(); break; } } else if (Bytes.equals(kv.getQualifier(), toDeleteKv.getQualifier())) { if (kv.getTimestamp() == toDeleteKv.getTimestamp()) { iter.remove(); break; } } } } else { if (kv.getTimestamp() == timestamp) iter.remove(); } } } return null; } }; doAnswer(deleteAnswer).when(fakeRegion).delete(any(Delete.class)); when(fakeRegion.getScanner(any(Scan.class))).thenAnswer(new Answer<RegionScanner>() { @Override public RegionScanner answer(InvocationOnMock invocationOnMock) throws Throwable { Scan scan = (Scan) invocationOnMock.getArguments()[0]; return new IteratorRegionScanner(rowMap.values().iterator(), scan); } }); return fakeRegion; }
From source file:org.gradle.api.reporting.components.internal.ComponentReportRenderer.java
public void renderSourceSets(Collection<LanguageSourceSet> sourceSets) { Set<LanguageSourceSet> additionalSourceSets = Sets.newTreeSet(SourceSetRenderer.SORT_ORDER); for (LanguageSourceSet sourceSet : sourceSets) { if (!componentSourceSets.contains(sourceSet)) { additionalSourceSets.add(sourceSet); }//from ww w.j av a2 s . c o m } if (!additionalSourceSets.isEmpty()) { getBuilder().getOutput().println(); getBuilder().collection("Additional source sets", additionalSourceSets, sourceSetRenderer, "source sets"); } }
From source file:eu.interedition.text.util.OverlapAnalyzer.java
@Override public void end(long offset, Iterable<Annotation> annotations) { for (Annotation ending : annotations) { started.remove(ending);/*from www. j a va 2s .co m*/ } for (Annotation ending : annotations) { final Name endingName = ending.getName(); for (TextTarget endingTarget : ending.getTargets()) { for (Annotation started : this.started) { final Name startedName = started.getName(); for (TextTarget startedTarget : started.getTargets()) { if (!startedTarget.encloses(endingTarget)) { if (startedName.equals(endingName)) { selfOverlapping.add(endingName); } else { overlapping.add(Sets.newTreeSet(Sets.newHashSet(startedName, endingName))); } } } } } } }