public void Clear8(object param) { string Baseline = "baseline\\" + (string)param; m_xsltArg = new XsltArgumentList(); m_xsltArg.AddParam("myArg1", szEmpty, "Test1"); retObj = m_xsltArg.GetParam("myArg1", szEmpty); if (retObj.ToString() != "Test1") return; //TEST_SKIPPED; retObj = m_xsltArg.RemoveParam("myArg1", szEmpty); m_xsltArg.Clear(); if ((LoadXSL("showParam.xsl") != 1) || (Transform_ArgList("fruits.xml") != 1)) Assert.True(false); VerifyResult(Baseline, _strOutFile); MyObject obj = new MyObject(26, _output); m_xsltArg.AddExtensionObject(szDefaultNS, obj); m_xsltArg.RemoveExtensionObject(szDefaultNS); m_xsltArg.Clear(); if ((LoadXSL("MyObjectDef.xsl") == 1)) { try { Transform_ArgList("fruits.xml"); } catch (System.Xml.Xsl.XsltException) { return; } } _output.WriteLine("Exception not thrown for NS not found"); Assert.True(false); }
public void Clear5(object param) { string Baseline = "baseline\\" + (string)param; m_xsltArg = new XsltArgumentList(); String obj = "Test"; for (int i = 0; i < 200; i++) { m_xsltArg.AddParam("myArg2", szEmpty, obj + i); retObj = m_xsltArg.GetParam("myArg2", szEmpty); if (retObj.ToString() != (obj + i)) { _output.WriteLine("Failed to add/remove iteration {0}", i); _output.WriteLine("{0} : {1}", retObj, obj + i); Assert.True(false); } m_xsltArg.Clear(); } for (int i = 0; i < 200; i++) { m_xsltArg.AddParam("myArg" + i, szEmpty, obj + i); retObj = m_xsltArg.GetParam("myArg" + i, szEmpty); if (retObj.ToString() != (obj + i)) { _output.WriteLine("Failed in 2nd part to add/remove iteration {0}", i); Assert.True(false); } } // _output.WriteLine(retObj.GetType()); m_xsltArg.Clear(); if ((LoadXSL("showParam.xsl") == 1) && (Transform_ArgList("fruits.xml") == 1)) { VerifyResult(Baseline, _strOutFile); return; } else Assert.True(false); }
public void Clear7(object param) { string Baseline = "baseline\\" + (string)param; m_xsltArg = new XsltArgumentList(); XsltArgumentList m_2 = new XsltArgumentList(); m_xsltArg.AddParam("myArg1", szEmpty, "Test1"); retObj = m_xsltArg.GetParam("myArg1", szEmpty); if (retObj.ToString() != "Test1") return; //TEST_SKIPPED; m_2.Clear(); if ((LoadXSL("showParam.xsl") == 1) && (Transform_ArgList("fruits.xml") == 1)) { VerifyResult(Baseline, _strOutFile); return; } else Assert.True(false); }
public void Clear2(object param) { string Baseline = "baseline\\" + (string)param; m_xsltArg = new XsltArgumentList(); m_xsltArg.Clear(); if ((LoadXSL("showParam.xsl") == 1) && (Transform_ArgList("fruits.xml") == 1)) { VerifyResult(Baseline, _strOutFile); return; } else Assert.True(false); }
public void Clear4() { MyObject obj = new MyObject(26, _output); m_xsltArg = new XsltArgumentList(); m_xsltArg.AddExtensionObject(szDefaultNS, obj); m_xsltArg.Clear(); retObj = m_xsltArg.GetExtensionObject(szDefaultNS); if (retObj != null) { _output.WriteLine("Did not appear to clear an extension object"); Assert.True(false); } if ((LoadXSL("MyObjectDef.xsl") == 1)) { try { Transform_ArgList("fruits.xml"); } catch (System.Xml.Xsl.XsltException) { return; } } _output.WriteLine("Exception not thrown for NS not found"); Assert.True(false); }
/// <summary> /// Generates HTML report files if allowed by this.<see cref="ReportFormat"/> and as specified by this.<see cref="HtmlReportFormat"/>. /// </summary> /// <returns>True on success, false on fail.</returns> private bool GenerateHtmlFiles() { // Use custom XSLT if provided string transformFile = String.Empty; if (!String.IsNullOrEmpty(this.xsltStylesheetPath)) { //executor.Invoke(this.xsltStylesheetPath); transformFile = this.xsltStylesheetPath; } else { transformFile = RulesEngineUtils.GetResourcePath( RulesEngineUtils.ReportBuilderFolder.Resources, RulesEngineUtils.TransformFile ); //executor.Invoke(transformFile); } if( !File.Exists( transformFile ) ) { executor.Invoke("Conversion aborted"); Trace.TraceError( "Error: Transform File not found at:\n\t" + transformFile + "\nHtml Conversion aborted." ); return false; } bool anyFiles = false; //load the transform once for all R-files XslCompiledTransform transform = new XslCompiledTransform(); try { transform.Load(transformFile); } catch ( XmlException ) { Trace.TraceError("Error: Transform File contains invalid XML:\n\t" + transformFile + "\nHtml Conversion aborted."); return false; } catch ( XsltException ) { Trace.TraceError("Error: Transform File contains invalid XSLT:\n\t" + transformFile + "\nHtml Conversion aborted."); return false; } XsltArgumentList argList = new XsltArgumentList(); argList.Clear(); if( this.HtmlReportFormat == HtmlReportFormat.Complete ) { argList.AddParam( "asPage", string.Empty, "true" ); } argList.AddParam( "numberDecimalSeparator", string.Empty, Thread.CurrentThread.CurrentCulture.NumberFormat.NumberDecimalSeparator ); argList.AddParam( "numberGroupSeparator", string.Empty, Thread.CurrentThread.CurrentCulture.NumberFormat.NumberGroupSeparator ); argList.AddParam( "numberGroupSize", string.Empty, Thread.CurrentThread.CurrentCulture.NumberFormat.NumberGroupSizes[ 0 ].ToString() ); XmlWriterSettings writerSettings = new XmlWriterSettings(); writerSettings.Encoding = InstanceReport.Encoding; writerSettings.Indent = true; writerSettings.OmitXmlDeclaration = true; //set intelligent HTML output writerSettings.GetType().GetProperty( "OutputMethod" ).SetValue( writerSettings, XmlOutputMethod.Html, null ); foreach( ReportHeader header in this.currentFilingSummary.MyReports ) { switch( header.ReportType ) { case ReportHeaderType.Notes: case ReportHeaderType.Sheet: break; default: continue; } string inFile = Path.Combine( this.currentReportDirectory, header.XmlFileName ); if( !File.Exists( inFile ) ) { Trace.TraceWarning( "Warning: The FilingSummary provided '"+ header.XmlFileName +"' but the file was not found." + separator +"\tReport skipped: "+ header.LongName ); continue; } int extLen = Path.GetExtension( header.XmlFileName ).Length; string outFile = inFile.Substring( 0, inFile.Length - extLen ) +".htm"; using( XmlReader xReader = XmlReader.Create( inFile ) ) { using( FileStream msOut = new FileStream( outFile, FileMode.Create, FileAccess.Write ) ) { try { using( RivetXmlWriter xWriter = new RivetXmlWriter( msOut, writerSettings ) ) { transform.Transform( xReader, argList, xWriter ); } anyFiles = true; header.HtmlFileName = Path.GetFileName( outFile ); } catch( Exception ex ) { Trace.TraceWarning( "Warning: An error occurred while converting '" + header.XmlFileName + "' to HTML." + separator + "\tError: " + ex.Message + separator + "\tReport skipped: " + header.LongName ); } } } } if( !anyFiles ) return true; string styleSheetTo = Path.Combine( this.currentReportDirectory, RulesEngineUtils.StylesheetFile ); string stylesheetFrom = RulesEngineUtils.GetResourcePath( RulesEngineUtils.ReportBuilderFolder.Resources, RulesEngineUtils.StylesheetFile ); FileUtilities.Copy( stylesheetFrom, styleSheetTo ); string javascriptTo = Path.Combine( this.currentReportDirectory, RulesEngineUtils.JavascriptFile ); string javascriptFrom = RulesEngineUtils.GetResourcePath( RulesEngineUtils.ReportBuilderFolder.Resources, RulesEngineUtils.JavascriptFile ); FileUtilities.Copy( javascriptFrom, javascriptTo ); return true; }
/// <summary> /// Calculate percentage of well written file names /// according to the coding standard rules. /// </summary> /// <param name="resultDirXML">Output directory</param> private static void CalculatePercentage(string resultDirXML) { string currDir = Directory.GetCurrentDirectory(); string dictionaryFile = currDir + "\\" + "FileNamingDictionary.txt"; string dirToScanFile = currDir + "\\" + "DirToScan.txt"; string reportFile = resultDirXML + "\\" + "FileNamingReport.xml"; bool matchDict = false; try { // Read file related t the list of directory to scan for file naming convention StreamReader srDirToScan = new StreamReader(dirToScanFile); string dir = srDirToScan.ReadLine(); while (!srDirToScan.EndOfStream) { dir += " "; dir += srDirToScan.ReadLine(); } string[] dirList = dir.Split(' '); srDirToScan.Close(); // Read dictionary file StreamReader srDic = new StreamReader(dictionaryFile); string dic = srDic.ReadLine(); while (!srDic.EndOfStream) { dic += " "; dic += srDic.ReadLine(); } string[] dictionaryAndInherit = dic.Split(' '); srDic.Close(); String sep = "<--ExternalInherit-->"; int separatorIdx = Array.IndexOf(dictionaryAndInherit, sep); if (separatorIdx > 0) { dictionary = (string[])Array.CreateInstance(typeof(String), separatorIdx); externalInherit = (string[])Array.CreateInstance(typeof(String), dictionaryAndInherit.Length - separatorIdx - 1); Array.Copy(dictionaryAndInherit, dictionary, separatorIdx); Array.Copy(dictionaryAndInherit, separatorIdx + 1, externalInherit, 0, externalInherit.Length); } else if (separatorIdx == 0) { throw new Exception("No dictionary elements are presents."); } else { // no default inherited classes are defined!! dictionary = (string[])dictionaryAndInherit.Clone(); } QueryPerfCounter myTimer = new QueryPerfCounter(); myTimer.Start(); // Write report file XmlTextWriter xwriter = new XmlTextWriter(reportFile, Encoding.UTF8); xwriter.WriteStartDocument(true); xwriter.WriteStartElement("root"); xwriter.WriteElementString("ReportDate", DateTime.Now.ToString()); string nodeDir; foreach (string d in dirList) { nodeDir = d.Substring(d.LastIndexOf('\\')+1); xwriter.WriteStartElement("Directory"); xwriter.WriteAttributeString("DirName", nodeDir); string absoluteDir = currDir + "\\" + d; string[] filesHeader = Directory.GetFiles(absoluteDir, "*.h"); string[] filesHeader_in = Directory.GetFiles(absoluteDir, "*.h.in"); string[] filesImplem_cpp = Directory.GetFiles(absoluteDir, "*.cpp"); string[] filesImplem_cxx = Directory.GetFiles(absoluteDir, "*.cxx"); string[] files = (string[])Array.CreateInstance(typeof(String), filesHeader.Length + filesHeader_in.Length + filesImplem_cpp.Length + filesImplem_cxx.Length); filesHeader.CopyTo(files, 0); filesHeader_in.CopyTo(files, filesHeader.Length); filesImplem_cpp.CopyTo(files, filesHeader.Length + filesHeader_in.Length); filesImplem_cxx.CopyTo(files, filesHeader.Length + filesHeader_in.Length + filesImplem_cpp.Length); Array.Sort(files); int totalFiles = files.Length; int wellWrittenFiles = 0; string baseName; string wrongFiles = ""; string goodFiles = ""; foreach (string f in files) { bool wrong = true; baseName = f.Substring(f.LastIndexOf('\\') + 1); foreach (string k in dictionary) { string name = baseName.Substring(0, baseName.LastIndexOf('.')); if (name.Equals(k)) { // This is a base class; don't check inheritance. wrong = false; wellWrittenFiles++; break; } matchDict = baseName.Contains(k); if (matchDict) { // classes inherited from base classes; // check inheritance according to the second rule of the naming convention: // e.g. mafView -> mafViewVTK if (CheckInheritance(f, k)) { wrong = false; wellWrittenFiles++; goodFiles += " " + baseName; } break; } } if (wrong) { wrongFiles += " " + baseName; } } double percentage = (wellWrittenFiles / Convert.ToDouble(totalFiles)); xwriter.WriteAttributeString("Percentage", percentage.ToString("P")); string[] wfilesList = wrongFiles.Split(' '); foreach (string f in wfilesList) { if (f == "") { continue; } xwriter.WriteStartElement("WrongFiles"); xwriter.WriteAttributeString("FileName", f); xwriter.WriteEndElement(); } string[] gfilesList = goodFiles.Split(' '); foreach (string f in gfilesList) { if (f == "") { continue; } xwriter.WriteStartElement("GoodFiles"); xwriter.WriteAttributeString("FileName", f); xwriter.WriteEndElement(); } //End the nodeDir element. xwriter.WriteEndElement(); Array.Clear(files, 0, files.Length); } myTimer.Stop(); // Calculate time per iteration in seconds myTimer.SetMultiplier(1.0); double result = myTimer.Duration(); xwriter.WriteElementString("ComputationTime", result.ToString("F") + " s"); //End the "root" element. xwriter.WriteEndElement(); //End the document xwriter.WriteEndDocument(); xwriter.Close(); // Load the style sheet. XslCompiledTransform xslt = new XslCompiledTransform(); xslt.Load("resultTransform.xslt"); // Execute the transform and output the results to a file. string reportHTMLFile = resultDirXML + "\\" + "..\\HTML\\FileNamingReport.html"; xslt.Transform(reportFile, reportHTMLFile); XslCompiledTransform xsltWrongFiles = new XslCompiledTransform(); xsltWrongFiles.Load("wrongFileList.xslt"); string dirResultFile; XsltArgumentList xslArg = new XsltArgumentList(); foreach (string d in dirList) { nodeDir = d.Substring(d.LastIndexOf('\\') + 1); dirResultFile = resultDirXML + "\\" + "..\\HTML\\" + nodeDir + ".html"; xslArg.AddParam("dir", "", nodeDir); StreamWriter sw = new StreamWriter(dirResultFile); xsltWrongFiles.Transform(reportFile, xslArg, sw); sw.Close(); xslArg.Clear(); } } catch (Exception ex) { Console.WriteLine(ex.Message); } }
public void Clear6() { m_xsltArg = new XsltArgumentList(); m_xsltArg.AddParam("myArg1", szEmpty, "Test1"); retObj = m_xsltArg.GetParam("myArg1", szEmpty); if (retObj.ToString() != "Test1") return; //return TEST_SKIPPED; for (int i = 0; i < 300; i++) m_xsltArg.Clear(); retObj = m_xsltArg.GetParam("myArg1", szEmpty); if (retObj != null) Assert.True(false); if ((LoadXSL("showParam.xsl") == 1) && (Transform_ArgList("fruits.xml") == 1) && (CheckResult(466.5112789241) == 1)) return; else Assert.True(false); }
public void Clear7() { m_xsltArg = new XsltArgumentList(); XsltArgumentList m_2 = new XsltArgumentList(); m_xsltArg.AddParam("myArg1", szEmpty, "Test1"); retObj = m_xsltArg.GetParam("myArg1", szEmpty); if (retObj.ToString() != "Test1") return; //return TEST_SKIPPED; m_2.Clear(); if ((LoadXSL("showParam.xsl") == 1) && (Transform_ArgList("fruits.xml") == 1) && (CheckResult(457.6003003605) == 1)) return; else Assert.True(false); }
public void Clear2() { m_xsltArg = new XsltArgumentList(); m_xsltArg.Clear(); if ((LoadXSL("showParam.xsl") == 1) && (Transform_ArgList("fruits.xml") == 1) && (CheckResult(466.5112789241) == 1)) return; else Assert.True(false); }
public void Clear5() { m_xsltArg = new XsltArgumentList(); String obj = "Test"; for (int i = 0; i < 200; i++) { m_xsltArg.AddParam("myArg2", szEmpty, obj + i); retObj = m_xsltArg.GetParam("myArg2", szEmpty); if (retObj.ToString() != (obj + i)) { _output.WriteLine("Failed to add/remove iteration {0}", i); _output.WriteLine("{0} : {1}", retObj, obj + i); Assert.True(false); } m_xsltArg.Clear(); } for (int i = 0; i < 200; i++) { m_xsltArg.AddParam("myArg" + i, szEmpty, obj + i); retObj = m_xsltArg.GetParam("myArg" + i, szEmpty); if (retObj.ToString() != (obj + i)) { _output.WriteLine("Failed in 2nd part to add/remove iteration {0}", i); Assert.True(false); } } // _output.WriteLine(retObj.GetType()); m_xsltArg.Clear(); if ((LoadXSL("showParam.xsl") == 1) && (Transform_ArgList("fruits.xml") == 1) && (CheckResult(466.5112789241) == 1)) return; else Assert.True(false); }
public void Clear6(object param) { string Baseline = Path.Combine("baseline", (string)param); m_xsltArg = new XsltArgumentList(); m_xsltArg.AddParam("myArg1", szEmpty, "Test1"); retObj = m_xsltArg.GetParam("myArg1", szEmpty); if (retObj.ToString() != "Test1") return; //TEST_SKIPPED; for (int i = 0; i < 300; i++) m_xsltArg.Clear(); retObj = m_xsltArg.GetParam("myArg1", szEmpty); if (retObj != null) Assert.True(false); if ((LoadXSL("showParam.xsl") == 1) && (Transform_ArgList("fruits.xml") == 1)) { VerifyResult(Baseline, _strOutFile); return; } else Assert.True(false); }
public void Clear8() { string expected = @"<?xml version=""1.0"" encoding=""utf-8""?><result> 1.No Value Specified 2.No Value Specified 3.No Value Specified 4.No Value Specified 5.No Value Specified 6.No Value Specified</result>"; m_xsltArg = new XsltArgumentList(); m_xsltArg.AddParam("myArg1", szEmpty, "Test1"); retObj = m_xsltArg.GetParam("myArg1", szEmpty); if (retObj.ToString() != "Test1") return; //return TEST_SKIPPED; retObj = m_xsltArg.RemoveParam("myArg1", szEmpty); m_xsltArg.Clear(); if ((LoadXSL("showParam.xsl") != 1) || (Transform_ArgList("fruits.xml") != 1)) Assert.True(false); VerifyResult(expected); MyObject obj = new MyObject(26, _output); m_xsltArg.AddExtensionObject(szDefaultNS, obj); m_xsltArg.RemoveExtensionObject(szDefaultNS); m_xsltArg.Clear(); if ((LoadXSL("myObjectDef.xsl") == 1)) { try { Transform_ArgList("fruits.xml"); } catch (System.Xml.Xsl.XsltException) { return; } } _output.WriteLine("Exception not thrown for NS not found"); Assert.True(false); }
public void Clear7() { string expected = @"<?xml version=""1.0"" encoding=""utf-8""?><result> 1.Test1 2.No Value Specified 3.No Value Specified 4.No Value Specified 5.No Value Specified 6.No Value Specified</result>"; m_xsltArg = new XsltArgumentList(); XsltArgumentList m_2 = new XsltArgumentList(); m_xsltArg.AddParam("myArg1", szEmpty, "Test1"); retObj = m_xsltArg.GetParam("myArg1", szEmpty); if (retObj.ToString() != "Test1") return; //return TEST_SKIPPED; m_2.Clear(); if ((LoadXSL("showParam.xsl") == 1) && (Transform_ArgList("fruits.xml") == 1)) { VerifyResult(expected); return; } else Assert.True(false); }
public void Clear5() { string expected = @"<?xml version=""1.0"" encoding=""utf-8""?><result> 1.No Value Specified 2.No Value Specified 3.No Value Specified 4.No Value Specified 5.No Value Specified 6.No Value Specified</result>"; m_xsltArg = new XsltArgumentList(); String obj = "Test"; for (int i = 0; i < 200; i++) { m_xsltArg.AddParam("myArg2", szEmpty, obj + i); retObj = m_xsltArg.GetParam("myArg2", szEmpty); if (retObj.ToString() != (obj + i)) { _output.WriteLine("Failed to add/remove iteration {0}", i); _output.WriteLine("{0} : {1}", retObj, obj + i); Assert.True(false); } m_xsltArg.Clear(); } for (int i = 0; i < 200; i++) { m_xsltArg.AddParam("myArg" + i, szEmpty, obj + i); retObj = m_xsltArg.GetParam("myArg" + i, szEmpty); if (retObj.ToString() != (obj + i)) { _output.WriteLine("Failed in 2nd part to add/remove iteration {0}", i); Assert.True(false); } } m_xsltArg.Clear(); if ((LoadXSL("showParam.xsl") == 1) && (Transform_ArgList("fruits.xml") == 1)) { VerifyResult(expected); return; } else Assert.True(false); }
public void Clear2() { string expected = @"<?xml version=""1.0"" encoding=""utf-8""?><result> 1.No Value Specified 2.No Value Specified 3.No Value Specified 4.No Value Specified 5.No Value Specified 6.No Value Specified</result>"; m_xsltArg = new XsltArgumentList(); m_xsltArg.Clear(); if ((LoadXSL("showParam.xsl") == 1) && (Transform_ArgList("fruits.xml") == 1)) { VerifyResult(expected); return; } else Assert.True(false); }