private DataFlowOpForgeInitializeResult initializeTypeUndeclared(DataFlowOpForgeInitializeContext context)
throws ExprValidationException {
Map<String, Object> types = new LinkedHashMap<String, Object>();
Set<String> props = allProperties.keySet();
props.removeAll(PARAMETER_PROPERTIES);
int count = 0;
evaluatorForges = new ExprForge[props.size()];
for (String propertyName : props) {
ExprNode exprNode = allProperties.get(propertyName);
ExprNode validated = EPLValidationUtil.validateSimpleGetSubtree(ExprNodeOrigin.DATAFLOWBEACON, exprNode, null, false, context.getStatementRawInfo(), context.getServices());
types.put(propertyName, validated.getForge().getEvaluationType());
evaluatorForges[count] = validated.getForge();
count++;
}
String eventTypeName = context.getServices().getEventTypeNameGeneratorStatement().getDataflowOperatorTypeName(context.getOperatorNumber());
EventTypeMetadata metadata = new EventTypeMetadata(eventTypeName, context.getBase().getModuleName(), EventTypeTypeClass.DBDERIVED, EventTypeApplicationType.OBJECTARR, NameAccessModifier.TRANSIENT, EventTypeBusModifier.NONBUS, false, EventTypeIdPair.unassigned());
outputEventType = BaseNestableEventUtil.makeOATypeCompileTime(metadata, types, null, null, null, null, context.getServices().getBeanEventTypeFactoryPrivate(), context.getServices().getEventTypeCompileTimeResolver());
context.getServices().getEventTypeCompileTimeRegistry().newType(outputEventType);
return new DataFlowOpForgeInitializeResult(new GraphTypeDesc[]{new GraphTypeDesc(false, true, outputEventType)});
}