Skip to content

Commit

Permalink
feat: add taakopdracht storage necessary for PostNotificatie
Browse files Browse the repository at this point in the history
  • Loading branch information
DelanoWAF committed Aug 27, 2024
1 parent 51a272d commit bcfa706
Show file tree
Hide file tree
Showing 4 changed files with 95 additions and 39 deletions.
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
<Module xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="../FrankConfig.xsd">

<!-- Pipeline only sends a notification of a change. Can not validate message because there is
no body. -->
<Adapter name="Frank_PostNotificatie">
<Receiver name="Frank_PostNotificatie">
<ApiListener
Expand Down Expand Up @@ -54,19 +52,27 @@
<JsonPipe name="GetMeldingInfo2Xml" direction="JSON2XML"
storeResultInSessionKey="meldingInfo" />

<SenderPipe name="GetTaakopdrachtById" getInputFromSessionKey="xmlInputMessage"
storeResultInSessionKey="taakopdracht">
<IbisLocalSender name="GetTaakopdrachtById" javaListener="Internal_GetTaakopdrachtById">
<Param name="Id" xpathExpression="//meldingId"></Param>
</IbisLocalSender>
<Forward name="success" path="Send2MorCore" />
<Forward name="exception" path="Exception" />
</SenderPipe>

<SenderPipe name="Send2MorCore">
<HttpSender name="Send2MorCore" methodType="POST" contentType="application/json"
headersParams="Authorization" />
<Param name="url"
xpathExpression="concat('${MorCore.taak.API.root-url}/api/v1/melding/', $meldingUuid, '/taakopdracht/', $taakOpdrachtUuid, '/notificatie')">
<Param name="meldingUuid" type="STRING"
xpathExpression="//uuid" sessionKey="uuid" />
<Param name="taakOpdrachtUuid"
xpathExpression="substring-before(substring-after(//taakopdrachten_voor_melding[1]/_links/self/text(), 'taakopdracht/'), '/')"
sessionKey="meldingInfo" />
<Param name="taakOpdrachtUuid" sessionKey="taakopdracht" />
</Param>
<Param name="Authorization" xpathExpression="concat('Token ', $MorCoreToken)">
<Param name="MorCoreToken" type="STRING" sessionKey="MorCoreToken" xpathExpression="//token" />
<Param name="MorCoreToken" type="STRING" sessionKey="MorCoreToken"
xpathExpression="//token" />
</Param>
<Forward name="success" path="Exit" />
</SenderPipe>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@
<PutSystemDateInSessionPipe name="StoreSystemDate" />

<SenderPipe name="RequestMeldingInfo">
<IbisLocalSender name="RequestGetMelding" javaListener="MorCore_GetMelding"/>
<IbisLocalSender name="RequestGetMelding" javaListener="MorCore_GetMelding" />
<Forward name="success" path="MakeMeldingInfoXML" />
<Forward name="exception" path="exception" />
</SenderPipe>
Expand All @@ -126,7 +126,8 @@

<SenderPipe name="GetTaakType" getInputFromSessionKey="originalMessage">
<IbisLocalSender name="GetTaakType" javaListener="Internal_GetTaakType">
<Param name="uuid" xpathExpression="substring-after(//taaktype, 'api/taaktypes/')"/>
<Param name="uuid"
xpathExpression="substring-after(//taaktype, 'api/taaktypes/')" />
</IbisLocalSender>
<Forward name="success" path="MakeTaakTypeXML" />
<Forward name="exception" path="exception" />
Expand All @@ -137,34 +138,39 @@
<Forward name="exception" path="exception" />
</JsonPipe>

<XmlIfPipe name="IfBijlage1Exists" getInputFromSessionKey="meldingInfo" xpathExpression="boolean(//bijlagen[1]/bestand)">
<XmlIfPipe name="IfBijlage1Exists" getInputFromSessionKey="meldingInfo"
xpathExpression="boolean(//bijlagen[1]/bestand)">
<Forward name="then" path="GetBijlage1" />
<Forward name="else" path="RequestOpdrachtInfo" />
</XmlIfPipe>

<SenderPipe name="GetBijlage1" storeResultInSessionKey="bijlage1" getInputFromSessionKey="meldingInfo">
<SenderPipe name="GetBijlage1" storeResultInSessionKey="bijlage1"
getInputFromSessionKey="meldingInfo">
<IbisLocalSender name="GetBijlage1" javaListener="MorCore_GetBijlage">
<Param name="bijlageUrl" xpathExpression="//bijlagen[1]/bestand"></Param>
<Param name="bijlageUrl" xpathExpression="//bijlagen[1]/bestand"></Param>
</IbisLocalSender>
<Forward name="success" path="IfBijlage2Exists" />
<Forward name="exception" path="exception" />
</SenderPipe>

