Skip to content

Commit

Permalink
fix: updating iniatingsubject email & tel fails due to missing requir…
Browse files Browse the repository at this point in the history
…ed fields
  • Loading branch information
MLenterman committed Apr 17, 2024
1 parent 18601aa commit 0bba80d
Show file tree
Hide file tree
Showing 5 changed files with 169 additions and 118 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -10,47 +10,43 @@
<xsl:strip-space elements="*"/>
<xsl:include href="../../BpelFunctionsBase.xslt" />

<xsl:param name="DetailedCaseSaveMessage" as="node()"><cases:detailedCaseSaveMessage /></xsl:param>

<!-- Map -->
<xsl:param name="UwGegevens" as="node()"><uw-gegevenscompleet /></xsl:param>

<!-- Create/Enrich -->
<xsl:param name="Person" as="node()"><cases:person /></xsl:param>
<xsl:param name="Organization" as="node()"><cases:organization /></xsl:param>

<xsl:param name="Id" select="''" as="xs:string" />
<xsl:param name="ReferenceNumber" select="''" as="xs:string" />
<xsl:param name="EmailAddress" select="''" as="xs:string" />
<xsl:param name="TelephoneNumber" select="''" as="xs:string" />

<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>

<xsl:template match="/">
<cases:updateDetailedCase>
<cases:detailedCaseSaveMessage>
<cases:case verwerkingssoort="W">
<xsl:copy-of select="zgw:WrapNullOrSkip('cases:id', 'skip', zgw:FromOrderedSource(
$Id,
'',
$DetailedCaseSaveMessage//cases:case/cases:id,
//cases:case/cases:id),
'http://www.emaxx.org/functional/cases')" />
<xsl:copy-of select="zgw:WrapNullOrSkip('cases:referenceNumber', 'skip', zgw:FromOrderedSource(
$ReferenceNumber,
'',
$DetailedCaseSaveMessage//cases:case/cases:referenceNumber,
//cases:case/cases:referenceNumber),
'http://www.emaxx.org/functional/cases')" />
<cases:initiatingSubject verwerkingssoort="W">
<xsl:choose>
<xsl:when test="$UwGegevens//*[starts-with(name(), 'uw-gegevens')]/*[ends-with(name(), 'DigiD')]">
<xsl:copy-of select="$Person" />
</xsl:when>
<xsl:when test="$UwGegevens//*[starts-with(name(), 'uw-gegevens')]/*[starts-with(name(), 'fieldSetBedrijf')]">
<xsl:copy-of select="$Organization" />
</xsl:when>
<xsl:otherwise/>
</xsl:choose>
</cases:initiatingSubject>
</cases:case>
<xsl:apply-templates select="//*:caseDetailsMessage/*:cases/*:case"/>
</cases:detailedCaseSaveMessage>
</cases:updateDetailedCase>
</xsl:template>

<xsl:template match="*:initiatingSubject">
<cases:initiatingSubject>
<xsl:apply-templates select="@*|node()"/>
</cases:initiatingSubject>
</xsl:template>

<xsl:template match="*:emailAddress">
<cases:emailAddress>
<xsl:value-of select="$EmailAddress"/>
</cases:emailAddress>
</xsl:template>

<xsl:template match="@verwerkingssoort">
<xsl:attribute name="verwerkingssoort" select="'W'" />
</xsl:template>

<xsl:template match="*:telephoneNumber">
<cases:telephoneNumber>
<xsl:value-of select="$TelephoneNumber"/>
</cases:telephoneNumber>
</xsl:template>
</xsl:stylesheet>
2 changes: 2 additions & 0 deletions src/main/configurations/bpel/Configuration.xml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
<!ENTITY ConvertISO639Taal SYSTEM "./Configuration_ConvertISO639Taal.xml">
<!ENTITY ImportFromLocalFS SYSTEM "./Configuration_ImportFromLocalFS.xml">
<!ENTITY Notificaties_Subscribe SYSTEM "./Configuration_Notificaties_Subscribe.xml">
<!ENTITY UpdateInitiatorSubjectCommandHandler SYSTEM "./Configuration_UpdateInitiatorSubjectCommandHandler.xml">
]>

<configuration name="bpel">
Expand All @@ -44,4 +45,5 @@
&ConvertISO639Taal;
&ImportFromLocalFS;
&Notificaties_Subscribe;
&UpdateInitiatorSubjectCommandHandler;
</configuration>
Original file line number Diff line number Diff line change
Expand Up @@ -263,93 +263,23 @@
name="StoreCaseReferenceNumberFromRegisterResponse"
>
<Param name="CaseReferenceNumber" sessionKey="RegisterResponseMessage" xpathExpression="//*:referenceNumber" />
<Forward name="success" path="CreateLookUpCaseIdsRequestMessage" />
<Forward name="success" path="UpdateInitiatorSubjectCommandSender" />
</PutInSessionPipe>

