1
2
3
4
5
6
7
8 package it.imolinfo.jbi4cics.test.webservices.runtime;
9
10 import it.imolinfo.jbi4cics.commareaparser.CommareaLexer;
11 import it.imolinfo.jbi4cics.commareaparser.CommareaParser;
12 import it.imolinfo.jbi4cics.jbi.BCELClassLoader;
13 import it.imolinfo.jbi4cics.messageformat.commarea.CommareaBeanMappingDescriptor;
14 import it.imolinfo.jbi4cics.test.BaseCommareaTest;
15 import it.imolinfo.jbi4cics.webservices.descriptor.ServiceDescriptor;
16 import it.imolinfo.jbi4cics.webservices.runtime.ServiceCreator;
17 import it.imolinfo.jbi4cics.webservices.utils.generators.ServiceBeanGenerator;
18 import it.imolinfo.jbi4cics.webservices.utils.generators.ServiceInterfaceGenerator;
19
20 import java.io.FileInputStream;
21 import java.io.InputStream;
22
23 import org.apache.commons.logging.Log;
24 import org.apache.commons.logging.LogFactory;
25 import org.codehaus.xfire.XFire;
26 import org.codehaus.xfire.XFireFactory;
27 import org.codehaus.xfire.service.Service;
28
29
30 public class NestedServiceCreatorTest extends BaseCommareaTest {
31 private static Log log = LogFactory.getLog(NestedServiceCreatorTest.class);
32
33
34
35 public NestedServiceCreatorTest(String arg) {
36 super(arg);
37 }
38
39 public void testNestedServiceCreator() {
40 try {
41
42 InputStream is = new FileInputStream(testRootCommarea + "/" + "NestedCommarea.txt");
43 CommareaLexer lexer = new CommareaLexer(is);
44 CommareaParser parser = new CommareaParser(lexer);
45 CommareaBeanMappingDescriptor commareaBeanMappingDescriptor = parser.commarea_definition();
46 log.info("commareaBeanMappingDescriptor: " + commareaBeanMappingDescriptor);
47
48
49 ServiceDescriptor serviceDescriptor = new ServiceDescriptor();
50
51 serviceDescriptor.setOperationName("provaOperation");
52 serviceDescriptor.setServiceName("ProvaService");
53 serviceDescriptor.setServiceInterfacePackageName("it.imolinfo.jbi4cics.test.webservices.utils.generators");
54 serviceDescriptor.setServiceInterfaceName("ProvaServiceBeanInterface");
55 serviceDescriptor.setServiceNameSpace("urn:it.imolinfo.jbi4cics.test.webservices.utils.generators");
56 serviceDescriptor.setInputBeanClassName("ProvaServiceBean");
57 serviceDescriptor.setOutputBeanClassName("ProvaServiceBean");
58 serviceDescriptor.setInputMappingDescriptor(commareaBeanMappingDescriptor);
59 serviceDescriptor.setOutputMappingDescriptor(commareaBeanMappingDescriptor);
60
61
62 BCELClassLoader bcelClassLoader = new BCELClassLoader(Thread.currentThread().getContextClassLoader());
63 ServiceBeanGenerator serviceBeanGenerator = new ServiceBeanGenerator(serviceDescriptor, true);
64 serviceBeanGenerator.generateBeanClass(bcelClassLoader);
65
66
67 ServiceInterfaceGenerator serviceInterfaceGenerator = new ServiceInterfaceGenerator(serviceDescriptor);
68 serviceInterfaceGenerator.generateServiceInterface(bcelClassLoader);
69 XFire xfire = XFireFactory.newInstance().getXFire();
70 ServiceCreator serviceCreator = new ServiceCreator();
71 Service service = serviceCreator.createService(serviceDescriptor, xfire);
72 log.debug("servizio creato: " + service);
73
74
75
76 } catch (Throwable e) {
77 log.error("errore in test testNestedServiceCreator", e);
78 fail(e.getMessage());
79 }
80 }
81
82 public void testNested3ServiceCreator() {
83 try {
84
85 InputStream is = new FileInputStream(testRootCommarea + "/" + "NestedCommarea3.txt");
86 CommareaLexer lexer = new CommareaLexer(is);
87 CommareaParser parser = new CommareaParser(lexer);
88 CommareaBeanMappingDescriptor commareaBeanMappingDescriptor = parser.commarea_definition();
89 log.info("commareaBeanMappingDescriptor: " + commareaBeanMappingDescriptor);
90
91
92 ServiceDescriptor serviceDescriptor = new ServiceDescriptor();
93
94 serviceDescriptor.setOperationName("provaOperation");
95 serviceDescriptor.setServiceName("ProvaService");
96 serviceDescriptor.setServiceInterfacePackageName("it.imolinfo.jbi4cics.test.webservices.utils.generators");
97 serviceDescriptor.setServiceInterfaceName("ProvaServiceBeanInterface");
98 serviceDescriptor.setServiceNameSpace("urn:it.imolinfo.jbi4cics.test.webservices.utils.generators");
99 serviceDescriptor.setInputBeanClassName("ProvaServiceBean");
100 serviceDescriptor.setOutputBeanClassName("ProvaServiceBean");
101 serviceDescriptor.setInputMappingDescriptor(commareaBeanMappingDescriptor);
102 serviceDescriptor.setOutputMappingDescriptor(commareaBeanMappingDescriptor);
103
104
105 BCELClassLoader bcelClassLoader = new BCELClassLoader(Thread.currentThread().getContextClassLoader());
106 ServiceBeanGenerator serviceBeanGenerator = new ServiceBeanGenerator(serviceDescriptor, true);
107 serviceBeanGenerator.generateBeanClass(bcelClassLoader);
108
109
110 ServiceInterfaceGenerator serviceInterfaceGenerator = new ServiceInterfaceGenerator(serviceDescriptor);
111 serviceInterfaceGenerator.generateServiceInterface(bcelClassLoader);
112 XFire xfire = XFireFactory.newInstance().getXFire();
113 ServiceCreator serviceCreator = new ServiceCreator();
114 Service service = serviceCreator.createService(serviceDescriptor, xfire);
115 log.debug("servizio creato: " + service);
116
117
118
119 } catch (Throwable e) {
120 log.error("errore in test testNestedServiceCreator", e);
121 fail(e.getMessage());
122 }
123 }
124
125 }