From a51d529f5c76fe9a714debf9f4e475cb7c75930d Mon Sep 17 00:00:00 2001
From: alaskowski <alaskowski@ethz.ch>
Date: Mon, 25 Sep 2023 11:53:49 +0200
Subject: [PATCH] SSDM-55: fixed properties initialization, fixed js test

---
 .../src/v3/as/dto/common/entity/AbstractEntity.js        | 9 ++++++++-
 .../v3/as/dto/common/entity/AbstractEntityCreation.js    | 4 ++--
 .../as/dto/common/entity/AbstractEntityPropertyHolder.js | 8 --------
 .../src/v3/as/dto/common/entity/AbstractEntityUpdate.js  | 4 ++--
 .../tests/1/as/webapps/openbis-test/html/openbis-test.js | 1 +
 .../1/as/webapps/openbis-v3-api-test/html/test/dtos.js   | 5 +++++
 .../openbis-v3-api-test/html/test/test-dto-roundtrip.js  | 5 +++++
 7 files changed, 23 insertions(+), 13 deletions(-)

diff --git a/api-openbis-javascript/src/v3/as/dto/common/entity/AbstractEntity.js b/api-openbis-javascript/src/v3/as/dto/common/entity/AbstractEntity.js
index 4dfa008ca1f..69d3e175ae7 100644
--- a/api-openbis-javascript/src/v3/as/dto/common/entity/AbstractEntity.js
+++ b/api-openbis-javascript/src/v3/as/dto/common/entity/AbstractEntity.js
@@ -22,8 +22,15 @@ define([ "stjs", "util/Exceptions", "as/dto/common/entity/AbstractEntityProperty
             }
         };
 
+        prototype.setProperties = function(properties) {
+            this.properties = properties;
+        };
+
     }, {
-        fetchOptions : "AbstractEntityFetchOptions"
+        fetchOptions : {
+            name : "AbstractEntityFetchOptions",
+            arguments : [ "Object" ]
+        }
     });
     return AbstractEntity;
 })
