From 5787f32579424eeeb81015db271f582e6e9d789c Mon Sep 17 00:00:00 2001
From: Philipp Zehnder <tenthe@users.noreply.github.com>
Date: Fri, 16 Aug 2024 21:31:09 +0200
Subject: [PATCH] feat(#3151): Remove add nested property button (#3152)

---
 .../schema/CreateNestedTransformationRule.java |  5 +++++
 .../schema/CreateNestedRuleDescription.java    |  5 +++++
 .../event-schema/event-schema.component.html   |  1 -
 .../event-schema/event-schema.component.ts     | 18 ------------------
 .../schema-editor-header.component.html        | 10 ----------
 .../schema-editor-header.component.ts          |  5 -----
 6 files changed, 10 insertions(+), 34 deletions(-)

diff --git a/streampipes-connect-shared/src/main/java/org/apache/streampipes/connect/shared/preprocessing/transform/schema/CreateNestedTransformationRule.java b/streampipes-connect-shared/src/main/java/org/apache/streampipes/connect/shared/preprocessing/transform/schema/CreateNestedTransformationRule.java
index 5d2e158b63..358c32130e 100644
--- a/streampipes-connect-shared/src/main/java/org/apache/streampipes/connect/shared/preprocessing/transform/schema/CreateNestedTransformationRule.java
+++ b/streampipes-connect-shared/src/main/java/org/apache/streampipes/connect/shared/preprocessing/transform/schema/CreateNestedTransformationRule.java
@@ -24,6 +24,11 @@
 import java.util.List;
 import java.util.Map;
 
+/**
+ * @deprecated The functionlality to add nested rules was removed in version 0.97.0 form the UI
+ * For the next release we can also remove the functionality from the backend
+ */
+@Deprecated(since = "0.97.0", forRemoval = true)
 public class CreateNestedTransformationRule extends SupportsNestedTransformationRule {
 
   private final List<String> key;
diff --git a/streampipes-model/src/main/java/org/apache/streampipes/model/connect/rules/schema/CreateNestedRuleDescription.java b/streampipes-model/src/main/java/org/apache/streampipes/model/connect/rules/schema/CreateNestedRuleDescription.java
index f03669a35d..3ed301f1e2 100644
--- a/streampipes-model/src/main/java/org/apache/streampipes/model/connect/rules/schema/CreateNestedRuleDescription.java
+++ b/streampipes-model/src/main/java/org/apache/streampipes/model/connect/rules/schema/CreateNestedRuleDescription.java
@@ -21,6 +21,11 @@
 import org.apache.streampipes.model.connect.rules.ITransformationRuleVisitor;
 import org.apache.streampipes.model.connect.rules.TransformationRulePriority;
 
+/**
+ * @deprecated The functionlality to add nested rules was removed in version 0.97.0 form the UI
+ * For the next release we can also remove the functionality from the backend
+ */
+@Deprecated(since = "0.97.0", forRemoval = true)
 public class CreateNestedRuleDescription extends SchemaTransformationRuleDescription {
 
   private String runtimeKey;
diff --git a/ui/src/app/connect/components/adapter-configuration/schema-editor/event-schema/event-schema.component.html b/ui/src/app/connect/components/adapter-configuration/schema-editor/event-schema/event-schema.component.html
index 0438a55142..70fb70f697 100644
--- a/ui/src/app/connect/components/adapter-configuration/schema-editor/event-schema/event-schema.component.html
+++ b/ui/src/app/connect/components/adapter-configuration/schema-editor/event-schema/event-schema.component.html
@@ -34,7 +34,6 @@
                     fxFlex="100"
                     [countSelected]="countSelected"
                     [timestampPresent]="timestampPresent"
-                    (addNestedPropertyEmitter)="addNestedProperty()"
                     (addStaticValuePropertyEmitter)="
                         addStaticValueProperty($event)
                     "
diff --git a/ui/src/app/connect/components/adapter-configuration/schema-editor/event-schema/event-schema.component.ts b/ui/src/app/connect/components/adapter-configuration/schema-editor/event-schema/event-schema.component.ts
index a8faf61a6a..09423c2d32 100644
--- a/ui/src/app/connect/components/adapter-configuration/schema-editor/event-schema/event-schema.component.ts
+++ b/ui/src/app/connect/components/adapter-configuration/schema-editor/event-schema/event-schema.component.ts
@@ -186,24 +186,6 @@ export class EventSchemaComponent implements OnChanges {
         }
     }
 
-    public addNestedProperty(eventProperty?: EventPropertyNested): void {
-        const uuid: string = this.idGeneratorService.generate(25);
-        const nested: EventPropertyNested = new EventPropertyNested();
-        nested['@class'] =
-            'org.apache.streampipes.model.schema.EventPropertyNested';
-        nested.elementId = uuid;
-        nested.eventProperties = [];
-        nested.domainProperties = [];
-        nested.runtimeName = 'nested';
-        nested.additionalMetadata = {};
-        if (!eventProperty) {
-            this.targetSchema.eventProperties.push(nested);
-        } else {
-            eventProperty.eventProperties.push(nested);
-        }
-        this.refreshTree();
-    }
-
     public removeSelectedProperties(eventProperties?: any): void {
         eventProperties = eventProperties || this.targetSchema.eventProperties;
         for (let i = eventProperties.length - 1; i >= 0; --i) {
diff --git a/ui/src/app/connect/components/adapter-configuration/schema-editor/schema-editor-header/schema-editor-header.component.html b/ui/src/app/connect/components/adapter-configuration/schema-editor/schema-editor-header/schema-editor-header.component.html
index 268fbae655..e39296626a 100644
--- a/ui/src/app/connect/components/adapter-configuration/schema-editor/schema-editor-header/schema-editor-header.component.html
+++ b/ui/src/app/connect/components/adapter-configuration/schema-editor/schema-editor-header/schema-editor-header.component.html
@@ -18,16 +18,6 @@
 
 <div fxLayout="row" fxFlex="100">
     <div fxFlex fxLayoutAlign="start center" fxLayout="row">
-        <button
-            color="accent"
-            mat-button
-            data-cy="connect-add-nested-property"
-            matTooltip="Add a Nested Property"
-            (click)="addNestedProperty()"
-        >
-            <mat-icon>queue</mat-icon>
-            <span>&nbsp;Add nested</span>
-        </button>
         <button
             color="accent"
             mat-button
diff --git a/ui/src/app/connect/components/adapter-configuration/schema-editor/schema-editor-header/schema-editor-header.component.ts b/ui/src/app/connect/components/adapter-configuration/schema-editor/schema-editor-header/schema-editor-header.component.ts
index cfe744cd7c..54fcdf0592 100644
--- a/ui/src/app/connect/components/adapter-configuration/schema-editor/schema-editor-header/schema-editor-header.component.ts
+++ b/ui/src/app/connect/components/adapter-configuration/schema-editor/schema-editor-header/schema-editor-header.component.ts
@@ -34,7 +34,6 @@ export class SchemaEditorHeaderComponent {
     @Input() countSelected: number;
     @Input() timestampPresent = false;
 
-    @Output() addNestedPropertyEmitter = new EventEmitter();
     @Output() addStaticValuePropertyEmitter = new EventEmitter<string>();
     @Output() addTimestampPropertyEmitter = new EventEmitter();
     @Output() guessSchemaEmitter = new EventEmitter();
@@ -46,10 +45,6 @@ export class SchemaEditorHeaderComponent {
 
     constructor() {}
 
-    public addNestedProperty() {
-        this.addNestedPropertyEmitter.emit();
-    }
-
     public addStaticValueProperty() {
         this.addStaticValuePropertyEmitter.emit(this.staticValueKey);
         this.trigger.closeMenu();