📄 contentservices.java
字号:
// only a contentIdFrom o contentIdTo is passed in
String contentIdFrom = (String) context.get("contentId");
String contentIdTo = (String) context.get("contentIdTo");
String contentId = (String) context.get("contentId");
String contentAssocTypeId = (String) context.get("contentAssocTypeId");
Timestamp fromDate = (Timestamp) context.get("fromDate");
GenericValue contentAssoc = null;
try {
contentAssoc = delegator.findByPrimaryKey("ContentAssoc", UtilMisc.toMap("contentId", contentId, "contentIdTo", contentIdTo, "contentAssocTypeId", contentAssocTypeId, "fromDate", fromDate));
} catch (GenericEntityException e) {
System.out.println("Entity Error:" + e.getMessage());
return ServiceUtil.returnError("Error in retrieving Content. " + e.getMessage());
}
contentAssoc.put("contentAssocPredicateId", context.get("contentAssocPredicateIdFrom"));
contentAssoc.put("dataSourceId", context.get("dataSourceId"));
String thruDateStr = (String) context.get("thruDate");
if (!UtilValidate.isEmpty(thruDateStr)) {
contentAssoc.setString("thruDate", (String) context.get("thruDate"));
}
contentAssoc.set("sequenceNum", context.get("sequenceNum"));
contentAssoc.put("mapKey", context.get("mapKey"));
String upperCoordinateStr = (String) context.get("upperCoordinate");
if (UtilValidate.isEmpty(upperCoordinateStr)) {
contentAssoc.put("upperCoordinate", null);
} else {
contentAssoc.setString("upperCoordinate", upperCoordinateStr);
}
String leftCoordinateStr = (String) context.get("leftCoordinate");
if (UtilValidate.isEmpty(leftCoordinateStr)) {
contentAssoc.put("leftCoordinate", null);
} else {
contentAssoc.setString("leftCoordinate", leftCoordinateStr);
}
GenericValue userLogin = (GenericValue) context.get("userLogin");
String userLoginId = (String) userLogin.get("userLoginId");
String createdByUserLogin = userLoginId;
String lastModifiedByUserLogin = userLoginId;
Timestamp createdDate = UtilDateTime.nowTimestamp();
Timestamp lastModifiedDate = UtilDateTime.nowTimestamp();
contentAssoc.put("createdByUserLogin", createdByUserLogin);
contentAssoc.put("lastModifiedByUserLogin", lastModifiedByUserLogin);
contentAssoc.put("createdDate", createdDate);
contentAssoc.put("lastModifiedDate", lastModifiedDate);
String permissionStatus = null;
Map serviceInMap = new HashMap();
serviceInMap.put("userLogin", context.get("userLogin"));
List targetOperations = new ArrayList();
targetOperations.add("ASSOC_CONTENT");
serviceInMap.put("targetOperationList", targetOperations);
serviceInMap.put("contentPurposeList", context.get("contentPurposeList"));
serviceInMap.put("entityOperation", context.get("entityOperation"));
serviceInMap.put("contentIdTo", contentIdTo);
serviceInMap.put("contentIdFrom", contentIdFrom);
Map permResults = null;
try {
permResults = dispatcher.runSync("checkAssocPermission", serviceInMap);
} catch (GenericServiceException e) {
Debug.logError(e, "Problem checking permissions", "ContentServices");
return ServiceUtil.returnError("Problem checking association permissions");
}
permissionStatus = (String) permResults.get("permissionStatus");
if (permissionStatus != null && permissionStatus.equals("granted")) {
try {
contentAssoc.store();
} catch (GenericEntityException e) {
return ServiceUtil.returnError(e.getMessage());
}
}
return result;
}
/**
* Deactivates any active ContentAssoc (except the current one) that is associated with the passed in template/layout contentId and mapKey.
*/
public static Map deactivateAssocs(DispatchContext dctx, Map context) {
GenericDelegator delegator = dctx.getDelegator();
String contentIdTo = (String) context.get("contentIdTo");
String mapKey = (String) context.get("mapKey");
String contentAssocTypeId = (String) context.get("contentAssocTypeId");
String activeContentId = (String) context.get("activeContentId");
Timestamp fromDate = (Timestamp) context.get("fromDate");
Map results = new HashMap();
try {
GenericValue activeAssoc =
delegator.findByPrimaryKey("ContentAssoc", UtilMisc.toMap("contentId", activeContentId, "contentIdTo", contentIdTo, "fromDate", fromDate, "contentAssocTypeId", contentAssocTypeId));
if (activeAssoc == null) {
return ServiceUtil.returnError("No association found for contentId=" + activeContentId + " and contentIdTo=" + contentIdTo
+ " and contentAssocTypeId=" + contentAssocTypeId + " and fromDate=" + fromDate);
}
String sequenceNum = (String) activeAssoc.get("sequenceNum");
List exprList = new ArrayList();
exprList.add(new EntityExpr("mapKey", EntityOperator.EQUALS, mapKey));
if (sequenceNum != null) {
exprList.add(new EntityExpr("sequenceNum", EntityOperator.EQUALS, sequenceNum));
}
exprList.add(new EntityExpr("mapKey", EntityOperator.EQUALS, mapKey));
exprList.add(new EntityExpr("thruDate", EntityOperator.EQUALS, null));
exprList.add(new EntityExpr("contentIdTo", EntityOperator.EQUALS, contentIdTo));
exprList.add(new EntityExpr("contentAssocTypeId", EntityOperator.EQUALS, contentAssocTypeId));
exprList.add(new EntityExpr("contentId", EntityOperator.NOT_EQUAL, activeContentId));
EntityConditionList assocExprList = new EntityConditionList(exprList, EntityOperator.AND);
List relatedAssocs = delegator.findByCondition("ContentAssoc", assocExprList, new ArrayList(), UtilMisc.toList("fromDate"));
Iterator it = relatedAssocs.iterator();
while (it.hasNext()) {
GenericValue val = (GenericValue) it.next();
val.set("thruDate", fromDate);
val.store();
}
results.put("deactivatedList", relatedAssocs);
} catch (GenericEntityException e) {
return ServiceUtil.returnError(e.getMessage());
}
return results;
}
/**
* Get and render subcontent associated with template id and mapkey. If subContentId is supplied, that content will be rendered without searching for other
* matching content.
*/
public static Map renderSubContentAsText(DispatchContext dctx, Map context) {
Map results = new HashMap();
GenericDelegator delegator = dctx.getDelegator();
//LocalDispatcher dispatcher = dctx.getDispatcher();
Map templateContext = (Map) context.get("templateContext");
String contentId = (String) context.get("contentId");
Timestamp fromDate = (Timestamp) context.get("fromDate");
GenericValue userLogin = (GenericValue) context.get("userLogin");
if (templateContext != null && UtilValidate.isEmpty(contentId)) {
contentId = (String) templateContext.get("contentId");
}
String mapKey = (String) context.get("mapKey");
if (templateContext != null && UtilValidate.isEmpty(mapKey)) {
mapKey = (String) templateContext.get("mapKey");
}
String subContentId = (String) context.get("subContentId");
if (templateContext != null && UtilValidate.isEmpty(subContentId)) {
subContentId = (String) templateContext.get("subContentId");
}
String mimeTypeId = (String) context.get("mimeTypeId");
if (templateContext != null && UtilValidate.isEmpty(mimeTypeId)) {
mimeTypeId = (String) templateContext.get("mimeTypeId");
}
Locale locale = (Locale) context.get("locale");
if (templateContext != null && locale == null) {
locale = (Locale) templateContext.get("locale");
}
GenericValue subContentDataResourceView = (GenericValue) context.get("subContentDataResourceView");
if (subContentDataResourceView != null && subContentDataResourceView == null) {
subContentDataResourceView = (GenericValue) templateContext.get("subContentDataResourceView");
}
Writer out = (Writer) context.get("outWriter");
//Debug.logVerbose("in renderSubContent(svc), contentId:" + contentId, "");
//Debug.logVerbose("in renderSubContent(svc), subContentId:" + subContentId, "");
//Debug.logVerbose("in renderSubContent(svc), mapKey:" + mapKey, "");
if (templateContext == null) {
templateContext = new HashMap();
}
try {
results = ContentWorker.renderSubContentAsText(delegator, contentId, out, mapKey, subContentId, subContentDataResourceView, templateContext, locale, mimeTypeId, userLogin, fromDate);
} catch (GeneralException e) {
Debug.logError(e, "Error rendering sub-content text", module);
return ServiceUtil.returnError(e.toString());
} catch (IOException e) {
Debug.logError(e, "Error rendering sub-content text", module);
return ServiceUtil.returnError(e.toString());
}
return results;
}
/**
* Get and render subcontent associated with template id and mapkey. If subContentId is supplied, that content will be rendered without searching for other
* matching content.
*/
public static Map renderContentAsText(DispatchContext dctx, Map context) {
Map results = new HashMap();
GenericDelegator delegator = dctx.getDelegator();
Writer out = (Writer) context.get("outWriter");
Map templateContext = (Map) context.get("templateContext");
//GenericValue userLogin = (GenericValue)context.get("userLogin");
String contentId = (String) context.get("contentId");
if (templateContext != null && UtilValidate.isEmpty(contentId)) {
contentId = (String) templateContext.get("contentId");
}
String mimeTypeId = (String) context.get("mimeTypeId");
if (templateContext != null && UtilValidate.isEmpty(mimeTypeId)) {
mimeTypeId = (String) templateContext.get("mimeTypeId");
}
Locale locale = (Locale) context.get("locale");
if (templateContext != null && locale == null) {
locale = (Locale) templateContext.get("locale");
}
if (templateContext == null) {
templateContext = new HashMap();
}
GenericValue view = null;
try {
results = ContentWorker.renderContentAsText(delegator, contentId, out, templateContext, view, locale, mimeTypeId);
} catch (GeneralException e) {
Debug.logError(e, "Error rendering sub-content text", module);
return ServiceUtil.returnError(e.toString());
} catch (IOException e) {
Debug.logError(e, "Error rendering sub-content text", module);
return ServiceUtil.returnError(e.toString());
}
return results;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -