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

ASF GitHub Bot commented on ZOOKEEPER-2628:
-------------------------------------------

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

    https://github.com/apache/zookeeper/pull/102#discussion_r86902396
  
    --- Diff: src/java/main/org/apache/jute/compiler/CGenerator.java ---
    @@ -61,70 +61,88 @@ void genCode() throws IOException {
                             + outputDirectory);
                 }
             }
    -        FileWriter c = new FileWriter(new File(outputDirectory, 
mName+".c"));
    -        FileWriter h = new FileWriter(new File(outputDirectory, 
mName+".h"));
     
    -        h.write("/**\n");
    -        h.write("* Licensed to the Apache Software Foundation (ASF) under 
one\n");
    -        h.write("* or more contributor license agreements.  See the NOTICE 
file\n");
    -        h.write("* distributed with this work for additional 
information\n");
    -        h.write("* regarding copyright ownership.  The ASF licenses this 
file\n");
    -        h.write("* to you under the Apache License, Version 2.0 (the\n");
    -        h.write("* \"License\"); you may not use this file except in 
compliance\n");
    -        h.write("* with the License.  You may obtain a copy of the License 
at\n");
    -        h.write("*\n");
    -        h.write("*     http://www.apache.org/licenses/LICENSE-2.0\n";);
    -        h.write("*\n");
    -        h.write("* Unless required by applicable law or agreed to in 
writing, software\n");
    -        h.write("* distributed under the License is distributed on an \"AS 
IS\" BASIS,\n");
    -        h.write("* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 
express or implied.\n");
    -        h.write("* See the License for the specific language governing 
permissions and\n");
    -        h.write("* limitations under the License.\n");
    -        h.write("*/\n");
    -        h.write("\n");
    +        FileWriter c = null, h = null;
    +        try {
    +            c = new FileWriter(new File(outputDirectory, mName + ".c"));
    +            h = new FileWriter(new File(outputDirectory, mName + ".h"));
     
    -        c.write("/**\n");
    -        c.write("* Licensed to the Apache Software Foundation (ASF) under 
one\n");
    -        c.write("* or more contributor license agreements.  See the NOTICE 
file\n");
    -        c.write("* distributed with this work for additional 
information\n");
    -        c.write("* regarding copyright ownership.  The ASF licenses this 
file\n");
    -        c.write("* to you under the Apache License, Version 2.0 (the\n");
    -        c.write("* \"License\"); you may not use this file except in 
compliance\n");
    -        c.write("* with the License.  You may obtain a copy of the License 
at\n");
    -        c.write("*\n");
    -        c.write("*     http://www.apache.org/licenses/LICENSE-2.0\n";);
    -        c.write("*\n");
    -        c.write("* Unless required by applicable law or agreed to in 
writing, software\n");
    -        c.write("* distributed under the License is distributed on an \"AS 
IS\" BASIS,\n");
    -        c.write("* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 
express or implied.\n");
    -        c.write("* See the License for the specific language governing 
permissions and\n");
    -        c.write("* limitations under the License.\n");
    -        c.write("*/\n");
    -        c.write("\n");
    +            h.write("/**\n");
    +            h.write("* Licensed to the Apache Software Foundation (ASF) 
under one\n");
    +            h.write("* or more contributor license agreements.  See the 
NOTICE file\n");
    +            h.write("* distributed with this work for additional 
information\n");
    +            h.write("* regarding copyright ownership.  The ASF licenses 
this file\n");
    +            h.write("* to you under the Apache License, Version 2.0 
(the\n");
    +            h.write("* \"License\"); you may not use this file except in 
compliance\n");
    +            h.write("* with the License.  You may obtain a copy of the 
License at\n");
    +            h.write("*\n");
    +            h.write("*     http://www.apache.org/licenses/LICENSE-2.0\n";);
    +            h.write("*\n");
    +            h.write("* Unless required by applicable law or agreed to in 
writing, software\n");
    +            h.write("* distributed under the License is distributed on an 
\"AS IS\" BASIS,\n");
    +            h.write("* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 
either express or implied.\n");
    +            h.write("* See the License for the specific language governing 
permissions and\n");
    +            h.write("* limitations under the License.\n");
    +            h.write("*/\n");
    +            h.write("\n");
     
    -        h.write("#ifndef __"+mName.toUpperCase().replace('.','_')+"__\n");
    -        h.write("#define __"+mName.toUpperCase().replace('.','_')+"__\n");
    +            c.write("/**\n");
    +            c.write("* Licensed to the Apache Software Foundation (ASF) 
under one\n");
    +            c.write("* or more contributor license agreements.  See the 
NOTICE file\n");
    +            c.write("* distributed with this work for additional 
information\n");
    +            c.write("* regarding copyright ownership.  The ASF licenses 
this file\n");
    +            c.write("* to you under the Apache License, Version 2.0 
(the\n");
    +            c.write("* \"License\"); you may not use this file except in 
compliance\n");
    +            c.write("* with the License.  You may obtain a copy of the 
License at\n");
    +            c.write("*\n");
    +            c.write("*     http://www.apache.org/licenses/LICENSE-2.0\n";);
    +            c.write("*\n");
    +            c.write("* Unless required by applicable law or agreed to in 
writing, software\n");
    +            c.write("* distributed under the License is distributed on an 
\"AS IS\" BASIS,\n");
    +            c.write("* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 
either express or implied.\n");
    +            c.write("* See the License for the specific language governing 
permissions and\n");
    +            c.write("* limitations under the License.\n");
    +            c.write("*/\n");
    +            c.write("\n");
     
    -        h.write("#include \"recordio.h\"\n");
    -        for (Iterator<JFile> i = mInclFiles.iterator(); i.hasNext();) {
    -            JFile f = i.next();
    -            h.write("#include \""+f.getName()+".h\"\n");
    -        }
    -        // required for compilation from C++
    -        h.write("\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n");
    +            h.write("#ifndef __" + mName.toUpperCase().replace('.', '_') + 
"__\n");
    +            h.write("#define __" + mName.toUpperCase().replace('.', '_') + 
"__\n");
     
    -        c.write("#include <stdlib.h>\n"); // need it for calloc() & free()
    -        c.write("#include \""+mName+".h\"\n\n");
    +            h.write("#include \"recordio.h\"\n");
    +            for (Iterator<JFile> i = mInclFiles.iterator(); i.hasNext(); ) 
{
    +                JFile f = i.next();
    +                h.write("#include \"" + f.getName() + ".h\"\n");
    +            }
    +            // required for compilation from C++
    +            h.write("\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n");
     
    -        for (Iterator<JRecord> i = mRecList.iterator(); i.hasNext();) {
    -            JRecord jr = i.next();
    -            jr.genCCode(h, c);
    -        }
    +            c.write("#include <stdlib.h>\n"); // need it for calloc() & 
free()
    +            c.write("#include \"" + mName + ".h\"\n\n");
     
    -        h.write("\n#ifdef __cplusplus\n}\n#endif\n\n");
    -        h.write("#endif //"+mName.toUpperCase().replace('.','_')+"__\n");
    +            for (Iterator<JRecord> i = mRecList.iterator(); i.hasNext(); ) 
{
    +                JRecord jr = i.next();
    +                jr.genCCode(h, c);
    +            }
     
    -        h.close();
    -        c.close();
    +            h.write("\n#ifdef __cplusplus\n}\n#endif\n\n");
    +            h.write("#endif //" + mName.toUpperCase().replace('.', '_') + 
"__\n");
    +        } catch (IOException e) {
    +            throw e;
    +        } finally {
    +            if (h != null) {
    +                try {
    +                    h.close();
    +                } catch (IOException ex) {
    +                    throw ex;
    +                } finally {
    +                    if (c != null) {
    +                        c.close();
    +                    }
    +                }
    +            }
    +            if (c != null) {
    --- End diff --
    
    i think try with resources would clean this up. we are on java7 now right?


> Investigate and fix findbug warnings
> ------------------------------------
>
>                 Key: ZOOKEEPER-2628
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2628
>             Project: ZooKeeper
>          Issue Type: Bug
>    Affects Versions: 3.5.2
>            Reporter: Michael Han
>             Fix For: 3.5.3
>
>
> Findbug tool used by Jenkins bot is upgraded to 3.0.1 from 2.0.3 according to 
> Infra team, and this leads to 20 new warnings produced by findbug. The 
> warning reports can be found on [pre commit 
> builds|https://builds.apache.org/job/PreCommit-ZOOKEEPER-Build/] with build 
> number >= 3513. These warnings need to be triaged and fixed if they are 
> legitimate.



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

Reply via email to