From 68537da66777ae642c2406cfedd0a457ca84505c Mon Sep 17 00:00:00 2001 From: XiaXiang Date: Tue, 2 Jan 2018 15:17:33 +0800 Subject: [PATCH 1/6] rt --- .../alphafine/search/manager/impl/FileSearchManager.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/designer/src/com/fr/design/mainframe/alphafine/search/manager/impl/FileSearchManager.java b/designer/src/com/fr/design/mainframe/alphafine/search/manager/impl/FileSearchManager.java index 8da604ab13..659eba7449 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/search/manager/impl/FileSearchManager.java +++ b/designer/src/com/fr/design/mainframe/alphafine/search/manager/impl/FileSearchManager.java @@ -106,8 +106,8 @@ public class FileSearchManager implements AlphaFineSearchProvider { if (moreModelList != null && !moreModelList.isEmpty()) { return moreModelList; } + searchText = dealWithSearchText(searchText); this.filterModelList = new SearchResult(); - this.lessModelList = new SearchResult(); this.moreModelList = new SearchResult(); searchText = dealWithSearchText(searchText); Env env = FRContext.getCurrentEnv(); From a92b17618e3bdabfdbcfaed638878816063f4f50 Mon Sep 17 00:00:00 2001 From: XiaXiang Date: Tue, 2 Jan 2018 15:42:43 +0800 Subject: [PATCH 2/6] rt --- .../search/manager/impl/FileSearchManager.java | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/designer/src/com/fr/design/mainframe/alphafine/search/manager/impl/FileSearchManager.java b/designer/src/com/fr/design/mainframe/alphafine/search/manager/impl/FileSearchManager.java index 659eba7449..69ca500705 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/search/manager/impl/FileSearchManager.java +++ b/designer/src/com/fr/design/mainframe/alphafine/search/manager/impl/FileSearchManager.java @@ -40,6 +40,7 @@ public class FileSearchManager implements AlphaFineSearchProvider { private SearchResult filterModelList; private SearchResult lessModelList; private SearchResult moreModelList; + private String searchText; private List fileNodes = null; //停止搜索 private boolean stopSearch = false; @@ -80,6 +81,7 @@ public class FileSearchManager implements AlphaFineSearchProvider { lessModelList.add(new MoreModel(Inter.getLocText("FR-Designer_Templates"))); return lessModelList; } + this.searchText = searchText; Env env = FRContext.getCurrentEnv(); fileNodes = new ArrayList<>(); fileNodes = listTpl(env, ProjectConstants.REPORTLETS_NAME, true); @@ -106,15 +108,13 @@ public class FileSearchManager implements AlphaFineSearchProvider { if (moreModelList != null && !moreModelList.isEmpty()) { return moreModelList; } - searchText = dealWithSearchText(searchText); this.filterModelList = new SearchResult(); this.moreModelList = new SearchResult(); - searchText = dealWithSearchText(searchText); Env env = FRContext.getCurrentEnv(); AlphaFineHelper.checkCancel(); isContainCpt = true; isContainFrm = true; - doSearch(searchText, false, env); + doSearch(this.searchText, false, env); moreModelList.addAll(filterModelList.subList(AlphaFineConstants.SHOW_SIZE, filterModelList.size())); return moreModelList; } @@ -286,4 +286,12 @@ public class FileSearchManager implements AlphaFineSearchProvider { public void setMoreModelList(SearchResult moreModelList) { this.moreModelList = moreModelList; } + + public String getSearchText() { + return searchText; + } + + public void setSearchText(String searchText) { + this.searchText = searchText; + } } \ No newline at end of file From 3bdac54599b1a49af4fd136ba352f1a370760473 Mon Sep 17 00:00:00 2001 From: XiaXiang Date: Tue, 2 Jan 2018 16:12:21 +0800 Subject: [PATCH 3/6] =?UTF-8?q?=E6=90=9C=E7=B4=A2bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../alphafine/search/manager/impl/FileSearchManager.java | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/designer/src/com/fr/design/mainframe/alphafine/search/manager/impl/FileSearchManager.java b/designer/src/com/fr/design/mainframe/alphafine/search/manager/impl/FileSearchManager.java index 69ca500705..799321a182 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/search/manager/impl/FileSearchManager.java +++ b/designer/src/com/fr/design/mainframe/alphafine/search/manager/impl/FileSearchManager.java @@ -76,19 +76,18 @@ public class FileSearchManager implements AlphaFineSearchProvider { this.filterModelList = new SearchResult(); this.lessModelList = new SearchResult(); this.moreModelList = new SearchResult(); - searchText = dealWithSearchText(searchText); - if (StringUtils.isBlank(searchText) || ComparatorUtils.equals(searchText, DS_NAME)) { + this.searchText = dealWithSearchText(searchText); + if (StringUtils.isBlank(this.searchText) || ComparatorUtils.equals(this.searchText, DS_NAME)) { lessModelList.add(new MoreModel(Inter.getLocText("FR-Designer_Templates"))); return lessModelList; } - this.searchText = searchText; Env env = FRContext.getCurrentEnv(); fileNodes = new ArrayList<>(); fileNodes = listTpl(env, ProjectConstants.REPORTLETS_NAME, true); AlphaFineHelper.checkCancel(); isContainCpt = true; isContainFrm = true; - doSearch(searchText, true, env); + doSearch(this.searchText, true, env); if (stopSearch) { lessModelList.add(0, new MoreModel(Inter.getLocText("FR-Designer_Templates"), Inter.getLocText("FR-Designer_AlphaFine_ShowAll"), true, CellType.FILE)); lessModelList.addAll(filterModelList.subList(0, AlphaFineConstants.SHOW_SIZE)); From 62d6574e6689cf21b682be70c264667b0c44a2d1 Mon Sep 17 00:00:00 2001 From: XiaXiang Date: Tue, 2 Jan 2018 20:07:54 +0800 Subject: [PATCH 4/6] =?UTF-8?q?=E8=BF=9C=E7=A8=8B=E8=AE=BE=E8=AE=A1?= =?UTF-8?q?=E6=90=9C=E7=B4=A2bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../manager/impl/FileSearchManager.java | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/designer/src/com/fr/design/mainframe/alphafine/search/manager/impl/FileSearchManager.java b/designer/src/com/fr/design/mainframe/alphafine/search/manager/impl/FileSearchManager.java index 799321a182..9dfec93df3 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/search/manager/impl/FileSearchManager.java +++ b/designer/src/com/fr/design/mainframe/alphafine/search/manager/impl/FileSearchManager.java @@ -24,6 +24,7 @@ import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; +import java.io.InputStream; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.List; @@ -121,10 +122,11 @@ public class FileSearchManager implements AlphaFineSearchProvider { private void doSearch(String searchText, boolean needMore, Env env) { for (FileNode node : fileNodes) { boolean isAlreadyContain = false; - String fileEnvPath = node.getEnvPath(); - String filePath = StableUtils.pathJoin(env.getPath(), fileEnvPath); isAlreadyContain = searchFile(searchText, node, isAlreadyContain, needMore); - searchFileContent(searchText, node, isAlreadyContain, filePath, needMore); + searchFileContent(env, searchText, node, isAlreadyContain, needMore); + if (filterModelList.size() > AlphaFineConstants.SHOW_SIZE && stopSearch) { + return; + } } } @@ -146,13 +148,11 @@ public class FileSearchManager implements AlphaFineSearchProvider { * @param searchText * @param node * @param isAlreadyContain - * @param filePath */ - private void searchFileContent(String searchText, FileNode node, boolean isAlreadyContain, String filePath, boolean needMore) { + private void searchFileContent(Env env, String searchText, FileNode node, boolean isAlreadyContain, boolean needMore) { if (DesignerEnvManager.getEnvManager().getAlphaFineConfigManager().isContainFileContent()) { - try { - InputStreamReader isr = new InputStreamReader(new FileInputStream(new File(filePath)), "UTF-8"); + InputStreamReader isr = new InputStreamReader(env.readBean(node.getEnvPath().substring(ProjectConstants.REPORTLETS_NAME.length() + 1), ProjectConstants.REPORTLETS_NAME), "UTF-8"); BufferedReader reader = new BufferedReader(isr); String line; int columnNumber; @@ -167,6 +167,7 @@ public class FileSearchManager implements AlphaFineSearchProvider { if (isFoundInContent && !isAlreadyContain) { FileModel model = new FileModel(node.getName(), node.getEnvPath()); if (!AlphaFineHelper.getFilterResult().contains(model)) { + AlphaFineHelper.checkCancel(); filterModelList.add(model); } if (this.filterModelList.size() > AlphaFineConstants.SHOW_SIZE && needMore) { @@ -175,10 +176,8 @@ public class FileSearchManager implements AlphaFineSearchProvider { } isr.close(); reader.close(); - } catch (FileNotFoundException e) { - FRLogger.getLogger().error(e.getMessage()); - } catch (IOException e) { - FRLogger.getLogger().error(e.getMessage()); + } catch (Exception e) { + FRLogger.getLogger().error("file read error: " + e.getMessage()); } } } @@ -196,6 +195,7 @@ public class FileSearchManager implements AlphaFineSearchProvider { if (node.getName().toLowerCase().contains(searchText)) { FileModel model = new FileModel(node.getName(), node.getEnvPath()); if (!AlphaFineHelper.getFilterResult().contains(model)) { + AlphaFineHelper.checkCancel(); filterModelList.add(model); } if(filterModelList.size() > AlphaFineConstants.SHOW_SIZE && needMore) { From f15a19b19be33bc1fc8915daa83c310e0840ff73 Mon Sep 17 00:00:00 2001 From: XiaXiang Date: Wed, 3 Jan 2018 15:30:00 +0800 Subject: [PATCH 5/6] rt --- .../manager/impl/FileSearchManager.java | 61 +++++++++---------- 1 file changed, 28 insertions(+), 33 deletions(-) diff --git a/designer/src/com/fr/design/mainframe/alphafine/search/manager/impl/FileSearchManager.java b/designer/src/com/fr/design/mainframe/alphafine/search/manager/impl/FileSearchManager.java index 9dfec93df3..9a858a73dd 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/search/manager/impl/FileSearchManager.java +++ b/designer/src/com/fr/design/mainframe/alphafine/search/manager/impl/FileSearchManager.java @@ -15,16 +15,11 @@ import com.fr.general.ComparatorUtils; import com.fr.general.FRLogger; import com.fr.general.Inter; import com.fr.json.JSONObject; -import com.fr.stable.StableUtils; import com.fr.stable.StringUtils; import com.fr.stable.project.ProjectConstants; import java.io.BufferedReader; import java.io.File; -import java.io.FileInputStream; -import java.io.FileNotFoundException; -import java.io.IOException; -import java.io.InputStream; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.List; @@ -123,7 +118,9 @@ public class FileSearchManager implements AlphaFineSearchProvider { for (FileNode node : fileNodes) { boolean isAlreadyContain = false; isAlreadyContain = searchFile(searchText, node, isAlreadyContain, needMore); - searchFileContent(env, searchText, node, isAlreadyContain, needMore); + if (DesignerEnvManager.getEnvManager().getAlphaFineConfigManager().isContainFileContent() && node.getLock() == null) { + searchFileContent(env, searchText, node, isAlreadyContain, needMore); + } if (filterModelList.size() > AlphaFineConstants.SHOW_SIZE && stopSearch) { return; } @@ -150,35 +147,33 @@ public class FileSearchManager implements AlphaFineSearchProvider { * @param isAlreadyContain */ private void searchFileContent(Env env, String searchText, FileNode node, boolean isAlreadyContain, boolean needMore) { - if (DesignerEnvManager.getEnvManager().getAlphaFineConfigManager().isContainFileContent()) { - try { - InputStreamReader isr = new InputStreamReader(env.readBean(node.getEnvPath().substring(ProjectConstants.REPORTLETS_NAME.length() + 1), ProjectConstants.REPORTLETS_NAME), "UTF-8"); - BufferedReader reader = new BufferedReader(isr); - String line; - int columnNumber; - boolean isFoundInContent = false; - while ((line = reader.readLine()) != null) { - columnNumber = line.toLowerCase().indexOf(searchText); - if (columnNumber != -1) { - isFoundInContent = true; - break; - } + try { + InputStreamReader isr = new InputStreamReader(env.readBean(node.getEnvPath().substring(ProjectConstants.REPORTLETS_NAME.length() + 1), ProjectConstants.REPORTLETS_NAME), "UTF-8"); + BufferedReader reader = new BufferedReader(isr); + String line; + int columnNumber; + boolean isFoundInContent = false; + while ((line = reader.readLine()) != null) { + columnNumber = line.toLowerCase().indexOf(searchText); + if (columnNumber != -1) { + isFoundInContent = true; + break; + } + } + if (isFoundInContent && !isAlreadyContain) { + FileModel model = new FileModel(node.getName(), node.getEnvPath()); + if (!AlphaFineHelper.getFilterResult().contains(model)) { + AlphaFineHelper.checkCancel(); + filterModelList.add(model); } - if (isFoundInContent && !isAlreadyContain) { - FileModel model = new FileModel(node.getName(), node.getEnvPath()); - if (!AlphaFineHelper.getFilterResult().contains(model)) { - AlphaFineHelper.checkCancel(); - filterModelList.add(model); - } - if (this.filterModelList.size() > AlphaFineConstants.SHOW_SIZE && needMore) { - stopSearch = true; - } + if (this.filterModelList.size() > AlphaFineConstants.SHOW_SIZE && needMore) { + stopSearch = true; } - isr.close(); - reader.close(); - } catch (Exception e) { - FRLogger.getLogger().error("file read error: " + e.getMessage()); } + isr.close(); + reader.close(); + } catch (Exception e) { + FRLogger.getLogger().error("file read error: " + e.getMessage()); } } @@ -198,7 +193,7 @@ public class FileSearchManager implements AlphaFineSearchProvider { AlphaFineHelper.checkCancel(); filterModelList.add(model); } - if(filterModelList.size() > AlphaFineConstants.SHOW_SIZE && needMore) { + if (filterModelList.size() > AlphaFineConstants.SHOW_SIZE && needMore) { stopSearch = true; } isAlreadyContain = true; From ba4afc50ae8f2a803265660ac90c024a3a0c65c7 Mon Sep 17 00:00:00 2001 From: XiaXiang Date: Wed, 3 Jan 2018 15:40:29 +0800 Subject: [PATCH 6/6] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E8=B4=A8=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../alphafine/search/manager/impl/FileSearchManager.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/designer/src/com/fr/design/mainframe/alphafine/search/manager/impl/FileSearchManager.java b/designer/src/com/fr/design/mainframe/alphafine/search/manager/impl/FileSearchManager.java index 9a858a73dd..8cc5786833 100644 --- a/designer/src/com/fr/design/mainframe/alphafine/search/manager/impl/FileSearchManager.java +++ b/designer/src/com/fr/design/mainframe/alphafine/search/manager/impl/FileSearchManager.java @@ -20,6 +20,7 @@ import com.fr.stable.project.ProjectConstants; import java.io.BufferedReader; import java.io.File; +import java.io.InputStream; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.List; @@ -148,7 +149,8 @@ public class FileSearchManager implements AlphaFineSearchProvider { */ private void searchFileContent(Env env, String searchText, FileNode node, boolean isAlreadyContain, boolean needMore) { try { - InputStreamReader isr = new InputStreamReader(env.readBean(node.getEnvPath().substring(ProjectConstants.REPORTLETS_NAME.length() + 1), ProjectConstants.REPORTLETS_NAME), "UTF-8"); + InputStream inputStream = env.readBean(node.getEnvPath().substring(ProjectConstants.REPORTLETS_NAME.length() + 1), ProjectConstants.REPORTLETS_NAME); + InputStreamReader isr = new InputStreamReader(inputStream, "UTF-8"); BufferedReader reader = new BufferedReader(isr); String line; int columnNumber;