mirror of
				https://github.com/gyurix1968/guacamole-client.git
				synced 2025-10-31 17:13:21 +00:00 
			
		
		
		
	GUACAMOLE-96: Add convenience classes for overriding the behavior of objects commonly stored in a Directory.
This commit is contained in:
		| @@ -0,0 +1,131 @@ | ||||
| /* | ||||
|  * 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; | ||||
|  | ||||
| import java.util.Date; | ||||
| import java.util.List; | ||||
| import java.util.Map; | ||||
| import java.util.Set; | ||||
| import org.apache.guacamole.GuacamoleException; | ||||
| import org.apache.guacamole.net.GuacamoleTunnel; | ||||
| import org.apache.guacamole.protocol.GuacamoleClientInformation; | ||||
| import org.apache.guacamole.protocol.GuacamoleConfiguration; | ||||
|  | ||||
| /** | ||||
|  * Connection implementation which simply delegates all function calls to an | ||||
|  * underlying Connection. | ||||
|  */ | ||||
| public class DelegatingConnection implements Connection { | ||||
|  | ||||
|     /** | ||||
|      * The wrapped Connection. | ||||
|      */ | ||||
|     private final Connection connection; | ||||
|  | ||||
|     /** | ||||
|      * Wraps the given Connection such that all function calls against this | ||||
|      * DelegatingConnection will be delegated to it. | ||||
|      * | ||||
|      * @param connection | ||||
|      *     The Connection to wrap. | ||||
|      */ | ||||
|     public DelegatingConnection(Connection connection) { | ||||
|         this.connection = connection; | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public String getIdentifier() { | ||||
|         return connection.getIdentifier(); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public void setIdentifier(String identifier) { | ||||
|         connection.setIdentifier(identifier); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public String getName() { | ||||
|         return connection.getName(); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public void setName(String name) { | ||||
|         connection.setName(name); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public String getParentIdentifier() { | ||||
|         return connection.getParentIdentifier(); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public void setParentIdentifier(String parentIdentifier) { | ||||
|         connection.setParentIdentifier(parentIdentifier); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public GuacamoleConfiguration getConfiguration() { | ||||
|         return connection.getConfiguration(); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public void setConfiguration(GuacamoleConfiguration config) { | ||||
|         connection.setConfiguration(config); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public Map<String, String> getAttributes() { | ||||
|         return connection.getAttributes(); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public void setAttributes(Map<String, String> attributes) { | ||||
|         connection.setAttributes(attributes); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public Date getLastActive() { | ||||
|         return connection.getLastActive(); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public List<? extends ConnectionRecord> getHistory() | ||||
|             throws GuacamoleException { | ||||
|         return connection.getHistory(); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public Set<String> getSharingProfileIdentifiers() | ||||
|             throws GuacamoleException { | ||||
|         return connection.getSharingProfileIdentifiers(); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public GuacamoleTunnel connect(GuacamoleClientInformation info) | ||||
|             throws GuacamoleException { | ||||
|         return connection.connect(info); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public int getActiveConnections() { | ||||
|         return connection.getActiveConnections(); | ||||
|     } | ||||
|  | ||||
| } | ||||
| @@ -0,0 +1,120 @@ | ||||
| /* | ||||
|  * 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; | ||||
|  | ||||
| import java.util.Map; | ||||
| import java.util.Set; | ||||
| import org.apache.guacamole.GuacamoleException; | ||||
| import org.apache.guacamole.net.GuacamoleTunnel; | ||||
| import org.apache.guacamole.protocol.GuacamoleClientInformation; | ||||
|  | ||||
| /** | ||||
|  * ConnectionGroup implementation which simply delegates all function calls to | ||||
|  * an underlying ConnectionGroup. | ||||
|  */ | ||||
| public class DelegatingConnectionGroup implements ConnectionGroup { | ||||
|  | ||||
|     /** | ||||
|      * The wrapped ConnectionGroup. | ||||
|      */ | ||||
|     private final ConnectionGroup connectionGroup; | ||||
|  | ||||
|     /** | ||||
|      * Wraps the given ConnectionGroup such that all function calls against this | ||||
|      * DelegatingConnectionGroup will be delegated to it. | ||||
|      * | ||||
|      * @param connectionGroup | ||||
|      *     The ConnectionGroup to wrap. | ||||
|      */ | ||||
|     public DelegatingConnectionGroup(ConnectionGroup connectionGroup) { | ||||
|         this.connectionGroup = connectionGroup; | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public String getIdentifier() { | ||||
|         return connectionGroup.getIdentifier(); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public void setIdentifier(String identifier) { | ||||
|         connectionGroup.setIdentifier(identifier); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public String getName() { | ||||
|         return connectionGroup.getName(); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public void setName(String name) { | ||||
|         connectionGroup.setName(name); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public String getParentIdentifier() { | ||||
|         return connectionGroup.getParentIdentifier(); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public void setParentIdentifier(String parentIdentifier) { | ||||
|         connectionGroup.setParentIdentifier(parentIdentifier); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public void setType(Type type) { | ||||
|         connectionGroup.setType(type); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public Type getType() { | ||||
|         return connectionGroup.getType(); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public Set<String> getConnectionIdentifiers() throws GuacamoleException { | ||||
|         return connectionGroup.getConnectionIdentifiers(); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public Set<String> getConnectionGroupIdentifiers() throws GuacamoleException { | ||||
|         return connectionGroup.getConnectionGroupIdentifiers(); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public Map<String, String> getAttributes() { | ||||
|         return connectionGroup.getAttributes(); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public void setAttributes(Map<String, String> attributes) { | ||||
|         connectionGroup.setAttributes(attributes); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public GuacamoleTunnel connect(GuacamoleClientInformation info) throws GuacamoleException { | ||||
|         return connectionGroup.connect(info); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public int getActiveConnections() { | ||||
|         return connectionGroup.getActiveConnections(); | ||||
|     } | ||||
|  | ||||
| } | ||||
| @@ -0,0 +1,96 @@ | ||||
| /* | ||||
|  * 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; | ||||
|  | ||||
| import java.util.Map; | ||||
|  | ||||
| /** | ||||
|  * SharingProfile implementation which simply delegates all function calls to an | ||||
|  * underlying SharingProfile. | ||||
|  */ | ||||
| public class DelegatingSharingProfile implements SharingProfile { | ||||
|  | ||||
|     /** | ||||
|      * The wrapped SharingProfile. | ||||
|      */ | ||||
|     private final SharingProfile sharingProfile; | ||||
|  | ||||
|     /** | ||||
|      * Wraps the given SharingProfile such that all function calls against this | ||||
|      * DelegatingSharingProfile will be delegated to it. | ||||
|      * | ||||
|      * @param sharingProfile | ||||
|      *     The SharingProfile to wrap. | ||||
|      */ | ||||
|     public DelegatingSharingProfile(SharingProfile sharingProfile) { | ||||
|         this.sharingProfile = sharingProfile; | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public String getIdentifier() { | ||||
|         return sharingProfile.getIdentifier(); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public void setIdentifier(String identifier) { | ||||
|         sharingProfile.setIdentifier(identifier); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public String getName() { | ||||
|         return sharingProfile.getName(); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public void setName(String name) { | ||||
|         sharingProfile.setName(name); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public String getPrimaryConnectionIdentifier() { | ||||
|         return sharingProfile.getPrimaryConnectionIdentifier(); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public void setPrimaryConnectionIdentifier(String identifier) { | ||||
|         sharingProfile.setPrimaryConnectionIdentifier(identifier); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public Map<String, String> getParameters() { | ||||
|         return sharingProfile.getParameters(); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public void setParameters(Map<String, String> parameters) { | ||||
|         sharingProfile.setParameters(parameters); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public Map<String, String> getAttributes() { | ||||
|         return sharingProfile.getAttributes(); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public void setAttributes(Map<String, String> attributes) { | ||||
|         sharingProfile.setAttributes(attributes); | ||||
|     } | ||||
|  | ||||
| } | ||||
| @@ -0,0 +1,127 @@ | ||||
| /* | ||||
|  * 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; | ||||
|  | ||||
| import java.util.Date; | ||||
| import java.util.List; | ||||
| import java.util.Map; | ||||
| import org.apache.guacamole.GuacamoleException; | ||||
| import org.apache.guacamole.net.auth.permission.ObjectPermissionSet; | ||||
| import org.apache.guacamole.net.auth.permission.SystemPermissionSet; | ||||
|  | ||||
| /** | ||||
|  * User implementation which simply delegates all function calls to an | ||||
|  * underlying User. | ||||
|  */ | ||||
| public class DelegatingUser implements User { | ||||
|  | ||||
|     /** | ||||
|      * The wrapped User. | ||||
|      */ | ||||
|     private final User user; | ||||
|  | ||||
|     /** | ||||
|      * Wraps the given User such that all function calls against this | ||||
|      * DelegatingUser will be delegated to it. | ||||
|      * | ||||
|      * @param user | ||||
|      *     The User to wrap. | ||||
|      */ | ||||
|     public DelegatingUser(User user) { | ||||
|         this.user = user; | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public String getIdentifier() { | ||||
|         return user.getIdentifier(); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public void setIdentifier(String identifier) { | ||||
|         user.setIdentifier(identifier); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public String getPassword() { | ||||
|         return user.getPassword(); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public void setPassword(String password) { | ||||
|         user.setPassword(password); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public Map<String, String> getAttributes() { | ||||
|         return user.getAttributes(); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public void setAttributes(Map<String, String> attributes) { | ||||
|         user.setAttributes(attributes); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public Date getLastActive() { | ||||
|         return user.getLastActive(); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public List<? extends ActivityRecord> getHistory() | ||||
|             throws GuacamoleException { | ||||
|         return user.getHistory(); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public SystemPermissionSet getSystemPermissions() | ||||
|             throws GuacamoleException { | ||||
|         return user.getSystemPermissions(); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public ObjectPermissionSet getConnectionPermissions() | ||||
|             throws GuacamoleException { | ||||
|         return user.getConnectionPermissions(); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public ObjectPermissionSet getConnectionGroupPermissions() | ||||
|             throws GuacamoleException { | ||||
|         return user.getConnectionGroupPermissions(); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public ObjectPermissionSet getSharingProfilePermissions() | ||||
|             throws GuacamoleException { | ||||
|         return user.getSharingProfilePermissions(); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public ObjectPermissionSet getActiveConnectionPermissions() | ||||
|             throws GuacamoleException { | ||||
|         return user.getActiveConnectionPermissions(); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public ObjectPermissionSet getUserPermissions() throws GuacamoleException { | ||||
|         return user.getUserPermissions(); | ||||
|     } | ||||
|  | ||||
| } | ||||
		Reference in New Issue
	
	Block a user