Design issue with ATG CommercePipelineManager

Posted by user1339772 on Stack Overflow See other posts from Stack Overflow or by user1339772
Published on 2013-10-22T15:50:55Z Indexed on 2013/10/22 15:53 UTC
Read the original article Hit count: 247

Filed under:
|
|
|

The definition of runProcess() method in PipelineManager is

public PipelineResult runProcess(String pChainId, Object pParam)
            throws RunProcessException

This gives me an impression that ANY object can be passed as the second param. However, ATG OOTB has PipelineManager component referring to CommercePipelineManager class which overrides the runProcess() method and downcast pParam to map and adds siteId to it.

Basically, this enforces the client code to send only Map. Thus, if one needs to create a new pipeline chain, has to use map as data structure to pass on the data. Offcourse, one can always get around this by creating a new PipelineManager component, but I was just wondering the thought behind explicitly using map in CommercePipelineManager

© Stack Overflow or respective owner

Related posts about design-patterns

Related posts about design