Package com.google.gwt.ricordo.client

Source Code of com.google.gwt.ricordo.client.AppController

package com.google.gwt.ricordo.client;

import com.google.gwt.event.logical.shared.ValueChangeEvent;
import com.google.gwt.event.logical.shared.ValueChangeHandler;
import com.google.gwt.event.shared.HandlerManager;
import com.google.gwt.ricordo.client.event.AnnotAppEvent;
import com.google.gwt.ricordo.client.event.AnnotAppEventHandler;
import com.google.gwt.ricordo.client.event.AnnotVariableEvent;
import com.google.gwt.ricordo.client.event.AnnotVariableEventHandler;
import com.google.gwt.ricordo.client.event.BackToMainEvent;
import com.google.gwt.ricordo.client.event.BackToMainEventHandler;
import com.google.gwt.ricordo.client.event.CancelAnnotEvent;
import com.google.gwt.ricordo.client.event.CancelAnnotEventHandler;
import com.google.gwt.ricordo.client.event.CompAppEvent;
import com.google.gwt.ricordo.client.event.CompAppEventHandler;
import com.google.gwt.ricordo.client.event.MSyntaxQueryCancelEvent;
import com.google.gwt.ricordo.client.event.MSyntaxQueryCancelHandler;
import com.google.gwt.ricordo.client.event.MSyntaxQueryConstructEvent;
import com.google.gwt.ricordo.client.event.MSyntaxQueryConstructEventHandler;
import com.google.gwt.ricordo.client.event.MSyntaxQuerySelectEvent;
import com.google.gwt.ricordo.client.event.MSyntaxQuerySelectEventHandler;
import com.google.gwt.ricordo.client.event.ModelDetailsCancelledEvent;
import com.google.gwt.ricordo.client.event.ModelDetailsCancelledEventHandler;
import com.google.gwt.ricordo.client.event.ModelDetailsEvent;
import com.google.gwt.ricordo.client.event.ModelDetailsEventHandler;
import com.google.gwt.ricordo.client.event.QueryAppEvent;
import com.google.gwt.ricordo.client.event.QueryAppEventHandler;
import com.google.gwt.ricordo.client.presenter.AnnotVariablePresenter;
import com.google.gwt.ricordo.client.presenter.AnnotationPresenter;
import com.google.gwt.ricordo.client.presenter.CompositePresenter;
import com.google.gwt.ricordo.client.presenter.ManchesterSyntaxPresenter;
import com.google.gwt.ricordo.client.presenter.ModelDetailsPresenter;
import com.google.gwt.ricordo.client.presenter.Presenter;
import com.google.gwt.ricordo.client.presenter.QueryPresenter;
import com.google.gwt.ricordo.client.presenter.RicordoMainPresenter;
import com.google.gwt.ricordo.client.view.AnnotVariableView;
import com.google.gwt.ricordo.client.view.AnnotationView;
import com.google.gwt.ricordo.client.view.CompositeView;
import com.google.gwt.ricordo.client.view.ManchesterSyntaxView;
import com.google.gwt.ricordo.client.view.ModelDetailsView;
import com.google.gwt.ricordo.client.view.QueryView;
import com.google.gwt.ricordo.client.view.RicordoMainView;
import com.google.gwt.ricordo.client.view.TitlePanel;
import com.google.gwt.ricordo.shared.ModelSearch;
import com.google.gwt.ricordo.shared.VariableSearch;
import com.google.gwt.user.client.History;
import com.google.gwt.user.client.ui.HasWidgets;

public class AppController implements Presenter, ValueChangeHandler<String> {
  public static String QUERY_PAGE = "query";
  public static String COMPOSITE_PAGE = "composite";
  public static String VARANNOT_PAGE="variableAnnot";
  private final HandlerManager eventBus;
  private final QueryServiceAsync rpcService;
  private HasWidgets container; 

  public AppController(QueryServiceAsync rpcService, HandlerManager eventBus) {
    this.eventBus = eventBus;
    this.rpcService = rpcService;
    bind();
  }
 
