From 4a0650da5cc60a7c06a5956db7280288b549bf11 Mon Sep 17 00:00:00 2001 From: pkupczyk <piotr.kupczyk@id.ethz.ch> Date: Tue, 2 Apr 2024 10:17:06 +0200 Subject: [PATCH] SSDM-13578 : 2PT : Database and V3 Implementation - js facade --- api-openbis-typescript/build.gradle | 6 ++-- .../dto/OpenBISJavaScriptAFSFacade.java | 5 +-- .../openbis/generic/typescript/type/Blob.java | 6 ++++ .../openbis-v3-api-test/html/test/test-afs.ts | 31 ++++++++++++++++--- 4 files changed, 39 insertions(+), 9 deletions(-) create mode 100644 api-openbis-typescript/source/java/ch/ethz/sis/openbis/generic/typescript/type/Blob.java diff --git a/api-openbis-typescript/build.gradle b/api-openbis-typescript/build.gradle index 05dbf637d69..1f7536e6933 100644 --- a/api-openbis-typescript/build.gradle +++ b/api-openbis-typescript/build.gradle @@ -27,7 +27,8 @@ generateTypeScript { classPatterns = [ 'ch.ethz.sis.openbis.generic.asapi.v3.dto.**', 'ch.ethz.sis.openbis.generic.dssapi.v3.dto.**', - 'ch.ethz.sis.openbis.generic.typescript.dto.**' + 'ch.ethz.sis.openbis.generic.typescript.dto.**', + 'ch.ethz.sis.openbis.generic.typescript.type.**' ] excludeClassPatterns = [ "ch.ethz.sis.openbis.generic.asapi.v3.IApplicationServerApi", @@ -49,7 +50,8 @@ generateTypeScript { "ch.ethz.sis.openbis.generic.asapi.v3.dto.service.execute.AbstractExecutionOptionsWithParameters:as_dto_service_execute_AbstractExecutionOptionsWithParameters", "ch.ethz.sis.openbis.generic.dssapi.v3.dto.service.execute.AbstractExecutionOptionsWithParameters:dss_dto_service_execute_AbstractExecutionOptionsWithParameters", "ch.ethz.sis.openbis.generic.asapi.v3.dto.common.operation.IOperationResult:as_dto_common_operation_IOperationResult", - "ch.ethz.sis.openbis.generic.dssapi.v3.dto.common.operation.IOperationResult:dss_dto_common_operation_IOperationResult" + "ch.ethz.sis.openbis.generic.dssapi.v3.dto.common.operation.IOperationResult:dss_dto_common_operation_IOperationResult", + "ch.ethz.sis.openbis.generic.typescript.type.Blob:Blob" ] extensionsWithConfiguration = [ new ConfiguredExtension(className: 'ch.ethz.sis.openbis.generic.typescript.OpenBISExtension') diff --git a/api-openbis-typescript/source/java/ch/ethz/sis/openbis/generic/typescript/dto/OpenBISJavaScriptAFSFacade.java b/api-openbis-typescript/source/java/ch/ethz/sis/openbis/generic/typescript/dto/OpenBISJavaScriptAFSFacade.java index 4cde6e8b222..a41e938d03f 100644 --- a/api-openbis-typescript/source/java/ch/ethz/sis/openbis/generic/typescript/dto/OpenBISJavaScriptAFSFacade.java +++ b/api-openbis-typescript/source/java/ch/ethz/sis/openbis/generic/typescript/dto/OpenBISJavaScriptAFSFacade.java @@ -5,6 +5,7 @@ import java.util.List; import ch.ethz.sis.openbis.generic.typescript.TypeScriptMethod; import ch.ethz.sis.openbis.generic.typescript.TypeScriptObject; +import ch.ethz.sis.openbis.generic.typescript.type.Blob; @TypeScriptObject public class OpenBISJavaScriptAFSFacade @@ -21,13 +22,13 @@ public class OpenBISJavaScriptAFSFacade } @TypeScriptMethod(sessionToken = false) - public byte[] read(final String owner, final String source, final long offset, final int limit) + public Blob read(final String owner, final String source, final long offset, final int limit) { return null; } @TypeScriptMethod(sessionToken = false) - public boolean write(final String owner, final String source, final long offset, final byte[] data) + public boolean write(final String owner, final String source, final long offset, final String data) { return false; } diff --git a/api-openbis-typescript/source/java/ch/ethz/sis/openbis/generic/typescript/type/Blob.java b/api-openbis-typescript/source/java/ch/ethz/sis/openbis/generic/typescript/type/Blob.java new file mode 100644 index 00000000000..d662d6cb78c --- /dev/null +++ b/api-openbis-typescript/source/java/ch/ethz/sis/openbis/generic/typescript/type/Blob.java @@ -0,0 +1,6 @@ +package ch.ethz.sis.openbis.generic.typescript.type; + +public class Blob +{ + +} diff --git a/test-api-openbis-javascript/servers/common/core-plugins/tests/1/as/webapps/openbis-v3-api-test/html/test/test-afs.ts b/test-api-openbis-javascript/servers/common/core-plugins/tests/1/as/webapps/openbis-v3-api-test/html/test/test-afs.ts index 7d8f02ecb69..6998395b88f 100644 --- a/test-api-openbis-javascript/servers/common/core-plugins/tests/1/as/webapps/openbis-v3-api-test/html/test/test-afs.ts +++ b/test-api-openbis-javascript/servers/common/core-plugins/tests/1/as/webapps/openbis-v3-api-test/html/test/test-afs.ts @@ -26,12 +26,12 @@ exports.default = new Promise((resolve) => { await c.login(facade) - await facade.getAfsServerFacade().write("test-owner", "test-file-1", 0, "test-content-1") - await facade.getAfsServerFacade().write("test-owner/test-folder-1", "test-file-2", 0, "test-content-2") - await facade.getAfsServerFacade().write("test-owner/test-folder-1", "test-file-3", 0, "test-content-3") - await facade.getAfsServerFacade().write("test-owner/test-folder-2", "test-file-4", 0, "test-content-4") + await facade.getAfsServerFacade().write("test-list", "test-file-1", 0, "test-content-1") + await facade.getAfsServerFacade().write("test-list/test-folder-1", "test-file-2", 0, "test-content-2") + await facade.getAfsServerFacade().write("test-list/test-folder-1", "test-file-3", 0, "test-content-3") + await facade.getAfsServerFacade().write("test-list/test-folder-2", "test-file-4", 0, "test-content-4") - var list = await facade.getAfsServerFacade().list("test-owner", "", true) + var list = await facade.getAfsServerFacade().list("test-list", "", true) list.sort((file1, file2) => { return file1.getPath().localeCompare(file2.getPath()) @@ -52,6 +52,27 @@ exports.default = new Promise((resolve) => { c.finish() } }) + + QUnit.test("read()", async function (assert) { + try { + var c = new common(assert, dtos) + c.start() + + await c.login(facade) + + const originalContent = "test-content" + await facade.getAfsServerFacade().write("test-read", "test-file", 0, originalContent) + + var readContent = await facade.getAfsServerFacade().read("test-read", "test-file", 0, originalContent.length) + c.assertEqual(await readContent.text(), originalContent) + + c.finish() + } catch (error) { + c.fail(error) + c.finish() + } + }) + } resolve(function () { -- GitLab