This project has retired. For details please refer to its
Attic page.
CmisBindingHelper xref
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.chemistry.opencmis.client.runtime;
20
21 import java.util.Map;
22
23 import org.apache.chemistry.opencmis.client.bindings.CmisBindingFactory;
24 import org.apache.chemistry.opencmis.commons.SessionParameter;
25 import org.apache.chemistry.opencmis.commons.enums.BindingType;
26 import org.apache.chemistry.opencmis.commons.exceptions.CmisRuntimeException;
27 import org.apache.chemistry.opencmis.commons.spi.AuthenticationProvider;
28 import org.apache.chemistry.opencmis.commons.spi.CmisBinding;
29
30
31
32
33 public class CmisBindingHelper {
34
35 private CmisBindingHelper() {
36 }
37
38
39
40
41 public static CmisBinding createBinding(Map<String, String> parameters,
42 AuthenticationProvider authenticationProvider) {
43 if (parameters == null || parameters.isEmpty()) {
44 throw new CmisRuntimeException("Session parameter not set!");
45 }
46
47 if (!parameters.containsKey(SessionParameter.BINDING_TYPE)) {
48 parameters.put(SessionParameter.BINDING_TYPE, BindingType.CUSTOM.value());
49 }
50
51 BindingType bt = BindingType.fromValue(parameters.get(SessionParameter.BINDING_TYPE));
52
53 switch (bt) {
54 case ATOMPUB:
55 return createAtomPubBinding(parameters, authenticationProvider);
56 case WEBSERVICES:
57 return createWebServiceBinding(parameters, authenticationProvider);
58 case BROWSER:
59 return createCmisBrowserBinding(parameters, authenticationProvider);
60 case LOCAL:
61 return createLocalBinding(parameters);
62 case CUSTOM:
63 return createCustomBinding(parameters, authenticationProvider);
64 default:
65 throw new CmisRuntimeException("Ambiguous session parameter: " + parameters);
66 }
67 }
68
69
70
71
72 private static CmisBinding createCustomBinding(Map<String, String> parameters,
73 AuthenticationProvider authenticationProvider) {
74 CmisBindingFactory factory = CmisBindingFactory.newInstance();
75 CmisBinding binding = factory.createCmisBinding(parameters, authenticationProvider);
76
77 return binding;
78 }
79
80
81
82
83 private static CmisBinding createWebServiceBinding(Map<String, String> parameters,
84 AuthenticationProvider authenticationProvider) {
85 CmisBindingFactory factory = CmisBindingFactory.newInstance();
86 CmisBinding binding = factory.createCmisWebServicesBinding(parameters, authenticationProvider);
87
88 return binding;
89 }
90
91
92
93
94 private static CmisBinding createAtomPubBinding(Map<String, String> parameters,
95 AuthenticationProvider authenticationProvider) {
96 CmisBindingFactory factory = CmisBindingFactory.newInstance();
97 CmisBinding binding = factory.createCmisAtomPubBinding(parameters, authenticationProvider);
98
99 return binding;
100 }
101
102
103
104
105 private static CmisBinding createCmisBrowserBinding(Map<String, String> parameters,
106 AuthenticationProvider authenticationProvider) {
107 CmisBindingFactory factory = CmisBindingFactory.newInstance();
108 CmisBinding binding = factory.createCmisBrowserBinding(parameters, authenticationProvider);
109
110 return binding;
111 }
112
113
114
115
116 private static CmisBinding createLocalBinding(Map<String, String> parameters) {
117 CmisBindingFactory factory = CmisBindingFactory.newInstance();
118 CmisBinding binding = factory.createCmisLocalBinding(parameters);
119
120 return binding;
121 }
122 }