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:26 UTC

[6/7] incubator-guacamole-client git commit: GUACAMOLE-394: Add getLastActive() function, returning the time that a user/connection was last logged-in / used.

GUACAMOLE-394: Add getLastActive() function, returning the time that a user/connection was last logged-in / used.


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/3cd7f453
Tree: http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/tree/3cd7f453
Diff: http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/diff/3cd7f453

Branch: refs/heads/master
Commit: 3cd7f453c0a9ba8abd69c76cce8da8a917c0021e
Parents: b61f14e
Author: Michael Jumper <mj...@apache.org>
Authored: Mon Sep 11 18:49:11 2017 -0700
Committer: Michael Jumper <mj...@apache.org>
Committed: Mon Sep 25 12:50:52 2017 -0700

----------------------------------------------------------------------
 .../auth/jdbc/connection/ModeledConnection.java        |  6 ++++++
 .../auth/jdbc/sharing/connection/SharedConnection.java |  6 ++++++
 .../guacamole/auth/jdbc/sharing/user/SharedUser.java   |  9 +++++++++
 .../apache/guacamole/auth/jdbc/user/ModeledUser.java   |  5 +++++
 .../java/org/apache/guacamole/net/auth/Connection.java | 13 +++++++++++++
 .../main/java/org/apache/guacamole/net/auth/User.java  | 12 ++++++++++++
 .../guacamole/net/auth/simple/SimpleConnection.java    |  6 ++++++
 .../apache/guacamole/net/auth/simple/SimpleUser.java   |  6 ++++++
 .../rest/connection/APIConnectionWrapper.java          |  6 ++++++
 .../org/apache/guacamole/rest/user/APIUserWrapper.java |  6 ++++++
 10 files changed, 75 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/3cd7f453/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connection/ModeledConnection.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connection/ModeledConnection.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connection/ModeledConnection.java
index 365c40d..c596b27 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connection/ModeledConnection.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connection/ModeledConnection.java
@@ -24,6 +24,7 @@ import com.google.inject.Provider;
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.Collections;
+import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -233,6 +234,11 @@ public class ModeledConnection extends ModeledChildDirectoryObject<ConnectionMod
     }
 
     @Override
+    public Date getLastActive() {
+        return null;
+    }
+
+    @Override
     public List<? extends ConnectionRecord> getHistory() throws GuacamoleException {
         return connectionService.retrieveHistory(getCurrentUser(), this);
     }

http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/3cd7f453/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/sharing/connection/SharedConnection.java
----------------------------------------------------------------------
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/sharing/connection/SharedConnection.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/sharing/connection/SharedConnection.java
index 1c955db..5483d02 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/sharing/connection/SharedConnection.java
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/sharing/connection/SharedConnection.java
@@ -21,6 +21,7 @@ package org.apache.guacamole.auth.jdbc.sharing.connection;
 
 import com.google.inject.Inject;
 import java.util.Collections;
+import java.util.Date;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
@@ -147,6 +148,11 @@ public class SharedConnection implements Connection {
     }
 
     @Override
