public List<DummyDelta> getDeltasSince(int syncToken) { List<DummyDelta> result = new ArrayList<>(); for (DummyDelta delta: deltas) { if (delta.getSyncToken() > syncToken) { result.add(delta); } } return result; }
void recordModify(DummyObject dObject) { recordWriteOperation("modify"); if (syncStyle != DummySyncStyle.NONE) { int syncToken = nextSyncToken(); DummyDelta delta = new DummyDelta(syncToken, dObject.getClass(), dObject.getId(), dObject.getName(), DummyDeltaType.MODIFY); deltas.add(delta); } }
Class<? extends DummyObject> deltaObjectClass = delta.getObjectClass(); if (objectClass.is(ObjectClass.ALL_NAME)) { if (delta.getType() == DummyDeltaType.ADD || delta.getType() == DummyDeltaType.MODIFY) { if (resource.getSyncStyle() == DummySyncStyle.DUMB) { deltaType = SyncDeltaType.CREATE_OR_UPDATE; } else { if (delta.getType() == DummyDeltaType.ADD) { deltaType = SyncDeltaType.CREATE; } else { DummyAccount account = resource.getAccountById(delta.getObjectId()); if (account == null) { log.warn("We have delta for account '"+delta.getObjectId()+"' but such account does not exist, skipping delta"); continue; deltaBuilder.setObject(cobject); } else if (deltaObjectClass == DummyGroup.class) { DummyGroup group = resource.getGroupById(delta.getObjectId()); if (group == null) { throw new IllegalStateException("We have delta for group '"+delta.getObjectId()+"' but such group does not exist"); DummyPrivilege privilege = resource.getPrivilegeById(delta.getObjectId()); if (privilege == null) { throw new IllegalStateException("We have privilege for group '"+delta.getObjectId()+"' but such privilege does not exist"); } else if (delta.getType() == DummyDeltaType.DELETE) { deltaType = SyncDeltaType.DELETE;
private synchronized <T extends DummyObject> void deleteObjectByName(Class<T> type, Map<String,T> map, String name) throws ObjectDoesNotExistException, ConnectException, FileNotFoundException, SchemaViolationException, ConflictException, InterruptedException { checkBlockOperations(); recordWriteOperation("delete"); breakIt(deleteBreakMode, "delete"); delayOperation(); String normalName = normalize(name); T existingObject; if (!enforceUniqueName) { throw new IllegalStateException("Whoops! got into deleteObjectByName without enforceUniqueName"); } if (map.containsKey(normalName)) { existingObject = map.get(normalName); map.remove(normalName); allObjects.remove(existingObject.getId()); } else { throw new ObjectDoesNotExistException(type.getSimpleName()+" with name '"+normalName+"' does not exist"); } if (syncStyle != DummySyncStyle.NONE) { int syncToken = nextSyncToken(); DummyDelta delta = new DummyDelta(syncToken, type, existingObject.getId(), name, DummyDeltaType.DELETE); deltas.add(delta); } }
DummyDelta delta = new DummyDelta(syncToken, type, id, object.getName(), DummyDeltaType.DELETE); deltas.add(delta);
DummyDelta delta = new DummyDelta(syncToken, type, newId, newObject.getName(), DummyDeltaType.ADD); deltas.add(delta);