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.io.Serializable;
22 import java.util.ArrayList;
23 import java.util.List;
24 import java.util.Map;
25
26 import org.apache.chemistry.opencmis.client.api.ObjectFactory;
27 import org.apache.chemistry.opencmis.client.api.Repository;
28 import org.apache.chemistry.opencmis.client.api.Session;
29 import org.apache.chemistry.opencmis.client.api.SessionFactory;
30 import org.apache.chemistry.opencmis.client.bindings.cache.TypeDefinitionCache;
31 import org.apache.chemistry.opencmis.client.runtime.cache.Cache;
32 import org.apache.chemistry.opencmis.client.runtime.repository.RepositoryImpl;
33 import org.apache.chemistry.opencmis.commons.SessionParameter;
34 import org.apache.chemistry.opencmis.commons.data.RepositoryInfo;
35 import org.apache.chemistry.opencmis.commons.exceptions.CmisBaseException;
36 import org.apache.chemistry.opencmis.commons.spi.AuthenticationProvider;
37 import org.apache.chemistry.opencmis.commons.spi.CmisBinding;
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59 public class SessionFactoryImpl implements SessionFactory, Serializable {
60
61 private static final long serialVersionUID = 1L;
62
63 protected SessionFactoryImpl() {
64 }
65
66 public static SessionFactoryImpl newInstance() {
67 return new SessionFactoryImpl();
68 }
69
70 @Override
71 public Session createSession(Map<String, String> parameters) {
72 return createSession(parameters, null, null, null, null);
73 }
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97 public Session createSession(Map<String, String> parameters, ObjectFactory objectFactory,
98 AuthenticationProvider authenticationProvider, Cache cache, TypeDefinitionCache typeDefCache) {
99 SessionImpl session = new SessionImpl(parameters, objectFactory, authenticationProvider, cache, typeDefCache);
100 session.connect();
101
102 return session;
103 }
104
105 @Override
106 public List<Repository> getRepositories(Map<String, String> parameters) {
107 return getRepositories(parameters, null, null, null, null);
108 }
109
110
111
112
113
114
115
116 public List<Repository> getRepositories(Map<String, String> parameters, ObjectFactory objectFactory,
117 AuthenticationProvider authenticationProvider, Cache cache, TypeDefinitionCache typeDefCache) {
118 CmisBinding binding = CmisBindingHelper.createBinding(parameters, authenticationProvider, typeDefCache);
119
120 List<RepositoryInfo> repositoryInfos = binding.getRepositoryService().getRepositoryInfos(null);
121
122 List<Repository> result = new ArrayList<Repository>();
123 for (RepositoryInfo data : repositoryInfos) {
124 result.add(new RepositoryImpl(data, parameters, this, objectFactory, binding.getAuthenticationProvider(),
125 cache, typeDefCache));
126 }
127
128 return result;
129 }
130 }