c# wpf free pdf viewer : A pdf page cut Library control component .net azure web page mvc ATGCommProgGuide43-part2122

ATG  C om mer ce P ro g ramm in g   Gui d e 
41 3  
18  -  P ro ces s or  C h ai ns   an d  t h e  P ipel in e  Man ag er 
μ
Editing Existing Pipeline Definitions 
Printing a Pipeline Definition 
Activating Verbose Mode 
Changing the Display Font of the Pipeline Editor 
Reinitializing the Pipeline Manager 
Accessing the Pipeline Editor 
The pipeline editor is part of the ATG Control Center. To access the pipeline editor, select Utilities > 
Pipeline Editor from the navigation menu of the ACC. The Pipeline Editor opens: 
Opening an Existing Pipeline Definition 
The following steps describe how to open an existing pipeline definition. 
Note: The pipeline manager component must be running for its definition to be loaded. If you have 
problems loading an existing definition, make sure its manager is running. 
1.
Click on the Open Pipeline Definition icon. 
2.
Select the Pipeline Manager that you want to open from the list and click on the Open 
Pipeline Definition button. 
The pipeline definition displays in the ACC. 
A pdf page cut - Library control component:C# PDF Page Extract Library: copy, paste, cut PDF pages in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Easy to Use C# Code to Extract PDF Pages, Copy Pages from One PDF File and Paste into Others
www.rasteredge.com
A pdf page cut - Library control component:VB.NET PDF Page Extract Library: copy, paste, cut PDF pages in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Detailed VB.NET Guide for Extracting Pages from Microsoft PDF Doc
www.rasteredge.com
ATG  C om merce  P ro gra mm in g  G ui d e 
41 4  
18  -  P ro ces so r  C h ain s   an d  t h e  Pi pel in e  Man ag er 
Creating a New Pipeline Definition 
Follow these steps to create a new pipeline definition: 
1.
Click the New Pipeline Definition button. You see an empty definition with a single 
empty chain named PipelineChain1. 
2.
Right-click the Pipeline Chain title icon and select Edit Details. 
3.
Type a new Pipeline Chain name and select a new Transaction Mode, if necessary. 
4.
Right-click the line between the new pipeline chain title and termination point and 
select Create Pipeline Link. 
5.
Enter a new pipeline link name and change the Transaction Mode and Processor 
Mode, if necessary. 
Library control component:VB.NET PDF copy, paste image library: copy, paste, cut PDF images
VB.NET DLLs: Copy, Paste, Cut Image in PDF Page. In order to run the sample code, the following steps would be necessary. VB.NET: Cut Image in PDF Page.
www.rasteredge.com
Library control component:C# PDF copy, paste image Library: copy, paste, cut PDF images in
C#.NET Project DLLs: Copy, Paste, Cut Image in PDF Page. C#.NET Demo Code: Cut Image in PDF Page in C#.NET. PDF image cutting is similar to image deleting.
www.rasteredge.com
ATG  C om mer ce P ro g ramm in g   Gui d e 
41 5  
18  -  P ro ces s or  C h ai ns   an d  t h e  P ipel in e  Man ag er 
6.
(JNDI Processor Mode only) Enter a processor for the link or click Choose Processor to 
select one from the available processors. 
7.
Click the check mark to close the pipeline link window. The pipeline editor will 
automatically display the appropriate number of transitions for the selected processor. 
8.
Repeat the steps for creating pipeline chains and links for the rest of the pipeline 
definition. The first pipeline chain node is automatically inserted for the user. To create 
new chain nodes, select Edit >Insert Pipeline Chain or right-click any execution line 
and select Insert Pipeline Chain. 
9.
Save the pipeline definition by selecting one of the following from the File menu: 
Save all: The complete definition (all chains and their processors) is completely 
written out to XML and all chains are marked as “xml-combine=replace”. This 
ensures that this definition gets accepted when xml combination happens. 
Save diffs: Saves only the difference between the latest changes and the XML 
combined version of the definition file up to the previous layer. This ensures 
that information is not saved to the current layer that is already included in 
other layers. 
Note: If you create a new definition and later want to reopen it, you must associate the 
new XML file with an existing pipeline manager. This is because you can only open 
definitions associated with pipeline managers. You can create a new pipeline manager 
and set its definition file to point to your new definition. 
Adding New Pipeline Managers and Processors to the ACC 
The Pipeline Registry is used to register pipeline manager and pipeline processor components with the 
Pipeline Editor. If you do not register new components, you will not be able to see and select them in the 
editor. The Pipeline Registry component is located at 
/atg/registry/PipelineRegistry
and its 
associated XML file is 
pipelineRegistry.xml
To register a new pipeline manager or processor, you need to specify its Nucleus path in the XML file. You 
can optionally specify additional properties for processors, including a display name, category, 
description, and icon. These new properties will be used in the processor picker dialog box (edit a link 
node and for its Processor property select Choose Processor). The picker lists processors by category. 
Processors are shown with their icon and the description is displayed in a tool tip. 
The following example registers a new manager called 
MyPipelineManager
and a new processor called 
MyProcessor
<pipeline-registry-configuration> 
<pipeline-manager-registry xml-combine="append-without-matching"> 
<pipeline-manager> 
<nucleus-path>/atg/commerce/MyPipelineManager</nucleus-path> 
</pipeline-manager> 
</pipeline-manager-registry> 
<processor-registry xml-combine="append-without-matching"> 
Library control component:C# PDF remove image library: remove, delete images from PDF in C#.
page. Define position to remove a specific image from PDF document page. Able to cut and paste image into another PDF file. Export
www.rasteredge.com
Library control component:How to C#: Basic SDK Concept of XDoc.PDF for .NET
you may easily create, load, combine, and split PDF file(s), and add, create, insert, delete, re-order, copy, paste, cut, rotate, and save PDF page(s), etc.
www.rasteredge.com
ATG  C om merce  P ro gra mm in g  G ui d e 
41 6  
18  -  P ro ces so r  C h ain s   an d  t h e  Pi pel in e  Man ag er 
<processor> 
<nucleus-path>/atg/commerce/payment/MyProcessor</nucleus-path> 
<display-name>My Processor</display-name> 
<category>Payment</category> 
<description>A Custom Payment Processor</description> 
</processor> 
</processor-registry> 
</pipeline-registry-configuration> 
Editing Existing Pipeline Definitions 
Pipelines in the ACC are edited in a way similar to the way scenarios are edited. You can perform the 
following editing functionality on editor nodes. 
Copy and paste 
Drag and drop processor elements 
Undo and redo actions 
Overview of Pipeline Editor Interface 
This section describes the icons in the pipeline editor. 
The icon above represents the name of the pipeline chain. You can edit the properties of this node to set 
the chain’s name and transaction mode. 
The icon above represents an individual link in a pipeline chain. You can edit the properties of this node 
to set the link’s name, transaction mode, processor mode, and processor name. Once you have specified 
the processor, the set of possible integer outcomes (as defined by the interface 
atg.service.pipeline.PipelineProcessor
) are automatically represented as part of the node with 
separate execution paths. 
Library control component:VB.NET PDF: Basic SDK Concept of XDoc.PDF
you may easily create, load, combine, and split PDF file(s), and add, create, insert, delete, re-order, copy, paste, cut, rotate, and save PDF page(s), etc.
www.rasteredge.com
Library control component:VB.NET PDF Page Delete Library: remove PDF pages in vb.net, ASP.
XDoc.PDF ›› VB.NET PDF: Delete PDF Page. using RasterEdge.Imaging.Basic; using RasterEdge.XDoc.PDF; How to VB.NET: Delete a Single PDF Page from PDF File.
www.rasteredge.com
ATG  C om mer ce P ro g ramm in g   Gui d e 
41 7  
18  -  P ro ces s or  C h ai ns   an d  t h e  P ipel in e  Man ag er 
The icon above represents a link whose processor returns a special value. There are two predefined return 
codes with a special meaning: 0 (stop chain execution and commit) and –1 (stop chain execution and 
rollback). These are defined in 
atg.service.pipeline.PipelineProcessor
The icon above represents a special link whose processor is an instance of 
atg.commerce.order.processor.ProcExecuteChain
. This processor executes a subchain and 
returns. 
The icon above represents a stop in the execution of this path. 
The icon above represents a jump back to a prior link in the chain. You can edit the node to change the 
destination. 
Printing a Pipeline Definition 
Follow these steps to print the pipeline chains in the open pipeline definition. You can print any definition 
in the editor window. 
1.
Click the Print icon. 
2.
Select one of the following and click OK: 
Scale to Page: Prints the entire pipeline definition on one page. 
No Scaling: Prints the pipeline definition at full size on multiple pages (if 
necessary). 
Library control component:VB.NET PDF Page Insert Library: insert pages into PDF file in vb.
PDF Pages. |. Home ›› XDoc.PDF ›› VB.NET PDF: Insert PDF Page. Professional .NET PDF control for inserting PDF page in Visual Basic .NET class application.
www.rasteredge.com
Library control component:C# PDF Page Insert Library: insert pages into PDF file in C#.net
PDF ›› C# PDF: Insert PDF Page. C# PDF - Insert Blank PDF Page in C#.NET. Guide C# Users to Insert (Empty) PDF Page or Pages from a Supported File Format.
www.rasteredge.com
ATG  C om merce  P ro gra mm in g  G ui d e 
41 8  
18  -  P ro ces so r  C h ain s   an d  t h e  Pi pel in e  Man ag er 
Activating Verbose Mode 
Verbose mode allows you to view detailed information for pipeline nodes by moving your cursor over the 
node. The information appears in a pop-up window. The same information is available by double-clicking 
a node or right-clicking and choosing Edit Details. In addition, the verbose tool tip lists the headlink for 
pipeline chains, and the possible destinations for a pipeline link. A link’s destination is the next link to be 
executed if the current processor returns a certain value. 
By default, verbose mode is turned off. You can activate verbose mode by selecting File > Set Verbose 
Mode On. When verbose mode is active, you can turn it off by selecting File > Set Verbose Mode Off. 
Pipeline Debugging 
You can access the component editors for pipeline manager and pipeline processor components to turn 
debugging on and off. 
Follow these steps to debug a definition. 
1.
Select File > Edit pipeline manager component. 
2.
Select a pipeline manager. 
3.
In the component editor, set 
loggingDebugOnProcessors
to true to turn 
debugging on for all processors in the definition. 
Follow these steps to debug an individual processor. 
ATG  C om mer ce P ro g ramm in g   Gui d e 
41 9  
18  -  P ro ces s or  C h ai ns   an d  t h e  P ipel in e  Man ag er 
1.
Right-click a pipeline link node. 
2.
Select Edit Selected Pipeline Processor Component. 
1.
In the component editor, set 
loggingDebug
to true. 
Changing the Display Font of the Pipeline Editor 
You can change the font that the pipeline editor uses to display the pipeline definitions in the ACC as 
follows: 
1.
Select Tools > Preferences. 
2.
Click the Fonts tab. 
3.
Select a new font for the Scenario Editor. The Pipeline Editor uses the same font 
settings. 
Reinitializing the Pipeline Manager 
When you deploy an application that includes ATG Commerce, the pipeline manager is automatically 
reinitialized. If you make changes to a pipeline definition and you want the changes to take affect in the 
session you are currently running, you must reinitialize the pipeline manager. 
Follow these steps to reinitialize the pipeline manager. 
1.
Open an existing pipeline definition. 
2.
Modify the definition. For example, delete a link in a chain or change a link to execute 
a different processor. 
3.
Click Save to save your changes. 
4.
Click the Reinitialize button to load the new definition into the pipeline manager. 
Running a Processor Chain 
To execute a processor chain in the 
PipelineManager
, make a call to the 
runProcess()
method in the 
PipelineManager
. This section describes what happens when a processor chain is executed. 
The 
PipelineManager
first finds the requested chain. If the requested chain is enabled, 
PipelineManager
calls 
runProcess()
on it and passes it the user data. The 
runProcess()
method in 
the 
PipelineChain
manages execution of the processors. If is not enabled, an exception is thrown. 
PipelineResult
object or subclass of it is constructed. This is determined by what is defined in the 
PipelineChain
object. 
The 
runProcess()
method is called on the head 
PipelineLink
object of the processor chain. The 
PipelineLink
is responsible for three actions: 
Handling the transaction (if required) 
ATG  C om merce  P ro gra mm in g  G ui d e 
42 0  
18  -  P ro ces so r  C h ain s   an d  t h e  Pi pel in e  Man ag er 
Executing the processor, and 
Returning the return code to the 
PipelineChain
To handle the transaction, four methods are called before and after the call to 
runProcess()
in the 
PipelineProcessor
. These methods are called in the following order: 
preChainTransaction()
postChainTransaction()
preLinkTransaction()
postLinkTransaction()
These calls make the appropriate calls and construct any required objects for the execution of the 
processor in the context of the transaction mode. 
The 
runProcess()
method is called between these methods and the return value of the call is returned 
to the 
PipelineChain
. The return value of 0, which is mapped to the static variable 
PipelineProcessor.STOP_CHAIN_EXECUTION
, tells the 
PipelineManager
that execution for this 
chain should stop normally. Any other return value from 
runProcess()
indicates the next processor to 
execute. 
STOP_CHAIN_EXECUTION
can be returned from any 
PipelineProcessor
, regardless of whether it has 
additional links or not. When 
STOP_CHAIN_EXECUTION
is returned, the transactions are handled and the 
PipelineResult
object is returned. If a value other than 
STOP_CHAIN_EXECUTION
is returned, the 
PipelineChain
calls 
getNextLink()
on the 
PipelineLink
just executed and passes it the return value 
it received. 
This call returns another 
PipelineLink
to execute or null. If a 
PipelineLink
is returned, then the above 
process repeats. If null is returned, then an exception is thrown, the transaction is rolled back if needed, 
and this method exits throwing the appropriate exception object. 
Creating a Processor Pipeline 
A processor pipeline consists of a Pipeline Manager and a set of processors, which can be organized into 
processor chains. You can create and delete pipelines in two ways, through an XML file or through the 
atg.service.pipeline
API. 
You can initialize a Pipeline Manager with a set of processor chains at application deployment using an 
XML configuration file called a pipeline definition file. This provides you with a simple way to construct and 
manage the global 
PipelineManager
without writing code. It only can be used for initializing the 
globally scoped 
PipelineManager
that is created during deployment. For more information, see the 
Pipeline Definition Files section. 
Any non-globally scoped Pipeline Managers need to be created using the API. The API is provided for 
dynamic creation, editing, and deletion of processor chains and processors. For more information, see the 
Creating and Editing Processor Chains Programmatically section. 
ATG  C om mer ce P ro g ramm in g   Gui d e 
42 1  
18  -  P ro ces s or  C h ai ns   an d  t h e  P ipel in e  Man ag er 
The following sections describe how to create a processor pipeline: 
Configuring a Pipeline Manager 
Creating Processors 
Pipeline Definition Files 
Creating and Editing Processor Chains Programmatically 
Extending the PipelineChain and PipelineResult Classes 
Configuring a Pipeline Manager 
Each processor chain is controlled by a Pipeline Manager component. If you are using ATG Commerce, a 
Pipeline Manager instance is located at 
/atg/commerce/PipelineManager
. The Pipeline Manager has 
two properties you may want to configure: 
definitionFile
and 
chainLockWaitTimeout
definitionFile Property 
The 
definitionFile
property points to the XML file that defines the processor chains that can be run by 
the Pipeline Manager. For example: 
definitionFile=/atg/userprofiling/registrationPipeline.xml 
The value of this property is a file pathname, relative to your CONFIGPATH. This XML file can be anywhere 
in the CONFIGPATH. The Pipeline Definition Files section describes how to create the XML file that defines 
the processor chains controlled by a Pipeline Manager. 
chainLockWaitTimeout Property 
The 
chainLockWaitTimeout
property determines the amount of time the request handling thread 
should wait for a processor chain to execute its processing of the request. The value of this property is in 
milliseconds. The default setting is: 
chainLockWaitTimeout=15000 
Creating Processors 
Any Java class can act as a processor in a pipeline by implementing the 
atg.service.pipeline.PipelineProcessor
interface. The 
PipelineProcessor
interface has a 
single method: 
int runProcess(Object pParam, PipelineResult pResult) 
The 
runProcess()
method returns an integer status code that the Pipeline Manager uses to determine 
the next processor to run. 
Pipeline Definition Files 
The contents of the processor chains controlled by a Pipeline Manager can be determined 
programmatically, as described in the next section, Creating and Editing Processor Chains 
ATG  C om merce  P ro gra mm in g  G ui d e 
42 2  
18  -  P ro ces so r  C h ain s   an d  t h e  Pi pel in e  Man ag er 
Programmatically, or can be configured by an XML definition file, as specified by the Pipeline Manager’s 
definitionFile
property. This section describes how to create an XML definition file for a Pipeline 
Manager. 
Configuring processor chains with a pipeline definition file is useful for creating chains that are not edited 
or creating generic chains that will later be edited dynamically using the API based on some other criteria. 
This configuration file must be written in XML. 
A pipeline definition file can use the following tags: 
Tag 
Description 
Attributes 
PipelineManager 
The top level tag that 
encloses a definition of 
a Pipeline Manager. 
none 
pipelinechain 
Tag defining a given 
processor chain in the 
Pipeline Manager. A 
Pipeline Manager can 
include any number of 
processor chains, each 
defined by a 
<pipelinechain>
tag. 
name - (required) The name of the processor chain 
(for example, 
AddToCart
). Must be unique. This 
corresponds to the 
id
in the 
PipelineChain
object. 
headlink - (required) The first processor in the chain 
to be executed. 
transaction - The default transactional mode of all 
the processors in this chain. The valid modes are: 
TX_REQUIRED 
TX_REQUIRES_NEW 
TX_SUPPORTS 
TX_NOT_SUPPORTED 
TX_MANDATORY 
classname - The full name of a Java class which is to 
be instantiated and used as the 
PipelineChain
object. The default is 
atg.service.pipeline.PipelineChain
. The 
value must be this class or a subclass of it. 
resultclassname - The full name of a Java class which 
is to be instantiated and used as the 
PipelineResult
object. The default is 
atg.service.pipeline.PipelineResult
. The 
value must implement 
PipelineResult
Documents you may be interested
Documents you may be interested