implement export/import to properties
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
package ru.trader.core;
|
||||
|
||||
import java.util.Properties;
|
||||
|
||||
public class Profile {
|
||||
public static enum PATH_PRIORITY {FAST, ECO}
|
||||
|
||||
@@ -10,7 +12,6 @@ public class Profile {
|
||||
private boolean refill;
|
||||
private int routesCount;
|
||||
//Scorer multipliers
|
||||
private int scoreOrdersCount;
|
||||
private double distanceMult;
|
||||
private double jumpMult;
|
||||
private double landMult;
|
||||
@@ -23,7 +24,6 @@ public class Profile {
|
||||
jumps = 6;
|
||||
lands = 4;
|
||||
routesCount = 30;
|
||||
scoreOrdersCount = 5;
|
||||
distanceMult = 0.8;
|
||||
landMult = 0.95;
|
||||
fuelPrice = 100;
|
||||
@@ -79,14 +79,6 @@ public class Profile {
|
||||
this.routesCount = routesCount;
|
||||
}
|
||||
|
||||
public int getScoreOrdersCount() {
|
||||
return scoreOrdersCount;
|
||||
}
|
||||
|
||||
public void setScoreOrdersCount(int scoreOrdersCount) {
|
||||
this.scoreOrdersCount = scoreOrdersCount;
|
||||
}
|
||||
|
||||
public double getDistanceMult() {
|
||||
return distanceMult;
|
||||
}
|
||||
@@ -126,4 +118,33 @@ public class Profile {
|
||||
public void setPathPriority(PATH_PRIORITY pathPriority) {
|
||||
this.pathPriority = pathPriority;
|
||||
}
|
||||
|
||||
public static Profile readFrom(Properties values){
|
||||
Ship ship = Ship.readFrom(values);
|
||||
Profile profile = new Profile(ship);
|
||||
profile.setBalance(Double.valueOf(values.getProperty("profile.balance","1000")));
|
||||
profile.setJumps(Integer.valueOf(values.getProperty("profile.jumps", "6")));
|
||||
profile.setLands(Integer.valueOf(values.getProperty("profile.lands","4")));
|
||||
profile.setPathPriority(PATH_PRIORITY.valueOf(values.getProperty("profile.search.priority","FAST")));
|
||||
profile.setRoutesCount(Integer.valueOf(values.getProperty("profile.search.routes","100")));
|
||||
profile.setFuelPrice(Double.valueOf(values.getProperty("profile.search.fuel.price","100")));
|
||||
profile.setDistanceMult(Double.valueOf(values.getProperty("profile.search.mult.distance","0.8")));
|
||||
profile.setLandMult(Double.valueOf(values.getProperty("profile.search.mult.land","0.95")));
|
||||
profile.setJumpMult(Double.valueOf(values.getProperty("profile.search.mult.jump","0.5")));
|
||||
return profile;
|
||||
}
|
||||
|
||||
public void writeTo(Properties values){
|
||||
values.setProperty("profile.balance", String.valueOf(balance));
|
||||
values.setProperty("profile.jumps", String.valueOf(jumps));
|
||||
values.setProperty("profile.lands", String.valueOf(lands));
|
||||
values.setProperty("profile.search.priority", String.valueOf(pathPriority));
|
||||
values.setProperty("profile.search.routes", String.valueOf(routesCount));
|
||||
values.setProperty("profile.search.fuel.price", String.valueOf(fuelPrice));
|
||||
values.setProperty("profile.search.mult.distance", String.valueOf(distanceMult));
|
||||
values.setProperty("profile.search.mult.land", String.valueOf(landMult));
|
||||
values.setProperty("profile.search.mult.jump", String.valueOf(jumpMult));
|
||||
ship.writeTo(values);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
package ru.trader.core;
|
||||
|
||||
import java.util.Properties;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
public class Ship {
|
||||
private final static int REFILL_FUEL_STEP = 10;
|
||||
|
||||
@@ -281,5 +285,24 @@ public class Ship {
|
||||
}
|
||||
}
|
||||
|
||||
private final static Pattern ENGINE_REGEXP = Pattern.compile("(\\d)(\\w)");
|
||||
public static Ship readFrom(Properties values){
|
||||
Ship ship = new Ship();
|
||||
ship.setMass(Double.valueOf(values.getProperty("ship.mass", "44.9")));
|
||||
ship.setCargo(Integer.valueOf(values.getProperty("ship.cargo","4")));
|
||||
ship.setTank(Double.valueOf(values.getProperty("ship.tank", "2")));
|
||||
String e = values.getProperty("ship.engine","2E");
|
||||
Matcher matcher = ENGINE_REGEXP.matcher(e);
|
||||
if (matcher.find()){
|
||||
ship.setEngine(Integer.valueOf(matcher.group(1)), matcher.group(2).charAt(0));
|
||||
}
|
||||
return ship;
|
||||
}
|
||||
|
||||
public void writeTo(Properties values){
|
||||
values.setProperty("ship.mass", String.valueOf(mass));
|
||||
values.setProperty("ship.cargo", String.valueOf(cargo));
|
||||
values.setProperty("ship.tank", String.valueOf(tank));
|
||||
values.setProperty("ship.engine", String.valueOf(engine.getClazz()) + engine.getRating());
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user