com.google.common.collect.Range#span ( )源码实例Demo

下面列出了com.google.common.collect.Range#span ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: mzmine3   文件: PeakUtils.java
/**
 * Finds a combined m/z range that covers all given peaks
 */
public static Range<Double> findMZRange(Feature peaks[]) {

  Range<Double> mzRange = null;

  for (Feature p : peaks) {
    if (mzRange == null) {
      mzRange = p.getRawDataPointsMZRange();
    } else {
      mzRange = mzRange.span(p.getRawDataPointsMZRange());
    }
  }

  return mzRange;

}
 
源代码2 项目: mzmine2   文件: PeakUtils.java
/**
 * Finds a combined m/z range that covers all given peaks
 */
public static Range<Double> findMZRange(Feature peaks[]) {

  Range<Double> mzRange = null;

  for (Feature p : peaks) {
    if (mzRange == null) {
      mzRange = p.getRawDataPointsMZRange();
    } else {
      mzRange = mzRange.span(p.getRawDataPointsMZRange());
    }
  }

  return mzRange;

}
 
源代码3 项目: mzmine3   文件: RawDataFileImpl.java
@Override
public @Nonnull Range<Double> getDataMZRange(int msLevel) {

  // check if we have this value already cached
  Range<Double> mzRange = dataMZRange.get(msLevel);
  if (mzRange != null)
    return mzRange;

  // find the value
  for (Scan scan : scans.values()) {

    // ignore scans of other ms levels
    if ((msLevel != 0) && (scan.getMSLevel() != msLevel))
      continue;

    if (mzRange == null)
      mzRange = scan.getDataPointMZRange();
    else
      mzRange = mzRange.span(scan.getDataPointMZRange());

  }

  // cache the value, if we found any
  if (mzRange != null)
    dataMZRange.put(msLevel, mzRange);
  else
    mzRange = Range.singleton(0.0);
  
  return mzRange;

}
 
源代码4 项目: mzmine3   文件: RawDataFileImpl.java
@Override
public @Nonnull Range<Double> getDataRTRange(int msLevel) {

  // check if we have this value already cached
  Range<Double> rtRange = dataRTRange.get(msLevel);
  if (rtRange != null)
    return rtRange;

  // find the value
  for (Scan scan : scans.values()) {

    // ignore scans of other ms levels
    if ((msLevel != 0) && (scan.getMSLevel() != msLevel))
      continue;

    if (rtRange == null)
      rtRange = Range.singleton(scan.getRetentionTime());
    else
      rtRange = rtRange.span(Range.singleton(scan.getRetentionTime()));

  }

  // cache the value
  if (rtRange != null)
    dataRTRange.put(msLevel, rtRange);
  else
    rtRange = Range.singleton(0.0);

  return rtRange;

}
 
源代码5 项目: mzmine3   文件: RawDataFileUtils.java
public static @Nonnull Range<Double> findTotalRTRange(RawDataFile dataFiles[], int msLevel) {
  Range<Double> rtRange = null;
  for (RawDataFile file : dataFiles) {
    Range<Double> dfRange = file.getDataRTRange(msLevel);
    if (dfRange == null)
      continue;
    if (rtRange == null)
      rtRange = dfRange;
    else
      rtRange = rtRange.span(dfRange);
  }
  if (rtRange == null)
    rtRange = Range.singleton(0.0);
  return rtRange;
}
 
源代码6 项目: mzmine3   文件: RawDataFileUtils.java
public static @Nonnull Range<Double> findTotalMZRange(RawDataFile dataFiles[], int msLevel) {
  Range<Double> mzRange = null;
  for (RawDataFile file : dataFiles) {
    Range<Double> dfRange = file.getDataMZRange(msLevel);
    if (dfRange == null)
      continue;
    if (mzRange == null)
      mzRange = dfRange;
    else
      mzRange = mzRange.span(dfRange);
  }
  if (mzRange == null)
    mzRange = Range.singleton(0.0);
  return mzRange;
}
 
源代码7 项目: kylin-on-parquet-v2   文件: RangeUtil.java
public static <C extends Comparable<?>> Range<C> merge(Range<C> a, Range<C> b) {
    if (a == null && b == null) {
        return null;
    } else if (a == null || b == null) {
        return a == null ? b : a;
    } else {
        return a.span(b);
    }
}
 
源代码8 项目: science-journal   文件: Ranges.java
static <T extends Comparable<T>> Range<T> span(Range<T> a, Range<T> b) {
  if (a == null) {
    return b;
  }
  if (b == null) {
    return a;
  }
  return a.span(b);
}
 
源代码9 项目: pulsar   文件: NamespaceBundlesTest.java
private void validateSplitBundlesRange(NamespaceBundle fullBundle, List<NamespaceBundle> splitBundles) {
    assertNotNull(fullBundle);
    assertNotNull(splitBundles);
    Range<Long> fullRange = fullBundle.getKeyRange();
    Range<Long> span = splitBundles.get(0).getKeyRange();
    for (NamespaceBundle bundle : splitBundles) {
        span = span.span(bundle.getKeyRange());
    }
    assertEquals(span, fullRange);
}
 
