fix delete

This commit is contained in:
wojciech
2024-07-30 11:55:32 +02:00
parent 5fe17704ba
commit 2de95b05fd
2 changed files with 123 additions and 127 deletions

View File

@@ -1,5 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<pd:ProcessDefinition xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:pd="http://xmlns.tibco.com/bw/process/2003" xmlns:ns="http://www.tibco.com/pe/WriteToLogActivitySchema" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://www.tibco.com/namespaces/tnt/plugins/file" xmlns:ns1="http://www.tibco.com/pe/EngineTypes" xmlns:ns3="http://www.tibco.com/pe/GenerateErrorActivity/InputSchema">
<pd:ProcessDefinition xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:pfx="http://www.demo.com/author" xmlns:pd="http://xmlns.tibco.com/bw/process/2003" xmlns:ns="http://www.tibco.com/pe/WriteToLogActivitySchema" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://www.tibco.com/namespaces/tnt/plugins/file" xmlns:ns1="http://www.tibco.com/pe/EngineTypes" xmlns:ns4="http://www.tibco.com/namespaces/tnt/plugins/file/v2" xmlns:ns3="http://www.tibco.com/pe/GenerateErrorActivity/InputSchema">
<xsd:import namespace="http://www.demo.com/author" schemaLocation="/Resources/WSDL/WSDL.wsdl"/>
<pd:name>Processes/xml/XMLDELETE.process</pd:name>
<pd:startName>Start</pd:startName>
<pd:startType>
@@ -14,159 +15,119 @@
<pd:startX>149</pd:startX>
<pd:startY>258</pd:startY>
<pd:returnBindings>
<book>
<id>
<xsl:value-of select="-2"/>
</id>
<name>
<xsl:value-of select="' '"/>
</name>
<date>
<xsl:value-of select="-1"/>
</date>
<authorId>
<xsl:value-of select="-1"/>
</authorId>
<availability>
<xsl:value-of select="-1"/>
</availability>
</book>
<root>
<status>
<xsl:value-of select="'author deleted'"/>
</status>
</root>
</pd:returnBindings>
<pd:endName>End</pd:endName>
<pd:endX>1414</pd:endX>
<pd:endY>260</pd:endY>
<pd:endType>
<xsd:element name="root">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="pfx:author" minOccurs="0"/>
<xsd:element name="status" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</pd:endType>
<pd:endX>1010</pd:endX>
<pd:endY>262</pd:endY>
<pd:errorSchemas/>
<pd:processVariables/>
<pd:targetNamespace>http://xmlns.example.com/1719483544323</pd:targetNamespace>
<pd:activity name="Transform XML">
<pd:type>com.tibco.plugin.xml.XMLTransformActivity</pd:type>
<pd:resourceType>ae.activities.XMLTransformActivity</pd:resourceType>
<pd:x>673</pd:x>
<pd:y>260</pd:y>
<config>
<inputStyle>binary</inputStyle>
<engine>TibcoXML</engine>
<stylesheet>/Resources/xslt transformers/xsltDelete.xslt</stylesheet>
</config>
<pd:inputBindings>
<bytesInput>
<xmlBytesIn>
<xsl:value-of select="$Read-File/ns2:ReadActivityOutputBinaryClass/fileContent/binaryContent"/>
</xmlBytesIn>
<parameter>
<name>
<xsl:value-of select="'id'"/>
</name>
<value>
<xsl:value-of select="string($Start/root/id)"/>
</value>
<isXMLDocument>
<xsl:value-of select="'false'"/>
</isXMLDocument>
</parameter>
</bytesInput>
</pd:inputBindings>
</pd:activity>
<pd:activity name="Read File">
<pd:type>com.tibco.plugin.file.FileReadActivity</pd:type>
<pd:resourceType>ae.activities.FileReadActivity</pd:resourceType>
<pd:x>394</pd:x>
<pd:y>259</pd:y>
<pd:x>301</pd:x>
<pd:y>257</pd:y>
<config>
<encoding>binary</encoding>
<encoding>text</encoding>
</config>
<pd:inputBindings>
<ns2:ReadActivityInputClass>
<ns4:ReadActivityInputClass>
<fileName>
<xsl:value-of select="'/tibco/designer/5.12/projects/httpRequest/Resources/databases/databaseXML.xml'"/>
<xsl:value-of select="'/tibco/designer/5.12/projects/tibcoRepository/Resources/databases/databaseXML.xml'"/>
</fileName>
</ns2:ReadActivityInputClass>
</ns4:ReadActivityInputClass>
</pd:inputBindings>
</pd:activity>
<pd:activity name="Parse XML">
<pd:type>com.tibco.plugin.xml.XMLParseActivity</pd:type>
<pd:resourceType>ae.activities.XMLParseActivity</pd:resourceType>
<pd:x>461</pd:x>
<pd:y>259</pd:y>
<config>
<inputStyle>text</inputStyle>
<xsdVersion>default</xsdVersion>
<validateOutput>true</validateOutput>
<term ref="pfx:authors"/>
</config>
<pd:inputBindings>
<xmlString>
<xsl:value-of select="$Read-File/ns2:ReadActivityOutputTextClass/fileContent/textContent"/>
</xmlString>
</pd:inputBindings>
</pd:activity>
<pd:activity name="remove author with given id">
<pd:type>com.tibco.plugin.mapper.MapperActivity</pd:type>
<pd:resourceType>ae.activities.MapperActivity</pd:resourceType>
<pd:x>616</pd:x>
<pd:y>266</pd:y>
<config>
<element ref="pfx:authors"/>
</config>
<pd:inputBindings>
<pfx:authors>
<xsl:copy-of select="$Parse-XML/pfx:authors/pfx:author[@id!= $Start/root/id]"/>
</pfx:authors>
</pd:inputBindings>
</pd:activity>
<pd:activity name="Render XML">
<pd:type>com.tibco.plugin.xml.XMLRendererActivity</pd:type>
<pd:resourceType>ae.activities.XMLRendererActivity</pd:resourceType>
<pd:x>777</pd:x>
<pd:y>258</pd:y>
<config>
<renderAsText>text</renderAsText>
<validateInput>false</validateInput>
<term ref="pfx:authors"/>
</config>
<pd:inputBindings/>
</pd:activity>
<pd:activity name="Write File">
<pd:type>com.tibco.plugin.file.FileWriteActivity</pd:type>
<pd:resourceType>ae.activities.FileWriteActivity</pd:resourceType>
<pd:x>956</pd:x>
<pd:y>258</pd:y>
<pd:x>893</pd:x>
<pd:y>260</pd:y>
<config>
<encoding>binary</encoding>
<encoding>text</encoding>
<compressFile>None</compressFile>
</config>
<pd:inputBindings>
<ns2:WriteActivityInputBinaryClass>
<ns2:WriteActivityInputTextClass>
<fileName>
<xsl:value-of select="'/tibco/designer/5.12/projects/httpRequest/Resources/databases/databaseXML.xml'"/>
<xsl:value-of select="'/tibco/designer/5.12/projects/tibcoRepository/Resources/databases/databaseXML.xml'"/>
</fileName>
<binaryContent>
<xsl:value-of select="$Transform-XML/xmlBytes/xmlOutput"/>
</binaryContent>
</ns2:WriteActivityInputBinaryClass>
</pd:inputBindings>
</pd:activity>
<pd:activity name="Notify">
<pd:type>com.tibco.plugin.waitnotify.NotifyActivity</pd:type>
<pd:resourceType>ae.activities.notifyActivity</pd:resourceType>
<pd:x>1236</pd:x>
<pd:y>258</pd:y>
<config>
<sharedConfig>/Resources/configurations/Notify Configuration.sharednotify</sharedConfig>
</config>
<pd:inputBindings>
<input>
<root>
<status>
<xsl:value-of select="'delete'"/>
</status>
</root>
</input>
<textContent>
<xsl:value-of select="$Render-XML/xmlString"/>
</textContent>
</ns2:WriteActivityInputTextClass>
</pd:inputBindings>
</pd:activity>
<pd:activity name="Generate Error">
<pd:type>com.tibco.pe.core.GenerateErrorActivity</pd:type>
<pd:resourceType>ae.activities.throw</pd:resourceType>
<pd:x>676</pd:x>
<pd:y>116</pd:y>
<pd:x>460</pd:x>
<pd:y>88</pd:y>
<config>
<faultName/>
</config>
<pd:inputBindings>
<ns3:ActivityInput>
<message>
<xsl:value-of select="'author with given id does not exist'"/>
</message>
</ns3:ActivityInput>
<ns3:ActivityInput/>
</pd:inputBindings>
</pd:activity>
<pd:transition>
<pd:from>Transform XML</pd:from>
<pd:to>Write File</pd:to>
<pd:xpathDescription>is file shorter</pd:xpathDescription>
<pd:lineType>Default</pd:lineType>
<pd:lineColor>-16777216</pd:lineColor>
<pd:conditionType>xpath</pd:conditionType>
<pd:xpath>string-length($Read-File/ns2:ReadActivityOutputBinaryClass/fileContent/binaryContent)&gt;string-length($Transform-XML/xmlBytes/xmlOutput)</pd:xpath>
</pd:transition>
<pd:transition>
<pd:from>Read File</pd:from>
<pd:to>Transform XML</pd:to>
<pd:lineType>Default</pd:lineType>
<pd:lineColor>-16777216</pd:lineColor>
<pd:conditionType>always</pd:conditionType>
</pd:transition>
<pd:transition>
<pd:from>Write File</pd:from>
<pd:to>Notify</pd:to>
<pd:lineType>Default</pd:lineType>
<pd:lineColor>-16777216</pd:lineColor>
<pd:conditionType>always</pd:conditionType>
</pd:transition>
<pd:transition>
<pd:from>Notify</pd:from>
<pd:to>End</pd:to>
<pd:lineType>Default</pd:lineType>
<pd:lineColor>-16777216</pd:lineColor>
<pd:conditionType>always</pd:conditionType>
</pd:transition>
<pd:transition>
<pd:from>Start</pd:from>
<pd:to>Read File</pd:to>
@@ -175,12 +136,47 @@
<pd:conditionType>always</pd:conditionType>
</pd:transition>
<pd:transition>
<pd:from>Transform XML</pd:from>
<pd:from>Read File</pd:from>
<pd:to>Parse XML</pd:to>
<pd:lineType>Default</pd:lineType>
<pd:lineColor>-16777216</pd:lineColor>
<pd:conditionType>always</pd:conditionType>
</pd:transition>
<pd:transition>
<pd:from>Parse XML</pd:from>
<pd:to>remove author with given id</pd:to>
<pd:lineType>Default</pd:lineType>
<pd:lineColor>-16777216</pd:lineColor>
<pd:conditionType>otherwise</pd:conditionType>
</pd:transition>
<pd:transition>
<pd:from>remove author with given id</pd:from>
<pd:to>Render XML</pd:to>
<pd:lineType>Default</pd:lineType>
<pd:lineColor>-16777216</pd:lineColor>
<pd:conditionType>always</pd:conditionType>
</pd:transition>
<pd:transition>
<pd:from>Render XML</pd:from>
<pd:to>Write File</pd:to>
<pd:lineType>Default</pd:lineType>
<pd:lineColor>-16777216</pd:lineColor>
<pd:conditionType>always</pd:conditionType>
</pd:transition>
<pd:transition>
<pd:from>Write File</pd:from>
<pd:to>End</pd:to>
<pd:lineType>Default</pd:lineType>
<pd:lineColor>-16777216</pd:lineColor>
<pd:conditionType>always</pd:conditionType>
</pd:transition>
<pd:transition>
<pd:from>Parse XML</pd:from>
<pd:to>Generate Error</pd:to>
<pd:xpathDescription>file is not changed </pd:xpathDescription>
<pd:xpathDescription>author with given id does not exist</pd:xpathDescription>
<pd:lineType>Default</pd:lineType>
<pd:lineColor>-16777216</pd:lineColor>
<pd:conditionType>xpath</pd:conditionType>
<pd:xpath>string-length($Read-File/ns2:ReadActivityOutputBinaryClass/fileContent/binaryContent)&lt;=string-length($Transform-XML/xmlBytes/xmlOutput)</pd:xpath>
<pd:xpath>not(boolean($Parse-XML/pfx:authors/pfx:author[@id=$Start/root/id]))</pd:xpath>
</pd:transition>
</pd:ProcessDefinition>

View File

@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<ns0:authors xmlns:ns0="http://www.demo.com/author">
<author xmlns="http://www.demo.com/author" id="15">
<firstName>trestupdate</firstName>
<lastName>asdf</lastName>
<age>54</age>
<dateOfBirth>2000-12-01</dateOfBirth>
<dateOfDeath>2000-12-01</dateOfDeath>
<firstName>piwo</firstName>
<lastName>harnas</lastName>
<age>12</age>
<dateOfBirth>2000-12-12</dateOfBirth>
<dateOfDeath>2000-12-12</dateOfDeath>
</author>
</ns0:authors>