com.google.common.collect.RangeMap的实例源码

项目:martini-core    文件:DefaultMixology.java   
protected List<Recipe> getRecipes(FeatureWrapper feature,Collection<Pickle> pickles) {
    int pickleCount = pickles.size();
    ArrayList<Recipe> recipes = Lists.newArrayListWithExpectedSize(pickleCount);
    Set<Integer> pickleLines = Sets.newHashSetWithExpectedSize(pickleCount);

    RangeMap<Integer,ScenarioDefinition> rangeMap = getRangeMap(feature);
    for (Pickle pickle : pickles) {
        List<PickleLocation> locations = pickle.getLocations();
        for (PickleLocation location : locations) {
            int line = location.getLine();
            if (!pickleLines.contains(line)) {
                pickleLines.add(line);
                Range<Integer> range = Range.singleton(line);
                RangeMap<Integer,ScenarioDefinition> subRangeMap = rangeMap.subRangeMap(range);
                Map<Range<Integer>,ScenarioDefinition> asMap = subRangeMap.asMapOfRanges();
                checkState(1 == asMap.size(),"no single range found encompassing PickleLocation %s",location);
                ScenarioDefinition definition = Iterables.getOnlyElement(asMap.values());
                Recipe recipe = new Recipe(feature,pickle,location,definition);
                recipes.add(recipe);
            }
        }
    }
    return recipes;
}
项目:martini-core    文件:DefaultMixology.java   
protected RangeMap<Integer,ScenarioDefinition> getRangeMap(FeatureWrapper feature) {
    List<ScenarioDefinition> children = Lists.newArrayList(feature.getChildren());

    ImmutableRangeMap.Builder<Integer,ScenarioDefinition> builder = ImmutableRangeMap.builder();
    while (!children.isEmpty()) {
        ScenarioDefinition child = children.remove(0);
        Location location = child.getLocation();
        Integer childStart = location.getLine();

        ScenarioDefinition sibling = children.isEmpty() ? null : children.get(0);
        Location siblingLocation = null == sibling ? null : sibling.getLocation();
        Integer siblingStart = null == siblingLocation ? null : siblingLocation.getLine();

        Range<Integer> range = null == siblingStart ? Range.atLeast(childStart) : Range.closedOpen(childStart,siblingStart);
        builder.put(range,child);
    }
    return builder.build();
}
项目:Wiab.pro    文件:BlockIndexImpl.java   
@Override
public synchronized void update(Fragment fragment) {
  RangeMap<RangeValue,String> ranges = getRanges(fragment.getSegmentId());
  Map.Entry<Range<RangeValue>,String> entry = ranges.getEntry(RangeValue.of(fragment.getStartVersion()));
  if (entry != null) {
      Preconditions.checkArgument(entry.getValue().equals(fragment.getBlock().getBlockId()),"New range overlaps an existing by block Id");
    Preconditions.checkArgument(fragment.getStartVersion() == entry.getKey().lowerEndpoint().get(),"New range overlaps an existing by start version");
    entry.getKey().upperEndpoint().set(fragment.isLast() ? Long.MAX_VALUE : fragment.getLastModifiedVersion());
  } else {
    ranges.put(Range.closed(RangeValue.of(fragment.getStartVersion()),RangeValue.of(fragment.isLast() ? Long.MAX_VALUE : fragment.getLastModifiedVersion())),fragment.getBlock().getBlockId());
  }
}
项目:Wiab.pro    文件:BlockIndexImpl.java   
private RangeMap<RangeValue,String> getRanges(SegmentId segmentId) {
  RangeMap<RangeValue,String> ranges = rangeMap.getIfPresent(segmentId);
  if (ranges == null) {
    try {
      ranges = rangeMap.get(segmentId);
      if (serialized != null) {
        int index = serialized.getSegmentIdList().indexOf(segmentId.serialize());
        if (index != -1) {
          SegmentRanges serializedRanges = serialized.getSegmentRanges(index);
          for (ByteString serializedFragment : serializedRanges.getRawFragmentRangesList()) {
            ProtoBlockIndex.BlockIndex.FragmentRange fragment =
                ProtoBlockIndex.BlockIndex.FragmentRange.parseFrom(serializedFragment);
            ranges.put(Range.closed(RangeValue.of(fragment.getSourceVersion()),RangeValue.of(fragment.getTargetVersion())),fragment.getBlockId());
          }
        }
      }
    } catch (ExecutionException | InvalidProtocolBufferException ex) {
      throw new RuntimeException(ex);
    }
  }
  return ranges;
}
项目:owsi-core-parent    文件:AbstractExcelTableExport.java   
/**
 * Ajoute les en-têtes dans la feuille de calcul et cache les colonnes qui doivent l'être.
 * 
 * @param sheet feuille de calcul
 * @param rowIndex numéro de la ligne
 * @param columnInfos RangeMap contenant les informations de colonnes (valeurs) et les index sur auxquelles s'appliquent ces colonnes (clés).
 *                    Les "colonnes" s'étendant sur plus d'un index seront automatiquement fusionnées.
 */
