From: Florian L. <fle...@us...> - 2005-11-15 12:51:06
|
Update of /cvsroot/magicmap/magicmapserver/src/net/sf/magicmap/server/cache In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29526/src/net/sf/magicmap/server/cache Modified Files: PositionCache.java Log Message: Implementation des Positioning-Caches Index: PositionCache.java =================================================================== RCS file: /cvsroot/magicmap/magicmapserver/src/net/sf/magicmap/server/cache/PositionCache.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** PositionCache.java 8 Nov 2005 13:14:50 -0000 1.4 --- PositionCache.java 15 Nov 2005 12:50:56 -0000 1.5 *************** *** 13,17 **** ! public class PositionCache extends Hashtable<Map,PositionCacheEntry>{ // Sigleton Hashtable --- 13,17 ---- ! public class PositionCache extends Hashtable<String,PositionCacheEntry>{ // Sigleton Hashtable *************** *** 28,53 **** } private void addMapHashtable(Map map) { ! this.put(map,new PositionCacheEntry()); } private boolean existsMapHashtable(Map map){ ! return this.containsKey(map); } private PositionCacheEntry getMapHashtable(Map map){ ! return this.get(map); } public void createOrUpdatePosition(Map map, PositionDTO position){ if(!existsMapHashtable(map)) addMapHashtable(map); if(getMapHashtable(map).existsPosition(position.getName())){ getMapHashtable(map).removePosition(position.getName()); } getMapHashtable(map).addPosition(position); } public PositionDTO[] getPositionsForMapSince(Map map,Long time){ if(!existsMapHashtable(map)) return new PositionDTO[0]; --- 28,67 ---- } + private String getMapString(Map map){ + return map.getName() + "#" + map.getImageURL() + "#" + map.getImageHeight().toString() + "#" + map.getImageWidth().toString(); + } + private void addMapHashtable(Map map) { ! ! this.put(getMapString(map),new PositionCacheEntry()); ! System.out.println("current Map added: " + map.toString()); ! System.out.println("all Maps in cache: " + this.toString()); } private boolean existsMapHashtable(Map map){ ! return this.containsKey(getMapString(map)); } private PositionCacheEntry getMapHashtable(Map map){ ! return this.get(getMapString(map)); } public void createOrUpdatePosition(Map map, PositionDTO position){ + System.out.println("enter createOrUpdatePosition()"); if(!existsMapHashtable(map)) addMapHashtable(map); + System.out.println("createOrUpdatePosition() has map added"); if(getMapHashtable(map).existsPosition(position.getName())){ getMapHashtable(map).removePosition(position.getName()); } getMapHashtable(map).addPosition(position); + + System.out.println("createOrUpdatePosition() has position added"); } public PositionDTO[] getPositionsForMapSince(Map map,Long time){ + System.out.println("enter getPositionsForMapSince()"); + System.out.println("all Maps: " + this.toString()); + System.out.println("current Map: " + map.toString()); if(!existsMapHashtable(map)) return new PositionDTO[0]; *************** *** 158,162 **** --- 172,179 ---- protected PositionDTO[] getPositionsSince(Long time){ + System.out.println("enter getPositionsSince()"); Collection<String> newPositions = timeMap.tailMap(time).values(); + System.out.println("Daten in timeMap: " + timeMap.toString()); + System.out.println("Daten in tailMap: " + newPositions.toString()); PositionDTO [] positions = new PositionDTO[newPositions.size()]; Iterator it = newPositions.iterator(); |