[ 
https://issues.apache.org/jira/browse/STORM-942?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14630281#comment-14630281
 ] 

ASF GitHub Bot commented on STORM-942:
--------------------------------------

Github user HeartSaVioR commented on a diff in the pull request:

    https://github.com/apache/storm/pull/637#discussion_r34834409
  
    --- Diff: 
external/flux/flux-core/src/main/java/org/apache/storm/flux/parser/FluxParser.java
 ---
    @@ -44,40 +44,47 @@ private FluxParser(){}
         // TODO refactor input stream processing (see parseResource() method).
         public static TopologyDef parseFile(String inputFile, boolean 
dumpYaml, boolean processIncludes,
                                             String propertiesFile, boolean 
envSub) throws IOException {
    -        Yaml yaml = yaml();
    +   
             FileInputStream in = new FileInputStream(inputFile);
    -        // TODO process properties, etc.
    -        TopologyDef topology = loadYaml(yaml, in, propertiesFile, envSub);
    +        TopologyDef topology = parseInputStream(in, dumpYaml, 
processIncludes, propertiesFile, envSub);
             in.close();
    -        if(dumpYaml){
    -            dumpYaml(topology, yaml);
    -        }
    -        if(processIncludes) {
    -            return processIncludes(yaml, topology, propertiesFile, envSub);
    -        } else {
    -            return topology;
    -        }
    +        
    +        return topology;
         }
     
         public static TopologyDef parseResource(String resource, boolean 
dumpYaml, boolean processIncludes,
                                                 String propertiesFile, boolean 
envSub) throws IOException {
    -        Yaml yaml = yaml();
    +        
             InputStream in = FluxParser.class.getResourceAsStream(resource);
    -        if(in == null){
    -            LOG.error("Unable to load classpath resource: " + resource);
    -            System.exit(1);
    -        }
    -        TopologyDef topology = loadYaml(yaml, in, propertiesFile, envSub);
    +        TopologyDef topology = parseInputStream(in, dumpYaml, 
processIncludes, propertiesFile, envSub);
             in.close();
    -        if(dumpYaml){
    -            dumpYaml(topology, yaml);
    -        }
    -        if(processIncludes) {
    -            return processIncludes(yaml, topology, propertiesFile, envSub);
    -        } else {
    -            return topology;
    -        }
    +        
    +        return topology;
         }
    +    
    +    public static TopologyDef parseInputStream(InputStream inputStream, 
boolean dumpYaml, boolean processIncludes,
    +            String propertiesFile, boolean envSub) throws IOException {
    +           
    +           Yaml yaml = yaml();
    +           
    +           if (inputStream == null) {
    --- End diff --
    
    @lyonbrw Indentation looks broken.


> Add FluxParser method parseInputStream() to eliminate disk usage.
> -----------------------------------------------------------------
>
>                 Key: STORM-942
>                 URL: https://issues.apache.org/jira/browse/STORM-942
>             Project: Apache Storm
>          Issue Type: Improvement
>    Affects Versions: 0.10.0
>            Reporter: Brendan W Lyon
>             Fix For: 0.11.0
>
>
> Included reusable parseInputStream for use by parseFile and parseResource. 
> Also allows a path for programatically creating topologies without the need 
> to write to / read from disk.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to