<XmlIfPipe name="IfBijlage2Exists" getInputFromSessionKey="meldingInfo" xpathExpression="boolean(//bijlagen[2]/bestand)">
<XmlIfPipe name="IfBijlage2Exists" getInputFromSessionKey="meldingInfo"
xpathExpression="boolean(//bijlagen[2]/bestand)">
<Forward name="then" path="GetBijlage2" />
<Forward name="else" path="RequestOpdrachtInfo" />
</XmlIfPipe>

<SenderPipe name="GetBijlage2" storeResultInSessionKey="bijlage2" getInputFromSessionKey="meldingInfo">
<SenderPipe name="GetBijlage2" storeResultInSessionKey="bijlage2"
getInputFromSessionKey="meldingInfo">
<IbisLocalSender name="GetBijlage1" javaListener="MorCore_GetBijlage">
<Param name="bijlageUrl" xpathExpression="//bijlagen[2]/bestand"></Param>
<Param name="bijlageUrl" xpathExpression="//bijlagen[2]/bestand"></Param>
</IbisLocalSender>
<Forward name="success" path="RequestOpdrachtInfo" />
<Forward name="exception" path="exception" />
</SenderPipe>

<SenderPipe name="RequestOpdrachtInfo" storeResultInSessionKey="opdrachtInfo" getInputFromSessionKey="originalMessage">
<IbisLocalSender name="RequestGetMelding" javaListener="MorCore_GetTaakOpdracht"/>

<SenderPipe name="RequestOpdrachtInfo" storeResultInSessionKey="opdrachtInfo"
getInputFromSessionKey="originalMessage">
<IbisLocalSender name="RequestGetMelding" javaListener="MorCore_GetTaakOpdracht" />
<Forward name="success" path="MakeOpdrachtInfoXML" />
<Forward name="exception" path="exception" />
</SenderPipe>
Expand All @@ -189,7 +195,8 @@
<Param name="opdrachtInfo" sessionKey="opdrachtInfo" type="DOMDOC" />
</XsltPipe>

<JsonPipe name="XmlToJson" direction="XML2JSON" storeResultInSessionKey="jsonMessage" prettyPrint="true">
<JsonPipe name="XmlToJson" direction="XML2JSON" storeResultInSessionKey="jsonMessage"
prettyPrint="true">
<Forward name="success" path="ChangeXYValueTypesSender" />
<Forward name="exception" path="exception" />
</JsonPipe>
Expand All @@ -203,12 +210,15 @@
</SenderPipe>

<SenderPipe name="StoreUuidIdMapping" getInputFromSessionKey="meldingInfo">
<IbisLocalSender javaListener="Internal_StoreUuidIdMapping"/>
<IbisLocalSender javaListener="Internal_StoreUuidIdMapping">
<Param name="Taakopdracht" sessionKey="originalMessage"
xpathExpression="substring-before(substring-after(/root/taakopdracht, '/api/v1/taakopdracht/'), '/')" />
</IbisLocalSender>
</SenderPipe>

<SenderPipe name="SendToUltimo" getInputFromSessionKey="jsonMessage">
<HttpSender name="SendToUltimo" methodType="POST" contentType="application/json"
headersParams="ApiKey,ApplicationElementId,Accept-Crs,Content-Crs">
headersParams="ApiKey,ApplicationElementId,Accept-Crs,Content-Crs">
<Param name="Accept-Crs" value="EPSG:4326" />
<Param name="Content-Crs" value="EPSG:4326" />
<Param name="url" value="${Ultimo.ESB.root-url}_REST_MSB_CreateJob" />
Expand Down Expand Up @@ -285,7 +295,7 @@

<XsltPipe name="CreateGetZaakRequest" styleSheetName="xsl/Ultimo/GetZaakResponse.xsl">
<Param name="currentDate" sessionKey="systemDate" />
<Param name="MorcoreRootURL" value="${MorCore.taak.API.root-url}"/>
<Param name="MorcoreRootURL" value="${MorCore.taak.API.root-url}" />
<Forward name="success" path="Xml2Json" />
<Forward name="exception" path="exception" />
</XsltPipe>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@
<FixedQuerySender
name="RetrieveId"
query="SELECT id FROM UUIDIDMAP WHERE uuid = ?{Uuid}"
queryType="SELECT"> <!-- TODO: save for sql injection? -->
queryType="SELECT">
<Param name="Uuid" sessionKey="Uuid" />
</FixedQuerySender>
</SenderPipe>
Expand All @@ -69,12 +69,12 @@
<Exit name="Exception" state="ERROR" />
</Exits>

