2017-09-10 15:45:47 +00:00
|
|
|
package presenter.io;
|
2017-08-03 18:37:59 +00:00
|
|
|
|
2017-09-10 15:45:47 +00:00
|
|
|
import model.Line;
|
|
|
|
import model.LineModel;
|
2017-08-03 18:37:59 +00:00
|
|
|
import com.opencsv.CSVWriter;
|
|
|
|
|
|
|
|
import java.io.File;
|
|
|
|
import java.io.FileWriter;
|
|
|
|
import java.io.IOException;
|
|
|
|
import java.util.Observable;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Implementierung verschiedener Algorithmen zur Berechnung von Ausgleichsgeraden.
|
|
|
|
*
|
|
|
|
* @Author: Armin Wolf
|
|
|
|
* @Email: a_wolf28@uni-muenster.de
|
|
|
|
* @Date: 03.08.2017.
|
|
|
|
*/
|
2017-09-10 15:45:47 +00:00
|
|
|
public class DataExporter extends Observable {
|
2017-08-03 18:37:59 +00:00
|
|
|
|
|
|
|
private LineModel lineModel;
|
|
|
|
private File file;
|
|
|
|
|
2017-09-10 15:45:47 +00:00
|
|
|
public DataExporter(LineModel model, File file) {
|
2017-08-03 18:37:59 +00:00
|
|
|
this.file = file;
|
|
|
|
this.lineModel = model;
|
|
|
|
}
|
|
|
|
|
2017-09-10 15:45:47 +00:00
|
|
|
public void export() {
|
2017-08-03 18:37:59 +00:00
|
|
|
CSVWriter writer = null;
|
|
|
|
|
|
|
|
try {
|
|
|
|
writer = new CSVWriter(new FileWriter(file), ',');
|
|
|
|
// feed in your array (or convert your data to an array)
|
|
|
|
String[] entries = new String[3];
|
2017-09-10 15:45:47 +00:00
|
|
|
for (Line line : lineModel.getLines()) {
|
2017-08-03 18:37:59 +00:00
|
|
|
entries[0] = line.getId();
|
|
|
|
entries[1] = line.getM().toString();
|
|
|
|
Double tmp = (-1) * line.getB();
|
|
|
|
entries[2] = tmp.toString();
|
|
|
|
writer.writeNext(entries);
|
|
|
|
}
|
|
|
|
writer.close();
|
2017-09-10 15:45:47 +00:00
|
|
|
String[] ret = {"export", "Das aktuelle Modell wurde erfolgreich unter: " + file.getAbsolutePath() + " gespeichert."};
|
2017-08-03 18:37:59 +00:00
|
|
|
setChanged();
|
|
|
|
notifyObservers(ret);
|
|
|
|
} catch (IOException e) {
|
|
|
|
e.printStackTrace();
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|