public static Change merge(Change change1, Change change2) { checkArgument(change1 != null || change2 != null); if (change1 == null) { return change2; } else if (change2 == null) { return change1; } else { return new ChangeBuilder(change1.getId()) .merge(change1) .merge(change2) .build(); } }
protected void addCompaction(UUID compactionKey, Compaction compaction, UUID changeId, Delta delta, Map<UUID, Change> changes) { changes.put(compactionKey, ChangeBuilder.just(compactionKey, compaction)); }
@Override public Change apply(History input) { return new ChangeBuilder(input.getChangeId()) .with(input).with(input.getDelta()).build(); } }).iterator();
@Override protected Change computeNext() { if (_iter1.hasNext() && _iter2.hasNext()) { UUID id1 = _iter1.peek().getId(); UUID id2 = _iter2.peek().getId(); UUID minId = _ordering.min(id1, id2); ChangeBuilder builder = new ChangeBuilder(minId); if (minId.equals(id1)) { builder.merge(_iter1.next()); } if (minId.equals(id2)) { builder.merge(_iter2.next()); } return builder.build(); } else if (_iter1.hasNext()) { return _iter1.next(); } else if (_iter2.hasNext()) { return _iter2.next(); } else { return endOfData(); } } }
@Override public Change apply(History input) { return new ChangeBuilder(input.getChangeId()) .with(input).with(input.getDelta()).build(); } }).iterator();
protected void addCompaction(UUID compactionKey, Compaction compaction, UUID changeId, Delta delta, Map<UUID, Change> changes) { changes.put(compactionKey, ChangeBuilder.just(compactionKey, compaction)); }
@Override protected Change computeNext() { if (_iter1.hasNext() && _iter2.hasNext()) { UUID id1 = _iter1.peek().getId(); UUID id2 = _iter2.peek().getId(); UUID minId = _ordering.min(id1, id2); ChangeBuilder builder = new ChangeBuilder(minId); if (minId.equals(id1)) { builder.merge(_iter1.next()); } if (minId.equals(id2)) { builder.merge(_iter2.next()); } return builder.build(); } else if (_iter1.hasNext()) { return _iter1.next(); } else if (_iter2.hasNext()) { return _iter2.next(); } else { return endOfData(); } } }
ChangeBuilder builder = new ChangeBuilder(changeId); switch (encoding) { case D1: builder.with(Deltas.fromString(body)); break; case D2: tags = FluentIterable.from(tokener.nextArray()).transform(Functions.toStringFunction()).toSet(); tokener.next(':'); builder.with(Deltas.fromString(tokener)).with(tags); break; case D3: builder.with(Deltas.literal(new LazyJsonMap(body.substring(tokener.pos())))).with(tags); } else { builder.with(new LazyDelta(tokener, isConstant)).with(tags); builder.with(JsonHelper.fromJson(body, Compaction.class)); break; case H1: builder.with(JsonHelper.fromJson(body, History.class)); break; default: throw new UnsupportedOperationException(encoding.name()); return builder.build();
private synchronized void update(Table table, String key, UUID changeId, Delta delta, Set<String> tags, WriteConsistency ignored) { checkNotNull(table, "table"); checkNotNull(key, "key"); checkNotNull(changeId, "changeId"); checkNotNull(delta, "delta"); safePut(_contentChanges, table.getName(), key, changeId, ChangeBuilder.just(changeId, delta, tags)); }
ChangeBuilder builder = new ChangeBuilder(changeId); switch (encoding) { case D1: builder.with(Deltas.fromString(body)); break; case D2: tags = FluentIterable.from(tokener.nextArray()).transform(Functions.toStringFunction()).toSet(); tokener.next(':'); builder.with(Deltas.fromString(tokener)).with(tags); break; case D3: builder.with(Deltas.literal(new LazyJsonMap(body.substring(tokener.pos())))).with(tags); } else { builder.with(new LazyDelta(tokener, isConstant)).with(tags); builder.with(JsonHelper.fromJson(body, Compaction.class)); break; case H1: builder.with(JsonHelper.fromJson(body, History.class)); break; default: throw new UnsupportedOperationException(encoding.name()); return builder.build();
private synchronized void update(Table table, String key, UUID changeId, Delta delta, Set<String> tags, WriteConsistency ignored) { checkNotNull(table, "table"); checkNotNull(key, "key"); checkNotNull(changeId, "changeId"); checkNotNull(delta, "delta"); safePut(_contentChanges, table.getName(), key, changeId, ChangeBuilder.just(changeId, delta, tags)); }