From 20aaffb159040c8f9396d38c8e291dff38c470df Mon Sep 17 00:00:00 2001 From: Viktor Kirst Date: Tue, 30 Dec 2025 09:39:22 +0400 Subject: [PATCH 1/8] dbeaver/pro#7075 Refactor RestServer API to support multiple controllers --- .../src/org/jkiss/utils/rest/RestServer.java | 97 ++++++++++++++----- .../org/jkiss/utils/rest/RpcConstants.java | 1 + 2 files changed, 75 insertions(+), 23 deletions(-) diff --git a/modules/org.jkiss.utils/src/org/jkiss/utils/rest/RestServer.java b/modules/org.jkiss.utils/src/org/jkiss/utils/rest/RestServer.java index db5e7f44..1250ee33 100644 --- a/modules/org.jkiss.utils/src/org/jkiss/utils/rest/RestServer.java +++ b/modules/org.jkiss.utils/src/org/jkiss/utils/rest/RestServer.java @@ -36,20 +36,19 @@ import java.net.InetSocketAddress; import java.net.URI; import java.nio.charset.StandardCharsets; -import java.util.Collections; -import java.util.HashMap; -import java.util.Map; +import java.util.*; import java.util.concurrent.*; import java.util.function.Predicate; import java.util.logging.Level; import java.util.logging.Logger; -public class RestServer { +public class RestServer { private static final Logger log = Logger.getLogger(RestServer.class.getName()); + private HttpServer server; private String landingPage; - public RestServer( + public RestServer( @NotNull Class cls, @NotNull T object, @NotNull Gson gson, @@ -64,9 +63,31 @@ public RestServer( server.start(); } + private RestServer( + @NotNull List> controllers, + @NotNull Gson gson, + @NotNull Predicate filter, + int port, + int backlog + ) throws IOException { + InetSocketAddress listenAddr = new InetSocketAddress(InetAddress.getLoopbackAddress(), port); + server = HttpServer.create(listenAddr, backlog); + controllers.forEach(ctrl -> + server.createContext(ctrl.path, createHandler((Class) ctrl.cls, ctrl.instance, gson, filter)) + ); + server.setExecutor(createExecutor()); + server.start(); + } + @NotNull - public static Builder builder(@NotNull Class cls, @NotNull T object) { - return new Builder<>(object, cls); + public static Builder builder(@NotNull Class cls, @NotNull T object) { + Builder builder = new Builder(); + builder.addController("/", cls, object); + return builder; + } + + public static Builder builder() { + return new Builder(); } public boolean isRunning() { @@ -105,7 +126,7 @@ protected Executor createExecutor() { } @NotNull - protected RequestHandler createHandler( + protected RequestHandler createHandler( @NotNull Class cls, @NotNull T object, @NotNull Gson gson, @@ -116,7 +137,7 @@ protected RequestHandler createHandler( private static final Type REQUEST_TYPE = new TypeToken>() {}.getType(); - protected class RequestHandler implements HttpHandler { + protected class RequestHandler implements HttpHandler { private final T object; private final Gson gson; @@ -210,7 +231,12 @@ private Response executeRequest(@NotNull HttpExchange exchange) throws IOExce } final URI uri = exchange.getRequestURI(); - final String path = uri.getPath().replaceAll("^/+", ""); + final String context = exchange.getHttpContext().getPath(); + String path = uri.getPath(); + if (path.startsWith(context)) { + path = path.substring(context.length()); + } + path = path.replaceAll("^/+", ""); final Method method = mappings.get(path); if (method == null) { @@ -292,59 +318,69 @@ private static Response createResponseContent(Object result, Type type) return new Response<>(result, type, RpcConstants.SC_OK); } - public static final class Builder { + public static final class Builder { private static final Predicate DEFAULT_PREDICATE = address -> true; - private final T object; - private final Class cls; private Gson gson; private int port; private int backlog; private Predicate filter = DEFAULT_PREDICATE; private String landingPage; + private final List> controllers = new ArrayList<>(); - private Builder(@NotNull T object, @NotNull Class cls) { - this.object = object; - this.cls = cls; + private Builder() { this.gson = RpcConstants.DEFAULT_GSON; this.port = 0; this.backlog = 0; } @NotNull - public Builder setGson(@NotNull Gson gson) { + public Builder addController( + @NotNull String path, + @NotNull Class cls, + @NotNull Object instance + ) { + if (!path.startsWith("/")) { + path = "/" + path; + } + controllers.add(new ControllerDef<>(path, cls, instance)); + return this; + } + + @NotNull + public Builder setGson(@NotNull Gson gson) { this.gson = gson; return this; } @NotNull - public Builder setPort(int port) { + public Builder setPort(int port) { this.port = port; return this; } @NotNull - public Builder setBacklog(int backlog) { + public Builder setBacklog(int backlog) { this.backlog = backlog; return this; } @NotNull - public Builder setLandingPage(String landingPage) { + public Builder setLandingPage(String landingPage) { this.landingPage = landingPage; return this; } @NotNull - public Builder setFilter(@NotNull Predicate filter) { + public Builder setFilter(@NotNull Predicate filter) { this.filter = filter; return this; } @NotNull - public RestServer create() { + public RestServer create() { try { - RestServer restServer = new RestServer<>(cls, object, gson, filter, port, backlog); + RestServer restServer = new RestServer(controllers, gson, filter, port, backlog); if (landingPage != null) { restServer.setLandingPage(landingPage); } @@ -353,6 +389,7 @@ public RestServer create() { throw new UncheckedIOException(e); } } + } private static class Response { @@ -366,4 +403,18 @@ public Response(@Nullable T object, @NotNull Type type, int code) { this.code = code; } } + + private static final class ControllerDef { + final String path; + final Class cls; + final Object instance; + + ControllerDef(String path, Class cls, Object instance) { + this.path = path; + this.cls = cls; + this.instance = instance; + } + } + + } diff --git a/modules/org.jkiss.utils/src/org/jkiss/utils/rest/RpcConstants.java b/modules/org.jkiss.utils/src/org/jkiss/utils/rest/RpcConstants.java index e64dae18..cbe7cddd 100644 --- a/modules/org.jkiss.utils/src/org/jkiss/utils/rest/RpcConstants.java +++ b/modules/org.jkiss.utils/src/org/jkiss/utils/rest/RpcConstants.java @@ -26,6 +26,7 @@ public class RpcConstants { public static final int SC_OK = 200; + public static final int SC_NO_CONTENT = 204; public static final int SC_FORBIDDEN = 403; public static final int SC_UNSUPPORTED = 405; public static final int SC_NOT_FOUND = 404; From d6162a101245b10d748e53eb1770a9eefe476284 Mon Sep 17 00:00:00 2001 From: Viktor Kirst Date: Tue, 30 Dec 2025 09:45:00 +0400 Subject: [PATCH 2/8] dbeaver/pro#7075 Fix code style --- .../src/org/jkiss/utils/rest/RestServer.java | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/modules/org.jkiss.utils/src/org/jkiss/utils/rest/RestServer.java b/modules/org.jkiss.utils/src/org/jkiss/utils/rest/RestServer.java index 1250ee33..f2d40324 100644 --- a/modules/org.jkiss.utils/src/org/jkiss/utils/rest/RestServer.java +++ b/modules/org.jkiss.utils/src/org/jkiss/utils/rest/RestServer.java @@ -340,10 +340,8 @@ public Builder addController( @NotNull Class cls, @NotNull Object instance ) { - if (!path.startsWith("/")) { - path = "/" + path; - } - controllers.add(new ControllerDef<>(path, cls, instance)); + String normalizedPath = path.startsWith("/") ? path : "/" + path; + controllers.add(new ControllerDef<>(normalizedPath, cls, instance)); return this; } From 96a3058fb197847a765af3e2cb57a9f923eee75c Mon Sep 17 00:00:00 2001 From: Viktor Kirst Date: Thu, 8 Jan 2026 10:51:24 +0400 Subject: [PATCH 3/8] dbeaver/pro#7075 Add logging --- .../src/org/jkiss/utils/rest/RpcInvocationHandler.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/modules/org.jkiss.utils/src/org/jkiss/utils/rest/RpcInvocationHandler.java b/modules/org.jkiss.utils/src/org/jkiss/utils/rest/RpcInvocationHandler.java index 37472747..e3a85e79 100644 --- a/modules/org.jkiss.utils/src/org/jkiss/utils/rest/RpcInvocationHandler.java +++ b/modules/org.jkiss.utils/src/org/jkiss/utils/rest/RpcInvocationHandler.java @@ -18,6 +18,7 @@ import com.google.gson.Gson; import com.google.gson.JsonElement; +import com.google.gson.JsonParseException; import org.jkiss.code.NotNull; import org.jkiss.code.Nullable; import org.jkiss.utils.BeanUtils; @@ -27,9 +28,13 @@ import java.net.URI; import java.util.LinkedHashMap; import java.util.Map; +import java.util.logging.Level; +import java.util.logging.Logger; public abstract class RpcInvocationHandler implements InvocationHandler, RestProxy { + private static final Logger log = Logger.getLogger(RpcInvocationHandler.class.getName()); + @NotNull private final Class clientClass; protected final URI uri; @@ -115,11 +120,14 @@ public synchronized Object invoke(Object proxy, Method method, Object[] args) th } try { + System.out.println("CONTENTS: " + contents); return gson.fromJson(contents, returnType); } catch (Throwable e) { + log.log(Level.WARNING, "Failed to parse json response: \n" + contents, e); //just debug breakpoint, rethrow it throw e; } + } catch (RpcException e) { if (e.getErrorClass() != null) { Throwable error = null; From 601f3c49994f33ae55ff15902e6f60ce06ff1dd8 Mon Sep 17 00:00:00 2001 From: Viktor Kirst Date: Wed, 15 Apr 2026 14:52:18 +0400 Subject: [PATCH 4/8] dbeaver/pro#7075 Merge devel RestServer handler factory changes --- .../utils/rest/RequestHandlerFactory.java | 4 +-- .../src/org/jkiss/utils/rest/RestServer.java | 36 +++++++++++++------ 2 files changed, 27 insertions(+), 13 deletions(-) diff --git a/modules/org.jkiss.utils/src/org/jkiss/utils/rest/RequestHandlerFactory.java b/modules/org.jkiss.utils/src/org/jkiss/utils/rest/RequestHandlerFactory.java index 1c284ef1..2e872f8a 100644 --- a/modules/org.jkiss.utils/src/org/jkiss/utils/rest/RequestHandlerFactory.java +++ b/modules/org.jkiss.utils/src/org/jkiss/utils/rest/RequestHandlerFactory.java @@ -24,9 +24,9 @@ import java.util.function.Predicate; @FunctionalInterface -public interface RequestHandlerFactory { +public interface RequestHandlerFactory { @NotNull - RestServer.RequestHandler createHandler( + RestServer.RequestHandler createHandler( @NotNull Class cls, @NotNull T object, @NotNull Gson gson, diff --git a/modules/org.jkiss.utils/src/org/jkiss/utils/rest/RestServer.java b/modules/org.jkiss.utils/src/org/jkiss/utils/rest/RestServer.java index 499f6380..914d4ef4 100644 --- a/modules/org.jkiss.utils/src/org/jkiss/utils/rest/RestServer.java +++ b/modules/org.jkiss.utils/src/org/jkiss/utils/rest/RestServer.java @@ -49,12 +49,12 @@ public class RestServer { private static final Logger log = Logger.getLogger(RestServer.class.getName()); - private static final RequestHandlerFactory DEFAULT_HANDLER_FACTORY = new RequestHandlerFactory() { + private static final RequestHandlerFactory DEFAULT_HANDLER_FACTORY = new RequestHandlerFactory() { @NotNull @Override - public RequestHandler createHandler( - @NotNull Class cls, - @NotNull T object, + public RequestHandler createHandler( + @NotNull Class cls, + @NotNull Object object, @NotNull Gson gson, @NotNull Predicate filter, @Nullable String landingPage @@ -74,7 +74,7 @@ public RestServer( int port, int backlog ) throws IOException { - this(cls, object, gson, filter, port, backlog, DEFAULT_HANDLER_FACTORY); + this(cls, object, gson, filter, port, backlog, getDefaultHandlerFactory()); } public RestServer( @@ -84,7 +84,7 @@ public RestServer( @NotNull Predicate filter, int port, int backlog, - @NotNull RequestHandlerFactory handlerFactory + @NotNull RequestHandlerFactory handlerFactory ) throws IOException { this( Collections.singletonList(new ControllerDef<>("/", cls, object)), @@ -104,7 +104,7 @@ private RestServer( int port, int backlog, @Nullable String landingPage, - @NotNull RequestHandlerFactory handlerFactory + @NotNull RequestHandlerFactory handlerFactory ) throws IOException { this.landingPage = landingPage; InetSocketAddress listenAddr = new InetSocketAddress(InetAddress.getLoopbackAddress(), port); @@ -123,6 +123,7 @@ public static Builder builder(@NotNull Class cls, @NotNull T object) { return builder; } + @NotNull public static Builder builder() { return new Builder(); } @@ -168,9 +169,22 @@ private static RequestHandler createHandler( @NotNull Gson gson, @NotNull Predicate filter, @Nullable String landingPage, - @NotNull RequestHandlerFactory handlerFactory + @NotNull RequestHandlerFactory handlerFactory ) { - return handlerFactory.createHandler(controller.cls, controller.instance, gson, filter, landingPage); + RequestHandlerFactory typedHandlerFactory = getTypedHandlerFactory(handlerFactory); + return typedHandlerFactory.createHandler(controller.cls, controller.instance, gson, filter, landingPage); + } + + @NotNull + @SuppressWarnings("unchecked") + private static RequestHandlerFactory getDefaultHandlerFactory() { + return (RequestHandlerFactory) DEFAULT_HANDLER_FACTORY; + } + + @NotNull + @SuppressWarnings("unchecked") + private static RequestHandlerFactory getTypedHandlerFactory(@NotNull RequestHandlerFactory handlerFactory) { + return (RequestHandlerFactory) handlerFactory; } private static final Type REQUEST_TYPE = new TypeToken>() {}.getType(); @@ -368,7 +382,7 @@ public static final class Builder { private Predicate filter = DEFAULT_PREDICATE; private String landingPage; private final List> controllers = new ArrayList<>(); - private RequestHandlerFactory handlerFactory = DEFAULT_HANDLER_FACTORY; + private RequestHandlerFactory handlerFactory = DEFAULT_HANDLER_FACTORY; private Builder() { this.gson = RpcConstants.DEFAULT_GSON; @@ -417,7 +431,7 @@ public Builder setFilter(@NotNull Predicate filter) { return this; } - public Builder setHandlerFactory(@NotNull RequestHandlerFactory handlerFactory) { + public Builder setHandlerFactory(@NotNull RequestHandlerFactory handlerFactory) { this.handlerFactory = handlerFactory; return this; } From 2fc1b39043be0d2c48a42f9739838a910cd15811 Mon Sep 17 00:00:00 2001 From: Viktor Kirst Date: Wed, 15 Apr 2026 15:15:37 +0400 Subject: [PATCH 5/8] dbeaver/pro#7075 Adapt RequestHandlerFactory for multiple RestServer controllers --- .../utils/rest/RequestHandlerFactory.java | 4 +-- .../src/org/jkiss/utils/rest/RestServer.java | 35 ++++++------------- 2 files changed, 13 insertions(+), 26 deletions(-) diff --git a/modules/org.jkiss.utils/src/org/jkiss/utils/rest/RequestHandlerFactory.java b/modules/org.jkiss.utils/src/org/jkiss/utils/rest/RequestHandlerFactory.java index 2e872f8a..1c284ef1 100644 --- a/modules/org.jkiss.utils/src/org/jkiss/utils/rest/RequestHandlerFactory.java +++ b/modules/org.jkiss.utils/src/org/jkiss/utils/rest/RequestHandlerFactory.java @@ -24,9 +24,9 @@ import java.util.function.Predicate; @FunctionalInterface -public interface RequestHandlerFactory { +public interface RequestHandlerFactory { @NotNull - RestServer.RequestHandler createHandler( + RestServer.RequestHandler createHandler( @NotNull Class cls, @NotNull T object, @NotNull Gson gson, diff --git a/modules/org.jkiss.utils/src/org/jkiss/utils/rest/RestServer.java b/modules/org.jkiss.utils/src/org/jkiss/utils/rest/RestServer.java index 914d4ef4..761cb15a 100644 --- a/modules/org.jkiss.utils/src/org/jkiss/utils/rest/RestServer.java +++ b/modules/org.jkiss.utils/src/org/jkiss/utils/rest/RestServer.java @@ -49,12 +49,12 @@ public class RestServer { private static final Logger log = Logger.getLogger(RestServer.class.getName()); - private static final RequestHandlerFactory DEFAULT_HANDLER_FACTORY = new RequestHandlerFactory() { + private static final RequestHandlerFactory DEFAULT_HANDLER_FACTORY = new RequestHandlerFactory() { @NotNull @Override - public RequestHandler createHandler( - @NotNull Class cls, - @NotNull Object object, + public RequestHandler createHandler( + @NotNull Class cls, + @NotNull T object, @NotNull Gson gson, @NotNull Predicate filter, @Nullable String landingPage @@ -74,7 +74,7 @@ public RestServer( int port, int backlog ) throws IOException { - this(cls, object, gson, filter, port, backlog, getDefaultHandlerFactory()); + this(cls, object, gson, filter, port, backlog, DEFAULT_HANDLER_FACTORY); } public RestServer( @@ -84,7 +84,7 @@ public RestServer( @NotNull Predicate filter, int port, int backlog, - @NotNull RequestHandlerFactory handlerFactory + @NotNull RequestHandlerFactory handlerFactory ) throws IOException { this( Collections.singletonList(new ControllerDef<>("/", cls, object)), @@ -104,7 +104,7 @@ private RestServer( int port, int backlog, @Nullable String landingPage, - @NotNull RequestHandlerFactory handlerFactory + @NotNull RequestHandlerFactory handlerFactory ) throws IOException { this.landingPage = landingPage; InetSocketAddress listenAddr = new InetSocketAddress(InetAddress.getLoopbackAddress(), port); @@ -169,22 +169,9 @@ private static RequestHandler createHandler( @NotNull Gson gson, @NotNull Predicate filter, @Nullable String landingPage, - @NotNull RequestHandlerFactory handlerFactory + @NotNull RequestHandlerFactory handlerFactory ) { - RequestHandlerFactory typedHandlerFactory = getTypedHandlerFactory(handlerFactory); - return typedHandlerFactory.createHandler(controller.cls, controller.instance, gson, filter, landingPage); - } - - @NotNull - @SuppressWarnings("unchecked") - private static RequestHandlerFactory getDefaultHandlerFactory() { - return (RequestHandlerFactory) DEFAULT_HANDLER_FACTORY; - } - - @NotNull - @SuppressWarnings("unchecked") - private static RequestHandlerFactory getTypedHandlerFactory(@NotNull RequestHandlerFactory handlerFactory) { - return (RequestHandlerFactory) handlerFactory; + return handlerFactory.createHandler(controller.cls, controller.instance, gson, filter, landingPage); } private static final Type REQUEST_TYPE = new TypeToken>() {}.getType(); @@ -382,7 +369,7 @@ public static final class Builder { private Predicate filter = DEFAULT_PREDICATE; private String landingPage; private final List> controllers = new ArrayList<>(); - private RequestHandlerFactory handlerFactory = DEFAULT_HANDLER_FACTORY; + private RequestHandlerFactory handlerFactory = DEFAULT_HANDLER_FACTORY; private Builder() { this.gson = RpcConstants.DEFAULT_GSON; @@ -431,7 +418,7 @@ public Builder setFilter(@NotNull Predicate filter) { return this; } - public Builder setHandlerFactory(@NotNull RequestHandlerFactory handlerFactory) { + public Builder setHandlerFactory(@NotNull RequestHandlerFactory handlerFactory) { this.handlerFactory = handlerFactory; return this; } From c87fb39605bd0d9fce6edc56bfb6bf6297b61e07 Mon Sep 17 00:00:00 2001 From: Viktor Kirst Date: Wed, 15 Apr 2026 15:31:48 +0400 Subject: [PATCH 6/8] dbeaver/pro#7075 Bind RestServer landing page to root context --- .../src/org/jkiss/utils/rest/RestServer.java | 48 +++++++++++++++---- 1 file changed, 39 insertions(+), 9 deletions(-) diff --git a/modules/org.jkiss.utils/src/org/jkiss/utils/rest/RestServer.java b/modules/org.jkiss.utils/src/org/jkiss/utils/rest/RestServer.java index 761cb15a..6eb84e47 100644 --- a/modules/org.jkiss.utils/src/org/jkiss/utils/rest/RestServer.java +++ b/modules/org.jkiss.utils/src/org/jkiss/utils/rest/RestServer.java @@ -49,6 +49,7 @@ public class RestServer { private static final Logger log = Logger.getLogger(RestServer.class.getName()); + private static final Object EMPTY_CONTROLLER = new Object(); private static final RequestHandlerFactory DEFAULT_HANDLER_FACTORY = new RequestHandlerFactory() { @NotNull @Override @@ -64,7 +65,6 @@ public RequestHandler createHandler( }; private HttpServer server; - private String landingPage; public RestServer( @NotNull Class cls, @@ -106,12 +106,28 @@ private RestServer( @Nullable String landingPage, @NotNull RequestHandlerFactory handlerFactory ) throws IOException { - this.landingPage = landingPage; InetSocketAddress listenAddr = new InetSocketAddress(InetAddress.getLoopbackAddress(), port); server = HttpServer.create(listenAddr, backlog); - controllers.forEach(ctrl -> - server.createContext(ctrl.path, createHandler(ctrl, gson, filter, landingPage, handlerFactory)) - ); + boolean hasRootController = controllers.stream().anyMatch(ctrl -> "/".equals(ctrl.path)); + if (controllers.isEmpty()) { + createEmptyRootContext(gson, filter, landingPage, handlerFactory); + } else { + controllers.forEach(ctrl -> + server.createContext( + ctrl.path, + createHandler( + ctrl, + gson, + filter, + "/".equals(ctrl.path) ? landingPage : null, + handlerFactory + ) + ) + ); + if (!hasRootController && landingPage != null) { + createEmptyRootContext(gson, filter, landingPage, handlerFactory); + } + } server.setExecutor(createExecutor()); server.start(); } @@ -154,15 +170,29 @@ public InetSocketAddress getAddress() { return server.getAddress(); } - void setLandingPage(@Nullable String landingPage) { - this.landingPage = landingPage; - } - @NotNull protected Executor createExecutor() { return new ThreadPoolExecutor(1, 10, 60, TimeUnit.SECONDS, new LinkedBlockingQueue<>()); } + private void createEmptyRootContext( + @NotNull Gson gson, + @NotNull Predicate filter, + @Nullable String landingPage, + @NotNull RequestHandlerFactory handlerFactory + ) { + server.createContext( + "/", + createHandler( + new ControllerDef<>("/", Object.class, EMPTY_CONTROLLER), + gson, + filter, + landingPage, + handlerFactory + ) + ); + } + @NotNull private static RequestHandler createHandler( @NotNull ControllerDef controller, From b9ed8e8875ddd1765d8d8f5e4cd6bb316fc49b2b Mon Sep 17 00:00:00 2001 From: Viktor Kirst Date: Sat, 25 Apr 2026 00:56:05 +0400 Subject: [PATCH 7/8] dbeaver/pro#7075 Fix ResultSet#getString contract in AbstractJdbcResultSet --- .../src/com/dbeaver/jdbc/model/AbstractJdbcResultSet.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/com.dbeaver.jdbc.api/src/com/dbeaver/jdbc/model/AbstractJdbcResultSet.java b/modules/com.dbeaver.jdbc.api/src/com/dbeaver/jdbc/model/AbstractJdbcResultSet.java index 77caacbb..437c0217 100644 --- a/modules/com.dbeaver.jdbc.api/src/com/dbeaver/jdbc/model/AbstractJdbcResultSet.java +++ b/modules/com.dbeaver.jdbc.api/src/com/dbeaver/jdbc/model/AbstractJdbcResultSet.java @@ -95,7 +95,7 @@ public int findColumn(String columnLabel) throws SQLException { @Override public String getString(int columnIndex) throws SQLException { - return CommonUtils.toString(getObject(columnIndex)); + return CommonUtils.toString(getObject(columnIndex), null); } @Override From d874a297be761205845381de2567b3979d9ca75f Mon Sep 17 00:00:00 2001 From: Viktor Kirst Date: Tue, 28 Apr 2026 12:04:36 +0400 Subject: [PATCH 8/8] dbeaver/pro#7075 Disable debug log --- .../utils/rest/RpcInvocationHandler.java | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/modules/org.jkiss.utils/src/org/jkiss/utils/rest/RpcInvocationHandler.java b/modules/org.jkiss.utils/src/org/jkiss/utils/rest/RpcInvocationHandler.java index e3a85e79..6835b561 100644 --- a/modules/org.jkiss.utils/src/org/jkiss/utils/rest/RpcInvocationHandler.java +++ b/modules/org.jkiss.utils/src/org/jkiss/utils/rest/RpcInvocationHandler.java @@ -1,18 +1,18 @@ /* * DBeaver - Universal Database Manager - * Copyright (C) 2010-2024 DBeaver Corp + * Copyright (C) 2010-2026 DBeaver Corp and others * - * All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at * - * NOTICE: All information contained herein is, and remains - * the property of DBeaver Corp and its suppliers, if any. - * The intellectual and technical concepts contained - * herein are proprietary to DBeaver Corp and its suppliers - * and may be covered by U.S. and Foreign Patents, - * patents in process, and are protected by trade secret or copyright law. - * Dissemination of this information or reproduction of this material - * is strictly forbidden unless prior written permission is obtained - * from DBeaver Corp. + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. */ package org.jkiss.utils.rest; @@ -120,7 +120,7 @@ public synchronized Object invoke(Object proxy, Method method, Object[] args) th } try { - System.out.println("CONTENTS: " + contents); +// System.out.println("CONTENTS: " + contents); return gson.fromJson(contents, returnType); } catch (Throwable e) { log.log(Level.WARNING, "Failed to parse json response: \n" + contents, e);