Blame view

src/app/Application.java 2.54 KB
18e7a394   Remi   add package
1
2
  package app;
  
94ba86ff   Remi   Auto stash before...
3
  import kernel.Cell;
2e8fbd04   Remi   global refactor
4
  import kernel.Grid;
94ba86ff   Remi   Auto stash before...
5
  import kernel.exception.CellNotFoundException;
5731029f   Remi   merge
6
  import kernel.exception.CreateCycleException;
eb07e5e3   [mandjemb]   avec serialisation
7
  import kernel.exception.InvalidIntervalLineColumnEception;
94ba86ff   Remi   Auto stash before...
8
9
10
  import kernel.function.Average;
  import kernel.function.Sum;
  
eb07e5e3   [mandjemb]   avec serialisation
11
12
13
14
  import java.io.File;
  import java.io.FileOutputStream;
  import java.io.IOException;
  import java.io.ObjectOutputStream;
94ba86ff   Remi   Auto stash before...
15
16
  import java.util.ArrayList;
  import java.util.List;
18e7a394   Remi   add package
17
  
e0bdcd83   Remi   refacto
18
  public class Application {
18e7a394   Remi   add package
19
  
e0bdcd83   Remi   refacto
20
21
      public static void main(String[] args) throws IOException {
          File fichier = new File("essai.ser");
eb07e5e3   [mandjemb]   avec serialisation
22
  
e0bdcd83   Remi   refacto
23
24
          // ouverture d'un flux sur un fichier
          ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(fichier));
1ff9c9a9   [mandjemb]   Recommandation pr...
25
  
e0bdcd83   Remi   refacto
26
          Grid grid = new Grid();
18e7a394   Remi   add package
27
  
94ba86ff   Remi   Auto stash before...
28
29
          // Création
          System.out.println("Création de quelques cases...");
eb07e5e3   [mandjemb]   avec serialisation
30
  
94ba86ff   Remi   Auto stash before...
31
          try {
1ff9c9a9   [mandjemb]   Recommandation pr...
32
              grid.createCell("A", 1, 10.);
eb07e5e3   [mandjemb]   avec serialisation
33
34
              grid.createCell("B", 1, 0.);
              grid.createCell("A", 2, 5.);
94ba86ff   Remi   Auto stash before...
35
36
37
38
39
40
41
42
43
44
45
              List<Cell> sumList = new ArrayList<>();
              sumList.add(grid.getCell("A", 1));
              sumList.add(grid.getCell("A", 2));
  
              grid.createCell("A", 3, new Sum(sumList));
  
              List<Cell> averageList = new ArrayList<>();
              averageList.add(grid.getCell("A", 3));
              averageList.add(grid.getCell("B", 1));
  
              grid.createCell("B", 2, new Average(averageList));
e0bdcd83   Remi   refacto
46
          } catch (CellNotFoundException | CreateCycleException | InvalidIntervalLineColumnEception exception) {
94ba86ff   Remi   Auto stash before...
47
              System.out.println(exception.getMessage());
94ba86ff   Remi   Auto stash before...
48
          }
94ba86ff   Remi   Auto stash before...
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
  
          // Affichage
          List<Cell> cells = grid.getCells();
  
          System.out.println("Affichage des valeurs :");
          for (Cell cell : cells)
              System.out.println(cell.getId() + ": " + cell.getValue());
  
          System.out.println("Affichage des formules :");
          for (Cell cell : cells)
              System.out.println(cell.getId() + ": " + cell.toString());
  
          System.out.println("Affichage des formules développées :");
          for (Cell cell : cells)
              System.out.println(cell.getId() + ": " + cell.getDevelopedFormula());
5731029f   Remi   merge
64
65
66
67
68
69
70
71
72
73
74
  
          // Propagation
          try {
              grid.setValue("A", 1, 20.);
          } catch (CellNotFoundException exception) {
              System.out.println("exception");
          }
  
          System.out.println("Affichage des valeurs après modification :");
          for (Cell cell : cells)
              System.out.println(cell.getId() + ": " + cell.getValue());
eb07e5e3   [mandjemb]   avec serialisation
75
76
  
          // sérialization de l'objet
eb07e5e3   [mandjemb]   avec serialisation
77
78
          oos.writeObject(grid);
          oos.close();
18e7a394   Remi   add package
79
      }
18e7a394   Remi   add package
80
  }