Example usage for com.google.common.collect Range upperEndpoint

List of usage examples for com.google.common.collect Range upperEndpoint

Introduction

In this page you can find the example usage for com.google.common.collect Range upperEndpoint.

Prototype

public C upperEndpoint() 

Source Link

Document

Returns the upper endpoint of this range.

Usage

From source file:org.apache.kylin.metadata.realization.SQLDigestUtil.java

private static TupleFilter createFilterForRealtime(TupleFilter originFilter, TblColRef partitionColRef,
        Range<Long> tsRange) {
    DataType type = partitionColRef.getColumnDesc().getType();

    String startTimeStr, endTimeStr;
    CompareTupleFilter startFilter = null, endFilter = null;
    if (tsRange.hasLowerBound()) {
        startTimeStr = formatTimeStr(type, tsRange.lowerEndpoint());
        if (tsRange.lowerBoundType() == BoundType.CLOSED) {
            startFilter = new CompareTupleFilter(TupleFilter.FilterOperatorEnum.GTE);
        } else {//from   w w w. j a  v  a  2 s . co  m
            startFilter = new CompareTupleFilter(TupleFilter.FilterOperatorEnum.GT);
        }
        ColumnTupleFilter columnTupleFilter = new ColumnTupleFilter(partitionColRef);
        ConstantTupleFilter constantTupleFilter = new ConstantTupleFilter(startTimeStr);
        startFilter.addChild(columnTupleFilter);
        startFilter.addChild(constantTupleFilter);
    }

    if (tsRange.hasUpperBound()) {
        endTimeStr = formatTimeStr(type, tsRange.upperEndpoint());
        if (tsRange.upperBoundType() == BoundType.CLOSED) {
            endFilter = new CompareTupleFilter(TupleFilter.FilterOperatorEnum.LTE);
        } else {
            endFilter = new CompareTupleFilter(TupleFilter.FilterOperatorEnum.LT);
        }
        ColumnTupleFilter columnTupleFilter = new ColumnTupleFilter(partitionColRef);
        ConstantTupleFilter constantTupleFilter = new ConstantTupleFilter(endTimeStr);
        endFilter.addChild(columnTupleFilter);
        endFilter.addChild(constantTupleFilter);
    }

    if (originFilter == null) {
        if (endFilter == null) {
            return startFilter;
        }
        if (startFilter == null) {
            return endFilter;
        }
    }

    LogicalTupleFilter logicalTupleFilter = new LogicalTupleFilter(TupleFilter.FilterOperatorEnum.AND);

    if (originFilter != null) {
        logicalTupleFilter.addChild(originFilter);
    }
    if (startFilter != null) {
        logicalTupleFilter.addChild(startFilter);
    }
    if (endFilter != null) {
        logicalTupleFilter.addChild(endFilter);
    }

    return logicalTupleFilter;
}

From source file:com.dangdang.ddframe.rdb.integrate.fixture.SingleKeyDynamicModuloTableShardingAlgorithm.java

@Override
public Collection<String> doBetweenSharding(final Collection<String> availableTargetNames,
        final ShardingValue<Integer> shardingValue) {
    Collection<String> result = new LinkedHashSet<>(availableTargetNames.size());
    Range<Integer> range = shardingValue.getValueRange();
    for (Integer i = range.lowerEndpoint(); i <= range.upperEndpoint(); i++) {
        result.add(tablePrefix + i % 10);
    }//from ww w.  j av  a 2s. c  o  m
    return result;
}

From source file:com.dangdang.ddframe.rdb.sharding.example.jdbc.algorithm.SingleKeyModuloTableShardingAlgorithm.java

@Override
public Collection<String> doBetweenSharding(final Collection<String> availableTargetNames,
        final ShardingValue<Long> shardingValue) {
    Collection<String> result = new LinkedHashSet<>(availableTargetNames.size());
    Range<Long> range = shardingValue.getValueRange();
    for (Long i = range.lowerEndpoint(); i <= range.upperEndpoint(); i++) {
        for (String each : availableTargetNames) {
            if (each.endsWith(i % 2 + "")) {
                result.add(each);//from   www  .j a v  a 2s . c o m
            }
        }
    }
    return result;
}

From source file:com.dangdang.ddframe.rdb.sharding.example.jdbc.algorithm.ModuloTableShardingAlgorithm.java

