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 2020/07/17 23:00:56 UTC
[incubator-streampipes] 03/04: [STREAMPIPES-145] Fix bug in mapping
property selection
This is an automated email from the ASF dual-hosted git repository.
riemer pushed a commit to branch STREAMPIPES-145
in repository https://gitbox.apache.org/repos/asf/incubator-streampipes.git
commit cb60a2ea80caf695e8357407fe48d998617bd2c6
Author: Dominik Riemer <ri...@fzi.de>
AuthorDate: Fri Jul 17 23:32:18 2020 +0200
[STREAMPIPES-145] Fix bug in mapping property selection
---
.../static-mapping-nary.component.ts | 14 --------------
.../static-mapping/static-mapping.ts | 21 +++++++++++++++++++--
2 files changed, 19 insertions(+), 16 deletions(-)
diff --git a/ui/src/app/connect/static-properties/static-mapping-nary/static-mapping-nary.component.ts b/ui/src/app/connect/static-properties/static-mapping-nary/static-mapping-nary.component.ts
index 40e2257..7f2d4b3 100644
--- a/ui/src/app/connect/static-properties/static-mapping-nary/static-mapping-nary.component.ts
+++ b/ui/src/app/connect/static-properties/static-mapping-nary/static-mapping-nary.component.ts
@@ -32,8 +32,6 @@ export class StaticMappingNaryComponent extends StaticMappingComponent<MappingPr
@Output() inputEmitter: EventEmitter<Boolean> = new EventEmitter<Boolean>();
- private inputValue: String;
- private hasInput: Boolean;
availableProperties: Array<any>;
constructor(staticPropertyUtil: StaticPropertyUtilService,
@@ -75,18 +73,6 @@ export class StaticMappingNaryComponent extends StaticMappingComponent<MappingPr
return this.firstStreamPropertySelector + property.runtimeName;
}
- valueChange(inputValue) {
- this.inputValue = inputValue;
- if (inputValue == "" || !inputValue) {
- this.hasInput = false;
- }
- else {
- this.hasInput = true;
- }
-
- this.inputEmitter.emit(this.hasInput);
- }
-
selectAll() {
this.selectNone();
this.availableProperties.forEach(ep => {
diff --git a/ui/src/app/connect/static-properties/static-mapping/static-mapping.ts b/ui/src/app/connect/static-properties/static-mapping/static-mapping.ts
index d4dcb65..6ccdbcc 100644
--- a/ui/src/app/connect/static-properties/static-mapping/static-mapping.ts
+++ b/ui/src/app/connect/static-properties/static-mapping/static-mapping.ts
@@ -18,7 +18,11 @@
import {StaticPropertyUtilService} from "../static-property-util.service";
import {PropertySelectorService} from "../../../services/property-selector.service";
-import {EventProperty, MappingProperty} from "../../../core-model/gen/streampipes-model";
+import {
+ EventProperty, EventPropertyList, EventPropertyNested, EventPropertyPrimitive,
+ EventPropertyUnion,
+ MappingProperty
+} from "../../../core-model/gen/streampipes-model";
import {AbstractValidatedStaticPropertyRenderer} from "../base/abstract-validated-static-property";
@@ -42,7 +46,10 @@ export abstract class StaticMappingComponent<T extends MappingProperty>
extractPossibleSelections(): Array<EventProperty> {
let properties: Array<EventProperty> = [];
this.eventSchemas.forEach(schema => {
- properties = properties.concat(schema.eventProperties.filter(ep => this.isInSelection(ep)));
+ properties = properties.concat(schema
+ .eventProperties
+ .filter(ep => this.isInSelection(ep))
+ .map(ep => this.cloneEp(ep)));
});
return properties;
}
@@ -52,4 +59,14 @@ export abstract class StaticMappingComponent<T extends MappingProperty>
.some(maps => (maps === this.firstStreamPropertySelector + ep.runtimeName)
|| maps === this.secondStreamPropertySelector + ep.runtimeName);
}
+
+ cloneEp(ep: EventPropertyUnion) {
+ if (ep instanceof EventPropertyPrimitive) {
+ return EventPropertyPrimitive.fromData(ep, new EventPropertyPrimitive());
+ } else if (ep instanceof EventPropertyList) {
+ return EventPropertyList.fromData(ep, new EventPropertyList());
+ } else {
+ return EventPropertyNested.fromData(ep, new EventPropertyNested());
+ }
+ }
}
\ No newline at end of file