<SenderPipe name="GetUuidIdMapping" >
<SenderPipe name="GetUuidIdMapping">
<FixedQuerySender
name="GetUuidIdMapping"
query="SELECT * FROM UUIDIDMAP WHERE UUID = ?{Uuid} OR ID = ?{Id}"
query="SELECT * FROM UUIDIDMAP WHERE uuid = ?{Uuid} OR id = ?{Id}"
queryType="SELECT">
<Param name="Id" xpathExpression="/root/id" type="INTEGER"/>
<Param name="Id" xpathExpression="/root/id" type="INTEGER" />
<Param name="Uuid" xpathExpression="/root/uuid" type="STRING" />
</FixedQuerySender>
</SenderPipe>
Expand All @@ -87,17 +87,46 @@
<SenderPipe name="StoreUuidIdMapping" getInputFromSessionKey="originalMessage">
<FixedQuerySender
name="StoreUuidIdMapping"
query="INSERT INTO UUIDIDMAP (id, uuid) VALUES (?{Id}, ?{Uuid})"
query="INSERT INTO UUIDIDMAP (id, uuid, taakopdracht) VALUES (?{Id}, ?{Uuid}, ?{Taakopdracht})"
queryType="OTHER">
<Param name="Id" xpathExpression="/root/id" type="INTEGER"/>
<Param name="Id" xpathExpression="/root/id" type="INTEGER" />
<Param name="Uuid" xpathExpression="/root/uuid" type="STRING" />
<Param name="Taakopdracht" sessionKey="Taakopdracht" type="STRING" />
</FixedQuerySender>
<Forward name="success" path="Exit" />
<Forward name="exception" path="Exception" />
</SenderPipe>

<FixedResultPipe name="RecordAlreadyExists" returnString="&lt;result>Record already exists&lt;/result>"/>
<FixedResultPipe name="RecordAlreadyExists"
returnString="&lt;result>Record already exists&lt;/result>" />
</Pipeline>
</Adapter>

<Adapter name="Internal_GetTaakopdrachtById">
<Receiver name="Internal_GetTaakopdrachtById">
<JavaListener name="Internal_GetTaakopdrachtById" />
</Receiver>

<Pipeline>
<Exits>
<Exit name="Exit" state="SUCCESS" />
<Exit name="Reject" state="REJECTED" />
<Exit name="Exception" state="ERROR" />
</Exits>

<SenderPipe name="RetrieveTaakopdracht">
<FixedQuerySender
name="RetrieveTaakopdracht"
query="SELECT taakopdracht FROM UUIDIDMAP WHERE id = ?{Id}"
queryType="SELECT">
<Param name="Id" sessionKey="Id" />
</FixedQuerySender>
</SenderPipe>

<XsltPipe name="GetTaakopdrachtValue" xpathExpression="//row[1]/field[1]" />

<Text2XmlPipe xmlTag="taakopdracht" name="Text2Xml" />

</Pipeline>
</Adapter>
</Module>
Original file line number Diff line number Diff line change
@@ -1,27 +1,38 @@
<?xml version="1.0" encoding="UTF-8"?>

<databaseChangeLog
xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext"
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.0.xsd
http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd">
xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext"
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.0.xsd
http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd">

<changeSet id="0" author="Delano">
<createTable tableName="TOKENSTORE">
<column name="id" type="int"/>
<column name="token" type="varchar(255)"/>
<column name="id" type="int" />
<column name="token" type="varchar(255)" />
</createTable>
</changeSet>

<changeSet id="1" author="Maarten">
<createTable tableName="UUIDIDMAP">
<column name="id" type="int"/>
<column name="id" type="int" />
<column name="uuid" type="varchar(255)">
<constraints primaryKey="true" nullable="false" primaryKeyName="PK_UUIDIDMAP" />
<constraints primaryKey="true" nullable="false" primaryKeyName="PK_UUIDIDMAP" />
</column>
</createTable>

<addUniqueConstraint columnNames="id"
constraintName="UK_UUIDIDMAP_ID"
tableName="UUIDIDMAP"/>
constraintName="UK_UUIDIDMAP_ID"
tableName="UUIDIDMAP" />
</changeSet>

<changeSet id="2" author="Delano">
<addColumn tableName="UUIDIDMAP">
<column name="taakopdracht" type="varchar(255)">
<constraints nullable="false" />
</column>
</addColumn>
</changeSet>

</databaseChangeLog>

0 comments on commit bcfa706

Please sign in to comment.