<mavenModuleSetBuild _class='hudson.maven.MavenModuleSetBuild'><action _class='hudson.model.CauseAction'><cause _class='hudson.triggers.SCMTrigger$SCMTriggerCause'><shortDescription>Started by an SCM change</shortDescription></cause></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><refsremotesoriginmaster _class='hudson.plugins.git.util.Build'><buildNumber>122</buildNumber><marked><SHA1>30806f1892139c01e8e5614a92d588d3d197fdb0</SHA1><branch><SHA1>30806f1892139c01e8e5614a92d588d3d197fdb0</SHA1><name>refs/remotes/origin/master</name></branch></marked><revision><SHA1>30806f1892139c01e8e5614a92d588d3d197fdb0</SHA1><branch><SHA1>30806f1892139c01e8e5614a92d588d3d197fdb0</SHA1><name>refs/remotes/origin/master</name></branch></revision></refsremotesoriginmaster></buildsByBranchName><lastBuiltRevision><SHA1>30806f1892139c01e8e5614a92d588d3d197fdb0</SHA1><branch><SHA1>30806f1892139c01e8e5614a92d588d3d197fdb0</SHA1><name>refs/remotes/origin/master</name></branch></lastBuiltRevision><remoteUrl>https://github.com/bxservice/idempiere-rest</remoteUrl><scmName></scmName></action><action></action><action _class='hudson.maven.reporters.MavenAggregatedArtifactRecord'></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><building>false</building><displayName>#122</displayName><duration>16360</duration><estimatedDuration>18192</estimatedDuration><fullDisplayName>idempiere-rest-master #122</fullDisplayName><id>122</id><inProgress>false</inProgress><keepLog>false</keepLog><number>122</number><queueId>5231</queueId><result>FAILURE</result><timestamp>1781059450239</timestamp><url>https://jenkins.younex.de/view/all/job/idempiere-rest-master/122/</url><builtOn></builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>com.trekglobal.idempiere.rest.api/src/com/trekglobal/idempiere/rest/api/v1/resource/impl/ModelResourceImpl.java</affectedPath><affectedPath>com.trekglobal.idempiere.rest.api/src/com/trekglobal/idempiere/rest/api/json/ResponseUtils.java</affectedPath><affectedPath>com.trekglobal.idempiere.rest.api/src/com/trekglobal/idempiere/rest/api/json/IPOSerializer.java</affectedPath><affectedPath>com.trekglobal.idempiere.rest.api/src/com/trekglobal/idempiere/rest/api/json/DefaultPOSerializer.java</affectedPath><commitId>30806f1892139c01e8e5614a92d588d3d197fdb0</commitId><timestamp>1781008787000</timestamp><author><absoluteUrl>https://jenkins.younex.de/user/noreply</absoluteUrl><fullName>noreply</fullName></author><authorEmail>noreply@github.com</authorEmail><comment>Use status 400 for field validation errors (DAD-379) #497 (#502)

* Use status 400 for field validation errors (DAD-379) #497

* Mandatory and not updateable column validation for update

* Move mandatory fields validation from DefaultPOSerializer to before save event handler.

* Fix potential event handler leak

- incorporate other coderabbitai suggestions

* Fix event handler registration

- add SALESREP_ID and AD_USER_NAME to context to make it more consistent
with Web Client
- fix setDefaultValue not ignoring key and uuid
column/home/hengsin/workspace/pcn/idempiere-rest/com.trekglobal.idempiere.rest.api/src/com/trekglobal/idempiere/rest/api/v1/resource/impl/ModelResourceImpl.java

* Handle explicit JsonNull and isJsonPrimitive

* Translate validForeignKeysEx and CrossTenantException to bad request exception

* Move setDefaultValue and validate mandatory fields to before save event handler.

* Fix potential NPE

* Incorporate patch from Carlos to fix update of context and default parsing

* Simplify loop detection

* Don't fill default value for update

- Surface IDempiereRestException for createChild.

* Add null check for dependentColumn
</comment><date>2026-06-09 14:39:47 +0200</date><id>30806f1892139c01e8e5614a92d588d3d197fdb0</id><msg>Use status 400 for field validation errors (DAD-379) #497 (#502)</msg><path><editType>edit</editType><file>com.trekglobal.idempiere.rest.api/src/com/trekglobal/idempiere/rest/api/v1/resource/impl/ModelResourceImpl.java</file></path><path><editType>edit</editType><file>com.trekglobal.idempiere.rest.api/src/com/trekglobal/idempiere/rest/api/json/IPOSerializer.java</file></path><path><editType>edit</editType><file>com.trekglobal.idempiere.rest.api/src/com/trekglobal/idempiere/rest/api/json/ResponseUtils.java</file></path><path><editType>edit</editType><file>com.trekglobal.idempiere.rest.api/src/com/trekglobal/idempiere/rest/api/json/DefaultPOSerializer.java</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>https://jenkins.younex.de/user/noreply</absoluteUrl><fullName>noreply</fullName></culprit><mavenArtifacts></mavenArtifacts><mavenVersionUsed>3.9.6</mavenVersionUsed></mavenModuleSetBuild>