use of org.apache.chemistry.opencmis.commons.spi.Holder in project copper-cms by PogeyanOSS.
the class ObjectActor method deleteContent.
private JSONObject deleteContent(PostRequest request) throws CmisStorageException, CmisRuntimeException {
String permission = request.getUserObject().getPermission();
if (!Helpers.checkingUserPremission(permission, "post")) {
throw new CmisRuntimeException(request.getUserName() + " is not authorized to applyAcl.");
}
String objectId = request.getObjectId();
String changeToken = request.getParameter(QueryGetRequest.PARAM_CHANGE_TOKEN);
boolean succinct = request.getBooleanParameter(QueryGetRequest.CONTROL_SUCCINCT, false);
DateTimeFormat dateTimeFormat = request.getDateTimeFormatParameter();
// execute
Holder<String> objectIdHolder = new Holder<String>(objectId);
Holder<String> changeTokenHolder = (changeToken == null ? null : new Holder<String>(changeToken));
CmisObjectService.Impl.deleteContentStream(request.getRepositoryId(), objectIdHolder, changeTokenHolder);
String newObjectId = (objectIdHolder.getValue() == null ? objectId : objectIdHolder.getValue());
ObjectData object = CmisObjectService.Impl.getSimpleObject(request.getRepositoryId(), newObjectId, request.getUserObject().getUserDN(), BaseTypeId.CMIS_DOCUMENT);
if (object == null) {
throw new CmisRuntimeException("Object is null!");
}
// return object
JSONObject jsonObject = JSONConverter.convert(object, null, JSONConverter.PropertyMode.OBJECT, succinct, dateTimeFormat);
return jsonObject;
}
use of org.apache.chemistry.opencmis.commons.spi.Holder in project copper-cms by PogeyanOSS.
the class ObjectActor method moveObject.
private static JSONObject moveObject(PostRequest request) throws CmisObjectNotFoundException, CmisNotSupportedException, CmisRuntimeException {
String permission = request.getUserObject().getPermission();
if (!Helpers.checkingUserPremission(permission, "post")) {
throw new CmisRuntimeException(request.getUserName() + " is not authorized to applyAcl.");
}
String objectId = request.getObjectId();
String targetFolderId = request.getParameter(QueryGetRequest.PARAM_TARGET_FOLDER_ID);
String sourceFolderId = request.getParameter(QueryGetRequest.PARAM_SOURCE_FOLDER_ID);
boolean succinct = request.getBooleanParameter(QueryGetRequest.CONTROL_SUCCINCT, false);
DateTimeFormat dateTimeFormat = request.getDateTimeFormatParameter();
// execute
Holder<String> objectIdHolder = new Holder<String>(objectId);
ObjectData object = CmisObjectService.Impl.moveObject(request.getRepositoryId(), objectIdHolder, targetFolderId, sourceFolderId, null, request.getUserObject());
JSONObject result = JSONConverter.convert(object, CmisTypeCacheService.get(request.getRepositoryId()), JSONConverter.PropertyMode.CHANGE, succinct, dateTimeFormat);
return result;
}
use of org.apache.chemistry.opencmis.commons.spi.Holder in project copper-cms by PogeyanOSS.
the class VersioningActor method checkIn.
private JSONObject checkIn(PostRequest request) throws CmisObjectNotFoundException, CmisRuntimeException {
String permission = request.getUserObject().getPermission();
if (!Helpers.checkingUserPremission(permission, "post")) {
throw new CmisRuntimeException(request.getUserName() + " is not authorized to applyAcl.");
}
// get parameters
String objectId = request.getObjectId();
Boolean major = request.getBooleanParameter(QueryGetRequest.PARAM_MAJOR);
String checkinComment = request.getParameter(QueryGetRequest.PARAM_CHECKIN_COMMENT);
boolean succinct = request.getBooleanParameter(QueryGetRequest.CONTROL_SUCCINCT, false);
DateTimeFormat dateTimeFormat = request.getDateTimeFormatParameter();
// execute
Holder<String> objectIdHolder = new Holder<String>(objectId);
Map<String, List<String>> listProperties = request.getPropertyData();
Map<String, Object> properties = new HashMap<String, Object>();
if (listProperties != null) {
for (Map.Entry<String, List<String>> entry : listProperties.entrySet()) {
if (entry.getValue() == null || StringUtils.isBlank(entry.getValue().get(0))) {
continue;
} else {
properties.put(entry.getKey(), entry.getValue());
}
}
}
/*
* if (listProperties != null) { properties =
* listProperties.entrySet().stream().collect(Collectors.toMap(p ->
* p.getKey(), p -> p.getValue() !=
* null||!StringUtils.isBlank(p.getValue().get(0)) ? p.getValue().get(0)
* :null)); }
*/
String versionId = CmisVersioningServices.Impl.checkIn(request.getRepositoryId(), properties, request.getContentStream(), objectIdHolder, major, checkinComment, null, request.getUserName());
ObjectData object = CmisObjectService.Impl.getSimpleObject(request.getRepositoryId(), versionId, request.getUserName(), BaseTypeId.CMIS_DOCUMENT);
if (object == null) {
throw new CmisRuntimeException("New document is null!");
}
// return object
JSONObject jsonObject = JSONConverter.convert(object, CmisTypeCacheService.get(request.getRepositoryId()), JSONConverter.PropertyMode.OBJECT, succinct, dateTimeFormat);
return jsonObject;
}
use of org.apache.chemistry.opencmis.commons.spi.Holder in project copper-cms by PogeyanOSS.
the class VersioningActor method checkOut.
private JSONObject checkOut(PostRequest request) throws CmisObjectNotFoundException, CmisUpdateConflictException, CmisNotSupportedException, CmisInvalidArgumentException, CmisRuntimeException {
String permission = request.getUserObject().getPermission();
if (!Helpers.checkingUserPremission(permission, "post")) {
throw new CmisRuntimeException(request.getUserName() + " is not authorized to applyAcl.");
}
String objectId = request.getObjectId();
boolean succinct = request.getBooleanParameter(QueryGetRequest.CONTROL_SUCCINCT, false);
DateTimeFormat dateTimeFormat = request.getDateTimeFormatParameter();
Holder<String> objectsId = new Holder<String>(objectId.toString());
String pwcId = CmisVersioningServices.Impl.checkOut(request.getRepositoryId(), objectsId, null, null, request.getUserName());
ObjectData object = CmisObjectService.Impl.getSimpleObject(request.getRepositoryId(), pwcId, request.getUserName(), BaseTypeId.CMIS_DOCUMENT);
if (object == null) {
throw new CmisRuntimeException("New document is null!");
}
// return object
JSONObject jsonObject = JSONConverter.convert(object, CmisTypeCacheService.get(request.getRepositoryId()), JSONConverter.PropertyMode.OBJECT, succinct, dateTimeFormat);
return jsonObject;
}
Aggregations