public void setUp() {
    listener = new SupportUpdateListener();

    Configuration configuration = SupportConfigFactory.getConfiguration();
    configuration.addPlugInSingleRowFunction(
        "power3", MySingleRowFunction.class.getName(), "computePower3");
    configuration.addPlugInSingleRowFunction(
        "chainTop", MySingleRowFunction.class.getName(), "getChainTop");
    configuration.addPlugInSingleRowFunction(
        "surroundx", MySingleRowFunction.class.getName(), "surroundx");
    epService = EPServiceProviderManager.getDefaultProvider(configuration);
    epService.initialize();
  }
 @Override
 public void addPlugInSingleRowFunction(
     String functionName,
     String className,
     String methodName,
     ValueCache valueCache,
     FilterOptimizable filterOptimizable,
     boolean rethrowExceptions)
     throws ConfigurationException {
   m_esperconfig.addPlugInSingleRowFunction(
       functionName, className, methodName, valueCache, filterOptimizable, rethrowExceptions);
 }
  public void testFailedValidation() {
    Configuration configuration = SupportConfigFactory.getConfiguration();
    configuration.addPlugInSingleRowFunction(
        "singlerow", MySingleRowFunctionTwo.class.getName(), "testSingleRow");
    epService = EPServiceProviderManager.getDefaultProvider(configuration);
    epService.initialize();

    try {
      String text = "select singlerow('a', 'b') from " + SupportBean.class.getName();
      epService.getEPAdministrator().createEPL(text);
    } catch (EPStatementException ex) {
      assertEquals(
          "Error starting statement: Could not find static method named 'testSingleRow' in class 'com.espertech.esper.regression.client.MySingleRowFunctionTwo' with matching parameter number and expected parameter type(s) 'String, String' (nearest match found was 'testSingleRow' taking type(s) 'String, int') [select singlerow('a', 'b') from com.espertech.esper.support.bean.SupportBean]",
          ex.getMessage());
    }
  }
 @Override
 public void addPlugInSingleRowFunction(
     String arg0, String arg1, String arg2, FilterOptimizable arg3) throws ConfigurationException {
   m_esperconfig.addPlugInSingleRowFunction(arg0, arg1, arg2, arg3);
 }
 @Override
 public void addPlugInSingleRowFunction(String arg0, String arg1, String arg2, ValueCache arg3)
     throws ConfigurationException {
   m_esperconfig.addPlugInSingleRowFunction(arg0, arg1, arg2, arg3);
 }