From f125b132cb6a48579e97097018970c9e187f8c66 Mon Sep 17 00:00:00 2001 From: Jan Hakenberg Date: Sun, 7 Mar 2021 09:23:27 +0100 Subject: [PATCH 1/2] update dependencies --- pom.xml | 17 +++++++---- .../java/amodeus/amod/ScenarioPreparer.java | 16 +++++------ .../java/amodeus/amod/ScenarioServer.java | 22 +++++++-------- .../java/amodeus/amod/ScenarioViewer.java | 10 +++---- .../amodeus/amod/analysis/CustomAnalysis.java | 10 +++---- .../RoboTaxiRequestHistoGramExport.java | 12 ++++---- .../amod/dispatcher/DemoDispatcher.java | 15 +++++----- src/main/java/amodeus/amod/ext/Static.java | 3 +- .../amodeus/amod/ext/UserLocationSpecs.java | 3 +- .../amodeus/amod/ext/UserReferenceFrames.java | 4 +-- .../amodeus/amod/generator/DemoGenerator.java | 5 ++-- .../amodeus/amod/router/CustomRouter.java | 3 +- .../java/amodeus/socket/SocketExport.java | 6 ++-- src/main/java/amodeus/socket/SocketHost.java | 4 +-- .../java/amodeus/socket/SocketModule.java | 3 +- .../socket/SocketPopulationPreparer.java | 11 ++++---- .../java/amodeus/socket/SocketPreparer.java | 16 +++++------ .../java/amodeus/socket/SocketServer.java | 28 +++++++++---------- .../amodeus/socket/core/ScoreParameters.java | 4 +-- .../socket/core/SocketRequestCompiler.java | 4 +-- .../socket/core/SocketRoboTaxiCompiler.java | 2 +- .../socket/core/SocketScenarioDownload.java | 2 +- .../socket/core/SocketScoreCompiler.java | 4 +-- .../socket/core/SocketVehicleStatistic.java | 4 +-- src/test/java/amodeus/amod/DemoTest.java | 8 +++--- .../socket/core/HttpDownloaderTest.java | 4 +-- 26 files changed, 116 insertions(+), 104 deletions(-) diff --git a/pom.xml b/pom.xml index 21ff660..642e57a 100644 --- a/pom.xml +++ b/pom.xml @@ -24,6 +24,11 @@ amodtaxi 2.0.0 + + ch.ethz.idsc + java + 0.0.3 + junit junit @@ -34,24 +39,24 @@ - tensor-mvn-repo - https://raw.github.com/amodeus-science/tensor/mvn-repo/ + amodeus-mvn-repo + https://raw.github.com/amodeus-science/amodeus/mvn-repo/ true always - amodeus-mvn-repo - https://raw.github.com/amodeus-science/amodeus/mvn-repo/ + amodtaxi-mvn-repo + https://raw.github.com/amodeus-science/amodtaxi/mvn-repo/ true always - amodtaxi-mvn-repo - https://raw.github.com/amodeus-science/amodtaxi/mvn-repo/ + java-mvn-repo + https://raw.github.com/datahaki/java/mvn-repo/ true always diff --git a/src/main/java/amodeus/amod/ScenarioPreparer.java b/src/main/java/amodeus/amod/ScenarioPreparer.java index 21aff9f..f7b0144 100644 --- a/src/main/java/amodeus/amod/ScenarioPreparer.java +++ b/src/main/java/amodeus/amod/ScenarioPreparer.java @@ -4,14 +4,6 @@ import java.io.File; import java.net.MalformedURLException; -import amodeus.amodeus.options.ScenarioOptions; -import amodeus.amodeus.options.ScenarioOptionsBase; -import amodeus.amodeus.prep.ConfigCreator; -import amodeus.amodeus.prep.NetworkPreparer; -import amodeus.amodeus.prep.PopulationPreparer; -import amodeus.amodeus.prep.TheApocalypse; -import amodeus.amodeus.prep.VirtualNetworkPreparer; -import amodeus.amodeus.util.io.MultiFileTools; import org.matsim.amodeus.config.AmodeusConfigGroup; import org.matsim.amodeus.config.modal.GeneratorConfig; import org.matsim.api.core.v01.Scenario; @@ -22,6 +14,14 @@ import org.matsim.core.scenario.ScenarioUtils; import amodeus.amod.ext.Static; +import amodeus.amodeus.options.ScenarioOptions; +import amodeus.amodeus.options.ScenarioOptionsBase; +import amodeus.amodeus.prep.ConfigCreator; +import amodeus.amodeus.prep.NetworkPreparer; +import amodeus.amodeus.prep.PopulationPreparer; +import amodeus.amodeus.prep.TheApocalypse; +import amodeus.amodeus.prep.VirtualNetworkPreparer; +import amodeus.amodeus.util.io.MultiFileTools; /** Class to prepare a given scenario for MATSim, includes preparation of * network, population, creation of virtualNetwork and travelData objects. As an diff --git a/src/main/java/amodeus/amod/ScenarioServer.java b/src/main/java/amodeus/amod/ScenarioServer.java index 287e1a9..ffa43da 100644 --- a/src/main/java/amodeus/amod/ScenarioServer.java +++ b/src/main/java/amodeus/amod/ScenarioServer.java @@ -5,17 +5,6 @@ import java.net.MalformedURLException; import java.util.Objects; -import amodeus.amodeus.analysis.Analysis; -import amodeus.amodeus.data.LocationSpec; -import amodeus.amodeus.data.ReferenceFrame; -import amodeus.amodeus.linkspeed.TaxiTravelTimeRouter; -import amodeus.amodeus.net.MatsimAmodeusDatabase; -import amodeus.amodeus.net.SimulationServer; -import amodeus.amodeus.options.ScenarioOptions; -import amodeus.amodeus.options.ScenarioOptionsBase; -import amodeus.amodeus.util.io.MultiFileTools; -import amodeus.amodeus.util.math.GlobalAssert; -import amodeus.amodeus.util.matsim.AddCoordinatesToActivities; import org.matsim.amodeus.AmodeusConfigurator; import org.matsim.amodeus.config.AmodeusConfigGroup; import org.matsim.amodeus.framework.AmodeusUtils; @@ -35,6 +24,17 @@ import amodeus.amod.dispatcher.DemoDispatcher; import amodeus.amod.ext.Static; import amodeus.amod.generator.DemoGenerator; +import amodeus.amodeus.analysis.Analysis; +import amodeus.amodeus.data.LocationSpec; +import amodeus.amodeus.data.ReferenceFrame; +import amodeus.amodeus.linkspeed.TaxiTravelTimeRouter; +import amodeus.amodeus.net.MatsimAmodeusDatabase; +import amodeus.amodeus.net.SimulationServer; +import amodeus.amodeus.options.ScenarioOptions; +import amodeus.amodeus.options.ScenarioOptionsBase; +import amodeus.amodeus.util.io.MultiFileTools; +import amodeus.amodeus.util.math.GlobalAssert; +import amodeus.amodeus.util.matsim.AddCoordinatesToActivities; /** This class runs an AMoDeus simulation based on MATSim. The results can be * viewed if the {@link ScenarioViewer} is executed in the same working diff --git a/src/main/java/amodeus/amod/ScenarioViewer.java b/src/main/java/amodeus/amod/ScenarioViewer.java index 2810d6b..b2f5f22 100644 --- a/src/main/java/amodeus/amod/ScenarioViewer.java +++ b/src/main/java/amodeus/amod/ScenarioViewer.java @@ -5,6 +5,11 @@ import java.io.FileNotFoundException; import java.io.IOException; +import org.matsim.api.core.v01.network.Network; +import org.matsim.core.config.Config; +import org.matsim.core.config.ConfigUtils; + +import amodeus.amod.ext.Static; import amodeus.amodeus.data.LocationSpec; import amodeus.amodeus.data.ReferenceFrame; import amodeus.amodeus.gfx.AmodeusComponent; @@ -16,11 +21,6 @@ import amodeus.amodeus.util.io.MultiFileTools; import amodeus.amodeus.util.matsim.NetworkLoader; import amodeus.amodeus.virtualnetwork.core.VirtualNetworkGet; -import org.matsim.api.core.v01.network.Network; -import org.matsim.core.config.Config; -import org.matsim.core.config.ConfigUtils; - -import amodeus.amod.ext.Static; /** the viewer allows to connect to the scenario server or to view saved simulation results. */ /* package */ enum ScenarioViewer { diff --git a/src/main/java/amodeus/amod/analysis/CustomAnalysis.java b/src/main/java/amodeus/amod/analysis/CustomAnalysis.java index f28f674..e0b0fc8 100644 --- a/src/main/java/amodeus/amod/analysis/CustomAnalysis.java +++ b/src/main/java/amodeus/amod/analysis/CustomAnalysis.java @@ -3,6 +3,11 @@ import java.io.File; +import org.matsim.api.core.v01.network.Network; +import org.matsim.core.config.Config; +import org.matsim.core.config.ConfigUtils; + +import amodeus.amod.ext.Static; import amodeus.amodeus.analysis.Analysis; import amodeus.amodeus.data.LocationSpec; import amodeus.amodeus.data.ReferenceFrame; @@ -13,11 +18,6 @@ import amodeus.amodeus.options.ScenarioOptionsBase; import amodeus.amodeus.util.io.MultiFileTools; import amodeus.amodeus.util.matsim.NetworkLoader; -import org.matsim.api.core.v01.network.Network; -import org.matsim.core.config.Config; -import org.matsim.core.config.ConfigUtils; - -import amodeus.amod.ext.Static; /** This is a demonstration of the functionality of AMoDeus that customized analysis and reporting * elements can be easily added. In this example, we present the case in which for every diff --git a/src/main/java/amodeus/amod/analysis/RoboTaxiRequestHistoGramExport.java b/src/main/java/amodeus/amod/analysis/RoboTaxiRequestHistoGramExport.java index dced493..d5d4818 100644 --- a/src/main/java/amodeus/amod/analysis/RoboTaxiRequestHistoGramExport.java +++ b/src/main/java/amodeus/amod/analysis/RoboTaxiRequestHistoGramExport.java @@ -3,6 +3,12 @@ import java.io.File; +import org.jfree.chart.JFreeChart; +import org.jfree.chart.axis.CategoryAnchor; +import org.jfree.chart.axis.CategoryLabelPositions; +import org.jfree.chart.plot.CategoryPlot; +import org.matsim.amodeus.dvrp.request.AmodeusRequest; + import amodeus.amodeus.analysis.AnalysisSummary; import amodeus.amodeus.analysis.element.AnalysisExport; import amodeus.amodeus.analysis.plot.AmodeusChartUtils; @@ -10,12 +16,6 @@ import amodeus.amodeus.util.math.GlobalAssert; import amodeus.tensor.fig.Histogram; import amodeus.tensor.fig.VisualSet; -import org.jfree.chart.JFreeChart; -import org.jfree.chart.axis.CategoryAnchor; -import org.jfree.chart.axis.CategoryLabelPositions; -import org.jfree.chart.plot.CategoryPlot; -import org.matsim.amodeus.dvrp.request.AmodeusRequest; - import ch.ethz.idsc.tensor.RationalScalar; import ch.ethz.idsc.tensor.RealScalar; import ch.ethz.idsc.tensor.Scalar; diff --git a/src/main/java/amodeus/amod/dispatcher/DemoDispatcher.java b/src/main/java/amodeus/amod/dispatcher/DemoDispatcher.java index 7bc4905..6f6443e 100644 --- a/src/main/java/amodeus/amod/dispatcher/DemoDispatcher.java +++ b/src/main/java/amodeus/amod/dispatcher/DemoDispatcher.java @@ -6,13 +6,6 @@ import java.util.Map; import java.util.Random; -import amodeus.amodeus.dispatcher.core.DispatcherUtils; -import amodeus.amodeus.dispatcher.core.RebalancingDispatcher; -import amodeus.amodeus.dispatcher.core.RoboTaxi; -import amodeus.amodeus.dispatcher.core.RoboTaxiUsageType; -import amodeus.amodeus.dispatcher.util.DrivebyRequestStopper; -import amodeus.amodeus.net.MatsimAmodeusDatabase; -import amodeus.amodeus.util.matsim.SafeConfig; import org.matsim.amodeus.components.AmodeusDispatcher; import org.matsim.amodeus.components.AmodeusRouter; import org.matsim.amodeus.config.AmodeusModeConfig; @@ -25,6 +18,14 @@ import org.matsim.core.config.Config; import org.matsim.core.router.util.TravelTime; +import amodeus.amodeus.dispatcher.core.DispatcherUtils; +import amodeus.amodeus.dispatcher.core.RebalancingDispatcher; +import amodeus.amodeus.dispatcher.core.RoboTaxi; +import amodeus.amodeus.dispatcher.core.RoboTaxiUsageType; +import amodeus.amodeus.dispatcher.util.DrivebyRequestStopper; +import amodeus.amodeus.net.MatsimAmodeusDatabase; +import amodeus.amodeus.util.matsim.SafeConfig; + /** Dispatcher sends vehicles to all links in the network and lets them pickup * any customers which are waiting along the road. */ public class DemoDispatcher extends RebalancingDispatcher { diff --git a/src/main/java/amodeus/amod/ext/Static.java b/src/main/java/amodeus/amod/ext/Static.java index da87647..ddcbb60 100644 --- a/src/main/java/amodeus/amod/ext/Static.java +++ b/src/main/java/amodeus/amod/ext/Static.java @@ -10,10 +10,11 @@ import java.io.OutputStream; import java.util.Properties; +import org.gnu.glpk.GLPK; + import amodeus.amodeus.data.LocationSpec; import amodeus.amodeus.data.LocationSpecDatabase; import amodeus.amodeus.options.LPOptionsBase; -import org.gnu.glpk.GLPK; public enum Static { ; diff --git a/src/main/java/amodeus/amod/ext/UserLocationSpecs.java b/src/main/java/amodeus/amod/ext/UserLocationSpecs.java index 067767c..930b39a 100644 --- a/src/main/java/amodeus/amod/ext/UserLocationSpecs.java +++ b/src/main/java/amodeus/amod/ext/UserLocationSpecs.java @@ -1,9 +1,10 @@ /* amod - Copyright (c) 2018, ETH Zurich, Institute for Dynamic Systems and Control */ package amodeus.amod.ext; +import org.matsim.api.core.v01.Coord; + import amodeus.amodeus.data.LocationSpec; import amodeus.amodeus.data.ReferenceFrame; -import org.matsim.api.core.v01.Coord; /* package */ enum UserLocationSpecs implements LocationSpec { SANFRANCISCO( // diff --git a/src/main/java/amodeus/amod/ext/UserReferenceFrames.java b/src/main/java/amodeus/amod/ext/UserReferenceFrames.java index f7bfb34..8c939ff 100644 --- a/src/main/java/amodeus/amod/ext/UserReferenceFrames.java +++ b/src/main/java/amodeus/amod/ext/UserReferenceFrames.java @@ -1,12 +1,12 @@ /* amod - Copyright (c) 2018, ETH Zurich, Institute for Dynamic Systems and Control */ package amodeus.amod.ext; -import amodeus.amodeus.data.ReferenceFrame; -import amodeus.amodeus.util.math.SI; import org.matsim.core.utils.geometry.CoordinateTransformation; import org.matsim.core.utils.geometry.transformations.GeotoolsTransformation; import org.matsim.core.utils.geometry.transformations.IdentityTransformation; +import amodeus.amodeus.data.ReferenceFrame; +import amodeus.amodeus.util.math.SI; import ch.ethz.idsc.tensor.qty.Unit; /* package */ enum UserReferenceFrames implements ReferenceFrame { diff --git a/src/main/java/amodeus/amod/generator/DemoGenerator.java b/src/main/java/amodeus/amod/generator/DemoGenerator.java index 63c1fda..f567a75 100644 --- a/src/main/java/amodeus/amod/generator/DemoGenerator.java +++ b/src/main/java/amodeus/amod/generator/DemoGenerator.java @@ -6,8 +6,6 @@ import java.util.LinkedList; import java.util.List; -import amodeus.amodeus.dispatcher.core.RoboTaxi; -import amodeus.amodeus.generator.RandomDensityGenerator; import org.apache.log4j.Logger; import org.matsim.amodeus.components.AmodeusGenerator; import org.matsim.amodeus.components.generator.AmodeusIdentifiers; @@ -21,6 +19,9 @@ import org.matsim.contrib.dvrp.run.ModalProviders.InstanceGetter; import org.matsim.core.gbl.MatsimRandom; +import amodeus.amodeus.dispatcher.core.RoboTaxi; +import amodeus.amodeus.generator.RandomDensityGenerator; + /** the initial placement of {@link RoboTaxi} in the {@link Network} is determined * with an {@link AmodeusGenerator}. In most cases it is sufficient to use the diff --git a/src/main/java/amodeus/amod/router/CustomRouter.java b/src/main/java/amodeus/amod/router/CustomRouter.java index c2bf98f..a85550f 100644 --- a/src/main/java/amodeus/amod/router/CustomRouter.java +++ b/src/main/java/amodeus/amod/router/CustomRouter.java @@ -4,7 +4,6 @@ import java.io.IOException; import java.util.concurrent.Future; -import amodeus.amodeus.dispatcher.core.RoboTaxi; import org.matsim.amodeus.components.AmodeusRouter; import org.matsim.api.core.v01.network.Network; import org.matsim.api.core.v01.network.Node; @@ -13,6 +12,8 @@ import org.matsim.core.router.util.LeastCostPathCalculator.Path; import org.matsim.vehicles.Vehicle; +import amodeus.amodeus.dispatcher.core.RoboTaxi; + /** This is a nonfunctional sample demonstrating of how to include a custom router * to AMoDeus which is not the standard choice of the Paralllel Djikstra router used * normally to calculate the path for {@link RoboTaxi} */ diff --git a/src/main/java/amodeus/socket/SocketExport.java b/src/main/java/amodeus/socket/SocketExport.java index 68a7043..18f0a1e 100644 --- a/src/main/java/amodeus/socket/SocketExport.java +++ b/src/main/java/amodeus/socket/SocketExport.java @@ -3,18 +3,18 @@ import java.io.File; +import org.jfree.chart.JFreeChart; + import amodeus.amodeus.analysis.AnalysisSummary; import amodeus.amodeus.analysis.UnitSaveUtils; import amodeus.amodeus.analysis.element.AnalysisExport; import amodeus.amodeus.analysis.element.AnalysisMeanFilter; import amodeus.amodeus.analysis.plot.AmodeusChartUtils; import amodeus.amodeus.util.math.GlobalAssert; +import amodeus.socket.core.SocketScoreElement; import amodeus.tensor.fig.TimedChart; import amodeus.tensor.fig.VisualRow; import amodeus.tensor.fig.VisualSet; -import org.jfree.chart.JFreeChart; - -import amodeus.socket.core.SocketScoreElement; import ch.ethz.idsc.tensor.Tensor; import ch.ethz.idsc.tensor.Unprotect; import ch.ethz.idsc.tensor.img.ColorDataIndexed; diff --git a/src/main/java/amodeus/socket/SocketHost.java b/src/main/java/amodeus/socket/SocketHost.java index ca142ca..b596a0a 100644 --- a/src/main/java/amodeus/socket/SocketHost.java +++ b/src/main/java/amodeus/socket/SocketHost.java @@ -4,6 +4,8 @@ import java.io.File; import java.util.Objects; +import org.matsim.amodeus.config.AmodeusModeConfig; + import amodeus.amodeus.analysis.Analysis; import amodeus.amodeus.options.ScenarioOptions; import amodeus.amodeus.options.ScenarioOptionsBase; @@ -14,8 +16,6 @@ import amodeus.amodeus.util.net.StringServerSocket; import amodeus.amodeus.util.net.StringSocket; import amodeus.amodeus.video.VideoGenerator; -import org.matsim.amodeus.config.AmodeusModeConfig; - import amodeus.socket.core.ScoreParameters; import amodeus.socket.core.SocketDispatcherHost; import amodeus.socket.core.SocketScoreElement; diff --git a/src/main/java/amodeus/socket/SocketModule.java b/src/main/java/amodeus/socket/SocketModule.java index 3ddd8f4..5b2e286 100644 --- a/src/main/java/amodeus/socket/SocketModule.java +++ b/src/main/java/amodeus/socket/SocketModule.java @@ -3,13 +3,14 @@ import java.util.Objects; -import amodeus.amodeus.util.net.StringSocket; import org.matsim.api.core.v01.network.Network; import org.matsim.core.controler.AbstractModule; import com.google.inject.Provides; import com.google.inject.Singleton; +import amodeus.amodeus.util.net.StringSocket; + public class SocketModule extends AbstractModule { private final StringSocket stringSocket; private final int numReqTot; diff --git a/src/main/java/amodeus/socket/SocketPopulationPreparer.java b/src/main/java/amodeus/socket/SocketPopulationPreparer.java index 0f53bff..57c44fd 100644 --- a/src/main/java/amodeus/socket/SocketPopulationPreparer.java +++ b/src/main/java/amodeus/socket/SocketPopulationPreparer.java @@ -3,17 +3,18 @@ import java.io.File; +import org.matsim.amodeus.config.AmodeusModeConfig; +import org.matsim.api.core.v01.network.Network; +import org.matsim.api.core.v01.population.Population; +import org.matsim.core.config.Config; +import org.matsim.core.population.io.PopulationWriter; + import amodeus.amodeus.options.ScenarioOptions; import amodeus.amodeus.prep.LegCount; import amodeus.amodeus.prep.PopulationCutter; import amodeus.amodeus.prep.TheRequestApocalypse; import amodeus.amodeus.util.io.GZHandler; import amodeus.amodeus.util.math.GlobalAssert; -import org.matsim.amodeus.config.AmodeusModeConfig; -import org.matsim.api.core.v01.network.Network; -import org.matsim.api.core.v01.population.Population; -import org.matsim.core.config.Config; -import org.matsim.core.population.io.PopulationWriter; /* package */ enum SocketPopulationPreparer { ; diff --git a/src/main/java/amodeus/socket/SocketPreparer.java b/src/main/java/amodeus/socket/SocketPreparer.java index b5cb150..719211f 100644 --- a/src/main/java/amodeus/socket/SocketPreparer.java +++ b/src/main/java/amodeus/socket/SocketPreparer.java @@ -4,14 +4,6 @@ import java.io.File; import java.net.MalformedURLException; -import amodeus.amodeus.data.LocationSpec; -import amodeus.amodeus.data.ReferenceFrame; -import amodeus.amodeus.net.MatsimAmodeusDatabase; -import amodeus.amodeus.net.TensorCoords; -import amodeus.amodeus.options.ScenarioOptions; -import amodeus.amodeus.options.ScenarioOptionsBase; -import amodeus.amodeus.prep.ConfigCreator; -import amodeus.amodeus.prep.NetworkPreparer; import org.matsim.amodeus.config.AmodeusConfigGroup; import org.matsim.amodeus.config.modal.GeneratorConfig; import org.matsim.api.core.v01.Coord; @@ -24,6 +16,14 @@ import org.matsim.core.scenario.ScenarioUtils; import amodeus.amod.ext.Static; +import amodeus.amodeus.data.LocationSpec; +import amodeus.amodeus.data.ReferenceFrame; +import amodeus.amodeus.net.MatsimAmodeusDatabase; +import amodeus.amodeus.net.TensorCoords; +import amodeus.amodeus.options.ScenarioOptions; +import amodeus.amodeus.options.ScenarioOptionsBase; +import amodeus.amodeus.prep.ConfigCreator; +import amodeus.amodeus.prep.NetworkPreparer; import ch.ethz.idsc.tensor.Tensor; import ch.ethz.idsc.tensor.Tensors; diff --git a/src/main/java/amodeus/socket/SocketServer.java b/src/main/java/amodeus/socket/SocketServer.java index 5c2fc92..46acd1e 100644 --- a/src/main/java/amodeus/socket/SocketServer.java +++ b/src/main/java/amodeus/socket/SocketServer.java @@ -5,20 +5,6 @@ import java.net.MalformedURLException; import java.util.Objects; -import amodeus.amodeus.data.LocationSpec; -import amodeus.amodeus.data.ReferenceFrame; -import amodeus.amodeus.generator.RandomDensityGenerator; -import amodeus.amodeus.linkspeed.LinkSpeedDataContainer; -import amodeus.amodeus.linkspeed.LinkSpeedUtils; -import amodeus.amodeus.linkspeed.TaxiTravelTimeRouter; -import amodeus.amodeus.linkspeed.TrafficDataModule; -import amodeus.amodeus.net.MatsimAmodeusDatabase; -import amodeus.amodeus.net.SimulationServer; -import amodeus.amodeus.options.ScenarioOptions; -import amodeus.amodeus.options.ScenarioOptionsBase; -import amodeus.amodeus.util.math.GlobalAssert; -import amodeus.amodeus.util.matsim.AddCoordinatesToActivities; -import amodeus.amodeus.util.net.StringSocket; import org.matsim.amodeus.AmodeusConfigurator; import org.matsim.amodeus.config.AmodeusConfigGroup; import org.matsim.amodeus.framework.AmodeusUtils; @@ -34,6 +20,20 @@ import org.matsim.core.scenario.ScenarioUtils; import amodeus.amod.ext.Static; +import amodeus.amodeus.data.LocationSpec; +import amodeus.amodeus.data.ReferenceFrame; +import amodeus.amodeus.generator.RandomDensityGenerator; +import amodeus.amodeus.linkspeed.LinkSpeedDataContainer; +import amodeus.amodeus.linkspeed.LinkSpeedUtils; +import amodeus.amodeus.linkspeed.TaxiTravelTimeRouter; +import amodeus.amodeus.linkspeed.TrafficDataModule; +import amodeus.amodeus.net.MatsimAmodeusDatabase; +import amodeus.amodeus.net.SimulationServer; +import amodeus.amodeus.options.ScenarioOptions; +import amodeus.amodeus.options.ScenarioOptionsBase; +import amodeus.amodeus.util.math.GlobalAssert; +import amodeus.amodeus.util.matsim.AddCoordinatesToActivities; +import amodeus.amodeus.util.net.StringSocket; import amodeus.socket.core.SocketDispatcherHost; /** only one ScenarioServer can run at one time, since a fixed network port is diff --git a/src/main/java/amodeus/socket/core/ScoreParameters.java b/src/main/java/amodeus/socket/core/ScoreParameters.java index b7fe36b..27b21ef 100644 --- a/src/main/java/amodeus/socket/core/ScoreParameters.java +++ b/src/main/java/amodeus/socket/core/ScoreParameters.java @@ -6,15 +6,15 @@ import ch.ethz.idsc.tensor.Tensor; import ch.ethz.idsc.tensor.Tensors; import ch.ethz.idsc.tensor.io.ResourceData; -import ch.ethz.idsc.tensor.io.TensorProperties; import ch.ethz.idsc.tensor.qty.Quantity; +import ch.ethz.idsc.tensor.ref.ObjectProperties; /** values in class are required by SocketHost * therefore class was made public */ public class ScoreParameters { /** overrides default values defined in class * with the values parsed from the properties file */ - public static final ScoreParameters GLOBAL = TensorProperties.wrap(new ScoreParameters()) // + public static final ScoreParameters GLOBAL = ObjectProperties.wrap(new ScoreParameters()) // .set(ResourceData.properties("/socket/ScoreParameters.properties")); /** service quality */ diff --git a/src/main/java/amodeus/socket/core/SocketRequestCompiler.java b/src/main/java/amodeus/socket/core/SocketRequestCompiler.java index f53133b..3880489 100644 --- a/src/main/java/amodeus/socket/core/SocketRequestCompiler.java +++ b/src/main/java/amodeus/socket/core/SocketRequestCompiler.java @@ -3,10 +3,10 @@ import java.util.Collection; -import amodeus.amodeus.net.MatsimAmodeusDatabase; -import amodeus.amodeus.net.TensorCoords; import org.matsim.contrib.dvrp.passenger.PassengerRequest; +import amodeus.amodeus.net.MatsimAmodeusDatabase; +import amodeus.amodeus.net.TensorCoords; import ch.ethz.idsc.tensor.RealScalar; import ch.ethz.idsc.tensor.Tensor; import ch.ethz.idsc.tensor.Tensors; diff --git a/src/main/java/amodeus/socket/core/SocketRoboTaxiCompiler.java b/src/main/java/amodeus/socket/core/SocketRoboTaxiCompiler.java index 38d3ed3..871bbc7 100644 --- a/src/main/java/amodeus/socket/core/SocketRoboTaxiCompiler.java +++ b/src/main/java/amodeus/socket/core/SocketRoboTaxiCompiler.java @@ -9,7 +9,7 @@ import ch.ethz.idsc.tensor.Tensor; import ch.ethz.idsc.tensor.Tensors; import ch.ethz.idsc.tensor.io.StringScalar; -import ch.ethz.idsc.tensor.qty.Boole; +import ch.ethz.idsc.tensor.num.Boole; public class SocketRoboTaxiCompiler { private final MatsimAmodeusDatabase db; diff --git a/src/main/java/amodeus/socket/core/SocketScenarioDownload.java b/src/main/java/amodeus/socket/core/SocketScenarioDownload.java index a0190ac..141f458 100644 --- a/src/main/java/amodeus/socket/core/SocketScenarioDownload.java +++ b/src/main/java/amodeus/socket/core/SocketScenarioDownload.java @@ -7,8 +7,8 @@ import amodeus.amodeus.util.io.ContentType; import amodeus.amodeus.util.io.Unzip; +import ch.ethz.idsc.tensor.ext.URLFetch; import ch.ethz.idsc.tensor.io.ResourceData; -import ch.ethz.idsc.tensor.io.URLFetch; public enum SocketScenarioDownload { ; diff --git a/src/main/java/amodeus/socket/core/SocketScoreCompiler.java b/src/main/java/amodeus/socket/core/SocketScoreCompiler.java index a6da81f..31d799e 100644 --- a/src/main/java/amodeus/socket/core/SocketScoreCompiler.java +++ b/src/main/java/amodeus/socket/core/SocketScoreCompiler.java @@ -4,12 +4,12 @@ import java.util.Collection; import java.util.List; +import org.matsim.contrib.dvrp.passenger.PassengerRequest; + import amodeus.amodeus.dispatcher.core.RequestStatus; import amodeus.amodeus.dispatcher.core.RoboTaxi; import amodeus.amodeus.net.MatsimAmodeusDatabase; import amodeus.amodeus.net.SimulationObjectCompiler; -import org.matsim.contrib.dvrp.passenger.PassengerRequest; - import ch.ethz.idsc.tensor.Tensor; public class SocketScoreCompiler { diff --git a/src/main/java/amodeus/socket/core/SocketVehicleStatistic.java b/src/main/java/amodeus/socket/core/SocketVehicleStatistic.java index 076a6d1..9691120 100644 --- a/src/main/java/amodeus/socket/core/SocketVehicleStatistic.java +++ b/src/main/java/amodeus/socket/core/SocketVehicleStatistic.java @@ -4,13 +4,13 @@ import java.util.LinkedList; import java.util.List; +import org.matsim.api.core.v01.network.Link; + import amodeus.amodeus.dispatcher.core.RoboTaxi; import amodeus.amodeus.net.MatsimAmodeusDatabase; import amodeus.amodeus.net.VehicleContainer; import amodeus.amodeus.net.VehicleContainerUtils; import amodeus.amodeus.util.math.SI; -import org.matsim.api.core.v01.network.Link; - import ch.ethz.idsc.tensor.RationalScalar; import ch.ethz.idsc.tensor.Scalar; import ch.ethz.idsc.tensor.Tensor; diff --git a/src/test/java/amodeus/amod/DemoTest.java b/src/test/java/amodeus/amod/DemoTest.java index 2dec53a..768bc32 100644 --- a/src/test/java/amodeus/amod/DemoTest.java +++ b/src/test/java/amodeus/amod/DemoTest.java @@ -3,15 +3,15 @@ import java.io.File; import java.io.IOException; +import org.junit.AfterClass; +import org.junit.Test; + import amodeus.amodeus.util.io.Locate; import amodeus.amodeus.util.io.MultiFileTools; import amodeus.amodeus.util.io.Unzip; import amodeus.amodtaxi.scenario.ScenarioCreation; import amodeus.amodtaxi.scenario.sanfrancisco.TraceFileChoice; -import org.junit.AfterClass; -import org.junit.Test; - -import ch.ethz.idsc.tensor.io.DeleteDirectory; +import ch.ethz.idsc.tensor.ext.DeleteDirectory; public class DemoTest { diff --git a/src/test/java/amodeus/socket/core/HttpDownloaderTest.java b/src/test/java/amodeus/socket/core/HttpDownloaderTest.java index 0dd2fe4..af20d31 100644 --- a/src/test/java/amodeus/socket/core/HttpDownloaderTest.java +++ b/src/test/java/amodeus/socket/core/HttpDownloaderTest.java @@ -5,8 +5,8 @@ import java.io.IOException; import amodeus.amodeus.util.io.ContentType; -import ch.ethz.idsc.tensor.io.HomeDirectory; -import ch.ethz.idsc.tensor.io.URLFetch; +import ch.ethz.idsc.tensor.ext.HomeDirectory; +import ch.ethz.idsc.tensor.ext.URLFetch; import junit.framework.TestCase; public class HttpDownloaderTest extends TestCase { From 8d283a7ae30414099d77d047824b000837c62881 Mon Sep 17 00:00:00 2001 From: Jan Hakenberg Date: Sun, 7 Mar 2021 16:37:00 +0100 Subject: [PATCH 2/2] minor --- .../amod/analysis/RoboTaxiRequestHistoGramExport.java | 3 ++- src/main/java/amodeus/socket/SocketExport.java | 2 +- src/main/java/amodeus/socket/SocketHost.java | 5 +++-- src/main/java/amodeus/socket/core/FleetSizeScore.java | 3 ++- .../java/amodeus/socket/core/SocketDispatcherHost.java | 7 ++++--- 5 files changed, 12 insertions(+), 8 deletions(-) diff --git a/src/main/java/amodeus/amod/analysis/RoboTaxiRequestHistoGramExport.java b/src/main/java/amodeus/amod/analysis/RoboTaxiRequestHistoGramExport.java index d5d4818..1b10505 100644 --- a/src/main/java/amodeus/amod/analysis/RoboTaxiRequestHistoGramExport.java +++ b/src/main/java/amodeus/amod/analysis/RoboTaxiRequestHistoGramExport.java @@ -21,6 +21,7 @@ import ch.ethz.idsc.tensor.Scalar; import ch.ethz.idsc.tensor.Scalars; import ch.ethz.idsc.tensor.Tensor; +import ch.ethz.idsc.tensor.Unprotect; import ch.ethz.idsc.tensor.alg.Range; import ch.ethz.idsc.tensor.img.ColorDataIndexed; import ch.ethz.idsc.tensor.pdf.BinCounts; @@ -61,7 +62,7 @@ public void summaryTarget(AnalysisSummary analysisSummary, File relativeDirector visualSet.setAxesLabelY("% of RoboTaxis"); visualSet.setAxesLabelX("Requests"); - JFreeChart jFreeChart = Histogram.of(visualSet, s -> "[" + s.number() + " , " + s.add(histoGrambinSize).number() + ")"); + JFreeChart jFreeChart = Histogram.of(visualSet, s -> "[" + Unprotect.withoutUnit(s).number() + " , " + Unprotect.withoutUnit(s.add(histoGrambinSize)).number() + ")"); CategoryPlot categoryPlot = jFreeChart.getCategoryPlot(); categoryPlot.getDomainAxis().setLowerMargin(0.0); categoryPlot.getDomainAxis().setUpperMargin(0.0); diff --git a/src/main/java/amodeus/socket/SocketExport.java b/src/main/java/amodeus/socket/SocketExport.java index 18f0a1e..b4668b0 100644 --- a/src/main/java/amodeus/socket/SocketExport.java +++ b/src/main/java/amodeus/socket/SocketExport.java @@ -80,7 +80,7 @@ public void summaryTarget(AnalysisSummary analysisSummary, File relativeDirector new String[] { "fleet size score integrated" }, // "time of day", "scores integrated", time, fleetSizeScoreIntg, colorScheme); File fileChart = new File(relativeDirectory, FILENAME_SCORE_INTG); - chart.getXYPlot().getRangeAxis().setRange(fleetSizeScoreIntg.get(0).Get(0).number().intValue() * 2.0, 0.0); + chart.getXYPlot().getRangeAxis().setRange(Unprotect.withoutUnit(fleetSizeScoreIntg.Get(0,0)).number().intValue() * 2.0, 0.0); AmodeusChartUtils.saveAsPNG(chart, fileChart.toString(), WIDTH, HEIGHT); GlobalAssert.that(fileChart.isFile()); } catch (Exception e1) { diff --git a/src/main/java/amodeus/socket/SocketHost.java b/src/main/java/amodeus/socket/SocketHost.java index b596a0a..620c394 100644 --- a/src/main/java/amodeus/socket/SocketHost.java +++ b/src/main/java/amodeus/socket/SocketHost.java @@ -23,6 +23,7 @@ import ch.ethz.idsc.tensor.Scalar; import ch.ethz.idsc.tensor.Tensor; import ch.ethz.idsc.tensor.Tensors; +import ch.ethz.idsc.tensor.Unprotect; import ch.ethz.idsc.tensor.red.Total; import ch.ethz.idsc.tensor.sca.Round; @@ -86,8 +87,8 @@ public static void run(File workingDirectory) throws Exception { /** get additional information */ String readLine2 = stringSocket.readLine(); Tensor config2 = Tensors.fromString(readLine2); - int numReqDes = config2.Get(0).number().intValue(); - int fleetSize = config2.Get(1).number().intValue(); + int numReqDes = Unprotect.withoutUnit(config2.Get(0)).number().intValue(); + int fleetSize = Unprotect.withoutUnit(config2.Get(1)).number().intValue(); { String env = System.getenv(ENV_REQUESTS_SIZE); diff --git a/src/main/java/amodeus/socket/core/FleetSizeScore.java b/src/main/java/amodeus/socket/core/FleetSizeScore.java index efd5875..1f52fd3 100644 --- a/src/main/java/amodeus/socket/core/FleetSizeScore.java +++ b/src/main/java/amodeus/socket/core/FleetSizeScore.java @@ -7,6 +7,7 @@ import ch.ethz.idsc.tensor.RealScalar; import ch.ethz.idsc.tensor.Scalar; import ch.ethz.idsc.tensor.Scalars; +import ch.ethz.idsc.tensor.Unprotect; import ch.ethz.idsc.tensor.qty.Quantity; /** the fleetsize score is defined as following, in the case that the maximum waiting time @@ -57,7 +58,7 @@ public Scalar getTimeToViolate() { public Scalar getScoreDiff() { Scalar scoreDiff = scoreFinal.subtract(scoreFinalPrev); - if (Double.isNaN(scoreDiff.number().doubleValue())) + if (Double.isNaN(Unprotect.withoutUnit(scoreDiff).number().doubleValue())) return RealScalar.ZERO; return scoreDiff; } diff --git a/src/main/java/amodeus/socket/core/SocketDispatcherHost.java b/src/main/java/amodeus/socket/core/SocketDispatcherHost.java index a0a418a..93effdd 100644 --- a/src/main/java/amodeus/socket/core/SocketDispatcherHost.java +++ b/src/main/java/amodeus/socket/core/SocketDispatcherHost.java @@ -28,6 +28,7 @@ import ch.ethz.idsc.tensor.RealScalar; import ch.ethz.idsc.tensor.Tensor; import ch.ethz.idsc.tensor.Tensors; +import ch.ethz.idsc.tensor.Unprotect; // TODO refactor and shorten @clruch public class SocketDispatcherHost extends RebalancingDispatcher { @@ -89,14 +90,14 @@ protected void redispatch(double now) { Tensor pickups = commands.get(0); for (Tensor pickup : pickups) { - RoboTaxi roboTaxi = idRoboTaxiMap.get(pickup.Get(0).number().intValue()); - PassengerRequest avRequest = idRequestMap.get(pickup.Get(1).number().intValue()); + RoboTaxi roboTaxi = idRoboTaxiMap.get(Unprotect.withoutUnit(pickup.Get(0)).number().intValue()); + PassengerRequest avRequest = idRequestMap.get(Unprotect.withoutUnit(pickup.Get(1)).number().intValue()); setRoboTaxiPickup(roboTaxi, avRequest); } Tensor rebalances = commands.get(1); for (Tensor rebalance : rebalances) { - RoboTaxi roboTaxi = idRoboTaxiMap.get(rebalance.Get(0).number().intValue()); + RoboTaxi roboTaxi = idRoboTaxiMap.get(Unprotect.withoutUnit(rebalance.Get(0)).number().intValue()); Link link = fastLinkLookup.linkFromWGS84(rebalance.get(1)); setRoboTaxiRebalance(roboTaxi, link); }