源代码10 项目: mzmine2   文件: RawDataFileImpl.java
@Override
public @Nonnull Range<Double> getDataMZRange(int msLevel) {

  // check if we have this value already cached
  Range<Double> mzRange = dataMZRange.get(msLevel);
  if (mzRange != null)
    return mzRange;

  // find the value
  for (Scan scan : scans.values()) {

    // ignore scans of other ms levels
    if ((msLevel != 0) && (scan.getMSLevel() != msLevel))
      continue;

    if (mzRange == null)
      mzRange = scan.getDataPointMZRange();
    else
      mzRange = mzRange.span(scan.getDataPointMZRange());

  }

  // cache the value, if we found any
  if (mzRange != null)
    dataMZRange.put(msLevel, mzRange);
  else
    mzRange = Range.singleton(0.0);

  return mzRange;

}
 
源代码11 项目: mzmine2   文件: RawDataFileImpl.java
@Override
public @Nonnull Range<Double> getDataRTRange(int msLevel) {

  // check if we have this value already cached
  Range<Double> rtRange = dataRTRange.get(msLevel);
  if (rtRange != null)
    return rtRange;

  // find the value
  for (Scan scan : scans.values()) {

    // ignore scans of other ms levels
    if ((msLevel != 0) && (scan.getMSLevel() != msLevel))
      continue;

    if (rtRange == null)
      rtRange = Range.singleton(scan.getRetentionTime());
    else
      rtRange = rtRange.span(Range.singleton(scan.getRetentionTime()));

  }

  // cache the value
  if (rtRange != null)
    dataRTRange.put(msLevel, rtRange);
  else
    rtRange = Range.singleton(0.0);

  return rtRange;

}
 
源代码12 项目: mzmine2   文件: RawDataFileUtils.java
public static @Nonnull Range<Double> findTotalRTRange(RawDataFile dataFiles[], int msLevel) {
  Range<Double> rtRange = null;
  for (RawDataFile file : dataFiles) {
    Range<Double> dfRange = file.getDataRTRange(msLevel);
    if (dfRange == null)
      continue;
    if (rtRange == null)
      rtRange = dfRange;
    else
      rtRange = rtRange.span(dfRange);
  }
  if (rtRange == null)
    rtRange = Range.singleton(0.0);
  return rtRange;
}
 
源代码13 项目: mzmine2   文件: RawDataFileUtils.java
public static @Nonnull Range<Double> findTotalMZRange(RawDataFile dataFiles[], int msLevel) {
  Range<Double> mzRange = null;
  for (RawDataFile file : dataFiles) {
    Range<Double> dfRange = file.getDataMZRange(msLevel);
    if (dfRange == null)
      continue;
    if (mzRange == null)
      mzRange = dfRange;
    else
      mzRange = mzRange.span(dfRange);
  }
  if (mzRange == null)
    mzRange = Range.singleton(0.0);
  return mzRange;
}
 
源代码14 项目: mzmine2   文件: RTRangeComponent.java
@Override
public void actionPerformed(ActionEvent event) {

  Object src = event.getSource();

  if (src == setAutoButton) {
    RawDataFile currentFiles[] =
        MZmineCore.getProjectManager().getCurrentProject().getDataFiles();

    try {
      ParameterSetupDialog setupDialog =
          (ParameterSetupDialog) SwingUtilities.getWindowAncestor(this);
      RawDataFilesComponent rdc = (RawDataFilesComponent) setupDialog
          .getComponentForParameter(new RawDataFilesParameter());

      // If the current setup dialog has no raw data file selector, it
      // is probably in the parent dialog, so let's check it
      if (rdc == null) {
        setupDialog = (ParameterSetupDialog) setupDialog.getParent();
        if (setupDialog != null) {
          rdc = (RawDataFilesComponent) setupDialog
              .getComponentForParameter(new RawDataFilesParameter());
        }
      }
      if (rdc != null) {
        RawDataFile matchingFiles[] = rdc.getValue().getMatchingRawDataFiles();
        if (matchingFiles.length > 0)
          currentFiles = matchingFiles;
      }
    } catch (Exception e) {
      e.printStackTrace();
    }

    Range<Double> rtRange = null;
    for (RawDataFile file : currentFiles) {
      Range<Double> fileRange = file.getDataRTRange();
      if (rtRange == null)
        rtRange = fileRange;
      else
        rtRange = rtRange.span(fileRange);
    }
    setValue(rtRange);
  }

}
 
