com.agnie.useradmin.main.client.presenter.DomainPresenter.java Source code

Java tutorial

Introduction

Here is the source code for com.agnie.useradmin.main.client.presenter.DomainPresenter.java

Source

/*******************************************************************************
 * Copyright (c) 2014 Agnie Technologies.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the GNU Public License v3.0
 * which accompanies this distribution, and is available at
 * http://www.gnu.org/licenses/gpl.html
 * 
 * Contributors:
 *     Agnie Technologies - initial API and implementation
 ******************************************************************************/
package com.agnie.useradmin.main.client.presenter;

import java.util.ArrayList;
import java.util.List;

import com.agnie.common.gwt.serverclient.client.helper.URLInfo;
import com.agnie.gwt.common.client.mvp.Place;
import com.agnie.gwt.common.client.widget.MessagePanel.MessageType;
import com.agnie.useradmin.main.client.I18;
import com.agnie.useradmin.main.client.helper.MainQSProcessor;
import com.agnie.useradmin.main.client.mvp.PlaceToken;
import com.agnie.useradmin.main.client.presenter.sahered.ui.Menu;
import com.agnie.useradmin.main.client.ui.DomainParentView;
import com.agnie.useradmin.persistance.client.enums.AuthLevel;
import com.agnie.useradmin.persistance.client.helper.UserAdminURLGenerator;
import com.agnie.useradmin.persistance.shared.proxy.ApplicationPx;
import com.agnie.useradmin.persistance.shared.proxy.RolePx;
import com.agnie.useradmin.persistance.shared.service.ApplicationManagerRequest;
import com.agnie.useradmin.persistance.shared.service.RoleManagerRequest;
import com.google.gwt.core.client.Scheduler;
import com.google.gwt.user.client.Command;
import com.google.gwt.user.client.ui.HTMLPanel;
import com.google.gwt.user.client.ui.RootPanel;
import com.google.inject.Inject;
import com.google.inject.Singleton;
import com.google.web.bindery.requestfactory.shared.Receiver;
import com.google.web.bindery.requestfactory.shared.ServerFailure;

@Singleton
public class DomainPresenter extends BaseDomainSetPresenter {

    DomainParentView view;
    @Inject
    URLInfo urlInfo;
    @Inject
    UserAdminURLGenerator uaug;

    @Override
    public boolean go() {
        if (super.go()) {
            view = viewFactory.getDomainParentView();
            RootPanel contentPanel = clientFactory.getRootPanelFactory().getContentPanel();
            HTMLPanel centerPanel = viewFactory.getCenterContentPanel();
            messagePanel.hide();
            final Menu menu = viewFactory.getMenu();
            menu.getSearchBox().clearSearchImgClkHandlers();
            setPrevData(centerPanel);
            contentPanel.add(centerPanel);
            return true;
        } else {
            Scheduler.get().scheduleDeferred(new Command() {
                public void execute() {
                    appController.getPlaceManager()
                            .changePlace(new Place<PlaceToken>(appController.getDefaultPlace()));
                }
            });
            return false;
        }
    }

    public void setPrevData(final HTMLPanel centerPanel) {
        String domain = MainQSProcessor.getSelDomain();
        ApplicationManagerRequest amr = clientFactory.getRequestFactory().applicationManager();
        amr.getApplicationByDomainName(domain).fire(new Receiver<ApplicationPx>() {

            @Override
            public void onSuccess(ApplicationPx response) {
                if (response != null) {
                    view.init(response);
                    centerPanel.add(view);

                    getSelDefAppRoles();
                    getSelDefContextRoles();
                }
            }
        });
    }

    public void generateNewApiAccessKey(ApplicationPx appPx) {
        ApplicationManagerRequest amr = clientFactory.getRequestFactory().applicationManager();
        amr.generateNewApiAccessKey(appPx).fire(new Receiver<ApplicationPx>() {

            @Override
            public void onSuccess(ApplicationPx response) {
                view.setData(response);
            }

            @Override
            public void onFailure(ServerFailure error) {
                messagePanel.show(true);
                messagePanel.setMessage(com.agnie.useradmin.common.client.I18.messages.internal_server_error());
                messagePanel.setType(MessageType.ERROR);
            }
        });
    }

    public void editApp(ApplicationManagerRequest amr, ApplicationPx appPx, final boolean domainChange) {
        amr.updateApplication(appPx).fire(new Receiver<ApplicationPx>() {

            @Override
            public void onSuccess(ApplicationPx response) {
                messagePanel.show(true);
                messagePanel.setMessage(I18.messages.editAppSucced());
                messagePanel.setType(MessageType.INFORMATION);
                view.init(response);
                /*
                 * if (domainChange) { String newUrl = UserAdminURLGenerator.editSelDomain(response.getDomain(),
                 * params); Window.Location.assign(newUrl); }
                 */
            }

            @Override
            public void onFailure(ServerFailure error) {
                messagePanel.show(true);
                messagePanel.setMessage(com.agnie.useradmin.common.client.I18.messages.internal_server_error());
                messagePanel.setType(MessageType.ERROR);
            }
        });
    }

