Skip to content

Commit

Permalink
cleanup & TODO fixed
Browse files Browse the repository at this point in the history
  • Loading branch information
mario-s committed Jan 2, 2014
1 parent a57e430 commit 8a7f57d
Show file tree
Hide file tree
Showing 3 changed files with 32 additions and 19 deletions.
13 changes: 8 additions & 5 deletions src/main/java/jfxtras/labs/map/render/TileRenderer.java
Original file line number Diff line number Diff line change
Expand Up @@ -83,17 +83,20 @@ public TileRenderer(TileProvideable provider) {
@Override
public int prepareTiles(Moveable mapController) {
provider.setStrategy(new CacheLoadStrategy());
TilesLoadable tileLoader = new TilesLoader(provider);
tileImages = tileLoader.loadTiles(mapController);
loadTiles(mapController);
return tileImages.size();
}

@Override
public void refresh(Moveable mapController) {
provider.setStrategy(new RefreshLoadStrategy());
loadTiles(mapController);
render(mapController.getTilesGroup());
}

private void loadTiles(Moveable mapController) {
TilesLoadable tileLoader = new TilesLoader(provider);
tileImages = tileLoader.loadTiles(mapController);
render(mapController.getTilesGroup());
}

@Override
Expand Down Expand Up @@ -167,12 +170,12 @@ protected Path createBorder(int posx, int posy, int tilesize) {
return path;
}

@Override
@Override
public void setMonoChrome(boolean monoChrome) {
this.monoChrome = monoChrome;
}

@Override
@Override
public void setTileGridVisible(boolean tileGridVisible) {
this.tileGridVisible = tileGridVisible;
}
Expand Down
29 changes: 18 additions & 11 deletions src/main/java/jfxtras/labs/map/tile/local/LocalTileSource.java
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,8 @@
*/
public class LocalTileSource extends DefaultTileSource {

private String tilesRootDir;
private static final String DIGIT = "\\d+";
private String tilesRootDir;

public LocalTileSource(String name, String base_url) {
super(name, base_url);
Expand All @@ -77,7 +78,7 @@ public int getMinZoom() {

@Override
public int getMaxZoom() {
int zoom = super.getMaxZoom();
int zoom = super.getMinZoom();
LinkedList<String> dirs = listZoomDirs();
if(!dirs.isEmpty()){
zoom = Integer.parseInt(dirs.getLast());
Expand All @@ -87,15 +88,21 @@ public int getMaxZoom() {

private LinkedList<String> listZoomDirs(){
LinkedList<String> dirs = new LinkedList<>();
Path root = Paths.get(tilesRootDir);
try (DirectoryStream<Path> directoryStream = Files.newDirectoryStream(root)) {
for (Path path : directoryStream) {
//TODO check if the name is a number
dirs.add(path.getFileName().toString());
}
} catch (IOException ex) {
Logger.getLogger(getClass().getName()).log(Level.WARNING, ex.getMessage(), ex);
}

if(tilesRootDir != null){
Path root = Paths.get(tilesRootDir);
try (DirectoryStream<Path> directoryStream = Files.newDirectoryStream(root)) {
for (Path path : directoryStream) {
String name = path.getFileName().toString();
if(name.matches(DIGIT)){
dirs.add(name);
}
}
} catch (IOException ex) {
Logger.getLogger(getClass().getName()).log(Level.WARNING, ex.getMessage(), ex);
}
}

return dirs;
}
}
9 changes: 6 additions & 3 deletions src/test/java/jfxtras/labs/map/tile/TileRepositoryTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -79,16 +79,19 @@ public void testBingSource() {
public void testLocalSource() {

TileSourceFactory<String> factory = new LocalTileSourceFactory();
TileRepository classUnderTest = new TileRepository(factory.create(null));
TileSource tileSource = factory.create(null);
TileRepository classUnderTest = new TileRepository(tileSource);
Tile tile = classUnderTest.getTile(1, 1, 1);
assertNotNull(tile);
assertNull(tile.getImageView().getImage());
assertEquals(1, tileSource.getMinZoom());
assertEquals(1, tileSource.getMaxZoom());

String path = TilePathLookup.getPath();
TileSource tileSource = factory.create(path);
tileSource = factory.create(path);
classUnderTest = new TileRepository(tileSource);
assumeNotNull(classUnderTest.getTile(65, 40, 7));
assumeTrue(tileSource.getMinZoom() == 7);
assertEquals(7, tileSource.getMinZoom());
assertEquals(8, tileSource.getMaxZoom());
}

Expand Down

0 comments on commit 8a7f57d

Please sign in to comment.