/** * Converts an object. */ public static List<ObjectData> convertObjects(final List<Object> json, final TypeCache typeCache) { if (json == null) { return null; } List<ObjectData> result = new ArrayList<ObjectData>(); for (Object obj : json) { ObjectData relationship = convertObject(getMap(obj), typeCache); if (relationship != null) { result.add(relationship); } } return result; }
/** * Converts an object. */ public static List<ObjectData> convertObjects(final List<Object> json, final TypeCache typeCache) { if (json == null) { return null; } List<ObjectData> result = new ArrayList<ObjectData>(); for (Object obj : json) { ObjectData relationship = convertObject(getMap(obj), typeCache); if (relationship != null) { result.add(relationship); } } return result; }
/** * Converts an object in a folder. */ public static ObjectInFolderData convertObjectInFolder(final Map<String, Object> json, final TypeCache typeCache) { if (json == null) { return null; } ObjectInFolderDataImpl result = new ObjectInFolderDataImpl(); result.setObject(convertObject(getMap(json.get(JSON_OBJECTINFOLDER_OBJECT)), typeCache)); result.setPathSegment(getString(json, JSON_OBJECTINFOLDER_PATH_SEGMENT)); convertExtension(json, result, OBJECTINFOLDER_KEYS); return result; }
/** * Converts an object parents list. */ public static List<ObjectParentData> convertObjectParents(final List<Object> json, final TypeCache typeCache) { if (json == null) { return null; } List<ObjectParentData> result = new ArrayList<ObjectParentData>(); for (Object obj : json) { Map<String, Object> jsonParent = getMap(obj); if (jsonParent != null) { ObjectParentDataImpl parent = new ObjectParentDataImpl(); parent.setObject(convertObject(getMap(jsonParent.get(JSON_OBJECTPARENTS_OBJECT)), typeCache)); parent.setRelativePathSegment(getString(jsonParent, JSON_OBJECTPARENTS_RELATIVE_PATH_SEGMENT)); convertExtension(jsonParent, parent, OBJECTPARENTS_KEYS); result.add(parent); } } return result; }
/** * Converts an object parents list. */ public static List<ObjectParentData> convertObjectParents(final List<Object> json, final TypeCache typeCache) { if (json == null) { return null; } List<ObjectParentData> result = new ArrayList<ObjectParentData>(); for (Object obj : json) { Map<String, Object> jsonParent = getMap(obj); if (jsonParent != null) { ObjectParentDataImpl parent = new ObjectParentDataImpl(); parent.setObject(convertObject(getMap(jsonParent.get(JSON_OBJECTPARENTS_OBJECT)), typeCache)); parent.setRelativePathSegment(getString(jsonParent, JSON_OBJECTPARENTS_RELATIVE_PATH_SEGMENT)); convertExtension(jsonParent, parent, OBJECTPARENTS_KEYS); result.add(parent); } } return result; }
/** * Converts an object in a folder. */ public static ObjectInFolderData convertObjectInFolder(final Map<String, Object> json, final TypeCache typeCache) { if (json == null) { return null; } ObjectInFolderDataImpl result = new ObjectInFolderDataImpl(); result.setObject(convertObject(getMap(json.get(JSON_OBJECTINFOLDER_OBJECT)), typeCache)); result.setPathSegment(getString(json, JSON_OBJECTINFOLDER_PATH_SEGMENT)); convertExtension(json, result, OBJECTINFOLDER_KEYS); return result; }
@Override public ObjectData getFolderParent(String repositoryId, String folderId, String filter, ExtensionsData extension) { // build URL UrlBuilder url = getObjectUrl(repositoryId, folderId, Constants.SELECTOR_PARENT); url.addParameter(Constants.PARAM_FILTER, filter); url.addParameter(Constants.PARAM_SUCCINCT, getSuccinctParameter()); url.addParameter(Constants.PARAM_DATETIME_FORMAT, getDateTimeFormatParameter()); // read and parse Response resp = read(url); Map<String, Object> json = parseObject(resp.getStream(), resp.getCharset()); TypeCache typeCache = new ClientTypeCacheImpl(repositoryId, this); return JSONConverter.convertObject(json, typeCache); }
@Override public ObjectData getFolderParent(String repositoryId, String folderId, String filter, ExtensionsData extension) { // build URL UrlBuilder url = getObjectUrl(repositoryId, folderId, Constants.SELECTOR_PARENT); url.addParameter(Constants.PARAM_FILTER, filter); url.addParameter(Constants.PARAM_SUCCINCT, getSuccinctParameter()); url.addParameter(Constants.PARAM_DATETIME_FORMAT, getDateTimeFormatParameter()); // read and parse Response resp = read(url); Map<String, Object> json = parseObject(resp.getStream(), resp.getCharset()); TypeCache typeCache = new ClientTypeCacheImpl(repositoryId, this); return JSONConverter.convertObject(json, typeCache); }
@Override public ObjectData getObjectOfLatestVersion(String repositoryId, String objectId, String versionSeriesId, Boolean major, String filter, Boolean includeAllowableActions, IncludeRelationships includeRelationships, String renditionFilter, Boolean includePolicyIds, Boolean includeAcl, ExtensionsData extension) { // build URL UrlBuilder url = getObjectUrl(repositoryId, objectId, Constants.SELECTOR_OBJECT); url.addParameter(Constants.PARAM_FILTER, filter); url.addParameter(Constants.PARAM_ALLOWABLE_ACTIONS, includeAllowableActions); url.addParameter(Constants.PARAM_RELATIONSHIPS, includeRelationships); url.addParameter(Constants.PARAM_RENDITION_FILTER, renditionFilter); url.addParameter(Constants.PARAM_POLICY_IDS, includePolicyIds); url.addParameter(Constants.PARAM_ACL, includeAcl); url.addParameter(Constants.PARAM_RETURN_VERSION, (major == null || Boolean.FALSE.equals(major) ? ReturnVersion.LATEST : ReturnVersion.LASTESTMAJOR)); url.addParameter(Constants.PARAM_SUCCINCT, getSuccinctParameter()); url.addParameter(Constants.PARAM_DATETIME_FORMAT, getDateTimeFormatParameter()); // read and parse Response resp = read(url); Map<String, Object> json = parseObject(resp.getStream(), resp.getCharset()); TypeCache typeCache = new ClientTypeCacheImpl(repositoryId, this); return JSONConverter.convertObject(json, typeCache); }
@Override public ObjectData getObject(String repositoryId, String objectId, String filter, Boolean includeAllowableActions, IncludeRelationships includeRelationships, String renditionFilter, Boolean includePolicyIds, Boolean includeAcl, ExtensionsData extension) { // build URL UrlBuilder url = getObjectUrl(repositoryId, objectId, Constants.SELECTOR_OBJECT); url.addParameter(Constants.PARAM_FILTER, filter); url.addParameter(Constants.PARAM_ALLOWABLE_ACTIONS, includeAllowableActions); url.addParameter(Constants.PARAM_RELATIONSHIPS, includeRelationships); url.addParameter(Constants.PARAM_RENDITION_FILTER, renditionFilter); url.addParameter(Constants.PARAM_POLICY_IDS, includePolicyIds); url.addParameter(Constants.PARAM_ACL, includeAcl); url.addParameter(Constants.PARAM_SUCCINCT, getSuccinctParameter()); url.addParameter(Constants.PARAM_DATETIME_FORMAT, getDateTimeFormatParameter()); // read and parse Response resp = read(url); Map<String, Object> json = parseObject(resp.getStream(), resp.getCharset()); TypeCache typeCache = new ClientTypeCacheImpl(repositoryId, this); return JSONConverter.convertObject(json, typeCache); }
@Override public ObjectData getObjectByPath(String repositoryId, String path, String filter, Boolean includeAllowableActions, IncludeRelationships includeRelationships, String renditionFilter, Boolean includePolicyIds, Boolean includeAcl, ExtensionsData extension) { // build URL UrlBuilder url = getPathUrl(repositoryId, path, Constants.SELECTOR_OBJECT); url.addParameter(Constants.PARAM_FILTER, filter); url.addParameter(Constants.PARAM_ALLOWABLE_ACTIONS, includeAllowableActions); url.addParameter(Constants.PARAM_RELATIONSHIPS, includeRelationships); url.addParameter(Constants.PARAM_RENDITION_FILTER, renditionFilter); url.addParameter(Constants.PARAM_POLICY_IDS, includePolicyIds); url.addParameter(Constants.PARAM_ACL, includeAcl); url.addParameter(Constants.PARAM_SUCCINCT, getSuccinctParameter()); url.addParameter(Constants.PARAM_DATETIME_FORMAT, getDateTimeFormatParameter()); // read and parse Response resp = read(url); Map<String, Object> json = parseObject(resp.getStream(), resp.getCharset()); TypeCache typeCache = new ClientTypeCacheImpl(repositoryId, this); return JSONConverter.convertObject(json, typeCache); }
@Override public ObjectData getObjectByPath(String repositoryId, String path, String filter, Boolean includeAllowableActions, IncludeRelationships includeRelationships, String renditionFilter, Boolean includePolicyIds, Boolean includeAcl, ExtensionsData extension) { // build URL UrlBuilder url = getPathUrl(repositoryId, path, Constants.SELECTOR_OBJECT); url.addParameter(Constants.PARAM_FILTER, filter); url.addParameter(Constants.PARAM_ALLOWABLE_ACTIONS, includeAllowableActions); url.addParameter(Constants.PARAM_RELATIONSHIPS, includeRelationships); url.addParameter(Constants.PARAM_RENDITION_FILTER, renditionFilter); url.addParameter(Constants.PARAM_POLICY_IDS, includePolicyIds); url.addParameter(Constants.PARAM_ACL, includeAcl); url.addParameter(Constants.PARAM_SUCCINCT, getSuccinctParameter()); url.addParameter(Constants.PARAM_DATETIME_FORMAT, getDateTimeFormatParameter()); // read and parse Response resp = read(url); Map<String, Object> json = parseObject(resp.getStream(), resp.getCharset()); TypeCache typeCache = new ClientTypeCacheImpl(repositoryId, this); return JSONConverter.convertObject(json, typeCache); }
@Override public String createFolder(String repositoryId, Properties properties, String folderId, List<String> policies, Acl addAces, Acl removeAces, ExtensionsData extension) { // build URL UrlBuilder url = getObjectUrl(repositoryId, folderId); // prepare form data final FormDataWriter formData = new FormDataWriter(Constants.CMISACTION_CREATE_FOLDER); formData.addPropertiesParameters(properties, getDateTimeFormat()); formData.addPoliciesParameters(policies); formData.addAddAcesParameters(addAces); formData.addRemoveAcesParameters(removeAces); formData.addSuccinctFlag(getSuccinct()); // send and parse Response resp = post(url, formData.getContentType(), new Output() { @Override public void write(OutputStream out) throws IOException { formData.write(out); } }); Map<String, Object> json = parseObject(resp.getStream(), resp.getCharset()); TypeCache typeCache = new ClientTypeCacheImpl(repositoryId, this); ObjectData newObj = JSONConverter.convertObject(json, typeCache); return newObj == null ? null : newObj.getId(); }
@Override public ObjectData getObject(String repositoryId, String objectId, String filter, Boolean includeAllowableActions, IncludeRelationships includeRelationships, String renditionFilter, Boolean includePolicyIds, Boolean includeAcl, ExtensionsData extension) { // build URL UrlBuilder url = getObjectUrl(repositoryId, objectId, Constants.SELECTOR_OBJECT); url.addParameter(Constants.PARAM_FILTER, filter); url.addParameter(Constants.PARAM_ALLOWABLE_ACTIONS, includeAllowableActions); url.addParameter(Constants.PARAM_RELATIONSHIPS, includeRelationships); url.addParameter(Constants.PARAM_RENDITION_FILTER, renditionFilter); url.addParameter(Constants.PARAM_POLICY_IDS, includePolicyIds); url.addParameter(Constants.PARAM_ACL, includeAcl); url.addParameter(Constants.PARAM_SUCCINCT, getSuccinctParameter()); url.addParameter(Constants.PARAM_DATETIME_FORMAT, getDateTimeFormatParameter()); // read and parse Response resp = read(url); Map<String, Object> json = parseObject(resp.getStream(), resp.getCharset()); TypeCache typeCache = new ClientTypeCacheImpl(repositoryId, this); return JSONConverter.convertObject(json, typeCache); }
@Override public String createRelationship(String repositoryId, Properties properties, List<String> policies, Acl addAces, Acl removeAces, ExtensionsData extension) { // build URL UrlBuilder url = getRepositoryUrl(repositoryId); // prepare form data final FormDataWriter formData = new FormDataWriter(Constants.CMISACTION_CREATE_RELATIONSHIP); formData.addPropertiesParameters(properties, getDateTimeFormat()); formData.addPoliciesParameters(policies); formData.addAddAcesParameters(addAces); formData.addRemoveAcesParameters(removeAces); formData.addSuccinctFlag(getSuccinct()); // send and parse Response resp = post(url, formData.getContentType(), new Output() { @Override public void write(OutputStream out) throws IOException { formData.write(out); } }); Map<String, Object> json = parseObject(resp.getStream(), resp.getCharset()); TypeCache typeCache = new ClientTypeCacheImpl(repositoryId, this); ObjectData newObj = JSONConverter.convertObject(json, typeCache); return newObj == null ? null : newObj.getId(); }
@Override public String createRelationship(String repositoryId, Properties properties, List<String> policies, Acl addAces, Acl removeAces, ExtensionsData extension) { // build URL UrlBuilder url = getRepositoryUrl(repositoryId); // prepare form data final FormDataWriter formData = new FormDataWriter(Constants.CMISACTION_CREATE_RELATIONSHIP); formData.addPropertiesParameters(properties, getDateTimeFormat()); formData.addPoliciesParameters(policies); formData.addAddAcesParameters(addAces); formData.addRemoveAcesParameters(removeAces); formData.addSuccinctFlag(getSuccinct()); // send and parse Response resp = post(url, formData.getContentType(), new Output() { @Override public void write(OutputStream out) throws IOException { formData.write(out); } }); Map<String, Object> json = parseObject(resp.getStream(), resp.getCharset()); TypeCache typeCache = new ClientTypeCacheImpl(repositoryId, this); ObjectData newObj = JSONConverter.convertObject(json, typeCache); return newObj == null ? null : newObj.getId(); }
@Override public String createPolicy(String repositoryId, Properties properties, String folderId, List<String> policies, Acl addAces, Acl removeAces, ExtensionsData extension) { // build URL UrlBuilder url = folderId != null ? getObjectUrl(repositoryId, folderId) : getRepositoryUrl(repositoryId); // prepare form data final FormDataWriter formData = new FormDataWriter(Constants.CMISACTION_CREATE_POLICY); formData.addPropertiesParameters(properties, getDateTimeFormat()); formData.addPoliciesParameters(policies); formData.addAddAcesParameters(addAces); formData.addRemoveAcesParameters(removeAces); formData.addSuccinctFlag(getSuccinct()); // send and parse Response resp = post(url, formData.getContentType(), new Output() { @Override public void write(OutputStream out) throws IOException { formData.write(out); } }); Map<String, Object> json = parseObject(resp.getStream(), resp.getCharset()); TypeCache typeCache = new ClientTypeCacheImpl(repositoryId, this); ObjectData newObj = JSONConverter.convertObject(json, typeCache); return newObj == null ? null : newObj.getId(); }
@Override public String createItem(String repositoryId, Properties properties, String folderId, List<String> policies, Acl addAces, Acl removeAces, ExtensionsData extension) { // build URL UrlBuilder url = folderId != null ? getObjectUrl(repositoryId, folderId) : getRepositoryUrl(repositoryId); // prepare form data final FormDataWriter formData = new FormDataWriter(Constants.CMISACTION_CREATE_ITEM); formData.addPropertiesParameters(properties, getDateTimeFormat()); formData.addPoliciesParameters(policies); formData.addAddAcesParameters(addAces); formData.addRemoveAcesParameters(removeAces); formData.addSuccinctFlag(getSuccinct()); // send and parse Response resp = post(url, formData.getContentType(), new Output() { @Override public void write(OutputStream out) throws IOException { formData.write(out); } }); Map<String, Object> json = parseObject(resp.getStream(), resp.getCharset()); TypeCache typeCache = new ClientTypeCacheImpl(repositoryId, this); ObjectData newObj = JSONConverter.convertObject(json, typeCache); return newObj == null ? null : newObj.getId(); }
@Override public String createPolicy(String repositoryId, Properties properties, String folderId, List<String> policies, Acl addAces, Acl removeAces, ExtensionsData extension) { // build URL UrlBuilder url = folderId != null ? getObjectUrl(repositoryId, folderId) : getRepositoryUrl(repositoryId); // prepare form data final FormDataWriter formData = new FormDataWriter(Constants.CMISACTION_CREATE_POLICY); formData.addPropertiesParameters(properties, getDateTimeFormat()); formData.addPoliciesParameters(policies); formData.addAddAcesParameters(addAces); formData.addRemoveAcesParameters(removeAces); formData.addSuccinctFlag(getSuccinct()); // send and parse Response resp = post(url, formData.getContentType(), new Output() { @Override public void write(OutputStream out) throws IOException { formData.write(out); } }); Map<String, Object> json = parseObject(resp.getStream(), resp.getCharset()); TypeCache typeCache = new ClientTypeCacheImpl(repositoryId, this); ObjectData newObj = JSONConverter.convertObject(json, typeCache); return newObj == null ? null : newObj.getId(); }
@Override public String createItem(String repositoryId, Properties properties, String folderId, List<String> policies, Acl addAces, Acl removeAces, ExtensionsData extension) { // build URL UrlBuilder url = folderId != null ? getObjectUrl(repositoryId, folderId) : getRepositoryUrl(repositoryId); // prepare form data final FormDataWriter formData = new FormDataWriter(Constants.CMISACTION_CREATE_ITEM); formData.addPropertiesParameters(properties, getDateTimeFormat()); formData.addPoliciesParameters(policies); formData.addAddAcesParameters(addAces); formData.addRemoveAcesParameters(removeAces); formData.addSuccinctFlag(getSuccinct()); // send and parse Response resp = post(url, formData.getContentType(), new Output() { @Override public void write(OutputStream out) throws IOException { formData.write(out); } }); Map<String, Object> json = parseObject(resp.getStream(), resp.getCharset()); TypeCache typeCache = new ClientTypeCacheImpl(repositoryId, this); ObjectData newObj = JSONConverter.convertObject(json, typeCache); return newObj == null ? null : newObj.getId(); }