GUACAMOLE-641: Allow extensions to add arbitrary sources of Guacamole properties.

This commit is contained in:
Michael Jumper committed 2021-05-20 16:45:38 -07:00
1 parent 9d7b979195
commit 61a3ec1331
7 files changed
+648 -4

No files matched your search

@@ -19,9 +19,11 @@
package org.apache.guacamole.environment;
import org.apache.guacamole.properties.GuacamoleProperties;
import java.io.File;
import java.util.Map;
import org.apache.guacamole.GuacamoleException;
import org.apache.guacamole.GuacamoleUnsupportedException;
import org.apache.guacamole.net.auth.GuacamoleProxyConfiguration;
import org.apache.guacamole.properties.BooleanGuacamoleProperty;
import org.apache.guacamole.properties.GuacamoleProperty;
@@ -162,4 +164,24 @@ public interface Environment {
public GuacamoleProxyConfiguration getDefaultGuacamoleProxyConfiguration()
throws GuacamoleException;
/**
* Adds another possible source of Guacamole configuration properties to
* this Environment. Properties not already defined by other sources of
* Guacamole configuration properties will alternatively be read from the
* given {@link GuacamoleProperties}.
*
* @param properties
* The GuacamoleProperties to add to this Environment.
*
* @throws GuacamoleException
* If the given GuacamoleProperties cannot be added, or if this
* Environment does not support this operation.
*/
public default void addGuacamoleProperties(GuacamoleProperties properties)
throws GuacamoleException {
throw new GuacamoleUnsupportedException(String.format("%s does not "
+ "support dynamic definition of Guacamole properties.",
getClass()));
}
}