protected void addHeadersToSheet(Sheet sheet,int rowIndex,RangeMap<Integer,ColumnInformation> columnInfos) {
    Row rowHeader = sheet.createRow(rowIndex);
    for (Map.Entry<Range<Integer>,ColumnInformation> entry : columnInfos.asMapOfRanges().entrySet()) {
        Range<Integer> range = entry.getKey();
        ColumnInformation columnInformation = entry.getValue();

        addHeaderCell(rowHeader,range.lowerEndpoint(),getColumnLabel(columnInformation.getHeaderKey()));

        for (Integer columnIndex : ContiguousSet.create(range,DiscreteDomain.integers())) {
            sheet.setColumnHidden(columnIndex,columnInformation.isHidden());
        }

        int beginIndex = range.lowerEndpoint();
        int endIndex = range.upperEndpoint();
        if (beginIndex != endIndex) {
            sheet.addMergedRegion(new CellRangeAddress(rowIndex,rowIndex,beginIndex,endIndex));
        }
    }
}
项目:tcl-regex-java    文件:RuntimeColorMap.java   
private void computeBmp(RangeMap<Integer,Short> fullMap) {
    for (Map.Entry<Range<Integer>,Short> me : fullMap.asMapOfRanges().entrySet()) {
        Range<Integer> range = me.getKey();
        int min = range.lowerEndpoint();
        if (range.lowerBoundType() == BoundType.OPEN) {
            min++;
        }
        if (min < Character.MAX_VALUE) {
            int rmax = range.upperEndpoint();
            if (range.upperBoundType() == BoundType.OPEN) {
                rmax--;
            }
            int max = Math.min(Character.MAX_VALUE,rmax);
            for (int x = min; x <= max; x++) {
                this.bmpMap[x] = me.getValue();
            }
        }
    }
}
项目:jpmml-evaluator    文件:DiscretizationUtil.java   
static
private RangeMap<Double,String> parseDiscretize(Discretize discretize){
    RangeMap<Double,String> result = TreeRangeMap.create();

    List<DiscretizeBin> discretizeBins = discretize.getDiscretizeBins();
    for(DiscretizeBin discretizeBin : discretizeBins){
        Interval interval = discretizeBin.getInterval();
        if(interval == null){
            throw new MissingAttributeException(discretizeBin,PMMLAttributes.DISCRETIZEBIN_INTERVAL);
        }

        Range<Double> range = toRange(interval);

        String binValue = discretizeBin.getBinValue();
        if(binValue == null){
            throw new MissingAttributeException(discretizeBin,PMMLAttributes.DISCRETIZEBIN_BINVALUE);
        }

        result.put(range,binValue);
    }

    return result;
}
项目:levelup-java-exercises    文件:BankCharges.java   
public static void main(String[] args) {

        // define rages for checks
        RangeMap<Integer,Double> checkFee = TreeRangeMap.create();
        checkFee.put(Range.closed(0,19),.1);
        checkFee.put(Range.closed(20,39),.8);
        checkFee.put(Range.closed(40,59),.6);
        checkFee.put(Range.closed(60,Integer.MAX_VALUE),.4);

        // Create a Scanner object for keyboard input.
        Scanner keyboard = new Scanner(System.in);

        // Get the number of checks written.
        System.out.print("Enter the number of checks written " + "this month: ");
        int numChecks = keyboard.nextInt();

        //close scanner
        keyboard.close();

        // calculate total fee
        double total = BASE_FEE + (checkFee.get(numChecks) * numChecks); 

        // Display the total bank fees.
        System.out.printf("The total fees are $%.2f\n",total);
    }
