com.ephesoft.dcma.gwt.reporting.client.ReportingEntryPoint.java Source code

Java tutorial

Introduction

Here is the source code for com.ephesoft.dcma.gwt.reporting.client.ReportingEntryPoint.java

Source

/********************************************************************************* 
* Ephesoft is a Intelligent Document Capture and Mailroom Automation program 
* developed by Ephesoft, Inc. Copyright (C) 2010-2012 Ephesoft Inc. 
* 
* This program is free software; you can redistribute it and/or modify it under 
* the terms of the GNU Affero General Public License version 3 as published by the 
* Free Software Foundation with the addition of the following permission added 
* to Section 15 as permitted in Section 7(a): FOR ANY PART OF THE COVERED WORK 
* IN WHICH THE COPYRIGHT IS OWNED BY EPHESOFT, EPHESOFT DISCLAIMS THE WARRANTY 
* OF NON INFRINGEMENT OF THIRD PARTY RIGHTS. 
* 
* This program is distributed in the hope that it will be useful, but WITHOUT 
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 
* FOR A PARTICULAR PURPOSE.  See the GNU Affero General Public License for more 
* details. 
* 
* You should have received a copy of the GNU Affero General Public License along with 
* this program; if not, see http://www.gnu.org/licenses or write to the Free 
* Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 
* 02110-1301 USA. 
* 
* You can contact Ephesoft, Inc. headquarters at 111 Academy Way, 
* Irvine, CA 92617, USA. or at email address info@ephesoft.com. 
* 
* The interactive user interfaces in modified source and object code versions 
* of this program must display Appropriate Legal Notices, as required under 
* Section 5 of the GNU Affero General Public License version 3. 
* 
* In accordance with Section 7(b) of the GNU Affero General Public License version 3, 
* these Appropriate Legal Notices must retain the display of the "Ephesoft" logo. 
* If the display of the logo is not reasonably feasible for 
* technical reasons, the Appropriate Legal Notices must display the words 
* "Powered by Ephesoft". 
********************************************************************************/

package com.ephesoft.dcma.gwt.reporting.client;

import com.ephesoft.dcma.gwt.core.client.DCMAEntryPoint;
import com.ephesoft.dcma.gwt.core.client.EphesoftAsyncCallback;
import com.ephesoft.dcma.gwt.core.client.i18n.LocaleInfo;
import com.ephesoft.dcma.gwt.core.client.view.RootPanel;
import com.ephesoft.dcma.gwt.reporting.client.presenter.ReportingPresenter;
import com.google.gwt.core.client.GWT;
import com.google.gwt.user.client.ui.LayoutPanel;
import com.google.gwt.user.client.ui.RootLayoutPanel;

/**
 * This is the entry point class for Reporting Module. It creates the view that the user gets when landing on the reporting page. It
 * sets the username, creates the tab's required, and also the view for each tab.
 * 
 * @author Ephesoft
 * @version 1.0
 * 
 */

public class ReportingEntryPoint extends DCMAEntryPoint<ReportingModelServiceAsync> {

    private ReportingController controller = null;

    @Override
    public ReportingModelServiceAsync createRpcService() {
        return GWT.create(ReportingModelService.class);
    }

    @Override
    public void onLoad() {

        LayoutPanel layoutPanel = new LayoutPanel();
        controller = new ReportingController(eventBus, rpcService);
        layoutPanel.add(controller.createView());
        ReportingPresenter reportingPresenter = controller.getPresenter();
        reportingPresenter.bind();

        final RootPanel rootPanel = new RootPanel(layoutPanel, rpcService);

        rootPanel.getHeader().addTab("Batch Class Management", "BatchClassManagement.html", false);
        rootPanel.getHeader().addTab("Batch Instance Management", "BatchInstanceManagement.html", false);
        rootPanel.getHeader().addTab("Workflow Management", "CustomWorkflowManagement.html", false);
        rootPanel.getHeader().addTab("Folder Management", "FolderManager.html", false);
        rootPanel.getHeader().addNonClickableTab("Reports", "Reporting.html");
        rootPanel.getHeader().getTabBar().selectTab(4);
        rootPanel.addStyleName("set_position");
        rootPanel.getHeader().setEventBus(eventBus);

        rpcService.getUserName(new EphesoftAsyncCallback<String>() {

            @Override
            public void onSuccess(final String userName) {
                rootPanel.getHeader().setUserName(userName);
            }

            @Override
            public void customFailure(final Throwable arg0) {
                // Username cannot be set if the call failed.
            }
        });

        RootLayoutPanel rootLayoutPanel = RootLayoutPanel.get();
        rootLayoutPanel.clear();
        rootLayoutPanel.add(rootPanel);

    }

    @Override
    public String getHomePage() {
        return "Reporting.html";
    }

    @Override
    public LocaleInfo createLocaleInfo(final String locale) {
        return new LocaleInfo(locale, "reportingConstants", "reportingMessages");
    }

    public ReportingController getController() {
        return controller;
    }
}