You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@streampipes.apache.org by ri...@apache.org on 2022/08/18 20:33:10 UTC
[incubator-streampipes] 04/15: [STREAMPIPES-577] Add check and warning message for bad readings
This is an automated email from the ASF dual-hosted git repository.
riemer pushed a commit to branch rel/0.70.0
in repository https://gitbox.apache.org/repos/asf/incubator-streampipes.git
commit 95e40b02d8900cb43f6746b8fdfa0dce25693108
Author: Dominik Riemer <do...@gmail.com>
AuthorDate: Tue Aug 16 15:03:10 2022 +0200
[STREAMPIPES-577] Add check and warning message for bad readings
---
.../event-schema/event-schema.component.html | 22 ++++++++++++----------
.../event-schema/event-schema.component.scss | 11 ++++++++++-
.../event-schema/event-schema.component.ts | 5 +++++
ui/src/app/core-model/base/UserErrorMessage.ts | 4 +++-
4 files changed, 30 insertions(+), 12 deletions(-)
diff --git a/ui/src/app/connect/components/new-adapter/schema-editor/event-schema/event-schema.component.html b/ui/src/app/connect/components/new-adapter/schema-editor/event-schema/event-schema.component.html
index 8344671e5..f7474a0e7 100644
--- a/ui/src/app/connect/components/new-adapter/schema-editor/event-schema/event-schema.component.html
+++ b/ui/src/app/connect/components/new-adapter/schema-editor/event-schema/event-schema.component.html
@@ -22,24 +22,26 @@
<div fxLayout="column"
fxFlex="100"
fxLayoutAlign="start center"
- [ngClass]="schemaErrorHints.length === 0 ? 'schema-validation schema-validation-ok' : 'schema-validation schema-validation-error'" *ngIf="!isLoading && !isError">
+ *ngIf="!isLoading && !isError && schemaErrorHints.length === 0" class="schema-validation schema-validation-ok">
<div fxFlex="100"
fxLayout="row"
fxLayoutAlign="start center"
- class="schema-validation-text-ok"
- *ngIf="schemaErrorHints.length === 0">
+ class="schema-validation-text-ok">
<i class="material-icons">check_circle</i> <b>Schema ok</b>
</div>
+ </div>
+
+ <div fxLayout="column" fxFlex="100" *ngIf="!isLoading && schemaErrorHints.length > 0">
<div fxFlex="100"
fxLayout="column"
- fxLayoutAlign="start center"
- *ngIf="schemaErrorHints.length > 0">
- <div fxFlex="100" fxLayout="row" fxLayoutAlign="center start" class="schema-validation-text-error">
- <i class="material-icons">warning</i>
- <b>{{schemaErrorHints[0].title}}</b>
+ [ngClass]="schemaErrorHint.level === 'error' ? 'schema-validation schema-validation-error' : 'schema-validation schema-validation-warning'"
+ fxLayoutAlign="start center" *ngFor="let schemaErrorHint of schemaErrorHints">
+ <div fxFlex="100" fxLayout="row" fxLayoutAlign="center start" [ngClass]="schemaErrorHint.level === 'error' ? 'schema-validation-text-error' : 'schema-validation-text-warning'">
+ <i class="material-icons">warning</i>
+ <b>{{schemaErrorHint.title}}</b>
</div>
- <div *ngFor="let errorMessage of schemaErrorHints">
- <span>{{errorMessage.content}}</span>
+ <div>
+ <span>{{schemaErrorHint.content}}</span>
</div>
</div>
</div>
diff --git a/ui/src/app/connect/components/new-adapter/schema-editor/event-schema/event-schema.component.scss b/ui/src/app/connect/components/new-adapter/schema-editor/event-schema/event-schema.component.scss
index 741fc7628..228a3ae77 100644
--- a/ui/src/app/connect/components/new-adapter/schema-editor/event-schema/event-schema.component.scss
+++ b/ui/src/app/connect/components/new-adapter/schema-editor/event-schema/event-schema.component.scss
@@ -179,8 +179,9 @@ opacity:0.5;
.schema-validation {
margin-bottom: 10px;
border: 2px solid var(--color-bg-3);
- padding: 8px;
+ padding: 10px;
min-height: 50px;
+ text-align: center;
}
.schema-validation-ok {
@@ -191,6 +192,10 @@ opacity:0.5;
border: 2px solid #963e3e;
}
+.schema-validation-warning {
+ border: 2px solid #d09836;
+}
+
.schema-validation-text-ok {
color: #629f62;
}
@@ -198,3 +203,7 @@ opacity:0.5;
.schema-validation-text-error {
color: #963e3e;
}
+
+.schema-validation-text-warning {
+ color: #d09836;
+}
diff --git a/ui/src/app/connect/components/new-adapter/schema-editor/event-schema/event-schema.component.ts b/ui/src/app/connect/components/new-adapter/schema-editor/event-schema/event-schema.component.ts
index d70a53048..d6e19e214 100644
--- a/ui/src/app/connect/components/new-adapter/schema-editor/event-schema/event-schema.component.ts
+++ b/ui/src/app/connect/components/new-adapter/schema-editor/event-schema/event-schema.component.ts
@@ -238,6 +238,11 @@ export class EventSchemaComponent implements OnChanges {
this.schemaErrorHints.push(new UserErrorMessage('Missing Timestamp', 'The timestamp must be a UNIX timestamp in milliseconds. Edit the timestamp field or add an ingestion timestamp.'));
}
+ const badFields = eventSchema.eventProperties.map(ep => this.fieldStatusInfo[ep.runtimeName]).find(field => field.fieldStatus !== 'GOOD');
+ if (badFields !== undefined) {
+ this.schemaErrorHints.push(new UserErrorMessage('Bad reading', 'At least one field could not be properly read. If this is a permanent problem, consider removing it - keeping this field might cause the adapter to fail or to omit sending events.', 'warning'));
+ }
+
return hasTimestamp;
}
}
diff --git a/ui/src/app/core-model/base/UserErrorMessage.ts b/ui/src/app/core-model/base/UserErrorMessage.ts
index 85322e0cb..2fc7f5c72 100644
--- a/ui/src/app/core-model/base/UserErrorMessage.ts
+++ b/ui/src/app/core-model/base/UserErrorMessage.ts
@@ -19,9 +19,11 @@
export class UserErrorMessage {
public title: string;
public content: string;
+ public level: string;
- constructor(title: string, content: string) {
+ constructor(title: string, content: string, level = 'error') {
this.title = title;
this.content = content;
+ this.level = level;
}
}