From 53fe6e34f82281f1eb30d05bba9ec7d1eb684ad4 Mon Sep 17 00:00:00 2001 From: Michael Jumper Date: Thu, 25 Mar 2021 19:58:53 -0700 Subject: [PATCH] GUACAMOLE-1298: Migrate to centralized declarations of common dependencies. --- extensions/guacamole-auth-cas/pom.xml | 13 +- extensions/guacamole-auth-duo/pom.xml | 10 +- .../auth/duo/form/DuoSignedResponseField.java | 4 +- extensions/guacamole-auth-header/pom.xml | 13 +- .../modules/guacamole-auth-jdbc-base/pom.xml | 11 +- extensions/guacamole-auth-jdbc/pom.xml | 7 + extensions/guacamole-auth-json/pom.xml | 20 ++- .../guacamole/auth/json/user/UserData.java | 4 +- .../auth/json/user/UserDataDenylist.java | 4 +- .../auth/json/user/UserDataService.java | 6 +- extensions/guacamole-auth-ldap/pom.xml | 9 +- extensions/guacamole-auth-openid/pom.xml | 9 +- .../guacamole-auth-quickconnect/pom.xml | 7 + extensions/guacamole-auth-radius/pom.xml | 10 +- extensions/guacamole-auth-saml/pom.xml | 7 + extensions/guacamole-auth-totp/pom.xml | 10 +- .../totp/form/AuthenticationCodeField.java | 9 +- guacamole-common-js/pom.xml | 7 + guacamole-common/pom.xml | 8 +- guacamole-ext/pom.xml | 26 ++-- .../environment/LocalEnvironment.java | 2 +- .../java/org/apache/guacamole/form/Field.java | 5 +- .../apache/guacamole/form/FieldOption.java | 5 +- .../java/org/apache/guacamole/form/Form.java | 5 +- .../properties/ByteArrayProperty.java | 4 +- guacamole/pom.xml | 41 ++---- .../apache/guacamole/extension/Extension.java | 4 +- .../extension/ExtensionManifest.java | 2 +- .../extension/LanguageResourceService.java | 18 +-- .../rest/connection/APIConnection.java | 7 +- .../connectiongroup/APIConnectionGroup.java | 7 +- .../sharingprofile/APISharingProfile.java | 5 +- .../apache/guacamole/rest/user/APIUser.java | 7 +- .../rest/usergroup/APIUserGroup.java | 7 +- pom.xml | 120 ++++++++++++++++++ 35 files changed, 306 insertions(+), 127 deletions(-) diff --git a/extensions/guacamole-auth-cas/pom.xml b/extensions/guacamole-auth-cas/pom.xml index 2ffe8182e..d168e5124 100644 --- a/extensions/guacamole-auth-cas/pom.xml +++ b/extensions/guacamole-auth-cas/pom.xml @@ -30,6 +30,13 @@ guacamole-auth-cas http://guacamole.apache.org/ + + org.apache.guacamole + guacamole-client + 1.3.0 + ../../ + + UTF-8 @@ -152,19 +159,16 @@ com.google.guava guava - 27.0.1-jre com.google.inject guice - 3.0 com.google.inject.extensions guice-multibindings - 3.0 @@ -187,19 +191,16 @@ org.junit.jupiter junit-jupiter-api - 5.6.0 test org.junit.jupiter junit-jupiter-params - 5.6.0 test org.junit.jupiter junit-jupiter-engine - 5.6.0 test diff --git a/extensions/guacamole-auth-duo/pom.xml b/extensions/guacamole-auth-duo/pom.xml index 240fcabd6..948677970 100644 --- a/extensions/guacamole-auth-duo/pom.xml +++ b/extensions/guacamole-auth-duo/pom.xml @@ -30,6 +30,13 @@ guacamole-auth-duo http://guacamole.apache.org/ + + org.apache.guacamole + guacamole-client + 1.3.0 + ../../ + + UTF-8 @@ -221,19 +228,16 @@ com.google.guava guava - 27.0.1-jre com.google.inject guice - 3.0 com.google.inject.extensions guice-multibindings - 3.0 diff --git a/extensions/guacamole-auth-duo/src/main/java/org/apache/guacamole/auth/duo/form/DuoSignedResponseField.java b/extensions/guacamole-auth-duo/src/main/java/org/apache/guacamole/auth/duo/form/DuoSignedResponseField.java index 192cbf8b1..df46a3122 100644 --- a/extensions/guacamole-auth-duo/src/main/java/org/apache/guacamole/auth/duo/form/DuoSignedResponseField.java +++ b/extensions/guacamole-auth-duo/src/main/java/org/apache/guacamole/auth/duo/form/DuoSignedResponseField.java @@ -20,7 +20,6 @@ package org.apache.guacamole.auth.duo.form; import org.apache.guacamole.form.Field; -import org.codehaus.jackson.annotate.JsonProperty; /** * A custom field type which uses the DuoWeb API to produce a signed response @@ -81,8 +80,7 @@ public class DuoSignedResponseField extends Field { * @return * The hostname of the DuoWeb API endpoint. */ - @JsonProperty("apiHost") - public String getAPIHost() { + public String getApiHost() { return apiHost; } diff --git a/extensions/guacamole-auth-header/pom.xml b/extensions/guacamole-auth-header/pom.xml index 59afa382e..e93955283 100644 --- a/extensions/guacamole-auth-header/pom.xml +++ b/extensions/guacamole-auth-header/pom.xml @@ -26,10 +26,17 @@ org.apache.guacamole guacamole-auth-header jar - 1.2.0 + 1.3.0 guacamole-auth-header http://guacamole.apache.org/ + + org.apache.guacamole + guacamole-client + 1.3.0 + ../../ + + UTF-8 @@ -130,7 +137,7 @@ org.apache.guacamole guacamole-ext - 1.2.0 + 1.3.0 provided @@ -138,12 +145,10 @@ com.google.inject guice - 3.0 com.google.inject.extensions guice-multibindings - 3.0 diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/pom.xml b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/pom.xml index b052ee7c6..5f9ceb7ee 100644 --- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/pom.xml +++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/pom.xml @@ -29,10 +29,6 @@ guacamole-auth-jdbc-base http://guacamole.apache.org/ - - UTF-8 - - org.apache.guacamole guacamole-auth-jdbc @@ -40,6 +36,10 @@ ../../ + + UTF-8 + + @@ -123,19 +123,16 @@ com.google.inject guice - 4.1.0 com.google.inject.extensions guice-multibindings - 4.1.0 com.google.guava guava - 27.0.1-jre diff --git a/extensions/guacamole-auth-jdbc/pom.xml b/extensions/guacamole-auth-jdbc/pom.xml index 5ac6b388e..96599d494 100644 --- a/extensions/guacamole-auth-jdbc/pom.xml +++ b/extensions/guacamole-auth-jdbc/pom.xml @@ -30,6 +30,13 @@ guacamole-auth-jdbc http://guacamole.apache.org/ + + org.apache.guacamole + guacamole-client + 1.3.0 + ../../ + + UTF-8 diff --git a/extensions/guacamole-auth-json/pom.xml b/extensions/guacamole-auth-json/pom.xml index 128f170b1..72dc75431 100644 --- a/extensions/guacamole-auth-json/pom.xml +++ b/extensions/guacamole-auth-json/pom.xml @@ -30,6 +30,13 @@ guacamole-auth-json http://guacamole.apache.org/ + + org.apache.guacamole + guacamole-client + 1.3.0 + ../../ + + UTF-8 @@ -112,19 +119,22 @@ com.google.inject guice - 3.0 com.google.inject.extensions guice-multibindings - 3.0 - org.codehaus.jackson - jackson-mapper-asl - 1.9.2 + com.fasterxml.jackson.core + jackson-databind + + + + + com.google.guava + guava diff --git a/extensions/guacamole-auth-json/src/main/java/org/apache/guacamole/auth/json/user/UserData.java b/extensions/guacamole-auth-json/src/main/java/org/apache/guacamole/auth/json/user/UserData.java index 41e02a4bd..2e3048f0f 100644 --- a/extensions/guacamole-auth-json/src/main/java/org/apache/guacamole/auth/json/user/UserData.java +++ b/extensions/guacamole-auth-json/src/main/java/org/apache/guacamole/auth/json/user/UserData.java @@ -19,12 +19,12 @@ package org.apache.guacamole.auth.json.user; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; import java.util.Collections; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; -import org.codehaus.jackson.annotate.JsonIgnore; -import org.codehaus.jackson.annotate.JsonProperty; /** * All data associated with a particular user, as parsed from the JSON supplied diff --git a/extensions/guacamole-auth-json/src/main/java/org/apache/guacamole/auth/json/user/UserDataDenylist.java b/extensions/guacamole-auth-json/src/main/java/org/apache/guacamole/auth/json/user/UserDataDenylist.java index bc0142ed7..07357d1d7 100644 --- a/extensions/guacamole-auth-json/src/main/java/org/apache/guacamole/auth/json/user/UserDataDenylist.java +++ b/extensions/guacamole-auth-json/src/main/java/org/apache/guacamole/auth/json/user/UserDataDenylist.java @@ -19,11 +19,11 @@ package org.apache.guacamole.auth.json.user; +import com.google.common.io.BaseEncoding; import java.util.Iterator; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; -import javax.xml.bind.DatatypeConverter; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -101,7 +101,7 @@ public class UserDataDenylist { return false; // Add to denylist only if not already present - String signatureHex = DatatypeConverter.printHexBinary(signature); + String signatureHex = BaseEncoding.base16().encode(signature); return denylist.putIfAbsent(signatureHex, data) == null; } diff --git a/extensions/guacamole-auth-json/src/main/java/org/apache/guacamole/auth/json/user/UserDataService.java b/extensions/guacamole-auth-json/src/main/java/org/apache/guacamole/auth/json/user/UserDataService.java index 53922d592..e3fee11e3 100644 --- a/extensions/guacamole-auth-json/src/main/java/org/apache/guacamole/auth/json/user/UserDataService.java +++ b/extensions/guacamole-auth-json/src/main/java/org/apache/guacamole/auth/json/user/UserDataService.java @@ -19,6 +19,8 @@ package org.apache.guacamole.auth.json.user; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.google.common.io.BaseEncoding; import com.google.inject.Inject; import com.google.inject.Provider; import com.google.inject.Singleton; @@ -30,7 +32,6 @@ import java.util.HashMap; import java.util.Map; import java.util.Set; import javax.servlet.http.HttpServletRequest; -import javax.xml.bind.DatatypeConverter; import org.apache.guacamole.GuacamoleException; import org.apache.guacamole.auth.json.ConfigurationService; import org.apache.guacamole.auth.json.CryptoService; @@ -43,7 +44,6 @@ import org.apache.guacamole.net.auth.permission.ObjectPermissionSet; import org.apache.guacamole.net.auth.simple.SimpleDirectory; import org.apache.guacamole.net.auth.simple.SimpleObjectPermissionSet; import org.apache.guacamole.net.auth.simple.SimpleUser; -import org.codehaus.jackson.map.ObjectMapper; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -142,7 +142,7 @@ public class UserDataService { // Decrypt using defined encryption key byte[] decrypted = cryptoService.decrypt( cryptoService.createEncryptionKey(confService.getSecretKey()), - DatatypeConverter.parseBase64Binary(base64) + BaseEncoding.base64().decode(base64) ); // Abort if decrypted value cannot possibly have a signature AND data diff --git a/extensions/guacamole-auth-ldap/pom.xml b/extensions/guacamole-auth-ldap/pom.xml index e14e27184..8eb94326c 100644 --- a/extensions/guacamole-auth-ldap/pom.xml +++ b/extensions/guacamole-auth-ldap/pom.xml @@ -30,6 +30,13 @@ guacamole-auth-ldap http://guacamole.apache.org/ + + org.apache.guacamole + guacamole-client + 1.3.0 + ../../ + + UTF-8 @@ -158,12 +165,10 @@ com.google.inject guice - 3.0 com.google.inject.extensions guice-multibindings - 3.0 diff --git a/extensions/guacamole-auth-openid/pom.xml b/extensions/guacamole-auth-openid/pom.xml index 691443a0b..f0a904f1e 100644 --- a/extensions/guacamole-auth-openid/pom.xml +++ b/extensions/guacamole-auth-openid/pom.xml @@ -30,6 +30,13 @@ guacamole-auth-openid http://guacamole.apache.org/ + + org.apache.guacamole + guacamole-client + 1.3.0 + ../../ + + UTF-8 @@ -198,12 +205,10 @@ com.google.inject guice - 3.0 com.google.inject.extensions guice-multibindings - 3.0 diff --git a/extensions/guacamole-auth-quickconnect/pom.xml b/extensions/guacamole-auth-quickconnect/pom.xml index 75132925b..e5609856c 100644 --- a/extensions/guacamole-auth-quickconnect/pom.xml +++ b/extensions/guacamole-auth-quickconnect/pom.xml @@ -30,6 +30,13 @@ guacamole-auth-quickconnect http://guacamole.apache.org/ + + org.apache.guacamole + guacamole-client + 1.3.0 + ../../ + + UTF-8 diff --git a/extensions/guacamole-auth-radius/pom.xml b/extensions/guacamole-auth-radius/pom.xml index 675ed081c..8447d5796 100644 --- a/extensions/guacamole-auth-radius/pom.xml +++ b/extensions/guacamole-auth-radius/pom.xml @@ -30,6 +30,13 @@ guacamole-auth-radius http://guacamole.apache.org/ + + org.apache.guacamole + guacamole-client + 1.3.0 + ../../ + + UTF-8 @@ -186,19 +193,16 @@ com.google.guava guava - 27.0.1-jre com.google.inject guice - 3.0 com.google.inject.extensions guice-multibindings - 3.0 diff --git a/extensions/guacamole-auth-saml/pom.xml b/extensions/guacamole-auth-saml/pom.xml index 77671c778..71e7d94ed 100644 --- a/extensions/guacamole-auth-saml/pom.xml +++ b/extensions/guacamole-auth-saml/pom.xml @@ -30,6 +30,13 @@ guacamole-auth-saml http://guacamole.apache.org/ + + org.apache.guacamole + guacamole-client + 1.3.0 + ../../ + + UTF-8 diff --git a/extensions/guacamole-auth-totp/pom.xml b/extensions/guacamole-auth-totp/pom.xml index 261ded2a7..b5d7bdb39 100644 --- a/extensions/guacamole-auth-totp/pom.xml +++ b/extensions/guacamole-auth-totp/pom.xml @@ -30,6 +30,13 @@ guacamole-auth-totp http://guacamole.incubator.apache.org/ + + org.apache.guacamole + guacamole-client + 1.3.0 + ../../ + + UTF-8 @@ -225,19 +232,16 @@ com.google.guava guava - 27.0.1-jre com.google.inject guice - 3.0 com.google.inject.extensions guice-multibindings - 3.0 diff --git a/extensions/guacamole-auth-totp/src/main/java/org/apache/guacamole/auth/totp/form/AuthenticationCodeField.java b/extensions/guacamole-auth-totp/src/main/java/org/apache/guacamole/auth/totp/form/AuthenticationCodeField.java index 58b6527e4..46661f79e 100644 --- a/extensions/guacamole-auth-totp/src/main/java/org/apache/guacamole/auth/totp/form/AuthenticationCodeField.java +++ b/extensions/guacamole-auth-totp/src/main/java/org/apache/guacamole/auth/totp/form/AuthenticationCodeField.java @@ -35,7 +35,6 @@ import org.apache.guacamole.auth.totp.user.UserTOTPKey; import org.apache.guacamole.auth.totp.conf.ConfigurationService; import org.apache.guacamole.form.Field; import org.apache.guacamole.totp.TOTPGenerator; -import org.codehaus.jackson.annotate.JsonProperty; /** * Field which prompts the user for an authentication code generated via TOTP. @@ -242,8 +241,7 @@ public class AuthenticationCodeField extends Field { * If the configuration information required for generating the key URI * cannot be read from guacamole.properties. */ - @JsonProperty("keyUri") - public URI getKeyURI() throws GuacamoleException { + public URI getKeyUri() throws GuacamoleException { // Do not generate a key URI if no key is being exposed if (key == null) @@ -276,11 +274,10 @@ public class AuthenticationCodeField extends Field { * If the configuration information required for generating the QR code * cannot be read from guacamole.properties. */ - @JsonProperty("qrCode") - public String getQRCode() throws GuacamoleException { + public String getQrCode() throws GuacamoleException { // Do not generate a QR code if no key is being exposed - URI keyURI = getKeyURI(); + URI keyURI = getKeyUri(); if (keyURI == null) return null; diff --git a/guacamole-common-js/pom.xml b/guacamole-common-js/pom.xml index 9025e9a95..4d5d7e045 100644 --- a/guacamole-common-js/pom.xml +++ b/guacamole-common-js/pom.xml @@ -30,6 +30,13 @@ guacamole-common-js http://guacamole.apache.org/ + + org.apache.guacamole + guacamole-client + 1.3.0 + ../ + + The base JavaScript API of the Guacamole project, providing JavaScript support for the Guacamole stack, including a full client diff --git a/guacamole-common/pom.xml b/guacamole-common/pom.xml index f9fb82afb..f4e175ead 100644 --- a/guacamole-common/pom.xml +++ b/guacamole-common/pom.xml @@ -30,6 +30,13 @@ guacamole-common http://guacamole.apache.org/ + + org.apache.guacamole + guacamole-client + 1.3.0 + ../ + + The base Java API of the Guacamole project, providing Java support for the Guacamole stack. @@ -157,7 +164,6 @@ org.slf4j slf4j-api - 1.7.7 diff --git a/guacamole-ext/pom.xml b/guacamole-ext/pom.xml index 455c54408..bf6dee6fa 100644 --- a/guacamole-ext/pom.xml +++ b/guacamole-ext/pom.xml @@ -30,6 +30,13 @@ guacamole-ext http://guacamole.apache.org/ + + org.apache.guacamole + guacamole-client + 1.3.0 + ../ + + The Java API for extending the main Guacamole web application. This is not needed for authoring a new Guacamole-based web application. @@ -151,14 +158,6 @@ provided - - - javax.xml.bind - jaxb-api - 2.2.2 - provided - - org.apache.guacamole @@ -175,11 +174,16 @@ test + + + com.google.guava + guava + + - org.codehaus.jackson - jackson-mapper-asl - 1.9.2 + com.fasterxml.jackson.core + jackson-databind diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/environment/LocalEnvironment.java b/guacamole-ext/src/main/java/org/apache/guacamole/environment/LocalEnvironment.java index b1d486518..eecfdfcac 100644 --- a/guacamole-ext/src/main/java/org/apache/guacamole/environment/LocalEnvironment.java +++ b/guacamole-ext/src/main/java/org/apache/guacamole/environment/LocalEnvironment.java @@ -19,6 +19,7 @@ package org.apache.guacamole.environment; +import com.fasterxml.jackson.databind.ObjectMapper; import java.io.File; import java.io.FileInputStream; import java.io.FilenameFilter; @@ -27,7 +28,6 @@ import java.io.InputStream; import java.util.HashMap; import java.util.Map; import java.util.Properties; -import org.codehaus.jackson.map.ObjectMapper; import org.apache.guacamole.GuacamoleException; import org.apache.guacamole.GuacamoleServerException; import org.apache.guacamole.net.auth.GuacamoleProxyConfiguration; diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/form/Field.java b/guacamole-ext/src/main/java/org/apache/guacamole/form/Field.java index d583f6f78..aa1c9257b 100644 --- a/guacamole-ext/src/main/java/org/apache/guacamole/form/Field.java +++ b/guacamole-ext/src/main/java/org/apache/guacamole/form/Field.java @@ -19,8 +19,9 @@ package org.apache.guacamole.form; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; import java.util.Collection; -import org.codehaus.jackson.map.annotate.JsonSerialize; /** * Represents an arbitrary field, such as an HTTP parameter, the parameter of a @@ -30,7 +31,7 @@ import org.codehaus.jackson.map.annotate.JsonSerialize; * either through the web application itself (see FormService.js) or through * extensions. */ -@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL) +@JsonInclude(value=Include.NON_NULL) public class Field { /** diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/form/FieldOption.java b/guacamole-ext/src/main/java/org/apache/guacamole/form/FieldOption.java index 30d4c5377..3a501a654 100644 --- a/guacamole-ext/src/main/java/org/apache/guacamole/form/FieldOption.java +++ b/guacamole-ext/src/main/java/org/apache/guacamole/form/FieldOption.java @@ -19,12 +19,13 @@ package org.apache.guacamole.form; -import org.codehaus.jackson.map.annotate.JsonSerialize; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; /** * Describes an available legal value for an enumerated field. */ -@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL) +@JsonInclude(value=Include.NON_NULL) public class FieldOption { /** diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/form/Form.java b/guacamole-ext/src/main/java/org/apache/guacamole/form/Form.java index bdbd04f21..d71b14054 100644 --- a/guacamole-ext/src/main/java/org/apache/guacamole/form/Form.java +++ b/guacamole-ext/src/main/java/org/apache/guacamole/form/Form.java @@ -19,14 +19,15 @@ package org.apache.guacamole.form; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; import java.util.ArrayList; import java.util.Collection; -import org.codehaus.jackson.map.annotate.JsonSerialize; /** * Information which describes logical set of fields. */ -@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL) +@JsonInclude(value=Include.NON_NULL) public class Form { /** diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/properties/ByteArrayProperty.java b/guacamole-ext/src/main/java/org/apache/guacamole/properties/ByteArrayProperty.java index eaa012b16..98aaa26d6 100644 --- a/guacamole-ext/src/main/java/org/apache/guacamole/properties/ByteArrayProperty.java +++ b/guacamole-ext/src/main/java/org/apache/guacamole/properties/ByteArrayProperty.java @@ -19,7 +19,7 @@ package org.apache.guacamole.properties; -import javax.xml.bind.DatatypeConverter; +import com.google.common.io.BaseEncoding; import org.apache.guacamole.GuacamoleException; import org.apache.guacamole.GuacamoleServerException; @@ -39,7 +39,7 @@ public abstract class ByteArrayProperty implements GuacamoleProperty { // Return value parsed from hex try { - return DatatypeConverter.parseHexBinary(value); + return BaseEncoding.base16().decode(value); } // Fail parse if hex invalid diff --git a/guacamole/pom.xml b/guacamole/pom.xml index 3e8941da7..9225582a9 100644 --- a/guacamole/pom.xml +++ b/guacamole/pom.xml @@ -30,6 +30,13 @@ guacamole http://guacamole.apache.org/ + + org.apache.guacamole + guacamole-client + 1.3.0 + ../ + + The Guacamole web application, providing authentication and an HTML5 remote desktop client. @@ -252,17 +259,14 @@ org.slf4j slf4j-api - 1.7.7 org.slf4j jul-to-slf4j - 1.7.7 ch.qos.logback logback-classic - 1.2.3 @@ -440,38 +444,32 @@ com.google.inject guice - 4.2.3 com.google.inject.extensions guice-assistedinject - 4.2.3 - - com.google.inject.extensions guice-servlet - 4.2.3 org.glassfish.jersey.containers jersey-container-servlet-core - 2.31 org.glassfish.jersey.inject jersey-hk2 - 2.31 - - org.glassfish.hk2 guice-bridge - 2.6.1 + + + org.glassfish.jersey.media + jersey-media-json-jackson @@ -481,27 +479,10 @@ 1.0 - - - org.glassfish.jersey.media - jersey-media-json-jackson - 2.31 - - - - - javax.xml.stream - stax-api - - - - - com.google.guava guava - 27.0.1-jre diff --git a/guacamole/src/main/java/org/apache/guacamole/extension/Extension.java b/guacamole/src/main/java/org/apache/guacamole/extension/Extension.java index 9d61abbb6..f46a72da1 100644 --- a/guacamole/src/main/java/org/apache/guacamole/extension/Extension.java +++ b/guacamole/src/main/java/org/apache/guacamole/extension/Extension.java @@ -19,6 +19,8 @@ package org.apache.guacamole.extension; +import com.fasterxml.jackson.core.JsonParseException; +import com.fasterxml.jackson.databind.ObjectMapper; import java.io.File; import java.io.IOException; import java.util.ArrayList; @@ -30,8 +32,6 @@ import java.util.zip.ZipEntry; import java.util.zip.ZipException; import java.util.zip.ZipFile; import org.apache.guacamole.net.event.listener.Listener; -import org.codehaus.jackson.JsonParseException; -import org.codehaus.jackson.map.ObjectMapper; import org.apache.guacamole.GuacamoleException; import org.apache.guacamole.GuacamoleServerException; import org.apache.guacamole.net.auth.AuthenticationProvider; diff --git a/guacamole/src/main/java/org/apache/guacamole/extension/ExtensionManifest.java b/guacamole/src/main/java/org/apache/guacamole/extension/ExtensionManifest.java index 2ed6c7579..b30c5dd5e 100644 --- a/guacamole/src/main/java/org/apache/guacamole/extension/ExtensionManifest.java +++ b/guacamole/src/main/java/org/apache/guacamole/extension/ExtensionManifest.java @@ -19,9 +19,9 @@ package org.apache.guacamole.extension; +import com.fasterxml.jackson.annotation.JsonProperty; import java.util.Collection; import java.util.Map; -import org.codehaus.jackson.annotate.JsonProperty; /** * Java representation of the JSON manifest contained within every Guacamole diff --git a/guacamole/src/main/java/org/apache/guacamole/extension/LanguageResourceService.java b/guacamole/src/main/java/org/apache/guacamole/extension/LanguageResourceService.java index d4e1d37ee..3cb2acbb9 100644 --- a/guacamole/src/main/java/org/apache/guacamole/extension/LanguageResourceService.java +++ b/guacamole/src/main/java/org/apache/guacamole/extension/LanguageResourceService.java @@ -19,6 +19,10 @@ package org.apache.guacamole.extension; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.node.JsonNodeFactory; +import com.fasterxml.jackson.databind.node.ObjectNode; import java.io.IOException; import java.io.InputStream; import java.util.Collections; @@ -29,10 +33,6 @@ import java.util.Set; import java.util.regex.Matcher; import java.util.regex.Pattern; import javax.servlet.ServletContext; -import org.codehaus.jackson.JsonNode; -import org.codehaus.jackson.map.ObjectMapper; -import org.codehaus.jackson.node.JsonNodeFactory; -import org.codehaus.jackson.node.ObjectNode; import org.apache.guacamole.GuacamoleException; import org.apache.guacamole.environment.Environment; import org.apache.guacamole.properties.StringSetProperty; @@ -178,17 +178,17 @@ public class LanguageResourceService { // Create mutable copy of original ObjectNode newNode = JsonNodeFactory.instance.objectNode(); - Iterator fieldNames = original.getFieldNames(); + Iterator fieldNames = original.fieldNames(); while (fieldNames.hasNext()) { String fieldName = fieldNames.next(); - newNode.put(fieldName, original.get(fieldName)); + newNode.set(fieldName, original.get(fieldName)); } // Merge each field - fieldNames = overlay.getFieldNames(); + fieldNames = overlay.fieldNames(); while (fieldNames.hasNext()) { String fieldName = fieldNames.next(); - newNode.put(fieldName, mergeTranslations(original.get(fieldName), overlay.get(fieldName))); + newNode.set(fieldName, mergeTranslations(original.get(fieldName), overlay.get(fieldName))); } return newNode; @@ -425,7 +425,7 @@ public class LanguageResourceService { // Attempt to read language name from node String languageName; - if (nameNode == null || (languageName = nameNode.getTextValue()) == null) { + if (nameNode == null || (languageName = nameNode.textValue()) == null) { logger.warn("Root-level \"" + LANGUAGE_DISPLAY_NAME_KEY + "\" string missing or invalid in language \"{}\"", languageKey); languageName = languageKey; } diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/connection/APIConnection.java b/guacamole/src/main/java/org/apache/guacamole/rest/connection/APIConnection.java index e402e67a9..f1e521b3d 100644 --- a/guacamole/src/main/java/org/apache/guacamole/rest/connection/APIConnection.java +++ b/guacamole/src/main/java/org/apache/guacamole/rest/connection/APIConnection.java @@ -19,11 +19,12 @@ package org.apache.guacamole.rest.connection; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; import java.util.Collection; import java.util.Date; import java.util.Map; -import org.codehaus.jackson.annotate.JsonIgnoreProperties; -import org.codehaus.jackson.map.annotate.JsonSerialize; import org.apache.guacamole.GuacamoleException; import org.apache.guacamole.net.auth.Connection; import org.apache.guacamole.protocol.GuacamoleConfiguration; @@ -33,7 +34,7 @@ import org.apache.guacamole.rest.sharingprofile.APISharingProfile; * A simple connection to expose through the REST endpoints. */ @JsonIgnoreProperties(ignoreUnknown = true) -@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL) +@JsonInclude(value=Include.NON_NULL) public class APIConnection { /** diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/connectiongroup/APIConnectionGroup.java b/guacamole/src/main/java/org/apache/guacamole/rest/connectiongroup/APIConnectionGroup.java index b9597d94f..3ab1f42bd 100644 --- a/guacamole/src/main/java/org/apache/guacamole/rest/connectiongroup/APIConnectionGroup.java +++ b/guacamole/src/main/java/org/apache/guacamole/rest/connectiongroup/APIConnectionGroup.java @@ -19,10 +19,11 @@ package org.apache.guacamole.rest.connectiongroup; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; import java.util.Collection; import java.util.Map; -import org.codehaus.jackson.annotate.JsonIgnoreProperties; -import org.codehaus.jackson.map.annotate.JsonSerialize; import org.apache.guacamole.net.auth.ConnectionGroup; import org.apache.guacamole.net.auth.ConnectionGroup.Type; import org.apache.guacamole.rest.connection.APIConnection; @@ -31,7 +32,7 @@ import org.apache.guacamole.rest.connection.APIConnection; * A simple connection group to expose through the REST endpoints. */ @JsonIgnoreProperties(ignoreUnknown = true) -@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL) +@JsonInclude(value=Include.NON_NULL) public class APIConnectionGroup { /** diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/sharingprofile/APISharingProfile.java b/guacamole/src/main/java/org/apache/guacamole/rest/sharingprofile/APISharingProfile.java index fe4db5097..04c61af9d 100644 --- a/guacamole/src/main/java/org/apache/guacamole/rest/sharingprofile/APISharingProfile.java +++ b/guacamole/src/main/java/org/apache/guacamole/rest/sharingprofile/APISharingProfile.java @@ -19,14 +19,17 @@ package org.apache.guacamole.rest.sharingprofile; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; import java.util.Map; -import org.codehaus.jackson.annotate.JsonIgnoreProperties; import org.apache.guacamole.net.auth.SharingProfile; /** * The external representation used by the REST API for sharing profiles. */ @JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(value=Include.NON_NULL) public class APISharingProfile { /** diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/user/APIUser.java b/guacamole/src/main/java/org/apache/guacamole/rest/user/APIUser.java index e71b5d278..f018074b6 100644 --- a/guacamole/src/main/java/org/apache/guacamole/rest/user/APIUser.java +++ b/guacamole/src/main/java/org/apache/guacamole/rest/user/APIUser.java @@ -19,17 +19,18 @@ package org.apache.guacamole.rest.user; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; import java.util.Date; import java.util.Map; -import org.codehaus.jackson.annotate.JsonIgnoreProperties; -import org.codehaus.jackson.map.annotate.JsonSerialize; import org.apache.guacamole.net.auth.User; /** * A simple User to expose through the REST endpoints. */ @JsonIgnoreProperties(ignoreUnknown = true) -@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL) +@JsonInclude(value=Include.NON_NULL) public class APIUser { /** diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/usergroup/APIUserGroup.java b/guacamole/src/main/java/org/apache/guacamole/rest/usergroup/APIUserGroup.java index c2087b8aa..df4847bc9 100644 --- a/guacamole/src/main/java/org/apache/guacamole/rest/usergroup/APIUserGroup.java +++ b/guacamole/src/main/java/org/apache/guacamole/rest/usergroup/APIUserGroup.java @@ -19,16 +19,17 @@ package org.apache.guacamole.rest.usergroup; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; import java.util.Map; -import org.codehaus.jackson.annotate.JsonIgnoreProperties; -import org.codehaus.jackson.map.annotate.JsonSerialize; import org.apache.guacamole.net.auth.UserGroup; /** * A simple UserGroup to expose through the REST endpoints. */ @JsonIgnoreProperties(ignoreUnknown = true) -@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL) +@JsonInclude(value=Include.NON_NULL) public class APIUserGroup { /** diff --git a/pom.xml b/pom.xml index a28587cd6..a8a10dd55 100644 --- a/pom.xml +++ b/pom.xml @@ -32,6 +32,14 @@ UTF-8 + 30.1-jre + 4.2.3 + 2.6.1 + 2.10.1 + 2.31 + 5.6.0 + 1.2.3 + 1.7.30 @@ -139,4 +147,116 @@ + + + + + + com.google.guava + guava + ${guava.version} + + + + + com.google.inject + guice + ${guice.version} + + + com.google.inject.extensions + guice-assistedinject + ${guice.version} + + + com.google.inject.extensions + guice-multibindings + ${guice.version} + + + com.google.inject.extensions + guice-servlet + ${guice.version} + + + + + org.glassfish.jersey.containers + jersey-container-servlet-core + ${jersey.version} + + + org.glassfish.jersey.inject + jersey-hk2 + ${jersey.version} + + + org.glassfish.hk2 + guice-bridge + ${guice-bridge.version} + + + + + org.glassfish.jersey.media + jersey-media-json-jackson + ${jersey.version} + + + + + javax.xml.stream + stax-api + + + + + + com.fasterxml.jackson.core + jackson-annotations + ${jackson.version} + + + com.fasterxml.jackson.core + jackson-databind + ${jackson.version} + + + + + org.slf4j + slf4j-api + ${slf4j.version} + + + org.slf4j + jul-to-slf4j + ${slf4j.version} + + + ch.qos.logback + logback-classic + ${logback.version} + + + + + org.junit.jupiter + junit-jupiter-api + ${junit.version} + + + org.junit.jupiter + junit-jupiter-params + ${junit.version} + + + org.junit.jupiter + junit-jupiter-engine + ${junit.version} + + + + +