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();
|