Example usage for org.springframework.context.support GenericApplicationContext getBean

List of usage examples for org.springframework.context.support GenericApplicationContext getBean

Introduction

In this page you can find the example usage for org.springframework.context.support GenericApplicationContext getBean.

Prototype

@Override
    public Object getBean(String name) throws BeansException 

Source Link

Usage

From source file:org.megam.deccanplato.provider.storage.test.BoxAdapterTest.java

@Test
public void boxAdapterTest() {
    GenericApplicationContext ctx = new GenericApplicationContext();
    XmlBeanDefinitionReader xmlReader = new XmlBeanDefinitionReader(ctx);
    xmlReader.loadBeanDefinitions(new ClassPathResource("applicationContext.xml"));
    ctx.refresh();// w ww  . java2  s  .  co  m
    ProviderRegistry registry = (ProviderRegistry) ctx.getBean("registry");

    final String file = "file";
    final String folder = "folder";
    final String user = "user";

    List<String> busiActivity = new ArrayList<String>();
    //busiActivity.add("upload");
    //busiActivity.add("download");
    busiActivity.add("delete");
    //busiActivity.add("share");
    //busiActivity.add("view");

    List<String> folderList = new ArrayList<>();
    folderList.add("retrive");

    List<String> userList = new ArrayList<>();
    //userList.add("create");
    userList.add("list");
    //userList.add("delete");

    for (String activity : busiActivity) {
        CommonTest ctest = new CommonTest();
        RequestData reqData;
        reqData = ctest.commonTest(file, activity, BOX);
        if (file.equalsIgnoreCase("file") & activity.equalsIgnoreCase("upload")) {
            testAdapterAccess(reqData);
            System.out.println("REQDATA:" + reqData);
        }
        ctest.testBusinessImpl();
    } /*
              
      for(String activity: folderList) {
       CommonTest ctest=new CommonTest();
       RequestData reqData;
       reqData=ctest.commonTest(folder, activity, BOX);
       if(folder.equalsIgnoreCase("folder")&activity.equalsIgnoreCase("retrive")) {
          testAdapterAccess(reqData);           
       }
       ctest.testBusinessImpl();
      }*/
    /*for(String activity: userList) {
         CommonTest ctest=new CommonTest();
         RequestData reqData;
         reqData=ctest.commonTest(user, activity, BOX);
         if(folder.equalsIgnoreCase("user")&activity.equalsIgnoreCase("create")) {
            testAdapterAccess(reqData);           
         }
         ctest.testBusinessImpl();
       }*/
}

From source file:org.megam.deccanplato.core.test.ProvidersTest.java

@Test
public void allTest() throws IOException {

    GenericApplicationContext ctx = new GenericApplicationContext();
    XmlBeanDefinitionReader xmlReader = new XmlBeanDefinitionReader(ctx);
    xmlReader.loadBeanDefinitions(new ClassPathResource("applicationContext.xml"));
    ctx.refresh();/*from  www  . ja  v a 2  s  .co m*/
    ProviderRegistry registry = (ProviderRegistry) ctx.getBean("registry");

    List<String> providerlist = new ArrayList<String>();
    //providerlist.add("salesforce");
    //providerlist.add("sugarcrm");
    providerlist.add("zohocrm");

    List<String> userlist = new ArrayList<String>();
    userlist.add("user_create.json");
    userlist.add("user_list.json");
    userlist.add("user_update.json");
    userlist.add("user_delete.json");

    List<String> accountlist = new ArrayList<String>();
    accountlist.add("account_create.json");
    accountlist.add("account_list.json");
    accountlist.add("account_update.json");
    accountlist.add("account_delete.json");

    List<String> leadlist = new ArrayList<String>();
    leadlist.add("lead_create.json");
    leadlist.add("lead_list.json");
    leadlist.add("lead_update.json");
    leadlist.add("lead_delete.json");

    List<String> contactlist = new ArrayList<String>();
    contactlist.add("contact_create.json");
    contactlist.add("contact_list.json");
    contactlist.add("contact_update.json");
    contactlist.add("contact_delete.json");

    List<String> migratelist = new ArrayList<String>();
    migratelist.add("migration.json");
    /*
          for (String provid : providerlist) {
             for (String user : userlist) {
    ct.testCommonTest(provid, user);
             }
             for(String account: accountlist) {
    ct.testCommonTest(provid, account);
             }
             for(String lead: leadlist) {
    ct.testCommonTest(provid, lead);
             }
          }      
             for(String user: userlist) {
    ct.testCommonTest("googleapps", user);
             }
             for(String contact: contactlist) {
    ct.testCommonTest("googleapps", contact);
             }
             for(String migrate: migratelist) {
    ct.testCommonTest("googleapps", migrate);
             }   */
}

