📄 contentworker.java
字号:
content = delegator.findByPrimaryKey("Content", UtilMisc.toMap("contentId", contentId));
if (contentTypes != null && contentTypes.size() > 0) {
contentTypeId = (String) content.get("contentTypeId");
if (contentTypes.contains(contentTypeId)) {
contentList.add(content);
}
} else {
contentList.add(content);
}
}
return contentList;
}
public static List getAssociatedContentView(GenericValue currentContent, String linkDir, List assocTypes, List contentTypes, String fromDate, String thruDate) throws GenericEntityException {
List contentList = new ArrayList();
List exprListAnd = new ArrayList();
String origContentId = (String) currentContent.get("contentId");
String contentIdName = "contentId";
String contentAssocViewName = "contentAssocView";
if (linkDir != null && linkDir.equalsIgnoreCase("TO")) {
contentIdName.concat("To");
contentAssocViewName.concat("To");
}
EntityExpr expr = new EntityExpr(contentIdName, EntityOperator.EQUALS, origContentId);
exprListAnd.add(expr);
if (contentTypes.size() > 0) {
List exprListOr = new ArrayList();
Iterator it = contentTypes.iterator();
while (it.hasNext()) {
String contentType = (String) it.next();
expr = new EntityExpr("contentTypeId", EntityOperator.EQUALS, contentType);
exprListOr.add(expr);
}
EntityConditionList contentExprList = new EntityConditionList(exprListOr, EntityOperator.OR);
exprListAnd.add(contentExprList);
}
if (assocTypes.size() > 0) {
List exprListOr = new ArrayList();
Iterator it = assocTypes.iterator();
while (it.hasNext()) {
String assocType = (String) it.next();
expr = new EntityExpr("contentAssocTypeId", EntityOperator.EQUALS, assocType);
exprListOr.add(expr);
}
EntityConditionList assocExprList = new EntityConditionList(exprListOr, EntityOperator.OR);
exprListAnd.add(assocExprList);
}
if (fromDate != null) {
Timestamp tsFrom = UtilDateTime.toTimestamp(fromDate);
expr = new EntityExpr("fromDate", EntityOperator.GREATER_THAN_EQUAL_TO, tsFrom);
exprListAnd.add(expr);
}
if (thruDate != null) {
Timestamp tsThru = UtilDateTime.toTimestamp(thruDate);
expr = new EntityExpr("thruDate", EntityOperator.LESS_THAN, tsThru);
exprListAnd.add(expr);
}
EntityConditionList contentCondList = new EntityConditionList(exprListAnd, EntityOperator.AND);
GenericDelegator delegator = currentContent.getDelegator();
contentList = delegator.findByCondition(contentAssocViewName, contentCondList, null, null);
return contentList;
}
public static List getAssociations(GenericValue currentContent, String linkDir, List assocTypes, String strFromDate, String strThruDate) throws GenericEntityException {
GenericDelegator delegator = currentContent.getDelegator();
String origContentId = (String) currentContent.get("contentId");
Timestamp fromDate = null;
if (strFromDate != null) {
fromDate = UtilDateTime.toTimestamp(strFromDate);
}
Timestamp thruDate = null;
if (strThruDate != null) {
thruDate = UtilDateTime.toTimestamp(strThruDate);
}
List assocs = getContentAssocsWithId(delegator, origContentId, fromDate, thruDate, linkDir, assocTypes);
return assocs;
}
public static List getContentAssocsWithId(GenericDelegator delegator, String contentId, Timestamp fromDate, Timestamp thruDate, String direction, List assocTypes) throws GenericEntityException {
//if (Debug.verboseOn()) Debug.logVerbose("getContentAssocs, direction:" + direction,null);
List exprList = new ArrayList();
EntityExpr joinExpr = null;
EntityExpr expr = null;
if (direction != null && direction.equalsIgnoreCase("From")) {
joinExpr = new EntityExpr("contentIdTo", EntityOperator.EQUALS, contentId);
} else {
joinExpr = new EntityExpr("contentId", EntityOperator.EQUALS, contentId);
}
exprList.add(joinExpr);
if (assocTypes != null && assocTypes.size() > 0) {
List exprListOr = new ArrayList();
Iterator it = assocTypes.iterator();
while (it.hasNext()) {
String assocType = (String) it.next();
expr = new EntityExpr("contentAssocTypeId", EntityOperator.EQUALS, assocType);
exprListOr.add(expr);
}
EntityConditionList assocExprList = new EntityConditionList(exprListOr, EntityOperator.OR);
exprList.add(assocExprList);
}
if (fromDate != null) {
EntityExpr fromExpr = new EntityExpr("fromDate", EntityOperator.GREATER_THAN_EQUAL_TO, fromDate);
exprList.add(fromExpr);
}
if (thruDate != null) {
List thruList = new ArrayList();
//thruDate = UtilDateTime.getDayStart(thruDate, daysLater);
EntityExpr thruExpr = new EntityExpr("thruDate", EntityOperator.LESS_THAN, thruDate);
thruList.add(thruExpr);
EntityExpr thruExpr2 = new EntityExpr("thruDate", EntityOperator.EQUALS, null);
thruList.add(thruExpr2);
EntityConditionList thruExprList = new EntityConditionList(thruList, EntityOperator.OR);
exprList.add(thruExprList);
} else if (fromDate != null) {
List thruList = new ArrayList();
EntityExpr thruExpr = new EntityExpr("thruDate", EntityOperator.GREATER_THAN, fromDate);
thruList.add(thruExpr);
EntityExpr thruExpr2 = new EntityExpr("thruDate", EntityOperator.EQUALS, null);
thruList.add(thruExpr2);
EntityConditionList thruExprList = new EntityConditionList(thruList, EntityOperator.OR);
exprList.add(thruExprList);
}
EntityConditionList assocExprList = new EntityConditionList(exprList, EntityOperator.AND);
List relatedAssocs = delegator.findByCondition("ContentAssoc", assocExprList, new ArrayList(), new ArrayList());
//if (Debug.verboseOn()) Debug.logVerbose("relatedAssocs:", null);
for (int i = 0; i < relatedAssocs.size(); i++) {
GenericValue a = (GenericValue) relatedAssocs.get(i);
if (Debug.verboseOn()) Debug.logVerbose(" contentId:" + a.get("contentId") + " To:" + a.get("contentIdTo") + " AssocTypeId:" + a.get("contentAssocTypeId"), null);
}
return relatedAssocs;
}
public static void getContentTypeAncestry(GenericDelegator delegator, String contentTypeId, List contentTypes) throws GenericEntityException {
contentTypes.add(contentTypeId);
GenericValue contentTypeValue = delegator.findByPrimaryKey("ContentType", UtilMisc.toMap("contentTypeId", contentTypeId));
if (contentTypeValue == null)
return;
String parentTypeId = (String) contentTypeValue.get("parentTypeId");
if (parentTypeId != null) {
getContentTypeAncestry(delegator, parentTypeId, contentTypes);
}
return;
}
public static Map pullEntityValues(GenericDelegator delegator, String entityName, Map context) {
GenericValue entOut = delegator.makeValue(entityName, null);
entOut.setPKFields(context);
entOut.setNonPKFields(context);
return (Map) entOut;
}
/**
* callContentPermissionCheck Formats data for a call to the checkContentPermission service.
*/
public static String callContentPermissionCheck(GenericDelegator delegator, LocalDispatcher dispatcher, Map context) {
String permissionStatus = "granted";
String skipPermissionCheck = (String) context.get("skipPermissionCheck");
if (skipPermissionCheck == null
|| skipPermissionCheck.length() == 0
|| (!skipPermissionCheck.equalsIgnoreCase("true") && !skipPermissionCheck.equalsIgnoreCase("granted"))) {
GenericValue userLogin = (GenericValue) context.get("userLogin");
Map serviceInMap = new HashMap();
serviceInMap.put("userLogin", userLogin);
serviceInMap.put("targetOperationList", context.get("targetOperationList"));
serviceInMap.put("contentPurposeList", context.get("contentPurposeList"));
serviceInMap.put("entityOperation", context.get("entityOperation"));
try {
Map permResults = dispatcher.runSync("checkContentPermission", serviceInMap);
permissionStatus = (String) permResults.get("permissionStatus");
} catch (GenericServiceException e) {
Debug.logError(e, "Problem checking permissions", "ContentServices");
}
}
return permissionStatus;
}
public static GenericValue getSubContent(GenericDelegator delegator, String contentId, String mapKey, String subContentId, GenericValue userLogin, List assocTypes, Timestamp fromDate) throws IOException {
//GenericValue content = null;
GenericValue view = null;
try {
if (subContentId == null) {
if (contentId == null) {
throw new GenericEntityException("contentId and subContentId are null.");
}
Map results = null;
results = ContentServicesComplex.getAssocAndContentAndDataResourceMethod(delegator, contentId, mapKey, "From", fromDate, null, null, null, assocTypes, null);
List entityList = (List) results.get("entityList");
if (entityList == null || entityList.size() == 0) {
//throw new IOException("No subcontent found.");
} else {
view = (GenericValue) entityList.get(0);
}
} else {
List lst = delegator.findByAnd("ContentDataResourceView", UtilMisc.toMap("contentId", subContentId));
if (lst == null || lst.size() == 0) {
throw new IOException("No subContent found for subContentId=." + subContentId);
}
view = (GenericValue) lst.get(0);
}
} catch (GenericEntityException e) {
throw new IOException(e.getMessage());
}
return view;
}
public static GenericValue getSubContentCache(GenericDelegator delegator, String contentId, String mapKey, String subContentId, GenericValue userLogin, List assocTypes, Timestamp fromDate) throws GenericEntityException, MiniLangException, GeneralException {
//GenericValue content = null;
GenericValue view = null;
if (subContentId == null) {
if (contentId == null) {
throw new GenericEntityException("contentId and subContentId are null.");
}
Map results = null;
List contentTypes = null;
results = ContentServicesComplex.getAssocAndContentAndDataResourceCacheMethod(delegator, contentId, mapKey, "From", fromDate, null, assocTypes, contentTypes);
List entityList = (List) results.get("entityList");
if (entityList == null || entityList.size() == 0) {
//throw new IOException("No subcontent found.");
} else {
view = (GenericValue) entityList.get(0);
}
} else {
List lst = delegator.findByAnd("ContentDataResourceView", UtilMisc.toMap("contentId", subContentId));
if (lst == null || lst.size() == 0) {
throw new GeneralException("No subContent found for subContentId=." + subContentId);
}
view = (GenericValue) lst.get(0);
}
return view;
}
public static GenericValue getContentFromView(GenericValue view) {
GenericValue content = null;
if (view == null) {
return content;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -