Browse Source

远程设计搜索bug

XiaXiang 8 years ago
parent
commit
62d6574e66
  1. 22
      designer/src/com/fr/design/mainframe/alphafine/search/manager/impl/FileSearchManager.java

22
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.FileInputStream;
import java.io.FileNotFoundException; import java.io.FileNotFoundException;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader; import java.io.InputStreamReader;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@ -121,10 +122,11 @@ public class FileSearchManager implements AlphaFineSearchProvider {
private void doSearch(String searchText, boolean needMore, Env env) { private void doSearch(String searchText, boolean needMore, Env env) {
for (FileNode node : fileNodes) { for (FileNode node : fileNodes) {
boolean isAlreadyContain = false; boolean isAlreadyContain = false;
String fileEnvPath = node.getEnvPath();
String filePath = StableUtils.pathJoin(env.getPath(), fileEnvPath);
isAlreadyContain = searchFile(searchText, node, isAlreadyContain, needMore); 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 searchText
* @param node * @param node
* @param isAlreadyContain * @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()) { if (DesignerEnvManager.getEnvManager().getAlphaFineConfigManager().isContainFileContent()) {
try { 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); BufferedReader reader = new BufferedReader(isr);
String line; String line;
int columnNumber; int columnNumber;
@ -167,6 +167,7 @@ public class FileSearchManager implements AlphaFineSearchProvider {
if (isFoundInContent && !isAlreadyContain) { if (isFoundInContent && !isAlreadyContain) {
FileModel model = new FileModel(node.getName(), node.getEnvPath()); FileModel model = new FileModel(node.getName(), node.getEnvPath());
if (!AlphaFineHelper.getFilterResult().contains(model)) { if (!AlphaFineHelper.getFilterResult().contains(model)) {
AlphaFineHelper.checkCancel();
filterModelList.add(model); filterModelList.add(model);
} }
if (this.filterModelList.size() > AlphaFineConstants.SHOW_SIZE && needMore) { if (this.filterModelList.size() > AlphaFineConstants.SHOW_SIZE && needMore) {
@ -175,10 +176,8 @@ public class FileSearchManager implements AlphaFineSearchProvider {
} }
isr.close(); isr.close();
reader.close(); reader.close();
} catch (FileNotFoundException e) { } catch (Exception e) {
FRLogger.getLogger().error(e.getMessage()); FRLogger.getLogger().error("file read error: " + e.getMessage());
} catch (IOException e) {
FRLogger.getLogger().error(e.getMessage());
} }
} }
} }
@ -196,6 +195,7 @@ public class FileSearchManager implements AlphaFineSearchProvider {
if (node.getName().toLowerCase().contains(searchText)) { if (node.getName().toLowerCase().contains(searchText)) {
FileModel model = new FileModel(node.getName(), node.getEnvPath()); FileModel model = new FileModel(node.getName(), node.getEnvPath());
if (!AlphaFineHelper.getFilterResult().contains(model)) { if (!AlphaFineHelper.getFilterResult().contains(model)) {
AlphaFineHelper.checkCancel();
filterModelList.add(model); filterModelList.add(model);
} }
if(filterModelList.size() > AlphaFineConstants.SHOW_SIZE && needMore) { if(filterModelList.size() > AlphaFineConstants.SHOW_SIZE && needMore) {

Loading…
Cancel
Save