public FeedSourceProcessor(List <ISdShareClientAdaptor> adaptors, FeedSource feedSource) { _adaptors = adaptors; _feedSource = feedSource; _feedSourceLastUpdatedFile = ConfigurationReader.Configuration.LastUpdatedStorageLocation + Path.DirectorySeparatorChar + feedSource.Name; }
public FeedSourceProcessor(List<ISdShareClientAdaptor> adaptors, FeedSource feedSource) { _adaptors = adaptors; _feedSource = feedSource; _feedSourceLastUpdatedFile = ConfigurationReader.Configuration.LastUpdatedStorageLocation + Path.DirectorySeparatorChar + feedSource.Name; }
private static ServerConfiguration ReadConfiguration(string fileName) { if (!File.Exists(fileName)) throw new Exception("No file found of name " + fileName); var sconfig = new ServerConfiguration(); XDocument config = null; try { using (var fs = new FileStream(fileName, FileMode.Open)) { config = XDocument.Load(fs); } } catch (Exception ex) { throw new Exception("Unable to read configuration file " + ex.Message + " " + ex.StackTrace); } // get logging location sconfig.LoggingLocation = GetElementValue(config.Root, "LoggingLocation"); var dirInfo = new DirectoryInfo(sconfig.LoggingLocation); if (!dirInfo.Exists) dirInfo.Create(); // get hashvaluelocation sconfig.HashValueStorageLocation = GetElementValue(config.Root, "HashValueStorageLocation"); dirInfo = new DirectoryInfo(sconfig.HashValueStorageLocation); if (!dirInfo.Exists) dirInfo.Create(); // location for client updating sconfig.LastUpdatedStorageLocation = GetElementValue(config.Root, "LastUpdatedStorageLocation"); dirInfo = new DirectoryInfo(sconfig.LastUpdatedStorageLocation); if (!dirInfo.Exists) dirInfo.Create(); // get all the providers, create an instance and pass through the element to it to process. foreach (var element in config.Descendants("CollectionProvider")) { try { var typeNameAttribute = element.Attribute("Type"); var assemblyNameAttribute = element.Attribute("Assembly"); if (typeNameAttribute != null && assemblyNameAttribute != null) { var typeName = typeNameAttribute.Value; var assemblyName = assemblyNameAttribute.Value; var type = Type.GetType(typeName + ", " + assemblyName); var collectionProvider = Activator.CreateInstance(type) as ICollectionProvider; if (collectionProvider == null) throw new Exception("Unable to instantaite " + assemblyName + " : " + typeName); collectionProvider.Initialize(element); sconfig.AddCollectionProvider(collectionProvider); } } catch (Exception ex) { // log error initialising collection provider Logging.LogError(1, "Unable to initialise collection provider {0} {1}", ex.Message, ex.StackTrace); throw; } } // get all feed sources foreach (var element in config.Descendants("FeedSource")) { try { var fs = new FeedSource(); fs.Initialize(element); sconfig.AddFeedSource(fs); } catch (Exception ex) { // log error initialising collection provider Logging.LogError(1, "Unable to initialise feed source {0} {1}", ex.Message, ex.StackTrace); throw; } } // client adaptors foreach (var element in config.Descendants("ClientAdaptor")) { try { var typeNameAttribute = element.Attribute("Type"); var assemblyNameAttribute = element.Attribute("Assembly"); if (typeNameAttribute != null && assemblyNameAttribute != null) { var typeName = typeNameAttribute.Value; var assemblyName = assemblyNameAttribute.Value; var type = Type.GetType(typeName); var clientAdaptor = Activator.CreateInstance(type) as ISdShareClientAdaptor; if (clientAdaptor == null) throw new Exception("Unable to instantaite " + assemblyName + " : " + typeName); clientAdaptor.Initialize(element); sconfig.AddClientAdaptor(clientAdaptor); } } catch (Exception ex) { // log error initialising collection provider Logging.LogError(1, "Unable to initialise client adaptor {0} {1}", ex.Message, ex.StackTrace); throw; } } return sconfig; }
public void AddFeedSource(FeedSource feedSource) { _feedSources.Add(feedSource); }