From 9e2e6e49a349774b8b206609d7c7ab1c9dcc9302 Mon Sep 17 00:00:00 2001 From: Nikolaus Krismer <niko@krismer.de> Date: Mon, 24 Mar 2014 14:21:03 +0100 Subject: [PATCH] minor changes (mainly for small method call changes in BBoxOutput) --- .../it/unibz/inf/isochrone/network/Node.java | 3 +-- .../it/unibz/inf/isoga/db/DatabaseWeb.java | 5 ++++- .../unibz/inf/isoga/network/BBoxOutput.java | 22 +++++++------------ 3 files changed, 13 insertions(+), 17 deletions(-) diff --git a/src/main/java/it/unibz/inf/isochrone/network/Node.java b/src/main/java/it/unibz/inf/isochrone/network/Node.java index 87c2c3ad..2b1c7a70 100644 --- a/src/main/java/it/unibz/inf/isochrone/network/Node.java +++ b/src/main/java/it/unibz/inf/isochrone/network/Node.java @@ -19,8 +19,7 @@ public class Node implements Comparable<Node> { private List<Link> adjLinks = null; private Hashtable<Integer, Schedule> routes; private int cheapestReachedRouteId = Integer.MIN_VALUE; - // For MrneX - private Point coordinates = null; + private Point coordinates = null; // for MrneX private double radius = Double.NEGATIVE_INFINITY; // Constructors diff --git a/src/main/java/it/unibz/inf/isoga/db/DatabaseWeb.java b/src/main/java/it/unibz/inf/isoga/db/DatabaseWeb.java index 426e2431..2512fd44 100644 --- a/src/main/java/it/unibz/inf/isoga/db/DatabaseWeb.java +++ b/src/main/java/it/unibz/inf/isoga/db/DatabaseWeb.java @@ -48,17 +48,19 @@ public class DatabaseWeb extends Database<ConfigClient> { private final String queryInsertVertex; private final String queryInsertVertexAnnotation; private final String queryUpdateVertices; + private final TableEntry vertexTableEntry; // Constructor public DatabaseWeb(final ConfigClient config, final Mode mode, final Direction direction) { super(config, mode, direction); + vertexTableEntry = config.getVertexTableEntry(); final String configEdges = config.getTableEdges(); final String configRoutes = config.getTableRoutes(); final String configVertex = config.getTableVertex(); final String edgeTableName = config.getEdgeTableEntry().getTableName(); - final String vertexTableName = config.getVertexTableEntry().getTableName(); + final String vertexTableName = vertexTableEntry.getTableName(); final String vertexAnnotationTableName = config.getVertexAnnotatedTableEntry().getTableName(); queryGetIsoEdges = "SELECT E.\"ID\", E.\"SOURCE\", V.\"DISTANCE\" DISTANCE, E.\"TARGET\", E.\"OFFSET\", E.\"LENGTH\", E.\"GEOMETRY\" FROM " @@ -415,6 +417,7 @@ public class DatabaseWeb extends Database<ConfigClient> { } connection.commit(); + DbUtility.createSpatialIndex(connection, vertexTableEntry); } catch (final SQLException e) { e.printStackTrace(); } finally { diff --git a/src/main/java/it/unibz/inf/isoga/network/BBoxOutput.java b/src/main/java/it/unibz/inf/isoga/network/BBoxOutput.java index 699913cf..adb025f2 100644 --- a/src/main/java/it/unibz/inf/isoga/network/BBoxOutput.java +++ b/src/main/java/it/unibz/inf/isoga/network/BBoxOutput.java @@ -7,8 +7,6 @@ import it.unibz.inf.isochrone.network.MemoryOutput; import it.unibz.inf.isochrone.network.Node; import it.unibz.inf.isochrone.util.EnumContainer.Direction; import it.unibz.inf.isoga.db.DatabaseWeb; -import it.unibz.inf.isoga.db.DbUtility; -import it.unibz.inf.isoga.db.TableEntry; import it.unibz.inf.isoga.geometry.BBox; import java.sql.Connection; @@ -23,24 +21,21 @@ import org.apache.commons.dbutils.DbUtils; */ public class BBoxOutput extends MemoryOutput { private BBox boundingBox; - private boolean isSaved; + private boolean isSavedInDatabase; private final String query; private final int serverSRID; - private final TableEntry edgeTableEntry; - private final TableEntry vertexTableEntry; // Constructors public BBoxOutput(final ConfigDataset config) { super(); - isSaved = false; - edgeTableEntry = config.getEdgeTableEntry(); - vertexTableEntry = config.getVertexTableEntry(); + final String cfgEdgeTable = config.getEdgeTableEntry().getTableName(); serverSRID = config.getServerSRID(); + isSavedInDatabase = false; query = "SELECT ST_XMin(mbr.geo) min_x, ST_yMin(mbr.geo) min_y, ST_XMax(mbr.geo) max_x, ST_yMax(mbr.geo) max_y FROM " - + "(SELECT st_transform(ST_SetSRID(st_extent(\"GEOMETRY\"),?),?) GEO FROM " + edgeTableEntry.getTableName() + ") MBR"; + + "(SELECT st_transform(ST_SetSRID(st_extent(\"GEOMETRY\"),?),?) GEO FROM " + cfgEdgeTable + ") MBR"; } // Public methods @@ -48,7 +43,7 @@ public class BBoxOutput extends MemoryOutput { @Override public void addLink(final Link link) { boundingBox = null; - isSaved = false; + isSavedInDatabase = false; super.addLink(link); } @@ -56,13 +51,13 @@ public class BBoxOutput extends MemoryOutput { @Override public void addNode(final Node node) { boundingBox = null; - isSaved = false; + isSavedInDatabase = false; super.addNode(node); } public BBox getBoundingBox() { - if (!isSaved) { + if (!isSavedInDatabase) { throw new IllegalStateException("Can not calculate bounding box, since results have not been saved to database"); } if (boundingBox == null) { @@ -102,9 +97,8 @@ public class BBoxOutput extends MemoryOutput { public void saveInDatabase(final DatabaseWeb db, final Direction direction) { db.storeLinks(getLinks().values(), direction); db.storeVertices(getNodes()); - DbUtility.createSpatialIndex(db.getConnection(), vertexTableEntry); db.updateVertexTable(); - isSaved = true; + isSavedInDatabase = true; } } -- GitLab