implement import systems from eddb
This commit is contained in:
@@ -11,7 +11,9 @@ import org.xml.sax.SAXException;
|
||||
import ru.trader.Main;
|
||||
import ru.trader.ServicesManager;
|
||||
import ru.trader.World;
|
||||
import ru.trader.eddb.EDDBParser;
|
||||
import ru.trader.model.*;
|
||||
import ru.trader.services.ImportTask;
|
||||
import ru.trader.services.MaddavoParserTask;
|
||||
import ru.trader.services.PowerPlayParserTask;
|
||||
import ru.trader.view.support.Localization;
|
||||
@@ -327,6 +329,15 @@ public class MainController {
|
||||
|
||||
}
|
||||
|
||||
@FXML
|
||||
private void importEDDBSystems() {
|
||||
chooseFile(new FileChooser.ExtensionFilter("EDDB Systems file (systems*.json)","systems*.json"), file -> {
|
||||
EDDBParser parser = EDDBParser.createSystemParser(file);
|
||||
ImportTask task = new ImportTask(parser, World.getMarket());
|
||||
Screeners.showProgress(Localization.getString("message.import.systems"), task, () -> ViewUtils.doFX(this::reload));
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
private void chooseFile(FileChooser.ExtensionFilter filter, Consumer<File> action) {
|
||||
FileChooser fileChooser = new FileChooser();
|
||||
|
||||
29
client/src/main/java/ru/trader/services/ImportTask.java
Normal file
29
client/src/main/java/ru/trader/services/ImportTask.java
Normal file
@@ -0,0 +1,29 @@
|
||||
package ru.trader.services;
|
||||
|
||||
import javafx.concurrent.Task;
|
||||
import ru.trader.core.Market;
|
||||
import ru.trader.store.imp.Importer;
|
||||
|
||||
|
||||
public class ImportTask extends Task<Void> {
|
||||
|
||||
private final Market market;
|
||||
private final Importer importer;
|
||||
|
||||
public ImportTask(Importer importer, Market market) {
|
||||
this.importer = importer;
|
||||
this.market = market;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void cancelled() {
|
||||
importer.cancel();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Void call() throws Exception {
|
||||
importer.imp(market);
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -22,6 +22,9 @@
|
||||
<MenuItem text="StarSystem" onAction="#importPowerPlaySystems"/>
|
||||
<MenuItem text="Prediction" onAction="#importPowerPlayPrediction"/>
|
||||
</Menu>
|
||||
<Menu text="EDDB">
|
||||
<MenuItem text="%market.systems" onAction="#importEDDBSystems"/>
|
||||
</Menu>
|
||||
<MenuItem text="XML" onAction="#importWorld"/>
|
||||
<MenuItem text="EDCE JSON" onAction="#importEDCE"/>
|
||||
</Menu>
|
||||
|
||||
Reference in New Issue
Block a user