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

📄 contentmanagementservices.java

📁 Sequoia ERP是一个真正的企业级开源ERP解决方案。它提供的模块包括:电子商务应用(e-commerce), POS系统(point of sales),知识管理,存货与仓库管理
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
        //String createdByUserLogin = userLoginId;        //String lastModifiedByUserLogin = userLoginId;        //Timestamp createdDate = UtilDateTime.nowTimestamp();        //Timestamp lastModifiedDate = UtilDateTime.nowTimestamp();        // Do update and create permission checks on DataResource if warranted.        //boolean updatePermOK = false;        //boolean createPermOK = false;        boolean dataResourceExists = true;        if (Debug.infoOn()) Debug.logInfo("in persist... dataResourceTypeId(0):" + dataResourceTypeId, null);        if (UtilValidate.isNotEmpty(dataResourceTypeId) ) {            Map dataResourceResult = new HashMap();            try {                dataResourceResult = persistDataResourceAndDataMethod(dctx, context);            } catch (GenericServiceException e) {                return ServiceUtil.returnError(e.getMessage());            } catch (GenericEntityException e) {                return ServiceUtil.returnError(e.getMessage());            } catch (Exception e) {                return ServiceUtil.returnError(e.getMessage());            }            String errorMsg = ServiceUtil.getErrorMessage(dataResourceResult);            if (UtilValidate.isNotEmpty(errorMsg)) {                return ServiceUtil.returnError(errorMsg);            }            dataResourceId = (String)dataResourceResult.get("dataResourceId");            results.put("dataResourceId", dataResourceId);            results.put("drDataResourceId", dataResourceId);            context.put("dataResourceId", dataResourceId);            content.put("dataResourceId", dataResourceId);            context.put("drDataResourceId", dataResourceId);        }        // Do update and create permission checks on Content if warranted.        context.put("skipPermissionCheck", null);  // Force check here        boolean contentExists = true;        if (Debug.infoOn()) Debug.logInfo("in persist... contentTypeId" +  contentTypeId + " dataResourceTypeId:" + dataResourceTypeId + " contentId:" + contentId + " dataResourceId:" + dataResourceId, null);        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());                }            }            //List targetOperations = new ArrayList();            //context.put("targetOperations", targetOperations);            context.putAll(content);            if (contentExists) {                //targetOperations.add("CONTENT_UPDATE");                Map contentContext = new HashMap();                ModelService contentModel = dispatcher.getDispatchContext().getModelService("updateContent");                contentContext.putAll(contentModel.makeValid(context, "IN"));                contentContext.put("userLogin", userLogin);                contentContext.put("displayFailCond", bDisplayFailCond);                contentContext.put("skipPermissionCheck", context.get("skipPermissionCheck"));                Map thisResult = dispatcher.runSync("updateContent", contentContext);                if (ServiceUtil.isError(thisResult) || ServiceUtil.isFailure(thisResult)) {                    return ServiceUtil.returnError("Error updating content (updateContent) in persistContentAndAssoc", null, null, thisResult);                }                //Map thisResult = ContentServices.updateContentMethod(dctx, context);            } else {                //targetOperations.add("CONTENT_CREATE");                Map contentContext = new HashMap();                ModelService contentModel = dispatcher.getDispatchContext().getModelService("createContent");                contentContext.putAll(contentModel.makeValid(context, "IN"));                contentContext.put("userLogin", userLogin);                contentContext.put("displayFailCond", bDisplayFailCond);                contentContext.put("skipPermissionCheck", context.get("skipPermissionCheck"));                Debug.logInfo("In persistContentAndAssoc calling createContent with content: " + contentContext, module);                Map thisResult = dispatcher.runSync("createContent", contentContext);                if (ServiceUtil.isError(thisResult) || ServiceUtil.isFailure(thisResult)) {                    return ServiceUtil.returnError("Error creating content (createContent) in persistContentAndAssoc", null, null, thisResult);                }                //Map thisResult = ContentServices.createContentMethod(dctx, context);                contentId = (String) thisResult.get("contentId");            }            results.put("contentId", contentId);            context.put("contentId", contentId);            context.put("caContentId", contentId);                    // 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());                }            }        } else if (UtilValidate.isNotEmpty(dataResourceTypeId) && UtilValidate.isNotEmpty(contentId)) {            // If dataResource was not previously existing, then update the associated content with its id            if (UtilValidate.isNotEmpty(dataResourceId) && !dataResourceExists) {                Map map = new HashMap();                map.put("userLogin", userLogin);                map.put("dataResourceId", dataResourceId);                map.put("contentId", contentId);                if (Debug.infoOn()) Debug.logInfo("in persist... context:" + context, module);                Map r = ContentServices.updateContentMethod(dctx, map);                boolean isError = ModelService.RESPOND_ERROR.equals(r.get(ModelService.RESPONSE_MESSAGE));                if (isError)                     return ServiceUtil.returnError( (String)r.get(ModelService.ERROR_MESSAGE));            }        }        // If parentContentIdTo or parentContentIdFrom exists, create association with newly created content        String contentAssocTypeId = (String)context.get("contentAssocTypeId");        if (UtilValidate.isEmpty(contentAssocTypeId))             contentAssocTypeId = (String)context.get("caContentAssocTypeId");        if (Debug.infoOn()) Debug.logInfo("CREATING contentASSOC contentAssocTypeId:" +  contentAssocTypeId, null);        if (contentAssocTypeId != null && contentAssocTypeId.length() > 0 ) {            if (Debug.infoOn()) Debug.logInfo("in persistContentAndAssoc, deactivateExistin:" +  deactivateExisting, null);            Map contentAssocContext = new HashMap();            contentAssocContext.put("userLogin", userLogin);            contentAssocContext.put("displayFailCond", bDisplayFailCond);            contentAssocContext.put("skipPermissionCheck", context.get("skipPermissionCheck"));            Map thisResult = null;            try {                contentAssoc.setPKFields(context);                contentAssoc.setNonPKFields(context);                GenericValue contentAssocPK = (GenericValue)contentAssoc.clone();                GenericValue contentAssocExisting = null;                if (contentAssocPK.isPrimaryKey())                    contentAssocExisting = delegator.findByPrimaryKeyCache("ContentAssoc", contentAssocPK);                                    if (contentAssocExisting == null) {                    ModelService contentAssocModel = dispatcher.getDispatchContext().getModelService("createContentAssoc");                    Map ctx = contentAssocModel.makeValid(contentAssoc, "IN");                    contentAssocContext.putAll(ctx);                    thisResult = dispatcher.runSync("createContentAssoc", contentAssocContext);                    String errMsg = ServiceUtil.getErrorMessage(thisResult);                    if (ServiceUtil.isError(thisResult) || ServiceUtil.isFailure(thisResult) || UtilValidate.isNotEmpty(errMsg)) {                        return ServiceUtil.returnError(errMsg);                    }                    results.put("contentIdTo", thisResult.get("contentIdTo"));                    results.put("contentIdFrom", thisResult.get("contentIdFrom"));                    //results.put("contentId", thisResult.get("contentIdFrom"));                    results.put("contentAssocTypeId", thisResult.get("contentAssocTypeId"));                    results.put("fromDate", thisResult.get("fromDate"));                    results.put("sequenceNum", thisResult.get("sequenceNum"));                                        results.put("caContentIdTo", thisResult.get("contentIdTo"));                    results.put("caContentAssocTypeId", thisResult.get("contentAssocTypeId"));                    results.put("caFromDate", thisResult.get("fromDate"));                    results.put("caSequenceNum", thisResult.get("sequenceNum"));                } else {                    if ("true".equalsIgnoreCase(deactivateExisting)) {                        // TODO: DEJ20060221 Does something need to be done here?                        //Map deactivateContext = UtilMisc.toMap("contentId", contentId, "contentAssocTypeId", contentAssocTypeId );                    }                    ModelService contentAssocModel = dispatcher.getDispatchContext().getModelService("updateContentAssoc");                    Map ctx = contentAssocModel.makeValid(contentAssoc, "IN");                    contentAssocContext.putAll(ctx);                    thisResult = dispatcher.runSync("updateContentAssoc", contentAssocContext);                    String errMsg = ServiceUtil.getErrorMessage(thisResult);                    if (ServiceUtil.isError(thisResult) || ServiceUtil.isFailure(thisResult) || UtilValidate.isNotEmpty(errMsg)) {                        return ServiceUtil.returnError(errMsg);                    }                }            } catch (GenericEntityException e) {                throw new GenericServiceException(e.getMessage());            } catch (Exception e2) {                throw new GenericServiceException(e2.getMessage());            }            String errMsg = ServiceUtil.getErrorMessage(thisResult);           if (UtilValidate.isNotEmpty(errMsg)) {               return ServiceUtil.returnError(errMsg);           }       }       context.remove("skipPermissionCheck");       context.put("contentId", origContentId);       context.put("dataResourceId", origDataResourceId);       context.remove("dataResource");       Debug.logInfo("results:" + results, module);       return results;    }    /**    Service for update publish sites with a ContentRole that will tie them to the passed     in party.    */    public static Map updateSiteRoles(DispatchContext dctx, Map context) {        LocalDispatcher dispatcher = dctx.getDispatcher();        GenericDelegator delegator = dctx.getDelegator();        GenericValue userLogin = (GenericValue)context.get("userLogin");        //String userLoginPartyId = userLogin.getString("partyId");      Map results = new HashMap();      // siteContentId will equal "ADMIN_MASTER", "AGINC_MASTER", etc.      // Remember that this service is called in the "multi" mode,      // with a new siteContentId each time.      // siteContentId could also have been name deptContentId, since this same      // service is used for updating department roles, too.      String siteContentId = (String)context.get("contentId");      String partyId = (String)context.get("partyId");      if (UtilValidate.isEmpty(siteContentId) || UtilValidate.isEmpty(partyId))          return results;      //Debug.logInfo("updateSiteRoles, context(0):" + context, module);      List siteRoles = null;      try {          siteRoles = delegator.findByAndCache("RoleType", UtilMisc.toMap("parentTypeId", "BLOG"));      } catch(GenericEntityException e) {          return ServiceUtil.returnError( e.getMessage());      }              Iterator siteRoleIter = siteRoles.iterator();      while (siteRoleIter.hasNext()) {          Map serviceContext = new HashMap();          serviceContext.put("partyId", partyId);          serviceContext.put("contentId", siteContentId);          serviceContext.put("userLogin", userLogin);          Debug.logInfo("updateSiteRoles, serviceContext(0):" + serviceContext, module);            GenericValue roleType = (GenericValue)siteRoleIter.next();          String siteRole = (String)roleType.get("roleTypeId"); // BLOG_EDITOR, BLOG_ADMIN, etc.          String cappedSiteRole = ModelUtil.dbNameToVarName(siteRole);          if (Debug.infoOn()) Debug.logInfo("updateSiteRoles, cappediteRole(1):" + cappedSiteRole, module);          String siteRoleVal = (String)context.get(cappedSiteRole);          if (Debug.infoOn()) Debug.logInfo("updateSiteRoles, siteRoleVal(1):" + siteRoleVal, module);          if (Debug.infoOn()) Debug.logInfo("updateSiteRoles, context(1):" + context, module);          Object fromDate = context.get(cappedSiteRole + "FromDate");          if (Debug.infoOn()) Debug.logInfo("updateSiteRoles, fromDate(1):" + fromDate, module);          serviceContext.put("roleTypeId", siteRole);          if (siteRoleVal != null && siteRoleVal.equalsIgnoreCase("Y")) {                  // for now, will assume that any error is due to duplicates - ignore                  //return ServiceUtil.returnError(e.getMessage());              if (fromDate == null ) {                  try {                      Map newContext = new HashMap();                      newContext.put("contentId", serviceContext.get("contentId"));                      newContext.put("partyId", serviceContext.get("partyId"));                      newContext.put("roleTypeId", serviceContext.get("roleTypeId"));                      newContext.put("userLogin", userLogin);                      Map permResults = dispatcher.runSync("deactivateAllContentRoles", newContext);                      serviceContext.put("fromDate", UtilDateTime.nowTimestamp());                      if (Debug.infoOn()) Debug.logInfo("updateSiteRoles, serviceContext(1):" + serviceContext, module);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -