/* * Copyright 2014-2016 CyberVision, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.kaaproject.kaa.server.admin.client.mvp; import com.google.gwt.place.shared.Place; import com.google.gwt.place.shared.PlaceController; import com.google.web.bindery.event.shared.EventBus; import com.google.web.bindery.event.shared.SimpleEventBus; import org.kaaproject.kaa.common.dto.ApplicationDto; import org.kaaproject.kaa.common.dto.ConfigurationSchemaDto; import org.kaaproject.kaa.common.dto.EndpointGroupDto; import org.kaaproject.kaa.common.dto.EndpointProfileSchemaDto; import org.kaaproject.kaa.common.dto.KaaAuthorityDto; import org.kaaproject.kaa.common.dto.NotificationSchemaDto; import org.kaaproject.kaa.common.dto.ServerProfileSchemaDto; import org.kaaproject.kaa.common.dto.TenantDto; import org.kaaproject.kaa.common.dto.TopicDto; import org.kaaproject.kaa.common.dto.admin.SdkProfileDto; import org.kaaproject.kaa.common.dto.admin.UserDto; import org.kaaproject.kaa.common.dto.event.ApplicationEventFamilyMapDto; import org.kaaproject.kaa.common.dto.event.EventClassFamilyDto; import org.kaaproject.kaa.common.dto.logs.LogAppenderDto; import org.kaaproject.kaa.common.dto.logs.LogSchemaDto; import org.kaaproject.kaa.common.dto.user.UserVerifierDto; import org.kaaproject.kaa.server.admin.client.KaaAdmin; import org.kaaproject.kaa.server.admin.client.mvp.view.AddSdkProfileView; import org.kaaproject.kaa.server.admin.client.mvp.view.AefMapView; import org.kaaproject.kaa.server.admin.client.mvp.view.ApplicationView; import org.kaaproject.kaa.server.admin.client.mvp.view.BaseCtlSchemaView; import org.kaaproject.kaa.server.admin.client.mvp.view.BaseListView; import org.kaaproject.kaa.server.admin.client.mvp.view.BasePropertiesView; import org.kaaproject.kaa.server.admin.client.mvp.view.ConfigurationView; import org.kaaproject.kaa.server.admin.client.mvp.view.CtlSchemaView; import org.kaaproject.kaa.server.admin.client.mvp.view.CtlSchemasView; import org.kaaproject.kaa.server.admin.client.mvp.view.EcfVersionView; import org.kaaproject.kaa.server.admin.client.mvp.view.EcfView; import org.kaaproject.kaa.server.admin.client.mvp.view.EndpointGroupView; import org.kaaproject.kaa.server.admin.client.mvp.view.EndpointProfileView; import org.kaaproject.kaa.server.admin.client.mvp.view.EndpointProfilesView; import org.kaaproject.kaa.server.admin.client.mvp.view.EventClassView; import org.kaaproject.kaa.server.admin.client.mvp.view.GetUserConfigView; import org.kaaproject.kaa.server.admin.client.mvp.view.HeaderView; import org.kaaproject.kaa.server.admin.client.mvp.view.LogAppenderView; import org.kaaproject.kaa.server.admin.client.mvp.view.NavigationView; import org.kaaproject.kaa.server.admin.client.mvp.view.ProfileFilterView; import org.kaaproject.kaa.server.admin.client.mvp.view.SdkProfileView; import org.kaaproject.kaa.server.admin.client.mvp.view.SendNotificationView; import org.kaaproject.kaa.server.admin.client.mvp.view.TenantView; import org.kaaproject.kaa.server.admin.client.mvp.view.TopicView; import org.kaaproject.kaa.server.admin.client.mvp.view.UpdateUserConfigView; import org.kaaproject.kaa.server.admin.client.mvp.view.UserProfileView; import org.kaaproject.kaa.server.admin.client.mvp.view.UserVerifierView; import org.kaaproject.kaa.server.admin.client.mvp.view.UserView; import org.kaaproject.kaa.server.admin.client.mvp.view.appender.LogAppenderViewImpl; import org.kaaproject.kaa.server.admin.client.mvp.view.appender.LogAppendersViewImpl; import org.kaaproject.kaa.server.admin.client.mvp.view.application.ApplicationViewImpl; import org.kaaproject.kaa.server.admin.client.mvp.view.application.ApplicationsViewImpl; import org.kaaproject.kaa.server.admin.client.mvp.view.config.ConfigurationSchemaViewImpl; import org.kaaproject.kaa.server.admin.client.mvp.view.config.ConfigurationSchemasViewImpl; import org.kaaproject.kaa.server.admin.client.mvp.view.config.ConfigurationViewImpl; import org.kaaproject.kaa.server.admin.client.mvp.view.ctl.ApplicationCtlSchemaViewImpl; import org.kaaproject.kaa.server.admin.client.mvp.view.ctl.ApplicationCtlSchemasViewImpl; import org.kaaproject.kaa.server.admin.client.mvp.view.ctl.CtlSchemaViewImpl; import org.kaaproject.kaa.server.admin.client.mvp.view.ctl.SystemCtlSchemasViewImpl; import org.kaaproject.kaa.server.admin.client.mvp.view.ctl.TenantCtlSchemasViewImpl; import org.kaaproject.kaa.server.admin.client.mvp.view.endpoint.EndpointGroupViewImpl; import org.kaaproject.kaa.server.admin.client.mvp.view.endpoint.EndpointGroupsViewImpl; import org.kaaproject.kaa.server.admin.client.mvp.view.endpoint.EndpointProfileViewImpl; import org.kaaproject.kaa.server.admin.client.mvp.view.endpoint.EndpointProfilesViewImpl; import org.kaaproject.kaa.server.admin.client.mvp.view.enduser.GetUserConfigViewImpl; import org.kaaproject.kaa.server.admin.client.mvp.view.enduser.UpdateUserConfigViewImpl; import org.kaaproject.kaa.server.admin.client.mvp.view.event.AefMapViewImpl; import org.kaaproject.kaa.server.admin.client.mvp.view.event.AefMapsViewImpl; import org.kaaproject.kaa.server.admin.client.mvp.view.event.EcfVersionViewImpl; import org.kaaproject.kaa.server.admin.client.mvp.view.event.EcfViewImpl; import org.kaaproject.kaa.server.admin.client.mvp.view.event.EcfsViewImpl; import org.kaaproject.kaa.server.admin.client.mvp.view.event.EventClassViewImpl; import org.kaaproject.kaa.server.admin.client.mvp.view.header.HeaderViewImpl; import org.kaaproject.kaa.server.admin.client.mvp.view.log.LogSchemaViewImpl; import org.kaaproject.kaa.server.admin.client.mvp.view.log.LogSchemasViewImpl; import org.kaaproject.kaa.server.admin.client.mvp.view.navigation.NavigationViewImpl; import org.kaaproject.kaa.server.admin.client.mvp.view.notification.NotificationSchemaViewImpl; import org.kaaproject.kaa.server.admin.client.mvp.view.notification.NotificationSchemasViewImpl; import org.kaaproject.kaa.server.admin.client.mvp.view.profile.ProfileFilterViewImpl; import org.kaaproject.kaa.server.admin.client.mvp.view.profile.ProfileSchemaViewImpl; import org.kaaproject.kaa.server.admin.client.mvp.view.profile.ProfileSchemasViewImpl; import org.kaaproject.kaa.server.admin.client.mvp.view.profile.ServerProfileSchemaViewImpl; import org.kaaproject.kaa.server.admin.client.mvp.view.profile.ServerProfileSchemasViewImpl; import org.kaaproject.kaa.server.admin.client.mvp.view.sdk.AddSdkProfileViewImpl; import org.kaaproject.kaa.server.admin.client.mvp.view.sdk.SdkProfileViewImpl; import org.kaaproject.kaa.server.admin.client.mvp.view.sdk.SdkProfilesViewImpl; import org.kaaproject.kaa.server.admin.client.mvp.view.settings.GeneralPropertiesViewImpl; import org.kaaproject.kaa.server.admin.client.mvp.view.settings.MailPropertiesViewImpl; import org.kaaproject.kaa.server.admin.client.mvp.view.tenant.TenantViewImpl; import org.kaaproject.kaa.server.admin.client.mvp.view.tenant.TenantsViewImpl; import org.kaaproject.kaa.server.admin.client.mvp.view.topic.SendNotificationViewImpl; import org.kaaproject.kaa.server.admin.client.mvp.view.topic.TopicViewImpl; import org.kaaproject.kaa.server.admin.client.mvp.view.topic.TopicsViewImpl; import org.kaaproject.kaa.server.admin.client.mvp.view.user.UserProfileViewImpl; import org.kaaproject.kaa.server.admin.client.mvp.view.user.UserViewImpl; import org.kaaproject.kaa.server.admin.client.mvp.view.user.UsersViewImpl; import org.kaaproject.kaa.server.admin.client.mvp.view.verifier.UserVerifierViewImpl; import org.kaaproject.kaa.server.admin.client.mvp.view.verifier.UserVerifiersViewImpl; public class ClientFactoryImpl implements ClientFactory { private final EventBus eventBus = new SimpleEventBus(); private final PlaceController placeController = new PlaceController(eventBus); private final HeaderView headerView = new HeaderViewImpl(); private final NavigationView navigationView = new NavigationViewImpl(); private final UserProfileView userProfileView = new UserProfileViewImpl(); private final BasePropertiesView generalPropertiesView = new GeneralPropertiesViewImpl(); private final BasePropertiesView mailPropertiesView = new MailPropertiesViewImpl(); private final BaseListView<TenantDto> tenantsView = new TenantsViewImpl(); private final TenantView createTenantView = new TenantViewImpl(true); private final TenantView tenantView = new TenantViewImpl(false); private final BaseListView<ApplicationDto> applicationsView = new ApplicationsViewImpl(KaaAdmin.checkAuthorities(KaaAuthorityDto.TENANT_ADMIN)); private final ApplicationView createApplicationView = new ApplicationViewImpl(true, KaaAdmin.checkAuthorities(KaaAuthorityDto.TENANT_ADMIN)); private final ApplicationView applicationView = new ApplicationViewImpl(false, KaaAdmin.checkAuthorities(KaaAuthorityDto.TENANT_ADMIN)); private final BaseListView<SdkProfileDto> sdkProfilesView = new SdkProfilesViewImpl(); private final SdkProfileView sdkProfileView = new SdkProfileViewImpl(); private final AddSdkProfileView generateSdkView = new AddSdkProfileViewImpl(); private final BaseListView<UserDto> usersView = new UsersViewImpl(); private final UserView createUserView = new UserViewImpl(true); private final UserView userView = new UserViewImpl(false); private final BaseListView<EndpointProfileSchemaDto> profileSchemasView = new ProfileSchemasViewImpl(); private final BaseCtlSchemaView profileSchemaView = new ProfileSchemaViewImpl(false); private final BaseCtlSchemaView createProfileSchemaView = new ProfileSchemaViewImpl(true); private final BaseListView<ServerProfileSchemaDto> serverProfileSchemasView = new ServerProfileSchemasViewImpl(); private final BaseCtlSchemaView serverProfileSchemaView = new ServerProfileSchemaViewImpl(false); private final BaseCtlSchemaView createServerProfileSchemaView = new ServerProfileSchemaViewImpl(true); private final BaseListView<ConfigurationSchemaDto> configurationSchemasView = new ConfigurationSchemasViewImpl(); private final BaseCtlSchemaView configurationSchemaView = new ConfigurationSchemaViewImpl(false); private final BaseCtlSchemaView createConfigurationSchemaView = new ConfigurationSchemaViewImpl(true); private final BaseListView<NotificationSchemaDto> notificationSchemasView = new NotificationSchemasViewImpl(); private final BaseCtlSchemaView notificationSchemaView = new NotificationSchemaViewImpl(false); private final BaseCtlSchemaView createNotificationSchemaView = new NotificationSchemaViewImpl(true); private final BaseListView<LogSchemaDto> logSchemasView = new LogSchemasViewImpl(); private final BaseCtlSchemaView logSchemaView = new LogSchemaViewImpl(false); private final BaseCtlSchemaView createLogSchemaView = new LogSchemaViewImpl(true); private final BaseListView<EndpointGroupDto> endpointGroupsView = new EndpointGroupsViewImpl(); private final EndpointGroupView endpointGroupView = new EndpointGroupViewImpl(false); private final EndpointGroupView createEndpointGroupView = new EndpointGroupViewImpl(true); private final EndpointProfilesView endpointProfilesView = new EndpointProfilesViewImpl(); private final EndpointProfileView endpointProfileView = new EndpointProfileViewImpl(); private final ProfileFilterView profileFilterView = new ProfileFilterViewImpl(false); private final ProfileFilterView createProfileFilterView = new ProfileFilterViewImpl(true); private final ConfigurationView configurationView = new ConfigurationViewImpl(false); private final ConfigurationView createConfigurationView = new ConfigurationViewImpl(true); private final BaseListView<TopicDto> topicsView = new TopicsViewImpl(); private final TopicView topicView = new TopicViewImpl(false); private final TopicView createTopicView = new TopicViewImpl(true); private final SendNotificationView sendNotificationView = new SendNotificationViewImpl(); private final BaseListView<LogAppenderDto> appendersView = new LogAppendersViewImpl(); private final LogAppenderView appenderView = new LogAppenderViewImpl(false); private final LogAppenderView createAppenderView = new LogAppenderViewImpl(true); private final BaseListView<UserVerifierDto> userVerifiersView = new UserVerifiersViewImpl(); private final UserVerifierView userVerifierView = new UserVerifierViewImpl(false); private final UserVerifierView createUserVerifierView = new UserVerifierViewImpl(true); private final BaseListView<EventClassFamilyDto> ecfsView = new EcfsViewImpl(); private final EcfView ecfView = new EcfViewImpl(false); private final EcfView createEcfView = new EcfViewImpl(true); private final EventClassView eventClassView = new EventClassViewImpl(false); private final EventClassView createEventClassView = new EventClassViewImpl(true); private final EcfVersionView createEcfVersionView = new EcfVersionViewImpl(true); private final EcfVersionView versionView = new EcfVersionViewImpl(false); private final BaseListView<ApplicationEventFamilyMapDto> aefMapsView = new AefMapsViewImpl(); private final AefMapView aefMapView = new AefMapViewImpl(false); private final AefMapView createAefMapView = new AefMapViewImpl(true); private final UpdateUserConfigView updateUserConfigView = new UpdateUserConfigViewImpl(); private final GetUserConfigView getUserConfigView = new GetUserConfigViewImpl(); private final CtlSchemasView systemCtlSchemasView = new SystemCtlSchemasViewImpl(); private final CtlSchemasView tenantCtlSchemasView = new TenantCtlSchemasViewImpl(); private final CtlSchemasView applicationCtlSchemasView = new ApplicationCtlSchemasViewImpl(); private final CtlSchemaView createCtlSchemaView = new CtlSchemaViewImpl(true, true); private final CtlSchemaView editCtlSchemaView = new CtlSchemaViewImpl(false, true); private final CtlSchemaView editApplicationCtlSchemaView = new ApplicationCtlSchemaViewImpl(false, true); private final CtlSchemaView viewCtlSchemaView = new CtlSchemaViewImpl(false, false); private Place homePlace; @Override public EventBus getEventBus() { return eventBus; } @Override public PlaceController getPlaceController() { return placeController; } @Override public HeaderView getHeaderView() { return headerView; } @Override public NavigationView getNavigationView() { return navigationView; } @Override public UserProfileView getUserProfileView() { return userProfileView; } @Override public BasePropertiesView getGeneralPropertiesView() { return generalPropertiesView; } @Override public BasePropertiesView getMailPropertiesView() { return mailPropertiesView; } @Override public BaseListView<TenantDto> getTenantsView() { return tenantsView; } @Override public TenantView getCreateTenantView() { return createTenantView; } @Override public TenantView getTenantView() { return tenantView; } @Override public BaseListView<ApplicationDto> getApplicationsView() { return applicationsView; } @Override public ApplicationView getCreateApplicationView() { return createApplicationView; } @Override public ApplicationView getApplicationView() { return applicationView; } @Override public BaseListView<SdkProfileDto> getSdkProfilesView() { return sdkProfilesView; } @Override public SdkProfileView getSdkProfileView() { return sdkProfileView; } @Override public AddSdkProfileView getAddSdkProfileView() { return generateSdkView; } @Override public BaseListView<UserDto> getUsersView() { return usersView; } @Override public UserView getCreateUserView() { return createUserView; } @Override public UserView getUserView() { return userView; } @Override public BaseListView<EndpointProfileSchemaDto> getProfileSchemasView() { return profileSchemasView; } @Override public BaseCtlSchemaView getProfileSchemaView() { return profileSchemaView; } @Override public BaseCtlSchemaView getCreateProfileSchemaView() { return createProfileSchemaView; } @Override public BaseListView<ServerProfileSchemaDto> getServerProfileSchemasView() { return serverProfileSchemasView; } @Override public BaseCtlSchemaView getServerProfileSchemaView() { return serverProfileSchemaView; } @Override public BaseCtlSchemaView getCreateServerProfileSchemaView() { return createServerProfileSchemaView; } @Override public BaseListView<ConfigurationSchemaDto> getConfigurationSchemasView() { return configurationSchemasView; } @Override public BaseCtlSchemaView getConfigurationSchemaView() { return configurationSchemaView; } @Override public BaseCtlSchemaView getCreateConfigurationSchemaView() { return createConfigurationSchemaView; } @Override public BaseListView<NotificationSchemaDto> getNotificationSchemasView() { return notificationSchemasView; } @Override public BaseCtlSchemaView getNotificationSchemaView() { return notificationSchemaView; } @Override public BaseCtlSchemaView getCreateNotificationSchemaView() { return createNotificationSchemaView; } @Override public BaseListView<LogSchemaDto> getLogSchemasView() { return logSchemasView; } @Override public BaseCtlSchemaView getLogSchemaView() { return logSchemaView; } @Override public BaseCtlSchemaView getCreateLogSchemaView() { return createLogSchemaView; } @Override public BaseListView<EndpointGroupDto> getEndpointGroupsView() { return endpointGroupsView; } @Override public EndpointGroupView getEndpointGroupView() { return endpointGroupView; } @Override public EndpointGroupView getCreateEndpointGroupView() { return createEndpointGroupView; } @Override public EndpointProfilesView getEndpointProfilesView() { return endpointProfilesView; } @Override public EndpointProfileView getEndpointProfileView() { return endpointProfileView; } @Override public ProfileFilterView getProfileFilterView() { return profileFilterView; } @Override public ProfileFilterView getCreateProfileFilterView() { return createProfileFilterView; } @Override public ConfigurationView getConfigurationView() { return configurationView; } @Override public ConfigurationView getCreateConfigurationView() { return createConfigurationView; } @Override public BaseListView<TopicDto> getTopicsView() { return topicsView; } @Override public TopicView getTopicView() { return topicView; } @Override public TopicView getCreateTopicView() { return createTopicView; } @Override public SendNotificationView getSendNotificationView() { return sendNotificationView; } @Override public BaseListView<EventClassFamilyDto> getEcfsView() { return ecfsView; } @Override public EcfView getEcfView() { return ecfView; } @Override public EcfView getCreateEcfView() { return createEcfView; } @Override public EventClassView getEventClassView() { return eventClassView; } @Override public EventClassView getCreateEventClassView() { return createEventClassView; } @Override public EcfVersionView getCreateEcfVersionView() { return createEcfVersionView; } @Override public EcfVersionView getEcfVersionView() { return versionView; } @Override public BaseListView<ApplicationEventFamilyMapDto> getAefMapsView() { return aefMapsView; } @Override public AefMapView getAefMapView() { return aefMapView; } @Override public AefMapView getCreateAefMapView() { return createAefMapView; } @Override public Place getHomePlace() { return homePlace; } @Override public void setHomePlace(Place homePlace) { this.homePlace = homePlace; } @Override public BaseListView<LogAppenderDto> getAppendersView() { return appendersView; } @Override public LogAppenderView getAppenderView() { return appenderView; } @Override public LogAppenderView getCreateAppenderView() { return createAppenderView; } @Override public BaseListView<UserVerifierDto> getUserVerifiersView() { return userVerifiersView; } @Override public UserVerifierView getUserVerifierView() { return userVerifierView; } @Override public UserVerifierView getCreateUserVerifierView() { return createUserVerifierView; } @Override public UpdateUserConfigView getUpdateUserConfigView() { return updateUserConfigView; } @Override public GetUserConfigView getUserConfigView() { return getUserConfigView; } @Override public CtlSchemaView getCreateCtlSchemaView() { return createCtlSchemaView; } @Override public CtlSchemaView getEditCtlSchemaView() { return editCtlSchemaView; } @Override public CtlSchemaView getEditApplicationCtlSchemaView() { return editApplicationCtlSchemaView; } @Override public CtlSchemaView getViewCtlSchemaView() { return viewCtlSchemaView; } @Override public CtlSchemasView getSystemCtlSchemasView() { return systemCtlSchemasView; } @Override public CtlSchemasView getTenantCtlSchemasView() { return tenantCtlSchemasView; } @Override public CtlSchemasView getApplicationCtlSchemasView() { return applicationCtlSchemasView; } }