public Repository(IRepositoryInfo info, IDictionary <string, string> parameters, SessionFactory sessionFactory, IObjectFactory objectFactory, AbstractAuthenticationProvider authenticationProvider, ICache cache) : base(info) { this.parameters = new Dictionary <string, string>(parameters); this.parameters[SessionParameter.RepositoryId] = Id; this.sessionFactory = sessionFactory; this.objectFactory = objectFactory; this.authenticationProvider = authenticationProvider; this.cache = cache; }
public CmisBinding(IDictionary <string, string> sessionParameters, AbstractAuthenticationProvider authenticationProvider) { if (sessionParameters == null) { throw new ArgumentNullException("sessionParameters"); } if (!sessionParameters.ContainsKey(SessionParameter.BindingSpiClass)) { throw new ArgumentException("Session parameters do not contain a SPI class name!"); } // initialize session session = new BindingSession(); foreach (string key in sessionParameters.Keys) { session.PutValue(key, sessionParameters[key]); } // set up authentication provider if (authenticationProvider == null) { string authenticationProviderClass; if (sessionParameters.TryGetValue(SessionParameter.AuthenticationProviderClass, out authenticationProviderClass)) { try { Type authProvType = Type.GetType(authenticationProviderClass); authenticationProvider = (AbstractAuthenticationProvider)Activator.CreateInstance(authProvType); authenticationProvider.Session = session; session.PutValue(BindingSession.AuthenticationProvider, authenticationProvider); } catch (Exception e) { throw new CmisRuntimeException("Could not load authentictaion provider: " + e.Message, e); } } } else { authenticationProvider.Session = session; session.PutValue(BindingSession.AuthenticationProvider, authenticationProvider); } // initialize the SPI GetSpi(); // set up caches ClearAllCaches(); // set up repository service repositoryServiceWrapper = new BindingRepositoryService(session); }
public CmisBinding(IDictionary<string, string> sessionParameters, AbstractAuthenticationProvider authenticationProvider) { if (sessionParameters == null) { throw new ArgumentNullException("sessionParameters"); } if (!sessionParameters.ContainsKey(SessionParameter.BindingSpiClass)) { throw new ArgumentException("Session parameters do not contain a SPI class name!"); } // initialize session session = new BindingSession(); foreach (string key in sessionParameters.Keys) { session.PutValue(key, sessionParameters[key]); } // set up authentication provider if (authenticationProvider == null) { string authenticationProviderClass; if (sessionParameters.TryGetValue(SessionParameter.AuthenticationProviderClass, out authenticationProviderClass)) { try { Type authProvType = Type.GetType(authenticationProviderClass); authenticationProvider = (AbstractAuthenticationProvider)Activator.CreateInstance(authProvType); authenticationProvider.Session = session; session.PutValue(BindingSession.AuthenticationProvider, authenticationProvider); } catch (Exception e) { throw new CmisRuntimeException("Could not load authentictaion provider: " + e.Message, e); } } } else { authenticationProvider.Session = session; session.PutValue(BindingSession.AuthenticationProvider, authenticationProvider); } // initialize the SPI GetSpi(); // set up caches ClearAllCaches(); // set up repository service repositoryServiceWrapper = new BindingRepositoryService(session); }
public Session(IDictionary <string, string> parameters, IObjectFactory objectFactory, AbstractAuthenticationProvider authenticationProvider, ICache cache) { if (parameters == null) { throw new ArgumentNullException("parameters"); } this.parameters = parameters; ObjectFactory = (objectFactory == null ? CreateObjectFactory() : objectFactory); AuthenticationProvider = authenticationProvider; Cache = (cache == null ? CreateCache() : cache); string cachePathOmitStr; if (parameters.TryGetValue(SessionParameter.CachePathOmit, out cachePathOmitStr)) { cachePathOmit = cachePathOmitStr.ToLower() == "true"; } else { cachePathOmit = false; } }
public static ICmisBinding CreateBinding(IDictionary <string, string> parameters, AbstractAuthenticationProvider authenticationProvider) { if (parameters == null) { throw new ArgumentNullException("parameters"); } if (!parameters.ContainsKey(SessionParameter.BindingType)) { parameters[SessionParameter.BindingType] = BindingType.Custom; } string bt = parameters[SessionParameter.BindingType]; switch (bt) { case BindingType.AtomPub: return(CreateAtomPubBinding(parameters, authenticationProvider)); case BindingType.WebServices: return(CreateWebServiceBinding(parameters, authenticationProvider)); case BindingType.Custom: return(CreateCustomBinding(parameters, authenticationProvider)); default: throw new CmisRuntimeException("Ambiguous session parameter: " + parameters); } }
public IList <IRepository> GetRepositories(IDictionary <string, string> parameters, IObjectFactory objectFactory, AbstractAuthenticationProvider authenticationProvider, ICache cache) { ICmisBinding binding = CmisBindingHelper.CreateBinding(parameters); IList <IRepositoryInfo> repositoryInfos = binding.GetRepositoryService().GetRepositoryInfos(null); IList <IRepository> result = new List <IRepository>(); foreach (IRepositoryInfo data in repositoryInfos) { result.Add(new Repository(data, parameters, this, objectFactory, authenticationProvider, cache)); } return(result); }
public ISession CreateSession(IDictionary <string, string> parameters, IObjectFactory objectFactory, AbstractAuthenticationProvider authenticationProvider, ICache cache) { Session session = new Session(parameters, objectFactory, authenticationProvider, cache); session.Connect(); return(session); }
private static ICmisBinding CreateAtomPubBinding(IDictionary <string, string> parameters, AbstractAuthenticationProvider authenticationProvider) { CmisBindingFactory factory = CmisBindingFactory.NewInstance(); ICmisBinding binding = factory.CreateCmisAtomPubBinding(parameters, authenticationProvider); return(binding); }