[ 
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)

Reply via email to