You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@streampipes.apache.org by ze...@apache.org on 2020/04/15 16:48:51 UTC

[incubator-streampipes] 01/02: Merge branch 'dev' into STREAMPIPES-79

This is an automated email from the ASF dual-hosted git repository.

zehnder pushed a commit to branch STREAMPIPES-79
in repository https://gitbox.apache.org/repos/asf/incubator-streampipes.git

commit 8ae8d1462d52485fbc9c5c1cbe077093225d4a40
Merge: 70401ab 172028f
Author: Philipp Zehnder <ze...@fzi.de>
AuthorDate: Wed Apr 15 15:50:17 2020 +0200

    Merge branch 'dev' into STREAMPIPES-79

 .../deployment/docker-compose.yml                  |  13 -
 .../archetype-resources/deployment/system          |  11 -
 .../src/main/resources/archetype-resources/pom.xml |  15 --
 .../deployment/docker-compose.yml                  |  13 -
 .../archetype-resources/deployment/system          |  11 -
 .../src/main/resources/archetype-resources/pom.xml |  20 +-
 .../src/main/java/config/Config.java               |  18 ++
 .../src/main/java/config/ConfigKeys.java           |  18 ++
 .../src/main/java/main/Init.java                   |  18 ++
 .../__packageName__/__classNamePrefix__.java       |  25 +-
 .../__classNamePrefix__Controller.java             |  20 +-
 .../__classNamePrefix__Parameters.java             |  18 ++
 .../deployment/docker-compose.yml                  |  13 -
 .../archetype-resources/deployment/system          |  11 -
 .../src/main/resources/archetype-resources/pom.xml |  15 --
 .../__classNamePrefix__Controller.java             |   2 -
 .../deployment/docker-compose.yml                  |  13 -
 .../archetype-resources/deployment/system          |  11 -
 .../src/main/resources/archetype-resources/pom.xml |  20 +-
 .../sink/__packageName__/__classNamePrefix__.java  |   7 +-
 .../__classNamePrefix__Controller.java             |   2 -
 .../src/main/resources/archetype-resources/pom.xml |  15 --
 pom.xml                                            |   7 +
 .../backend/StreamPipesResourceConfig.java         |  45 ++--
 streampipes-measurement-units/pom.xml              |  11 +
 .../streampipes/units/test/TestUnitProvider.java   |  34 +++
 .../test/java/org/streampipes/units/test/Test.java |  54 ----
 .../java/org/streampipes/units/test/Test2.java     |  49 ----
 .../messaging/jms/ActiveMQPublisher.java           |   6 -
 streampipes-messaging-mqtt/pom.xml                 |  46 ++++
 .../messaging/mqtt/AbstractMqttConnector.java      |  41 +++
 .../streampipes/messaging/mqtt/MqttConsumer.java   |  62 +++++
 .../streampipes/messaging/mqtt/MqttPublisher.java  |  69 ++++++
 .../streampipes/messaging/mqtt/SpMqttProtocol.java |  43 ++++
 .../messaging/mqtt/SpMqttProtocolFactory.java      |  40 +++
 .../org/apache/streampipes/model/Notification.java |  18 ++
 .../streampipes/model/NotificationCount.java       |  37 +++
 .../model/base/InvocableStreamPipesEntity.java     |  12 +
 .../model/grounding/MqttTransportProtocol.java     |  61 +++++
 .../model/grounding/TransportProtocol.java         |   4 +-
 .../manager/setup/CouchDbInstallationStep.java     |  31 ++-
 .../rest/api/IMeasurementUnitResource.java         |  24 ++
 .../apache/streampipes/rest/api/INotification.java |   4 +-
 .../apache/streampipes/rest/impl/ConsulConfig.java |   5 +-
 .../rest/impl/MeasurementUnitResource.java         |  41 +++
 .../apache/streampipes/rest/impl/Notification.java |  16 +-
 .../rest/notifications/NotificationListener.java   |   2 +-
 .../jsonld/CustomAnnotationProvider.java           |   4 +-
 .../storage/api/INotificationStorage.java          |   5 +-
 .../couchdb/impl/NotificationStorageImpl.java      |  48 +++-
 .../apache/streampipes/vocabulary/StreamPipes.java |   3 +
 .../wrapper/context/RuntimeContext.java            |   2 +
 .../context/SpEventProcessorRuntimeContext.java    |   9 +-
 .../wrapper/context/SpEventSinkRuntimeContext.java |   6 +-
 .../wrapper/context/SpRuntimeContext.java          |  11 +-
 .../runtime/EventProcessorRuntimeParams.java       |   3 +-
 .../params/runtime/EventSinkRuntimeParams.java     |   3 +-
 ui/deployment/app.module.mst                       |   2 -
 ui/deployment/appng5.module.mst                    |   4 +
 ui/deployment/state.config.mst                     |   3 +-
 ui/deployment/toolbar.controller.mst               |  53 ++--
 ui/package.json                                    |   2 +
 .../app-asset-monitoring.component.html            |   2 +-
 .../app-asset-monitoring.component.ts              |   1 +
 .../app-asset-monitoring.module.ts                 |  11 +
 .../create-asset/create-asset.component.ts         |   8 +-
 .../services/websocket.service.ts                  |  19 +-
 ui/src/app/connect/model/DataStreamDescription.ts  |   2 +-
 .../connect/new-adapter/new-adapter.component.ts   | 186 +++++++-------
 .../event-schema/event-schema.component.ts         |   3 +
 .../app/connect/schema-editor/model/EventSchema.ts |  14 +-
 .../static-color-picker.component.ts               |   1 +
 .../static-mapping-nary.component.html             |  13 +-
 ...nent.css => static-mapping-nary.component.scss} |   1 +
 .../static-mapping-nary.component.ts               |  43 +++-
 .../static-mapping-unary.component.ts              |   9 +
 .../static-one-of-input.component.html             |   2 +-
 .../static-one-of-input.component.ts               |  18 +-
 .../core-model/measurement-unit/MeasurementUnit.ts |  30 +++
 .../label-selection/label-selection.component.css} |   4 +-
 .../label-selection.component.html}                |  22 +-
 .../label-selection/label-selection.component.ts   |  61 +++++
 .../point-selection-info.component.css}            |   4 +-
 .../point-selection-info.component.html}           |  19 +-
 .../point-selection-info.component.ts}             |  48 ++--
 .../change-chartmode/change-chartmode.dialog.css}  |  16 +-
 .../change-chartmode/change-chartmode.dialog.html} |  17 +-
 .../change-chartmode/change-chartmode.dialog.ts}   |  33 ++-
 .../dialogs/labeling/labeling.dialog.css}          |  30 +--
 .../dialogs/labeling/labeling.dialog.html          |  36 +++
 .../dialogs/labeling/labeling.dialog.ts            |  52 ++++
 .../labeling-tool/labeling-tool.module.ts          |  90 +++++++
 .../labeling-tool/services/color.service.ts}       |  41 ++-
 ui/src/app/core/working.state.config.ts            |   2 +-
 .../components/grid/dashboard-grid.component.css   |   6 +
 .../components/panel/dashboard-panel.component.css |   6 +
 .../panel/dashboard-panel.component.html           |   6 +-
 .../widgets/area/area-widget.component.ts          |   5 +-
 .../components/widgets/base/base-config.ts         |   8 +
 .../widgets/base/base-ngx-charts-widget.ts         |   5 +-
 .../widgets/base/base-ngx-line-charts-widget.ts    |   5 +-
 .../components/widgets/base/base-widget.ts         |   2 +
 .../widgets/gauge/gauge-widget.component.ts        |   5 +-
 .../widgets/html/html-widget.component.ts          |   5 +-
 .../widgets/image/image-widget.component.ts        |   5 +-
 .../widgets/line/line-widget.component.ts          |   5 +-
 .../dashboard/components/widgets/map/map-config.ts |   2 +-
 .../components/widgets/map/map-widget.component.ts |   5 +-
 .../components/widgets/number/number-config.ts     |   2 +-
 .../widgets/number/number-widget.component.css     |  13 +
 .../widgets/number/number-widget.component.html    |  11 +-
 .../widgets/number/number-widget.component.ts      |  22 +-
 .../components/widgets/raw/raw-widget.component.ts |   5 +-
 .../components/widgets/table/table-config.ts       |   3 +-
 .../widgets/table/table-widget.component.ts        |   5 +-
 .../widgets/trafficlight/traffic-light-config.ts   |   4 +-
 .../trafficlight/traffic-light-widget.component.ts |   5 +-
 ui/src/app/dashboard/dashboard.component.css       |   9 +
 ui/src/app/dashboard/dashboard.component.html      |   2 +-
 .../add-visualization-dialog.component.html        |   6 +-
 ...css => add-visualization-dialog.component.scss} |   0
 .../add-visualization-dialog.component.ts          |  31 ++-
 .../dashboard/registry/widget-config-builder.ts    |  12 +-
 ui/src/app/dashboard/registry/widget-registry.ts   |  12 +
 .../sdk/extractor/static-property-extractor.ts     |  15 +-
 ui/src/app/dashboard/sdk/matching/schema-match.ts  |  30 +++
 ui/src/app/dashboard/services/dashboard.service.ts |  12 +-
 .../linechart/lineChart.component.html             |   8 +-
 .../linechart/lineChart.component.ts               | 276 ++++++++++++++++++++-
 ui/src/app/data-explorer/data-explorer.module.ts   |  81 +++---
 .../customize/customize-dialog.component.ts        |   3 +-
 .../customize/customize-dialog.tmpl.html           |  12 +-
 .../customoutput/customoutput.component.ts         |   3 +-
 .../components/customoutput/customoutput.tmpl.html |  21 +-
 .../property-selection.component.ts                |   3 +-
 .../propertyselection/property-selection.tmpl.html |   3 +-
 .../domainconcept/domainconcept.controller.ts      |   4 +-
 .../components/fileupload/fileupload.component.ts  |   3 +-
 .../components/fileupload/fileupload.tmpl.html     |   8 +-
 .../mappingnary/mappingnary.component.ts           |   3 +-
 .../components/mappingnary/mappingnary.tmpl.html   |   6 +-
 .../mappingunary/mappingunary.component.ts         |   1 +
 .../mappingunary/mappingunary.controller.ts        |   8 +-
 .../components/mappingunary/mappingunary.tmpl.html |   5 +-
 .../editor/components/oneof/oneof.controller.ts    |   5 +
 .../pipeline-element-icon-stand.component.ts       |   3 +-
 .../pipeline-element-icon-stand.controller.ts      |  10 +-
 .../pipeline-element-icon-stand.tmpl.html          |   4 +-
 .../pipeline-element-options.controller.ts         |   3 +-
 .../pipeline-element-options.tmpl.html             |   2 +-
 .../components/pipeline/pipeline.controller.ts     |   2 +-
 .../replaceoutput/replaceoutput.component.ts       |   3 +-
 .../replaceoutput/replaceoutput.tmpl.html          |   2 +-
 .../editor/components/secret/secret.controller.ts  |   4 +
 .../customize.controller.ts                        |   9 +-
 .../customizeElementDialog.tmpl.html               |  22 +-
 ui/src/app/editor/editor.controller.ts             |  29 ++-
 ui/src/app/editor/editor.html                      |   4 +-
 .../services/editor-dialog-manager.service.ts      |   5 +-
 ui/src/app/layout/layout.module.ts                 |   1 +
 .../components/notification-item.component.html    |  28 +++
 .../components/notification-item.component.scss    |  55 ++++
 .../components/notification-item.component.ts      |  39 +++
 .../app/notifications/model/notifications.model.ts |  39 +++
 .../app/notifications/notifications.component.html |  69 ++++++
 .../app/notifications/notifications.component.scss | 123 +++++++++
 .../app/notifications/notifications.component.ts   | 177 +++++++++++++
 .../app/notifications/notifications.controller.ts  |  65 -----
 ui/src/app/notifications/notifications.html        |  72 ------
 ui/src/app/notifications/notifications.module.ts   |  54 +++-
 .../notifications/service/notifications.service.ts |  63 +++++
 .../app/notifications/utils/notifications.utils.ts |  30 +++
 ui/src/app/platform-services/tsonld/tsonld.ts      |  55 ++--
 ui/src/app/services/notification-count-service.ts  |  66 +++++
 ui/src/app/services/rest-api.service.ts            |   4 +
 ui/src/app/services/services.module.ts             |   2 +
 ui/src/assets/templates/iconbar.html               |  16 +-
 ui/src/assets/templates/navbar.html                |   2 +-
 ui/src/assets/templates/streampipes.html           |  10 +-
 ui/src/index.html                                  |   2 +-
 ui/src/scss/sp/buttons.scss                        |   6 +
 ui/src/scss/sp/main.scss                           |   2 +-
 182 files changed, 2910 insertions(+), 961 deletions(-)

