You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@guacamole.apache.org by vn...@apache.org on 2017/09/27 22:16:25 UTC
[5/7] incubator-guacamole-client git commit: GUACAMOLE-394: Add
history list at User object level (similar to Connection).
GUACAMOLE-394: Add history list at User object level (similar to Connection).
Project: http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/commit/b61f14e4
Tree: http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/tree/b61f14e4
Diff: http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/diff/b61f14e4
Branch: refs/heads/master
Commit: b61f14e4db06bf2d2dfc1fd7e2098e0d96618b82
Parents: 700005e
Author: Michael Jumper <mj...@apache.org>
Authored: Mon Sep 11 18:33:49 2017 -0700
Committer: Michael Jumper <mj...@apache.org>
Committed: Mon Sep 25 12:49:43 2017 -0700
----------------------------------------------------------------------
.../auth/jdbc/sharing/user/SharedUser.java | 10 ++++++++++
.../guacamole/auth/jdbc/user/ModeledUser.java | 7 +++++++
.../java/org/apache/guacamole/net/auth/User.java | 18 ++++++++++++++++++
.../guacamole/net/auth/simple/SimpleUser.java | 7 +++++++
.../guacamole/rest/user/APIUserWrapper.java | 8 ++++++++
5 files changed, 50 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/b61f14e4/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/sharing/user/SharedUser.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/sharing/user/SharedUser.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/sharing/user/SharedUser.java
index 57120ea..07d762a 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/sharing/user/SharedUser.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/sharing/user/SharedUser.java
@@ -20,9 +20,11 @@
package org.apache.guacamole.auth.jdbc.sharing.user;
import java.util.Collections;
+import java.util.List;
import java.util.Map;
import org.apache.guacamole.GuacamoleException;
import org.apache.guacamole.auth.jdbc.sharing.permission.SharedObjectPermissionSet;
+import org.apache.guacamole.net.auth.ActivityRecord;
import org.apache.guacamole.net.auth.AuthenticatedUser;
import org.apache.guacamole.net.auth.Connection;
import org.apache.guacamole.net.auth.ConnectionGroup;
@@ -89,6 +91,14 @@ public class SharedUser implements User {
}
@Override
+ public List<ActivityRecord> getHistory() throws GuacamoleException {
+
+ // History is not recorded for shared users
+ return Collections.<ActivityRecord>emptyList();
+
+ }
+
+ @Override
public String getPassword() {
return null;
}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/b61f14e4/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/user/ModeledUser.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/user/ModeledUser.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/user/ModeledUser.java
index 36a0be8..1d40c1f 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/user/ModeledUser.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/user/ModeledUser.java
@@ -29,6 +29,7 @@ import java.util.Calendar;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
+import java.util.List;
import java.util.Map;
import java.util.TimeZone;
import org.apache.guacamole.auth.jdbc.base.ModeledDirectoryObject;
@@ -49,6 +50,7 @@ import org.apache.guacamole.form.Form;
import org.apache.guacamole.form.TextField;
import org.apache.guacamole.form.TimeField;
import org.apache.guacamole.form.TimeZoneField;
+import org.apache.guacamole.net.auth.ActivityRecord;
import org.apache.guacamole.net.auth.User;
import org.apache.guacamole.net.auth.permission.ObjectPermissionSet;
import org.apache.guacamole.net.auth.permission.SystemPermission;
@@ -792,4 +794,9 @@ public class ModeledUser extends ModeledDirectoryObject<UserModel> implements Us
return getModel().isExpired();
}
+ @Override
+ public List<ActivityRecord> getHistory() throws GuacamoleException {
+ return Collections.<ActivityRecord>emptyList();
+ }
+
}
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/b61f14e4/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/User.java
----------------------------------------------------------------------
diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/User.java b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/User.java
index 88756e4..43d57c0 100644
--- a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/User.java
+++ b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/User.java
@@ -19,6 +19,7 @@
package org.apache.guacamole.net.auth;
+import java.util.List;
import java.util.Map;
import org.apache.guacamole.GuacamoleException;
import org.apache.guacamole.net.auth.permission.ObjectPermissionSet;
@@ -101,6 +102,23 @@ public interface User extends Identifiable {
void setAttributes(Map<String, String> attributes);
/**
+ * Returns a list of ActivityRecords representing the login history
+ * of this user, including any active sessions. ActivityRecords
+ * in this list will be sorted in descending order of end time (active
+ * sessions are first), and then in descending order of start time
+ * (newer sessions are first).
+ *
+ * @return
+ * A list of ActivityRecords representing the login history of this
+ * User.
+ *
+ * @throws GuacamoleException
+ * If an error occurs while reading the history of this user, or if
+ * permission is denied.
+ */
+ List<? extends ActivityRecord> getHistory() throws GuacamoleException;
+
+ /**
* Returns all system-level permissions given to this user.
*
* @return
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/b61f14e4/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/SimpleUser.java
----------------------------------------------------------------------
diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/SimpleUser.java b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/SimpleUser.java
index d6db92f..cd20f39 100644
--- a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/SimpleUser.java
+++ b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/SimpleUser.java
@@ -22,10 +22,12 @@ package org.apache.guacamole.net.auth.simple;
import java.util.Collection;
import java.util.Collections;
import java.util.HashSet;
+import java.util.List;
import java.util.Map;
import java.util.Set;
import org.apache.guacamole.GuacamoleException;
import org.apache.guacamole.net.auth.AbstractUser;
+import org.apache.guacamole.net.auth.ActivityRecord;
import org.apache.guacamole.net.auth.permission.ObjectPermission;
import org.apache.guacamole.net.auth.permission.ObjectPermissionSet;
import org.apache.guacamole.net.auth.permission.SystemPermissionSet;
@@ -164,6 +166,11 @@ public class SimpleUser extends AbstractUser {
}
@Override
+ public List<ActivityRecord> getHistory() throws GuacamoleException {
+ return Collections.<ActivityRecord>emptyList();
+ }
+
+ @Override
public SystemPermissionSet getSystemPermissions()
throws GuacamoleException {
return new SimpleSystemPermissionSet();
http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/b61f14e4/guacamole/src/main/java/org/apache/guacamole/rest/user/APIUserWrapper.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/user/APIUserWrapper.java b/guacamole/src/main/java/org/apache/guacamole/rest/user/APIUserWrapper.java
index 35769fa..7f37be6 100644
--- a/guacamole/src/main/java/org/apache/guacamole/rest/user/APIUserWrapper.java
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/user/APIUserWrapper.java
@@ -19,9 +19,12 @@
package org.apache.guacamole.rest.user;
+import java.util.Collections;
+import java.util.List;
import java.util.Map;
import org.apache.guacamole.GuacamoleException;
import org.apache.guacamole.GuacamoleUnsupportedException;
+import org.apache.guacamole.net.auth.ActivityRecord;
import org.apache.guacamole.net.auth.User;
import org.apache.guacamole.net.auth.permission.ObjectPermissionSet;
import org.apache.guacamole.net.auth.permission.SystemPermissionSet;
@@ -112,4 +115,9 @@ public class APIUserWrapper implements User {
throw new GuacamoleUnsupportedException("APIUserWrapper does not provide permission access.");
}
+ @Override
+ public List<? extends ActivityRecord> getHistory() throws GuacamoleException {
+ return Collections.<ActivityRecord>emptyList();
+ }
+
}