Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
please both sonar and codacy
[simgrid.git] / examples / java / io / file / Node.java
index 89e992b..706c3b9 100644 (file)
@@ -4,6 +4,18 @@
 /* This program is free software; you can redistribute it and/or modify it
  * under the terms of the license (GNU LGPL) which comes with this package. */
 
+/********************* Files and Storage handling ****************************
+ * This example implements all main file functions of the MSG API
+ *
+ * Scenario: Each host
+ * - opens a file
+ * - tries to read 10,000 bytes in this file
+ * - writes 100,000 bytes in the file
+ * - seeks back to the beginning of the file
+ * - tries to read 150,000 bytes in this file
+ *
+******************************************************************************/
+
 package io.file;
 
 import org.simgrid.msg.Msg;
@@ -14,53 +26,53 @@ import org.simgrid.msg.HostNotFoundException;
 import org.simgrid.msg.MsgException;
 
 public class Node extends Process {
-  private static String FILENAME1 = "/doc/simgrid/examples/platforms/g5k.xml";
-  private static String FILENAME2 = "\\Windows\\setupact.log";
-  private static String FILENAME3 = "/doc/simgrid/examples/platforms/g5k_cabinets.xml";
-  private static String FILENAME4 = "/doc/simgrid/examples/platforms/nancy.xml";
+  private static String file1 = "/doc/simgrid/examples/platforms/g5k.xml";
+  private static String file2 = "\\Windows\\setupact.log";
+  private static String file3 = "/doc/simgrid/examples/platforms/g5k_cabinets.xml";
+  private static String file4 = "/doc/simgrid/examples/platforms/nancy.xml";
 
-  protected int number;
+  protected int rank;
 
   public Node(Host host, int number) throws HostNotFoundException {
     super(host, Integer.toString(number), null);
-    this.number = number;
+    this.rank = number;
   }
 
   public void main(String[] args) throws MsgException {
-    String mount = "";
-    String filename;
-    switch (number) {
-      case 0:
-        mount = "/home";
-        filename = mount + FILENAME1;
+    String mount = "/home";
+    String fileName;
+    switch (rank) {
+      case 4:
+        fileName = mount + file1;
       break;
-      case 1:
+      case 0:
         mount = "c:";
-        filename = mount + FILENAME2;
+        fileName = mount + file2;
       break;
       case 2:
-        mount = "/home";
-        filename = mount + FILENAME3;
+        fileName = mount + file3;
       break;
-      case 3:
-        mount = "/home";
-        filename = mount + FILENAME4;
+      case 1:
+        fileName = mount + file4;
       break;
       default:
-        mount = "/home";
-        filename = mount + FILENAME1;
+        fileName = mount + file1;
+      break;
     }
 
-    Msg.info("Open file " + filename);
-    File file = new File(filename);
+    Msg.info("Open file " + fileName);
+    File file = new File(fileName);
+
+    long read = file.read(10000,1);
+    Msg.info("Having read " + read + " on " + fileName);
 
-    long read = file.read(10000000,1);
-    Msg.info("Having read " + read + " on " + filename);
+    long write = file.write(100000,1);
+    Msg.info("Having write " + write + " on " + fileName);
 
-    long write = file.read(100000,1);
-    Msg.info("Having write " + write + " on " + filename);
+    Msg.info("Seek back to the beginning of " + fileName);
+    file.seek(0,File.SEEK_SET);
 
-    read = file.read(10000000,1);
-    Msg.info("Having read " + read + " on " + filename);  
+    read = file.read(150000,1);
+    Msg.info("Having read " + read + " on " + fileName);  
   }
 }