Pipeline Manager : system executes a series of processor
Pipeline Processor : component executes piece of functionality and return status code
Pipeline Processor Chain : processor are linked by processor chain
Status Code : Status code decides which processor to execute next
<Pipeline Manager >
<Pipeline Chain>
</pipeline link>
</Pipeline Chain>
</Pipeline Manager >
Example : A example is taken when a order quantity reaches maximum value, user not allowed to continue with order.
Source of Action : Step 1 : First User account saves if successful calls ""
XML Change :
<pipelinemanager>
<pipelinechain name="updateOrder" transaction="TX_REQUIRED" headlink="setInputParameters" xml-combine="replace">
<pipelinelink transaction="TX_MANDATORY" name="updateUserAccount">
<processor jndi="/att/ecom/checkout/commerce/order/processor/updateUserAccount"/>
<transition returnvalue="1" link="processOrderQuantity"/>
</pipelinelink>
<pipelinelink transaction="TX_MANDATORY" name="processOrderQuantity">
<processor jndi="/atg/commerce/order/processor/ProcessOrderQuantity"/>
<transition returnvalue="1" link="sendEmilConfirmation"/>
</pipelinelink>
<pipelinelink transaction="TX_MANDATORY" name="sendEmilConfirmation">
<processor jndi="/att/ecom/shopcore/commerce/order/processor/sendEmilConfirmation"/>
<transition returnvalue="1" link="notifyOrdergateway"/>
</pipelinelink>
<pipelinemanager>
</pipelinechain>
Processor Java File:
public class ProcessOrderQuantity implements PipelineProcessor {
/**
* Pipeline success code.
*/
private final int SUCCESS = 1;
public int runProcess(Object pParam, PipelineResult pResult) throws Exception {
final HashMap map = (HashMap) pParam;
if (map != null) {
final OnlineOrder order = (OnlineOrder) map.get(PipelineConstants.ORDER);
String commitmentTermId = null;
if (order != null) {
}
}
return SUCCESS;
}
public int[] getRetCodes() {
int[] ret = { SUCCESS };
return ret;
}
}
Processor Properties File
$class=com.att.ecom.shop.processor.ProcessOrderQuantity
$scope=global
Pipeline Processor : component executes piece of functionality and return status code
Pipeline Processor Chain : processor are linked by processor chain
Status Code : Status code decides which processor to execute next
<Pipeline Manager >
<Pipeline Chain>
</pipeline link>
</Pipeline Chain>
</Pipeline Manager >
Example : A example is taken when a order quantity reaches maximum value, user not allowed to continue with order.
Source of Action : Step 1 : First User account saves if successful calls ""
XML Change :
<pipelinemanager>
<pipelinechain name="updateOrder" transaction="TX_REQUIRED" headlink="setInputParameters" xml-combine="replace">
<pipelinelink transaction="TX_MANDATORY" name="updateUserAccount">
<processor jndi="/att/ecom/checkout/commerce/order/processor/updateUserAccount"/>
<transition returnvalue="1" link="processOrderQuantity"/>
</pipelinelink>
<pipelinelink transaction="TX_MANDATORY" name="processOrderQuantity">
<processor jndi="/atg/commerce/order/processor/ProcessOrderQuantity"/>
<transition returnvalue="1" link="sendEmilConfirmation"/>
</pipelinelink>
<pipelinelink transaction="TX_MANDATORY" name="sendEmilConfirmation">
<processor jndi="/att/ecom/shopcore/commerce/order/processor/sendEmilConfirmation"/>
<transition returnvalue="1" link="notifyOrdergateway"/>
</pipelinelink>
<pipelinemanager>
</pipelinechain>
Processor Java File:
public class ProcessOrderQuantity implements PipelineProcessor {
/**
* Pipeline success code.
*/
private final int SUCCESS = 1;
public int runProcess(Object pParam, PipelineResult pResult) throws Exception {
final HashMap map = (HashMap) pParam;
if (map != null) {
final OnlineOrder order = (OnlineOrder) map.get(PipelineConstants.ORDER);
String commitmentTermId = null;
if (order != null) {
}
}
return SUCCESS;
}
public int[] getRetCodes() {
int[] ret = { SUCCESS };
return ret;
}
}
Processor Properties File
$class=com.att.ecom.shop.processor.ProcessOrderQuantity
$scope=global
It's Interesting do read about cXML ariba.
ReplyDeleteCXML Ariba for Suppliers