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