public static IPropertyBagHierarchy GetHierarchy(SPWeb web) { IPropertyBagHierarchy hierarchyStack = null; if (SharePointEnvironment.InSandbox) { if (web == null && SharePointEnvironment.CanAccessFarmConfig) { return(new SandboxFarmPropertyBagHierarchy()); } Validation.ArgumentNotNull(web, "web"); if (SharePointEnvironment.CanAccessFarmConfig) { hierarchyStack = new SandboxWithProxyPropertyBagHierarchy(web); } else { hierarchyStack = new SandboxPropertyBagHierarchy(web); } } else { if (web != null) { hierarchyStack = new FullTrustPropertyBagHierarchy(web); } else { hierarchyStack = GetFarmHierarchy(); } } return(hierarchyStack); }
/// <summary> /// Initializes a new instance of the <see cref="HierarchicalConfig"/> class. /// </summary> /// <param name="hierarchy">instance of <see cref="IPropertyBagHierarchy"/>.</param> /// <param name="configSettingSerializer">The config setting serializer.</param> public HierarchicalConfig(IPropertyBagHierarchy hierarchy, IConfigSettingSerializer configSettingSerializer) { Validation.ArgumentNotNull(configSettingSerializer, "configSettingSerializer"); Validation.ArgumentNotNull(hierarchy, "hierarchy"); this.configSettingSerializer = configSettingSerializer; this.propBagHierarchy = hierarchy; }
public void GetHierarchy_GetsHierarchyForSandbox() { //Arrange var context = new MockAppContextProvider(); context.IsProxyInstalledRetValue = false; context.SetSandbox(); SharePointEnvironment.ApplicationContextProvider = context; BSPSite site = new BSPSite(); var web = site.SetRootWeb(); web.ServerRelativeUrl = "foo/bar"; BSPList list = web.Lists.SetOne(); list.Title = ConfigurationList.ConfigListName; web.ID = TestsConstants.TestGuid; site.ID = new Guid("{7C039254-10B7-49F0-AA8D-F592206C7130}"); var moleWeb = new Microsoft.SharePoint.Moles.MSPWeb(web); moleWeb.GetListString = (listUrl) => { if (listUrl == "foo/bar/Lists/" + ConfigurationList.ConfigListName) { return(list); } return(null); }; //Act IPropertyBagHierarchy target = HierarchyBuilder.GetHierarchy(web); //Assert Assert.IsInstanceOfType(target, typeof(SandboxPropertyBagHierarchy)); }
protected virtual IPropertyBagHierarchy GetHierarchy() { if (hierarchy == null) { hierarchy = HierarchyBuilder.GetHierarchy(this.WebContext); } return(hierarchy); }
public void GetHierarchy_GetsHierarchyForFarm() { //Arrange var f = new BSPConfiguredFarm(); //Act IPropertyBagHierarchy target = HierarchyBuilder.GetHierarchy(null); //Assert Assert.IsInstanceOfType(target, typeof(FarmPropertyBagHierarchy)); }
public void GetHierarchy_GetsHierarchyForSandboxFarm() { //Arrange var context = new MockAppContextProvider(); context.AddProxyType(ProxyArgs.ReadConfigArgs.OperationTypeName); context.AddProxyType(ProxyArgs.ProxyInstalledArgs.OperationTypeName); context.SetSandbox(); SharePointEnvironment.ApplicationContextProvider = context; //Act IPropertyBagHierarchy target = HierarchyBuilder.GetHierarchy(null); //Assert Assert.IsInstanceOfType(target, typeof(SandboxFarmPropertyBagHierarchy)); }
public void GetHierarchy_GetsHierarchyForFullTrust() { //Arrange var site = new BSPSite(); var web = site.SetRootWeb(); var webApp = new BSPWebApplication(); site.WebApplication = webApp; var f = new BSPConfiguredFarm(); webApp.Farm = SPFarm.Local; //Act IPropertyBagHierarchy target = HierarchyBuilder.GetHierarchy(web); //Assert Assert.IsInstanceOfType(target, typeof(FullTrustPropertyBagHierarchy)); }
protected bool ContainsFrom(string key, ConfigLevel level) { Validation.ArgumentNotNull(key, "key"); bool contains = false; IPropertyBagHierarchy hierarchy = GetHierarchy(); foreach (IPropertyBag bag in hierarchy.PropertyBags) { //property bags are ordered by level in the hierarchy if (bag.Level >= level) { contains = bag.Contains(key); if (contains) { break; } } } return(contains); }
protected string GetSettingFrom(string key, ConfigLevel level) { Validation.ArgumentNotNull(key, "key"); string value = null; IPropertyBagHierarchy hierarchy = GetHierarchy(); foreach (IPropertyBag bag in hierarchy.PropertyBags) { //property bags are ordered by level in the hierarchy if (bag.Level >= level) { value = bag[key]; if (value != null) { break; } } } return(value); }
/// <summary> /// Initializes a new instance of the <see cref="ConfigManager"/> class. /// </summary> /// <param name="hierarchy">instance of <see cref="IPropertyBagHierarchy"/>.</param> /// <param name="configSettingSerializer">The config setting serializer.</param> public ConfigManager(IPropertyBagHierarchy hierarchy, IConfigSettingSerializer configSettingSerializer) { Validation.ArgumentNotNull(configSettingSerializer, "configSettingSerializer"); this.configSettingSerializer = configSettingSerializer; this.hierarchy = hierarchy; }
/// <summary> /// Initializes a new instance of the <see cref="ConfigManager"/> class. /// </summary> /// <param name="hierarchy">instance of <see cref="IPropertyBagHierarchy"/>.</param> public ConfigManager(IPropertyBagHierarchy hierarchy) { Validation.ArgumentNotNull(hierarchy, "hierarchy"); this.hierarchy = hierarchy; }
/// <summary> /// Initializes a new instance of the <see cref="HierarchicalConfig"/> class. /// </summary> /// <param name="hierarchy">instance of <see cref="IPropertyBagHierarchy"/>.</param> public HierarchicalConfig(IPropertyBagHierarchy hierarchy) { Validation.ArgumentNotNull(hierarchy, "hierarchy"); this.propBagHierarchy = hierarchy; }