/** * @param columnValue * @return */ public boolean isUseDefaultNode(String columnValue) { try { long value = Long.parseLong(columnValue); for (LongRange longRang : this.longRanges) { if (value <= longRang.getValueEnd() && value >= longRang.getValueStart()) { return false; } } if (defaultNode >= 0) { return true; } } catch (NumberFormatException e) { throw new IllegalArgumentException("columnValue:" + columnValue + " Please eliminate any quote and non number within it.", e); } return false; }
private void calcAux(HashSet<Integer> ids, long begin, long end) { for (LongRange longRang : this.longRanges) { if (longRang.getValueEnd() < begin) { continue; } if (longRang.getValueStart() > end) { break; } ids.add(longRang.getNodeIndex()); } }
private Integer findNode(long hash) { for (LongRange longRang : this.longRanges) { if (hash <= longRang.getValueEnd() && hash >= longRang.getValueStart()) { return longRang.getNodeIndex(); } } return null; }
@Override public Integer calculate(String columnValue) { //columnValue = NumberParseUtil.eliminateQuote(columnValue); try { if (columnValue == null || columnValue.equalsIgnoreCase("NULL")) { if (defaultNode >= 0) { return defaultNode; } return null; } long value = Long.parseLong(columnValue); for (LongRange longRang : this.longRanges) { if (value <= longRang.getValueEnd() && value >= longRang.getValueStart()) { return longRang.getNodeIndex(); } } // use default node for other value if (defaultNode >= 0) { return defaultNode; } return null; } catch (NumberFormatException e) { throw new IllegalArgumentException("columnValue:" + columnValue + " Please eliminate any quote and non number within it.", e); } }