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 public class ServiceCreatorTest extends BaseCommareaTest {
30 private static Log log = LogFactory.getLog(ServiceCreatorTest.class);
31
32
33
34 public ServiceCreatorTest(String arg) {
35 super(arg);
36 }
37
38 public void testServiceCreator() {
39 try {
40
41 InputStream is = new FileInputStream(testRootCommarea + "/" + "ProvaCommarea2.txt");
42 CommareaLexer lexer = new CommareaLexer(is);
43 CommareaParser parser = new CommareaParser(lexer);
44 CommareaBeanMappingDescriptor commareaBeanMappingDescriptor = parser.commarea_definition();
45 log.info("commareaBeanMappingDescriptor: " + commareaBeanMappingDescriptor);
46
47
48 final ServiceDescriptor serviceDescriptor = new ServiceDescriptor();
49
50 serviceDescriptor.setOperationName("provaOperation");
51 serviceDescriptor.setServiceName("ProvaService");
52 serviceDescriptor.setServiceInterfacePackageName("it.imolinfo.jbi4cics.test.webservices.utils.generators");
53 serviceDescriptor.setServiceInterfaceName("ProvaServiceBeanInterface");
54 serviceDescriptor.setServiceNameSpace("urn:it.imolinfo.jbi4cics.test.webservices.utils.generators");
55 serviceDescriptor.setInputBeanClassName("ProvaServiceBean");
56 serviceDescriptor.setOutputBeanClassName("ProvaServiceBean");
57 serviceDescriptor.setInputMappingDescriptor(commareaBeanMappingDescriptor);
58 serviceDescriptor.setOutputMappingDescriptor(commareaBeanMappingDescriptor);
59
60
61 BCELClassLoader bcelClassLoader = new BCELClassLoader(Thread.currentThread().getContextClassLoader());
62 ServiceBeanGenerator serviceBeanGenerator = new ServiceBeanGenerator(serviceDescriptor, true);
63 serviceBeanGenerator.generateBeanClass(bcelClassLoader);
64
65
66 ServiceInterfaceGenerator serviceInterfaceGenerator = new ServiceInterfaceGenerator(serviceDescriptor);
67 serviceInterfaceGenerator.generateServiceInterface(bcelClassLoader);
68 XFire xfire = XFireFactory.newInstance().getXFire();
69 ServiceCreator serviceCreator = new ServiceCreator();
70 Service service = serviceCreator.createService(serviceDescriptor, xfire);
71 log.debug("servizio creato: " + service);
72
73
74
75 } catch (Throwable e) {
76 log.error("errore in test testServiceCreator", e);
77 fail(e.getMessage());
78 }
79 }
80 }