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";
103 import { ModelService } from "./services/model.service";
104 import {ToscaArtifactService} from "./services/tosca-artifact.service";
105 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 InterfaceOperationHandlerModule,
163 ServicePathCreatorModule,
164 ServicePathsListModule,
165 ServicePathSelectorModule,
166 ServiceConsumptionCreatorModule,
167 ServiceDependenciesModule,
168 ServiceDependenciesEditorModule,
169 CapabilitiesFilterPropertiesEditorComponentModule,
174 NgxsModule.forRoot([]),
175 NgxsLoggerPluginModule.forRoot({logger: console, collapsed: false}),
176 NgxsReduxDevtoolsPluginModule.forRoot({
177 disabled: __ENV__ === 'prod'
184 httpInterceptorProviders,
185 DataTypesServiceProvider,
189 ArtifactConfigService,
190 ComponentFactoryProvider,
191 CookieServiceProvider,
193 StateParamsServiceFactory,
195 NotificationServiceProvider,
196 ModalsHandlerProvider,
201 ComponentServiceFactoryNg2,
207 ToscaArtifactService,
209 AutomatedUpgradeService,
211 ToscaTypesServiceNg2,
212 WorkspaceNg1BridgeService,
214 AuthenticationService,
218 DynamicComponentService,
221 ComponentInstanceServiceNg2,
222 EventListenerService,
223 TranslationServiceConfig,
230 provide: APP_INITIALIZER,
231 useFactory: configServiceFactory,
232 deps: [ConfigService, AuthenticationService, EventListenerService],
236 bootstrap: [AppComponent]
239 export class AppModule {
240 constructor(public upgrade: UpgradeModule) {