diff --cc streampipes-backend/src/main/java/org/apache/streampipes/backend/StreamPipesResourceConfig.java
index a783813,b8bf526..e5b4868
--- a/streampipes-backend/src/main/java/org/apache/streampipes/backend/StreamPipesResourceConfig.java
+++ b/streampipes-backend/src/main/java/org/apache/streampipes/backend/StreamPipesResourceConfig.java
@@@ -97,32 -114,12 +116,21 @@@ public class StreamPipesResourceConfig 
      register(SemanticEventProcessingAgent.class);
      register(SemanticEventProducer.class);
      register(Setup.class);
-     register(VirtualSensor.class);
-     register(Visualization.class);
-     register(RdfEndpoint.class);
-     register(ApplicationLink.class);
-     register(User.class);
-     register(ConsulConfig.class);
-     register(DataStream.class);
-     register(ContainerProvidedOptions.class);
      register(StreamPipesLogs.class);
-     register(PipelineTemplate.class);
-     register(Couchdb.class);
-     register(InternalPipelineTemplates.class);
-     register(PipelineElementRuntimeInfo.class);
+     register(User.class);
      register(Version.class);
 +    register(PipelineElementAsset.class);
 +    register(DataLakeDashboard.class);
 +    register(DataLakeWidgetResource.class);
 +    register(DataLakeResourceV3.class);
 +    register(DataLakeNoUserResourceV3.class);
 +    register(PipelineElementFile.class);
 +    register(FileServingResource.class);
 +    register(DashboardWidget.class);
 +    register(Dashboard.class);
