hudson.gwtmarketplace.client.GWT_Marketplace.java Source code

Java tutorial

Introduction

Here is the source code for hudson.gwtmarketplace.client.GWT_Marketplace.java

Source

/*
 * GNU GENERAL PUBLIC LICENSE, Version 3, 29 June 2007
 */
package hudson.gwtmarketplace.client;

import hudson.gwtmarketplace.client.commands.LoginCommand;
import hudson.gwtmarketplace.client.model.UserInfo;
import hudson.gwtmarketplace.client.pages.LayoutPage;

import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.core.client.GWT;
import com.google.gwt.event.shared.HandlerManager;
import com.google.gwt.gwtpages.client.Pages;
import com.google.gwt.user.client.Element;
import com.google.gwt.user.client.ui.RootPanel;

/**
 * Entry point classes define <code>onModuleLoad()</code>.
 */
public class GWT_Marketplace implements EntryPoint {

    private LayoutPage layoutPage;

    /**
     * This is the entry point method.
     */
    public void onModuleLoad() {
        Pages.init((PageLoader) GWT.create(PageLoader.class), this.layoutPage = new LayoutPage(),
                new HandlerManager(null), true).addDefaultEventHandlers().add(new AuthenticationPageEventHandler());

        // load the current logged in user
        new LoginCommand() {
            @Override
            public void onSuccess(UserInfo result) {
                clearContent();
                RootPanel.get("content").add(layoutPage);
                Pages.get().showStartPage(true);
            }

            public void onFailure(Throwable e) {
                clearContent();
                RootPanel.get("content").add(layoutPage);
                Pages.get().showStartPage(false);
            };
        }.execute();
    }

    private void clearContent() {
        Element element = RootPanel.get("content").getElement();
        int count = element.getChildCount();
        for (int i = count - 1; i >= 0; i--) {
            element.getChild(i).removeFromParent();
        }
    }
}