From source file:org.megam.deccanplato.provider.crm.test.ZohoInvoiceAdapterTest.java

@Test
public void zohoInvoice() {
    List<String> functionList = new ArrayList<String>();
    functionList.add("expensecategory");
    functionList.add("expense");
    functionList.add("item");
    functionList.add("payment");

    List<String> customerList = new ArrayList<String>();
    customerList.add("create");
    customerList.add("list");
    customerList.add("update");
    customerList.add("delete");
    customerList.add("view");

    List<String> invoiceList = new ArrayList<String>();
    invoiceList.add("create");
    invoiceList.add("list");
    invoiceList.add("update");
    invoiceList.add("delete");
    invoiceList.add("convert");
    invoiceList.add("pdf");
    invoiceList.add("remind");
    invoiceList.add("send");

    List<String> estimateList = new ArrayList<String>();
    estimateList.add("create");
    estimateList.add("list");
    estimateList.add("update");
    estimateList.add("delete");
    estimateList.add("pdf");
    estimateList.add("send");
    estimateList.add("mark");

    List<String> busiActivity = new ArrayList<String>();
    busiActivity.add("create");
    busiActivity.add("list");
    busiActivity.add("update");
    busiActivity.add("delete");
    GenericApplicationContext ctx = new GenericApplicationContext();
    XmlBeanDefinitionReader xmlReader = new XmlBeanDefinitionReader(ctx);
    xmlReader.loadBeanDefinitions(new ClassPathResource("applicationContext.xml"));
    ctx.refresh();/* ww w.j  ava  2s  .c o  m*/
    ProviderRegistry registry = (ProviderRegistry) ctx.getBean("registry");

    for (String function : functionList) {
        for (String activity : busiActivity) {
            CommonTest ctest = new CommonTest();
            RequestData reqData;
            reqData = ctest.commonTest(function, activity, ZOHOINVOICE);
            if (function.equals("user") && activity.equals("create")) {
                testAdapterAccess(reqData);
            }
            ctest.testBusinessImpl();
        }
    }
    for (int i = 0; i < 1; i++) {
        String function = "customer";
        for (String activity : customerList) {
            CommonTest ctest = new CommonTest();
            RequestData reqData;
            reqData = ctest.commonTest(function, activity, ZOHOINVOICE);
            if (function.equals("custoer") && activity.equals("create")) {
                testAdapterAccess(reqData);
            }
            ctest.testBusinessImpl();
        }
    }
    for (int i = 0; i < 1; i++) {
        String function = "invoice";
        for (String activity : invoiceList) {
            CommonTest ctest = new CommonTest();
            RequestData reqData;
            reqData = ctest.commonTest(function, activity, ZOHOINVOICE);
            if (function.equals("invoice") && activity.equals("create")) {
                testAdapterAccess(reqData);
            }
            ctest.testBusinessImpl();
        }
    }
    for (int i = 0; i < 1; i++) {
        String function = "estimate";
        for (String activity : estimateList) {
            CommonTest ctest = new CommonTest();
            RequestData reqData;
            reqData = ctest.commonTest(function, activity, ZOHOINVOICE);
            if (function.equals("estimate") && activity.equals("create")) {
                testAdapterAccess(reqData);
            }
            ctest.testBusinessImpl();
        }
    }

}

From source file:com.paxxis.cornerstone.messaging.service.shell.ServiceShell.java

private void doDatabaseUpdate(String[] inputs) {
    GenericApplicationContext ctx = new GenericApplicationContext();
    ctx.registerShutdownHook();//from   w ww  .  j  a  v  a  2s.co m
    ctx.refresh();
    XmlBeanDefinitionReader xmlReader = new XmlBeanDefinitionReader(ctx);
    xmlReader.loadBeanDefinitions(new FileSystemResource(inputs[0]));

    DatabaseUpdater updater = ctx.getBean(DatabaseUpdater.class);

    String target = null;
    if (inputs.length == 3) {
        target = inputs[2];
    }

    updater.update(inputs[1], target);

    ctx.close();
}

