IBM Support

Mapping between BPM JS variables and Java Integration parameters

Question & Answer


Question

Mapping between BPM JS variables and Java Integration parameters

Answer

Author:??? ? ?Volodymyr Sitarchuk
Reviewer:? ?Mikhail Zilbergleyt

See at the bottom of the ?
http://www.ibm.com/support/knowledgecenter/SSFTN5_8.5.7/com.ibm.wbpm.wle.editor.doc/topics/building_java_integration_service.html
for the official information about supported Java Classes?that can be directly passed to/returned from Java Integration

Table 1. Types of objects returned by the Java method if Translate JavaBeans is not enabled
Object types
java.lang.Stringjava.lang.Doublejava.lang.ArrayList
java.lang.Longjava.lang.Floatjava.lang.HashMap
java.lang.Integerjava.lang.Booleanorg.jdom.Document
java.lang.Shortjava.lang.Characterorg.jdom.Element
java.lang.Bytejava.lang.Calendarcom.lombardisoftware.core.XMLNodeList and com.lombardisoftware.core.TWObject



?A quick way to get all current mappings between JS and Java Integration?is to look into the ?00Static.xml :?

? ? ? <js-mappings>
? ? ? ? ? <js-mapping java-class="java.lang.String" ?? ?js-class="java.lang.String"
? ? ? ? ? <js-mapping java-class="java.lang.Long" ?? ?js-class="java.lang.Long"
? ? ? ? ? <js-mapping java-class="java.lang.Integer" ?? ?js-class="java.lang.Integer"
? ? ? ? ? <js-mapping java-class="java.lang.Short" ?? ?js-class="java.lang.Short"
? ? ? ? ? <js-mapping java-class="java.lang.Byte" ?? ?js-class="java.lang.Byte"
? ? ? ? ? <js-mapping java-class="java.lang.Double" ?? ?js-class="java.lang.Double"
? ? ? ? ? <js-mapping java-class="java.lang.Float" ?? ?js-class="java.lang.Float"
? ? ? ? ? <js-mapping java-class="java.lang.Boolean" ?? ?js-class="java.lang.Boolean"
? ? ? ? ? <js-mapping java-class="java.lang.Character" ?? ?js-class="java.lang.Character"
? ? ? ? ? <js-mapping java-class="java.util.Calendar" ?? ?js-class="com.lombardisoftware.core.script.js.objects.TWDateSCR" ? ?

? ? ? ? ? <js-mapping java-class="[B" ?? ??? ??? ?js-class="[B"

? ? ? ? ? <js-mapping java-class="java.util.ArrayList" ?? ?js-class="com.lombardisoftware.core.script.js.ArrayScriptable"
? ? ? ? ? <js-mapping java-class="java.util.HashMap" ?? ?js-class="com.lombardisoftware.core.script.js.objects.MapScriptable"

? ? ? ? ? <js-mapping java-class="org.jdom.Document" ?? ?js-class="com.lombardisoftware.core.script.js.TWDDocument"
? ? ? ? ? <js-mapping java-class="org.jdom.Element" ?? ?js-class="com.lombardisoftware.core.script.js.TWDElement"

? ? ? ? ? <js-mapping java-class="com.lombardisoftware.core.XMLNodeList" js-class="com.lombardisoftware.core.script.js.TWDNodeList"
? ? ? ? ? <js-mapping java-class="com.lombardisoftware.core.TWObject" ?? ? js-class="com.lombardisoftware.core.script.js.TWObjectScriptable"

? ? ? ? ? <js-mapping java-class="com.lombardisoftware.core.TWObjectIndexedMap" js-class="com.lombardisoftware.core.script.js.objects.IndexedMapScriptable"
? ? ? </js-mappings>





So the table with the mapping between JS BPM types and Java classes:
Java class typesJS BPM BO type
java.lang.StringString
java.lang.DoubleDecimal
java.lang.LongInteger
java.lang.FloatDecimal
java.lang.IntegerInteger
java.lang.BooleanBoolean
java.lang.ShortInteger
java.lang.CharacterString
java.lang.ArrayListTWList
java.lang.HashMapTWMap
org.jdom.DocumentTWDocumant
org.jdom.ElementTWElement
java.lang.Byte
java.lang.CalendarTWDate
com.lombardisoftware.core.XMLNodeList
com.lombardisoftware.core.TWObject
com.lombardisoftware.core.TWObjectIndexedMapIndexMap?
[B


Remarks:
1. the array of bytes "[B" seems to be reserved for future use?
2. the?TWObjectIndexedMap is absent in the official table of the supported types for some reason


Note
that objects kept in the ArrayList?HashMap?TWObject and?TWObjectIndexedMap must also be from the table of supported java types?


See the ?How to call Java POJO from BPM Standard? article for the full info on the Java Integration
?"

[{"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSQTW3","label":"IBM On Demand Consulting for Hybrid Cloud"},"Component":"","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"All Versions","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
08 December 2018

UID

ibm10778873