\ No newline at end of file
diff --git a/api-openbis-javascript/src/v3/as/dto/common/entity/AbstractEntityCreation.js b/api-openbis-javascript/src/v3/as/dto/common/entity/AbstractEntityCreation.js
index c52e32bc542..fc44b373ceb 100644
--- a/api-openbis-javascript/src/v3/as/dto/common/entity/AbstractEntityCreation.js
+++ b/api-openbis-javascript/src/v3/as/dto/common/entity/AbstractEntityCreation.js
@@ -2,12 +2,12 @@ define([ "stjs", "util/Exceptions", "as/dto/common/entity/AbstractEntityProperty
 	var AbstractEntityCreation = function() {
         AbstractEntityPropertyHolder.call(this);
 	};
-	stjs.extend(AbstractEntityCreation, null, [], function(constructor, prototype) {
+	stjs.extend(AbstractEntityCreation, AbstractEntityPropertyHolder, [AbstractEntityPropertyHolder], function(constructor, prototype) {
         prototype['@type'] = 'as.dto.common.entity.AbstractEntityCreation';
         constructor.serialVersionUID = 1;
 
         prototype.getProperties = function() {
-          return properties;
+          return this.properties;
         };
 
         prototype.setProperties = function(properties) {
diff --git a/api-openbis-javascript/src/v3/as/dto/common/entity/AbstractEntityPropertyHolder.js b/api-openbis-javascript/src/v3/as/dto/common/entity/AbstractEntityPropertyHolder.js
index db05bb68361..b5a061a3abf 100644
--- a/api-openbis-javascript/src/v3/as/dto/common/entity/AbstractEntityPropertyHolder.js
+++ b/api-openbis-javascript/src/v3/as/dto/common/entity/AbstractEntityPropertyHolder.js
@@ -6,14 +6,6 @@ define([ "stjs", "util/Exceptions" ], function(stjs, exceptions) {
         constructor.serialVersionUID = 1;
         prototype.properties = null;
 
-//        prototype.getProperties = function() {
-//          return properties;
-//        };
-//
-//        prototype.setProperties = function(properties) {
-//            this.properties = properties;
-//        };
-
         prototype.getProperty = function(propertyName) {
             var properties = this.getProperties();
             return properties ? properties[propertyName] : null;
diff --git a/api-openbis-javascript/src/v3/as/dto/common/entity/AbstractEntityUpdate.js b/api-openbis-javascript/src/v3/as/dto/common/entity/AbstractEntityUpdate.js
index 41bdc163d3b..4c9108d3746 100644
--- a/api-openbis-javascript/src/v3/as/dto/common/entity/AbstractEntityUpdate.js
+++ b/api-openbis-javascript/src/v3/as/dto/common/entity/AbstractEntityUpdate.js
@@ -2,12 +2,12 @@ define([ "stjs", "util/Exceptions", "as/dto/common/entity/AbstractEntityProperty
 	var AbstractEntityUpdate = function() {
         AbstractEntityPropertyHolder.call(this);
 	};
-	stjs.extend(AbstractEntityUpdate, null, [], function(constructor, prototype) {
+	stjs.extend(AbstractEntityUpdate, AbstractEntityPropertyHolder, [AbstractEntityPropertyHolder], function(constructor, prototype) {
         prototype['@type'] = 'as.dto.common.entity.AbstractEntityUpdate';
         constructor.serialVersionUID = 1;
 
         prototype.getProperties = function() {
-          return properties;
+          return this.properties;
         };
 
         prototype.setProperties = function(properties) {
diff --git a/test-api-openbis-javascript/servers/common/core-plugins/tests/1/as/webapps/openbis-test/html/openbis-test.js b/test-api-openbis-javascript/servers/common/core-plugins/tests/1/as/webapps/openbis-test/html/openbis-test.js
index 12d8e03c5d1..aad9dc8bb0d 100644
--- a/test-api-openbis-javascript/servers/common/core-plugins/tests/1/as/webapps/openbis-test/html/openbis-test.js
+++ b/test-api-openbis-javascript/servers/common/core-plugins/tests/1/as/webapps/openbis-test/html/openbis-test.js
@@ -664,6 +664,7 @@ test("getDataStoreBaseURLs()", function() {
 test("listDataSetTypes()", function() {
 	createFacadeAndLogin(function(facade) {
 		facade.listDataSetTypes(function(response) {
+		    debugger;
 			assertObjectsCount(response.result, 38);
 			facade.close();
 		});
diff --git a/test-api-openbis-javascript/servers/common/core-plugins/tests/1/as/webapps/openbis-v3-api-test/html/test/dtos.js b/test-api-openbis-javascript/servers/common/core-plugins/tests/1/as/webapps/openbis-v3-api-test/html/test/dtos.js
index dea86fa1020..9e977207982 100644
--- a/test-api-openbis-javascript/servers/common/core-plugins/tests/1/as/webapps/openbis-v3-api-test/html/test/dtos.js
+++ b/test-api-openbis-javascript/servers/common/core-plugins/tests/1/as/webapps/openbis-v3-api-test/html/test/dtos.js
@@ -389,6 +389,11 @@ var fullTypes = [
 "as/dto/common/fetchoptions/SortParameter",
 "as/dto/common/fetchoptions/SortOrder",
 "as/dto/common/fetchoptions/SortOptions",
+"as/dto/common/fetchoptions/AbstractEntityFetchOptions",
+"as/dto/common/entity/AbstractEntity",
+"as/dto/common/entity/AbstractEntityPropertyHolder",
+"as/dto/common/entity/AbstractEntityUpdate",
+"as/dto/common/entity/AbstractEntityCreation",
 "as/dto/common/Relationship",
 "as/dto/common/get/GetObjectsOperationResult",
 "as/dto/common/get/GetServerPublicInformationOperation",
diff --git a/test-api-openbis-javascript/servers/common/core-plugins/tests/1/as/webapps/openbis-v3-api-test/html/test/test-dto-roundtrip.js b/test-api-openbis-javascript/servers/common/core-plugins/tests/1/as/webapps/openbis-v3-api-test/html/test/test-dto-roundtrip.js
index dc17bfaf5c1..88d4a46a1ed 100644
--- a/test-api-openbis-javascript/servers/common/core-plugins/tests/1/as/webapps/openbis-v3-api-test/html/test/test-dto-roundtrip.js
+++ b/test-api-openbis-javascript/servers/common/core-plugins/tests/1/as/webapps/openbis-v3-api-test/html/test/test-dto-roundtrip.js
@@ -6,8 +6,13 @@ define(["jquery", "underscore", "openbis", "test/common", "test/dtos"], function
         "as.dto.common.delete.DeleteObjectsOperationResult",
         "as.dto.common.delete.DeleteObjectsWithTrashOperationResult",
         "as.dto.common.delete.DeleteObjectsWithoutTrashOperationResult",
+        "as.dto.common.entity.AbstractEntity",
+        "as.dto.common.entity.AbstractEntityPropertyHolder",
+        "as.dto.common.entity.AbstractEntityUpdate",
+        "as.dto.common.entity.AbstractEntityCreation",
         "as.dto.common.fetchoptions.FetchOptions",
         "as.dto.common.fetchoptions.SortOptions",
+        "as.dto.common.fetchoptions.AbstractEntityFetchOptions",
         "as.dto.common.get.GetObjectsOperation",
         "as.dto.common.get.GetObjectsOperationResult",
         "as.dto.common.id.ObjectIdentifier",
-- 
GitLab