From source file:com.acc.xstream.XmlXStreamMarshallerFactoryTest.java

@Test
public void testInstantiateBeanFactory() {

    final GenericApplicationContext applicationContext = new GenericApplicationContext();
    final XmlBeanDefinitionReader xmlReader = new XmlBeanDefinitionReader(applicationContext);
    xmlReader.loadBeanDefinitions(new ByteArrayResource(SERVICE_BEAN_DEF.getBytes()));
    applicationContext.refresh();/*from  w ww  . j a  v a2  s  .  c  o m*/

    final XStreamMarshaller instanceOneXStream = (XStreamMarshaller) applicationContext
            .getBean("onlyOneInstance");
    final XStreamMarshaller instanceTwoXStream = (XStreamMarshaller) applicationContext
            .getBean("onlyOneInstance");

    Assert.assertSame("Factory should produce same instance ", instanceOneXStream, instanceTwoXStream);

}

From source file:org.megam.deccanplato.provider.crm.test.TwilioTestAdapterTest.java

@Test
public void twilioAdapterTest() {
    GenericApplicationContext ctx = new GenericApplicationContext();
    XmlBeanDefinitionReader xmlReader = new XmlBeanDefinitionReader(ctx);
    xmlReader.loadBeanDefinitions(new ClassPathResource("applicationContext.xml"));
    ctx.refresh();// w ww.j a  va 2  s.  com
    ProviderRegistry registry = (ProviderRegistry) ctx.getBean("registry");

    final String account = "account";
    final String availableNumbers = "availablenumbers";
    final String callerId = "callerid";
    final String incomingNumber = "incomingnumber";
    final String sms = "sms";
    final String calls = "calls";
    final String application = "application";
    final String recording = "recording";

    List<String> recordList = new ArrayList<>();
    recordList.add("list");

    List<String> appsList = new ArrayList<String>();
    //appsList.add("create");
    //appsList.add("list");
    //appsList.add("view");
    //appsList.add("update");
    appsList.add("delete");

    List<String> callsList = new ArrayList<String>();
    //callsList.add("list");
    //callsList.add("view");
    //callsList.add("recordinglist");
    //callsList.add("notifications");
    callsList.add("makecall");
    //callsList.add("modifylivecall");

    List<String> smsList = new ArrayList<>();
    smsList.add("list");
    smsList.add("send");
    smsList.add("view");

    List<String> incomingNumberList = new ArrayList<String>();
    incomingNumberList.add("list");
    incomingNumberList.add("view");
    incomingNumberList.add("create");
    incomingNumberList.add("update");
    incomingNumberList.add("delete");

    List<String> callerIdList = new ArrayList<String>();
    //callerIdList.add("list");
    //callerIdList.add("create");
    //callerIdList.add("view");
    //callerIdList.add("update");
    //callerIdList.add("delete");

    List<String> availableNumberList = new ArrayList<String>();
    //availableNumberList.add("locallist");
    //availableNumberList.add("startswith");
    //availableNumberList.add("storm");
    //availableNumberList.add("region");
    //availableNumberList.add("withindistance");
    //availableNumberList.add("tollfreelist");
    //availableNumberList.add("tollfreestorm");
    availableNumberList.add("tollfreepattern");

    List<String> accountList = new ArrayList<String>();
    // accountList.add("view");
    //accountList.add("create");
    //accountList.add("suspend");
    // accountList.add("active");
    //accountList.add("close");
    //accountList.add("list");
    //accountList.add("listactive");

    /*for (String activity : accountList) {
     CommonTest ctest = new CommonTest();
     RequestData reqData;
     reqData = ctest.commonTest(account, activity, TWILIO);
     if (account.equalsIgnoreCase("account")
       && activity.equalsIgnoreCase("view")) {
    testAdapterAccess(reqData);
     }
     ctest.testBusinessImpl();
    }
    for (String activity : availableNumberList) {
     CommonTest ctest = new CommonTest();
     RequestData reqData;
     reqData = ctest.commonTest(availableNumbers, activity, TWILIO);
     if (availableNumbers.equalsIgnoreCase("availablenumbers")
       && activity.equalsIgnoreCase("locallist")) {
    testAdapterAccess(reqData);
     }
     ctest.testBusinessImpl();
    }
    for (String activity : callerIdList) {
     CommonTest ctest = new CommonTest();
     RequestData reqData;
     reqData = ctest.commonTest(callerId, activity, TWILIO);
     if (callerId.equalsIgnoreCase("availablenumbers")
       && activity.equalsIgnoreCase("list")) {
    testAdapterAccess(reqData);
     }
     ctest.testBusinessImpl();
    }
    for (String activity : incomingNumberList) {
     CommonTest ctest = new CommonTest();
     RequestData reqData;
     reqData = ctest.commonTest(incomingNumber, activity, TWILIO);
     if (incomingNumber.equalsIgnoreCase("callerid")
       && activity.equalsIgnoreCase("list")) {
    testAdapterAccess(reqData);
     }
     ctest.testBusinessImpl();
    }
    for (String activity : smsList) {
     CommonTest ctest = new CommonTest();
     RequestData reqData;
     reqData = ctest.commonTest(sms, activity, TWILIO);
     if (sms.equalsIgnoreCase("sms")
       && activity.equalsIgnoreCase("list")) {
    testAdapterAccess(reqData);
     }
     ctest.testBusinessImpl();
    }
    for (String activity : callsList) {
     CommonTest ctest = new CommonTest();
     RequestData reqData;
     reqData = ctest.commonTest(calls, activity, TWILIO);
     if (calls.equalsIgnoreCase("calls")
       && activity.equalsIgnoreCase("list")) {
    testAdapterAccess(reqData);
     }
     ctest.testBusinessImpl();
    }
    for (String activity : appsList) {
     CommonTest ctest = new CommonTest();
     RequestData reqData;
     reqData = ctest.commonTest(application, activity, TWILIO);
     if (application.equalsIgnoreCase("application")
       && activity.equalsIgnoreCase("create")) {
    testAdapterAccess(reqData);
     }
     ctest.testBusinessImpl();
    }*/
    for (String activity : recordList) {
        CommonTest ctest = new CommonTest();
        RequestData reqData;
        reqData = ctest.commonTest(recording, activity, TWILIO);
        if (recording.equalsIgnoreCase("recording") && activity.equalsIgnoreCase("list")) {
            testAdapterAccess(reqData);
        }
        ctest.testBusinessImpl();
    }
}

