diff --git a/extensions/guacamole-vault/modules/guacamole-vault-base/src/main/java/org/apache/guacamole/vault/conf/VaultAttributeService.java b/extensions/guacamole-vault/modules/guacamole-vault-base/src/main/java/org/apache/guacamole/vault/conf/VaultAttributeService.java index b77601621..f4129bb95 100644 --- a/extensions/guacamole-vault/modules/guacamole-vault-base/src/main/java/org/apache/guacamole/vault/conf/VaultAttributeService.java +++ b/extensions/guacamole-vault/modules/guacamole-vault-base/src/main/java/org/apache/guacamole/vault/conf/VaultAttributeService.java @@ -31,10 +31,13 @@ import org.apache.guacamole.form.Form; public interface VaultAttributeService { /** - * Return all connection group attributes to be exposed through the admin UI. + * Return all custom connection group attributes to be exposed through the + * admin UI for the current vault implementation. * * @return - * All connection group attributes to be exposed through the admin UI. + * All custom connection group attributes to be exposed through the + * admin UI for the current vault implementation. + * */ public Collection
getConnectionGroupAttributes(); } diff --git a/extensions/guacamole-vault/modules/guacamole-vault-base/src/main/java/org/apache/guacamole/vault/user/VaultUserContext.java b/extensions/guacamole-vault/modules/guacamole-vault-base/src/main/java/org/apache/guacamole/vault/user/VaultUserContext.java index 876d7d186..06ee8aaac 100644 --- a/extensions/guacamole-vault/modules/guacamole-vault-base/src/main/java/org/apache/guacamole/vault/user/VaultUserContext.java +++ b/extensions/guacamole-vault/modules/guacamole-vault-base/src/main/java/org/apache/guacamole/vault/user/VaultUserContext.java @@ -28,6 +28,9 @@ import java.util.HashMap; import java.util.Map; import java.util.concurrent.ExecutionException; import java.util.concurrent.Future; +import java.util.stream.Collectors; +import java.util.stream.Stream; + import org.apache.guacamole.GuacamoleException; import org.apache.guacamole.GuacamoleServerException; import org.apache.guacamole.form.Form; @@ -425,7 +428,12 @@ public class VaultUserContext extends TokenInjectingUserContext { @Override public Collection getConnectionGroupAttributes() { - return attributeService.getConnectionGroupAttributes(); + + // Add any custom attributes to any previously defined attributes + return Stream.concat( + super.getConnectionGroupAttributes().stream(), + attributeService.getConnectionGroupAttributes().stream() + ).collect(Collectors.toUnmodifiableList()); } }