Revision 34 1.10/trunk/libraries/lib3DMap/src/org/gvsig/gvsig3d/map3d/MapContext3D.java
MapContext3D.java | ||
---|---|---|
635 | 635 |
// clear cache |
636 | 636 |
|
637 | 637 |
if (bRemoveCache) { |
638 |
String layerCacheDir = Layer3DProps.m_cacheDir + "/" |
|
639 |
+ _terrain.getTerrainName() + "/" + props.getCacheName(); |
|
640 |
removeCache(layerCacheDir); |
|
638 |
|
|
639 |
String layerCacheDir = Layer3DProps.m_cacheDir + File.separator |
|
640 |
+ _terrain.getTerrainName() + File.separator + props.getCacheName(); |
|
641 |
|
|
642 |
FLayerCacheService cacheServices = (FLayerCacheService) props.getCacheService(); |
|
643 |
if(cacheServices != null) |
|
644 |
{ |
|
645 |
try { |
|
646 |
cacheServices.free(); |
|
647 |
props.setCacheService(null); |
|
648 |
} catch (Throwable e) { |
|
649 |
// TODO Auto-generated catch block |
|
650 |
e.printStackTrace(); |
|
651 |
} |
|
652 |
} |
|
653 |
|
|
654 |
removeCache(new File(layerCacheDir)); |
|
641 | 655 |
} |
642 | 656 |
|
643 | 657 |
// refresh layer in terrain |
... | ... | |
669 | 683 |
} |
670 | 684 |
} |
671 | 685 |
|
672 |
private boolean removeCache(String folder) { |
|
673 |
File dir = new File(folder); |
|
674 |
if (dir.isDirectory()) { |
|
675 |
String[] children = dir.list(); |
|
676 |
for (int i = 0; i < children.length; i++) { |
|
677 |
boolean success = removeCache(folder + "/" + children[i]); |
|
678 |
// Do not interrupt if it can't delete one file |
|
679 |
// if (!success) { |
|
680 |
// return false; |
|
681 |
// } |
|
682 |
} |
|
683 |
} |
|
684 |
|
|
685 |
// The directory is now empty so delete it |
|
686 |
return dir.delete(); |
|
686 |
private boolean removeCache(File path) { |
|
687 |
if( path.exists() ) { |
|
688 |
File[] files = path.listFiles(); |
|
689 |
for(int i=0; i<files.length; i++) { |
|
690 |
if(files[i].isDirectory()) { |
|
691 |
removeCache(files[i]); |
|
692 |
} |
|
693 |
else { |
|
694 |
files[i].delete(); |
|
695 |
} |
|
696 |
} |
|
697 |
} |
|
698 |
return( path.delete() ); |
|
687 | 699 |
} |
688 | 700 |
|
689 | 701 |
protected Layer3DProps getLayer3DProps(FLayer layer) { |
Also available in: Unified diff