From cf1a85d17afac16bef9c1a700cd20a498264664c Mon Sep 17 00:00:00 2001
From: Luc Maisonobe <luc@orekit.org>
Date: Sun, 9 Mar 2014 12:07:14 +0100
Subject: [PATCH] Added a hook called after tile update completion.

---
 .../main/java/org/orekit/rugged/core/dem/AbstractTile.java  | 6 ++++++
 .../src/main/java/org/orekit/rugged/core/dem/Tile.java      | 6 ++++++
 .../main/java/org/orekit/rugged/core/dem/TilesCache.java    | 1 +
 3 files changed, 13 insertions(+)

diff --git a/rugged-core/src/main/java/org/orekit/rugged/core/dem/AbstractTile.java b/rugged-core/src/main/java/org/orekit/rugged/core/dem/AbstractTile.java
index d8d4f089..af448dae 100644
--- a/rugged-core/src/main/java/org/orekit/rugged/core/dem/AbstractTile.java
+++ b/rugged-core/src/main/java/org/orekit/rugged/core/dem/AbstractTile.java
@@ -64,6 +64,12 @@ public abstract class AbstractTile implements Tile {
         this.longitudeColumns = longitudeColumns;
     }
 
+    /** {@inheritDoc} */
+    @Override
+    public void tileUpdateCompleted() throws RuggedException {
+        // do nothing by default
+    }
+
     /** {@inheritDoc} */
     @Override
     public double getMinimumLatitude() {
diff --git a/rugged-core/src/main/java/org/orekit/rugged/core/dem/Tile.java b/rugged-core/src/main/java/org/orekit/rugged/core/dem/Tile.java
index 554af99c..cea32b73 100644
--- a/rugged-core/src/main/java/org/orekit/rugged/core/dem/Tile.java
+++ b/rugged-core/src/main/java/org/orekit/rugged/core/dem/Tile.java
@@ -24,6 +24,12 @@ import org.orekit.rugged.api.UpdatableTile;
  */
 public interface Tile extends UpdatableTile {
 
+    /** Hook called at the end of tile update completion.
+     * @exception RuggedException if something wrong occurs
+     * (missing data ...)
+     */
+    void tileUpdateCompleted() throws RuggedException;
+
     /** Get minimum latitude.
      * @return minimum latitude
      */
diff --git a/rugged-core/src/main/java/org/orekit/rugged/core/dem/TilesCache.java b/rugged-core/src/main/java/org/orekit/rugged/core/dem/TilesCache.java
index a840c652..945f16a4 100644
--- a/rugged-core/src/main/java/org/orekit/rugged/core/dem/TilesCache.java
+++ b/rugged-core/src/main/java/org/orekit/rugged/core/dem/TilesCache.java
@@ -98,6 +98,7 @@ public class TilesCache<T extends Tile> {
         // create the tile and retrieve its data
         final T tile = factory.createTile();
         updater.updateTile(latitude, longitude, tile);
+        tile.tileUpdateCompleted();
 
         // store the tile in the eviction cache
         evictionCache[next] = tile;
-- 
GitLab