public Item[] GetImportItems(Item parent) { var items = new List <Item>(); foreach (var queryLine in Query.Split(new[] { Environment.NewLine }, StringSplitOptions.None)) { var query = queryLine; if (string.IsNullOrEmpty(query)) { return(new[] { parent }); } if (query == "./") { items.Add(parent); continue; } if (query.StartsWith("./")) { query = query.Replace("./", StringUtil.EnsurePostfix('/', parent.Paths.FullPath)); } var cleanQuery = StringUtility.CleanXPath(query); Logger.Log("ComponentMapping.GetImportItems", string.Format("Running query: {0}", cleanQuery)); items.AddRange(parent.Database.SelectItems(cleanQuery)); } return(items.ToArray()); }
public void CleanXPathTest() { string s1 = "{00000000-0000-0000-0000-000000000000}"; string s2 = "/a-b/"; string s3 = "/#a-b#/"; string r1 = StringUtility.CleanXPath(s1); string r2 = StringUtility.CleanXPath(s2); Assert.AreEqual(r1, s1); Assert.AreEqual(r2, s3); }
/// <summary> /// uses the sitecore database and xpath query to retrieve data /// </summary> /// <returns></returns> public override IEnumerable <object> GetImportData() { var items = new List <object>(); foreach (var query in Query.Split(new string[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries)) { var cleanQuery = StringUtility.CleanXPath(query); Logger.Log("SitecoreDataMap.GetImportData", string.Format("Running query: {0}", cleanQuery)); items.AddRange(FromDB.SelectItems(cleanQuery)); } return(items); }
/// <summary> /// uses the sitecore database and xpath query to retrieve data /// </summary> /// <returns></returns> public override IList <object> GetImportData() { using (new LanguageSwitcher(ImportToLanguageVersion)) { if (String.IsNullOrEmpty(DataSourceString)) { Logger.AddError("Error", "The DataSourceString was null or empty. Please provide a connectionstring for the Sitecore database."); return(null); } var database = Configuration.Factory.GetDatabase(DataSourceString); if (database == null) { Logger.AddError("Error", string.Format("The retrieved database from connectionstring: '{0}' was not found. Please verify the database connection", DataSourceString)); return(null); } return(database.SelectItems(StringUtility.CleanXPath(Query))); } }
/// <summary> /// uses the sitecore database and xpath query to retrieve data /// </summary> /// <returns></returns> public override IEnumerable <object> GetImportData() { return(FromDB.SelectItems(StringUtility.CleanXPath(Query))); }
/// <summary> /// uses the sitecore database and xpath query to retrieve data /// </summary> /// <returns></returns> public override IEnumerable <object> GetImportData() { return(SitecoreDB.SelectItems(StringUtility.CleanXPath(this.Query))); }