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

ASF GitHub Bot commented on OPENNLP-1486:
-----------------------------------------

rzo1 commented on code in PR #102:
URL: https://github.com/apache/opennlp-sandbox/pull/102#discussion_r1173691674


##########
opennlp-coref/src/main/java/opennlp/tools/coref/resolver/MaxentResolver.java:
##########
@@ -340,7 +344,9 @@ public void train() throws IOException {
     if (ResolverMode.TRAIN == mode) {
       if (DEBUG) {
         System.err.println(this + " referential");
-        try (FileWriter writer = new FileWriter(modelName + ".events")) {
+        Path p = Path.of(modelName + ".events");
+        try (Writer writer = Files.newBufferedWriter(p, StandardCharsets.UTF_8,
+                StandardOpenOption.WRITE, StandardOpenOption.CREATE, 
StandardOpenOption.TRUNCATE_EXISTING)) {

Review Comment:
   see above



##########
opennlp-coref/src/main/java/opennlp/tools/coref/sim/SimilarityModel.java:
##########
@@ -356,7 +360,9 @@ public double compatible(Context mention1, Context 
mention2) {
   @Override
   public void trainModel() throws IOException {
     if (debugOn) {
-      try (FileWriter writer = new FileWriter(modelName + ".events")) {
+      Path p = Path.of(modelName + ".events");
+      try (Writer writer = Files.newBufferedWriter(p, StandardCharsets.UTF_8,
+              StandardOpenOption.WRITE, StandardOpenOption.CREATE, 
StandardOpenOption.TRUNCATE_EXISTING)) {

Review Comment:
   see above



##########
opennlp-dl/src/main/java/opennlp/tools/dl/StackedRNN.java:
##########
@@ -336,24 +339,26 @@ public String sample(int seedIx) {
 
   @Override
   public void serialize(String prefix) throws IOException {
-    try (BufferedWriter bufferedWriter = new BufferedWriter(new 
FileWriter(prefix + new Date() + ".txt"))) {
-      bufferedWriter.write("wxh");
-      bufferedWriter.write(wxh.toString());
-      bufferedWriter.write("whh");
-      bufferedWriter.write(whh.toString());
-      bufferedWriter.write("wxh2");
-      bufferedWriter.write(wxh2.toString());
-      bufferedWriter.write("whh2");
-      bufferedWriter.write(whh2.toString());
-      bufferedWriter.write("wh2y");
-      bufferedWriter.write(wh2y.toString());
-      bufferedWriter.write("bh");
-      bufferedWriter.write(bh.toString());
-      bufferedWriter.write("bh2");
-      bufferedWriter.write(bh2.toString());
-      bufferedWriter.write("by");
-      bufferedWriter.write(by.toString());
-      bufferedWriter.flush();
+    Path p = Path.of(prefix + new Date() + ".txt");
+    try (Writer writer = Files.newBufferedWriter(p, StandardCharsets.UTF_8,
+            StandardOpenOption.WRITE, StandardOpenOption.CREATE, 
StandardOpenOption.TRUNCATE_EXISTING)) {

Review Comment:
   see above



##########
opennlp-coref/src/main/java/opennlp/tools/coref/sim/GenderModel.java:
##########
@@ -251,7 +255,9 @@ public double[] genderDistribution(Context np1) {
   @Override
   public void trainModel() throws IOException {
     if (debugOn) {
-      try (FileWriter writer = new FileWriter(modelName + ".events")) {
+      Path p = Path.of(modelName + ".events");
+      try (Writer writer = Files.newBufferedWriter(p, StandardCharsets.UTF_8,
+              StandardOpenOption.WRITE, StandardOpenOption.CREATE, 
StandardOpenOption.TRUNCATE_EXISTING)) {

Review Comment:
   see above



##########
opennlp-dl/src/main/java/opennlp/tools/dl/RNN.java:
##########
@@ -349,18 +352,20 @@ public String toString() {
   }
 
   public void serialize(String prefix) throws IOException {
-    try (BufferedWriter bufferedWriter = new BufferedWriter(new 
FileWriter(prefix + new Date() + ".txt"))) {
-      bufferedWriter.write("wxh");
-      bufferedWriter.write(wxh.toString());
-      bufferedWriter.write("whh");
-      bufferedWriter.write(whh.toString());
-      bufferedWriter.write("why");
-      bufferedWriter.write(why.toString());
-      bufferedWriter.write("bh");
-      bufferedWriter.write(bh.toString());
-      bufferedWriter.write("by");
-      bufferedWriter.write(by.toString());
-      bufferedWriter.flush();
+    Path p = Path.of(prefix + new Date() + ".txt");
+    try (Writer writer = Files.newBufferedWriter(p, StandardCharsets.UTF_8,

Review Comment:
   see above



##########
opennlp-coref/src/main/java/opennlp/tools/coref/resolver/DefaultNonReferentialResolver.java:
##########
@@ -127,7 +131,9 @@ public void train() throws IOException {
     if (ResolverMode.TRAIN == mode) {
       System.err.println(this + " referential");
       if (debugOn) {
-        try (FileWriter writer = new FileWriter(modelName + ".events")) {
+        Path p = Path.of(modelName + ".events");
+        try (Writer writer = Files.newBufferedWriter(p, StandardCharsets.UTF_8,

Review Comment:
   The previous `FileWriter` didn't override the file. Guess, we need to remove 
the `TRUNCATE_EXISTING` here.
   
   For reference: 
https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/FileWriter.html#%3Cinit%3E(java.io.File)





> Switch to BufferedWriter in various sandbox components
> ------------------------------------------------------
>
>                 Key: OPENNLP-1486
>                 URL: https://issues.apache.org/jira/browse/OPENNLP-1486
>             Project: OpenNLP
>          Issue Type: Improvement
>          Components: Coref
>    Affects Versions: 2.1.1
>            Reporter: Martin Wiesner
>            Assignee: Martin Wiesner
>            Priority: Minor
>             Fix For: 2.2.0
>
>
> As reported in [PR #29|https://github.com/apache/opennlp-sandbox/pull/29], 
> several classes don't used buffered IO when writing data/files to disk. This 
> should be improved. The original PR became incompatible over time and the 
> original contributor did not show activity for a longer time. Therefore, this 
> issue shall catch his idea and improve the state from the current state of 
> the sandbox code base.
> PR #29 addressed the following components:
> - modelbuilder-addon
> - opennlp-coref
> The above list is potentially not complete and can or should be extended.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to