diff --git a/pom.xml b/pom.xml
index 552615e..ea6a449 100644
--- a/pom.xml
+++ b/pom.xml
@@ -35,5 +35,12 @@
junit
4.12
+
+
+
+ com.opencsv
+ opencsv
+ 3.9
+
\ No newline at end of file
diff --git a/src/main/java/Presenter/Algorithms/LeastMedianOfSquaresEstimator.java b/src/main/java/Presenter/Algorithms/LeastMedianOfSquaresEstimator.java
index 3b96ccd..7cc541f 100644
--- a/src/main/java/Presenter/Algorithms/LeastMedianOfSquaresEstimator.java
+++ b/src/main/java/Presenter/Algorithms/LeastMedianOfSquaresEstimator.java
@@ -139,8 +139,7 @@ public class LeastMedianOfSquaresEstimator extends Observable implements Algorit
setChanged();
double m = (getSigmaMin().getX2() + getSigmaMin().getX1()) * -0.5;
double b = (getSigmaMin().getY2() + getSigmaMin().getY1()) * 0.5;
- Line result = new Line(m, b);
- result.setId("lms");
+ String[] result = {"lms", m+"", b+""};
notifyObservers(result);
}
}
diff --git a/src/main/java/Presenter/Algorithms/RepeatedMedianEstimator.java b/src/main/java/Presenter/Algorithms/RepeatedMedianEstimator.java
index f99f5be..764b106 100644
--- a/src/main/java/Presenter/Algorithms/RepeatedMedianEstimator.java
+++ b/src/main/java/Presenter/Algorithms/RepeatedMedianEstimator.java
@@ -9,6 +9,7 @@ import java.util.Collections;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.Observable;
+import java.util.Random;
import java.util.concurrent.ThreadLocalRandom;
/**
@@ -77,6 +78,7 @@ public class RepeatedMedianEstimator extends Observable implements Algorithm {
public void run() {
while (linesInCenterSlab.size() != 1) {
+ n = linesInCenterSlab.size();
r = Math.ceil(Math.pow(n, beta));
ArrayList lines = sampleLines(linesInCenterSlab, r);
@@ -92,16 +94,18 @@ public class RepeatedMedianEstimator extends Observable implements Algorithm {
}
//rank of the repeated median in C
- k = (Math.floor(n * 0.5) - linesInLeftSlab.size());
+ k = Math.max(1,Math.min(set.size(),(Math.ceil(n * 0.5) - linesInLeftSlab.size())));
//compute k_lo and k_hi
computeSlabBorders();
+
+ if (medianIntersectionAbscissas.size() < kLow || medianIntersectionAbscissas.size() a, int start, int end, double i) {
- if (start == end) {
- return a.get(start);
+ public Double randomizedSelect(ArrayList a, double i) {
+ int start = 0;
+ int end = a.size()-1;
+ if (i >= end+1){
+ return a.get(end);
}
- int q = randomizedPartition(a, start, end);
- int tmpPivot = q - start + 1;
- if (i == tmpPivot) {
- return a.get(q);
- } else if (i < tmpPivot) {
- return randomizedSelect(a, start, q - 1, i);
- } else {
- return randomizedSelect(a, q + 1, end, i - tmpPivot);
+ while(true){
+ if(start == end){
+ return a.get(start);
+ }
+ int q = randomizedPartition(a, start, end);
+ int k = q-start+1;
+
+ if(i == k){
+ return a.get(q);
+ }
+ else{
+ if(i a, int start, int end) {
- int delta = Math.abs(end - start);
- int i = start + ThreadLocalRandom.current().nextInt(0, delta);
+ int i = 0;
+ Random random = new Random(System.currentTimeMillis());
+
+ //alternative: ThreadLocalRandom.current()
+ if(start < end){
+ i = start + random.nextInt(end-start);
+ }else{
+ i = end + random.nextInt(start-end);
+ }
+
Collections.swap(a, end, i);
return partition(a, start, end);
}
@@ -240,14 +269,14 @@ public class RepeatedMedianEstimator extends Observable implements Algorithm {
public int partition(ArrayList a, int start, int end) {
Double x = a.get(end);
int i = start - 1;
- for (int j = start; j < end; j++) {
+ for (int j = start; j <= end-1; j++) {
if (a.get(j) <= x) {
i++;
Collections.swap(a, i, j);
}
}
- Collections.swap(a, i + 1, end);
- return i + 1;
+ Collections.swap(a, i+1, end);
+ return i+1;
}
/**
@@ -284,8 +313,6 @@ public class RepeatedMedianEstimator extends Observable implements Algorithm {
*
*/
public void contractIntervals() {
- //if (linesInLeftSlab.size() < Math.floor(n / 2) && Math.floor(n / 2) <= (linesInLeftSlab.size()
- // + linesInCenterSlab.size())) {
for (int i = 0; i < linesInCenterSlab.size(); i++) {
int left = countLeftSlab.get(i);
diff --git a/src/main/java/Presenter/Import/DataImporter.java b/src/main/java/Presenter/Import/DataImporter.java
index 23dec8b..6878eef 100644
--- a/src/main/java/Presenter/Import/DataImporter.java
+++ b/src/main/java/Presenter/Import/DataImporter.java
@@ -1,15 +1,18 @@
package Presenter.Import;
import Model.Arrangement;
-import java.io.BufferedReader;
-import java.io.FileInputStream;
+import Model.Line;
+import com.opencsv.CSVReader;
+import java.io.File;
import java.io.FileNotFoundException;
+import java.io.FileReader;
import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.UnsupportedEncodingException;
+import java.util.List;
+import java.util.Observable;
+import java.util.concurrent.ThreadLocalRandom;
import javax.swing.JOptionPane;
+
/**
* Implementierung verschiedener Algorithmen zur Berechnung von Ausgleichsgeraden.
*
@@ -17,72 +20,49 @@ import javax.swing.JOptionPane;
* @Email: a_wolf28@uni-muenster.de
* @Date: 21.06.2017.
*/
-public class DataImporter {
+public class DataImporter extends Observable{
- private String path;
- private InputStream inputStream;
+ private File file;
+ private CSVReader reader;
private Arrangement model;
- final String separator = " ";
- public DataImporter(String path, Arrangement model) {
- this.path = path;
+ public DataImporter(File file, Arrangement model) {
this.model = model;
+ this.file = file;
try {
- inputStream = new FileInputStream(path);
+
+ this.reader = new CSVReader(new FileReader(file));
} catch (FileNotFoundException e) {
- JOptionPane.showMessageDialog(null, e.getMessage());
+ e.printStackTrace();
}
}
- public void run() {
- try (BufferedReader br = new BufferedReader(new InputStreamReader(inputStream, "UTF-8"))) {
- String line;
- while ((line = br.readLine()) != null) {
- // process the line.
+ public void run(){
+
+ try {
+ List lines = reader.readAll();
+ int counter = 0;
+ String[] result = {"import", lines.size()+"", ""};
+ //System.out.println("+-------------------------------------------------------------------------------+");
+ for(String[] nextLine : lines) {
+ counter++;
+ // nextLine[] is an array of values from the line
+ int id = Integer.parseInt(nextLine[0]);
+ Double x = Double.parseDouble(nextLine[1]);
+ Double y = Double.parseDouble(nextLine[2]);
+ Line line = new Line(x,y);
+ line.setId(id+"");
+ model.addLine(line);
+ //System.out.format("|\t\t\t\t\t %-11d \t|\t\t\t\t\t %-11f \t|\t\t\t\t\t %-11f \t\t\t\t\t|\n", id,x,y);
+ setChanged();
+ result[2] = counter + "";
+ notifyObservers(result);
}
- br.close();
- } catch (UnsupportedEncodingException e) {
- e.printStackTrace();
+
+ //System.out.println("+-------------------------------------------------------------------------------+");
} catch (IOException e) {
e.printStackTrace();
}
- }
- public void parseLine(String line) {
- if (line.substring(0, 1) == "#") {
- return;
- } else if (isNumeric(line.substring(line.lastIndexOf(separator), line.length() - 1))) {
- String id = line.substring(0, line.indexOf(separator));
- Double x = Double.parseDouble(line.substring(line.indexOf(separator), line.lastIndexOf(separator)));
- Double y = Double.parseDouble(line.substring(line.lastIndexOf(separator), line.length()-1));
- System.out.println("ID: "+id+" x: "+x+"\t y: "+y);
- } else {
- return;
- }
- }
-
- public static boolean isNumeric(String str) {
- try {
- double d = Double.parseDouble(str);
- } catch (NumberFormatException nfe) {
- return false;
- }
- return true;
- }
-
- public String getPath() {
- return path;
- }
-
- public void setPath(String path) {
- path = path;
- }
-
- public InputStream getInputStream() {
- return inputStream;
- }
-
- public void setInputStream(InputStream inputStream) {
- this.inputStream = inputStream;
}
}
diff --git a/src/main/java/Presenter/Presenter.java b/src/main/java/Presenter/Presenter.java
index 5c5e0bb..c52d102 100644
--- a/src/main/java/Presenter/Presenter.java
+++ b/src/main/java/Presenter/Presenter.java
@@ -5,11 +5,14 @@ import Model.Line;
import Model.Point;
import Presenter.Algorithms.LeastMedianOfSquaresEstimator;
import Presenter.Algorithms.RepeatedMedianEstimator;
+import Presenter.Import.DataImporter;
import View.MainFrame;
+import java.io.File;
import java.util.LinkedList;
import java.util.List;
import java.util.Observable;
import java.util.Observer;
+import javax.swing.JOptionPane;
import javax.swing.SwingUtilities;
@@ -33,68 +36,92 @@ public class Presenter implements Observer {
public Presenter(Arrangement model, MainFrame view) {
this.model = model;
this.view = view;
-// Double[] x = {1d, 2d, 3d, 4d, 10d, 12d, 18d};
-// Double[] y = {9d, 15d, 19d, 20d, 45d, 55d, 78d};
- Double[] x = {18d, 24d, 30d, 34d, 38d};
- Double[] y = {18d, 26d, 30d, 40d, 70d};
-// Double[] x = {1d,3d,4d,5d,8d};
-// Double[] y = {4d,2d,1d,0d,0d};
- view.logHeading("Duale Darstellung der Punkte als Geraden:");
- for (int j = 0; j < x.length; j++) {
- Line p = new Line(x[j], y[j]);
- p.setId(j+"");
- view.log("f(x) = " + p.getM() + "x + " + p.getB());
- this.model.addLine(p);
- }
-
- calcArrangementNodes();
- //print
- List heading = new LinkedList<>();
- List> rows = new LinkedList<>();
- heading.add("X - Koordinate");
- heading.add("Y - Koordinate");
- for (Point p : model.getNodes()) {
- LinkedList rowEntry = new LinkedList<>();
- rowEntry.add(p.getX().toString());
- rowEntry.add(p.getY().toString());
- rows.add(rowEntry);
- }
- view.logHeading("Schnittpunkte der Dualen Geraden:");
- view.createTable(heading, rows);
+// Double[] x = {1d, 2d, 3d, 4d, 10d, 12d, 18d};
+// Double[] y = {9d, 15d, 19d, 20d, 45d, 55d, 78d};
+// Double[] x = {18d, 24d, 30d, 34d, 38d};
+// Double[] y = {18d, 26d, 30d, 40d, 70d};
+// Double[] x = {1d,3d,4d,5d,8d};
+// Double[] y = {4d,2d,1d,0d,0d};
+// view.logHeading("Duale Darstellung der Punkte als Geraden:");
+// for (int j = 0; j < x.length; j++) {
+// Line p = new Line(x[j], y[j]);
+// p.setId(j+"");
+// view.log("f(x) = " + p.getM() + "x + " + p.getB());
+// this.model.addLine(p);
+// }
+//
+// calcArrangementNodes();
+// //print
+// List heading = new LinkedList<>();
+// List> rows = new LinkedList<>();
+// heading.add("X - Koordinate");
+// heading.add("Y - Koordinate");
+// for (Point p : model.getNodes()) {
+// LinkedList rowEntry = new LinkedList<>();
+// rowEntry.add(p.getX().toString());
+// rowEntry.add(p.getY().toString());
+// rows.add(rowEntry);
+// }
+// view.logHeading("Schnittpunkte der Dualen Geraden:");
+// view.createTable(heading, rows);
}
@Override
public void update(Observable o, Object arg) {
- Line result = ((Line) arg);
- if (result.getId() == "lms"){
+ String[] result = ((String[]) arg);
+ if (result[0] == "lms"){
SwingUtilities.invokeLater(() -> {
- getView().visualizeLMS(result.getM(), result.getB());
+ getView().visualizeLMS(Double.parseDouble(result[1]), Double.parseDouble(result[2]));
//getView().setLmsIsComplete(true);
getView().logHeading("Least Median of Squares");
- getView().log("m: " + result.getM());
- getView().log("b: " + result.getB());
+ getView().log("m: " + result[1]);
+ getView().log("b: " + result[2]);
getView().logSuccess("Berechnung wurde Erfolgreich durchgeführt");
});
}
- if (result.getId() == "rm"){
+ if (result[0] == "rm"){
SwingUtilities.invokeLater(() -> {
- getView().visualizeRM(result.getM(), result.getB());
+ getView().visualizeRM(Double.parseDouble(result[1]), Double.parseDouble(result[2]));
getView().logHeading("Repeated Median Estimator");
- getView().log("m: " + result.getM());
- getView().log("b: " + result.getB());
+ getView().log("m: " + result[1]);
+ getView().log("b: " + result[2]);
getView().logSuccess("Berechnung wurde Erfolgreich durchgeführt");
});
}
+ if (result[0] == "import"){
+ Double max = Double.parseDouble(result[1]);
+ Double current = Double.parseDouble(result[2]);
+ Integer progress = (int) (100 * (current/max));
+ //100% erreicht
+ if (progress == 100){
+ SwingUtilities.invokeLater(() -> {
+ getView().showImportProgress(progress);
+ getView().enableFunctionality();
+ getView().getProgressDialog().dispose();
+ });
+ setup();
+ } else {
+ SwingUtilities.invokeLater(() -> {
+ getView().showImportProgress(progress);
+ });
+ }
+
+ }
+
+
+
}
- public void startArrangementVisualization() {
+ public void visualizeDualLines() {
view.createArrangement();
}
-
+ /***************************************************************************************************************************
+ * Ausführung der Algorithmen
+ ***************************************************************************************************************************/
public void calculateLMS(String[] input) {
Double constant = Double.parseDouble(input[0]);
Double error = Double.parseDouble(input[1]);
@@ -112,6 +139,33 @@ public class Presenter implements Observer {
rm.run();
}
+ /***************************************************************************************************************************
+ * Hilfsmethoden
+ ***************************************************************************************************************************/
+ public void setup(){
+ getView().logHeading("Duale Darstellung der Punkte als Geraden:");
+
+ for (int j = 0; j < getModel().getLines().size(); j++) {
+ Line p = getModel().getLines().get(j);
+ p.setId(j+"");
+ getView().log("f(x) = " + p.getM() + "x + " + p.getB());
+ }
+ calcArrangementNodes();
+
+ //Darstellung der Schnittpunkte in einer Tabelle
+ // List heading = new LinkedList<>();
+ // List> rows = new LinkedList<>();
+ // heading.add("X - Koordinate");
+ // heading.add("Y - Koordinate");
+ // for (Point p : getModel().getNodes()) {
+ // LinkedList rowEntry = new LinkedList<>();
+ // rowEntry.add(p.getX().toString());
+ // rowEntry.add(p.getY().toString());
+ // rows.add(rowEntry);
+ // }
+ // getView().logHeading("Schnittpunkte der Dualen Geraden:");
+ // getView().createTable(heading, rows);
+ }
public Point calcIntersection(Line a, Line b) {
Line p1 = a;
@@ -142,23 +196,28 @@ public class Presenter implements Observer {
}
- public LinkedList> calcArrangementLines() {
- LinkedList> lineCoordinates = new LinkedList<>();
+ public LinkedList calcArrangementLines() {
+ LinkedList lineCoordinates = new LinkedList<>();
double x1 = -1000;
double x2 = 1000;
for (Line point : model.getLines()) {
- LinkedList line = new LinkedList();
double y1 = (point.getM() * x1 + point.getB());
double y2 = (point.getM() * x2 + point.getB());
- line.add(new Point(x1, y1));
- line.add(new Point(x2, y2));
+ Line line = new Line(x1, x2, y1, y2);
+ line.setId(point.getId());
lineCoordinates.add(line);
}
return lineCoordinates;
}
+ public void startImport(File file){
+ DataImporter importer = new DataImporter(file, getModel());
+ importer.addObserver(this);
+ importer.run();
+ }
+
/***************************************************************************************************************************
* Getter und Setter Methoden
***************************************************************************************************************************/
diff --git a/src/main/java/View/ArrangementDialog.java b/src/main/java/View/ArrangementDialog.java
index c6907f1..e3ee7ce 100644
--- a/src/main/java/View/ArrangementDialog.java
+++ b/src/main/java/View/ArrangementDialog.java
@@ -1,5 +1,6 @@
package View;
+import Model.Line;
import Model.Point;
import java.awt.BorderLayout;
import java.awt.Color;
@@ -30,7 +31,7 @@ import org.jfree.util.ShapeUtilities;
*/
public class ArrangementDialog extends JPanel {
- private LinkedList> lines;
+ private LinkedList lines;
private LinkedList points;
private double max;
private double min;
@@ -52,7 +53,7 @@ public class ArrangementDialog extends JPanel {
this.hslider = new JSlider(SwingConstants.HORIZONTAL, 10, 1000, 500);
}
- public void setPrameters(LinkedList> lines, LinkedList points) {
+ public void setPrameters(LinkedList lines, LinkedList points) {
this.lines = lines;
this.points = points;
this.domainMin = Double.MAX_VALUE;
@@ -64,10 +65,10 @@ public class ArrangementDialog extends JPanel {
public void createArrangement() {
XYSeriesCollection dataset = new XYSeriesCollection();
- for (LinkedList p : lines) {
- XYSeries series = new XYSeries(p.get(0).getX() + p.get(0).getY());
- series.add(p.get(0).getX(), p.get(0).getY());
- series.add(p.get(1).getX(), p.get(1).getY());
+ for (Line p : lines) {
+ XYSeries series = new XYSeries(p.getId());
+ series.add(p.getX1(), p.getY1());
+ series.add(p.getX2(), p.getY2());
dataset.addSeries(series);
}
diff --git a/src/main/java/View/MainFrame.java b/src/main/java/View/MainFrame.java
index 36e6550..4f4a418 100644
--- a/src/main/java/View/MainFrame.java
+++ b/src/main/java/View/MainFrame.java
@@ -7,18 +7,26 @@ import View.Panels.MenuPanel;
import View.Panels.OutputPanel;
import View.Panels.RMPanel;
import java.awt.BorderLayout;
+import java.awt.Container;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
+import java.io.File;
import java.util.List;
+import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JDialog;
+import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JPanel;
+import javax.swing.JProgressBar;
import javax.swing.JScrollPane;
import javax.swing.JSplitPane;
import javax.swing.JTabbedPane;
import javax.swing.SwingUtilities;
+import javax.swing.border.Border;
+import javax.swing.filechooser.FileFilter;
+import javax.swing.filechooser.FileNameExtensionFilter;
/**
* Implementierung verschiedener Algorithmen zur Berechnung von Ausgleichsgeraden.
@@ -34,10 +42,8 @@ public class MainFrame extends JFrame {
private Boolean rmIsComplete = false;
private Boolean tsIsComplete = false;
-
- //TODO refactoring
private JButton arrangementButton;
- private JButton button3;
+ private JButton importButton;
private OutputPanel output;
private MenuPanel menupanel;
@@ -50,12 +56,14 @@ public class MainFrame extends JFrame {
private PlotDialog plotLMS;
private PlotDialog plotRM;
private PlotDialog plotTS;
+ private JDialog progressDialog;
+ private Container progressContent;
+ private JProgressBar progressBar;
private JSplitPane splitpane;
private JScrollPane scrollPane;
-
private JTabbedPane tabbedPane;
public MainFrame() {
@@ -69,6 +77,7 @@ public class MainFrame extends JFrame {
setCloseOperations();
setActionListeners();
+ disableFunctionality();
this.setVisible(true);
}
@@ -113,13 +122,19 @@ public class MainFrame extends JFrame {
});
}
+ public void showImportProgress(Integer progress){
+ progressBar.setValue(progress);
+ progressBar.setStringPainted(true);
+ progressDialog.setVisible(true);
+ }
+
/*******************************************************************************************************************
* init GUI
******************************************************************************************************************/
private void setTitles() {
this.setTitle("MainFrame");
arrangementDialog.setTitle("Dual Representation - Dialog");
- button3.setText("Import");
+ importButton.setText("Import");
arrangementButton.setText("Dualraum");
}
@@ -131,11 +146,14 @@ public class MainFrame extends JFrame {
private void addComponents() {
pane.add(arrangementButton);
- pane.add(button3);
+ pane.add(importButton);
setupSplitPane();
setupTabbedPane();
+ progressContent.add(progressBar, BorderLayout.NORTH);
+ progressBar.setBorder(BorderFactory.createTitledBorder("Import..."));
+
this.add(pane, BorderLayout.SOUTH);
this.add(splitpane, BorderLayout.CENTER);
this.add(menupanel, BorderLayout.NORTH);
@@ -152,6 +170,7 @@ public class MainFrame extends JFrame {
private void setCloseOperations() {
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
arrangementDialog.setDefaultCloseOperation(JDialog.HIDE_ON_CLOSE);
+ progressDialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
}
private void setDimensions() {
@@ -161,9 +180,9 @@ public class MainFrame extends JFrame {
rmPanel.setMinimumSize(new Dimension(400, 500));
arrangementDialog.setSize(new Dimension(800, 800));
output.setMinimumSize(new Dimension(400, 500));
+ progressDialog.setSize(300, 100);
}
-
private void setLayouts() {
this.setLayout(new BorderLayout());
pane.setLayout(new FlowLayout());
@@ -178,6 +197,10 @@ public class MainFrame extends JFrame {
//Dialogs
arrangementDialog = new JDialog();
+ progressDialog = new JDialog();
+ progressDialog.setLocationRelativeTo(null);
+ progressContent = progressDialog.getContentPane();
+ progressBar = new JProgressBar();
//Panes
tabbedPane = new JTabbedPane();
@@ -186,12 +209,12 @@ public class MainFrame extends JFrame {
//Buttons
arrangementButton = new JButton();
- button3 = new JButton();
+ importButton = new JButton();
}
private void setActionListeners() {
arrangementButton.addActionListener((ActionEvent e) -> {
- Thread t = new Thread(() -> getPresenter().startArrangementVisualization());
+ Thread t = new Thread(() -> getPresenter().visualizeDualLines());
t.start();
});
@@ -206,8 +229,42 @@ public class MainFrame extends JFrame {
() -> this.getPresenter().calculateRM(rmPanel.getInput()));
t.start();
});
+
+ importButton.addActionListener((ActionEvent e) -> {
+ SwingUtilities.invokeLater(() -> {
+ File file = null;
+ JFileChooser chooser = new JFileChooser();
+ chooser.setPreferredSize(new Dimension(800,700));
+ chooser.setFileFilter(new FileNameExtensionFilter("Comma-Separated Value", "csv", "text"));
+
+ chooser.setMultiSelectionEnabled(false);
+ chooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
+
+
+ if (chooser.showOpenDialog(null) == JFileChooser.APPROVE_OPTION){
+ System.out.println ("Datei "+chooser.getSelectedFile()+
+ " ausgewählt.");
+ file = chooser.getSelectedFile();
+ final File input = file;
+ Thread t = new Thread(() -> this.getPresenter().startImport(input));
+ t.start();
+ }
+ });
+ });
+
}
+ public void enableFunctionality(){
+ this.getLmsPanel().getStartButton().setEnabled(true);
+ this.getRmPanel().getStartButton().setEnabled(true);
+ this.getArrangementButton().setEnabled(true);
+ }
+
+ public void disableFunctionality(){
+ this.getLmsPanel().getStartButton().setEnabled(false);
+ this.getRmPanel().getStartButton().setEnabled(false);
+ this.getArrangementButton().setEnabled(false);
+ }
/*******************************************************************************************************************
* log Methode
@@ -268,12 +325,12 @@ public class MainFrame extends JFrame {
this.arrangementButton = arrangementButton;
}
- public JButton getButton3() {
- return button3;
+ public JButton getImportButton() {
+ return importButton;
}
- public void setButton3(JButton button3) {
- this.button3 = button3;
+ public void setImportButton(JButton importButton) {
+ this.importButton = importButton;
}
public JPanel getPane() {
@@ -300,11 +357,11 @@ public class MainFrame extends JFrame {
this.output = output;
}
- public JPanel getMenupanel() {
+ public MenuPanel getMenupanel() {
return menupanel;
}
- public JPanel getLmsPanel() {
+ public LMSPanel getLmsPanel() {
return lmsPanel;
}
@@ -324,6 +381,13 @@ public class MainFrame extends JFrame {
this.scrollPane = scrollPane;
}
+ public RMPanel getRmPanel() {
+ return rmPanel;
+ }
+
+ public void setRmPanel(RMPanel rmPanel) {
+ this.rmPanel = rmPanel;
+ }
public PlotDialog getPlotLMS() {
return plotLMS;
@@ -340,4 +404,12 @@ public class MainFrame extends JFrame {
public void setPresenter(Presenter presenter) {
this.presenter = presenter;
}
+
+ public JDialog getProgressDialog() {
+ return progressDialog;
+ }
+
+ public void setProgressDialog(JDialog progressDialog) {
+ this.progressDialog = progressDialog;
+ }
}
diff --git a/src/test/java/Presenter/Import/DataImporterTest.java b/src/test/java/Presenter/Import/DataImporterTest.java
index 7b659dd..0265aac 100644
--- a/src/test/java/Presenter/Import/DataImporterTest.java
+++ b/src/test/java/Presenter/Import/DataImporterTest.java
@@ -14,14 +14,16 @@ import org.junit.Test;
*/
public class DataImporterTest {
+ private DataImporter importer;
+
@Before
public void setUp() throws Exception {
- DataImporter importer = new DataImporter("", null);
+ //importer = new DataImporter("C:\\Users\\Armin\\Desktop\\test.csv", null);
}
@Test
public void run() throws Exception {
-
+ //importer.run();
}
}
\ No newline at end of file