2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
6 * ================================================================================
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
18 * ============LICENSE_END=========================================================
21 import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
22 import { BrowserModule } from '@angular/platform-browser';
23 import { NgModule, APP_INITIALIZER } from '@angular/core';
24 import { FormsModule } from '@angular/forms';
25 import { forwardRef } from '@angular/core';
26 import { AppComponent } from './app.component';
27 import { UpgradeAdapter } from '@angular/upgrade';
28 import { UpgradeModule } from '@angular/upgrade/static';
29 import { SdcUiComponentsModule, SdcUiComponents } from 'onap-ui-angular';
30 import { PropertiesAssignmentModule } from './pages/properties-assignment/properties-assignment.module';
32 DataTypesServiceProvider, CookieServiceProvider, StateServiceFactory,
33 StateParamsServiceFactory, ScopeServiceFactory,
34 NotificationServiceProvider, ComponentFactoryProvider
35 } from './utils/ng1-upgraded-provider';
36 import { ConfigService } from './services/config.service';
37 import { AuthenticationService } from './services/authentication.service';
38 import { Cookie2Service } from './services/cookie.service';
39 import { ComponentServiceNg2 } from './services/component-services/component.service';
40 import { ComponentServiceFactoryNg2 } from './services/component-services/component.service.factory';
41 import { ServiceServiceNg2 } from './services/component-services/service.service';
42 import { ComponentInstanceServiceNg2 } from './services/component-instance-services/component-instance.service';
43 import { ModalService } from './services/modal.service';
44 import { UiElementsModule } from './components/ui/ui-elements.module';
45 import { ConnectionWizardModule } from './pages/composition/graph/connection-wizard/connection-wizard.module';
46 import { InterfaceOperationModule } from './pages/interface-operation/interface-operation.module';
47 import { OperationCreatorModule } from './pages/interface-operation/operation-creator/operation-creator.module';
48 import { LayoutModule } from './components/layout/layout.module';
49 import { UserService } from './services/user.service';
50 import { DynamicComponentService } from './services/dynamic-component.service';
51 import { SdcConfig } from './config/sdc-config.config';
52 import { SdcMenu } from './config/sdc-menu.config';
53 import { TranslateModule } from './shared/translator/translate.module';
54 import { TranslationServiceConfig } from './config/translation.service.config';
55 import { MultilineEllipsisModule } from './shared/multiline-ellipsis/multiline-ellipsis.module';
56 import { ServicePathCreatorModule } from './pages/composition/graph/service-path-creator/service-path-creator.module';
57 import { ServicePathsListModule } from './pages/composition/graph/service-paths-list/service-paths-list.module';
58 import { ServicePathSelectorModule } from 'app/ng2/pages/composition/graph/service-path-selector/service-path-selector.module';
59 import { CompositionPanelModule } from 'app/ng2/pages/composition/panel/composition-panel.module';
60 import { CatalogModule } from './pages/catalog/catalog.module';
61 import { HomeModule } from './pages/home/home.module';
62 import { WindowRef } from './services/window.service';
63 import { CatalogService } from './services/catalog.service';
64 import { ModalsHandlerProvider } from './utils/ng1-upgraded-provider';
65 import { PluginFrameModule } from './components/ui/plugin/plugin-frame.module';
66 import { PluginsService } from './services/plugins.service';
67 import { EventBusService } from './services/event-bus.service';
68 import { GroupsService } from './services/groups.service';
69 import { PoliciesService } from './services/policies.service';
70 import { AutomatedUpgradeService } from './pages/automated-upgrade/automated-upgrade.service';
71 import { AutomatedUpgradeModule } from './pages/automated-upgrade/automated-upgrade.module';
72 import {WorkspaceModule} from './pages/workspace/workspace.module';
73 import { ModalsModule } from './components/modals/modals.module';
74 import { SharingService, CacheService, HomeService } from 'app/services-ng2';
75 import { IUserProperties } from 'app/models';
76 import { PluginsModule } from './pages/plugins/plugins-module';
77 import {WorkspaceNg1BridgeService} from './pages/workspace/workspace-ng1-bridge-service';
78 import {NgxsModule} from '@ngxs/store';
79 import {NgxsLoggerPluginModule} from '@ngxs/logger-plugin';
80 import {NgxsReduxDevtoolsPluginModule} from '@ngxs/devtools-plugin';
81 import {EventListenerService} from '../services/event-listener-service';
82 import { HttpClientModule } from '@angular/common/http';
83 import { httpInterceptorProviders } from './http-interceptor';
84 import { HttpHelperService } from './services/http-hepler.service';
85 import { ModulesService } from "./services/modules.service";
86 import { TranslateService } from 'app/ng2/shared/translator/translate.service';
87 import { FileUtilsService } from './services/file-utils.service';
88 import { ImportVSPService } from './components/modals/onboarding-modal/import-vsp.service';
89 import { OnboardingService } from './services/onboarding.service';
90 import { ServiceConsumptionCreatorModule } from './pages/service-consumption-editor/service-consumption-editor.module';
91 import { ServiceDependenciesModule } from './components/logic/service-dependencies/service-dependencies.module';
92 import { ServiceDependenciesEditorModule } from './pages/service-dependencies-editor/service-dependencies-editor.module';
93 import { PropertyCreatorModule } from './pages/properties-assignment/property-creator/property-creator.module';
94 import { DeclareListModule } from './pages/properties-assignment/declare-list/declare-list.module';
95 import { WorkflowServiceNg2 } from './services/workflow.service';
96 import { ToscaTypesServiceNg2 } from "./services/tosca-types.service";
99 declare const __ENV__: string;
101 export const upgradeAdapter = new UpgradeAdapter(forwardRef(() => AppModule));
103 export function configServiceFactory(config: ConfigService, authService: AuthenticationService, eventListener: EventListenerService) {
106 return authService.authenticate().toPromise()
107 .then((userInfo: IUserProperties) => {
108 authService.setLoggedinUser(userInfo);
110 config.loadSdcSetupData(),
111 config.loadValidationConfiguration(),
112 config.loadPluginsConfiguration(),
115 eventListener.notifyObservers('ON_FINISH_LOADING');
118 console.log('AUTH FAILED! from app module');
128 BrowserAnimationsModule,
135 MultilineEllipsisModule,
137 CompositionPanelModule,
138 SdcUiComponentsModule,
139 AutomatedUpgradeModule,
141 // We need to import them here since we use them in angular1
142 ConnectionWizardModule,
143 PropertiesAssignmentModule,
144 PropertyCreatorModule,
148 InterfaceOperationModule,
149 OperationCreatorModule,
150 ServicePathCreatorModule,
151 ServicePathsListModule,
152 ServicePathSelectorModule,
153 ServiceConsumptionCreatorModule,
154 ServiceDependenciesModule,
155 ServiceDependenciesEditorModule,
160 NgxsModule.forRoot([]),
161 NgxsLoggerPluginModule.forRoot({ logger: console, collapsed: false }),
162 NgxsReduxDevtoolsPluginModule.forRoot({
163 disabled: __ENV__ === 'prod'
171 httpInterceptorProviders,
172 DataTypesServiceProvider,
176 ComponentFactoryProvider,
177 CookieServiceProvider,
179 StateParamsServiceFactory,
181 NotificationServiceProvider,
182 ModalsHandlerProvider,
187 ComponentServiceFactoryNg2,
192 AutomatedUpgradeService,
194 ToscaTypesServiceNg2,
195 WorkspaceNg1BridgeService,
197 AuthenticationService,
201 DynamicComponentService,
204 ComponentInstanceServiceNg2,
205 EventListenerService,
206 TranslationServiceConfig,
213 provide: APP_INITIALIZER,
214 useFactory: configServiceFactory,
215 deps: [ConfigService, AuthenticationService, EventListenerService],
219 bootstrap: [AppComponent]
222 export class AppModule {
223 constructor(public upgrade: UpgradeModule) {