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 2018/01/05 15:36:46 UTC
[4/7] guacamole-client git commit: GUACAMOLE-394: Expose "last
active" time for connections and users via REST API.
GUACAMOLE-394: Expose "last active" time for connections and users via REST API.
Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/67fc77a1
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/67fc77a1
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/67fc77a1
Branch: refs/heads/master
Commit: 67fc77a1c7a2efb64e74d400fec8d2013c41ab56
Parents: b8ce9c9
Author: Michael Jumper <mj...@apache.org>
Authored: Mon Sep 11 19:03:27 2017 -0700
Committer: Michael Jumper <mj...@apache.org>
Committed: Mon Dec 11 20:44:28 2017 -0800
----------------------------------------------------------------------
.../rest/connection/APIConnection.java | 33 +++++++++++++++++++-
.../org/apache/guacamole/rest/user/APIUser.java | 31 ++++++++++++++++++
.../main/webapp/app/rest/types/Connection.js | 9 ++++++
.../src/main/webapp/app/rest/types/User.js | 9 ++++++
4 files changed, 81 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/67fc77a1/guacamole/src/main/java/org/apache/guacamole/rest/connection/APIConnection.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/connection/APIConnection.java b/guacamole/src/main/java/org/apache/guacamole/rest/connection/APIConnection.java
index 8e6a385..e402e67 100644
--- a/guacamole/src/main/java/org/apache/guacamole/rest/connection/APIConnection.java
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/connection/APIConnection.java
@@ -20,6 +20,7 @@
package org.apache.guacamole.rest.connection;
import java.util.Collection;
+import java.util.Date;
import java.util.Map;
import org.codehaus.jackson.annotate.JsonIgnoreProperties;
import org.codehaus.jackson.map.annotate.JsonSerialize;
@@ -75,7 +76,13 @@ public class APIConnection {
* The count of currently active connections using this connection.
*/
private int activeConnections;
-
+
+ /**
+ * The date and time that this connection was last used, or null if this
+ * connection has never been used or this information is unavailable.
+ */
+ private Date lastActive;
+
/**
* Create an empty APIConnection.
*/
@@ -97,6 +104,7 @@ public class APIConnection {
this.identifier = connection.getIdentifier();
this.parentIdentifier = connection.getParentIdentifier();
this.activeConnections = connection.getActiveConnections();
+ this.lastActive = connection.getLastActive();
// Set protocol from configuration
GuacamoleConfiguration configuration = connection.getConfiguration();
@@ -257,4 +265,27 @@ public class APIConnection {
this.sharingProfiles = sharingProfiles;
}
+ /**
+ * Returns the date and time that this connection was last used, or null if
+ * this connection has never been used or this information is unavailable.
+ *
+ * @return
+ * The date and time that this connection was last used, or null if this
+ * connection has never been used or this information is unavailable.
+ */
+ public Date getLastActive() {
+ return lastActive;
+ }
+
+ /**
+ * Sets the date and time that this connection was last used.
+ *
+ * @param lastActive
+ * The date and time that this connection was last used, or null if this
+ * connection has never been used or this information is unavailable.
+ */
+ public void setLastActive(Date lastActive) {
+ this.lastActive = lastActive;
+ }
+
}
http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/67fc77a1/guacamole/src/main/java/org/apache/guacamole/rest/user/APIUser.java
----------------------------------------------------------------------
diff --git a/guacamole/src/main/java/org/apache/guacamole/rest/user/APIUser.java b/guacamole/src/main/java/org/apache/guacamole/rest/user/APIUser.java
index 96e2230..e71b5d2 100644
--- a/guacamole/src/main/java/org/apache/guacamole/rest/user/APIUser.java
+++ b/guacamole/src/main/java/org/apache/guacamole/rest/user/APIUser.java
@@ -19,6 +19,7 @@
package org.apache.guacamole.rest.user;
+import java.util.Date;
import java.util.Map;
import org.codehaus.jackson.annotate.JsonIgnoreProperties;
import org.codehaus.jackson.map.annotate.JsonSerialize;
@@ -47,6 +48,12 @@ public class APIUser {
private Map<String, String> attributes;
/**
+ * The date and time that this user was last logged in, or null if this user
+ * has never logged in or this information is unavailable.
+ */
+ private Date lastActive;
+
+ /**
* Construct a new empty APIUser.
*/
public APIUser() {}
@@ -60,6 +67,7 @@ public class APIUser {
// Set user information
this.username = user.getIdentifier();
this.password = user.getPassword();
+ this.lastActive = user.getLastActive();
// Associate any attributes
this.attributes = user.getAttributes();
@@ -122,4 +130,27 @@ public class APIUser {
this.attributes = attributes;
}
+ /**
+ * Returns the date and time that this user was last logged in, or null if
+ * this user has never logged in or this information is unavailable.
+ *
+ * @return
+ * The date and time that this user was last logged in, or null if this
+ * user has never logged in or this information is unavailable.
+ */
+ public Date getLastActive() {
+ return lastActive;
+ }
+
+ /**
+ * Sets the date and time that this user was last logged in.
+ *
+ * @param lastActive
+ * The date and time that this user was last logged in, or null if this
+ * user has never logged in or this information is unavailable.
+ */
+ public void setLastActive(Date lastActive) {
+ this.lastActive = lastActive;
+ }
+
}
http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/67fc77a1/guacamole/src/main/webapp/app/rest/types/Connection.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/rest/types/Connection.js b/guacamole/src/main/webapp/app/rest/types/Connection.js
index b4639b2..52da6b7 100644
--- a/guacamole/src/main/webapp/app/rest/types/Connection.js
+++ b/guacamole/src/main/webapp/app/rest/types/Connection.js
@@ -104,6 +104,15 @@ angular.module('rest').factory('Connection', [function defineConnection() {
*/
this.sharingProfiles = template.sharingProfiles;
+ /**
+ * The time that this connection was last used, in seconds since
+ * 1970-01-01 00:00:00 UTC. If this information is unknown or
+ * unavailable, this will be null.
+ *
+ * @type Number
+ */
+ this.lastActive = template.lastActive;
+
};
return Connection;
http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/67fc77a1/guacamole/src/main/webapp/app/rest/types/User.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/rest/types/User.js b/guacamole/src/main/webapp/app/rest/types/User.js
index 9edd1f2..d0a96cc 100644
--- a/guacamole/src/main/webapp/app/rest/types/User.js
+++ b/guacamole/src/main/webapp/app/rest/types/User.js
@@ -54,6 +54,15 @@ angular.module('rest').factory('User', [function defineUser() {
this.password = template.password;
/**
+ * The time that this user was last logged in, in seconds since
+ * 1970-01-01 00:00:00 UTC. If this information is unknown or
+ * unavailable, this will be null.
+ *
+ * @type Number
+ */
+ this.lastActive = template.lastActive;
+
+ /**
* Arbitrary name/value pairs which further describe this user. The
* semantics and validity of these attributes are dictated by the
* extension which defines them.