+     register(VirtualSensor.class);
+     register(Visualization.class);
      register(VisualizablePipeline.class);
-     register(PipelineCache.class);
- 
  
      // Serializers
      register(GsonWithIdProvider.class);
diff --cc streampipes-vocabulary/src/main/java/org/apache/streampipes/vocabulary/StreamPipes.java
index 58980d1,9970a6b..054ab0e
--- a/streampipes-vocabulary/src/main/java/org/apache/streampipes/vocabulary/StreamPipes.java
+++ b/streampipes-vocabulary/src/main/java/org/apache/streampipes/vocabulary/StreamPipes.java
@@@ -377,13 -378,7 +379,14 @@@ public class StreamPipes 
    public static final String DASHBOARD_WIDGET_DATA_CONFIG = NS + "DashboardWidgetDataConfig" ;
    public static final String COLOR_PICKER_STATIC_PROPERTY = NS + "ColorPickerStaticProperty";
    public static final String SELECTED_COLOR = NS + "hasSelectedColor";
 +
 +  public static final String DATA_EXPLORER_WIDGET_MODEL = NS + "DataExplorerWidgetModel";
 +  public static final String DATA_LAKE_MEASURE = NS + "DataLakeMeasure";
 +  public static final String HAS_DATA_LAKE_MEASURE = NS + "hasDataLakeMeasure";
 +  public static final String HAS_MEASUREMENT_NAME = NS + "hasMeasurementName";
 +  public static final String HAS_EVENT_SCHEMA = NS + "hasEventSchema";
    public static final String HAS_WIDGET_ICON_NAME = NS + "hasWidgetIconName";
    public static final String HAS_WIDGET_DESCRIPTION = NS + "hasWidgetDescription";
 +  public static final String HAS_SELECTED_KEYS = NS + "hasSelectedKeys";
