public Download(IPortalApplication portalApplication, IMcmRepository mcmRepository, McmModuleConfiguration mcmModuleConfiguration) : base(portalApplication, "MCM") { McmRepository = mcmRepository; McmModuleConfiguration = mcmModuleConfiguration; _downloadStrategies.Add("S3", new S3DownloadStrategy(mcmModuleConfiguration)); }
public virtual void Load(IPortalApplication portalApplication) { PortalApplication = portalApplication; Configuration = PortalApplication.GetSettings<McmModuleConfiguration>(ConfigurationName); McmRepository = new McmRepository().WithConfiguration(Configuration.ConnectionString); PermissionManager = new InMemoryPermissionManager().WithSynchronization(McmRepository, new IntervalSpecification(10000)); try { if (!string.IsNullOrEmpty(Configuration.ObjectCoreName)) { var objectView = new ObjectView(PermissionManager); portalApplication.AddView(objectView, Configuration.ObjectCoreName); PortalApplication.MapRoute("/v5/Object", () => new Extension.v5.Object(PortalApplication, McmRepository, PermissionManager)); PortalApplication.MapRoute("/v6/Object", () => new Extension.v6.Object(PortalApplication, McmRepository, PermissionManager)); } PortalApplication.MapRoute("/v5/Destination", () => new Extension.v6.Destination(PortalApplication, McmRepository, PermissionManager)); PortalApplication.MapRoute("/v5/File", () => new Extension.v6.File(PortalApplication, McmRepository, PermissionManager)); PortalApplication.MapRoute("/v5/Folder", () => new Extension.v6.Folder(PortalApplication, McmRepository, PermissionManager)); PortalApplication.MapRoute("/v5/Format", () => new Extension.v6.Format(PortalApplication, McmRepository, PermissionManager)); PortalApplication.MapRoute("/v5/Link", () => new Extension.v6.Link(PortalApplication, McmRepository, PermissionManager)); PortalApplication.MapRoute("/v5/Metadata", () => new Extension.v6.Metadata(PortalApplication, McmRepository, PermissionManager)); PortalApplication.MapRoute("/v5/MetadataSchema", () => new Extension.v6.MetadataSchema(PortalApplication, McmRepository, PermissionManager)); PortalApplication.MapRoute("/v5/ObjectRelation", () => new Extension.v6.ObjectRelation(PortalApplication, McmRepository, PermissionManager)); PortalApplication.MapRoute("/v5/ObjectType", () => new Extension.v6.ObjectType(PortalApplication, McmRepository, PermissionManager)); PortalApplication.MapRoute("/v5/Mcm", () => new Extension.v6.Mcm(PortalApplication, McmRepository, PermissionManager)); PortalApplication.MapRoute("/v5/Download", () => new Download(PortalApplication, McmRepository, Configuration)); PortalApplication.MapRoute("/v5/UserProfile", () => new Extension.v6.UserProfile(PortalApplication, McmRepository, PermissionManager)); PortalApplication.MapRoute("/v5/UserManagement", () => new Extension.v6.UserManagement(PortalApplication, McmRepository, PermissionManager, Configuration.UserManagement)); PortalApplication.MapRoute("/v6/Destination", () => new Extension.v6.Destination(PortalApplication, McmRepository, PermissionManager)); PortalApplication.MapRoute("/v6/File", () => new Extension.v6.File(PortalApplication, McmRepository, PermissionManager)); PortalApplication.MapRoute("/v6/Folder", () => new Extension.v6.Folder(PortalApplication, McmRepository, PermissionManager)); PortalApplication.MapRoute("/v6/Format", () => new Extension.v6.Format(PortalApplication, McmRepository, PermissionManager)); PortalApplication.MapRoute("/v6/Link", () => new Extension.v6.Link(PortalApplication, McmRepository, PermissionManager)); PortalApplication.MapRoute("/v6/Metadata", () => new Extension.v6.Metadata(PortalApplication, McmRepository, PermissionManager)); PortalApplication.MapRoute("/v6/MetadataSchema", () => new Extension.v6.MetadataSchema(PortalApplication, McmRepository, PermissionManager)); PortalApplication.MapRoute("/v6/ObjectRelation", () => new Extension.v6.ObjectRelation(PortalApplication, McmRepository, PermissionManager)); PortalApplication.MapRoute("/v6/ObjectType", () => new Extension.v6.ObjectType(PortalApplication, McmRepository, PermissionManager)); PortalApplication.MapRoute("/v6/Mcm", () => new Extension.v6.Mcm(PortalApplication, McmRepository, PermissionManager)); PortalApplication.MapRoute("/v6/UserProfile", () => new Extension.v6.UserProfile(PortalApplication, McmRepository, PermissionManager)); PortalApplication.MapRoute("/v6/UserManagement", () => new Extension.v6.UserManagement(PortalApplication, McmRepository, PermissionManager, Configuration.UserManagement)); } catch (System.Exception) { // Another module already added these } }
public static Download CreateWithDownloadStrategy(IPortalApplication portalApplication, IMcmRepository mcmRepository, McmModuleConfiguration mcmModuleConfiguration, IDictionary<string, IDownloadStrategy> downloadStrategies) { return new Download(portalApplication, mcmRepository, mcmModuleConfiguration, downloadStrategies); }
private Download(IPortalApplication portalApplication, IMcmRepository mcmRepository, McmModuleConfiguration mcmModuleConfiguration, IDictionary<string, IDownloadStrategy> downloadStrategies) : this(portalApplication, mcmRepository, mcmModuleConfiguration) { _downloadStrategies = downloadStrategies; }