public Optional<Date> getColumnStartTime(String column) { return Optional.ofNullable(getColumnByName(column)).map(CubeColumn::getStartTime); } public Optional<Date> getColumnEndTime(String column) {
public Optional<Date> getColumnEndTime(String column) { return Optional.ofNullable(getColumnByName(column)).map(CubeColumn::getEndTime); }
public Optional<Date> getColumnStartTime(String column) { return Optional.ofNullable(getColumnByName(column)).map(CubeColumn::getStartTime); } public Optional<Date> getColumnEndTime(String column) {
public Optional<Date> getColumnEndTime(String column) { return Optional.ofNullable(getColumnByName(column)).map(CubeColumn::getEndTime); }
@Override public Optional<Date> getColumnEndTime(String column) { if (areCandidatesPicked()) { return candidateStream() .map(c -> c.getColumnEndTime(column)) .filter(Optional::isPresent) // use flatmap(Optional::stream) after migration to java9 .map(Optional::get) // https://bugs.openjdk.java.net/browse/JDK-8050820 .max(Comparator.naturalOrder()); } else { return cubeStream() .map(cube -> cube.getColumnByName(column)) .map(CubeColumn::getEndTime).filter(Objects::nonNull) .max(Comparator.naturalOrder()); } }
@Override public Optional<Date> getColumnStartTime(String column) { if (areCandidatesPicked()) { return candidateStream() .map(c -> c.getColumnStartTime(column)) .filter(Optional::isPresent) .map(Optional::get) .min(Comparator.naturalOrder()); } else { return cubeStream() .map(cube -> cube.getColumnByName(column)) .map(CubeColumn::getStartTime).filter(Objects::nonNull) .min(Comparator.naturalOrder()); } }
@Override public Optional<Date> getColumnEndTime(String column) { if (areCandidatesPicked()) { return candidateStream() .map(c -> c.getColumnEndTime(column)) .filter(Optional::isPresent) // use flatmap(Optional::stream) after migration to java9 .map(Optional::get) // https://bugs.openjdk.java.net/browse/JDK-8050820 .max(Comparator.naturalOrder()); } else { return cubeStream() .map(cube -> cube.getColumnByName(column)) .map(CubeColumn::getEndTime).filter(Objects::nonNull) .max(Comparator.naturalOrder()); } }
@Override public Optional<Date> getColumnStartTime(String column) { if (areCandidatesPicked()) { return candidateStream() .map(c -> c.getColumnStartTime(column)) .filter(Optional::isPresent) .map(Optional::get) .min(Comparator.naturalOrder()); } else { return cubeStream() .map(cube -> cube.getColumnByName(column)) .map(CubeColumn::getStartTime).filter(Objects::nonNull) .min(Comparator.naturalOrder()); } }
Cube cube = (Cube) client.getCube(TEST_CUBE_NAME); BaseDimAttribute col = (BaseDimAttribute) cube.getColumnByName("cdim2"); assertNotNull(col);