IBM WebSphere Adapters Network Card User Manual


 
As defined in the sapBAPIBusinessObjectTypeMetadata schema Operation is an
n-cardinality complex type. The MethodName element of the operation type is a
simple type with multiple cardinality:
<complexType name="sapBAPIBusinessObjectTypeMetadata">
<sequence>
<element name="Type" type="string"/>
<element name="Operation" type="sapasi:sapBAPIOperationTypeMetadata" minOccurs="0" maxOccurs="unbounded"/>
<element name="ErrorConfiguration" type="sapasi:sapRFCErrorConfigurationMetadata" minOccurs="0" maxOccurs="1"/>
</sequence>
</complexType>
<complexType name="sapBAPIOperationTypeMetadata">
<sequence maxOccurs="1" minOccurs="0">
<element name="Name" type="string" minOccurs="0" maxOccurs="1"/>
<element name="MethodName" minOccurs="0" maxOccurs="unbounded" type="string"/>
</sequence>
</complexType>
<complexType name="sapRFCErrorConfigurationMetadata">
<sequence maxOccurs="1" minOccurs="0">
<element name="ErrorParameter" type="string" minOccurs="0" maxOccurs="1"/>
<element name="ErrorCode" minOccurs="0" maxOccurs="1" type="string"/>
<element name="ErrorDetail" minOccurs="0" maxOccurs="1" type="string"/>
</sequence>
</complexType>
For the above metadata, the object level annotations map generated for the
JavaBeanRecord would look like the following:
public static LinkedHashMap objectAnnotations = new LinkedHashMap();
static {
objectAnnotations.put("Type","BAPI");
LinkedList operationAnnotation = new LinkedList();
LinkedList methodnameList;
LinkedHashMap createOperationMap = new LinkedHashMap();
createOperationMap.put("Name", "Create");
methodnameList = new LinkedList();
methodnameList.add("wbiCustomerCreate)";
createOperationMap.put("MethodName", methodnameList);
operationAnnotation.add(createOperationMap);
LinkedHashMap updateOperationMap = new LinkedHashMap();
updateOperationMap.put("Name", "Update");
methodnameList = new LinkedList();
methodnameList.add("wbiCustomerUpdate)";
updateOperationMap.put("MethodName", methodnameList);
operationAnnotation.add(updateOperationMap);
objectAnnotations.put("Operation",operationAnnotation);
}
ObjectAnnotations:Object level metadata in the annotations is read and stored in the
’objectAnnotations’ Map. Following diagram shows the structure of
objectAnnotations.
118 WebSphere Adapters: WebSphere Adapter Toolkit User Guide