package org.gcube.portlets.user.accountingdashboard.client.application.mainarea.filter; import java.util.logging.Level; import java.util.logging.Logger; import org.gcube.portlets.user.accountingdashboard.client.application.controller.Controller; import org.gcube.portlets.user.accountingdashboard.client.application.event.ScopeDataEvent; import org.gcube.portlets.user.accountingdashboard.shared.data.RequestReportData; import org.gcube.portlets.user.accountingdashboard.shared.data.ScopeData; import com.google.inject.Inject; import com.google.web.bindery.event.shared.EventBus; import com.gwtplatform.mvp.client.HasUiHandlers; import com.gwtplatform.mvp.client.PresenterWidget; import com.gwtplatform.mvp.client.View; /** * * @author Giancarlo Panichi * */ public class FilterAreaPresenter extends PresenterWidget implements FilterAreaUiHandlers { private static Logger logger = Logger.getLogger(""); interface FilterAreaView extends View, HasUiHandlers { void displayScopeData(ScopeData scopeData); } private EventBus eventBus; private Controller controller; @Inject FilterAreaPresenter(EventBus eventBus, FilterAreaView view, Controller controller) { super(eventBus, view); this.eventBus = eventBus; this.controller = controller; getView().setUiHandlers(this); addProviders(); bindToEvent(); } private void addProviders() { } private void bindToEvent() { controller.getEventBus().addHandler(ScopeDataEvent.TYPE, new ScopeDataEvent.ScopeDataEventHandler() { @Override public void onData(ScopeDataEvent event) { logger.log(Level.FINE, "ScopeDataEvent received"); getView().displayScopeData(event.getScopeData()); } }); } @Override protected void onBind() { super.onBind(); controller.getTree(); } @Override public void getReport(RequestReportData requestReportData) { controller.getReport(requestReportData); } }