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 {APP_INITIALIZER, forwardRef, NgModule} from '@angular/core';
24 import {FormsModule} from '@angular/forms';
25 import {AppComponent} from './app.component';
26 import {UpgradeAdapter} from '@angular/upgrade';
27 import {UpgradeModule} from '@angular/upgrade/static';
28 import {SdcUiComponentsModule} from 'onap-ui-angular';
29 import {PropertiesAssignmentModule} from './pages/properties-assignment/properties-assignment.module';
31 ComponentFactoryProvider,
32 CookieServiceProvider,
33 DataTypesServiceProvider,
34 ModalsHandlerProvider,
35 NotificationServiceProvider,
37 StateParamsServiceFactory,
39 } from './utils/ng1-upgraded-provider';
40 import {ConfigService} from './services/config.service';
41 import {AuthenticationService} from './services/authentication.service';
42 import {Cookie2Service} from './services/cookie.service';
43 import {ComponentServiceNg2} from './services/component-services/component.service';
44 import {ComponentServiceFactoryNg2} from './services/component-services/component.service.factory';
45 import {ServiceServiceNg2} from './services/component-services/service.service';
46 import {ComponentInstanceServiceNg2} from './services/component-instance-services/component-instance.service';
47 import {ModalService} from './services/modal.service';
48 import {UiElementsModule} from './components/ui/ui-elements.module';
49 import {ConnectionWizardModule} from './pages/composition/graph/connection-wizard/connection-wizard.module';
50 import {InterfaceOperationModule} from './pages/interface-operation/interface-operation.module';
51 import {OperationCreatorModule} from './pages/interface-operation/operation-creator/operation-creator.module';
53 OperationCreatorInterfaceDefinitionModule
54 } from './pages/interface-definition/operation-creator/operation-creator-interface-definition.module';
55 import {LayoutModule} from './components/layout/layout.module';
56 import {UserService} from './services/user.service';
57 import {DynamicComponentService} from './services/dynamic-component.service';
58 import {SdcConfig} from './config/sdc-config.config';
59 import {SdcMenu} from './config/sdc-menu.config';
60 import {TranslateModule} from './shared/translator/translate.module';
61 import {TranslationServiceConfig} from './config/translation.service.config';
62 import {MultilineEllipsisModule} from './shared/multiline-ellipsis/multiline-ellipsis.module';
63 import {ServicePathCreatorModule} from './pages/composition/graph/service-path-creator/service-path-creator.module';
64 import {ServicePathsListModule} from './pages/composition/graph/service-paths-list/service-paths-list.module';
65 import {ServicePathSelectorModule} from 'app/ng2/pages/composition/graph/service-path-selector/service-path-selector.module';
66 import {CompositionPanelModule} from 'app/ng2/pages/composition/panel/composition-panel.module';
67 import {CatalogModule} from './pages/catalog/catalog.module';
68 import {HomeModule} from './pages/home/home.module';
69 import {WindowRef} from './services/window.service';
70 import {CatalogService} from './services/catalog.service';
71 import {PluginFrameModule} from './components/ui/plugin/plugin-frame.module';
72 import {PluginsService} from './services/plugins.service';
73 import {EventBusService} from './services/event-bus.service';
74 import {GroupsService} from './services/groups.service';
75 import {PoliciesService} from './services/policies.service';
76 import {AutomatedUpgradeService} from './pages/automated-upgrade/automated-upgrade.service';
77 import {AutomatedUpgradeModule} from './pages/automated-upgrade/automated-upgrade.module';
78 import {WorkspaceModule} from './pages/workspace/workspace.module';
79 import {ModalsModule} from './components/modals/modals.module';
80 import {CacheService, HomeService, SharingService} from 'app/services-ng2';
81 import {ArtifactConfigService} from "./services/artifact-config.service";
82 import {IUserProperties} from 'app/models';
83 import {PluginsModule} from './pages/plugins/plugins-module';
84 import {WorkspaceNg1BridgeService} from './pages/workspace/workspace-ng1-bridge-service';
85 import {NgxsModule} from '@ngxs/store';
86 import {NgxsLoggerPluginModule} from '@ngxs/logger-plugin';
87 import {NgxsReduxDevtoolsPluginModule} from '@ngxs/devtools-plugin';
88 import {EventListenerService} from '../services/event-listener-service';
89 import {HttpClientModule} from '@angular/common/http';
90 import {httpInterceptorProviders} from './http-interceptor';
91 import {HttpHelperService} from './services/http-hepler.service';
92 import {ModulesService} from "./services/modules.service";
93 import {TranslateService} from 'app/ng2/shared/translator/translate.service';
94 import {FileUtilsService} from './services/file-utils.service';
95 import {ImportVSPService} from './components/modals/onboarding-modal/import-vsp.service';
96 import {OnboardingService} from './services/onboarding.service';
97 import {ServiceConsumptionCreatorModule} from './pages/service-consumption-editor/service-consumption-editor.module';
98 import {ServiceDependenciesModule} from './components/logic/service-dependencies/service-dependencies.module';
99 import {ServiceDependenciesEditorModule} from './pages/service-dependencies-editor/service-dependencies-editor.module';
100 import {PropertyCreatorModule} from './pages/properties-assignment/property-creator/property-creator.module';
101 import {DeclareListModule} from './pages/properties-assignment/declare-list/declare-list.module';
102 import {ToscaFunctionModule} from "./pages/properties-assignment/tosca-function/tosca-function.module";
103 import {ConstraintsModule} from "./pages/properties-assignment/constraints/constraints.module";
104 import {WorkflowServiceNg2} from './services/workflow.service';
105 import {ToscaTypesServiceNg2} from "./services/tosca-types.service";
106 import {InterfaceOperationHandlerModule} from "./pages/composition/interface-operatons/operation-creator/interface-operation-handler.module";
107 import {AttributesOutputsModule} from "./pages/attributes-outputs/attributes-outputs.module";
108 import {ElementService} from "./services/element.service";
109 import {ModelService} from "./services/model.service";
110 import {ToscaArtifactService} from "./services/tosca-artifact.service";
111 import {InterfaceDefinitionModule} from "./pages/interface-definition/interface-definition.module";
112 import {TypeWorkspaceModule} from "./pages/type-workspace/type-workspace.module";
114 declare const __ENV__: string;
116 export const upgradeAdapter = new UpgradeAdapter(forwardRef(() => AppModule));
118 export function configServiceFactory(config: ConfigService, authService: AuthenticationService, eventListener: EventListenerService) {
121 return authService.authenticate().toPromise()
122 .then((userInfo: IUserProperties) => {
123 authService.setLoggedinUser(userInfo);
125 config.loadSdcSetupData(),
126 config.loadValidationConfiguration(),
127 config.loadPluginsConfiguration(),
130 eventListener.notifyObservers('ON_FINISH_LOADING');
133 console.log('AUTH FAILED! from app module');
143 BrowserAnimationsModule,
150 MultilineEllipsisModule,
152 CompositionPanelModule,
153 SdcUiComponentsModule,
154 AutomatedUpgradeModule,
156 // We need to import them here since we use them in angular1
157 ConnectionWizardModule,
158 PropertiesAssignmentModule,
159 AttributesOutputsModule,
160 PropertyCreatorModule,
166 InterfaceOperationModule,
167 InterfaceDefinitionModule,
168 OperationCreatorModule,
169 OperationCreatorInterfaceDefinitionModule,
170 InterfaceOperationHandlerModule,
171 ServicePathCreatorModule,
172 ServicePathsListModule,
173 ServicePathSelectorModule,
174 ServiceConsumptionCreatorModule,
175 ServiceDependenciesModule,
176 ServiceDependenciesEditorModule,
182 NgxsModule.forRoot([]),
183 NgxsLoggerPluginModule.forRoot({logger: console, collapsed: false}),
184 NgxsReduxDevtoolsPluginModule.forRoot({
185 disabled: __ENV__ === 'prod'
192 httpInterceptorProviders,
193 DataTypesServiceProvider,
197 ArtifactConfigService,
198 ComponentFactoryProvider,
199 CookieServiceProvider,
201 StateParamsServiceFactory,
203 NotificationServiceProvider,
204 ModalsHandlerProvider,
209 ComponentServiceFactoryNg2,
215 ToscaArtifactService,
217 AutomatedUpgradeService,
219 ToscaTypesServiceNg2,
220 WorkspaceNg1BridgeService,
222 AuthenticationService,
226 DynamicComponentService,
229 ComponentInstanceServiceNg2,
230 EventListenerService,
231 TranslationServiceConfig,
238 provide: APP_INITIALIZER,
239 useFactory: configServiceFactory,
240 deps: [ConfigService, AuthenticationService, EventListenerService],
244 bootstrap: [AppComponent]
247 export class AppModule {
248 constructor(public upgrade: UpgradeModule) {