  private void bind() {
    History.addValueChangeHandler(this);
   
    eventBus.addHandler(QueryAppEvent.TYPE,
            new QueryAppEventHandler() {       
        public void onQueryAppEvent(QueryAppEvent event) {
          doQueryAppEvent();         
        }
      })

    eventBus.addHandler(ModelDetailsEvent.TYPE,
        new ModelDetailsEventHandler() {
          public void onEditContact(ModelDetailsEvent event) {
            doEditContact(event.getModelSearch());
          }
        })

    eventBus.addHandler(ModelDetailsCancelledEvent.TYPE,
        new ModelDetailsCancelledEventHandler() {
          public void onEditContactCancelled(ModelDetailsCancelledEvent event) {
            doEditContactCancelled(event.getModelSearch());
          }
        })
   
    eventBus.addHandler(CompAppEvent.TYPE,
        new CompAppEventHandler() {   
        public void onCompAppEvent(CompAppEvent event) {
          doCompAppEvent();
     
    }     
  });
   
    eventBus.addHandler(AnnotAppEvent.TYPE,
        new AnnotAppEventHandler() {
        public void onAnnotAppEvent(AnnotAppEvent event) {
          doAnnotAppEvent();
        }
  });
   
    eventBus.addHandler(AnnotVariableEvent.TYPE,
            new AnnotVariableEventHandler() {
              public void onVariableSelect(AnnotVariableEvent event) {
                doVariableSelect(event.getVariableSearch());
              }
    });
   
    eventBus.addHandler(BackToMainEvent.TYPE,
            new BackToMainEventHandler() {
              public void onBackToMain(BackToMainEvent event) {
                doBackToMain();
              }
            })
   
    eventBus.addHandler(CancelAnnotEvent.TYPE,
        new CancelAnnotEventHandler() {
        public void onAnnotCancelled(CancelAnnotEvent event) {         
          doAnnotCancel(event.getVariableSearch());
        }
      });
   
    eventBus.addHandler(MSyntaxQuerySelectEvent.TYPE,
        new MSyntaxQuerySelectEventHandler() {
        public void onSelectMancesterQuery(MSyntaxQuerySelectEvent event) {
          doSelectManchesterQuery(event.getManQuery(), event.getParentPage(), event.getVariableSearch());         
        }
      });
   
    eventBus.addHandler(MSyntaxQueryCancelEvent.TYPE,
        new MSyntaxQueryCancelHandler() {
        public void onCancelMancesterQuery(MSyntaxQueryCancelEvent event) {
          doCancelManchesterQuery(event.getParentPage(),event.getVariableSearch());         
        }
      })
   
    eventBus.addHandler(MSyntaxQueryConstructEvent.TYPE,
        new MSyntaxQueryConstructEventHandler() {
        public void onConstructManchesterQuery(MSyntaxQueryConstructEvent event) {
          doConstructManchesterQuery(event.getParentPage(),event.getVariableSearch());         
        }
      });  
  }

  private void doQueryAppEvent(){
  History.newItem(QUERY_PAGE,false);
  Presenter presenter = new QueryPresenter(rpcService, eventBus, new QueryView());
  presenter.go(container);
  }
 
   private void doEditContact(ModelSearch modelSearch) {
    History.newItem("edit", false);
    Presenter presenter = new ModelDetailsPresenter(rpcService, eventBus, new ModelDetailsView(), modelSearch);
    presenter.go(container);
  }
 
  private void doEditContactCancelled(ModelSearch modelSearch) {
    History.newItem(QUERY_PAGE);
  Presenter presenter = new QueryPresenter(rpcService, eventBus, new QueryView(),modelSearch);
  presenter.go(container);
  }
 
  private void doCompAppEvent(){
    History.newItem(COMPOSITE_PAGE,false);
    Presenter presenter = new CompositePresenter(rpcService,eventBus, new CompositeView());
    presenter.go(container);
  }
 
