[
https://issues.apache.org/jira/browse/OFBIZ-10325?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16625114#comment-16625114
]
Pritam Kute commented on OFBIZ-10325:
-------------------------------------
Hello Suraj,
I have verified this issue and I think this improvement has been already done
in the codebase. I have checked it at "Attributes" screen on party profile.
Please check the following code snippet:
{code:xml}
<screen name="Attributes">
<section>
<actions>
<property-map resource="PartyUiLabels" map-name="uiLabelMap"
global="true"/>
<set field="partyId" from-field="parameters.partyId"
default-value="${userLogin.partyId}"/>
<entity-one entity-name="Party" value-field="party">
<field-map field-name="partyIdTo" from-field="partyIdTo"/>
</entity-one>
<entity-and entity-name="PartyAttribute" list="attributes">
<field-map field-name="partyId" from-field="partyId"/>
</entity-and>
</actions>
<widgets>
<platform-specific>
<html>
<html-template
location="component://party/template/party/profileblocks/Attributes.ftl"/>
</html>
</platform-specific>
</widgets>
</section>
</screen>
{code}
I have got a proper exception on the console like following:
{code:java}
2018-09-22 17:51:24,331 |jsse-nio-8443-exec-1 |ControlServlet
|E| Error in request handler:
java.lang.IllegalArgumentException: [GenericEntity.set] "partyIdTo" is not a
field of Party, must be one of: partyId, partyTypeId, externalId,
preferredCurrencyUomId, description, statusId, createdDate, createdByUserLogin,
lastModifiedDate, lastModifiedByUserLogin, dataSourceId, isUnread,
lastUpdatedStamp, lastUpdatedTxStamp, createdStamp, createdTxStamp
at org.apache.ofbiz.entity.GenericEntity.set(GenericEntity.java:463)
~[ofbiz.jar:?]
at
org.apache.ofbiz.entity.GenericEntity.setFields(GenericEntity.java:1057)
~[ofbiz.jar:?]
at org.apache.ofbiz.entity.GenericEntity.init(GenericEntity.java:199)
~[ofbiz.jar:?]
at org.apache.ofbiz.entity.GenericPK.create(GenericPK.java:45)
~[ofbiz.jar:?]
at
org.apache.ofbiz.entity.GenericDelegator.makePK(GenericDelegator.java:695)
~[ofbiz.jar:?]
at
org.apache.ofbiz.entity.finder.PrimaryKeyFinder.runFind(PrimaryKeyFinder.java:145)
~[ofbiz.jar:?]
at
org.apache.ofbiz.entity.finder.PrimaryKeyFinder.runFind(PrimaryKeyFinder.java:90)
~[ofbiz.jar:?]
at
org.apache.ofbiz.widget.model.AbstractModelAction$EntityOne.runAction(AbstractModelAction.java:278)
~[ofbiz.jar:?]
at
org.apache.ofbiz.widget.model.AbstractModelAction.runSubActions(AbstractModelAction.java:143)
~[ofbiz.jar:?]
at
org.apache.ofbiz.widget.model.ModelScreenWidget$Section.renderWidgetString(ModelScreenWidget.java:277)
~[ofbiz.jar:?]
{code}
Also, see the error displayed on the party profile screen. I have attached the
screenshot of the same. Please let me if I am missing something or you expect
it in some other way,
> EntityOne.java doesn't throw proper exception if field is not available in
> entity
> ---------------------------------------------------------------------------------
>
> Key: OFBIZ-10325
> URL: https://issues.apache.org/jira/browse/OFBIZ-10325
> Project: OFBiz
> Issue Type: Improvement
> Reporter: Suraj Khurana
> Priority: Major
> Attachments: PartyProfile.png
>
>
> Using entity-one tag in xml services, if field is not a part of entity,
> proper exception message should be thrown with returned error service
> response.
> Suppose:
> <entity-one entity-name="ProductFacility" value-field="productFacility">
> <field-map field-name="productId" from-field="parameters.productId"/>
> <field-map field-name="facilityId" from-field="parameters.facilityId"/>
> <field-map field-name="partyId" from-field="parameters.partyId"/>
> </entity-one>
> partyId is not part of ProductFacility entity, if such code is used inside
> any xml service, than proper exception should be thrown from EntityOne.java
>
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)