+    public Date getLastActive() {
+        return null;
+    }
+
+    @Override
     public List<? extends ConnectionRecord> getHistory()
             throws GuacamoleException {
         return Collections.<ConnectionRecord>emptyList();

http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/3cd7f453/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 07d762a..8e7931d 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,6 +20,7 @@
 package org.apache.guacamole.auth.jdbc.sharing.user;
 
 import java.util.Collections;
+import java.util.Date;
 import java.util.List;
 import java.util.Map;
 import org.apache.guacamole.GuacamoleException;
@@ -91,6 +92,14 @@ public class SharedUser implements User {
     }
 
     @Override
+    public Date getLastActive() {
+
+        // History is not recorded for shared users
+        return null;
+
+    }
+
+    @Override
     public List<ActivityRecord> getHistory() throws GuacamoleException {
 
         // History is not recorded for shared users

http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/3cd7f453/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 1d40c1f..fc43e36 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
@@ -795,6 +795,11 @@ public class ModeledUser extends ModeledDirectoryObject<UserModel> implements Us
     }
 
     @Override
+    public Date getLastActive() {
+        return null;
+    }
+
+    @Override
     public List<ActivityRecord> getHistory() throws GuacamoleException {
         return Collections.<ActivityRecord>emptyList();
     }

http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/3cd7f453/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/Connection.java
----------------------------------------------------------------------
diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/Connection.java b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/Connection.java
index b0795e2..85fd168 100644
--- a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/Connection.java
+++ b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/Connection.java
@@ -19,6 +19,7 @@
 
 package org.apache.guacamole.net.auth;
 
+import java.util.Date;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
@@ -103,6 +104,18 @@ public interface Connection extends Identifiable, Connectable {
     void setAttributes(Map<String, String> attributes);
 
     /**
+     * Returns the date and time that this connection was last used. If the
+     * connection was never used, the time that the connection was last used is
+     * unknown, or this information is not visible to the current user, this
+     * may be null.
+     *
+     * @return
+     *     The date and time this connection was last used, or null if this
+     *     information is unavailable or inapplicable.
+     */
+    Date getLastActive();
+
+    /**
      * Returns a list of ConnectionRecords representing the usage history
      * of this Connection, including any active users. ConnectionRecords
      * in this list will be sorted in descending order of end time (active

http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/3cd7f453/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 43d57c0..f7bd61c 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.Date;
 import java.util.List;
 import java.util.Map;
 import org.apache.guacamole.GuacamoleException;
@@ -102,6 +103,17 @@ public interface User extends Identifiable {
     void setAttributes(Map<String, String> attributes);
 
     /**
+     * Returns the date and time that this user was last active. If the user
+     * was never active, the time that the user was last active is unknown, or
+     * this information is not visible to the current user, this may be null.
+     *
+     * @return
+     *     The date and time this user was last active, or null if this
+     *     information is unavailable or inapplicable.
+     */
+    Date getLastActive();
+
+    /**
      * 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

http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/3cd7f453/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/SimpleConnection.java
----------------------------------------------------------------------
diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/SimpleConnection.java b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/SimpleConnection.java
index 2251a9e..85783a0 100644
--- a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/SimpleConnection.java
+++ b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/SimpleConnection.java
@@ -20,6 +20,7 @@
 package org.apache.guacamole.net.auth.simple;
 
 import java.util.Collections;
+import java.util.Date;
 import java.util.List;
 import java.util.Map;
 import org.apache.guacamole.GuacamoleException;
@@ -137,6 +138,11 @@ public class SimpleConnection extends AbstractConnection {
     }
 
     @Override
+    public Date getLastActive() {
+        return null;
+    }
+
+    @Override
     public List<ConnectionRecord> getHistory() throws GuacamoleException {
         return Collections.<ConnectionRecord>emptyList();
     }

http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/3cd7f453/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 cd20f39..19ed357 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
@@ -21,6 +21,7 @@ package org.apache.guacamole.net.auth.simple;
 
 import java.util.Collection;
 import java.util.Collections;
+import java.util.Date;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
@@ -166,6 +167,11 @@ public class SimpleUser extends AbstractUser {
     }
 
     @Override
+    public Date getLastActive() {
+        return null;
+    }
+
+    @Override
     public List<ActivityRecord> getHistory() throws GuacamoleException {
         return Collections.<ActivityRecord>emptyList();
     }

http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/3cd7f453/guacamole/src/main/java/org/apache/guacamole/rest/connection/APIConnectionWrapper.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/connection/APIConnectionWrapper.java b/guacamole/src/main/java/org/apache/guacamole/rest/connection/APIConnectionWrapper.java
index e06e338..3a987e5 100644
--- a/guacamole/src/main/java/org/apache/guacamole/rest/connection/APIConnectionWrapper.java
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/connection/APIConnectionWrapper.java
@@ -20,6 +20,7 @@
 package org.apache.guacamole.rest.connection;
 
 import java.util.Collections;
+import java.util.Date;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
@@ -132,6 +133,11 @@ public class APIConnectionWrapper implements Connection {
     }
 
     @Override
+    public Date getLastActive() {
+        return null;
+    }
+
+    @Override
     public List<? extends ConnectionRecord> getHistory() throws GuacamoleException {
         return Collections.<ConnectionRecord>emptyList();
     }

http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/3cd7f453/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 7f37be6..c4b85f9 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
@@ -20,6 +20,7 @@
 package org.apache.guacamole.rest.user;
 
 import java.util.Collections;
+import java.util.Date;
 import java.util.List;
 import java.util.Map;
 import org.apache.guacamole.GuacamoleException;
@@ -116,6 +117,11 @@ public class APIUserWrapper implements User {
     }
 
     @Override
+    public Date getLastActive() {
+        return null;
+    }
+
+    @Override
     public List<? extends ActivityRecord> getHistory() throws GuacamoleException {
         return Collections.<ActivityRecord>emptyList();
     }