public override IEnumerable <IndexFieldInfo> GetIndexFieldInfos(SnCR.Field snField, out string textExtract) { var data = (ContentRepository.Fields.HyperLinkField.HyperlinkData)snField.GetData(); if (data == null) { textExtract = String.Empty; return(null); } var strings = new List <string>(); if (data.Href != null) { strings.Add(data.Href.ToLowerInvariant()); } if (data.Target != null) { strings.Add(data.Target.ToLowerInvariant()); } if (data.Text != null) { strings.Add(data.Text.ToLowerInvariant()); } if (data.Title != null) { strings.Add(data.Title.ToLowerInvariant()); } textExtract = String.Join(" ", strings.ToArray()); return(CreateFieldInfo(snField.Name, strings)); }
public override IEnumerable <IndexFieldInfo> GetIndexFieldInfos(SnCR.Field snField, out string textExtract) { var data = snField.GetData() as ContentRepository.Storage.BinaryData; textExtract = data == null ? String.Empty : Search.TextExtractor.GetExtract(data, snField.Content.ContentHandler); return(CreateFieldInfo(snField.Name, textExtract)); }
public override IEnumerable <string> GetParsableValues(SnCR.Field snField) { var value = snField.GetData(); var boolValue = value == null ? false : (bool)value; return(new[] { boolValue?YES : NO }); }
public override IEnumerable <string> GetParsableValues(SnCR.Field snField) { var data = snField.GetData() ?? string.Empty; var stringData = data as string; if (stringData != null) { return new[] { stringData.ToLowerInvariant() } } ; var listData = data as IEnumerable <string>; if (listData != null) { return(listData.Select(s => s.ToLowerInvariant()).ToArray()); } var enumerableData = data as System.Collections.IEnumerable; if (enumerableData != null) { return((from object item in enumerableData select Convert.ToString(item, System.Globalization.CultureInfo.InvariantCulture).ToLowerInvariant()).ToList()); } return(new[] { string.Empty }); } }
private long SetPrecision(SnCR.Field snField, long ticks) { var setting = snField.FieldSetting as ContentRepository.Fields.DateTimeFieldSetting; ContentRepository.Fields.DateTimePrecision?precision = null; if (setting != null) { precision = setting.Precision; } if (precision == null) { precision = ContentRepository.Fields.DateTimeFieldSetting.DefaultPrecision; } switch (precision.Value) { case ContentRepository.Fields.DateTimePrecision.Millisecond: return(ticks / TimeSpan.TicksPerMillisecond * TimeSpan.TicksPerMillisecond); case ContentRepository.Fields.DateTimePrecision.Second: return(ticks / TimeSpan.TicksPerSecond * TimeSpan.TicksPerSecond); case ContentRepository.Fields.DateTimePrecision.Minute: return(ticks / TimeSpan.TicksPerMinute * TimeSpan.TicksPerMinute); case ContentRepository.Fields.DateTimePrecision.Hour: return(ticks / TimeSpan.TicksPerHour * TimeSpan.TicksPerHour); case ContentRepository.Fields.DateTimePrecision.Day: return(ticks / TimeSpan.TicksPerDay * TimeSpan.TicksPerDay); default: throw new NotImplementedException("Unknown DateTimePrecision: " + precision.Value); } }
public override IEnumerable <string> GetParsableValues(SnCR.Field snField) { var value = snField.GetData(); var intValue = value == null ? 0 : (int)value; return(new[] { intValue.ToString() }); }
public override IEnumerable <IndexFieldInfo> GetIndexFieldInfos(SnCR.Field snField, out string textExtract) { var data = snField.GetData() as string; textExtract = data == null ? String.Empty : data.ToLowerInvariant(); return(CreateFieldInfo(snField.Name, textExtract)); }
public override IEnumerable <IndexFieldInfo> GetIndexFieldInfos(SnCR.Field snField, out string textExtract) { textExtract = String.Empty; var value = (string)snField.GetData() ?? String.Empty; return(CreateFieldInfo(snField.Name, value.ToLowerInvariant())); }
public override IEnumerable <string> GetParsableValues(SnCR.Field snField) { var value = (string)snField.GetData() ?? String.Empty; var parentPath = RepositoryPath.GetParentPath(value.ToLowerInvariant()) ?? "/"; return(new[] { parentPath.ToLowerInvariant() }); }
public override IEnumerable <string> GetParsableValues(SnCR.Field snField) { var data = (ContentRepository.Fields.HyperLinkField.HyperlinkData)snField.GetData(); if (data == null) { return(null); } var strings = new List <string>(); if (data.Href != null) { strings.Add(data.Href.ToLowerInvariant()); } if (data.Target != null) { strings.Add(data.Target.ToLowerInvariant()); } if (data.Text != null) { strings.Add(data.Text.ToLowerInvariant()); } if (data.Title != null) { strings.Add(data.Title.ToLowerInvariant()); } return(strings); }
public override IEnumerable <IndexFieldInfo> GetIndexFieldInfos(SnCR.Field snField, out string textExtract) { var nodeTypeName = snField.Content.ContentHandler.NodeType.Name.ToLowerInvariant(); textExtract = nodeTypeName; return(CreateFieldInfo(snField.Name, nodeTypeName)); }
public override IEnumerable <IndexFieldInfo> GetIndexFieldInfos(SnCR.Field snField, out string textExtract) { textExtract = String.Empty; var nodeType = snField.Content.ContentHandler.NodeType; var types = nodeType.NodeTypePath.Split('/').Select(p => p.ToLowerInvariant()); return(CreateFieldInfo(snField.Name, types)); }
public override IEnumerable <IndexFieldInfo> GetIndexFieldInfos(SnCR.Field snField, out string textExtract) { var value = snField.GetData(); var boolValue = value == null ? false : (bool)value; textExtract = String.Empty; return(CreateFieldInfo(snField.Name, boolValue ? YES : NO)); }
public override IEnumerable <string> GetParsableValues(SnCR.Field snField) { var value = snField.GetData(); var decimalValue = value == null ? (Decimal)0.0 : (Decimal)value; var doubleValue = Convert.ToDouble(decimalValue); return(new[] { decimalValue.ToString(System.Globalization.CultureInfo.InvariantCulture) }); }
public override IEnumerable <IndexFieldInfo> GetIndexFieldInfos(SnCR.Field snField, out string textExtract) { textExtract = String.Empty; var data = snField.GetData(); var ticks = data == null ? 0 : ((DateTime)data).Ticks; return(CreateFieldInfo(snField.Name, SetPrecision(snField, ticks))); }
public override IEnumerable <IndexFieldInfo> GetIndexFieldInfos(SnCR.Field snField, out string textExtract) { var value = (string)snField.GetData() ?? String.Empty; textExtract = value.ToLowerInvariant(); var parentPath = RepositoryPath.GetParentPath(textExtract) ?? "/"; return(CreateFieldInfo(snField.Name, parentPath)); }
public override IEnumerable <IndexFieldInfo> GetIndexFieldInfos(SnCR.Field snField, out string textExtract) { var value = snField.GetData(); var decimalValue = value == null ? (Decimal)0.0 : (Decimal)value; var doubleValue = Convert.ToDouble(decimalValue); textExtract = decimalValue.ToString(System.Globalization.CultureInfo.InvariantCulture); return(CreateFieldInfo(snField.Name, doubleValue)); }
public override IEnumerable <string> GetParsableValues(SnCR.Field snField) { var snFieldValue = (string)snField.GetData(); if (String.IsNullOrEmpty(snFieldValue)) { return(null); } snFieldValue = snFieldValue.ToLowerInvariant(); var terms = snFieldValue.Split(",;".ToCharArray(), StringSplitOptions.RemoveEmptyEntries).Select(w => w.Trim()).ToArray(); return(terms); }
public override IEnumerable <string> GetParsableValues(SnCR.Field snField) { var path = (string)snField.GetData() ?? String.Empty; var separator = "/"; string[] fragments = path.ToLowerInvariant().Split(separator.ToCharArray(), StringSplitOptions.None); string[] pathSteps = new string[fragments.Length]; for (int i = 0; i < fragments.Length; i++) { pathSteps[i] = string.Join(separator, fragments, 0, i + 1); } return(pathSteps); }
public override IEnumerable <IndexFieldInfo> GetIndexFieldInfos(ContentRepository.Field snField, out string textExtract) { textExtract = String.Empty; var content = snField.Content; var boolValue = false; //check Trash //if (TrashBin.IsInTrash(content.ContentHandler as GenericContent)) // boolValue = true; //Do not index documents sent to the trash as system content, because when //restored (moved back to the original location) they will not be re-indexed //and would remain system content. Only the container TrashBags are system content. if (content.ContentHandler is TrashBag) { boolValue = true; } //check SystemFile if (!boolValue) { if (content.ContentHandler.NodeType.IsInstaceOfOrDerivedFrom("SystemFile")) { boolValue = true; } } //check SystemFolder if (!boolValue) { var parent = content.ContentHandler; using (new SystemAccount()) { while (parent != null) { if (parent.NodeType.IsInstaceOfOrDerivedFrom("SystemFolder")) { boolValue = true; break; } parent = parent.Parent; } } } return(CreateFieldInfo(snField.Name, boolValue ? BooleanIndexHandler.YES : BooleanIndexHandler.NO)); }
public override IEnumerable <IndexFieldInfo> GetIndexFieldInfos(SnCR.Field snField, out string textExtract) { string className, name; if (ResourceManager.Running && snField.LocalizationEnabled && snField.IsLocalized && ResourceManager.ParseResourceKey(snField.GetStoredValue(), out className, out name)) { var strings = ResourceManager.Current.GetStrings(className, name); textExtract = string.Join(" ", strings); return(CreateFieldInfo(snField.Name, strings)); } var data = snField.GetData(); var stringValue = data == null ? String.Empty : data.ToString().ToLowerInvariant(); textExtract = stringValue; return(CreateFieldInfo(snField.Name, stringValue)); }
public override IEnumerable <IndexFieldInfo> GetIndexFieldInfos(SnCR.Field snField, out string textExtract) { var value = snField.GetData(); var intValue = 0; try { intValue = value == null ? 0 : (int)value; } catch (Exception e) { Logger.WriteVerbose(String.Format("IntegerIndexHandler ERROR: content: {0} field: {1}, value: {2}", snField.Content.Path, snField.Name, value)); throw; } textExtract = intValue.ToString(); return(CreateFieldInfo(snField.Name, intValue)); }
public override IEnumerable <IndexFieldInfo> GetIndexFieldInfos(SnCR.Field snField, out string textExtract) { textExtract = String.Empty; var data = snField.GetData(); var node = data as Node; if (node != null) { return(CreateFieldInfo(snField.Name, node.Id.ToString())); } var nodes = data as System.Collections.IEnumerable; if (nodes != null) { return(CreateFieldInfo(snField.Name, nodes.Cast <Node>().Select(n => n.Id.ToString()))); } return(CreateFieldInfo(snField.Name, LucQuery.NullReferenceValue)); }
public override IEnumerable <string> GetParsableValues(SnCR.Field snField) { var data = snField.GetData(); var node = data as Node; if (node != null) { return new[] { node.Id.ToString() } } ; var nodes = data as System.Collections.IEnumerable; if (nodes != null) { return(nodes.Cast <Node>().Select(n => n.Id.ToString())); } return(null); } }
public override IEnumerable <string> GetParsableValues(SnCR.Field snField) { var data = snField.GetData(); try { var dateData = Convert.ToDateTime(data); if (dateData != DateTime.MinValue) { return new[] { "'" + dateData.ToString("yyyy.MM.dd HH:mm:ss") + "'" } } ; } catch (Exception ex) { Logger.WriteInformation(Logger.EventId.NotDefined, ex); } return(new[] { string.Empty }); }
public override IEnumerable <string> GetParsableValues(SnCR.Field snField) { var content = snField.Content; var boolValue = false; //check Trash if (TrashBin.IsInTrash(content.ContentHandler as GenericContent)) { boolValue = true; } //check SystemFile if (!boolValue) { if (content.ContentHandler.NodeType.IsInstaceOfOrDerivedFrom("SystemFile")) { boolValue = true; } } //check SystemFolder if (!boolValue) { var parent = content.ContentHandler; using (new SystemAccount()) { while (parent != null) { if (parent.NodeType.IsInstaceOfOrDerivedFrom("SystemFolder")) { boolValue = true; break; } parent = parent.Parent; } } } return(new[] { boolValue?BooleanIndexHandler.YES : BooleanIndexHandler.NO }); }
// IndexHandler for comma or semicolon separated strings (e.g. Red,Green,Blue) used in tagging fields public override IEnumerable <IndexFieldInfo> GetIndexFieldInfos(SnCR.Field snField, out string textExtract) { // Ensure initial textExtract for out parameter. It is used if the field value is null or empty. textExtract = String.Empty; // Get the value. A field type is indexable with this handler that provides a string value // but ShortText and LongText are recommended. var snFieldValue = (string)snField.GetData(); // Return null if the value is not indexable. Lucene field and text extract won't be created. if (String.IsNullOrEmpty(snFieldValue)) { return(null); } // Convert to lowercase for case insensitive index handling snFieldValue = snFieldValue.ToLowerInvariant(); // Create an array of words. Words can be separated by comma or semicolon. Whitespaces will be removed. var terms = snFieldValue.Split(",;".ToCharArray(), StringSplitOptions.RemoveEmptyEntries) .Select(w => w.Trim()).ToArray(); // Concatenate the words with space separator for text extract. textExtract = String.Join(" ", terms); // Produce the lucene multiterm field with a base's tool and return with it. return(CreateFieldInfo(snField.Name, terms)); }
public abstract IEnumerable <IndexFieldInfo> GetIndexFieldInfos(SnCR.Field snField, out string textExtract);
public override IEnumerable <string> GetParsableValues(SnCR.Field snField) { var data = snField.GetData() as string; return(new[] { data == null ? String.Empty : data.ToString().ToLowerInvariant() }); }
public abstract IEnumerable <string> GetParsableValues(SnCR.Field snField);