@Test public void valuesCreatedAtCorrectLogSafetyLevelsForUpdates() { CqlQuery query = CheckAndSetQueries.getQueryForRequest(UPDATE_REQUEST); AtomicReference<Object[]> objects = new AtomicReference<>(); query.logSlowResult((format, args) -> objects.set(args), Stopwatch.createStarted()); Object[] loggedObjects = objects.get(); Map<String, Boolean> argumentSafety = Maps.newHashMap(); Arrays.stream(loggedObjects) .forEach(object -> { Arg<?> arg = (Arg) object; argumentSafety.put(arg.getName(), arg.isSafeForLogging()); }); assertThat(argumentSafety) .containsEntry("row", false) .containsEntry("column", false) .containsEntry("cassandraTimestamp", true) .containsEntry("oldValue", false) .containsEntry("newValue", false) .containsEntry("unsafeTableRef", false) .doesNotContainKey("tableRef"); assertThat(query.toString()) .isEqualTo("UPDATE \"ns__table\" SET value=0x626262" + " WHERE key=0x616263 AND column1=0x313233 AND column2=-1 IF value=0x616161;"); }
static CqlQuery getQueryForRequest(CheckAndSetRequest request) { return request.oldValue().map(unused -> updateIfMatching(request)).orElseGet(() -> insertIfNotExists(request)); }
CheckAndSetQueries { static CqlQuery getQueryForRequest(CheckAndSetRequest request) { return request.oldValue().map(unused -> updateIfMatching(request)).orElseGet(() -> insertIfNotExists(request)); } }
CheckAndSetQueries { static CqlQuery getQueryForRequest(CheckAndSetRequest request) { return request.oldValue().map(unused -> updateIfMatching(request)).orElseGet(() -> insertIfNotExists(request)); } private  CheckAndSetQueries(); }
CheckAndSetQueries { static CqlQuery getQueryForRequest(CheckAndSetRequest request) { return request.oldValue().map(unused -> updateIfMatching(request)).orElseGet(() -> insertIfNotExists(request)); } private  CheckAndSetQueries();  }
CheckAndSetQueries { static CqlQuery getQueryForRequest(CheckAndSetRequest request) { return request.oldValue().map(unused -> updateIfMatching(request)).orElseGet(() -> insertIfNotExists(request)); } private  CheckAndSetQueries();   }