    public void getAllDefAppRoles(final List<RolePx> selected) {
        RoleManagerRequest rmr = clientFactory.getRequestFactory().roleManager();
        rmr.getRolesByApplication(null, AuthLevel.APPLICATION, null).fire(new Receiver<List<RolePx>>() {

            @Override
            public void onSuccess(List<RolePx> response) {
                if (response != null) {
                    view.setTotalAppRoles(response);
                } else {
                    response = new ArrayList<RolePx>();
                    view.setTotalAppRoles(response);
                }
                view.setSelAppRolesList(selected);
            }
        });
    }

    public void getAllDefContextRoles(final List<RolePx> selected) {
        RoleManagerRequest rmr = clientFactory.getRequestFactory().roleManager();
        rmr.getRolesByApplication(null, AuthLevel.CONTEXT, null).fire(new Receiver<List<RolePx>>() {

            @Override
            public void onSuccess(List<RolePx> response) {
                if (response != null) {
                    view.setTotalContextRoles(response);
                } else {
                    response = new ArrayList<RolePx>();
                    view.setTotalContextRoles(response);
                }
                view.setSelCTXRolesList(selected);
            }
        });
    }

    public void getSelDefAppRoles() {
        ApplicationManagerRequest amr = clientFactory.getRequestFactory().applicationManager();
        amr.getDefaultAppRoles().fire(new Receiver<List<RolePx>>() {

            @Override
            public void onSuccess(List<RolePx> response) {
                if (response != null) {
                    view.setdefAppRolesList(response);
                }
                getAllDefAppRoles(response);
            }

            @Override
            public void onFailure(ServerFailure error) {
                messagePanel.show(true);
                messagePanel.setMessage(com.agnie.useradmin.common.client.I18.messages.internal_server_error());
                messagePanel.setType(MessageType.ERROR);
            }
        });
    }

    public void getSelDefContextRoles() {
        ApplicationManagerRequest amr = clientFactory.getRequestFactory().applicationManager();
        amr.getDefaultAppCtxRoles().fire(new Receiver<List<RolePx>>() {

            @Override
            public void onSuccess(List<RolePx> response) {
                if (response != null) {
                    view.setdefContextRolesList(response);
                }
                getAllDefContextRoles(response);
            }

            @Override
            public void onFailure(ServerFailure error) {
                messagePanel.show(true);
                messagePanel.setMessage(com.agnie.useradmin.common.client.I18.messages.internal_server_error());
                messagePanel.setType(MessageType.ERROR);
            }
        });
    }

    public void updateDefAppRoles(final List<RolePx> roles) {
        ApplicationManagerRequest amr = clientFactory.getRequestFactory().applicationManager();
        amr.updateDefaultAppRoles(roles).fire(new Receiver<Void>() {

            @Override
            public void onSuccess(Void response) {
                messagePanel.show(true);
                messagePanel.setMessage(I18.messages.defAppRolesUpdated());
                messagePanel.setType(MessageType.INFORMATION);
                view.setdefAppRolesList(roles);
                view.hideReadView();
            }

            public void onFailure(ServerFailure error) {
                messagePanel.show(true);
                messagePanel.setMessage(com.agnie.useradmin.common.client.I18.messages.internal_server_error());
                messagePanel.setType(MessageType.ERROR);
            }
        });
    }

    public void updateDefCTXRoles(final List<RolePx> roles) {
        ApplicationManagerRequest amr = clientFactory.getRequestFactory().applicationManager();
        amr.updateDefaultAppCtxRoles(roles).fire(new Receiver<Void>() {

            @Override
            public void onSuccess(Void response) {
                messagePanel.show(true);
                messagePanel.setMessage(I18.messages.defContextRolesupdated());
                messagePanel.setType(MessageType.INFORMATION);
                view.setdefContextRolesList(roles);
                view.hideReadView();
            }

            public void onFailure(ServerFailure error) {
                messagePanel.show(true);
                messagePanel.setMessage(com.agnie.useradmin.common.client.I18.messages.internal_server_error());
                messagePanel.setType(MessageType.ERROR);
            }
        });
    }

    // public void transferOwnerShip(String username) {
    // ApplicationManagerRequest amr = clientFactory.getRequestFactory().applicationManager();
    // amr.transferOwnerShip(username).fire(new Receiver<Void>() {
    //
    // @Override
    // public void onSuccess(Void response) {
    // Window.alert(I18.messages.owner_transferred());
    // Window.Location.assign(uaug.getLandingPageUrl(urlInfo, UserAdminURLGenerator.USERADMIN,
    // urlInfo.getParameter(QueryString.GWT_DEV_MODE.getKey())));
    // }
    //
    // public void onFailure(ServerFailure error) {
    // messagePanel.show(true);
    // messagePanel.setMessage(com.agnie.useradmin.common.client.I18.messages.internal_server_error());
    // messagePanel.setType(MessageType.ERROR);
    // }
    // });
    // }

    @Override
    public void postRender() {

    }
}