1
2
3
4
5
6
7
8
9
10
11 package it.imolinfo.jbi4cics.service;
12
13 import it.imolinfo.jbi4cics.configuration.ConfigurationManager;
14 import it.imolinfo.jbi4cics.connection.ConnectionManager;
15 import it.imolinfo.jbi4cics.connection.ConnectionManagerFactory;
16 import it.imolinfo.jbi4cics.exception.Jbi4cicsException;
17 import it.imolinfo.jbi4cics.locator.ServiceLocation;
18 import it.imolinfo.jbi4cics.locator.ServiceLocator;
19 import it.imolinfo.jbi4cics.locator.ServiceLocatorFactory;
20 import it.imolinfo.jbi4cics.messageformat.MessageFormatter;
21 import it.imolinfo.jbi4cics.messageformat.MessageFormatterFactory;
22 import it.imolinfo.jbi4cics.security.Account;
23 import it.imolinfo.jbi4cics.security.SecurityManager;
24 import it.imolinfo.jbi4cics.security.SecurityManagerFactory;
25
26
27
28
29
30 public class ServiceManager {
31
32
33
34
35 public ServiceManager(){
36 }
37
38 public Object handleService(String name, Object input) throws Jbi4cicsException{
39
40 ConfigurationManager configurationManager=ConfigurationManager.getConfigurationManager();
41
42
43
44 ServiceContext serviceContext=configurationManager.createServiceContext(name,input);
45
46
47 ServiceLocator serviceLocator=ServiceLocatorFactory.createLocator(serviceContext);
48
49
50 ServiceLocation serviceLocation=serviceLocator.locateService(serviceContext);
51
52
53 serviceContext.setServiceLocation(serviceLocation);
54
55
56 SecurityManager securityManager=SecurityManagerFactory.createSecurityManager(serviceContext);
57
58
59 Account account=securityManager.getAccount(serviceContext);
60
61
62 serviceContext.setAccount(account);
63
64
65 MessageFormatter inputMessageFormatter=MessageFormatterFactory.createMessageFormatter(serviceContext,true);
66
67
68 inputMessageFormatter.mapInputBeanToInputMessage(serviceContext);
69
70
71 ConnectionManager connectionManager=ConnectionManagerFactory.createConnectionManager(serviceContext);
72
73
74 connectionManager.handleCall(serviceContext);
75
76
77 MessageFormatter outputMessageFormatter=MessageFormatterFactory.createMessageFormatter(serviceContext,false);
78
79
80 outputMessageFormatter.mapOutputMessageToOutputBean(serviceContext);
81
82
83 return serviceContext.getOutputBean();
84 }
85
86 }