Skip to content

Commit 6c5e220

Browse files
committed
Refactoring for latest version of Petit Poucet
1 parent 39747fd commit 6c5e220

25 files changed

Lines changed: 75 additions & 134 deletions

File tree

Source/Charts/src/ca/uqac/lif/spreadsheet/chart/DrawChart.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/*
22
A provenance-aware spreadsheet library
3-
Copyright (C) 2021 Sylvain Hallé
3+
Copyright (C) 2021-2023 Sylvain Hallé
44
55
This program is free software: you can redistribute it and/or modify
66
it under the terms of the GNU Lesser General Public License as published by
@@ -24,7 +24,6 @@
2424

2525
import ca.uqac.lif.dag.LeafCrawler;
2626
import ca.uqac.lif.dag.Node;
27-
import ca.uqac.lif.petitpoucet.NodeFactory;
2827
import ca.uqac.lif.petitpoucet.Part;
2928
import ca.uqac.lif.petitpoucet.Part.Self;
3029
import ca.uqac.lif.petitpoucet.PartNode;
@@ -34,6 +33,7 @@
3433
import ca.uqac.lif.petitpoucet.function.InvalidNumberOfArgumentsException;
3534
import ca.uqac.lif.petitpoucet.function.NthInput;
3635
import ca.uqac.lif.petitpoucet.function.NthOutput;
36+
import ca.uqac.lif.petitpoucet.function.RelationNodeFactory;
3737
import ca.uqac.lif.spreadsheet.Spreadsheet;
3838

3939
/**
@@ -103,7 +103,7 @@ protected Object[] getValue(Object... inputs) throws InvalidNumberOfArgumentsExc
103103
}
104104

105105
@Override
106-
public PartNode getExplanation(Part d, NodeFactory f)
106+
public PartNode getExplanation(Part d, RelationNodeFactory f)
107107
{
108108
PartNode root = f.getPartNode(d, this);
109109
Part new_p = NthOutput.replaceOutBy(d, Part.self);
@@ -148,14 +148,14 @@ protected class PlotLeafCrawler extends LeafCrawler
148148
/**
149149
* The factory used to obtain node instances.
150150
*/
151-
private final NodeFactory m_factory;
151+
private final RelationNodeFactory m_factory;
152152

