📄 contentmanagementservices.java
字号:
permContext.put("entityOperation", "_CREATE");
targetOperations.add("CREATE_CONTENT");
createPermOK = true;
}
permContext.put("targetOperationList", targetOperations);
permContext.put("contentPurposeList", context.get("contentPurposeList"));
permContext.put("userLogin", userLogin);
String permissionStatus = ContentWorker.callContentPermissionCheck(delegator,
dispatcher, permContext);
Debug.logVerbose("permissionStatus(update):" + permissionStatus, null);
if (permissionStatus == null || !permissionStatus.equals("granted") ) {
return ServiceUtil.returnError("Permission not granted");
}
context.put("skipPermissionCheck", "granted");
}
boolean dataResourceExists = true;
if (UtilValidate.isNotEmpty(dataResourceTypeId) ) {
if (UtilValidate.isEmpty(dataResourceId)) {
dataResourceExists = false;
Map thisResult = DataServices.createDataResourceMethod(dctx, context);
dataResourceId = (String)thisResult.get("dataResourceId");
dataResource = (GenericValue)thisResult.get("dataResource");
if (dataResourceTypeId.indexOf("_FILE") >=0) {
dataResource = (GenericValue)thisResult.get("dataResource");
context.put("dataResource", dataResource);
try {
thisResult = DataServices.createFileMethod(dctx, context);
} catch(GenericServiceException e) {
Debug.logVerbose("in persistContentAndAssoc. " + e.getMessage(),"");
return ServiceUtil.returnError(e.getMessage());
}
} else if (dataResourceTypeId.equals("IMAGE_OBJECT")) {
if (byteWrapper != null) {
context.put("dataResourceId", dataResourceId);
thisResult = DataServices.createImageMethod(dctx, context);
} else {
return ServiceUtil.returnError("'byteWrapper' empty when trying to create database image.");
}
} else {
if (UtilValidate.isNotEmpty(textData)) {
context.put("dataResourceId", dataResourceId);
thisResult = DataServices.createElectronicTextMethod(dctx, context);
} else {
return ServiceUtil.returnError("'textData' empty when trying to create database text.");
}
}
//Debug.logVerbose("dataResourceId(create):" + dataResourceId, null);
} else {
Map thisResult = DataServices.updateDataResourceMethod(dctx, context);
if (dataResourceTypeId.indexOf("_FILE") >=0) {
dataResource = (GenericValue)thisResult.get("dataResource");
context.put("dataResource", dataResource);
try {
thisResult = DataServices.updateFileMethod(dctx, context);
} catch(GenericServiceException e) {
return ServiceUtil.returnError(e.getMessage());
}
} else if (dataResourceTypeId.equals("IMAGE_OBJECT")) {
thisResult = DataServices.updateImageMethod(dctx, context);
} else {
thisResult = DataServices.updateElectronicTextMethod(dctx, context);
}
}
result.put("dataResourceId", dataResourceId);
context.put("dataResourceId", dataResourceId);
}
// Do update and create permission checks on Content if warranted.
if (UtilValidate.isNotEmpty(contentTypeId)) {
String permissionStatus = "granted";
List targetOperations = new ArrayList();
permContext.put("targetOperationList", targetOperations);
permContext.put("contentPurposeList", context.get("contentPurposeList"));
permContext.put("userLogin", userLogin);
if (UtilValidate.isNotEmpty(dataResourceId) ) {
permContext.put("entityOperation", "_UPDATE");
targetOperations.add("UPDATE_CONTENT");
if (!updatePermOK) {
permissionStatus = ContentWorker.callContentPermissionCheck(delegator,
dispatcher, permContext);
updatePermOK = true;
}
} else {
permContext.put("entityOperation", "_CREATE");
targetOperations.add("CREATE_CONTENT");
if (!createPermOK) {
permissionStatus = ContentWorker.callContentPermissionCheck(delegator,
dispatcher, permContext);
createPermOK = true;
}
}
Debug.logVerbose("permissionStatus(update):" + permissionStatus, null);
if (permissionStatus == null || !permissionStatus.equals("granted") ) {
return ServiceUtil.returnError("Permission not granted");
}
context.put("skipPermissionCheck", "granted");
}
boolean contentExists = true;
if (UtilValidate.isNotEmpty(contentTypeId) ) {
if (UtilValidate.isEmpty(contentId))
contentExists = false;
else {
try {
GenericValue val = delegator.findByPrimaryKey("Content", UtilMisc.toMap("contentId", contentId));
if (val == null)
contentExists = false;
} catch(GenericEntityException e) {
return ServiceUtil.returnError(e.getMessage());
}
}
if (contentExists) {
Map thisResult = ContentServices.updateContentMethod(dctx, context);
} else {
Map thisResult = ContentServices.createContentMethod(dctx, context);
contentId = (String)thisResult.get("contentId");
}
result.put("contentId", contentId);
context.put("contentId", contentId);
List contentPurposeList = (List)context.get("contentPurposeList");
// Add ContentPurposes if this is a create operation
if (contentId != null && !contentExists) {
try {
if (contentPurposeList != null) {
for (int i=0; i < contentPurposeList.size(); i++) {
String contentPurposeTypeId = (String)contentPurposeList.get(i);
GenericValue contentPurpose = delegator.makeValue("ContentPurpose",
UtilMisc.toMap("contentId", contentId,
"contentPurposeTypeId", contentPurposeTypeId) );
contentPurpose.create();
}
}
} catch(GenericEntityException e) {
return ServiceUtil.returnError(e.getMessage());
}
}
}
// If parentContentIdTo or parentContentIdFrom exists, create association with newly created content
String contentAssocTypeId = (String)context.get("contentAssocTypeId");
Debug.logVerbose("CREATING contentASSOC contentAssocTypeId:" + contentAssocTypeId, null);
if (contentAssocTypeId != null && contentAssocTypeId.length() > 0 ) {
Debug.logVerbose("CREATING contentASSOC context:" + context, null);
Map thisResult = null;
try {
thisResult = ContentServices.createContentAssocMethod(dctx, context);
} catch (GenericEntityException e) {
throw new GenericServiceException(e.getMessage());
} catch (Exception e2) {
throw new GenericServiceException(e2.getMessage());
}
result.put("contentIdTo", thisResult.get("contentIdTo"));
result.put("contentIdFrom", thisResult.get("contentIdFrom"));
result.put("contentAssocTypeId", thisResult.get("contentAssocTypeId"));
result.put("fromDate", thisResult.get("fromDate"));
}
//Debug.logVerbose("return from CREATING CONTENTASSOC result:" + result, null);
context.remove("skipPermissionCheck");
context.remove("contentId");
context.remove("dataResourceId");
context.remove("dataResource");
return result;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -