// Path: gwt/src/opus/gwt/management/console/client/event/GetDjangoPackagesEvent.java
// public class GetDjangoPackagesEvent extends GwtEvent<GetDjangoPackagesEventHandler> {
// 	
// 	public static Type<GetDjangoPackagesEventHandler> TYPE = new Type<GetDjangoPackagesEventHandler>();
// 	private JsArray<DjangoPackage> djangoPackagesArray;
// 	private List<DjangoPackage> djangoPackagesMap = new ArrayList<DjangoPackage>();
// 	
// 	public GetDjangoPackagesEvent(JavaScriptObject djangoPackages){
// 		this.djangoPackagesArray = ConvertDjangoPackages(djangoPackages);
// 		processDjangoPackages();
// 	}
// 	
// 	private void processDjangoPackages() {
// 		for(int i = 0; i < djangoPackagesArray.length(); i++) {
// 			DjangoPackage dp = djangoPackagesArray.get(i);
// 			djangoPackagesMap.add(dp.getPk() - 1, dp);
// 		}
// 	}
// 	
// 	public List<DjangoPackage> getDjangoPackages(){
// 		return djangoPackagesMap;
// 	}
// 	
//   	@Override
//   	public Type<GetDjangoPackagesEventHandler> getAssociatedType() {
// 	  return TYPE;
//   	}
// 
//   	@Override
//   	protected void dispatch(GetDjangoPackagesEventHandler handler) {
// 	  handler.onGetDjangoPackages(this);
//   	}
//   	
// 	public final native JsArray<DjangoPackage> ConvertDjangoPackages(JavaScriptObject jso) /*-{
// 		return jso;
// 	}-*/;
// }
// 
// Path: gwt/src/opus/gwt/management/console/client/event/GetUserEventHandler.java
// public interface GetUserEventHandler extends EventHandler {
// 	void onGetUser(GetUserEvent event);
// }
// 
// Path: gwt/src/opus/gwt/management/console/client/event/PanelTransitionEvent.java
// public class PanelTransitionEvent extends GwtEvent<PanelTransitionEventHandler> {
// 	
// 	public static Type<PanelTransitionEventHandler> TYPE = new Type<PanelTransitionEventHandler>();
// 	//private String transitionType;
// 	private Widget panel;
// 	public enum TransitionTypes{PREVIOUS, NEXT, DELETE, SETTINGS, DEPLOY, PROJECTS, DASHBOARD};
// 	private TransitionTypes transitionType;
// 	public String name;
// 	
// 	public PanelTransitionEvent(TransitionTypes transitionType, Widget panel){
// 		this.transitionType = transitionType;
// 		this.panel = panel;
// 	}
// 
// 	public PanelTransitionEvent(TransitionTypes transitionType){
// 		this.transitionType = transitionType;
// 	}
// 
// 	public PanelTransitionEvent(TransitionTypes transitionType, String name){
// 		this.name = name;
// 		this.transitionType = transitionType;
// 	}
// 	
// 	public TransitionTypes getTransitionType(){
// 		return transitionType;
// 	}
// 	
// 	public Widget getPanel(){
// 		return panel;
// 	}
// 	
// 	public String getName(){
// 		return name;
// 	}
// 	
//   	@Override
//   	public Type<PanelTransitionEventHandler> getAssociatedType() {
// 	  return TYPE;
//   	}
// 
//   	@Override
//   	protected void dispatch(PanelTransitionEventHandler handler) {
// 	  handler.onPanelTransition(this);
//   	}
// }