  private void doAnnotAppEvent(){
    History.newItem("annotation",false);
    Presenter presenter = new AnnotationPresenter(rpcService,eventBus, new AnnotationView());
    presenter.go(container);
 
 
  private void doVariableSelect(VariableSearch variableSearch) {
      History.newItem(VARANNOT_PAGE, false);
      Presenter presenter = new AnnotVariablePresenter(rpcService, eventBus, new AnnotVariableView(), variableSearch);
      presenter.go(container);
    }
 
  private void doBackToMain() {
      History.newItem("ricordoapp");
    }
 
  private void doAnnotCancel(VariableSearch variableSearch) {
      History.newItem("annotation");
      Presenter presenter = new AnnotationPresenter(rpcService,eventBus, new AnnotationView(), variableSearch);
      presenter.go(container);
  }
 
  private void doSelectManchesterQuery(String manQuery, String parentPage, VariableSearch variableSearch) {
    Presenter presenter = null;
    if (parentPage.equals(QUERY_PAGE)) {
      History.newItem(QUERY_PAGE);
      presenter = new QueryPresenter(rpcService, eventBus, new QueryView(), manQuery);
    } else if (parentPage.equals(COMPOSITE_PAGE)) {
      History.newItem(COMPOSITE_PAGE);
      presenter = new CompositePresenter(rpcService, eventBus, new CompositeView(), manQuery);
    } else if (parentPage.equals(VARANNOT_PAGE)){
      History.newItem(VARANNOT_PAGE);
      presenter = new AnnotVariablePresenter(rpcService, eventBus, new AnnotVariableView(), manQuery, variableSearch);
    }
    presenter.go(container);
  }

  private void doCancelManchesterQuery(String parentPage, VariableSearch variableSearch) {
    Presenter presenter = null;
    if(parentPage.equals(QUERY_PAGE)){
      History.newItem(QUERY_PAGE);
      presenter = new QueryPresenter(rpcService,eventBus, new QueryView());
    }
    else if (parentPage.equals(COMPOSITE_PAGE)){
      History.newItem(COMPOSITE_PAGE);
      presenter = new CompositePresenter(rpcService, eventBus, new CompositeView());
    }
    else if (parentPage.equals(VARANNOT_PAGE)){
      History.newItem(VARANNOT_PAGE);
      presenter = new AnnotVariablePresenter(rpcService, eventBus, new AnnotVariableView(), variableSearch);
    }
    presenter.go(container);     
  }
 
  private void doConstructManchesterQuery(String parentPage, VariableSearch  variableSearch) {
      History.newItem("manchesterQuery");
      Presenter presenter= null;
      if(parentPage.equals(VARANNOT_PAGE)){
        presenter= new ManchesterSyntaxPresenter(rpcService, eventBus, new ManchesterSyntaxView(TitlePanel.QUERY_TITLE), parentPage,variableSearch);
      }else{     
        presenter= new ManchesterSyntaxPresenter(rpcService,eventBus, new ManchesterSyntaxView(TitlePanel.QUERY_TITLE),parentPage);
      }
      presenter.go(container)
   
  }

  public void go(final HasWidgets container) {
    this.container = container;
   
    if ("".equals(History.getToken())) {
        History.newItem("ricordoapp");
      }
    else {
      History.fireCurrentHistoryState();
    }
  }

  public void onValueChange(ValueChangeEvent<String> event) {
    String token = event.getValue();
   
    if (token != null) {
      Presenter presenter = null;

      if (token.equals("ricordoapp")) {
          presenter = new RicordoMainPresenter(rpcService, eventBus, new RicordoMainView());
      }
     
      else if (token.equals(QUERY_PAGE)) {
        presenter = new QueryPresenter(rpcService, eventBus, new QueryView());
      }
     
      if (presenter != null) {
        presenter.go(container);
      }
    }
  }
}
TOP

Related Classes of com.google.gwt.ricordo.client.AppController

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.