+   public static final String CORRESPONDING_USER = NS + "hasCorrespondingUser";
  }
diff --cc ui/package.json
index abd79c3,91234fd..610daf1
--- a/ui/package.json
+++ b/ui/package.json
@@@ -98,9 -98,9 +98,11 @@@
      "shepherd.js": "2.4.0",
      "slick-carousel": "1.6.0",
      "systemjs": "^0.21.6",
+     "tslib": "^1.10.0",
+     "ng-pick-datetime": "^7.0.0",
      "trix": "0.10.1",
 +    "tslib": "^1.11.1",
 +    "ng-pick-datetime": "^7.0.0",
      "zone.js": "~0.10.2"
    },
    "devDependencies": {
diff --cc ui/src/app/dashboard/dialogs/add-widget/add-visualization-dialog.component.ts
index b022565,a142d61..0b9ed79
--- a/ui/src/app/dashboard/dialogs/add-widget/add-visualization-dialog.component.ts
+++ b/ui/src/app/dashboard/dialogs/add-widget/add-visualization-dialog.component.ts
@@@ -16,20 -16,23 +16,22 @@@
   *
   */
  
 -import {Component, Inject} from "@angular/core";
 -import {MAT_DIALOG_DATA, MatDialogRef} from "@angular/material/dialog";
 -import {DashboardService} from "../../services/dashboard.service";
 -import {ElementIconText} from "../../../services/get-element-icon-text.service";
 -import {WidgetRegistry} from "../../registry/widget-registry";
 -import {MappingPropertyUnary} from "../../../connect/model/MappingPropertyUnary";
 -import {MappingPropertyGenerator} from "../../sdk/matching/mapping-property-generator";
 -import {EventProperty} from "../../../connect/schema-editor/model/EventProperty";
 -import {EventSchema} from "../../../connect/schema-editor/model/EventSchema";
 -import {DashboardWidget} from "../../../core-model/dashboard/DashboardWidget";
 -import {DashboardWidgetSettings} from "../../../core-model/dashboard/DashboardWidgetSettings";
 -import {VisualizablePipeline} from "../../../core-model/dashboard/VisualizablePipeline";
 -import {Dashboard} from "../../models/dashboard.model";
 -import {MappingPropertyNary} from "../../../connect/model/MappingPropertyNary";
 -import {ConfigurationInfo} from "../../../connect/model/message/ConfigurationInfo";
 -import {FreeTextStaticProperty} from "../../../connect/model/FreeTextStaticProperty";
 -import {WidgetConfigBuilder} from "../../registry/widget-config-builder";
 +import { Component, Inject } from '@angular/core';
 +import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
++import { FreeTextStaticProperty } from '../../../connect/model/FreeTextStaticProperty';
 +import { MappingPropertyNary } from '../../../connect/model/MappingPropertyNary';
 +import { MappingPropertyUnary } from '../../../connect/model/MappingPropertyUnary';
 +import { EventProperty } from '../../../connect/schema-editor/model/EventProperty';
 +import { EventSchema } from '../../../connect/schema-editor/model/EventSchema';
 +import { DashboardWidget } from '../../../core-model/dashboard/DashboardWidget';
 +import { DashboardWidgetSettings } from '../../../core-model/dashboard/DashboardWidgetSettings';
 +import { VisualizablePipeline } from '../../../core-model/dashboard/VisualizablePipeline';
 +import { ElementIconText } from '../../../services/get-element-icon-text.service';
 +import { Dashboard } from '../../models/dashboard.model';
++import { WidgetConfigBuilder } from '../../registry/widget-config-builder';
 +import { WidgetRegistry } from '../../registry/widget-registry';
 +import { MappingPropertyGenerator } from '../../sdk/matching/mapping-property-generator';
 +import { DashboardService } from '../../services/dashboard.service';
  
  @Component({
      selector: 'add-visualization-dialog-component',
@@@ -61,9 -64,11 +63,11 @@@ export class AddVisualizationDialogComp
      dashboard: Dashboard;
  
      selectedType: any;
 -    page: any = "select-pipeline";
 +    page: any = 'select-pipeline';
      dialogTitle: string;
  
+     configValid: boolean;
+ 
  
      constructor(
          public dialogRef: MatDialogRef<AddVisualizationDialogComponent>,
@@@ -83,15 -88,10 +87,10 @@@
                          this.visualizablePipelines.push(vis);
                          this.sortPipeline();
                      });
--                })
-             });
- 
-             this.availableWidgets = WidgetRegistry.getAvailableWidgetTemplates()
-             this.availableWidgets.sort((a, b) => {
-                 return a.widgetLabel < b.widgetLabel ? -1 : 1;
++                });
              });
          } else {
--            this.dialogTitle = "Edit widget";
++            this.dialogTitle = 'Edit widget';
              this.selectedPipeline = this.data.pipeline;
              this.selectedWidget = this.data.widget.dashboardWidgetSettings;
              this.page = 'configure-widget';
@@@ -125,8 -125,8 +124,7 @@@
      }
  
      getTabCss(page) {
-         if (page == this.page) { return 'md-fab md-accent'; }
-         else { return 'md-fab md-accent wizard-inactive'; }
 -        if (page == this.page) return "md-fab md-accent";
 -        else return "md-fab md-accent wizard-inactive";
++        if (page == this.page) { return 'md-fab md-accent'; } else { return 'md-fab md-accent wizard-inactive'; }
      }
  
      selectPipeline(vis) {
@@@ -138,9 -138,12 +136,12 @@@
          this.selectedWidget = widget;
          this.selectedWidget.config.forEach(sp => {
              if (sp instanceof MappingPropertyUnary || sp instanceof MappingPropertyNary) {
 -                let requirement: EventProperty = this.findRequirement(this.selectedWidget.requiredSchema, sp.internalName);
 +                const requirement: EventProperty = this.findRequirement(this.selectedWidget.requiredSchema, sp.internalName);
                  sp.mapsFromOptions = new MappingPropertyGenerator(requirement, this.selectedPipeline.schema.eventProperties).computeMatchingProperties();
              }
+             if (sp instanceof FreeTextStaticProperty && sp.internalName === WidgetConfigBuilder.TITLE_KEY) {
+                 sp.value = this.selectedPipeline.visualizationName;
+             }
          });
          this.next();
      }
