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