153153
/**
154154
* Creates a new plot leaf crawler.
155155
* @param n The start node of the exploration
156156
* @param f The factory used to obtain node instances
157157
*/
158-
public PlotLeafCrawler(Node n, NodeFactory f)
158+
public PlotLeafCrawler(Node n, RelationNodeFactory f)
159159
{
160160
super(n);
161161
m_factory = f;

Source/Core/src/ca/uqac/lif/spreadsheet/functions/ApplyFormula.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/*
22
A provenance-aware spreadsheet library
3-
Copyright (C) 2021-2022 Sylvain Hallé
3+
Copyright (C) 2021-2023 Sylvain Hallé
44
55
This program is free software: you can redistribute it and/or modify
66
it under the terms of the GNU Lesser General Public License as published by
@@ -25,7 +25,6 @@
2525
import ca.uqac.lif.dag.NestedNode;
2626
import ca.uqac.lif.dag.NodeConnector;
2727
import ca.uqac.lif.petitpoucet.ComposedPart;
28-
import ca.uqac.lif.petitpoucet.NodeFactory;
2928
import ca.uqac.lif.petitpoucet.Part;
3029
import ca.uqac.lif.petitpoucet.PartNode;
3130
import ca.uqac.lif.petitpoucet.function.AtomicFunction;
@@ -37,6 +36,7 @@
3736
import ca.uqac.lif.petitpoucet.function.InvalidNumberOfArgumentsException;
3837
import ca.uqac.lif.petitpoucet.function.NthInput;
3938
import ca.uqac.lif.petitpoucet.function.NthOutput;
39+
import ca.uqac.lif.petitpoucet.function.RelationNodeFactory;
4040
import ca.uqac.lif.spreadsheet.Cell;
4141
import ca.uqac.lif.spreadsheet.Spreadsheet;
4242

@@ -251,7 +251,7 @@ protected Object[] getValue(Object... inputs) throws InvalidNumberOfArgumentsExc
251251
}
252252

253253
@Override
254-
/*@ non_null @*/ public PartNode getExplanation(/*@ non_null @*/ Part part, /*@ non_null @*/ NodeFactory factory)
254+
/*@ non_null @*/ public PartNode getExplanation(/*@ non_null @*/ Part part, /*@ non_null @*/ RelationNodeFactory factory)
255255
{
256256
Cell c = Cell.mentionedCell(part);
257257
if (c == null)
@@ -263,7 +263,7 @@ protected Object[] getValue(Object... inputs) throws InvalidNumberOfArgumentsExc
263263
if (formula.getTarget().equals(c))
264264
{
265265
PartNode root = factory.getPartNode(part, this);
266-
NodeFactory sub_factory = factory.getFactory(part, this);
266+
RelationNodeFactory sub_factory = factory.getFactory(part, this);
267267
Part sub_part = ComposedPart.compose(part.tail().tail(), NthOutput.FIRST); // we remove nth-output + cell
268268
PartNode sub_root = ((ExplanationQueryable) formula.m_formula).getExplanation(sub_part, sub_factory);
269269
NestedNode nn = NestedNode.createFromTree(sub_root);

Source/Core/src/ca/uqac/lif/spreadsheet/functions/CopyFrom.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/*
22
A provenance-aware spreadsheet library
3-
Copyright (C) 2021-2022 Sylvain Hallé
3+
Copyright (C) 2021-2023 Sylvain Hallé
44
55
This program is free software: you can redistribute it and/or modify
66
it under the terms of the GNU Lesser General Public License as published by
@@ -17,13 +17,13 @@
1717
*/
1818
package ca.uqac.lif.spreadsheet.functions;
1919

20-
import ca.uqac.lif.petitpoucet.NodeFactory;
2120
import ca.uqac.lif.petitpoucet.Part;
2221
import ca.uqac.lif.petitpoucet.PartNode;
2322
import ca.uqac.lif.petitpoucet.function.AtomicFunction;
2423
import ca.uqac.lif.petitpoucet.function.InvalidArgumentTypeException;
2524
import ca.uqac.lif.petitpoucet.function.InvalidNumberOfArgumentsException;
2625
import ca.uqac.lif.petitpoucet.function.NthOutput;
26+
import ca.uqac.lif.petitpoucet.function.RelationNodeFactory;
2727
import ca.uqac.lif.spreadsheet.Cell;
2828
import ca.uqac.lif.spreadsheet.Spreadsheet;
2929
import ca.uqac.lif.spreadsheet.SpreadsheetOutOfBoundsException;
@@ -109,7 +109,7 @@ protected Object[] getValue(Object... inputs) throws InvalidNumberOfArgumentsExc
109109
}
110110

111111
@Override
112-
public PartNode getExplanation(Part d, NodeFactory f)
112+
public PartNode getExplanation(Part d, RelationNodeFactory f)
113113
{
114114
PartNode root = f.getPartNode(d, this);
115115
if (NthOutput.mentionedOutput(d) != 0)

Source/Core/src/ca/uqac/lif/spreadsheet/functions/GetFrequencies.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/*
22
A provenance-aware spreadsheet library
3-
Copyright (C) 2021 Sylvain Hallé
3+
Copyright (C) 2021-2023 Sylvain Hallé
44
55
This program is free software: you can redistribute it and/or modify
66
it under the terms of the GNU Lesser General Public License as published by
@@ -24,14 +24,14 @@
2424
import ca.uqac.lif.dag.LabelledNode;
2525
import ca.uqac.lif.petitpoucet.AndNode;
2626
import ca.uqac.lif.petitpoucet.ComposedPart;
27-
import ca.uqac.lif.petitpoucet.NodeFactory;
2827
import ca.uqac.lif.petitpoucet.Part;
2928
import ca.uqac.lif.petitpoucet.PartNode;
3029
import ca.uqac.lif.petitpoucet.function.AtomicFunction;
3130
import ca.uqac.lif.petitpoucet.function.InvalidArgumentTypeException;
3231
import ca.uqac.lif.petitpoucet.function.InvalidNumberOfArgumentsException;
3332
import ca.uqac.lif.petitpoucet.function.NthInput;
3433
import ca.uqac.lif.petitpoucet.function.NthOutput;
34+
import ca.uqac.lif.petitpoucet.function.RelationNodeFactory;
3535
import ca.uqac.lif.petitpoucet.function.vector.NthElement;
3636
import ca.uqac.lif.spreadsheet.Cell;
3737
import ca.uqac.lif.spreadsheet.DataFormatter;
@@ -173,7 +173,7 @@ public GetFrequencies(double min_x, double max_x, int b_x, double min_y, double
173173
}
174174

175175
@Override
176-
public PartNode getExplanation(Part d, NodeFactory f)
176+
public PartNode getExplanation(Part d, RelationNodeFactory f)
177177
{
178178
PartNode root = f.getPartNode(d, this);
179179
int mentioned_output = NthOutput.mentionedOutput(d);

Source/Core/src/ca/uqac/lif/spreadsheet/functions/PasteAt.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/*
22
A provenance-aware spreadsheet library
3-
Copyright (C) 2021-2022 Sylvain Hallé
3+
Copyright (C) 2021-2023 Sylvain Hallé
44
55
This program is free software: you can redistribute it and/or modify
66
it under the terms of the GNU Lesser General Public License as published by
@@ -17,13 +17,13 @@
1717
*/
1818
package ca.uqac.lif.spreadsheet.functions;
1919

20-
import ca.uqac.lif.petitpoucet.NodeFactory;
2120
import ca.uqac.lif.petitpoucet.Part;
2221
import ca.uqac.lif.petitpoucet.PartNode;
2322
import ca.uqac.lif.petitpoucet.function.AtomicFunction;
2423
import ca.uqac.lif.petitpoucet.function.InvalidArgumentTypeException;
2524
import ca.uqac.lif.petitpoucet.function.InvalidNumberOfArgumentsException;
2625
import ca.uqac.lif.petitpoucet.function.NthOutput;
26+
import ca.uqac.lif.petitpoucet.function.RelationNodeFactory;
2727
import ca.uqac.lif.spreadsheet.Cell;
2828
import ca.uqac.lif.spreadsheet.Spreadsheet;
2929

@@ -154,7 +154,7 @@ protected Object[] getValue(Object... inputs) throws InvalidNumberOfArgumentsExc
154154
}
155155

156156
@Override
157-
public PartNode getExplanation(Part d, NodeFactory f)
157+
public PartNode getExplanation(Part d, RelationNodeFactory f)
158158
{
159159
PartNode root = f.getPartNode(d, this);
160160
if (NthOutput.mentionedOutput(d) != 0)
@@ -193,7 +193,7 @@ else if (inSource(c_col, c_row))
193193
* <p>
194194
* <strong>Caveat emptor:</strong> this method works in tandem with
195195
* {@link #inPasted(int, int)}, and both methods are called by
196-
* {@link #getExplanation(Part, NodeFactory)}. Method {@link #inSource(int, int)}
196+
* {@link #getExplanation(Part, RelationNodeFactory)}. Method {@link #inSource(int, int)}
197197
* is only called if {@link #inPasted(int, int)} first returns false,
198198
* which means that this method only checks if <tt>col</tt> and <tt>row</tt>
199199
* are within the dimensions of the source spreadsheet (disregarding any

Source/Core/src/ca/uqac/lif/spreadsheet/functions/ReadSpreadsheet.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/*
22
A provenance-aware spreadsheet library
3-
Copyright (C) 2021 Sylvain Hallé
3+
Copyright (C) 2021-2023 Sylvain Hallé
44
55
This program is free software: you can redistribute it and/or modify
66
it under the terms of the GNU Lesser General Public License as published by
@@ -21,12 +21,12 @@
2121
import java.util.Map;
2222
import java.util.Scanner;
2323

24-
import ca.uqac.lif.petitpoucet.NodeFactory;
2524
import ca.uqac.lif.petitpoucet.Part;
2625
import ca.uqac.lif.petitpoucet.PartNode;
2726
import ca.uqac.lif.petitpoucet.function.AtomicFunction;
2827
import ca.uqac.lif.petitpoucet.function.InvalidArgumentTypeException;
2928
import ca.uqac.lif.petitpoucet.function.InvalidNumberOfArgumentsException;
29+
import ca.uqac.lif.petitpoucet.function.RelationNodeFactory;
3030
import ca.uqac.lif.spreadsheet.Cell;
3131
import ca.uqac.lif.spreadsheet.Spreadsheet;
3232

@@ -71,7 +71,7 @@ else if (inputs[0] instanceof String)
7171
}
7272

7373
@Override
74-
public PartNode getExplanation(Part d, NodeFactory f)
74+
public PartNode getExplanation(Part d, RelationNodeFactory f)
7575
{
7676
PartNode root = f.getPartNode(d, this);
7777
Cell c = Cell.mentionedCell(d);

Source/Core/src/ca/uqac/lif/spreadsheet/functions/Resize.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,13 @@
1717
*/
1818
package ca.uqac.lif.spreadsheet.functions;
1919

20-
import ca.uqac.lif.petitpoucet.NodeFactory;
2120
import ca.uqac.lif.petitpoucet.Part;
2221
import ca.uqac.lif.petitpoucet.PartNode;
2322
import ca.uqac.lif.petitpoucet.function.AtomicFunction;
2423
import ca.uqac.lif.petitpoucet.function.InvalidArgumentTypeException;
2524
import ca.uqac.lif.petitpoucet.function.InvalidNumberOfArgumentsException;
2625
import ca.uqac.lif.petitpoucet.function.NthOutput;
26+
import ca.uqac.lif.petitpoucet.function.RelationNodeFactory;
2727
import ca.uqac.lif.spreadsheet.Cell;
2828
import ca.uqac.lif.spreadsheet.Spreadsheet;
2929

@@ -114,7 +114,7 @@ protected Object[] getValue(Object... inputs) throws InvalidNumberOfArgumentsExc
114114
}
115115

116116
@Override
117-
public PartNode getExplanation(Part d, NodeFactory f)
117+
public PartNode getExplanation(Part d, RelationNodeFactory f)
118118
{
119119
PartNode root = f.getPartNode(d, this);
120120
if (NthOutput.mentionedOutput(d) != 0 || m_lastHeight < 1)

Source/Core/src/ca/uqac/lif/spreadsheet/functions/SpreadsheetFunction.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/*
22
A provenance-aware spreadsheet library
3-
Copyright (C) 2021 Sylvain Hallé
3+
Copyright (C) 2021-2023 Sylvain Hallé
44
55
This program is free software: you can redistribute it and/or modify
66
it under the terms of the GNU Lesser General Public License as published by
@@ -24,12 +24,12 @@
2424
import ca.uqac.lif.dag.LabelledNode;
2525
import ca.uqac.lif.petitpoucet.AndNode;
2626
import ca.uqac.lif.petitpoucet.ComposedPart;
27-
import ca.uqac.lif.petitpoucet.NodeFactory;
2827
import ca.uqac.lif.petitpoucet.Part;
2928
import ca.uqac.lif.petitpoucet.PartNode;
3029
import ca.uqac.lif.petitpoucet.function.AtomicFunction;
3130
import ca.uqac.lif.petitpoucet.function.NthInput;
3231
import ca.uqac.lif.petitpoucet.function.NthOutput;
32+
import ca.uqac.lif.petitpoucet.function.RelationNodeFactory;
3333
import ca.uqac.lif.spreadsheet.Cell;
3434
import ca.uqac.lif.spreadsheet.Spreadsheet;
3535

@@ -93,7 +93,7 @@ public void reset()
9393
}
9494

9595
@Override
96-
public PartNode getExplanation(Part part, NodeFactory factory)
96+
public PartNode getExplanation(Part part, RelationNodeFactory factory)
9797
{
9898
int output_nb = NthOutput.mentionedOutput(part);
9999
Cell c = Cell.mentionedCell(part);

Source/Core/src/ca/uqac/lif/spreadsheet/functions/ValueOf.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/*
22
A provenance-aware spreadsheet library
3-
Copyright (C) 2021 Sylvain Hallé
3+
Copyright (C) 2021-2023 Sylvain Hallé
44
55
This program is free software: you can redistribute it and/or modify
66
it under the terms of the GNU Lesser General Public License as published by
@@ -18,7 +18,6 @@
1818
package ca.uqac.lif.spreadsheet.functions;
1919

2020
import ca.uqac.lif.petitpoucet.ComposedPart;
21-
import ca.uqac.lif.petitpoucet.NodeFactory;
2221
import ca.uqac.lif.petitpoucet.Part;
2322
import ca.uqac.lif.petitpoucet.PartNode;
2423
import ca.uqac.lif.petitpoucet.function.AtomicFunction;
@@ -27,6 +26,7 @@
2726
import ca.uqac.lif.petitpoucet.function.InvalidNumberOfArgumentsException;
2827
import ca.uqac.lif.petitpoucet.function.NthInput;
2928
import ca.uqac.lif.petitpoucet.function.NthOutput;
29+
import ca.uqac.lif.petitpoucet.function.RelationNodeFactory;
3030
import ca.uqac.lif.spreadsheet.Cell;
3131
import ca.uqac.lif.spreadsheet.Spreadsheet;
3232
import ca.uqac.lif.spreadsheet.SpreadsheetOutOfBoundsException;
@@ -81,7 +81,7 @@ protected Object[] getValue(Object ... args) throws InvalidNumberOfArgumentsExce
8181
}
8282

8383
@Override
84-
public PartNode getExplanation(Part part, NodeFactory factory)
84+
public PartNode getExplanation(Part part, RelationNodeFactory factory)
8585
{
8686
PartNode root = factory.getPartNode(part, this);
8787
int index = NthOutput.mentionedOutput(part);

Source/Core/srctest/ca/uqac/lif/spreadsheet/functions/ApplyFormulaTest.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,6 @@
3535
import ca.uqac.lif.petitpoucet.function.number.Addition;
3636
import ca.uqac.lif.spreadsheet.Cell;
3737
import ca.uqac.lif.spreadsheet.Spreadsheet;
38-
import ca.uqac.lif.spreadsheet.functions.ApplyFormula;
39-
import ca.uqac.lif.spreadsheet.functions.CellFormula;
40-
import ca.uqac.lif.spreadsheet.functions.ValueOf;
4138

4239
public class ApplyFormulaTest
4340
{

0 commit comments

Comments
 (0)