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";
113 import {DeclareInputModule} from "./pages/properties-assignment/declare-input/declare-input.module";
115 declare const __ENV__: string;
117 export const upgradeAdapter = new UpgradeAdapter(forwardRef(() => AppModule));
119 export function configServiceFactory(config: ConfigService, authService: AuthenticationService, eventListener: EventListenerService) {
122 return authService.authenticate().toPromise()
123 .then((userInfo: IUserProperties) => {
124 authService.setLoggedinUser(userInfo);
126 config.loadSdcSetupData(),
127 config.loadValidationConfiguration(),
128 config.loadPluginsConfiguration(),
131 eventListener.notifyObservers('ON_FINISH_LOADING');
134 console.log('AUTH FAILED! from app module');
144 BrowserAnimationsModule,
151 MultilineEllipsisModule,
153 CompositionPanelModule,
154 SdcUiComponentsModule,
155 AutomatedUpgradeModule,
157 // We need to import them here since we use them in angular1
158 ConnectionWizardModule,
159 PropertiesAssignmentModule,
160 AttributesOutputsModule,
161 PropertyCreatorModule,
168 InterfaceOperationModule,
169 InterfaceDefinitionModule,
170 OperationCreatorModule,
171 OperationCreatorInterfaceDefinitionModule,
172 InterfaceOperationHandlerModule,
173 ServicePathCreatorModule,
174 ServicePathsListModule,
175 ServicePathSelectorModule,
176 ServiceConsumptionCreatorModule,
177 ServiceDependenciesModule,
178 ServiceDependenciesEditorModule,
184 NgxsModule.forRoot([]),
185 NgxsLoggerPluginModule.forRoot({logger: console, collapsed: false}),
186 NgxsReduxDevtoolsPluginModule.forRoot({
187 disabled: __ENV__ === 'prod'
194 httpInterceptorProviders,
195 DataTypesServiceProvider,
199 ArtifactConfigService,
200 ComponentFactoryProvider,
201 CookieServiceProvider,
203 StateParamsServiceFactory,
205 NotificationServiceProvider,
206 ModalsHandlerProvider,
211 ComponentServiceFactoryNg2,
217 ToscaArtifactService,
219 AutomatedUpgradeService,
221 ToscaTypesServiceNg2,
222 WorkspaceNg1BridgeService,
224 AuthenticationService,
228 DynamicComponentService,
231 ComponentInstanceServiceNg2,
232 EventListenerService,
233 TranslationServiceConfig,
240 provide: APP_INITIALIZER,
241 useFactory: configServiceFactory,
242 deps: [ConfigService, AuthenticationService, EventListenerService],
246 bootstrap: [AppComponent]
249 export class AppModule {
250 constructor(public upgrade: UpgradeModule) {