/* * Copyright 2001-2006 Geert Bevin * Distributed under the terms of either: * - the common development and distribution license (CDDL), v1.0; or * - the GNU Lesser General Public License, v2.1 or later * $Id: TestXml2ElementInfo.java 2944 2006-02-08 15:20:17Z gbevin $ */ package com.uwyn.rife.engine; import com.uwyn.rife.engine.testelements.annotations.Simple; import com.uwyn.rife.resources.ResourceFinderClasspath; import junit.framework.TestCase; import java.util.LinkedHashMap; public class TestAnnotations2ElementInfo extends TestCase { public TestAnnotations2ElementInfo(String name) { super(name); } public void testInstantiation() { SiteBuilder site_builder = new SiteBuilder("test", ResourceFinderClasspath.getInstance()); ElementInfoBuilder elementinfo_builder = site_builder.enterElement(ElementInfoProcessorFactory.ANNOTATIONS_IDENTIFIER+":"+Simple.class.getName()); assertNotNull(elementinfo_builder); } public void testParser() { SiteBuilder site_builder = new SiteBuilder("test", ResourceFinderClasspath.getInstance()); ElementInfoBuilder elementinfo_builder = site_builder.enterElement(ElementInfoProcessorFactory.ANNOTATIONS_IDENTIFIER+":"+Simple.class.getName()); elementinfo_builder.process(); ElementInfo elementinfo = elementinfo_builder.getElementInfo(new LinkedHashMap(), new LinkedHashMap(), new LinkedHashMap(), new LinkedHashMap()); assertEquals(elementinfo.getInputNames().size(), 26); assertTrue(elementinfo.containsInput("input1")); assertTrue(elementinfo.containsInput("input2")); assertTrue(elementinfo.containsInput("input3")); assertTrue(elementinfo.containsInput("string1")); assertTrue(elementinfo.containsInput("string2")); assertTrue(elementinfo.containsInput("string3")); assertTrue(elementinfo.containsInput("string4")); assertTrue(elementinfo.containsInput("string5")); assertTrue(elementinfo.containsInput("string6")); assertTrue(elementinfo.containsInput("string7")); assertTrue(elementinfo.containsInput("string8")); assertTrue(elementinfo.containsInput("prefix_string1")); assertTrue(elementinfo.containsInput("prefix_string2")); assertTrue(elementinfo.containsInput("prefix_string3")); assertTrue(elementinfo.containsInput("prefix_string4")); assertTrue(elementinfo.containsInput("prefix_string5")); assertTrue(elementinfo.containsInput("prefixgroup_string")); assertTrue(elementinfo.containsInput("prefixgroup_int")); assertTrue(elementinfo.containsInput("prefixgroup_longObject")); assertTrue(elementinfo.containsInput("prefixgroup_short")); assertTrue(elementinfo.containsInput("string")); assertTrue(elementinfo.containsInput("int")); assertTrue(elementinfo.containsInput("longObject")); assertTrue(elementinfo.containsInput("short")); assertTrue(elementinfo.containsInput("key1")); assertTrue(elementinfo.containsInput("key2")); assertEquals(elementinfo.getOutputNames().size(), 25); assertTrue(elementinfo.containsOutput("output1")); assertTrue(elementinfo.containsOutput("output2")); assertTrue(elementinfo.containsOutput("output3")); assertTrue(elementinfo.containsOutput("output4")); assertTrue(elementinfo.containsOutput("string1")); assertTrue(elementinfo.containsOutput("string2")); assertTrue(elementinfo.containsOutput("string3")); assertTrue(elementinfo.containsOutput("string4")); assertTrue(elementinfo.containsOutput("string5")); assertTrue(elementinfo.containsOutput("string6")); assertTrue(elementinfo.containsOutput("string7")); assertTrue(elementinfo.containsOutput("string8")); assertTrue(elementinfo.containsOutput("prefix_string4")); assertTrue(elementinfo.containsOutput("prefix_string5")); assertTrue(elementinfo.containsOutput("prefix_string6")); assertTrue(elementinfo.containsOutput("prefix_string7")); assertTrue(elementinfo.containsOutput("prefix_string8")); assertTrue(elementinfo.containsOutput("prefixgroup_string")); assertTrue(elementinfo.containsOutput("prefixgroup_int")); assertTrue(elementinfo.containsOutput("prefixgroup_longObject")); assertTrue(elementinfo.containsOutput("prefixgroup_short")); assertTrue(elementinfo.containsOutput("string")); assertTrue(elementinfo.containsOutput("int")); assertTrue(elementinfo.containsOutput("longObject")); assertTrue(elementinfo.containsOutput("short")); assertEquals(elementinfo.getIncookieNames().size(), 2); assertTrue(elementinfo.containsIncookie("incookie1")); assertTrue(elementinfo.containsIncookie("incookie2")); assertEquals(elementinfo.getOutcookieNames().size(), 4); assertTrue(elementinfo.containsOutcookie("outcookie1")); assertTrue(elementinfo.containsOutcookie("outcookie2")); assertTrue(elementinfo.containsOutcookie("outcookie3")); assertTrue(elementinfo.containsOutcookie("outcookie4")); assertEquals(elementinfo.getNamedInbeanNames().size(), 2); assertTrue(elementinfo.containsNamedInbean("inbean1")); assertEquals(elementinfo.getNamedInbeanInfo("inbean1").getClassname(), "com.uwyn.rife.engine.testelements.exits.BeanImpl1"); assertEquals(elementinfo.getNamedInbeanInfo("inbean1").getPrefix(), null); assertEquals(elementinfo.getNamedInbeanInfo("inbean1").getGroupName(), null); assertTrue(elementinfo.containsNamedInbean("inbean2")); assertEquals(elementinfo.getNamedInbeanInfo("inbean2").getClassname(), "com.uwyn.rife.engine.testelements.submission.BeanImpl"); assertEquals(elementinfo.getNamedInbeanInfo("inbean2").getPrefix(), "prefixgroup_"); assertEquals(elementinfo.getNamedInbeanInfo("inbean2").getGroupName(), "somegroup"); assertEquals(elementinfo.getNamedOutbeanNames().size(), 2); assertTrue(elementinfo.containsNamedOutbean("outbean1")); assertEquals(elementinfo.getNamedOutbeanInfo("outbean1").getClassname(), "com.uwyn.rife.engine.testelements.exits.BeanImpl2"); assertEquals(elementinfo.getNamedOutbeanInfo("outbean1").getPrefix(), "prefix_"); assertEquals(elementinfo.getNamedOutbeanInfo("outbean1").getGroupName(), null); assertTrue(elementinfo.containsNamedOutbean("outbean2")); assertEquals(elementinfo.getNamedOutbeanInfo("outbean2").getClassname(), "com.uwyn.rife.engine.testelements.submission.BeanImpl"); assertEquals(elementinfo.getNamedOutbeanInfo("outbean2").getPrefix(), null); assertEquals(elementinfo.getNamedOutbeanInfo("outbean2").getGroupName(), "somegroup"); assertEquals(elementinfo.getChildTriggerNames().size(), 2); assertTrue(elementinfo.containsChildTrigger("input1")); assertTrue(elementinfo.containsChildTrigger("input2")); assertEquals(elementinfo.getExitNames().size(), 3); assertTrue(elementinfo.containsExit("exit1")); assertTrue(elementinfo.containsExit("exit2")); assertTrue(elementinfo.containsExit("exit3")); assertEquals(elementinfo.getSubmissionNames().size(), 2); assertTrue(elementinfo.containsSubmission("submission1")); assertTrue(elementinfo.containsSubmission("submission2")); assertNotNull(elementinfo.getSubmission("submission1")); assertNotNull(elementinfo.getSubmission("submission2")); assertEquals(elementinfo.getSubmission("submission1").getParameterNames().size(), 3); assertTrue(elementinfo.getSubmission("submission1").containsParameter("param1")); assertTrue(elementinfo.getSubmission("submission1").containsParameter("param2")); assertTrue(elementinfo.getSubmission("submission1").containsParameter("param3")); assertEquals(elementinfo.getSubmission("submission1").getParameterRegexps().size(), 2); assertTrue(elementinfo.getSubmission("submission1").containsParameter("paramA1")); assertTrue(elementinfo.getSubmission("submission1").containsParameter("paramA2")); assertTrue(elementinfo.getSubmission("submission1").containsParameter("paramB1")); assertTrue(elementinfo.getSubmission("submission1").containsParameter("paramB2")); assertEquals(elementinfo.getSubmission("submission1").getFileNames().size(), 2); assertTrue(elementinfo.getSubmission("submission1").containsFile("file1")); assertTrue(elementinfo.getSubmission("submission1").containsFile("file2")); assertEquals(elementinfo.getSubmission("submission2").getParameterNames().size(), 3); assertTrue(elementinfo.getSubmission("submission2").containsParameter("param1")); assertTrue(elementinfo.getSubmission("submission2").containsParameter("param2")); assertTrue(elementinfo.getSubmission("submission2").containsParameter("param3")); assertEquals(elementinfo.getSubmission("submission2").getParameterRegexps().size(), 1); assertTrue(elementinfo.getSubmission("submission2").containsParameter("paramC1")); assertTrue(elementinfo.getSubmission("submission2").containsParameter("paramC2")); assertEquals(elementinfo.getSubmission("submission2").getFileNames().size(), 2); assertTrue(elementinfo.getSubmission("submission2").containsFile("file1")); assertTrue(elementinfo.getSubmission("submission2").containsFile("file2")); } }