final PatternSourceDescr patternSource,
final boolean isJavaDialect,
final Map<String, String> boundParams,
final PackageDataModelOracle dmo ) {
if ( patternSource instanceof AccumulateDescr ) {
AccumulateDescr accumulate = (AccumulateDescr) patternSource;
FromAccumulateCompositeFactPattern fac = new FromAccumulateCompositeFactPattern();
fac.setSourcePattern( parseBaseDescr( m,
accumulate.getInput(),
isJavaDialect,
boundParams,
dmo ) );
FactPattern factPattern = new FactPattern( pattern.getObjectType() );
factPattern.setBoundName( pattern.getIdentifier() );
boundParams.put( factPattern.getBoundName(),
factPattern.getFactType() );
parseConstraint( m,
factPattern,
pattern.getConstraint(),
isJavaDialect,
boundParams,
dmo );
fac.setFactPattern( factPattern );
for ( AccumulateDescr.AccumulateFunctionCallDescr func : accumulate.getFunctions() ) {
String funcName = func.getFunction();
boolean first = true;
StringBuilder sb = new StringBuilder();
for ( String param : func.getParams() ) {
if ( first ) {