From source file:org.megam.deccanplato.provider.crm.test.SalesforceChatterAdapterTest.java

@Test
public void salesforceTest() {

    GenericApplicationContext ctx = new GenericApplicationContext();
    XmlBeanDefinitionReader xmlReader = new XmlBeanDefinitionReader(ctx);
    xmlReader.loadBeanDefinitions(new ClassPathResource("applicationContext.xml"));
    ctx.refresh();//from   w  w  w  .  ja  v  a  2  s  . c  om
    ProviderRegistry registry = (ProviderRegistry) ctx.getBean("registry");

    final String feed = "feed";
    final String fileFeed = "filefeed";
    final String userResources = "user";
    final String groupFeed = "groupfeed";
    final String influence = "influence";
    final String likes = "like";
    final String news = "news";
    final String people = "people";
    final String record = "record";

    List<String> recordList = new ArrayList<String>();
    recordList.add("list");
    recordList.add("view");

    List<String> peopleList = new ArrayList<String>();
    peopleList.add("feed");
    peopleList.add("list");

    List<String> newsList = new ArrayList<String>();
    newsList.add("list");
    newsList.add("feed");

    List<String> likeList = new ArrayList<String>();
    likeList.add("list");
    likeList.add("view");
    likeList.add("delete");

    List<String> feedList = new ArrayList<String>();
    feedList.add("postcomment");
    //feedList.add("feed");
    //feedList.add("list");
    //feedList.add("comment");
    //feedList.add("like");
    //feedList.add("delete");

    List<String> fileList = new ArrayList<String>();
    fileList.add("list");

    List<String> userList = new ArrayList<String>();
    userList.add("list");
    userList.add("view");
    userList.add("conversation");
    userList.add("conversationview");
    userList.add("file");
    userList.add("message");
    userList.add("messageview");
    userList.add("status");

    List<String> influinceList = new ArrayList<String>();
    influinceList.add("list");

    List<String> groupList = new ArrayList<String>();
    groupList.add("list");
    groupList.add("membership");
    groupList.add("view");
    groupList.add("file");
    groupList.add("member");
    groupList.add("delete");

    for (String activity : feedList) {
        CommonTest ctest = new CommonTest();
        RequestData reqData;
        reqData = ctest.commonTest(feed, activity, SALESFORCE);
        if (feed.equalsIgnoreCase("feed") && activity.equalsIgnoreCase("feed")) {
            testAdapterAccess(reqData);
        }
        ctest.testBusinessImpl();
    }

    /*for (String activity : fileList) {
       CommonTest ctest = new CommonTest();
       RequestData reqData;
       reqData = ctest.commonTest(fileFeed, activity, SALESFORCE);
       if (fileFeed.equalsIgnoreCase("chatteransweractivity")
       && activity.equalsIgnoreCase("list")) {
    testAdapterAccess(reqData);
       }
       ctest.testBusinessImpl();
    }
    for (String activity : userList) {
       CommonTest ctest = new CommonTest();
       RequestData reqData;
       reqData = ctest.commonTest(userResources, activity, SALESFORCE);
       if (userResources.equalsIgnoreCase("user")
       && activity.equalsIgnoreCase("list")) {
    testAdapterAccess(reqData);
       }
       ctest.testBusinessImpl();
    }
    for (String activity : groupList) {
       CommonTest ctest = new CommonTest();
       RequestData reqData;
       reqData = ctest.commonTest(groupFeed, activity, SALESFORCE);
       if (groupFeed.equalsIgnoreCase("groupfeed")
       && activity.equalsIgnoreCase("membership")) {
    testAdapterAccess(reqData);
       }
       ctest.testBusinessImpl();
    }
    for (String activity : influinceList) {
       CommonTest ctest = new CommonTest();
       RequestData reqData;
       reqData = ctest.commonTest(influence, activity, SALESFORCE);
       if (influence.equalsIgnoreCase("influence")
       && activity.equalsIgnoreCase("list")) {
    testAdapterAccess(reqData);
       }
       ctest.testBusinessImpl();
    }
    for (String activity : likeList) {
       CommonTest ctest = new CommonTest();
       RequestData reqData;
       reqData = ctest.commonTest(likes, activity, SALESFORCE);
       if (likes.equalsIgnoreCase("like")
       && activity.equalsIgnoreCase("list")) {
    testAdapterAccess(reqData);
       }
       ctest.testBusinessImpl();
    }
    for (String activity : newsList) {
       CommonTest ctest = new CommonTest();
       RequestData reqData;
       reqData = ctest.commonTest(news, activity, SALESFORCE);
       if (news.equalsIgnoreCase("news")
       && activity.equalsIgnoreCase("list")) {
    testAdapterAccess(reqData);
       }
       ctest.testBusinessImpl();
    }
    for (String activity : peopleList) {
       CommonTest ctest = new CommonTest();
       RequestData reqData;
       reqData = ctest.commonTest(people, activity, SALESFORCE);
       if (people.equalsIgnoreCase("people")
       && activity.equalsIgnoreCase("feed")) {
    testAdapterAccess(reqData);
       }
       ctest.testBusinessImpl();
    }
    for (String activity : recordList) {
       CommonTest ctest = new CommonTest();
       RequestData reqData;
       reqData = ctest.commonTest(record, activity, SALESFORCE);
       if (record.equalsIgnoreCase("record")
       && activity.equalsIgnoreCase("list")) {
    testAdapterAccess(reqData);
       }
       ctest.testBusinessImpl();
    }*/

}