项目:ProjectAres    文件:Renewable.java   
MaterialData chooseShuffledMaterial() {
    ImmutableRangeMap.Builder<Double,MaterialData> weightsBuilder = ImmutableRangeMap.builder();
    double sum = 0d;
    for(MaterialData material : shuffleableMaterialDeficit.materials()) {
        double weight = shuffleableMaterialDeficit.get(material);
        if(weight > 0) {
            weightsBuilder.put(Range.closedOpen(sum,sum + weight),material);
            sum += weight;
        }
    }
    RangeMap<Double,MaterialData> weights = weightsBuilder.build();
    return weights.get(match.getRandom().nextDouble() * sum);
}
项目:checkstyle-backport-jre6    文件:InputIndentationFromGuava2.java   
public V get(int index) { //indent:2 exp:2
  K key = null; //indent:4 exp:4
  int len = 0; //indent:4 exp:4
  checkElementIndex(index,len); //indent:4 exp:4
  int off; //indent:4 exp:4
  RangeMap<K,V> ranges = null; //indent:4 exp:4
  if (index == 0 || index == len - 1) { //indent:4 exp:4
    Object range; //indent:6 exp:6
    return ranges.get(key); //indent:6 exp:6
  } else { //indent:4 exp:4
    return ranges.get(key); //indent:6 exp:6
  } //indent:4 exp:4
}
项目:Wiab.pro    文件:BlockIndexImpl.java   
@Override
public synchronized ProtoBlockIndex.BlockIndex serialize() {
  ProtoBlockIndex.BlockIndex.Builder builder = ProtoBlockIndex.BlockIndex.newBuilder();
  builder.setFormatVersion(FORMAT_VERSION);
  if (serialized != null) {
    for (int i=0; i < serialized.getSegmentIdCount(); i++) {
      SegmentId segmentId = SegmentId.of(serialized.getSegmentId(i));
      if (rangeMap.getIfPresent(segmentId) == null) {
        builder.addSegmentId(serialized.getSegmentId(i));
        builder.addSegmentRanges(serialized.getSegmentRanges(i));
      }
    }
  }
  for (Map.Entry<SegmentId,RangeMap<RangeValue,String>> segmentEntry : rangeMap.asMap().entrySet()) {
    builder.addSegmentId(segmentEntry.getKey().toString());
    SegmentRanges.Builder rangesBuilder = builder.addSegmentRangesBuilder();
    Map<Range<RangeValue>,String> mapOfRanges = segmentEntry.getValue().asMapOfRanges();
    for (Map.Entry<Range<RangeValue>,String> range : mapOfRanges.entrySet()) {
      ProtoBlockIndex.BlockIndex.FragmentRange.Builder fragmentBuilder = ProtoBlockIndex.BlockIndex.FragmentRange.newBuilder();
      fragmentBuilder.setSourceVersion(range.getKey().lowerEndpoint().get());
      fragmentBuilder.setTargetVersion(range.getKey().upperEndpoint().get());
      fragmentBuilder.setBlockId(range.getValue());
      rangesBuilder.addRawFragmentRanges(fragmentBuilder.build().toByteString());
    }
  }
  Preconditions.checkArgument(lastModifiedVersion.getVersion() != 0 || rangeMap.asMap().isEmpty(),"Last modified version is 0 but range map is not empty");
  builder.setLastModifiedVersion(OperationSerializer.serialize(lastModifiedVersion));
  builder.setLastModifiedTime(lastModifiedTime);
  builder.setConsistent(consistent);
  return builder.build();
}
项目:dex    文件:Opcodes.java   
private Opcodes(int api,int artVersion,boolean experimental) {
    this.api = api;
    this.artVersion = artVersion;

    opcodeValues = new EnumMap<Opcode,Short>(Opcode.class);
    opcodesByName = Maps.newHashMap();

    int version;
    if (isArt()) {
        version = artVersion;
    } else {
        version = api;
    }

    for (Opcode opcode: Opcode.values()) {
        RangeMap<Integer,Short> versionToValueMap;

        if (isArt()) {
            versionToValueMap = opcode.artVersionToValueMap;
        } else {
            versionToValueMap = opcode.apiToValueMap;
        }

        Short opcodeValue = versionToValueMap.get(version);
        if (opcodeValue != null && (!opcode.isExperimental() || experimental)) {
            if (!opcode.format.isPayloadFormat) {
                opcodesByValue[opcodeValue] = opcode;
            }
            opcodeValues.put(opcode,opcodeValue);
            opcodesByName.put(opcode.name.toLowerCase(),opcode);
        }
    }
}
项目:owsi-core-parent    文件:AbstractExcelTableExport.java   
/**
 * Finalise la création de la feuille de calcul,notamment en demandant le
 * redimensionnement automatique des colonnes.
 * 
 * @param sheet feuilles de calcul
 * @param columnInfos collection contenant les informations de colonnes
 * @param landscapePrintSetup définit si la feuille est imprimée en paysage ou non
 */
