[ https://issues.apache.org/jira/browse/OPENNLP-1161?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17698431#comment-17698431 ]
ASF GitHub Bot commented on OPENNLP-1161: ----------------------------------------- mawiesne commented on PR #292: URL: https://github.com/apache/opennlp/pull/292#issuecomment-1462225949 Jira issue was closed as "Won't Fix" long time ago and PR seems no longer relevant. > avoid using concrete tag names of XML config in > GeneratorFactory.extractArtifactSerializerMappings() > ---------------------------------------------------------------------------------------------------- > > Key: OPENNLP-1161 > URL: https://issues.apache.org/jira/browse/OPENNLP-1161 > Project: OpenNLP > Issue Type: Improvement > Components: Formats, Name Finder > Affects Versions: 1.8.3 > Reporter: Koji Sekiguchi > Assignee: Koji Sekiguchi > Priority: Blocker > > When working on OPENNLP-1154, I noticed this. > In GeneratorFactory.extractArtifactSerializerMappings(), it specifies > concrete XML tag names: > {code:java} > for (int i = 0; i < allElements.getLength(); i++) { > if (allElements.item(i) instanceof Element) { > Element xmlElement = (Element) allElements.item(i); > String dictName = xmlElement.getAttribute("dict"); > if (dictName != null) { > switch (xmlElement.getTagName()) { > case "wordcluster": > mapping.put(dictName, new > WordClusterDictionary.WordClusterDictionarySerializer()); > break; > case "brownclustertoken": > mapping.put(dictName, new > BrownCluster.BrownClusterSerializer()); > break; > case "brownclustertokenclass"://, ; > mapping.put(dictName, new > BrownCluster.BrownClusterSerializer()); > break; > case "brownclusterbigram": //, ; > mapping.put(dictName, new > BrownCluster.BrownClusterSerializer()); > break; > case "dictionary": > mapping.put(dictName, new DictionarySerializer()); > break; > } > } > String modelName = xmlElement.getAttribute("model"); > if (modelName != null) { > switch (xmlElement.getTagName()) { > case "tokenpos": > mapping.put(modelName, new POSModelSerializer()); > break; > } > } > } > } > {code} > Instead, we'd better let FeatureGeneratorFactories implement a method that > returns mapping (Map<String, ArtifactSerializer<?>>) and in > GeneratorFactory.extractArtifactSerializerMappings(), the framework just > calls the method of FeatureGeneratorFactories, which are found in XML config. -- This message was sent by Atlassian Jira (v8.20.10#820010)