rendered paste bodypackage com.awdio.web.client.widgets.maps;
import java.util.HashMap;
import java.util.Map;
import com.awdio.web.client.widgets.Logo;
import com.google.gwt.core.client.GWT;
import com.google.gwt.user.client.ui.Image;
/**
*
* @author rabbit
*
*/
public class MapRepository {
private static final Maps maps = (Maps) GWT.create(Maps.class);
private interface ImageCreator {
public Image createImage();
}
private static Map/*<String,ImageCreator>*/ mapsRepository ;
static {
mapsRepository = new HashMap/*<String,ImageCreator>*/();
mapsRepository.put("Paris".toLowerCase(), new ImageCreator() {
public Image createImage() { return maps.smallmapParis().createImage();}
}) ;
mapsRepository.put("Amsterdam".toLowerCase(), new ImageCreator() {
public Image createImage() { return maps.smallmapBenelux().createImage();}
}) ;
mapsRepository.put("Brussels".toLowerCase(),new ImageCreator() {
public Image createImage() { return maps.smallmapBenelux().createImage();}
}) ;
mapsRepository.put("Lausanne".toLowerCase(), new ImageCreator() {
public Image createImage() { return maps.smallmapLausanne().createImage();}
}) ;
mapsRepository.put("Bombay".toLowerCase(), new ImageCreator() {
public Image createImage() { return maps.smallmapBombay().createImage();}
}) ;
mapsRepository.put("Delhi ".toLowerCase(), new ImageCreator() {
public Image createImage() { return maps.smallmapDelhi().createImage();}
}) ;
mapsRepository.put("Bangkok".toLowerCase(), new ImageCreator() {
public Image createImage() { return maps.smallmapBangkok().createImage();}
}) ;
mapsRepository.put("Singapore".toLowerCase(), new ImageCreator() {
public Image createImage() { return maps.smallmapSingapore().createImage();}
}) ;
mapsRepository.put("Hong-kong".toLowerCase(), new ImageCreator() {
public Image createImage() { return maps.smallmapHongkong().createImage();}
}) ;
mapsRepository.put("Melbourne".toLowerCase(), new ImageCreator() {
public Image createImage() { return maps.smallmapMelbourne().createImage();}
}) ;
mapsRepository.put("San Fransisco ".toLowerCase(), new ImageCreator() {
public Image createImage() { return maps.smallmapSanFrancisco().createImage();}
}) ;
mapsRepository.put("Los Angeles".toLowerCase(), new ImageCreator() {
public Image createImage() { return maps.smallmapSanFrancisco().createImage();}
}) ;
mapsRepository.put("Chicago".toLowerCase(), new ImageCreator() {
public Image createImage() { return maps.smallmapChicago().createImage();}
}) ;
mapsRepository.put("New York".toLowerCase(), new ImageCreator() {
public Image createImage() { return maps.smallmapNewYork().createImage();}
}) ;
mapsRepository.put("Montreal".toLowerCase(), new ImageCreator() {
public Image createImage() { return maps.smallmapMontreal().createImage();}
}) ;
mapsRepository.put("Miami".toLowerCase(), new ImageCreator() {
public Image createImage() { return maps.smallmapMiami().createImage();}
}) ;
mapsRepository.put("Sao Paulo".toLowerCase(), new ImageCreator() {
public Image createImage() { return maps.smallmapSaoPaulo().createImage();}
}) ;
mapsRepository.put("Berlin".toLowerCase(), new ImageCreator() {
public Image createImage() { return maps.smallmapBerlin().createImage();}
}) ;
mapsRepository.put("Frankfurt".toLowerCase(), new ImageCreator() {
public Image createImage() { return maps.smallmapBerlin().createImage();}
}) ;
mapsRepository.put("Munich".toLowerCase(), new ImageCreator() {
public Image createImage() { return maps.smallmapMunich().createImage();}
}) ;
mapsRepository.put("Zurich".toLowerCase(), new ImageCreator() {
public Image createImage() { return maps.smallmapMunich().createImage();}
}) ;
mapsRepository.put("Manama".toLowerCase(), new ImageCreator() {
public Image createImage() { return maps.smallmapManama().createImage();}
}) ;
mapsRepository.put("Dubai".toLowerCase(), new ImageCreator() {
public Image createImage() { return maps.smallmapDubai().createImage();}
}) ;
mapsRepository.put("London".toLowerCase(), new ImageCreator() {
public Image createImage() { return maps.smallmapLondon().createImage();}
}) ;
mapsRepository.put("Antwerp".toLowerCase(), new ImageCreator() {
public Image createImage() { return maps.smallmapBenelux().createImage();}
}) ;
}
public static Logo createMap(String country) {
ImageCreator creator = (ImageCreator)mapsRepository.get(country.toLowerCase());
Image img = null ;
if (creator != null)
img = creator.createImage();
else
img = maps.smallmapDefault().createImage();
Image [] base = new Image [] { maps.smallmapBackground().createImage() };
Image [] enabledLook = new Image [] { img } ;
Image [] disabledLook = new Image [0];
Logo countryLogo = new Logo(base,enabledLook,disabledLook);
countryLogo.setEnabled(true);
return countryLogo;
}
}