protected void finalizeSheet(Sheet sheet,Collection<ColumnInformation> columnInfos,boolean landscapePrintSetup) {
    RangeMap<Integer,ColumnInformation> map = TreeRangeMap.create();
    int index = 0;
    for (ColumnInformation column : columnInfos) {
        map.put(Range.singleton(index),column);
        ++index;
    }
    finalizeSheet(sheet,map,landscapePrintSetup);
}
项目:DexTamper    文件:Opcodes.java   
private Opcodes(int api,opcode);
        }
    }
}
项目:pdptw-dataset-generator    文件:DatasetGenerator.java   
/**
 * Sets the dynamism levels.
 * @param levels At least one level must be given. The default level is
 *          <code>.5</code>.
 * @return This,as per the builder pattern.
 */
public Builder setDynamismLevels(Iterable<Double> levels) {
  checkArgument(Iterables.size(levels) > 0);
  final RangeSet<Double> rangeSet = TreeRangeSet.create();
  final Set<Range<Double>> dynamismLevelsB = new LinkedHashSet<>();
  final RangeMap<Double,Double> map = TreeRangeMap.create();
  for (final Double d : levels) {
    checkArgument(d >= 0d && d <= 1d);
    final Range<Double> newRange = createDynRange(d);
    checkArgument(
      rangeSet.subRangeSet(newRange).isEmpty(),"Can not add dynamism level %s,it is too close to another level.",d);
    rangeSet.add(newRange);
    dynamismLevelsB.add(newRange);
    map.put(newRange,d);
  }

  final SetMultimap<TimeSeriesType,Range<Double>> timeSeriesTypes =
    LinkedHashMultimap
      .<TimeSeriesType,Range<Double>>create();

  for (final Range<Double> r : dynamismLevelsB) {
    checkArgument(DYNAMISM_MAP.get(r.lowerEndpoint()) != null);
    checkArgument(DYNAMISM_MAP.get(r.lowerEndpoint()) == DYNAMISM_MAP.get(r
      .upperEndpoint()));

    timeSeriesTypes.put(DYNAMISM_MAP.get(r.lowerEndpoint()),r);
  }
  dynamismLevels = ImmutableSetMultimap.copyOf(timeSeriesTypes);
  dynamismRangeMap = ImmutableRangeMap.copyOf(map);
  return this;
}
项目:refactor-faster    文件:DescriptionBasedDiff.java   
private void addReplacement(Replacement replacement) {
  checkNotNull(replacement);
  Range<Integer> range = Range.closedOpen(replacement.startPosition,replacement.endPosition);

  RangeMap<Integer,Replacement> overlaps = replacements.subRangeMap(range);
  checkArgument(overlaps.asMapOfRanges().isEmpty(),"Replacement %s overlaps with %s",replacement,overlaps);

  replacements.put(range,replacement);
}
项目:google-java-format    文件:RemoveUnusedImports.java   
/** Construct replacements to fix unused imports. */
private static RangeMap<Integer,String> buildReplacements(
    String contents,JCCompilationUnit unit,Set<String> usedNames,Multimap<String,Range<Integer>> usedInJavadoc) {
  RangeMap<Integer,String> replacements = TreeRangeMap.create();
  for (JCImport importTree : unit.getImports()) {
    String simpleName = getSimpleName(importTree);
    if (!isUnused(unit,usedNames,usedInJavadoc,importTree,simpleName)) {
      continue;
    }
    // delete the import
    int endPosition = importTree.getEndPosition(unit.endPositions);
    endPosition = Math.max(CharMatcher.isNot(' ').indexIn(contents,endPosition),endPosition);
    String sep = Newlines.guessLineSeparator(contents);
    if (endPosition + sep.length() < contents.length()
        && contents.subSequence(endPosition,endPosition + sep.length()).equals(sep)) {
      endPosition += sep.length();
    }
    replacements.put(Range.closedOpen(importTree.getStartPosition(),"");
    // fully qualify any javadoc references with the same simple name as a deleted
    // non-static import
    if (!importTree.isStatic()) {
      for (Range<Integer> docRange : usedInJavadoc.get(simpleName)) {
        if (docRange == null) {
          continue;
        }
        String replaceWith = importTree.getQualifiedIdentifier().toString();
        replacements.put(docRange,replaceWith);
      }
    }
  }
  return replacements;
}
项目:google-java-format    文件:RemoveUnusedImports.java   
/** Applies the replacements to the given source,and re-format any edited javadoc. */
private static String applyReplacements(String source,String> replacements) {
  // save non-empty fixed ranges for reformatting after fixes are applied
  RangeSet<Integer> fixedRanges = TreeRangeSet.create();

  // Apply the fixes in increasing order,adjusting ranges to account for
  // earlier fixes that change the length of the source. The output ranges are
  // needed so we can reformat fixed regions,otherwise the fixes could just
  // be applied in descending order without adjusting offsets.
  StringBuilder sb = new StringBuilder(source);
  int offset = 0;
  for (Map.Entry<Range<Integer>,String> replacement : replacements.asMapOfRanges().entrySet()) {
    Range<Integer> range = replacement.getKey();
    String replaceWith = replacement.getValue();
    int start = offset + range.lowerEndpoint();
    int end = offset + range.upperEndpoint();
    sb.replace(start,end,replaceWith);
    if (!replaceWith.isEmpty()) {
      fixedRanges.add(Range.closedOpen(start,end));
    }
    offset += replaceWith.length() - (range.upperEndpoint() - range.lowerEndpoint());
  }
  String result = sb.toString();

  // If there were any non-empty replaced ranges (e.g. javadoc),reformat the fixed regions.
  // We could avoid formatting twice in --fix-imports=also mode,but that is not the default
  // and removing imports won't usually affect javadoc.
  if (!fixedRanges.isEmpty()) {
    try {
      result = new Formatter().formatSource(result,fixedRanges.asRanges());
    } catch (FormatterException e) {
      // javadoc reformatting is best-effort
    }
  }
  return result;
}
项目:horizondb    文件:TimeSeries.java   
public void write(DataBlock block,ListenableFuture<ReplayPosition> future,boolean replay) throws IOException,HorizonDBException {

    RangeMap<Field,DataBlock> blocks = block.split(this.definition);

    for (Entry<Range<Field>,DataBlock> entry : blocks.asMapOfRanges().entrySet()) {  
        writeToPartition(toPartitionId(entry.getKey()),entry.getValue(),future,replay);
    }
}
项目:gatk    文件:GVCFWriter.java   
/**
 * Create {@link HomRefBlock}s which will collectively accept variants of any genotype quality
 *
 * Each individual block covers a band of genotype qualities with the splits between bands occurring at values in {@code gqPartitions}.
 * There will be {@code gqPartitions.size() +1} bands produced covering the entire possible range of genotype qualities from 0 to {@link VCFConstants#MAX_GENOTYPE_QUAL}.
 *
 * @param gqPartitions proposed GQ partitions
 * @return a list of HomRefBlocks accepting bands of genotypes qualities split at the points specified in gqPartitions
 */
@VisibleForTesting
static RangeMap<Integer,Range<Integer>> parsePartitions(final List<Integer> gqPartitions) {
    Utils.nonEmpty(gqPartitions);
    Utils.containsNoNull(gqPartitions,"The list of GQ partitions contains a null integer");
    final RangeMap<Integer,Range<Integer>> result = TreeRangeMap.create();
    int lastThreshold = 0;
    for (final Integer value : gqPartitions) {
        if (value < 0) {
            throw new IllegalArgumentException("The list of GQ partitions contains a non-positive integer.");
        } else if (value > MAX_GENOTYPE_QUAL + 1) {
            throw new IllegalArgumentException(String.format("The value %d in the list of GQ partitions is greater than VCFConstants.MAX_GENOTYPE_QUAL + 1 = %d.",value,MAX_GENOTYPE_QUAL + 1));
        } else if (value < lastThreshold) {
            throw new IllegalArgumentException(String.format("The list of GQ partitions is out of order. Previous value is %d but the next is %d.",lastThreshold,value));
        } else if (value == lastThreshold) {
            throw new IllegalArgumentException(String.format("The value %d appears more than once in the list of GQ partitions.",value));
        }

        result.put(Range.closedOpen(lastThreshold,value),Range.closedOpen(lastThreshold,value));
        lastThreshold = value;
    }

    if (lastThreshold <= MAX_GENOTYPE_QUAL) {
        result.put(Range.closedOpen(lastThreshold,MAX_GENOTYPE_QUAL + 1),MAX_GENOTYPE_QUAL + 1));
    }

    return result;
}
项目:java-util-examples    文件:RangeMapExample.java   
@Test
public void google_guava_range_map_example () {

    RangeMap<Integer,String> gradeScale = TreeRangeMap.create();
    gradeScale.put(Range.closed(0,60),"F");
    gradeScale.put(Range.closed(61,70),"D");
    gradeScale.put(Range.closed(71,80),"C");
    gradeScale.put(Range.closed(81,90),"B");
    gradeScale.put(Range.closed(91,100),"A");

    String grade = gradeScale.get(77);

    assertEquals("C",grade);
}
项目:Refaster    文件:DescriptionBasedDiff.java   
private void addReplacement(Replacement replacement) {
  checkNotNull(replacement);
  Range<Integer> range = Range.closedOpen(replacement.startPosition,replacement);
}
项目:checkstyle    文件:InputIndentationFromGuava2.java   
public V get(int index) { //indent:2 exp:2
  K key = null; //indent:4 exp:4
  int len = 0; //indent:4 exp:4
  checkElementIndex(index,V> ranges = null; //indent:4 exp:4
  if (index == 0 || index == len - 1) { //indent:4 exp:4
    Object range; //indent:6 exp:6
    return ranges.get(key); //indent:6 exp:6
  } else { //indent:4 exp:4
    return ranges.get(key); //indent:6 exp:6
  } //indent:4 exp:4
}
项目:levelup-java-examples    文件:RangeMapExample.java   
@Test
public void google_guava_range_map_example () {

    RangeMap<Integer,grade);
}
项目:mobilitytestbed    文件:ExogenousSpeedLimitSegmentInfluence.java   
@Override
public double computedInfluencedSpeed(GraphType graphType,long fromNodeByNodeId,long toNodeByNodeId,double originSpeedInmps,double influencedSpeedInmps) {

    GraphTypeAndFromToNodeKey graphTypeAndFromToNodeKey = new GraphTypeAndFromToNodeKey(graphType,fromNodeByNodeId,toNodeByNodeId);
    RangeMap<Long,Double> rangeMap = exogenousSpeedLimits.get(graphTypeAndFromToNodeKey);

    if (rangeMap != null && getSpeedLimit(rangeMap) != null) {
        return getSpeedLimit(rangeMap);
    }

    return influencedSpeedInmps;
}
项目:pinto    文件:Cache.java   
public static List<DoubleStream> getCachedValues(String key,PeriodicRange<?> range,Function<PeriodicRange<?>,List<DoubleStream>> function) {
    @SuppressWarnings("unchecked")
    Periodicity<Period> freq = (Periodicity<Period>) range.periodicity();
    String wholeKey = key + ":" + range.periodicity().code();
    RangeMap<Long,CachedSeriesList> cache = null;
    synchronized (seriesCache) {
        if (range.clearCache() || !seriesCache.containsKey(wholeKey)) {
            seriesCache.put(wholeKey,TreeRangeMap.create());
        }
        cache = seriesCache.get(wholeKey);
    }
    synchronized (cache) {
        try {
            Range<Long> requestedRange = Range.closed(range.start().longValue(),range.end().longValue());
            Set<Range<Long>> toRemove = new HashSet<>();
            List<DoubleStream> chunkData = new ArrayList<>();
            long current = requestedRange.lowerEndpoint();
            long chunkStart = current;
            Optional<Long> expirationTime = Optional.empty();
            for (Map.Entry<Range<Long>,CachedSeriesList> e : cache.subRangeMap(requestedRange).asMapOfRanges()
                    .entrySet()) {
                toRemove.add(e.getKey());
                if(e.getValue().getExpirationTime().isPresent()) {
                    if(System.currentTimeMillis() > e.getValue().getExpirationTime().get()) {
                        break;
                    } else {
                        expirationTime = e.getValue().getExpirationTime();
                    }
                }
                long thisChunkStart = e.getValue().getRange().start().longValue();
                long thisChunkEnd = e.getValue().getRange().end().longValue();
                chunkStart = Long.min(chunkStart,thisChunkStart);
                if (current < thisChunkStart) {
                    concat(chunkData,function.apply(freq.range(current,thisChunkStart - 1,false)));
                }
                concat(chunkData,e.getValue().getSeries());
                current = thisChunkEnd + 1;
            }
            if (current <= requestedRange.upperEndpoint()) {
                concat(chunkData,requestedRange.upperEndpoint(),false)));
                current = requestedRange.upperEndpoint() + 1;
            }
            toRemove.stream().forEach(cache::remove);
            long now = freq.from(LocalDate.now()).longValue();
            if(now > chunkStart) {
                long endOfPast = Math.min(now - 1,current - 1);
                cache.put(Range.closed(chunkStart,endOfPast),new CachedSeriesList(freq.range(chunkStart,endOfPast,false),dup(chunkData,(int) (1 + endOfPast - chunkStart)),Optional.empty()));
            }
            if(current - 1 >= now) {
                long startOfNow = Math.max(now,chunkStart);
                cache.put(Range.closed(startOfNow,current - 1),new CachedSeriesList(freq.range(startOfNow,current - 1,(int) (startOfNow - chunkStart),(int) (current - startOfNow)),Optional.of(expirationTime.orElse(System.currentTimeMillis() + CURRENT_DATA_TIMEOUT))));
            }
            final long finalStart = chunkStart;
            return chunkData.stream()
                    .map(s -> s.skip(requestedRange.lowerEndpoint() - finalStart).limit(range.size()))
                    .collect(Collectors.toList());
        } catch (RuntimeException re) {
            seriesCache.remove(wholeKey);
            throw re;
        }
    }
}
项目:checkstyle-backport-jre6    文件:InputIndentationFromGuava2.java   
@Override //indent:2 exp:2
public void putAll(RangeMap<K,V> rangeMap) //indent:2 exp:2
{ //indent:2 exp:2

}
项目:checkstyle-backport-jre6    文件:InputIndentationFromGuava2.java   
@Override //indent:2 exp:2
public RangeMap<K,V> subRangeMap(Range<K> range) //indent:2 exp:2
{ //indent:2 exp:2
  return null; //indent:4 exp:4
}
项目:JCL    文件:Opcodes.java   
private Opcodes(int api,int artVersion) {


        if (api >= 21) {
            this.api = api;
            this.artVersion = mapApiToArtVersion(api);
        } else if (artVersion >= 0 && artVersion < 39) {
            this.api = mapArtVersionToApi(artVersion);
            this.artVersion = artVersion;
        } else {
            this.api = api;
            this.artVersion = artVersion;
        }

        opcodeValues = new EnumMap<Opcode,Short>(Opcode.class);
        opcodesByName = Maps.newHashMap();

        int version;
        if (isArt()) {
            version = this.artVersion;
        } else {
            version = this.api;
        }

        for (Opcode opcode: Opcode.values()) {
            RangeMap<Integer,Short> versionToValueMap;

            if (isArt()) {
                versionToValueMap = opcode.artVersionToValueMap;
            } else {
                versionToValueMap = opcode.apiToValueMap;
            }

            Short opcodeValue = versionToValueMap.get(version);
            if (opcodeValue != null) {
                if (!opcode.format.isPayloadFormat) {
                    opcodesByValue[opcodeValue] = opcode;
                }
                opcodeValues.put(opcode,opcodeValue);
                opcodesByName.put(opcode.name.toLowerCase(),opcode);
            }
        }
    }
