Set visited) {
if ( !nav.getOutputs().isEmpty() ) {
List<ProcessorDefinition> outputs = nav.getOutputs();
for ( int i = 0; i < outputs.size(); i++ ) {
ProcessorDefinition child = outputs.get( i );//it.next();
if ( child instanceof ToDefinition ) {
ToDefinition to = (ToDefinition) child;
if ( to.getUri().startsWith( "cxfrs" ) && !visited.contains( to ) ) {
BeanDefinition beanDef = new BeanDefinition();
beanDef.setBeanType( PreCxfrs.class );
outputs.add( i,
beanDef ); // insert before cxfrs
beanDef = new BeanDefinition();
beanDef.setBeanType( PostCxfrs.class );
outputs.add( i + 2,
beanDef ); // insert after cxfrs
i = i + 2;// adjust for the two inserts
} else if ( to.getUri().startsWith( "cxf" ) && !visited.contains( to ) ) {
BeanDefinition beanDef = new BeanDefinition();
beanDef.setBeanType( PreCxfSoapProcessor.class );
outputs.add( i,
beanDef ); // insert before cxf
beanDef = new BeanDefinition();
beanDef.setBeanType( PostCxfSoapProcessor.class );
outputs.add( i + 2,
beanDef ); // insert after cxf
i = i + 2;// adjust for the two inserts
augmented = true;
}
} else if ( child instanceof MarshalDefinition ) {
MarshalDefinition m = (MarshalDefinition) child;
DataFormatDefinition dformatDefinition = m.getDataFormatType();
dformatDefinition = processDataFormatType( routeContext,
m.getRef(),
dformatDefinition );
m.setDataFormatType( dformatDefinition ); // repoint the marshaller, if it was cloned
} else if ( child instanceof UnmarshalDefinition ) {
UnmarshalDefinition m = (UnmarshalDefinition) child;
DataFormatDefinition dformatDefinition = m.getDataFormatType();
dformatDefinition = processDataFormatType( routeContext,
m.getRef(),
dformatDefinition );
m.setDataFormatType( dformatDefinition ); // repoint the marshaller, if it was cloned
}
}
for ( Iterator<ProcessorDefinition> it = nav.getOutputs().iterator(); it.hasNext(); ) {
ProcessorDefinition child = it.next();
augmentNodes( routeContext,
child,
visited );
}
}