1
2
3
4 package org.rcfaces.core.internal.service;
5
6 import java.util.Map;
7
8 import javax.faces.context.FacesContext;
9
10 import org.apache.commons.logging.Log;
11 import org.apache.commons.logging.LogFactory;
12
13
14
15
16
17
18 public abstract class AbstractClientService extends AbstractService {
19 private static final String REVISION = "$Revision: 1.18 $";
20
21 private static final Log LOG = LogFactory
22 .getLog(AbstractClientService.class);
23
24 private static final String CLIENT_SERVICE_REGISTRY_PROPERTY = "camelia.client.service.Repository";
25
26 protected IClientServiceRegistry getClientServiceRegistry(
27 FacesContext facesContext) {
28
29 Map applicationMap = facesContext.getExternalContext()
30 .getApplicationMap();
31 synchronized (AbstractClientService.class) {
32 IClientServiceRegistry clientServiceRegistry = (IClientServiceRegistry) applicationMap
33 .get(CLIENT_SERVICE_REGISTRY_PROPERTY);
34 if (clientServiceRegistry != null) {
35 return clientServiceRegistry;
36 }
37
38 clientServiceRegistry = createClientServiceRegistry();
39
40 applicationMap.put(CLIENT_SERVICE_REGISTRY_PROPERTY,
41 clientServiceRegistry);
42
43 return clientServiceRegistry;
44 }
45 }
46
47 protected IClientServiceRegistry createClientServiceRegistry() {
48 return new ClientServiceRegistryImpl();
49 }
50
51 }