项目:Wiab.pro    文件:BlockIndexImpl.java   
@Override
public RangeMap<RangeValue,String> load(SegmentId segmentId) throws Exception {
  return TreeRangeMap.create();
}
项目:owsi-core-parent    文件:AbstractExcelTableExport.java   
/**
 * @see #finalizeSheet(Sheet,RangeMap,boolean)
 */
protected void finalizeSheet(Sheet sheet,ColumnInformation> columnInfos) {
    // Par défaut,le format d'impression est en paysage pour les tableaux Excel
    finalizeSheet(sheet,columnInfos,true);
}
项目:gondola    文件:BucketManager.java   
public RangeMap<Integer,ShardState> getBucketMap() {
    return bucketMap;
}
项目:gatk    文件:GVCFWriterUnitTest.java   
@Test(dataProvider = "GoodBandPartitionData")
public void testGoodPartitions(final List<Integer> partitions,List<Range<Integer>> expected) {
    final RangeMap<Integer,Range<Integer>> ranges = GVCFWriter.parsePartitions(partitions);
    Assert.assertEquals(new ArrayList<>(ranges.asMapOfRanges().values()),expected);
}
项目:tcl-regex-java    文件:RuntimeColorMap.java   
/**
 * Make a runtime color map. It might be sensible for the BMP optimization
 * to be saved someplace and not recomputed here.
 * @param fullMap -- the map as built in {@link com.basistech.tclre.ColorMap}
 */
