XiaXiang 7 years ago
parent
commit
f15a19b19b
  1. 61
      designer/src/com/fr/design/mainframe/alphafine/search/manager/impl/FileSearchManager.java

61
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.FRLogger;
import com.fr.general.Inter; import com.fr.general.Inter;
import com.fr.json.JSONObject; import com.fr.json.JSONObject;
import com.fr.stable.StableUtils;
import com.fr.stable.StringUtils; import com.fr.stable.StringUtils;
import com.fr.stable.project.ProjectConstants; import com.fr.stable.project.ProjectConstants;
import java.io.BufferedReader; import java.io.BufferedReader;
import java.io.File; 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.io.InputStreamReader;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@ -123,7 +118,9 @@ public class FileSearchManager implements AlphaFineSearchProvider {
for (FileNode node : fileNodes) { for (FileNode node : fileNodes) {
boolean isAlreadyContain = false; boolean isAlreadyContain = false;
isAlreadyContain = searchFile(searchText, node, isAlreadyContain, needMore); 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) { if (filterModelList.size() > AlphaFineConstants.SHOW_SIZE && stopSearch) {
return; return;
} }
@ -150,35 +147,33 @@ public class FileSearchManager implements AlphaFineSearchProvider {
* @param isAlreadyContain * @param isAlreadyContain
*/ */
private void searchFileContent(Env env, String searchText, FileNode node, boolean isAlreadyContain, boolean needMore) { private void searchFileContent(Env env, String searchText, FileNode node, boolean isAlreadyContain, boolean needMore) {
if (DesignerEnvManager.getEnvManager().getAlphaFineConfigManager().isContainFileContent()) { try {
try { InputStreamReader isr = new InputStreamReader(env.readBean(node.getEnvPath().substring(ProjectConstants.REPORTLETS_NAME.length() + 1), ProjectConstants.REPORTLETS_NAME), "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; boolean isFoundInContent = false;
boolean isFoundInContent = false; while ((line = reader.readLine()) != null) {
while ((line = reader.readLine()) != null) { columnNumber = line.toLowerCase().indexOf(searchText);
columnNumber = line.toLowerCase().indexOf(searchText); if (columnNumber != -1) {
if (columnNumber != -1) { isFoundInContent = true;
isFoundInContent = true; break;
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) { if (this.filterModelList.size() > AlphaFineConstants.SHOW_SIZE && needMore) {
FileModel model = new FileModel(node.getName(), node.getEnvPath()); stopSearch = true;
if (!AlphaFineHelper.getFilterResult().contains(model)) {
AlphaFineHelper.checkCancel();
filterModelList.add(model);
}
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(); AlphaFineHelper.checkCancel();
filterModelList.add(model); filterModelList.add(model);
} }
if(filterModelList.size() > AlphaFineConstants.SHOW_SIZE && needMore) { if (filterModelList.size() > AlphaFineConstants.SHOW_SIZE && needMore) {
stopSearch = true; stopSearch = true;
} }
isAlreadyContain = true; isAlreadyContain = true;

Loading…
Cancel
Save