Archived
0

set deprecated landing pads services, uses station type

This commit is contained in:
Mo
2016-04-03 14:21:10 +03:00
parent 72f5cd2cf7
commit 58818ba2bc
10 changed files with 50 additions and 90 deletions

View File

@@ -2,10 +2,7 @@ package ru.trader.maddavo;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import ru.trader.core.Market;
import ru.trader.core.Place;
import ru.trader.core.SERVICE_TYPE;
import ru.trader.core.Vendor;
import ru.trader.core.*;
import java.util.ArrayList;
import java.util.Collection;
@@ -38,24 +35,26 @@ public class StationHandler extends CSVParseHandler {
if ("Y".equals(values[3])) adding.add(SERVICE_TYPE.BLACK_MARKET);
if ("N".equals(values[3])) removing.add(SERVICE_TYPE.BLACK_MARKET);
if ("M".equals(values[4])) {adding.add(SERVICE_TYPE.MEDIUM_LANDPAD); removing.add(SERVICE_TYPE.LARGE_LANDPAD);}
if ("L".equals(values[4])) {adding.add(SERVICE_TYPE.MEDIUM_LANDPAD); adding.add(SERVICE_TYPE.LARGE_LANDPAD);}
if ("Y".equals(values[5])) adding.add(SERVICE_TYPE.MARKET);
if ("N".equals(values[5])) removing.add(SERVICE_TYPE.MARKET);
if ("Y".equals(values[6])) adding.add(SERVICE_TYPE.SHIPYARD);
if ("N".equals(values[6])) removing.add(SERVICE_TYPE.SHIPYARD);
updateStation(system, values[1], distance, adding, removing);
STATION_TYPE type = null;
if ("M".equals(values[4])) {type = STATION_TYPE.OUTPOST;}
if ("L".equals(values[4])) {type = STATION_TYPE.STARPORT;}
updateStation(system, values[1], type, distance, adding, removing);
}
private void updateStation(Place system, String name, double distance, Collection<SERVICE_TYPE> addServices, Collection<SERVICE_TYPE> removeServices){
private void updateStation(Place system, String name, STATION_TYPE type, double distance, Collection<SERVICE_TYPE> addServices, Collection<SERVICE_TYPE> removeServices){
Vendor station = system.get(name);
if (station == null){
LOG.debug("{} - is new station, adding", name);
station = system.addVendor(name);
}
station.setType(type);
if (distance > 0 && distance != station.getDistance()) {
station.setDistance(distance);
}

View File

@@ -38,18 +38,19 @@ public class StationImportTest extends Assert {
private Market createMarket(){
Market market = new SimpleMarket();
market.addPlace("1 Hydrae",0,0,0);
market.addPlace("1 Hydrae", 0, 0, 0);
market.addPlace("1 Kappa Cygni", 0, 0, 0);
Place system = market.addPlace("10 CANUM VENATICORUM", 0, 0, 0);
system.setFaction(FACTION.FEDERATION);
system.setGovernment(GOVERNMENT.PRISON_COLONY);
Vendor station = system.addVendor("Trevithick Hub");
station.setType(STATION_TYPE.OUTPOST);
station.setDistance(2000);
station.add(SERVICE_TYPE.MARKET);
station.add(SERVICE_TYPE.BLACK_MARKET);
station.add(SERVICE_TYPE.OUTFIT);
station.add(SERVICE_TYPE.MEDIUM_LANDPAD);
station.setFaction(FACTION.ALLIANCE);
station.setGovernment(GOVERNMENT.COMMUNISM);
@@ -81,10 +82,9 @@ public class StationImportTest extends Assert {
Vendor station = market.get("1 Hydrae").get("Hieb Orbital");
assertNotNull(station);
assertEquals(STATION_TYPE.OUTPOST, station.getType());
assertEquals(160, station.getDistance(), 0.00001);
assertFalse(station.has(SERVICE_TYPE.BLACK_MARKET));
assertTrue(station.has(SERVICE_TYPE.MEDIUM_LANDPAD));
assertFalse(station.has(SERVICE_TYPE.LARGE_LANDPAD));
assertTrue(station.has(SERVICE_TYPE.MARKET));
assertFalse(station.has(SERVICE_TYPE.SHIPYARD));
assertFalse(station.has(SERVICE_TYPE.OUTFIT));
@@ -92,12 +92,11 @@ public class StationImportTest extends Assert {
station = market.get("1 Hydrae").get("Voss Hub");
assertNotNull(station);
assertEquals(STATION_TYPE.STARPORT, station.getType());
assertNull(station.getFaction());
assertNull(station.getGovernment());
assertEquals(823, station.getDistance(), 0.00001);
assertTrue(station.has(SERVICE_TYPE.BLACK_MARKET));
assertTrue(station.has(SERVICE_TYPE.MEDIUM_LANDPAD));
assertTrue(station.has(SERVICE_TYPE.LARGE_LANDPAD));
assertTrue(station.has(SERVICE_TYPE.MARKET));
assertTrue(station.has(SERVICE_TYPE.SHIPYARD));
assertFalse(station.has(SERVICE_TYPE.OUTFIT));
@@ -107,8 +106,6 @@ public class StationImportTest extends Assert {
assertNotNull(station);
assertEquals(0, station.getDistance(), 0.00001);
assertFalse(station.has(SERVICE_TYPE.BLACK_MARKET));
assertFalse(station.has(SERVICE_TYPE.MEDIUM_LANDPAD));
assertFalse(station.has(SERVICE_TYPE.LARGE_LANDPAD));
assertFalse(station.has(SERVICE_TYPE.MARKET));
assertTrue(station.has(SERVICE_TYPE.SHIPYARD));
assertFalse(station.has(SERVICE_TYPE.OUTFIT));
@@ -121,12 +118,11 @@ public class StationImportTest extends Assert {
station = place.get("Trevithick Hub");
assertNotNull(station);
assertEquals(STATION_TYPE.STARPORT, station.getType());
assertEquals(FACTION.ALLIANCE, station.getFaction());
assertEquals(GOVERNMENT.COMMUNISM, station.getGovernment());
assertEquals(957, station.getDistance(), 0.00001);
assertFalse(station.has(SERVICE_TYPE.BLACK_MARKET));
assertTrue(station.has(SERVICE_TYPE.MEDIUM_LANDPAD));
assertTrue(station.has(SERVICE_TYPE.LARGE_LANDPAD));
assertFalse(station.has(SERVICE_TYPE.MARKET));
assertFalse(station.has(SERVICE_TYPE.SHIPYARD));
assertTrue(station.has(SERVICE_TYPE.OUTFIT));
@@ -134,12 +130,11 @@ public class StationImportTest extends Assert {
station = market.get("10 CANUM VENATICORUM").get("Litke Port");
assertNotNull(station);
assertEquals(STATION_TYPE.OUTPOST, station.getType());
assertEquals(FACTION.EMPIRE, station.getFaction());
assertEquals(GOVERNMENT.CONFEDERACY, station.getGovernment());
assertEquals(2000, station.getDistance(), 0.00001);
assertTrue(station.has(SERVICE_TYPE.BLACK_MARKET));
assertTrue(station.has(SERVICE_TYPE.MEDIUM_LANDPAD));
assertFalse(station.has(SERVICE_TYPE.LARGE_LANDPAD));
assertTrue(station.has(SERVICE_TYPE.MARKET));
assertTrue(station.has(SERVICE_TYPE.SHIPYARD));
assertTrue(station.has(SERVICE_TYPE.OUTFIT));