/* *************************************************************************************** * Copyright (C) 2006 EsperTech, Inc. All rights reserved. * * http://www.espertech.com/esper * * http://www.espertech.com * * ---------------------------------------------------------------------------------- * * The software in this package is published under the terms of the GPL license * * a copy of which has been included with this distribution in the license.txt file. * *************************************************************************************** */ package com.espertech.esper.core.service.resource; import com.espertech.esper.core.context.factory.*; import com.espertech.esper.pattern.EvalRootState; import com.espertech.esper.view.Viewable; public class StatementResourceHolderUtil { public static StatementResourceHolder populateHolder(StatementAgentInstanceFactoryResult startResult) { StatementResourceHolder holder = new StatementResourceHolder(startResult.getAgentInstanceContext()); if (startResult instanceof StatementAgentInstanceFactorySelectResult) { StatementAgentInstanceFactorySelectResult selectResult = (StatementAgentInstanceFactorySelectResult) startResult; holder.setTopViewables(selectResult.getTopViews()); holder.setEventStreamViewables(selectResult.getEventStreamViewables()); holder.setPatternRoots(selectResult.getPatternRoots()); holder.setAggregationService(selectResult.getOptionalAggegationService()); holder.setSubselectStrategies(selectResult.getSubselectStrategies()); holder.setPostLoad(selectResult.getOptionalPostLoadJoin()); } else if (startResult instanceof StatementAgentInstanceFactoryCreateWindowResult) { StatementAgentInstanceFactoryCreateWindowResult createResult = (StatementAgentInstanceFactoryCreateWindowResult) startResult; holder.setTopViewables(new Viewable[]{createResult.getTopView()}); holder.setPostLoad(createResult.getPostLoad()); holder.setNamedWindowProcessorInstance(createResult.getProcessorInstance()); } else if (startResult instanceof StatementAgentInstanceFactoryCreateTableResult) { StatementAgentInstanceFactoryCreateTableResult createResult = (StatementAgentInstanceFactoryCreateTableResult) startResult; holder.setTopViewables(new Viewable[]{createResult.getFinalView()}); holder.setAggregationService(createResult.getOptionalAggegationService()); } else if (startResult instanceof StatementAgentInstanceFactoryOnTriggerResult) { StatementAgentInstanceFactoryOnTriggerResult onTriggerResult = (StatementAgentInstanceFactoryOnTriggerResult) startResult; holder.setPatternRoots(new EvalRootState[]{onTriggerResult.getOptPatternRoot()}); holder.setAggregationService(onTriggerResult.getOptionalAggegationService()); holder.setSubselectStrategies(onTriggerResult.getSubselectStrategies()); } return holder; } }