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 {ArtifactConfigService} from "./services/artifact-config.service";
76 import {IUserProperties} from 'app/models';
77 import {PluginsModule} from './pages/plugins/plugins-module';
78 import {WorkspaceNg1BridgeService} from './pages/workspace/workspace-ng1-bridge-service';
79 import {NgxsModule} from '@ngxs/store';
80 import {NgxsLoggerPluginModule} from '@ngxs/logger-plugin';
81 import {NgxsReduxDevtoolsPluginModule} from '@ngxs/devtools-plugin';
82 import {EventListenerService} from '../services/event-listener-service';
83 import {HttpClientModule} from '@angular/common/http';
84 import {httpInterceptorProviders} from './http-interceptor';
85 import {HttpHelperService} from './services/http-hepler.service';
86 import {ModulesService} from "./services/modules.service";
87 import {TranslateService} from 'app/ng2/shared/translator/translate.service';
88 import {FileUtilsService} from './services/file-utils.service';
89 import {ImportVSPService} from './components/modals/onboarding-modal/import-vsp.service';
90 import {OnboardingService} from './services/onboarding.service';
91 import {ServiceConsumptionCreatorModule} from './pages/service-consumption-editor/service-consumption-editor.module';
92 import {ServiceDependenciesModule} from './components/logic/service-dependencies/service-dependencies.module';
93 import {ServiceDependenciesEditorModule} from './pages/service-dependencies-editor/service-dependencies-editor.module';
94 import {PropertyCreatorModule} from './pages/properties-assignment/property-creator/property-creator.module';
95 import {DeclareListModule} from './pages/properties-assignment/declare-list/declare-list.module';
96 import { InputListModule } from "./pages/properties-assignment/input-list/input-list.module";
97 import {WorkflowServiceNg2} from './services/workflow.service';
98 import {ToscaTypesServiceNg2} from "./services/tosca-types.service";
99 import {CapabilitiesFilterPropertiesEditorComponentModule} from "./pages/composition/capabilities-filter-properties-editor/capabilities-filter-properties-editor.module";
100 import {InterfaceOperationHandlerModule} from "./pages/composition/interface-operatons/operation-creator/interface-operation-handler.module";
101 import {AttributesOutputsModule} from "./pages/attributes-outputs/attributes-outputs.module";
102 import { ElementService } from "./services/element.service";
105 declare const __ENV__: string;
107 export const upgradeAdapter = new UpgradeAdapter(forwardRef(() => AppModule));
109 export function configServiceFactory(config: ConfigService, authService: AuthenticationService, eventListener: EventListenerService) {
112 return authService.authenticate().toPromise()
113 .then((userInfo: IUserProperties) => {
114 authService.setLoggedinUser(userInfo);
116 config.loadSdcSetupData(),
117 config.loadValidationConfiguration(),
118 config.loadPluginsConfiguration(),
121 eventListener.notifyObservers('ON_FINISH_LOADING');
124 console.log('AUTH FAILED! from app module');
134 BrowserAnimationsModule,
141 MultilineEllipsisModule,
143 CompositionPanelModule,
144 SdcUiComponentsModule,
145 AutomatedUpgradeModule,
147 // We need to import them here since we use them in angular1
148 ConnectionWizardModule,
149 PropertiesAssignmentModule,
150 AttributesOutputsModule,
151 PropertyCreatorModule,
156 InterfaceOperationModule,
157 OperationCreatorModule,
158 InterfaceOperationHandlerModule,
159 ServicePathCreatorModule,
160 ServicePathsListModule,
161 ServicePathSelectorModule,
162 ServiceConsumptionCreatorModule,
163 ServiceDependenciesModule,
164 ServiceDependenciesEditorModule,
165 CapabilitiesFilterPropertiesEditorComponentModule,
170 NgxsModule.forRoot([]),
171 NgxsLoggerPluginModule.forRoot({logger: console, collapsed: false}),
172 NgxsReduxDevtoolsPluginModule.forRoot({
173 disabled: __ENV__ === 'prod'
180 httpInterceptorProviders,
181 DataTypesServiceProvider,
185 ArtifactConfigService,
186 ComponentFactoryProvider,
187 CookieServiceProvider,
189 StateParamsServiceFactory,
191 NotificationServiceProvider,
192 ModalsHandlerProvider,
197 ComponentServiceFactoryNg2,
203 AutomatedUpgradeService,
205 ToscaTypesServiceNg2,
206 WorkspaceNg1BridgeService,
208 AuthenticationService,
212 DynamicComponentService,
215 ComponentInstanceServiceNg2,
216 EventListenerService,
217 TranslationServiceConfig,
224 provide: APP_INITIALIZER,
225 useFactory: configServiceFactory,
226 deps: [ConfigService, AuthenticationService, EventListenerService],
230 bootstrap: [AppComponent]
233 export class AppModule {
234 constructor(public upgrade: UpgradeModule) {