Thanks Jacques. I had it on my TODO list but just didn't get to it. Looks good.
-----Original Message----- From: Jacques Le Roux [mailto:[EMAIL PROTECTED] Sent: Thursday, January 24, 2008 12:06 PM To: [email protected] Subject: Re: Party Services bug - Please review Thanks Chris, I finally commited your changes without a patch : see trunk rev. 614945 release4.0 614946 Jacques From: "Jacques Le Roux" <[EMAIL PROTECTED]> > Chris, > > This makes sense indeed. Could you please open a Jira issue and attach a patch? > > TIA > > Jacques > > From: "Chris Juettner" <[EMAIL PROTECTED]> >>I believe I have found and corrected a bug in these simple methods named "createPartyContent" and "updatePartyContent" located in >>PartyServices.xml. >> >> What is happening is the method is setting the dataResourceId in the map prior to the DataResource row being created. >> This is a problem because the dataResourceId doesn't exist yet. >> The result is that the uploaded file name is persisted with just the path and extension. >> >> For example: >> C:\eclipse\workspace\ofbiz\applications\content\uploads\1200348109149\.d oc >> >> So I added a call to the updateDataResource service following the createDataResource because the dataResourceId is now available. >> >> Please review for accuracy and make the change if appropriate. >> >> Thanks >> >> Chris Juettner >> Integral Business Solutions >> >> >> File: PartyServices.xml >> >> createPartyContent >> Original code: >> >> <!-- create the data resource object --> >> <set from-field="parameters._uploadedFile_fileName" field="dataResource.dataResourceName"/> >> <set from-field="parameters._uploadedFile_contentType" field="dataResource.mimeTypeId"/> >> <set value="${uploadPath}/${dataResource.dataResourceId}" field="dataResource.objectInfo"/> >> <if-not-empty field-name="extension"> >> <set value="${uploadPath}/${dataResource.dataResourceId}.${extension.fileExte nsionId}" >> field="dataResource.objectInfo"/> >> </if-not-empty> >> <set value="LOCAL_FILE" field="dataResource.dataResourceTypeId"/> >> <call-service service-name="createDataResource" in-map-name="dataResource" break-on-error="false"> >> <result-to-field result-name="dataResourceId" field-name="dataResourceId"/> >> <result-to-field result-name="dataResource" field-name="dataResourceMap"/> >> </call-service> >> >> >> Fixed code: >> >> <!-- create the data resource object --> >> <set from-field="parameters._uploadedFile_fileName" field="dataResource.dataResourceName"/> >> <set from-field="parameters._uploadedFile_contentType" field="dataResource.mimeTypeId"/> >> <set value="LOCAL_FILE" field="dataResource.dataResourceTypeId"/> >> <call-service service-name="createDataResource" in-map-name="dataResource" break-on-error="false"> >> <result-to-field result-name="dataResourceId" field-name="dataResourceId"/> >> </call-service> >> >> <set-service-fields service-name="updateDataResource" map-name="dataResource" to-map-name="dataResource"/> >> <set from-field="dataResourceId" field="dataResource.dataResourceId"/> >> <call-service service-name="updateDataResource" in-map-name="dataResource" break-on-error="false" /> >> <set from-field="dataResource.dataResourceId" field="lookup.dataResourceId"/> >> <find-by-primary-key use-cache="true" entity-name="DataResource" value-name="dataResourceMap" map-name="lookup"/> >> >> >> updatePartyContent >> Original code: >> >> <!-- create the data resource object --> >> <set from-field="parameters._uploadedFile_fileName" field="dataResource.dataResourceName"/> >> <set from-field="parameters._uploadedFile_contentType" field="dataResource.mimeTypeId"/> >> <set value="${uploadPath}/${dataResource.dataResourceId}" field="dataResource.objectInfo"/> >> <if-not-empty field-name="extension"> >> <set value="${uploadPath}/${dataResource.dataResourceId}.${extension.fileExte nsionId}" >> field="dataResource.objectInfo"/> >> </if-not-empty> >> <set value="LOCAL_FILE" field="dataResource.dataResourceTypeId"/> >> <call-service service-name="createDataResource" in-map-name="dataResource" break-on-error="false"> >> <result-to-field result-name="dataResourceId" field-name="dataResourceId"/> >> <result-to-field result-name="dataResource" field-name="dataResourceMap"/> >> </call-service> >> >> Fixed code: >> >> <!-- create the data resource object --> >> <set from-field="parameters._uploadedFile_fileName" field="dataResource.dataResourceName"/> >> <set from-field="parameters._uploadedFile_contentType" field="dataResource.mimeTypeId"/> >> <set value="LOCAL_FILE" field="dataResource.dataResourceTypeId"/> >> <call-service service-name="createDataResource" in-map-name="dataResource" break-on-error="false"> >> <result-to-field result-name="dataResourceId" field-name="dataResourceId"/> >> </call-service> >> <set value="${uploadPath}/${dataResourceId}" field="dataResource.objectInfo"/> >> <if-not-empty field-name="extension"> >> <set value="${uploadPath}/${dataResourceId}.${extension.fileExtensionId}" field="dataResource.objectInfo"/> >> </if-not-empty> >> <set-service-fields service-name="updateDataResource" map-name="dataResource" to-map-name="dataResource"/> >> <set from-field="dataResourceId" field="dataResource.dataResourceId"/> >> <call-service service-name="updateDataResource" in-map-name="dataResource" break-on-error="false" /> >> <set from-field="dataResource.dataResourceId" field="lookup.dataResourceId"/> >> <find-by-primary-key use-cache="true" entity-name="DataResource" value-name="dataResourceMap" map-name="lookup"/> >> >> >> >