@Override
public Collection<String> doBetweenSharding(final Collection<String> tableNames,
        final ShardingValue<Integer> shardingValue) {
    Collection<String> result = new LinkedHashSet<>(tableNames.size());
    Range<Integer> range = shardingValue.getValueRange();
    for (Integer i = range.lowerEndpoint(); i <= range.upperEndpoint(); i++) {
        for (String each : tableNames) {
            if (each.endsWith(i % 2 + "")) {
                result.add(each);//www  . ja v a 2 s  .  c  o  m
            }
        }
    }
    return result;
}

From source file:com.dangdang.ddframe.rdb.integrate.fixture.SingleKeyModuloTableShardingAlgorithm.java

@Override
public Collection<String> doBetweenSharding(final Collection<String> availableTargetNames,
        final ShardingValue<Integer> shardingValue) {
    Collection<String> result = new LinkedHashSet<>(availableTargetNames.size());
    Range<Integer> range = shardingValue.getValueRange();
    for (Integer i = range.lowerEndpoint(); i <= range.upperEndpoint(); i++) {
        for (String each : availableTargetNames) {
            if (each.endsWith(i % 10 + "")) {
                result.add(each);/* ww  w. j  a v a2s. co  m*/
            }
        }
    }
    return result;
}

From source file:com.dangdang.ddframe.rdb.transaction.soft.ModuloDatabaseShardingAlgorithm.java

@Override
public Collection<String> doBetweenSharding(final Collection<String> dataSourceNames,
        final ShardingValue<Integer> shardingValue) {
    Collection<String> result = new LinkedHashSet<>(dataSourceNames.size());
    Range<Integer> range = shardingValue.getValueRange();
    for (Integer i = range.lowerEndpoint(); i <= range.upperEndpoint(); i++) {
        for (String each : dataSourceNames) {
            if (each.endsWith(i % 2 + "")) {
                result.add(each);/*from  w  w  w  .  j ava2 s .  c o  m*/
            }
        }
    }
    return result;
}

From source file:com.dangdang.ddframe.rdb.sharding.spring.algorithm.SingleKeyModuloTableShardingAlgorithm.java

@Override
public Collection<String> doBetweenSharding(final Collection<String> availableTargetNames,
        final ShardingValue<Integer> shardingValue) {
    Collection<String> result = new LinkedHashSet<>(availableTargetNames.size());
    Range<Integer> range = shardingValue.getValueRange();
    for (Integer i = range.lowerEndpoint(); i <= range.upperEndpoint(); i++) {
        for (String each : availableTargetNames) {
            if (each.endsWith(i % 4 + "")) {
                result.add(each);// w  w w .ja v  a 2s .  c om
            }
        }
    }
    return result;
}

From source file:com.lite.dal.algorithm.SingleKeyModuloTableShardingAlgorithm.java

@Override
public Collection<String> doBetweenSharding(final Collection<String> availableTargetNames,
        final ShardingValue<Integer> shardingValue) {
    Collection<String> result = new LinkedHashSet<>(availableTargetNames.size());
    Range<Integer> range = shardingValue.getValueRange();
    for (Integer i = range.lowerEndpoint(); i <= range.upperEndpoint(); i++) {
        for (String each : availableTargetNames) {
            if (each.endsWith(i % 2 + "")) {
                result.add(each);/*from   ww w . jav a 2s.c o m*/
            }
        }
    }
    return result;
}

From source file:net.sf.mzmine.util.components.RangeComponent.java

public void setRangeValue(Range<Double> value) {
    minTxtField.setValue(value.lowerEndpoint());
    maxTxtField.setValue(value.upperEndpoint());
}

From source file:com.dangdang.ddframe.rdb.sharding.example.jpa.algorithm.SingleKeyModuloTableShardingAlgorithm.java

@Override
public Collection<String> doBetweenSharding(final Collection<String> availableTargetNames,
        final ShardingValue<Long> shardingValue) {
    Collection<String> result = new LinkedHashSet<>(availableTargetNames.size());
    Range<Long> range = shardingValue.getValueRange();
    for (Long value = range.lowerEndpoint(); value <= range.upperEndpoint(); value++) {
        for (String each : availableTargetNames) {
            if (each.endsWith(value % 2 + "")) {
                result.add(each);//  w w w.j  av  a  2  s .c  om
            }
        }
    }
    return result;
}