📄 contentmanagementevents.java
字号:
roleTypeList = StringUtil.split(roles, "|"); } List targetOperationList = UtilMisc.toList("CONTENT_PUBLISH"); List contentPurposeList = null; //UtilMisc.toList("ARTICLE"); //if (Debug.infoOn()) Debug.logInfo("in updatePublishLinks, roles:" + roles +" roleTypeList:" + roleTypeList , module); String permittedAction = (String)paramMap.get("permittedAction"); // The content to be linked to one or more sites String permittedOperations = (String)paramMap.get("permittedOperations"); // The content to be linked to one or more sites if ( UtilValidate.isEmpty(targContentId)) { request.setAttribute("_ERROR_MESSAGE_", "targContentId is empty."); return "error"; } // Get all the subSites that the user is permitted to link to List origPublishedLinkList = null; try { // TODO: this needs to be given author userLogin GenericValue authorUserLogin = delegator.findByPrimaryKeyCache("UserLogin", UtilMisc.toMap("userLoginId", authorId)); origPublishedLinkList = ContentManagementWorker.getPublishedLinks(delegator, targContentId, webSiteId, userLogin, security, permittedAction, permittedOperations, roles ); } catch(GenericEntityException e) { request.setAttribute("_ERROR_MESSAGE_", e.getMessage()); return "error"; } catch(GeneralException e2) { request.setAttribute("_ERROR_MESSAGE_", e2.getMessage()); return "error"; } //if (Debug.infoOn()) Debug.logInfo("in updatePublishLinks, origPublishedLinkList:" + origPublishedLinkList , module); // make a map of the values that are passed in using the top subSite as the key. // Content can only be linked to one subsite under a top site (ends with "_MASTER") Set keySet = paramMap.keySet(); Iterator itKeySet = keySet.iterator(); Map siteIdLookup = new HashMap(); while (itKeySet.hasNext()) { String param = (String)itKeySet.next(); int pos = param.indexOf("select_"); //if (Debug.infoOn()) Debug.logInfo("in updatePublishLinks, param:" + param + " pos:" + pos , module); if (pos >= 0) { String siteId = param.substring(7); String subSiteVal = (String)paramMap.get(param); siteIdLookup.put(siteId, subSiteVal); } } //if (Debug.infoOn()) Debug.logInfo("in updatePublishLinks, siteIdLookup:" + siteIdLookup , module); // Loop thru all the possible subsites Iterator it = origPublishedLinkList.iterator(); Timestamp nowTimestamp = UtilDateTime.nowTimestamp(); int counter = 0; String responseMessage = null; String errorMessage = null; String permissionMessage = null; boolean statusIdUpdated = false; Map results = null; while (it.hasNext()) { Object [] arr = (Object [])it.next(); //if (Debug.infoOn()) Debug.logInfo("in updatePublishLinks, arr:" + Arrays.asList(arr) , module); String contentId = (String)arr[0]; // main (2nd level) site id String origSubContentId = null; List origSubList = (List)arr[1]; Timestamp topFromDate = (Timestamp)arr[3]; Timestamp origFromDate = null; Iterator itOrigSubPt = origSubList.iterator(); // see if a link already exists by looking for non-null fromDate while (itOrigSubPt.hasNext()) { Object [] pubArr = (Object [])itOrigSubPt.next(); //if (Debug.infoOn()) Debug.logInfo("in updatePublishLinks, pubArr:" + Arrays.asList(pubArr) , module); Timestamp fromDate = (Timestamp)pubArr[2]; origSubContentId = null; if (fromDate != null) { origSubContentId = (String)pubArr[0]; origFromDate = fromDate; break; } } String currentSubContentId = (String)siteIdLookup.get(contentId); //if (Debug.infoOn()) Debug.logInfo("in updatePublishLinks, currentSubContentId:" + currentSubContentId , module); //if (Debug.infoOn()) Debug.logInfo("in updatePublishLinks, origSubContentId:" + origSubContentId , module); try { if (UtilValidate.isNotEmpty(currentSubContentId)) { if (!currentSubContentId.equals(origSubContentId)) { // disable existing link if (UtilValidate.isNotEmpty(origSubContentId) && origFromDate != null) { List oldActiveValues = delegator.findByAnd("ContentAssoc", UtilMisc.toMap("contentId", targContentId, "contentIdTo", origSubContentId, "contentAssocTypeId", "PUBLISH_LINK", "thruDate", null)); Iterator iterOldActive = oldActiveValues.iterator(); while (iterOldActive.hasNext()) { GenericValue cAssoc = (GenericValue)iterOldActive.next(); cAssoc.set("thruDate", nowTimestamp); cAssoc.store(); //if (Debug.infoOn()) Debug.logInfo("in updatePublishLinks, deactivating:" + cAssoc , module); } } // create new link Map serviceIn = new HashMap(); serviceIn.put("userLogin", userLogin); serviceIn.put("contentId", targContentId); serviceIn.put("contentAssocTypeId", "PUBLISH_LINK"); serviceIn.put("fromDate", nowTimestamp); serviceIn.put("contentIdTo", currentSubContentId); serviceIn.put("roleTypeList", roleTypeList); serviceIn.put("targetOperationList", targetOperationList); serviceIn.put("contentPurposeList", contentPurposeList); results = dispatcher.runSync("createContentAssoc", serviceIn); responseMessage = (String)results.get(ModelService.RESPONSE_MESSAGE); if (UtilValidate.isNotEmpty(responseMessage)) { errorMessage = (String)results.get(ModelService.ERROR_MESSAGE); Debug.logError("in updatePublishLinks, serviceIn:" + serviceIn , module); Debug.logError(errorMessage, module); request.setAttribute("_ERROR_MESSAGE_", errorMessage); return "error"; } serviceIn = new HashMap(); serviceIn.put("userLogin", userLogin); serviceIn.put("contentId", targContentId); serviceIn.put("contentAssocTypeId", "PUBLISH_LINK"); serviceIn.put("fromDate", nowTimestamp); serviceIn.put("contentIdTo", contentId); serviceIn.put("roleTypeList", roleTypeList); serviceIn.put("targetOperationList", targetOperationList); serviceIn.put("contentPurposeList", contentPurposeList); //if (Debug.infoOn()) Debug.logInfo("in updatePublishLinks, serviceIn(3b):" + serviceIn , module); results = dispatcher.runSync("createContentAssoc", serviceIn); //if (Debug.infoOn()) Debug.logInfo("in updatePublishLinks, results(3b):" + results , module); if (!statusIdUpdated) { try { GenericValue targContent = delegator.findByPrimaryKey("Content", UtilMisc.toMap("contentId", targContentId)); targContent.set("statusId", "BLOG_PUBLISHED"); targContent.store(); statusIdUpdated = true; } catch(GenericEntityException e) { Debug.logError(e.getMessage(), module); request.setAttribute("_ERROR_MESSAGE_", e.getMessage()); return "error"; } } } } else if ( UtilValidate.isNotEmpty(origSubContentId)) { // if no current link is passed in, look to see if there is an existing link(s) that must be disabled List oldActiveValues = delegator.findByAnd("ContentAssoc", UtilMisc.toMap("contentId", targContentId, "contentIdTo", origSubContentId, "contentAssocTypeId", "PUBLISH_LINK", "thruDate", null)); Iterator iterOldActive = oldActiveValues.iterator(); while (iterOldActive.hasNext()) { GenericValue cAssoc = (GenericValue)iterOldActive.next(); cAssoc.set("thruDate", nowTimestamp); cAssoc.store(); } oldActiveValues = delegator.findByAnd("ContentAssoc", UtilMisc.toMap("contentId", targContentId, "contentIdTo", contentId, "contentAssocTypeId", "PUBLISH_LINK", "thruDate", null)); iterOldActive = oldActiveValues.iterator(); while (iterOldActive.hasNext()) { GenericValue cAssoc = (GenericValue)iterOldActive.next(); cAssoc.set("thruDate", nowTimestamp); cAssoc.store(); } } } catch(GenericEntityException e) { Debug.logError(e.getMessage(), module); request.setAttribute("_ERROR_MESSAGE_", e.getMessage()); return "error"; } catch(GenericServiceException e2) { Debug.logError(e2, module); request.setAttribute("_ERROR_MESSAGE_", e2.getMessage()); return "error"; } } return "success"; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -