diff --git a/js-test/servers/common/core-plugins/tests/1/as/webapps/openbis-v3-api-test/html/test/test-update.js b/js-test/servers/common/core-plugins/tests/1/as/webapps/openbis-v3-api-test/html/test/test-update.js index e84b0547f98419da78491a247c6b74da162a04ba..83f4ddea5f15a73249b99dc41e64212a163c4010 100644 --- a/js-test/servers/common/core-plugins/tests/1/as/webapps/openbis-v3-api-test/html/test/test-update.js +++ b/js-test/servers/common/core-plugins/tests/1/as/webapps/openbis-v3-api-test/html/test/test-update.js @@ -5,22 +5,29 @@ define([ 'jquery', 'underscore', 'openbis', 'test/common' ], function($, _, open var testUpdate = function(c, fCreate, fUpdate, fFind, fCheck, fCheckError) { c.start(); - c.createFacadeAndLogin().then(function(facade) { - return fCreate(facade).then(function(permIds) { - c.assertTrue(permIds != null && permIds.length == 1, "Entity was created"); - return fFind(facade, permIds[0]).then(function(entity) { - c.assertNotNull(entity, "Entity can be found"); - return fUpdate(facade, permIds[0]).then(function() { - c.ok("Entity was updated"); - return fFind(facade, permIds[0]).then(function(entity) { - if (fCheck) { - fCheck(entity); - } - c.finish(); - }); - }); - }); - }); + var ctx = { + facade: null, + permIds: null + }; + c.createFacadeAndLogin() + .then(function(facade) { + ctx.facade = facade; + return fCreate(facade) + }).then(function(permIds) { + ctx.permIds = permIds; + c.assertTrue(permIds != null && permIds.length == 1, "Entity was created"); + return fFind(ctx.facade, permIds[0]) + }).then(function(entity) { + c.assertNotNull(entity, "Entity can be found"); + return fUpdate(ctx.facade, ctx.permIds[0]) + }).then(function() { + c.ok("Entity was updated"); + return fFind(ctx.facade, ctx.permIds[0]) + }).then(function(entity) { + if (fCheck) { + fCheck(entity); + } + c.finish(); }).fail(function(error) { if (fCheckError) { fCheckError(error.message); diff --git a/js-test/source/java/ch/systemsx/cisd/openbis/jstest/service/V3ApiDtoTestService.java b/js-test/source/java/ch/systemsx/cisd/openbis/jstest/service/V3ApiDtoTestService.java index 2ef0afa1dd624b4b30a91851a43e71248cfa7b3a..669f5cee1e5f8e71a8d3dbb7dd731d23464d54be 100644 --- a/js-test/source/java/ch/systemsx/cisd/openbis/jstest/service/V3ApiDtoTestService.java +++ b/js-test/source/java/ch/systemsx/cisd/openbis/jstest/service/V3ApiDtoTestService.java @@ -18,7 +18,6 @@ package ch.systemsx.cisd.openbis.jstest.service; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; -import java.lang.reflect.Parameter; import java.util.Date; import java.util.Map; import java.util.Properties; @@ -54,13 +53,13 @@ public class V3ApiDtoTestService implements ICustomASServiceExecutor { for (Method method : obj.getClass().getMethods()) { - if (method.getParameterCount() == 1) { - Parameter parameter = method.getParameters()[0]; - Class<?> type = parameter.getType(); + Class<?>[] parameterTypes = method.getParameterTypes(); + if (parameterTypes.length == 1) { + Class<?> type = parameterTypes[0]; if (type.isPrimitive() || type.equals(String.class) || type.equals(Date.class)){ try { - setItUp(obj, method, parameter); + setItUp(obj, method, type); } catch (Exception e) { e.printStackTrace(); @@ -71,16 +70,15 @@ public class V3ApiDtoTestService implements ICustomASServiceExecutor return obj; } - private void setItUp(Object obj, Method method, Parameter parameter) throws IllegalAccessException, IllegalArgumentException, InvocationTargetException + private void setItUp(Object obj, Method method, Class<?> type) throws IllegalAccessException, IllegalArgumentException, InvocationTargetException { - method.invoke(obj, getValue(parameter)); + method.invoke(obj, getValue(type)); } - private Object getValue(Parameter parameter) + private Object getValue(Class<?> type) { double random = Math.random(); long rnd = (long) (random*1000000); - Class<?> type = parameter.getType(); if (type == String.class) { return String.valueOf(random); }