<XsltPipe
name="CreateLookUpCaseIdsRequestMessage"
getInputFromSessionKey="UnwrappedMessage"
styleSheetName="Bpel/Cases/Model/LookUpCaseIdsRequestMessage.xslt"
storeResultInSessionKey="LookUpCaseIdsRequestMessage"
>
<Param name="ReferenceNumber" sessionKey="CaseReferenceNumber" />
<Forward name="success" path="BpelCasesPostLookUpCaseIdsSender" />
<Forward name="error" path="EXCEPTION" />
</XsltPipe>

<SenderPipe
name="BpelCasesPostLookUpCaseIdsSender"
storeResultInSessionKey="LookUpCaseIdsResponseMessage"
>
<IbisLocalSender
name="BpelCasesPostLookUpCaseIdsLocalSender"
javaListener="Bpel_Cases_Post"
>
</IbisLocalSender>
<Param name="soapAction" value="cases:lookUpCaseIds" />
<Forward name="success" path="CreateReadCasesRequestMessage" />
<Forward name="exception" path="EXCEPTION" />
</SenderPipe>

<XsltPipe
name="CreateReadCasesRequestMessage"
getInputFromSessionKey="UnwrappedMessage"
styleSheetName="Bpel/Cases/Model/ReadCasesRequestMessage.xslt"
storeResultInSessionKey="ReadCasesRequestMessage"
>
<Param name="Id" sessionKey="LookUpCaseIdsResponseMessage" xpathExpression="//*:cases/*:case/*:id" />
<Forward name="success" path="BpelCasesPostReadCasesSender" />
<Forward name="error" path="EXCEPTION" />
</XsltPipe>

<SenderPipe
name="BpelCasesPostReadCasesSender"
storeResultInSessionKey="ReadCasesResponseMessage"
>
<IbisLocalSender
name="BpelCasesPostReadCasesLocalSender"
javaListener="Bpel_Cases_Post"
>
</IbisLocalSender>
<Param name="soapAction" value="cases:readCases" />
<Forward name="success" path="CreateUpdateDetailedCaseMessage" />
<Forward name="exception" path="EXCEPTION" />
</SenderPipe>

<XsltPipe
name="CreateUpdateDetailedCaseMessage"
getInputFromSessionKey="UnwrappedMessage"
styleSheetName="Bpel/Cases/Model/UpdateDetailedCaseRequestMessage.xslt"
storeResultInSessionKey="UpdateDetailedCaseRequestMessage"
>
<Param name="Id" sessionKey="LookUpCaseIdsResponseMessage" xpathExpression="//*:cases/*:case/*:id" />
<Param name="ReferenceNumber" sessionKey="CaseReferenceNumber" />
<Param name="UwGegevens" sessionKey="UwGegevens" type="DOMDOC" />
<Param name="Person" styleSheetName="Bpel/Cases/Model/Person.xslt" type="DOMDOC">
<Param name="Id" sessionKey="ReadCasesResponseMessage" xpathExpression="//*:cases/*:case/*:initiatingSubject/*/*:id" />
<Param name="UwGegevens" sessionKey="UwGegevens" type="DOMDOC" />
</Param>
<Param name="Organization" styleSheetName="Bpel/Cases/Model/Organization.xslt" type="DOMDOC">
<Param name="Id" sessionKey="ReadCasesResponseMessage" xpathExpression="//*:cases/*:case/*:initiatingSubject/*/*:id" />
<Param name="UwGegevens" sessionKey="UwGegevens" type="DOMDOC" />
</Param>
<Forward name="success" path="BpelCasesPostUpdateDetailedCaseSender" />
<Forward name="error" path="EXCEPTION" />
</XsltPipe>

<SenderPipe
name="BpelCasesPostUpdateDetailedCaseSender"
storeResultInSessionKey="UpdateDetailedCaseResponseMessage"
>
<IbisLocalSender
name="BpelCasesPostUpdateDetailedCaseLocalSender"
javaListener="Bpel_Cases_Post"
>
</IbisLocalSender>
<Param name="soapAction" value="cases:updateDetailedCase" />
name="UpdateInitiatorSubjectCommandSender"
getInputFromSessionKey="UwGegevens"
transactionAttribute="Required"
>
<MessageStoreSender
name="UpdateInitiatorSubjectCommandMessageStoreSender"
slotId="${instance.name}/UpdateInitiatorSubjectCommand"
onlyStoreWhenMessageIdUnique="true"
sessionKeys="CaseReferenceNumber"
>
</MessageStoreSender>
<Forward name="success" path="CreateLookUpPaymentsMessage" />
<Forward name="exception" path="EXCEPTION" />
</SenderPipe>
</SenderPipe>

<XsltPipe
name="CreateLookUpPaymentsMessage"
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,122 @@
<Module xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../FrankConfig.xsd">
<Adapter
name="UpdateInitiatorSubjectCommandHandler"
active="${UpdateInitiatorSubjectCommandHandler.Active}"
description=""
>
<!--
message: UwGegevens domdoc
sesionKey: CaseReferenceNumber string
-->
<Receiver
name="UpdateInitiatorSubjectCommandHandler"
transactionAttribute="Required"
pollInterval="1"
maxRetries="0"
>
<MessageStoreListener
name="UpdateInitiatorSubjectCommandHandler"
slotId="${instance.name}/UpdateInitiatorSubjectCommand"
moveToMessageLog="false"
sessionKeys="CaseReferenceNumber"
/>
</Receiver>

