GUACAMOLE-220: Add SimpleUserGroup (read-only UserGroup implementation with no members).
Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/5362bc67 Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/5362bc67 Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/5362bc67 Branch: refs/heads/master Commit: 5362bc6708d10c56a66071c5adcfdb7e2ae816ad Parents: fd1928e Author: Michael Jumper <[email protected]> Authored: Sat Nov 3 10:07:47 2018 -0700 Committer: Michael Jumper <[email protected]> Committed: Sat Nov 3 12:41:54 2018 -0700 ---------------------------------------------------------------------- .../net/auth/simple/SimpleUserGroup.java | 118 +++++++++++++++++++ 1 file changed, 118 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/5362bc67/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/SimpleUserGroup.java ---------------------------------------------------------------------- diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/SimpleUserGroup.java b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/SimpleUserGroup.java new file mode 100644 index 0000000..2223206 --- /dev/null +++ b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/SimpleUserGroup.java @@ -0,0 +1,118 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you 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 + * + * 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.apache.guacamole.net.auth.simple; + +import java.util.Collections; +import java.util.Map; +import org.apache.guacamole.GuacamoleException; +import org.apache.guacamole.net.auth.AbstractIdentifiable; +import org.apache.guacamole.net.auth.RelatedObjectSet; +import org.apache.guacamole.net.auth.UserGroup; +import org.apache.guacamole.net.auth.permission.ObjectPermissionSet; +import org.apache.guacamole.net.auth.permission.SystemPermissionSet; + +/** + * A read-only UserGroup implementation which has no members. + */ +public class SimpleUserGroup extends AbstractIdentifiable implements UserGroup { + + /** + * Creates a completely uninitialized SimpleUserGroup. + */ + public SimpleUserGroup() { + } + + /** + * Creates a new SimpleUserGroup having the given identifier. + * + * @param identifier + * The identifier to assign to this SimpleUserGroup. + */ + public SimpleUserGroup(String identifier) { + super.setIdentifier(identifier); + } + + @Override + public Map<String, String> getAttributes() { + return Collections.<String, String>emptyMap(); + } + + @Override + public void setAttributes(Map<String, String> attributes) { + // Do nothing - there are no attributes + } + + @Override + public SystemPermissionSet getSystemPermissions() + throws GuacamoleException { + return new SimpleSystemPermissionSet(); + } + + @Override + public ObjectPermissionSet getConnectionPermissions() + throws GuacamoleException { + return new SimpleObjectPermissionSet(); + } + + @Override + public ObjectPermissionSet getConnectionGroupPermissions() + throws GuacamoleException { + return new SimpleObjectPermissionSet(); + } + + @Override + public ObjectPermissionSet getUserPermissions() + throws GuacamoleException { + return new SimpleObjectPermissionSet(); + } + + @Override + public ObjectPermissionSet getUserGroupPermissions() + throws GuacamoleException { + return new SimpleObjectPermissionSet(); + } + + @Override + public ObjectPermissionSet getActiveConnectionPermissions() + throws GuacamoleException { + return new SimpleObjectPermissionSet(); + } + + @Override + public ObjectPermissionSet getSharingProfilePermissions() { + return new SimpleObjectPermissionSet(); + } + + @Override + public RelatedObjectSet getUserGroups() throws GuacamoleException { + return new SimpleRelatedObjectSet(); + } + + @Override + public RelatedObjectSet getMemberUsers() throws GuacamoleException { + return new SimpleRelatedObjectSet(); + } + + @Override + public RelatedObjectSet getMemberUserGroups() throws GuacamoleException { + return new SimpleRelatedObjectSet(); + } + +}
