⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 contentmanagementservices.java

📁 国外的一套开源CRM
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
                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 + -