<Pipeline>
<Exits>
<Exit name="EXIT" state="SUCCESS" />
<Exit name="EXCEPTION" state="ERROR" />
</Exits>

<XsltPipe
name="CreateLookUpCaseIdsRequestMessage"
getInputFromFixedValue="&lt;dummy/&gt;"
styleSheetName="Bpel/Cases/Model/LookUpCaseIdsRequestMessage.xslt"
storeResultInSessionKey="LookUpCaseIdsRequestMessage"
>
<Param name="ReferenceNumber" sessionKey="CaseReferenceNumber" />
<Forward name="success" path="BpelCasesPostLookUpCaseIdsSender" />
<Forward name="error" path="EXCEPTION" />
</XsltPipe>

<SenderPipe
name="BpelCasesPostLookUpCaseIdsSender"
storeResultInSessionKey="LookUpCaseIdsResponseMessage"
>
<IbisLocalSender
name="BpelCasesPostLookUpCaseIdsLocalSender"
javaListener="Bpel_Cases_Post"
>
</IbisLocalSender>
<Param name="soapAction" value="cases:lookUpCaseIds" />
<Forward name="success" path="CreateReadCasesRequestMessage" />
<Forward name="exception" path="EXCEPTION" />
</SenderPipe>

<XsltPipe
name="CreateReadCasesRequestMessage"
getInputFromFixedValue="&lt;dummy/&gt;"
styleSheetName="Bpel/Cases/Model/ReadCasesRequestMessage.xslt"
storeResultInSessionKey="ReadCasesRequestMessage"
>
<Param name="Id" sessionKey="LookUpCaseIdsResponseMessage" xpathExpression="//*:cases/*:case/*:id" />
<Forward name="success" path="BpelCasesPostReadCasesSender" />
<Forward name="error" path="EXCEPTION" />
</XsltPipe>

<SenderPipe
name="BpelCasesPostReadCasesSender"
storeResultInSessionKey="ReadCasesResponseMessage"
>
<IbisLocalSender
name="BpelCasesPostReadCasesLocalSender"
javaListener="Bpel_Cases_Post"
>
</IbisLocalSender>
<Param name="soapAction" value="cases:readCases" />
<Forward name="success" path="CreateUpdateDetailedCaseMessage" />
<Forward name="exception" path="EXCEPTION" />
</SenderPipe>

<XsltPipe
name="CreateUpdateDetailedCaseMessage"
getInputFromSessionKey="ReadCasesResponseMessage"
styleSheetName="Bpel/Cases/Model/UpdateDetailedCaseRequestMessage.xslt"
storeResultInSessionKey="UpdateDetailedCaseRequestMessage"
>
<Param name="EmailAddress" sessionKey="originalMessage" xpathExpression="//*[starts-with(name(), 'contactgegevens')]/*[starts-with(name(), 'eMailadres')]" />
<Param name="TelephoneNumber" sessionKey="originalMessage" xpathExpression="//*[starts-with(name(), 'contactgegevens')]/*[starts-with(name(), 'telefoonnummer')]" />
<Forward name="success" path="BpelCasesPostUpdateDetailedCaseSender" />
<Forward name="error" path="EXCEPTION" />
</XsltPipe>

<SenderPipe
name="BpelCasesPostUpdateDetailedCaseSender"
storeResultInSessionKey="UpdateDetailedCaseResponseMessage"
>
<IbisLocalSender
name="BpelCasesPostUpdateDetailedCaseLocalSender"
javaListener="Bpel_Cases_Post"
>
</IbisLocalSender>
<Param name="soapAction" value="cases:updateDetailedCase" />
<Forward name="success" path="InitiatorSubjectUpdatedEventSender" />
<Forward name="exception" path="EXCEPTION" />
</SenderPipe>

<SenderPipe
name="InitiatorSubjectUpdatedEventSender"
getInputFromSessionKey="CaseReferenceNumber"
transactionAttribute="NotSupported"
>
<MessageStoreSender
name="InitiatorSubjectUpdatedEventMessageStoreSender"
slotId="${instance.name}/InitiatorSubjectUpdatedEventEvent"
onlyStoreWhenMessageIdUnique="true"
>
</MessageStoreSender>
<Forward name="success" path="EXIT" />
</SenderPipe>
</Pipeline>
</Adapter>
</Module>
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ Bpel_Payment_PostLookUpPayments.Active=true
ConvertISO639Taal.Active=true
ImportFromLocalFS.Active=true
Notificaties_Subscribe.Active=true
UpdateInitiatorSubjectCommandHandler.Active=true

# suppress warning keys
warnings.suppress.defaultvalue=true
Expand Down

0 comments on commit 0bba80d

Please sign in to comment.