public void delete(ObjectClass objectClass, Uid uid, OperationOptions options) { if (null == uid.getRevision()) { throw new PreconditionRequiredException("Version is required for MVCC"); } else if (config.getGuid().toString().equals(uid.getRevision())) { // Delete } else { throw new PreconditionFailedException( "Current version of resource is 0 and not match with: " + uid.getRevision()); } }
public Uid create( ObjectClass objectClass, Set<Attribute> createAttributes, OperationOptions options) { AttributesAccessor accessor = new AttributesAccessor(createAttributes); if (accessor.hasAttribute("fail")) { throw new ConnectorException("Test Exception"); } else if (accessor.hasAttribute("exist") && accessor.findBoolean("exist")) { throw new AlreadyExistsException(accessor.getName().getNameValue()); } else if (accessor.hasAttribute("emails")) { Object value = AttributeUtil.getSingleValue(accessor.find("emails")); if (value instanceof Map) { return new Uid((String) ((Map) value).get("email")); } else { throw new InvalidAttributeValueException("Expecting Map"); } } return new Uid(config.getGuid().toString()); }
public SyncToken getLatestSyncToken(ObjectClass objectClass) { return new SyncToken(config.getGuid().toString()); }
public void init(Configuration cfg) { config = (TstStatefulConnectorConfig) cfg; config.getGuid(); }