Author: jaz
Date: Thu Mar 8 17:21:49 2007 New Revision: 516252 URL: http://svn.apache.org/viewvc?view=rev&rev=516252 Log: fixed bug in update content (could not update due to non-optional fields) added data resource info to ContentMapFacade Modified: ofbiz/trunk/applications/content/servicedef/services_content.xml ofbiz/trunk/applications/content/src/org/ofbiz/content/content/ContentMapFacade.java Modified: ofbiz/trunk/applications/content/servicedef/services_content.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/content/servicedef/services_content.xml?view=diff&rev=516252&r1=516251&r2=516252 ============================================================================== --- ofbiz/trunk/applications/content/servicedef/services_content.xml (original) +++ ofbiz/trunk/applications/content/servicedef/services_content.xml Thu Mar 8 17:21:49 2007 @@ -107,7 +107,7 @@ <description>Update a Content</description> <permission-service service-name="genericContentPermission" main-action="UPDATE"/> <implements service="genericContentPermission" optional="true"/> - <implements service="updateContentAssoc"/> + <implements service="updateContentAssoc" optional="true"/> <auto-attributes entity-name="Content" include="pk" mode="INOUT" optional="false"/> <auto-attributes entity-name="Content" include="nonpk" mode="IN" optional="true"/> <!-- TODO: the following fields are depricated; but will not be removed until all services and callers are updated --> Modified: ofbiz/trunk/applications/content/src/org/ofbiz/content/content/ContentMapFacade.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/content/src/org/ofbiz/content/content/ContentMapFacade.java?view=diff&rev=516252&r1=516251&r2=516252 ============================================================================== --- ofbiz/trunk/applications/content/src/org/ofbiz/content/content/ContentMapFacade.java (original) +++ ofbiz/trunk/applications/content/src/org/ofbiz/content/content/ContentMapFacade.java Thu Mar 8 17:21:49 2007 @@ -27,6 +27,7 @@ import org.ofbiz.base.util.UtilMisc; import org.ofbiz.base.util.Debug; import org.ofbiz.base.util.GeneralException; +import org.ofbiz.content.data.DataResourceWorker; import java.util.*; import java.io.IOException; @@ -52,6 +53,7 @@ protected boolean isTop = false; // internal objects + private DataResource dataResource; private SubContent subContent; private MetaData metaData; private Content content; @@ -87,6 +89,7 @@ } private void init() { + this.dataResource = new DataResource(); this.subContent = new SubContent(); this.metaData = new MetaData(); this.content = new Content(); @@ -162,6 +165,11 @@ } + // data (resource) object + if ("data".equals(name)) { + return dataResource; + } + // subcontent list of ordered subcontent if ("subcontent_all".equals(name)) { List subContent = FastList.newInstance(); @@ -308,9 +316,12 @@ Debug.logWarning("Key parameters must be a string", module); return null; } - String name = (String) key; + String name = (String) key; + if (name.toLowerCase().startsWith("id_")) { + name = name.substring(3); + } - // key is the mapKey + // key is the mapKey List subs = null; try { subs = delegator.findByAnd("ContentAssoc", UtilMisc.toMap("contentId", contentId, "mapKey", name), UtilMisc.toList("-fromDate")); @@ -343,6 +354,42 @@ Debug.logError(e, module); } return metaData; + } + } + + class DataResource extends AbstractInfo { + public Object get(Object key) { + if (!(key instanceof String)) { + Debug.logWarning("Key parameters must be a string", module); + return null; + } + String name = (String) key; + + // get the data resource value object + if ("fields".equals(name)) { + GenericValue dr = null; + try { + dr = value.getRelatedOne("DataResource"); + } catch (GenericEntityException e) { + Debug.logError(e, module); + } + return dr; + } + + // render just the dataresource + if ("render".equals(name)) { + try { + return DataResourceWorker.renderDataResourceAsText(delegator, value.getString("dataResourceId"), context, locale, mimeType, cache); + } catch (GeneralException e) { + Debug.logError(e, module); + return e.toString(); + } catch (IOException e) { + Debug.logError(e, module); + return e.toString(); + } + } + + return null; } } } |
Free forum by Nabble | Edit this page |