import opus.gwt.management.console.client.event.AddProjectEvent;
import opus.gwt.management.console.client.event.AddProjectEventHandler;
import opus.gwt.management.console.client.event.AsyncRequestEvent;
import opus.gwt.management.console.client.event.DeleteProjectEvent;
import opus.gwt.management.console.client.event.DeleteProjectEventHandler;
import opus.gwt.management.console.client.event.GetApplicationsEvent;
import opus.gwt.management.console.client.event.GetApplicationsEventHandler;
import opus.gwt.management.console.client.event.GetDjangoPackagesEvent;
import opus.gwt.management.console.client.event.GetDjangoPackagesEventHandler;
import opus.gwt.management.console.client.event.GetProjectsEvent;
import opus.gwt.management.console.client.event.GetProjectsEventHandler;
import opus.gwt.management.console.client.event.GetUserEvent;
import opus.gwt.management.console.client.event.GetUserEventHandler;
import opus.gwt.management.console.client.event.PanelTransitionEvent;
import com.google.gwt.event.shared.EventBus;
import com.google.gwt.user.client.Window;

				}
		});
		eventBus.addHandler(GetDjangoPackagesEvent.TYPE, 
			new GetDjangoPackagesEventHandler() {
				public void onGetDjangoPackages(GetDjangoPackagesEvent event) {
					clientFactory.setDjangoPackages(event.getDjangoPackages());
					djangoPackagesReady = true;
					start();
				}
		});
		eventBus.addHandler(GetUserEvent.TYPE, 
			new GetUserEventHandler() {
				public void onGetUser(GetUserEvent event) {
					clientFactory.setUser(event.getUser());
					userReady = true;
					start();
				}
		});
		eventBus.addHandler(GetProjectsEvent.TYPE, 
			new GetProjectsEventHandler(){
				public void onGetProjects(GetProjectsEvent event) {
					clientFactory.setProjects(event.getProjects());
					projectsReady = true;
					start();
				}
		});
		eventBus.addHandler(AddProjectEvent.TYPE, 
				new AddProjectEventHandler(){
					public void onAddProject(AddProjectEvent event) {
						clientFactory.getProjects().put(event.getProject().getName(), event.getProject());

// Path: gwt/src/opus/gwt/management/console/client/event/GetDjangoPackagesEvent.java
// public class GetDjangoPackagesEvent extends GwtEvent<GetDjangoPackagesEventHandler> {
// 	
// 	public static Type<GetDjangoPackagesEventHandler> TYPE = new Type<GetDjangoPackagesEventHandler>();
// 	private JsArray<DjangoPackage> djangoPackagesArray;
// 	private List<DjangoPackage> djangoPackagesMap = new ArrayList<DjangoPackage>();
// 	
// 	public GetDjangoPackagesEvent(JavaScriptObject djangoPackages){
// 		this.djangoPackagesArray = ConvertDjangoPackages(djangoPackages);
// 		processDjangoPackages();
// 	}
// 	
// 	private void processDjangoPackages() {
// 		for(int i = 0; i < djangoPackagesArray.length(); i++) {
// 			DjangoPackage dp = djangoPackagesArray.get(i);
// 			djangoPackagesMap.add(dp.getPk() - 1, dp);
// 		}
// 	}
// 	
// 	public List<DjangoPackage> getDjangoPackages(){
// 		return djangoPackagesMap;
// 	}
// 	
//   	@Override
//   	public Type<GetDjangoPackagesEventHandler> getAssociatedType() {
// 	  return TYPE;
//   	}
// 
//   	@Override
//   	protected void dispatch(GetDjangoPackagesEventHandler handler) {
// 	  handler.onGetDjangoPackages(this);
//   	}
//   	
// 	public final native JsArray<DjangoPackage> ConvertDjangoPackages(JavaScriptObject jso) /*-{
// 		return jso;
// 	}-*/;
// }
// 
// Path: gwt/src/opus/gwt/management/console/client/event/GetUserEventHandler.java
// public interface GetUserEventHandler extends EventHandler {
// 	void onGetUser(GetUserEvent event);
// }
// 
// Path: gwt/src/opus/gwt/management/console/client/event/PanelTransitionEvent.java
// public class PanelTransitionEvent extends GwtEvent<PanelTransitionEventHandler> {
// 	
// 	public static Type<PanelTransitionEventHandler> TYPE = new Type<PanelTransitionEventHandler>();
// 	//private String transitionType;
// 	private Widget panel;
// 	public enum TransitionTypes{PREVIOUS, NEXT, DELETE, SETTINGS, DEPLOY, PROJECTS, DASHBOARD};
// 	private TransitionTypes transitionType;
// 	public String name;
// 	
// 	public PanelTransitionEvent(TransitionTypes transitionType, Widget panel){
// 		this.transitionType = transitionType;
// 		this.panel = panel;
// 	}
// 
// 	public PanelTransitionEvent(TransitionTypes transitionType){
// 		this.transitionType = transitionType;
// 	}
// 
// 	public PanelTransitionEvent(TransitionTypes transitionType, String name){
// 		this.name = name;
// 		this.transitionType = transitionType;
// 	}
// 	
// 	public TransitionTypes getTransitionType(){
// 		return transitionType;
// 	}
// 	
// 	public Widget getPanel(){
// 		return panel;
// 	}
// 	
// 	public String getName(){
// 		return name;
// 	}
// 	
//   	@Override
//   	public Type<PanelTransitionEventHandler> getAssociatedType() {
// 	  return TYPE;
//   	}
// 
//   	@Override
//   	protected void dispatch(PanelTransitionEventHandler handler) {
// 	  handler.onPanelTransition(this);
//   	}
// }


// Path: gwt/src/opus/gwt/management/console/client/ManagementConsoleController.java
import opus.gwt.management.console.client.event.AddProjectEvent;
import opus.gwt.management.console.client.event.AddProjectEventHandler;
import opus.gwt.management.console.client.event.AsyncRequestEvent;
import opus.gwt.management.console.client.event.DeleteProjectEvent;
import opus.gwt.management.console.client.event.DeleteProjectEventHandler;
import opus.gwt.management.console.client.event.GetApplicationsEvent;
import opus.gwt.management.console.client.event.GetApplicationsEventHandler;
import opus.gwt.management.console.client.event.GetDjangoPackagesEvent;
import opus.gwt.management.console.client.event.GetDjangoPackagesEventHandler;
import opus.gwt.management.console.client.event.GetProjectsEvent;
import opus.gwt.management.console.client.event.GetProjectsEventHandler;
import opus.gwt.management.console.client.event.GetUserEvent;
import opus.gwt.management.console.client.event.GetUserEventHandler;
import opus.gwt.management.console.client.event.PanelTransitionEvent;
import com.google.gwt.event.shared.EventBus;
import com.google.gwt.user.client.Window;

				}
		});
		eventBus.addHandler(GetDjangoPackagesEvent.TYPE, 
			new GetDjangoPackagesEventHandler() {
				public void onGetDjangoPackages(GetDjangoPackagesEvent event) {
					clientFactory.setDjangoPackages(event.getDjangoPackages());
					djangoPackagesReady = true;
					start();
				}
		});
		eventBus.addHandler(GetUserEvent.TYPE, 
			new GetUserEventHandler() {
				public void onGetUser(GetUserEvent event) {
					clientFactory.setUser(event.getUser());
					userReady = true;
					start();
				}
		});
		eventBus.addHandler(GetProjectsEvent.TYPE, 
			new GetProjectsEventHandler(){
				public void onGetProjects(GetProjectsEvent event) {
					clientFactory.setProjects(event.getProjects());
					projectsReady = true;
					start();
				}
		});
		eventBus.addHandler(AddProjectEvent.TYPE, 
				new AddProjectEventHandler(){
					public void onAddProject(AddProjectEvent event) {
						clientFactory.getProjects().put(event.getProject().getName(), event.getProject());

						eventBus.fireEvent(new PanelTransitionEvent(PanelTransitionEvent.TransitionTypes.DASHBOARD, event.getProject().getName()));
