*) Bugfix for parser configuration bug

- it was not possible to disable all parsers
   See: http://www.yacy-forum.de/viewtopic.php?t=1579

git-svn-id: https://svn.berlios.de/svnroot/repos/yacy/trunk@1191 6c8d7289-2bf4-0310-a012-ef5d649a1542
pull/1/head
theli 20 years ago
parent dee27a86c6
commit 5a1d45715d

@ -542,9 +542,14 @@ public class SettingsAck_p {
*/
if (post.containsKey("parserSettings")) {
post.remove("parserSettings");
HashMap newConfigList = new HashMap();
Set parserModes = plasmaParser.getParserConfigList().keySet();
HashMap newConfigList = new HashMap();
Iterator parserModeIter = parserModes.iterator();
while (parserModeIter.hasNext()) {
String currParserMode = (String)parserModeIter.next();
newConfigList.put(currParserMode, new HashSet());
}
// looping through all received settings
int pos;
@ -556,12 +561,8 @@ public class SettingsAck_p {
String currMimeType = key.substring(pos+1).replaceAll("\n", "");
if (parserModes.contains(currParserMode)) {
HashSet currEnabledMimeTypes;
if (newConfigList.containsKey(currParserMode)) {
currEnabledMimeTypes = (HashSet) newConfigList.get(currParserMode);
} else {
currEnabledMimeTypes = new HashSet();
newConfigList.put(currParserMode, currEnabledMimeTypes);
}
assert (newConfigList.containsKey(currParserMode)) : "Unexpected Error";
currEnabledMimeTypes = (HashSet) newConfigList.get(currParserMode);
currEnabledMimeTypes.add(currMimeType);
}
}
@ -569,7 +570,7 @@ public class SettingsAck_p {
int enabledMimesCount = 0;
StringBuffer currEnabledMimesTxt = new StringBuffer();
Iterator parserModeIter = newConfigList.keySet().iterator();
parserModeIter = newConfigList.keySet().iterator();
while (parserModeIter.hasNext()) {
String currParserMode = (String)parserModeIter.next();
String[] enabledMimes = plasmaParser.setEnabledParserList(currParserMode, (Set)newConfigList.get(currParserMode));

@ -568,7 +568,7 @@ public final class plasmaParser {
String parserClassName = null;
ParserInfo parserInfo = null;
synchronized (plasmaParser.availableParserList) {
if (plasmaParser.availableParserList.contains(mimeType)) {
if (plasmaParser.availableParserList.containsKey(mimeType)) {
parserInfo = (ParserInfo)plasmaParser.availableParserList.get(mimeType);
parserClassName = parserInfo.parserClassName;
} else {
@ -708,6 +708,10 @@ public final class plasmaParser {
if (!PARSER_MODE.contains(parserMode)) throw new IllegalArgumentException();
plasmaParserConfig config = (plasmaParserConfig) parserConfigList.get(parserMode);
if (config == null) {
config = new plasmaParserConfig(parserMode);
parserConfigList.put(parserMode, config);
}
config.enableAllParsers();
}

Loading…
Cancel
Save