internal static LuceneIndexItem CreateLuceneItem(OpenFilesInfo fileInfo, FieldConfig indexConfig) { var luceneItem = new LuceneIndexItem(ItemTypeValue, fileInfo.File.PortalId.ToString(), fileInfo.File.CreatedOnDate, fileInfo.File.FileId.ToString()) { FileName = fileInfo.File.FileName, Folder = fileInfo.File.Folder.TrimEnd('/'), FileContent = DnnFilesRepository.GetFileContent(fileInfo.File) }; JObject custom = fileInfo.JsonAsJToken; custom.MakeSureFieldExists(MetaField, JTokenType.Object); custom[MetaField].HydrateDefaultFields(indexConfig); if (custom[MetaField].HasValues) { luceneItem.Meta = custom[MetaField]; } return(luceneItem); }
public static void Save(IFileInfo file, string key, string newContent) { ContentItem dnnContentItem; //if fileObject has already a ContentItem then load it, otherwise create new ContentItem if (file.ContentItemID == Null.NullInteger) { dnnContentItem = CreateDnnContentItem(); file.ContentItemID = dnnContentItem.ContentItemId; } else { dnnContentItem = CreateDnnContentItem(file.ContentItemID); } JObject jsonContent = string.IsNullOrEmpty(dnnContentItem.Content) ? new JObject() : JObject.Parse(dnnContentItem.Content); if (string.IsNullOrEmpty(newContent)) { jsonContent[key] = new JObject(); } else { jsonContent[key] = JObject.Parse(newContent); } dnnContentItem.Content = jsonContent.ToString(); Util.GetContentController().UpdateContentItem(dnnContentItem); //Save to lucene var item = new OpenFilesInfo(file, dnnContentItem, jsonContent); FieldConfig indexConfig = FilesRepository.GetIndexConfig(file.PortalId); LuceneController.Instance.Update(LuceneMappingUtils.CreateLuceneItem(item, indexConfig)); LuceneController.Instance.Store.Commit(); FileManager.Instance.UpdateFile(file); }
public static LuceneIndexItem CreateLuceneItem(IFileInfo file, FieldConfig indexConfig) { var filesInfo = new OpenFilesInfo(file); return(CreateLuceneItem(filesInfo, indexConfig)); }