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 {OperationCreatorInterfaceDefinitionModule} from './pages/interface-definition/operation-creator/operation-creator-interface-definition.module';
49 import {LayoutModule} from './components/layout/layout.module';
50 import {UserService} from './services/user.service';
51 import {DynamicComponentService} from './services/dynamic-component.service';
52 import {SdcConfig} from './config/sdc-config.config';
53 import {SdcMenu} from './config/sdc-menu.config';
54 import {TranslateModule} from './shared/translator/translate.module';
55 import {TranslationServiceConfig} from './config/translation.service.config';
56 import {MultilineEllipsisModule} from './shared/multiline-ellipsis/multiline-ellipsis.module';
57 import {ServicePathCreatorModule} from './pages/composition/graph/service-path-creator/service-path-creator.module';
58 import {ServicePathsListModule} from './pages/composition/graph/service-paths-list/service-paths-list.module';
59 import { ServicePathSelectorModule } from 'app/ng2/pages/composition/graph/service-path-selector/service-path-selector.module';
60 import { CompositionPanelModule } from 'app/ng2/pages/composition/panel/composition-panel.module';
61 import {CatalogModule} from './pages/catalog/catalog.module';
62 import {HomeModule} from './pages/home/home.module';
63 import {WindowRef} from './services/window.service';
64 import {CatalogService} from './services/catalog.service';
65 import { ModalsHandlerProvider } from './utils/ng1-upgraded-provider';
66 import {PluginFrameModule} from './components/ui/plugin/plugin-frame.module';
67 import {PluginsService} from './services/plugins.service';
68 import {EventBusService} from './services/event-bus.service';
69 import {GroupsService} from './services/groups.service';
70 import {PoliciesService} from './services/policies.service';
71 import {AutomatedUpgradeService} from './pages/automated-upgrade/automated-upgrade.service';
72 import {AutomatedUpgradeModule} from './pages/automated-upgrade/automated-upgrade.module';
73 import {WorkspaceModule} from './pages/workspace/workspace.module';
74 import {ModalsModule} from './components/modals/modals.module';
75 import { SharingService, CacheService, HomeService } from 'app/services-ng2';
76 import {ArtifactConfigService} from "./services/artifact-config.service";
77 import {IUserProperties} from 'app/models';
78 import {PluginsModule} from './pages/plugins/plugins-module';
79 import {WorkspaceNg1BridgeService} from './pages/workspace/workspace-ng1-bridge-service';
80 import {NgxsModule} from '@ngxs/store';
81 import {NgxsLoggerPluginModule} from '@ngxs/logger-plugin';
82 import {NgxsReduxDevtoolsPluginModule} from '@ngxs/devtools-plugin';
83 import {EventListenerService} from '../services/event-listener-service';
84 import {HttpClientModule} from '@angular/common/http';
85 import {httpInterceptorProviders} from './http-interceptor';
86 import {HttpHelperService} from './services/http-hepler.service';
87 import {ModulesService} from "./services/modules.service";
88 import {TranslateService} from 'app/ng2/shared/translator/translate.service';
89 import {FileUtilsService} from './services/file-utils.service';
90 import {ImportVSPService} from './components/modals/onboarding-modal/import-vsp.service';
91 import {OnboardingService} from './services/onboarding.service';
92 import {ServiceConsumptionCreatorModule} from './pages/service-consumption-editor/service-consumption-editor.module';
93 import {ServiceDependenciesModule} from './components/logic/service-dependencies/service-dependencies.module';
94 import {ServiceDependenciesEditorModule} from './pages/service-dependencies-editor/service-dependencies-editor.module';
95 import {PropertyCreatorModule} from './pages/properties-assignment/property-creator/property-creator.module';
96 import {DeclareListModule} from './pages/properties-assignment/declare-list/declare-list.module';
97 import { InputListModule } from "./pages/properties-assignment/input-list/input-list.module";
98 import {WorkflowServiceNg2} from './services/workflow.service';
99 import {ToscaTypesServiceNg2} from "./services/tosca-types.service";
100 import {CapabilitiesFilterPropertiesEditorComponentModule} from "./pages/composition/capabilities-filter-properties-editor/capabilities-filter-properties-editor.module";
101 import {InterfaceOperationHandlerModule} from "./pages/composition/interface-operatons/operation-creator/interface-operation-handler.module";
102 import {AttributesOutputsModule} from "./pages/attributes-outputs/attributes-outputs.module";
103 import { ElementService } from "./services/element.service";
104 import { ModelService } from "./services/model.service";
105 import {ToscaArtifactService} from "./services/tosca-artifact.service";
106 import {InterfaceDefinitionModule} from "./pages/interface-definition/interface-definition.module";
108 declare const __ENV__: string;
110 export const upgradeAdapter = new UpgradeAdapter(forwardRef(() => AppModule));
112 export function configServiceFactory(config: ConfigService, authService: AuthenticationService, eventListener: EventListenerService) {
115 return authService.authenticate().toPromise()
116 .then((userInfo: IUserProperties) => {
117 authService.setLoggedinUser(userInfo);
119 config.loadSdcSetupData(),
120 config.loadValidationConfiguration(),
121 config.loadPluginsConfiguration(),
124 eventListener.notifyObservers('ON_FINISH_LOADING');
127 console.log('AUTH FAILED! from app module');
137 BrowserAnimationsModule,
144 MultilineEllipsisModule,
146 CompositionPanelModule,
147 SdcUiComponentsModule,
148 AutomatedUpgradeModule,
150 // We need to import them here since we use them in angular1
151 ConnectionWizardModule,
152 PropertiesAssignmentModule,
153 AttributesOutputsModule,
154 PropertyCreatorModule,
159 InterfaceOperationModule,
160 InterfaceDefinitionModule,
161 OperationCreatorModule,
162 OperationCreatorInterfaceDefinitionModule,
163 InterfaceOperationHandlerModule,
164 ServicePathCreatorModule,
165 ServicePathsListModule,
166 ServicePathSelectorModule,
167 ServiceConsumptionCreatorModule,
168 ServiceDependenciesModule,
169 ServiceDependenciesEditorModule,
170 CapabilitiesFilterPropertiesEditorComponentModule,
175 NgxsModule.forRoot([]),
176 NgxsLoggerPluginModule.forRoot({logger: console, collapsed: false}),
177 NgxsReduxDevtoolsPluginModule.forRoot({
178 disabled: __ENV__ === 'prod'
185 httpInterceptorProviders,
186 DataTypesServiceProvider,
190 ArtifactConfigService,
191 ComponentFactoryProvider,
192 CookieServiceProvider,
194 StateParamsServiceFactory,
196 NotificationServiceProvider,
197 ModalsHandlerProvider,
202 ComponentServiceFactoryNg2,
208 ToscaArtifactService,
210 AutomatedUpgradeService,
212 ToscaTypesServiceNg2,
213 WorkspaceNg1BridgeService,
215 AuthenticationService,
219 DynamicComponentService,
222 ComponentInstanceServiceNg2,
223 EventListenerService,
224 TranslationServiceConfig,
231 provide: APP_INITIALIZER,
232 useFactory: configServiceFactory,
233 deps: [ConfigService, AuthenticationService, EventListenerService],
237 bootstrap: [AppComponent]
240 export class AppModule {
241 constructor(public upgrade: UpgradeModule) {