From source file:org.finra.jtaf.core.AutomationEngine.java

private AutomationEngine() {
    try {//from  ww  w . ja v  a  2s . com
        InputStream fi = getFrameworkFile();
        GenericApplicationContext ctx = new GenericApplicationContext();

        XmlBeanDefinitionReader xmlReader = new XmlBeanDefinitionReader(ctx);
        xmlReader.setValidationMode(XmlBeanDefinitionReader.VALIDATION_NONE);

        xmlReader.loadBeanDefinitions(new InputSource(fi));

        ctx.refresh();

        this.pluginManager = (PluginManager) ctx.getBean("PluginManager");

        digraph = new TestDigraph(new ClassBasedEdgeFactory<DiNode, DiEdge>(DiEdge.class));
        commandlibParser = new CommandLibraryParser();
        scriptParser = new ScriptParser();
        scriptParser.setDigraph(digraph);
        commandlibParser.setAutomationClassLoader(new DefaultAutomationClassLoader());
        testStrategyParser = new TestStrategyParser();
        testStrategyParser.setDigraph(digraph);
        initPostParseStrategyElementPlugins();
        testRoot = null;

        this.interpreter = (Interpreter) ctx.getBean("Interpreter");

        this.interpreter.setCommandRunnerPlugins(pluginManager.getCommandRunnerPlugins());
        this.interpreter.setTestRunnerPlugins(pluginManager.getTestRunnerPlugins());

        initPostParseAllPlugins();
        initPostParseSuitePlugins();
        initPostParseTestPlugins();

    } catch (Exception e) {
        // If something goes wrong here, we have a serious issue
        logger.fatal(e);
        throw new RuntimeException(e);
    }
}