源代码15 项目: ganttproject   文件: SchedulerImpl.java
private void schedule(Node node) {
  Logger logger = GPLogger.getLogger(this);
  GPLogger.debug(logger, "Scheduling node %s", node);
  Range<Date> startRange = Range.all();
  Range<Date> endRange = Range.all();

  Range<Date> weakStartRange = Range.all();
  Range<Date> weakEndRange = Range.all();

  List<Date> subtaskRanges = Lists.newArrayList();
  List<DependencyEdge> incoming = node.getIncoming();
  GPLogger.debug(logger, ".. #incoming edges=%d", incoming.size());
  for (DependencyEdge edge : incoming) {
    if (!edge.refresh()) {
      continue;
    }
    if (edge instanceof ImplicitSubSuperTaskDependency) {
      subtaskRanges.add(edge.getStartRange().upperEndpoint());
      subtaskRanges.add(edge.getEndRange().lowerEndpoint());
    } else {
      if (edge.isWeak()) {
        weakStartRange = weakStartRange.intersection(edge.getStartRange());
        weakEndRange = weakEndRange.intersection(edge.getEndRange());
      } else {
        startRange = startRange.intersection(edge.getStartRange());
        endRange = endRange.intersection(edge.getEndRange());
      }
    }
    if (startRange.isEmpty() || endRange.isEmpty()) {
      GPLogger.logToLogger("both start and end ranges were calculated as empty for task=" + node.getTask() + ". Skipping it");
    }
  }
  GPLogger.debug(logger, "..Ranges: start=%s end=%s weakStart=%s weakEnd=%s", startRange, endRange, weakStartRange, weakEndRange);

  Range<Date> subtasksSpan = subtaskRanges.isEmpty() ?
      Range.closed(node.getTask().getStart().getTime(), node.getTask().getEnd().getTime()) : Range.encloseAll(subtaskRanges);
  Range<Date> subtreeStartUpwards = subtasksSpan.span(Range.downTo(node.getTask().getStart().getTime(), BoundType.CLOSED));
  Range<Date> subtreeEndDownwards = subtasksSpan.span(Range.upTo(node.getTask().getEnd().getTime(), BoundType.CLOSED));
  GPLogger.debug(logger, "..Subtasks span=%s", subtasksSpan);

  if (!startRange.equals(Range.all())) {
    startRange = startRange.intersection(weakStartRange);
  } else if (!weakStartRange.equals(Range.all())) {
    startRange = weakStartRange.intersection(subtreeStartUpwards);
  }
  if (!endRange.equals(Range.all())) {
    endRange = endRange.intersection(weakEndRange);
  } else if (!weakEndRange.equals(Range.all())) {
    endRange = weakEndRange.intersection(subtreeEndDownwards);
  }
  if (node.getTask().getThirdDateConstraint() == TaskImpl.EARLIESTBEGIN && node.getTask().getThird() != null) {
    startRange = startRange.intersection(Range.downTo(node.getTask().getThird().getTime(), BoundType.CLOSED));
    GPLogger.debug(logger, ".. applying earliest start=%s. Now start range=%s", node.getTask().getThird(), startRange);
  }
  if (!subtaskRanges.isEmpty()) {
    startRange = startRange.intersection(subtasksSpan);
    endRange = endRange.intersection(subtasksSpan);
  }
  GPLogger.debug(logger, ".. finally, start range=%s", startRange);
  if (startRange.hasLowerBound()) {
    modifyTaskStart(node.getTask(), startRange.lowerEndpoint());
  }
  if (endRange.hasUpperBound()) {
    GPCalendarCalc cal = node.getTask().getManager().getCalendar();
    Date endDate = endRange.upperEndpoint();
    TimeUnit timeUnit = node.getTask().getDuration().getTimeUnit();
    if (DayMask.WORKING == (cal.getDayMask(endDate) & DayMask.WORKING)) {
      // in case if calculated end date falls on first day after holidays (say, on Monday)
      // we'll want to modify it a little bit, so that it falls on that holidays start
      // If we don't do this, it will be done automatically the next time task activities are recalculated,
      // and thus task end date will keep changing
      Date closestWorkingEndDate = cal.findClosest(
          endDate, timeUnit, GPCalendarCalc.MoveDirection.BACKWARD, GPCalendar.DayType.WORKING);
      Date closestNonWorkingEndDate = cal.findClosest(
          endDate, timeUnit, GPCalendarCalc.MoveDirection.BACKWARD, GPCalendar.DayType.NON_WORKING, closestWorkingEndDate);
      // If there is a non-working date between current task end and closest working date
      // then we're really just after holidays
      if (closestNonWorkingEndDate != null && closestWorkingEndDate.before(closestNonWorkingEndDate)) {
        // we need to adjust-right closest working date to position to the very beginning of the holidays interval
        Date nonWorkingPeriodStart = timeUnit.adjustRight(closestWorkingEndDate);
        if (nonWorkingPeriodStart.after(node.getTask().getStart().getTime())) {
          endDate = nonWorkingPeriodStart;
        }
      }
    }
    modifyTaskEnd(node.getTask(), endDate);
  }
}