diff --git a/utils/src/main/java/ru/trader/maddavo/ItemConverter.java b/utils/src/main/java/ru/trader/maddavo/ItemConverter.java index c841276..060646e 100644 --- a/utils/src/main/java/ru/trader/maddavo/ItemConverter.java +++ b/utils/src/main/java/ru/trader/maddavo/ItemConverter.java @@ -11,10 +11,14 @@ public class ItemConverter { IDS.put("explosives", "explosives"); IDS.put("hydrogen fuel", "hydrogenfuel"); IDS.put("mineral oil", "mineraloil"); + IDS.put("nerve agents", "nerve_agents"); IDS.put("pesticides", "pesticides"); + IDS.put("surface stabilisers", "surface_stabilisers"); + IDS.put("synthetic reagents", "synthetic_reagents"); IDS.put("clothing", "clothing"); IDS.put("consumer technology", "consumertechnology"); IDS.put("domestic appliances", "domesticappliances"); + IDS.put("evacuation shelter", "evacuation_shelter"); IDS.put("algae", "algae"); IDS.put("animal meat", "animalmeat"); IDS.put("coffee", "coffee"); @@ -25,20 +29,27 @@ public class ItemConverter { IDS.put("grain", "grain"); IDS.put("synthetic meat", "syntheticmeat"); IDS.put("tea", "tea"); + IDS.put("ceramic composites", "ceramic_composites"); + IDS.put("meta-alloys", "meta_alloys"); IDS.put("polymers", "polymers"); IDS.put("semiconductors", "semiconductors"); IDS.put("superconductors", "superconductors"); IDS.put("beer", "beer"); + IDS.put("bootleg liquor", "bootleg_liquor"); IDS.put("liquor", "liquor"); IDS.put("narcotics", "basicnarcotics"); IDS.put("tobacco", "tobacco"); IDS.put("wine", "wine"); IDS.put("atmospheric processors", "atmosphericprocessors"); + IDS.put("building fabricators", "building_fabricators"); IDS.put("crop harvesters", "cropharvesters"); + IDS.put("geological equipment", "geological_equipment"); IDS.put("marine equipment", "marinesupplies"); IDS.put("microbial furnaces", "microbialfurnaces"); IDS.put("mineral extractors", "mineralextractors"); IDS.put("power generators", "powergenerators"); + IDS.put("skimmer components", "skimer_components"); + IDS.put("thermal cooling units", "thermal_cooling_units"); IDS.put("water purifiers", "waterpurifiers"); IDS.put("agri-medicines", "agriculturalmedicines"); IDS.put("basic medicines", "basicmedicines"); @@ -47,32 +58,52 @@ public class ItemConverter { IDS.put("progenitor cells", "progenitorcells"); IDS.put("aluminium", "aluminium"); IDS.put("beryllium", "beryllium"); - IDS.put("copper", "copper"); + IDS.put("bismuth", "bismuth"); IDS.put("cobalt", "cobalt"); + IDS.put("copper", "copper"); IDS.put("gallium", "gallium"); IDS.put("gold", "gold"); +// IDS.put("hafnium 178", ""); IDS.put("indium", "indium"); + IDS.put("lanthanum", "lanthanum"); IDS.put("lithium", "lithium"); IDS.put("osmium", "osmium"); IDS.put("palladium", "palladium"); IDS.put("platinum", "platinum"); IDS.put("tantalum", "tantalum"); - IDS.put("titanium", "titanium"); IDS.put("silver", "silver"); + IDS.put("thallium", "thallium"); + IDS.put("thorium", "thorium"); + IDS.put("titanium", "titanium"); IDS.put("uranium", "uranium"); - IDS.put("minerals", "group.minerals"); IDS.put("bauxite", "bauxite"); IDS.put("bertrandite", "bertrandite"); IDS.put("coltan", "coltan"); + IDS.put("cryolite", "cryolite"); IDS.put("gallite", "gallite"); + IDS.put("goslarite", "goslarite"); IDS.put("indite", "indite"); IDS.put("lepidolite", "lepidolite"); +// IDS.put("moissanite", ""); IDS.put("painite", "painite"); + IDS.put("pyrophyllite", "pyrophyllite"); IDS.put("rutile", "rutile"); +// IDS.put("taaffeite", ""); IDS.put("uraninite", "uraninite"); +// IDS.put("ai relics", ""); +// IDS.put("ancient artefact", ""); +// IDS.put("antiquities", ""); +// IDS.put("encrypted data storage", ""); +// IDS.put("experimental chemicals", ""); +// IDS.put("military intelligence", ""); +// IDS.put("military plans", ""); +// IDS.put("prototype tech", ""); +// IDS.put("rebel transmissions", ""); + IDS.put("sap 8 core container", "sap8corecontainer"); +// IDS.put("technical blueprints", ""); +// IDS.put("trade data", ""); IDS.put("imperial slaves", "imperialslaves"); IDS.put("slaves", "slaves"); - IDS.put("sap 8 core container", "sap8corecontainer"); IDS.put("advanced catalysers", "advancedcatalysers"); IDS.put("animal monitors", "animalmonitors"); IDS.put("aquaponic systems", "aquaponicsystems"); @@ -80,9 +111,11 @@ public class ItemConverter { IDS.put("bioreducing lichen", "bioreducinglichen"); IDS.put("computer components", "computercomponents"); IDS.put("h.e. suits", "hazardousenvironmentsuits"); + IDS.put("land enrichment systems", "landenrichmentsystems"); + IDS.put("muon imager", "mu_tom_imager"); IDS.put("resonating separators", "resonatingseparators"); IDS.put("robotics", "robotics"); - IDS.put("land enrichment systems", "landenrichmentsystems"); + IDS.put("structural regulators", "structural_regulators"); IDS.put("leather", "leather"); IDS.put("natural fabrics", "naturalfabrics"); IDS.put("synthetic fabrics", "syntheticfabrics"); @@ -90,6 +123,7 @@ public class ItemConverter { IDS.put("chemical waste", "chemicalwaste"); IDS.put("scrap", "scrap"); IDS.put("battle weapons", "battleweapons"); + IDS.put("landmines", "landmines"); IDS.put("non-lethal weapons", "nonlethalweapons"); IDS.put("personal weapons", "personalweapons"); IDS.put("reactive armour", "reactivearmour"); diff --git a/utils/src/main/java/ru/trader/maddavo/StationHandler.java b/utils/src/main/java/ru/trader/maddavo/StationHandler.java index de5fcd0..70915d2 100644 --- a/utils/src/main/java/ru/trader/maddavo/StationHandler.java +++ b/utils/src/main/java/ru/trader/maddavo/StationHandler.java @@ -16,7 +16,7 @@ public class StationHandler extends CSVParseHandler { @Override protected void doWork(String[] values) { - //unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size,market,shipyard,modified + //unq:name@System.system_id,unq:name,ls_from_star,blackmarket,max_pad_size,market,shipyard,modified,outfitting,rearm,refuel,repair,planetary Place system = market.get(values[0]); if (system == null){ LOG.warn("Not found system {}", values[0]); @@ -41,10 +41,25 @@ public class StationHandler extends CSVParseHandler { if ("Y".equals(values[6])) adding.add(SERVICE_TYPE.SHIPYARD); if ("N".equals(values[6])) removing.add(SERVICE_TYPE.SHIPYARD); - STATION_TYPE type = null; - if ("M".equals(values[4])) {type = STATION_TYPE.OUTPOST;} - if ("L".equals(values[4])) {type = STATION_TYPE.STARPORT;} + if ("Y".equals(values[8])) adding.add(SERVICE_TYPE.OUTFIT); + if ("N".equals(values[8])) removing.add(SERVICE_TYPE.OUTFIT); + if ("Y".equals(values[9])) adding.add(SERVICE_TYPE.MUNITION); + if ("N".equals(values[9])) removing.add(SERVICE_TYPE.MUNITION); + + if ("Y".equals(values[10])) adding.add(SERVICE_TYPE.REFUEL); + if ("N".equals(values[10])) removing.add(SERVICE_TYPE.REFUEL); + + if ("Y".equals(values[11])) adding.add(SERVICE_TYPE.REPAIR); + if ("N".equals(values[11])) removing.add(SERVICE_TYPE.REPAIR); + + STATION_TYPE type = null; + if ("Y".equals(values[12])){ + type = STATION_TYPE.PLANETARY_OUTPOST; + } else { + 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); } diff --git a/utils/src/test/java/ru/trader/maddavo/StationImportTest.java b/utils/src/test/java/ru/trader/maddavo/StationImportTest.java index fbe0ff3..05d7933 100644 --- a/utils/src/test/java/ru/trader/maddavo/StationImportTest.java +++ b/utils/src/test/java/ru/trader/maddavo/StationImportTest.java @@ -10,29 +10,45 @@ import java.util.Collection; public class StationImportTest extends Assert { private static final String CSVStrings = - "'1 GEMINORUM','Collins Settlement',2585,'?','M','Y','N','2015-02-27 04:50:41'\n" + - "'1 GEMINORUM','Zholobov Orbital',3428,'?','M','N','N','2015-02-27 04:51:21'\n" + - "'1 HYDRAE','Arber Terminal',0,'?','M','N','N','2015-02-27 04:54:28'\n" + - "'1 HYDRAE','Feustel Port',null,'?','-','N','Y','2015-02-27 04:54:46'\n" + - "'1 HYDRAE','Hieb Orbital',160,'?','M','Y','N','2015-02-27 04:52:17'\n" + - "'1 HYDRAE','Afanasyev Port',200,'?','M','Y','N','2015-02-27 04:52:55'\n" + - "'1 HYDRAE','Hutton Port',279,'?','L','Y','Y','2015-02-27 04:53:31'\n" + - "'1 HYDRAE','Yurchikhin Port',369,'?','M','N','N','2015-02-27 04:54:08'\n" + - "'1 HYDRAE','Voss Hub',823,'Y','L','Y','Y','2015-02-27 04:55:18'\n" + - "'1 HYDRAE','Hornby Dock',1457,'?','L','Y','Y','2015-02-27 04:55:56'\n" + - "'1 HYDRAE','Whitney Station',2106,'?','M','N','N','2015-02-27 04:56:35'\n" + - "'1 I CENTAURI','Armstrong Ring',1093,'?','L','Y','Y','2015-02-27 04:57:33'\n" + - "'1 I CENTAURI','Ampere Dock',1498,'Y','L','Y','Y','2015-02-25 01:31:54'\n" + - "'1 KAPPA CYGNI','Hauck Enterprise',0,'?','M','?','?','2015-02-23 23:54:35'\n" + - "'1 KAPPA CYGNI','Kinsey Ring',0,'?','M','Y','?','2015-02-24 14:31:52'\n" + - "'1 KAPPA CYGNI','Wohler Port',0,'?','L','?','?','2015-02-23 23:54:35'\n" + - "'10 CANUM VENATICORUM','Litke Port',0,'?','M','Y','?','2015-02-23 23:54:35'\n" + - "'10 CANUM VENATICORUM','Collins Port',16,'?','M','Y','?','2015-02-23 23:54:35'\n" + - "'10 CANUM VENATICORUM','He Port',495,'?','L','Y','?','2015-02-23 23:54:35'\n" + - "'10 CANUM VENATICORUM','Trevithick Hub',957,'N','L','N','N','2015-02-25 01:31:54'\n" + - "'10 CANUM VENATICORUM','Spedding Park',1369,'?','M','?','?','2015-02-23 23:54:35'\n" + - "'10 CANUM VENATICORUM','Creamer Hub',1812,'?','M','?','?','2015-02-23 23:54:35'\n" + - "'10 G. CANIS MAJORIS','Rushd Enterprise',0,'?','L','Y','Y','2015-02-27 05:01:06'"; + "'1 G. CAELI','Giacobini Base',0,'?','L','?','N','2016-01-08 16:48:42','Y','?','?','?','Y'\n" + + "'1 G. CAELI','Kandel Arsenal',3486,'Y','L','N','N','2016-01-03 17:48:47','Y','Y','Y','Y','Y'\n" + + "'1 G. CAELI','Smoot Gateway',4761,'N','L','Y','Y','2015-05-06 17:03:00','Y','Y','Y','Y','N'\n" + + "'1 GEMINORUM','Collins Settlement',2598,'Y','M','Y','N','2016-01-30 16:25:40','Y','Y','N','Y','N'\n" + + "'1 GEMINORUM','Zholobov Orbital',3430,'Y','M','N','N','2015-06-21 23:25:43','N','Y','Y','Y','N'\n" + + "'1 GEMINORUM','Seddon Silo',3441,'N','L','N','N','2015-01-01 00:01:00','Y','Y','Y','Y','Y'\n" + + "'1 HYDRAE','Chern Barracks',0,'?','?','Y','?','2016-02-29 15:54:00','?','?','?','?','?'\n" + + "'1 HYDRAE','Kepler''s Inheritance',0,'?','?','Y','?','2016-02-29 15:44:00','?','?','?','?','?'\n" + + "'1 HYDRAE','Greenleaf''s Progress',159,'N','L','N','N','2015-01-01 00:01:00','Y','Y','Y','Y','Y'\n" + + "'1 HYDRAE','Weitz''s Folly',159,'N','L','N','N','2015-01-01 00:01:00','Y','Y','Y','Y','Y'\n" + + "'1 HYDRAE','Hieb Orbital',160,'N','M','Y','N','2015-08-09 22:16:03','N','Y','Y','Y','N'\n" + + "'1 HYDRAE','Afanasyev Port',200,'N','M','Y','N','2015-10-10 16:16:04','N','Y','Y','Y','N'\n" + + "'1 HYDRAE','Littlewood Reach',277,'N','L','N','N','2015-01-01 00:01:00','Y','Y','Y','Y','Y'\n" + + "'1 HYDRAE','Hutton Port',279,'N','L','Y','Y','2015-06-30 07:34:00','Y','Y','Y','Y','N'\n" + + "'1 HYDRAE','Yurchikhin Port',369,'N','M','N','N','2015-06-21 23:11:54','N','N','Y','Y','N'\n" + + "'1 HYDRAE','Arber Terminal',664,'N','M','N','N','2015-06-21 23:11:54','N','N','Y','Y','N'\n" + + "'1 HYDRAE','Feustel Port',null,'?','-','N','Y','2015-10-10 16:16:05','?','?','?','?','?'\n" + + "'1 HYDRAE','Voss Hub',823,'Y','L','Y','Y','2015-10-10 16:16:05','Y','Y','Y','Y','N'\n" + + "'1 HYDRAE','Hornby Dock',1457,'N','L','Y','Y','2015-09-24 10:52:01','Y','Y','Y','Y','N'\n" + + "'1 HYDRAE','Whitney Station',2106,'N','M','N','N','2015-06-21 23:11:54','N','N','Y','Y','N'\n" + + "'1 I CENTAURI','Armstrong Ring',1093,'Y','L','Y','Y','2015-06-21 23:04:19','Y','Y','Y','Y','N'\n" + + "'1 I CENTAURI','Ampere Dock',1498,'Y','L','Y','Y','2015-05-01 04:33:33','Y','Y','Y','Y','N'\n" + + "'1 KAPPA CYGNI','Kinsey Ring',2359,'N','M','Y','N','2015-06-21 23:31:26','N','N','Y','Y','N'\n" + + "'1 KAPPA CYGNI','Wohler Port',3520,'Y','L','Y','Y','2015-06-21 23:31:26','Y','Y','Y','Y','N'\n" + + "'1 KAPPA CYGNI','Hauck Enterprise',4832,'Y','M','N','N','2015-06-21 23:31:26','N','Y','Y','Y','N'\n" + + "'10 ARIETIS','Archimedes Base',0,'N','M','Y','N','2015-10-10 16:16:05','N','N','Y','Y','N'\n" + + "'10 ARIETIS','Chadwick Station',0,'N','M','Y','N','2015-10-10 16:16:05','Y','N','Y','Y','N'\n" + + "'10 CANUM VENATICORUM','Litke Port',0,'?','M','Y','?','2015-12-26 19:22:38','Y','?','?','?','?'\n" + + "'10 CANUM VENATICORUM','Collins Port',352,'N','M','Y','N','2016-03-05 22:28:07','N','N','Y','Y','N'\n" + + "'10 CANUM VENATICORUM','He Port',495,'N','L','Y','Y','2015-10-10 16:16:05','Y','Y','Y','Y','N'\n" + + "'10 CANUM VENATICORUM','Trevithick Hub',957,'N','L','N','N','2015-06-21 23:31:06','?','?','?','?','Y'\n" + + "'10 CANUM VENATICORUM','Alvares Bastion',1353,'N','L','Y','N','2016-02-21 22:06:30','Y','N','N','N','Y'\n" + + "'10 CANUM VENATICORUM','Godwin Installation',1353,'N','L','N','N','2015-01-01 00:01:00','Y','Y','Y','Y','Y'\n" + + "'10 DELTA CORONAE BOREALIS','Ramaswamy Port',0,'N','M','Y','N','2015-10-10 16:16:05','Y','N','Y','Y','N'\n" + + "'10 G. CANIS MAJORIS','Babbage Gateway',195,'N','M','Y','N','2015-06-21 23:10:38','N','N','Y','Y','N'\n" + + "'10 G. CANIS MAJORIS','Gohar City',359,'N','M','Y','N','2015-06-21 23:10:38','N','N','Y','N','N'\n" + + "'10 G. CANIS MAJORIS','Precourt Enterprise',614,'N','M','Y','N','2015-06-21 23:10:38','N','N','Y','Y','N'\n" + + "'10 G. CANIS MAJORIS','Rushd Enterprise',1078,'N','L','Y','Y','2015-05-02 02:00:12','Y','Y','Y','Y','N'\n" + + "'10 G. CANIS MAJORIS','Vesalius Port',1080,'Y','L','Y','Y','2015-05-02 02:00:12','Y','Y','Y','Y','N'"; private static final String[] lines = CSVStrings.split("\\n"); @@ -78,7 +94,7 @@ public class StationImportTest extends Assert { } Collection vendors = market.getVendors(); - assertEquals("Vendors count distinct", 19, vendors.size()); + assertEquals("Vendors count distinct", 24, vendors.size()); Vendor station = market.get("1 Hydrae").get("Hieb Orbital"); assertNotNull(station); @@ -88,7 +104,9 @@ public class StationImportTest extends Assert { assertTrue(station.has(SERVICE_TYPE.MARKET)); assertFalse(station.has(SERVICE_TYPE.SHIPYARD)); assertFalse(station.has(SERVICE_TYPE.OUTFIT)); - assertFalse(station.has(SERVICE_TYPE.MUNITION)); + assertTrue(station.has(SERVICE_TYPE.MUNITION)); + assertTrue(station.has(SERVICE_TYPE.REFUEL)); + assertTrue(station.has(SERVICE_TYPE.REPAIR)); station = market.get("1 Hydrae").get("Voss Hub"); assertNotNull(station); @@ -99,8 +117,11 @@ public class StationImportTest extends Assert { assertTrue(station.has(SERVICE_TYPE.BLACK_MARKET)); assertTrue(station.has(SERVICE_TYPE.MARKET)); assertTrue(station.has(SERVICE_TYPE.SHIPYARD)); - assertFalse(station.has(SERVICE_TYPE.OUTFIT)); - assertFalse(station.has(SERVICE_TYPE.MUNITION)); + assertTrue(station.has(SERVICE_TYPE.OUTFIT)); + assertTrue(station.has(SERVICE_TYPE.MUNITION)); + assertTrue(station.has(SERVICE_TYPE.REFUEL)); + assertTrue(station.has(SERVICE_TYPE.REPAIR)); + station = market.get("1 Hydrae").get("Feustel Port"); assertNotNull(station); @@ -110,6 +131,8 @@ public class StationImportTest extends Assert { assertTrue(station.has(SERVICE_TYPE.SHIPYARD)); assertFalse(station.has(SERVICE_TYPE.OUTFIT)); assertFalse(station.has(SERVICE_TYPE.MUNITION)); + assertFalse(station.has(SERVICE_TYPE.REFUEL)); + assertFalse(station.has(SERVICE_TYPE.REPAIR)); Place place = market.get("10 CANUM VENATICORUM"); assertNotNull(place); @@ -118,7 +141,7 @@ public class StationImportTest extends Assert { station = place.get("Trevithick Hub"); assertNotNull(station); - assertEquals(STATION_TYPE.STARPORT, station.getType()); + assertEquals(STATION_TYPE.PLANETARY_OUTPOST, station.getType()); assertEquals(FACTION.ALLIANCE, station.getFaction()); assertEquals(GOVERNMENT.COMMUNISM, station.getGovernment()); assertEquals(957, station.getDistance(), 0.00001); @@ -127,6 +150,8 @@ public class StationImportTest extends Assert { assertFalse(station.has(SERVICE_TYPE.SHIPYARD)); assertTrue(station.has(SERVICE_TYPE.OUTFIT)); assertFalse(station.has(SERVICE_TYPE.MUNITION)); + assertFalse(station.has(SERVICE_TYPE.REFUEL)); + assertFalse(station.has(SERVICE_TYPE.REPAIR)); station = market.get("10 CANUM VENATICORUM").get("Litke Port"); assertNotNull(station); @@ -139,6 +164,8 @@ public class StationImportTest extends Assert { assertTrue(station.has(SERVICE_TYPE.SHIPYARD)); assertTrue(station.has(SERVICE_TYPE.OUTFIT)); assertFalse(station.has(SERVICE_TYPE.MUNITION)); + assertFalse(station.has(SERVICE_TYPE.REFUEL)); + assertFalse(station.has(SERVICE_TYPE.REPAIR)); } }