From source file:com.github.yihtserns.jaxbean.unmarshaller.api.SpringBeanHandlerTest.java

@Override
protected <T> T unmarshal(String xml, Class<T> rootType, Class<?>... allTypes) throws Exception {
    JaxbeanUnmarshaller unmarshaller = JaxbeanUnmarshaller.newInstance(merge(rootType, allTypes));
    final UnmarshallerNamespaceHandler unmarshallerNamespaceHandler = new UnmarshallerNamespaceHandler(
            unmarshaller);//from w w  w.j  ava2 s.  co  m

    GenericApplicationContext appContext = new GenericApplicationContext();
    XmlBeanDefinitionReader xmlReader = new XmlBeanDefinitionReader(appContext) {

        @Override
        protected NamespaceHandlerResolver createDefaultNamespaceHandlerResolver() {
            final NamespaceHandlerResolver defaultResolver = super.createDefaultNamespaceHandlerResolver();
            return new NamespaceHandlerResolver() {

                public NamespaceHandler resolve(String namespaceUri) {
                    if (namespaceUri.equals("http://example.com/jaxb")) {
                        return unmarshallerNamespaceHandler;
                    }
                    return defaultResolver.resolve(namespaceUri);
                }
            };
        }
    };
    xmlReader.setValidating(false);
    xmlReader.loadBeanDefinitions(new InputSource(new StringReader(xml)));
    appContext.refresh();

    return appContext.getBean(rootType);
}

From source file:atunit.spring.SpringContainer.java

public Object createTest(Class<?> testClass, Map<Field, Object> fieldValues) throws Exception {

    GenericApplicationContext ctx = new GenericApplicationContext();

    for (Field field : fieldValues.keySet()) {

        Bean beanAnno = field.getAnnotation(Bean.class);

        AbstractBeanDefinition beandef = defineInstanceHolderFactoryBean(field.getType(),
                fieldValues.get(field));

        if ((beanAnno != null) && !beanAnno.value().equals("")) {
            ctx.registerBeanDefinition(beanAnno.value(), beandef);
        } else {/*from  ww w  . j  ava  2 s.  co m*/
            BeanDefinitionReaderUtils.registerWithGeneratedName(beandef, ctx);
        }
    }

    loadBeanDefinitions(testClass, ctx);

    fillInMissingFieldBeans(testClass, ctx);

    ctx.refresh();

    Object test = testClass.newInstance();
    for (Field field : testClass.getDeclaredFields()) {
        field.setAccessible(true);
        Bean beanAnno = field.getAnnotation(Bean.class);
        if (beanAnno == null) {
            if (fieldValues.containsKey(field)) {
                field.set(test, fieldValues.get(field));
            }
        } else {
            if (!beanAnno.value().equals("")) {
                field.set(test, ctx.getBean(beanAnno.value()));
            } else {
                String[] beanNames = ctx.getBeanNamesForType(field.getType());
                if (beanNames.length < 1) {
                    throw new BeanCreationException("There are no beans defined with type " + field.getType());
                }
                if (beanNames.length > 1) {
                    throw new BeanCreationException(
                            "There are " + beanNames.length + " beans defined with type " + field.getType()
                                    + "; consider wiring by name instead");
                }
                field.set(test, ctx.getBean(beanNames[0]));
            }
        }
    }

    return test;
}