@@@ -184,4 -191,10 +189,10 @@@
          return this.elementIconText.getElementIconText(s);
      }
  
+     validConfiguration(valid: boolean) {
+         setTimeout(() => {
+             this.configValid = this.selectedWidget.config.every(sp => sp.isValid);
+         });
+     }
+ 
 -}
 +}
diff --cc ui/src/app/data-explorer-v2/components/widgets/old-explorer-widget/explorer-visualisations/linechart/lineChart.component.ts
index ee949b3,3f3f015..1a8bc3e
--- a/ui/src/app/data-explorer-v2/components/widgets/old-explorer-widget/explorer-visualisations/linechart/lineChart.component.ts
+++ b/ui/src/app/data-explorer-v2/components/widgets/old-explorer-widget/explorer-visualisations/linechart/lineChart.component.ts
@@@ -16,10 -16,15 +16,13 @@@
   *
   */
  
- import { Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core';
- import { DataResult } from '../../../../core-model/datalake/DataResult';
- import { GroupedDataResult } from '../../../../core-model/datalake/GroupedDataResult';
+ import { Component, EventEmitter, OnChanges, Output, Renderer2, SimpleChanges } from '@angular/core';
+ import { MatDialog } from '@angular/material/dialog';
+ import { PlotlyService } from 'angular-plotly.js';
 -import { DataResult } from '../../core-model/datalake/DataResult';
 -import { GroupedDataResult } from '../../core-model/datalake/GroupedDataResult';
 -import { BaseChartComponent } from '../chart/baseChart.component';
 -import { ChangeChartmodeDialog } from './labeling-tool/dialogs/change-chartmode/change-chartmode.dialog';
 -import { LabelingDialog } from './labeling-tool/dialogs/labeling/labeling.dialog';
 -import { ColorService } from './labeling-tool/services/color.service';
++import { DataResult } from '../../../../../../core-model/datalake/DataResult';
++import { GroupedDataResult } from '../../../../../../core-model/datalake/GroupedDataResult';
++import { ColorService } from '../../../../../../core-ui/linechart/labeling-tool/services/color.service';
 +import { BaseVisualisationComponent } from '../base/baseVisualisation.component';
  
  
  @Component({
diff --cc ui/src/app/data-explorer/data-explorer.module.ts
index 0a6d6a5,0096d53..ae4eb74
--- a/ui/src/app/data-explorer/data-explorer.module.ts
+++ b/ui/src/app/data-explorer/data-explorer.module.ts
@@@ -26,25 -26,26 +26,25 @@@ import { CdkTableModule } from '@angula
  import { FormsModule, ReactiveFormsModule } from '@angular/forms';
  import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
  import { MatSnackBarModule } from '@angular/material/snack-bar';
+ import {
+     OWL_DATE_TIME_FORMATS,
+     OwlDateTimeModule,
+     OwlNativeDateTimeModule
+ } from '@danielmoncada/angular-datetime-picker';
  import { DatalakeRestService } from '../core-services/datalake/datalake-rest.service';
  import { CoreUiModule } from '../core-ui/core-ui.module';
+ import { LabelingToolModule } from '../core-ui/linechart/labeling-tool/labeling-tool.module';
  import { CustomMaterialModule } from '../CustomMaterial/custom-material.module';
- import { DataDownloadDialog } from './explorer-widget/datadownloadDialog/dataDownload.dialog';
 -import { DataDownloadDialog } from './explorer/datadownloadDialog/dataDownload.dialog';
 -import { ExplorerComponent } from './explorer/explorer.component';
 -
 +import { ExplorerComponent } from './explorer-widget/explorer.component';
- 
- import { OWL_DATE_TIME_FORMATS, OwlDateTimeModule, OwlNativeDateTimeModule } from '@danielmoncada/angular-datetime-picker';
- import { PlotlyViaWindowModule } from 'angular-plotly.js';
- import { LineChartComponent } from './explorer-widget/explorer-visualisations/linechart/lineChart.component';
- import { TableComponent } from './explorer-widget/explorer-visualisations/table/table.component';
- import { TimeRangeSelectorComponent } from './time-selector/timeRangeSelector.component';
++import { DataDownloadDialog } from './explorer-widget/datadownloadDialog/dataDownload.dialog';
  
  export const MY_NATIVE_FORMATS = {
 -    fullPickerInput: {year: 'numeric', month: 'numeric', day: 'numeric', hour: 'numeric', minute: 'numeric', hour12: false},
 -    datePickerInput: {year: 'numeric', month: 'numeric', day: 'numeric', hour12: false},
 -    timePickerInput: {hour: 'numeric', minute: 'numeric', hour12: false},
 -    monthYearLabel: {year: 'numeric', month: 'short', hour12: false},
 -    dateA11yLabel: {year: 'numeric', month: 'long', day: 'numeric', hour12: false},
 -    monthYearA11yLabel: {year: 'numeric', month: 'long', hour12: false},
 +  fullPickerInput: {year: 'numeric', month: 'numeric', day: 'numeric', hour: 'numeric', minute: 'numeric', hour12: false},
 +  datePickerInput: {year: 'numeric', month: 'numeric', day: 'numeric', hour12: false},
 +  timePickerInput: {hour: 'numeric', minute: 'numeric', hour12: false},
 +  monthYearLabel: {year: 'numeric', month: 'short', hour12: false},
 +  dateA11yLabel: {year: 'numeric', month: 'long', day: 'numeric', hour12: false},
 +  monthYearA11yLabel: {year: 'numeric', month: 'long', hour12: false},
  };
  
  @NgModule({