From b514fb60485ba8f9a28ab7a709c422b02b334be4 Mon Sep 17 00:00:00 2001 From: "Oleg.Korshul" Date: Mon, 2 Nov 2015 13:34:25 +0000 Subject: [PATCH] git-svn-id: svn://fileserver/activex/AVS/Sources/TeamlabOffice/trunk/ServerComponents@65578 954022d7-b5bf-4e40-9824-e11837661b57 --- DesktopEditor/test/Joiner/Program.cs | 36 ++++++++++++++++++++++++---- 1 file changed, 32 insertions(+), 4 deletions(-) diff --git a/DesktopEditor/test/Joiner/Program.cs b/DesktopEditor/test/Joiner/Program.cs index 1487d02acd..7bdd0c3db2 100644 --- a/DesktopEditor/test/Joiner/Program.cs +++ b/DesktopEditor/test/Joiner/Program.cs @@ -47,6 +47,7 @@ namespace Joiner List arExcel = new List(); List arFiles = new List(); + List arFindIndex = new List(); int nStart = 0; @@ -60,6 +61,7 @@ namespace Joiner if (!map_files.ContainsKey(sFile)) { arFiles.Add(sFile); + arFindIndex.Add(nStart); map_files.Add(sFile, true); } } @@ -68,12 +70,13 @@ namespace Joiner while ((nStart = sConfigSource.IndexOf("/Word/", nStart + 1)) >= 0) { int nFind = sConfigSource.IndexOf('\"', nStart); - arCommon.Add(nStart); + arWord.Add(nStart); string sFile = sConfigSource.Substring(nStart, nFind - nStart); if (!map_files.ContainsKey(sFile)) { arFiles.Add(sFile); + arFindIndex.Add(nStart); map_files.Add(sFile, true); } } @@ -88,6 +91,7 @@ namespace Joiner if (!map_files.ContainsKey(sFile)) { arFiles.Add(sFile); + arFindIndex.Add(nStart); map_files.Add(sFile, true); } } @@ -102,16 +106,38 @@ namespace Joiner if (!map_files.ContainsKey(sFile)) { arFiles.Add(sFile); + arFindIndex.Add(nStart); map_files.Add(sFile, true); } } + string[] _filesResult = arFiles.ToArray(); + int[] _findResult = arFindIndex.ToArray(); + + int nLengthFilesCheck = _filesResult.Length; + for (int i = 0; i < nLengthFilesCheck; ++i) + { + for (int j = i + 1; j < nLengthFilesCheck; ++j) + { + if (_findResult[i] > _findResult[j]) + { + int nTmp = _findResult[i]; + _findResult[i] = _findResult[j]; + _findResult[j] = nTmp; + + string sTmp = _filesResult[i]; + _filesResult[i] = _filesResult[j]; + _filesResult[j] = sTmp; + } + } + } + StringBuilder oBuilder = new StringBuilder(); List arConcat = new List(); - for (int i = 0; i < arFiles.Count; i++) + for (int i = 0; i < nLengthFilesCheck; i++) { - string sFileCandidate = arFiles[i]; + string sFileCandidate = _filesResult[i]; if ((sFileCandidate.IndexOf("/Build/") >= 0) || (sFileCandidate.IndexOf("3rdparty") >= 0) || (sFileCandidate.IndexOf("-all.js") >= 0) || @@ -119,15 +145,17 @@ namespace Joiner (sFileCandidate.LastIndexOf(".js") != (sFileCandidate.Length - 3))) continue; + /* if ((sFileCandidate.IndexOf("/api.js") >= 0) || (sFileCandidate.IndexOf("/apiCommon.js") >= 0)) { arConcat.Add(sFileCandidate); continue; } + */ - StreamReader oReader2 = new StreamReader(sPathBase + "../.." + arFiles[i]); + StreamReader oReader2 = new StreamReader(sPathBase + "../.." + _filesResult[i]); oBuilder.Append(oReader2.ReadToEnd()); oBuilder.Append("\n\n");