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); }