in code/Storage/StorageManager.cs [27:72]
public StorageManager(string connectionString, TableNames.TableType tableType, string runId)
{
// setup access to Azure Tables
CloudStorageAccount cloudStorageAccount = CloudStorageAccount.Parse(connectionString);
CloudTableClient tableClient = cloudStorageAccount.CreateCloudTableClient();
// instantiate every one of the stores
switch (tableType)
{
// Download table stores data received from OBA servers.
case TableNames.TableType.Download:
// Diff table stores diffs between a download table and a publish table.
case TableNames.TableType.Diff:
// Publish table stores data that has been published to Embedded Social.
case TableNames.TableType.Publish:
this.RegionsListStore = new RegionsListStore(tableClient, tableType, runId);
this.RegionStore = new RegionStore(tableClient, tableType, runId);
this.AgencyStore = new AgencyStore(tableClient, tableType, runId);
this.RouteStore = new RouteStore(tableClient, tableType, runId);
this.StopStore = new StopStore(tableClient, tableType, runId);
break;
// DownloadMetada table stores bookkeeping records of download activity.
case TableNames.TableType.DownloadMetadata:
this.DownloadMetadataStore = new DownloadMetadataStore(tableClient, tableType, runId);
break;
// DiffMetadata table stores bookkeeping records of diff activity.
case TableNames.TableType.DiffMetadata:
this.DiffMetadataStore = new DiffMetadataStore(tableClient, tableType, runId);
break;
// PublishMetadata table stores bookkeeping records of publish activity.
case TableNames.TableType.PublishMetadata:
this.PublishMetadataStore = new PublishMetadataStore(tableClient, tableType, runId);
break;
// Metadata table stores bookkeeping records of overall activity in this service.
case TableNames.TableType.Metadata:
// not implemented yet
throw new ArgumentOutOfRangeException("tableType");
default:
throw new ArgumentOutOfRangeException("tableType");
}
}