All pastes #792439 Raw Edit

Stuff

public text v1 · immutable
·published 2007-11-21 12:17 UTC
rendered paste body
package 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;
	}
}