RuntimeColorMap(RangeMap<Integer,Short> fullMap) {
    this.fullMap = fullMap;
    this.bmpMap = new short[Character.MAX_VALUE + 1];
    computeBmp(fullMap);
}
项目:jpmml-evaluator    文件:DiscretizationUtil.java   
@Override
public RangeMap<Double,String> load(Discretize discretize){
    return ImmutableRangeMap.copyOf(parseDiscretize(discretize));
}
项目:checkstyle    文件:InputIndentationFromGuava2.java   
@Override //indent:2 exp:2
public void putAll(RangeMap<K,V> rangeMap) //indent:2 exp:2
{ //indent:2 exp:2

}
项目:checkstyle    文件:InputIndentationFromGuava2.java   
@Override //indent:2 exp:2
public RangeMap<K,V> subRangeMap(Range<K> range) //indent:2 exp:2
{ //indent:2 exp:2
  return null; //indent:4 exp:4
}
项目:assertj-guava    文件:RangeMapAssert.java   
protected RangeMapAssert(final RangeMap<K,V> actual) {
  super(actual,RangeMapAssert.class);
}
项目:assertj-guava    文件:RangeMapAssert.java   
protected RangeMap<K,V> getActual() {
  return actual;
}
项目:assertj-guava    文件:Assertions.java   
public static <K extends Comparable<K>,V> RangeMapAssert<K,V> assertThat(final RangeMap<K,V> actual) {
  return new RangeMapAssert<>(actual);
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


com.google.gson.internal.bind.ArrayTypeAdapter的实例源码
com.google.gson.JsonSyntaxException的实例源码
com.google.gson.JsonDeserializer的实例源码
com.google.gson.internal.ConstructorConstructor的实例源码
com.google.gson.JsonPrimitive的实例源码
com.google.gson.LongSerializationPolicy的实例源码
com.google.gson.internal.GsonInternalAccess的实例源码
com.google.gson.JsonIOException的实例源码
com.google.gson.internal.StringMap的实例源码
com.google.gson.JsonObject的实例源码
com.google.gson.internal.bind.TimeTypeAdapter的实例源码
com.google.gson.FieldAttributes的实例源码
com.google.gson.internal.bind.TreeTypeAdapter的实例源码
com.google.gson.internal.LinkedHashTreeMap的实例源码
com.google.gson.TypeAdapterFactory的实例源码
com.google.gson.JsonSerializer的实例源码
com.google.gson.FieldNamingPolicy的实例源码
com.google.gson.JsonElement的实例源码
com.google.gson.internal.JsonReaderInternalAccess的实例源码
com.google.gson.TypeAdapter的实例源码