From 0b0e62a2d7800ac35f11127c73c676f9b4451d5b Mon Sep 17 00:00:00 2001 From: Rich Date: Wed, 11 Apr 2012 15:45:46 +0000 Subject: [PATCH] Log Symbols being used in MSWord Documents Improve Performance by not loading all ROImages into memory --- PROMS/LBWordLibrary/LBObjectExtension.cs | 7 ++++++- PROMS/VEPROMS.CSLA.Library/Generated/AssociationInfo.cs | 3 ++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/PROMS/LBWordLibrary/LBObjectExtension.cs b/PROMS/LBWordLibrary/LBObjectExtension.cs index 4c8c31e8..16c3806a 100644 --- a/PROMS/LBWordLibrary/LBObjectExtension.cs +++ b/PROMS/LBWordLibrary/LBObjectExtension.cs @@ -215,6 +215,7 @@ namespace LBWordLibrary } public partial class LBDocumentClass : LBComObject { + private static readonly log4net.ILog _MyLog = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); public void SaveAs2000(string fileName) { if (fileName.ToUpper().EndsWith("DOC")) @@ -309,6 +310,7 @@ namespace LBWordLibrary MatchCollection problems = _RegFindSymbol.Matches(myText); int offset = 0; List alreadyProcessed = new List(); + List fontHasSymbols = new List(); foreach (Match problem in problems) { if (!alreadyProcessed.Contains(problem.Value)) @@ -316,8 +318,11 @@ namespace LBWordLibrary myRange.Start = problem.Index + offset; myRange.End = problem.Index + problem.Length + offset; int newOffset = FindRangeOffset(myRange, problem, offset, end); - if (IsSymbolFont(myRange.Font.Name)) + string fontName = myRange.Font.Name; + if (IsSymbolFont(fontName) && !fontHasSymbols.Contains(fontName)) { + _MyLog.InfoFormat("Font '{0}' has Symbols", fontName); + fontHasSymbols.Add(fontName); //Console.WriteLine("Font '{0}' has Symbols", myRange.Font.Name); //return true; } diff --git a/PROMS/VEPROMS.CSLA.Library/Generated/AssociationInfo.cs b/PROMS/VEPROMS.CSLA.Library/Generated/AssociationInfo.cs index 87f50454..60bbdf30 100644 --- a/PROMS/VEPROMS.CSLA.Library/Generated/AssociationInfo.cs +++ b/PROMS/VEPROMS.CSLA.Library/Generated/AssociationInfo.cs @@ -140,7 +140,8 @@ namespace VEPROMS.CSLA.Library get { CanReadProperty("MyROFst", true); - if (_MyROFst == null && _ROFstID != 0) _MyROFst = ROFstInfo.Get(_ROFstID); + //if (_MyROFst == null && _ROFstID != 0) _MyROFst = ROFstInfo.Get(_ROFstID); + if (_MyROFst == null && _ROFstID != 0) _MyROFst = ROFstInfo.GetJustROFst(_ROFstID);// Improve performance by not loading all ROImages return _MyROFst; } }