/* *************************************************************************************** * 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.supportregression.patternassert; import com.espertech.esper.client.soda.EPStatementObjectModel; import java.util.LinkedHashMap; import java.util.LinkedList; public class EventExpressionCase { private String expressionText; private EPStatementObjectModel objectModel; private LinkedHashMap<String, LinkedList<EventDescriptor>> expectedResults; public EventExpressionCase(String expressionText) { this.expressionText = expressionText; this.expectedResults = new LinkedHashMap<String, LinkedList<EventDescriptor>>(); } public EventExpressionCase(EPStatementObjectModel objectModel) { this.objectModel = objectModel; this.expectedResults = new LinkedHashMap<String, LinkedList<EventDescriptor>>(); } public String getExpressionText() { return expressionText; } public EPStatementObjectModel getObjectModel() { return objectModel; } public LinkedHashMap<String, LinkedList<EventDescriptor>> getExpectedResults() { return expectedResults; } public void add(String expectedOnEventId) { addDesc(expectedOnEventId); } public void add(String expectedOnEventId, String tag, Object bean) { EventDescriptor desc = addDesc(expectedOnEventId); desc.put(tag, bean); } public void add(String expectedOnEventId, String tagOne, Object beanOne, String tagTwo, Object beanTwo) { EventDescriptor desc = addDesc(expectedOnEventId); desc.put(tagOne, beanOne); desc.put(tagTwo, beanTwo); } public void add(String expectedOnEventId, String tagOne, Object beanOne, String tagTwo, Object beanTwo, String tagThree, Object beanThree) { EventDescriptor desc = addDesc(expectedOnEventId); desc.put(tagOne, beanOne); desc.put(tagTwo, beanTwo); desc.put(tagThree, beanThree); } public void add(String expectedOnEventId, String tagOne, Object beanOne, String tagTwo, Object beanTwo, String tagThree, Object beanThree, String tagFour, Object beanFour) { EventDescriptor desc = addDesc(expectedOnEventId); desc.put(tagOne, beanOne); desc.put(tagTwo, beanTwo); desc.put(tagThree, beanThree); desc.put(tagFour, beanFour); } public void add(String expectedOnEventId, Object[][] tagsAndBeans) { EventDescriptor desc = addDesc(expectedOnEventId); for (int i = 0; i < tagsAndBeans.length; i++) { desc.put((String)tagsAndBeans[i][0], tagsAndBeans[i][1]); } } private EventDescriptor addDesc(String expectedOnEventId) { LinkedList<EventDescriptor> resultList = expectedResults.get(expectedOnEventId); if (resultList == null) { resultList = new LinkedList<EventDescriptor>(); expectedResults.put(expectedOnEventId, resultList); } EventDescriptor eventDesc = new EventDescriptor(); resultList.add(eventDesc); return eventDesc; } }