Repository: incubator-guacamole-client
Updated Branches:
  refs/heads/master 9b5483edc -> 81ffa5c8e


GUACAMOLE-394: Deprecate ConnectionRecordSet. Refactor accordingly.


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

Branch: refs/heads/master
Commit: 26122ebc3eb07934264618c319f93738a230a973
Parents: cd5d238
Author: Michael Jumper <[email protected]>
Authored: Sat Sep 9 13:20:43 2017 -0700
Committer: Michael Jumper <[email protected]>
Committed: Mon Sep 25 12:30:03 2017 -0700

----------------------------------------------------------------------
 .../jdbc/connection/ConnectionRecordSet.java    | 10 ++-
 .../ConnectionRecordSortPredicate.java          |  8 +-
 .../jdbc/sharing/user/SharedUserContext.java    |  9 ++-
 .../jdbc/connection/ConnectionRecordMapper.xml  |  4 +-
 .../jdbc/connection/ConnectionRecordMapper.xml  |  4 +-
 .../guacamole/auth/ldap/user/UserContext.java   |  9 ++-
 .../guacamole/net/auth/ConnectionRecordSet.java | 82 ++------------------
 .../apache/guacamole/net/auth/UserContext.java  |  5 +-
 .../auth/simple/SimpleActivityRecordSet.java    | 62 +++++++++++++++
 .../auth/simple/SimpleConnectionRecordSet.java  | 14 ++--
 .../net/auth/simple/SimpleUserContext.java      |  7 +-
 .../APIConnectionRecordSortPredicate.java       | 26 +++----
 .../guacamole/rest/history/HistoryResource.java |  4 +-
 13 files changed, 123 insertions(+), 121 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/26122ebc/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connection/ConnectionRecordSet.java
----------------------------------------------------------------------
diff --git 
a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connection/ConnectionRecordSet.java
 
b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connection/ConnectionRecordSet.java
index f89a450..7b3d629 100644
--- 
a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connection/ConnectionRecordSet.java
+++ 
b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connection/ConnectionRecordSet.java
@@ -27,15 +27,17 @@ import java.util.List;
 import java.util.Set;
 import org.apache.guacamole.GuacamoleException;
 import org.apache.guacamole.auth.jdbc.base.RestrictedObject;
+import org.apache.guacamole.net.auth.ActivityRecordSet;
+import org.apache.guacamole.net.auth.ActivityRecordSet.SortableProperty;
 import org.apache.guacamole.net.auth.ConnectionRecord;
 
 /**
- * A JDBC implementation of ConnectionRecordSet. Calls to asCollection() will 
- * query connection history records from the database. Which records are
- * returned will be determined by the values passed in earlier.
+ * A JDBC implementation of ActivityRecordSet for ConnectionRecords. Calls to
+ * asCollection() will query connection history records from the database. 
Which
+ * records are returned will be determined by the values passed in earlier.
  */
 public class ConnectionRecordSet extends RestrictedObject
-        implements org.apache.guacamole.net.auth.ConnectionRecordSet {
+        implements ActivityRecordSet<ConnectionRecord> {
 
     /**
      * Service for managing connection objects.

http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/26122ebc/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connection/ConnectionRecordSortPredicate.java
----------------------------------------------------------------------
diff --git 
a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connection/ConnectionRecordSortPredicate.java
 
b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connection/ConnectionRecordSortPredicate.java
index 17f4380..69eee78 100644
--- 
a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connection/ConnectionRecordSortPredicate.java
+++ 
b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connection/ConnectionRecordSortPredicate.java
@@ -19,7 +19,7 @@
 
 package org.apache.guacamole.auth.jdbc.connection;
 
-import org.apache.guacamole.net.auth.ConnectionRecordSet;
+import org.apache.guacamole.net.auth.ActivityRecordSet;
 
 /**
  * A sort predicate which species the property to use when sorting connection
@@ -30,7 +30,7 @@ public class ConnectionRecordSortPredicate {
     /**
      * The property to use when sorting ConnectionRecords.
      */
-    private final ConnectionRecordSet.SortableProperty property;
+    private final ActivityRecordSet.SortableProperty property;
 
     /**
      * Whether the sort order is descending (true) or ascending (false).
@@ -47,7 +47,7 @@ public class ConnectionRecordSortPredicate {
      * @param descending 
      *     Whether the sort order is descending (true) or ascending (false).
      */
-    public ConnectionRecordSortPredicate(ConnectionRecordSet.SortableProperty 
property, 
+    public ConnectionRecordSortPredicate(ActivityRecordSet.SortableProperty 
property,
             boolean descending) {
         this.property   = property;
         this.descending = descending;
@@ -59,7 +59,7 @@ public class ConnectionRecordSortPredicate {
      * @return
      *     The property that should be used when sorting ConnectionRecords.
      */
-    public ConnectionRecordSet.SortableProperty getProperty() {
+    public ActivityRecordSet.SortableProperty getProperty() {
         return property;
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/26122ebc/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/sharing/user/SharedUserContext.java
----------------------------------------------------------------------
diff --git 
a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/sharing/user/SharedUserContext.java
 
b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/sharing/user/SharedUserContext.java
index 2092898..cdfe0fc 100644
--- 
a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/sharing/user/SharedUserContext.java
+++ 
b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/sharing/user/SharedUserContext.java
@@ -28,16 +28,17 @@ import 
org.apache.guacamole.auth.jdbc.sharing.connectiongroup.SharedRootConnecti
 import org.apache.guacamole.auth.jdbc.user.RemoteAuthenticatedUser;
 import org.apache.guacamole.form.Form;
 import org.apache.guacamole.net.auth.ActiveConnection;
+import org.apache.guacamole.net.auth.ActivityRecordSet;
 import org.apache.guacamole.net.auth.AuthenticationProvider;
 import org.apache.guacamole.net.auth.Connection;
 import org.apache.guacamole.net.auth.ConnectionGroup;
-import org.apache.guacamole.net.auth.ConnectionRecordSet;
+import org.apache.guacamole.net.auth.ConnectionRecord;
 import org.apache.guacamole.net.auth.Directory;
 import org.apache.guacamole.net.auth.SharingProfile;
 import org.apache.guacamole.net.auth.User;
 import org.apache.guacamole.net.auth.UserContext;
+import org.apache.guacamole.net.auth.simple.SimpleActivityRecordSet;
 import org.apache.guacamole.net.auth.simple.SimpleConnectionGroupDirectory;
-import org.apache.guacamole.net.auth.simple.SimpleConnectionRecordSet;
 import org.apache.guacamole.net.auth.simple.SimpleDirectory;
 
 /**
@@ -175,8 +176,8 @@ public class SharedUserContext implements UserContext {
     }
 
     @Override
-    public ConnectionRecordSet getConnectionHistory() {
-        return new SimpleConnectionRecordSet();
+    public ActivityRecordSet<ConnectionRecord> getConnectionHistory() {
+        return new SimpleActivityRecordSet<ConnectionRecord>();
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/26122ebc/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/src/main/resources/org/apache/guacamole/auth/jdbc/connection/ConnectionRecordMapper.xml
----------------------------------------------------------------------
diff --git 
a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/src/main/resources/org/apache/guacamole/auth/jdbc/connection/ConnectionRecordMapper.xml
 
b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/src/main/resources/org/apache/guacamole/auth/jdbc/connection/ConnectionRecordMapper.xml
index c2c12c1..287ca02 100644
--- 
a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/src/main/resources/org/apache/guacamole/auth/jdbc/connection/ConnectionRecordMapper.xml
+++ 
b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/src/main/resources/org/apache/guacamole/auth/jdbc/connection/ConnectionRecordMapper.xml
@@ -129,7 +129,7 @@
         </foreach>
 
         <!-- Bind sort property enum values for sake of readability -->
-        <bind name="START_DATE"      
value="@org.apache.guacamole.net.auth.ConnectionRecordSet$SortableProperty@START_DATE"/>
+        <bind name="START_DATE" 
value="@org.apache.guacamole.net.auth.ActivityRecordSet$SortableProperty@START_DATE"/>
 
         <!-- Sort predicates -->
         <foreach collection="sortPredicates" item="sortPredicate"
@@ -199,7 +199,7 @@
         </foreach>
 
         <!-- Bind sort property enum values for sake of readability -->
-        <bind name="START_DATE"      
value="@org.apache.guacamole.net.auth.ConnectionRecordSet$SortableProperty@START_DATE"/>
+        <bind name="START_DATE" 
value="@org.apache.guacamole.net.auth.ActivityRecordSet$SortableProperty@START_DATE"/>
 
         <!-- Sort predicates -->
         <foreach collection="sortPredicates" item="sortPredicate"

http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/26122ebc/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/src/main/resources/org/apache/guacamole/auth/jdbc/connection/ConnectionRecordMapper.xml
----------------------------------------------------------------------
diff --git 
a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/src/main/resources/org/apache/guacamole/auth/jdbc/connection/ConnectionRecordMapper.xml
 
b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/src/main/resources/org/apache/guacamole/auth/jdbc/connection/ConnectionRecordMapper.xml
index 2b3e193..4545332 100644
--- 
a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/src/main/resources/org/apache/guacamole/auth/jdbc/connection/ConnectionRecordMapper.xml
+++ 
b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-postgresql/src/main/resources/org/apache/guacamole/auth/jdbc/connection/ConnectionRecordMapper.xml
@@ -127,7 +127,7 @@
         </foreach>
 
         <!-- Bind sort property enum values for sake of readability -->
-        <bind name="START_DATE"      
value="@org.apache.guacamole.net.auth.ConnectionRecordSet$SortableProperty@START_DATE"/>
+        <bind name="START_DATE" 
value="@org.apache.guacamole.net.auth.ActivityRecordSet$SortableProperty@START_DATE"/>
 
         <!-- Sort predicates -->
         <foreach collection="sortPredicates" item="sortPredicate"
@@ -197,7 +197,7 @@
         </foreach>
 
         <!-- Bind sort property enum values for sake of readability -->
-        <bind name="START_DATE"      
value="@org.apache.guacamole.net.auth.ConnectionRecordSet$SortableProperty@START_DATE"/>
+        <bind name="START_DATE" 
value="@org.apache.guacamole.net.auth.ActivityRecordSet$SortableProperty@START_DATE"/>
 
         <!-- Sort predicates -->
         <foreach collection="sortPredicates" item="sortPredicate"

http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/26122ebc/extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/user/UserContext.java
----------------------------------------------------------------------
diff --git 
a/extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/user/UserContext.java
 
b/extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/user/UserContext.java
index 39c32e4..98d65ea 100644
--- 
a/extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/user/UserContext.java
+++ 
b/extensions/guacamole-auth-ldap/src/main/java/org/apache/guacamole/auth/ldap/user/UserContext.java
@@ -28,17 +28,18 @@ import 
org.apache.guacamole.auth.ldap.connection.ConnectionService;
 import org.apache.guacamole.GuacamoleException;
 import org.apache.guacamole.form.Form;
 import org.apache.guacamole.net.auth.ActiveConnection;
+import org.apache.guacamole.net.auth.ActivityRecordSet;
 import org.apache.guacamole.net.auth.AuthenticatedUser;
 import org.apache.guacamole.net.auth.AuthenticationProvider;
 import org.apache.guacamole.net.auth.Connection;
 import org.apache.guacamole.net.auth.ConnectionGroup;
-import org.apache.guacamole.net.auth.ConnectionRecordSet;
+import org.apache.guacamole.net.auth.ConnectionRecord;
 import org.apache.guacamole.net.auth.Directory;
 import org.apache.guacamole.net.auth.SharingProfile;
 import org.apache.guacamole.net.auth.User;
+import org.apache.guacamole.net.auth.simple.SimpleActivityRecordSet;
 import org.apache.guacamole.net.auth.simple.SimpleConnectionGroup;
 import org.apache.guacamole.net.auth.simple.SimpleConnectionGroupDirectory;
-import org.apache.guacamole.net.auth.simple.SimpleConnectionRecordSet;
 import org.apache.guacamole.net.auth.simple.SimpleDirectory;
 import org.apache.guacamole.net.auth.simple.SimpleUser;
 import org.slf4j.Logger;
@@ -204,9 +205,9 @@ public class UserContext implements 
org.apache.guacamole.net.auth.UserContext {
     }
 
     @Override
-    public ConnectionRecordSet getConnectionHistory()
+    public ActivityRecordSet<ConnectionRecord> getConnectionHistory()
             throws GuacamoleException {
-        return new SimpleConnectionRecordSet();
+        return new SimpleActivityRecordSet<ConnectionRecord>();
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/26122ebc/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/ConnectionRecordSet.java
----------------------------------------------------------------------
diff --git 
a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/ConnectionRecordSet.java
 
b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/ConnectionRecordSet.java
index 87f91bb..62c84ec 100644
--- 
a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/ConnectionRecordSet.java
+++ 
b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/ConnectionRecordSet.java
@@ -19,83 +19,13 @@
 
 package org.apache.guacamole.net.auth;
 
-import org.apache.guacamole.GuacamoleException;
-
 /**
  * The set of all available connection records, or a subset of those records.
+ *
+ * @deprecated
+ *     Use {@link ActivityRecordSet}&lt;{@link ConnectionRecord}&gt; instead.
  */
-public interface ConnectionRecordSet extends 
ActivityRecordSet<ConnectionRecord> {
-
-    /**
-     * Returns the subset of connection records to only those where the
-     * connection name, user identifier, or any associated date field contain
-     * the given value. This function may also affect the contents of the
-     * current ConnectionRecordSet. The contents of the current
-     * ConnectionRecordSet should NOT be relied upon after this function is
-     * called.
-     *
-     * @param value
-     *     The value which all connection records within the resulting subset
-     *     should contain within their associated connection name or user
-     *     identifier.
-     *
-     * @return
-     *     The subset of connection history records which contain the specified
-     *     value within their associated connection name or user identifier.
-     *
-     * @throws GuacamoleException
-     *     If an error occurs while restricting the current subset.
-     */
-    @Override
-    ConnectionRecordSet contains(String value) throws GuacamoleException;
-
-    /**
-     * Returns the subset of connection history records containing only the
-     * first <code>limit</code> records. If the subset has fewer than
-     * <code>limit</code> records, then this function has no effect. This
-     * function may also affect the contents of the current
-     * ConnectionRecordSet. The contents of the current ConnectionRecordSet
-     * should NOT be relied upon after this function is called.
-     *
-     * @param limit
-     *     The maximum number of records that the new subset should contain.
-     *
-     * @return
-     *     The subset of connection history records that containing only the
-     *     first <code>limit</code> records.
-     *
-     * @throws GuacamoleException
-     *     If an error occurs while limiting the current subset.
-     */
-    @Override
-    ConnectionRecordSet limit(int limit) throws GuacamoleException;
-
-    /**
-     * Returns a ConnectionRecordSet containing identically the records within
-     * this set, sorted according to the specified criteria. The sort operation
-     * performed is guaranteed to be stable with respect to any past call to
-     * sort(). This function may also affect the contents of the current
-     * ConnectionRecordSet. The contents of the current ConnectionRecordSet
-     * should NOT be relied upon after this function is called.
-     *
-     * @param property
-     *     The property by which the connection records within the resulting
-     *     set should be sorted.
-     *
-     * @param desc
-     *     Whether the records should be sorted according to the specified
-     *     property in descending order. If false, records will be sorted
-     *     according to the specified property in ascending order.
-     *
-     * @return
-     *     The ConnnectionRecordSet, sorted according to the specified
-     *     criteria.
-     *
-     * @throws GuacamoleException
-     *     If an error occurs while sorting the current subset.
-     */
-    @Override
-    ConnectionRecordSet sort(SortableProperty property, boolean desc)
-            throws GuacamoleException;
-
+@Deprecated
+public interface ConnectionRecordSet
+        extends ActivityRecordSet<ConnectionRecord> {
 }

http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/26122ebc/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/UserContext.java
----------------------------------------------------------------------
diff --git 
a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/UserContext.java 
b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/UserContext.java
index 596c5d9..92f3604 100644
--- a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/UserContext.java
+++ b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/UserContext.java
@@ -145,7 +145,7 @@ public interface UserContext {
     /**
      * Retrieves all connection records visible to current user. The resulting
      * set of connection records can be further filtered and ordered using the
-     * methods defined on ConnectionRecordSet.
+     * methods defined on ActivityRecordSet.
      *
      * @return
      *     A set of all connection records visible to the current user.
@@ -153,7 +153,8 @@ public interface UserContext {
      * @throws GuacamoleException
      *     If an error occurs while retrieving the connection records.
      */
-    ConnectionRecordSet getConnectionHistory() throws GuacamoleException;
+    ActivityRecordSet<ConnectionRecord> getConnectionHistory()
+            throws GuacamoleException;
 
     /**
      * Retrieves a connection group which can be used to view and manipulate

http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/26122ebc/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/SimpleActivityRecordSet.java
----------------------------------------------------------------------
diff --git 
a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/SimpleActivityRecordSet.java
 
b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/SimpleActivityRecordSet.java
new file mode 100644
index 0000000..a9a3c3e
--- /dev/null
+++ 
b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/SimpleActivityRecordSet.java
@@ -0,0 +1,62 @@
+/*
+ * 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.Collection;
+import java.util.Collections;
+import org.apache.guacamole.GuacamoleException;
+import org.apache.guacamole.net.auth.ActivityRecord;
+import org.apache.guacamole.net.auth.ActivityRecordSet;
+import org.apache.guacamole.net.auth.ActivityRecordSet.SortableProperty;
+
+/**
+ * An immutable and empty ActivityRecordSet.
+ *
+ * @param <RecordType>
+ *     The type of ActivityRecord contained within this set.
+ */
+public class SimpleActivityRecordSet<RecordType extends ActivityRecord>
+        implements ActivityRecordSet<RecordType> {
+
+    @Override
+    public Collection<RecordType> asCollection()
+            throws GuacamoleException {
+        return Collections.<RecordType>emptyList();
+    }
+
+    @Override
+    public ActivityRecordSet<RecordType> contains(String value)
+            throws GuacamoleException {
+        return this;
+    }
+
+    @Override
+    public ActivityRecordSet<RecordType> limit(int limit)
+            throws GuacamoleException {
+        return this;
+    }
+
+    @Override
+    public ActivityRecordSet<RecordType> sort(SortableProperty property,
+            boolean desc) throws GuacamoleException {
+        return this;
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/26122ebc/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/SimpleConnectionRecordSet.java
----------------------------------------------------------------------
diff --git 
a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/SimpleConnectionRecordSet.java
 
b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/SimpleConnectionRecordSet.java
index f18b3d6..41971c9 100644
--- 
a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/SimpleConnectionRecordSet.java
+++ 
b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/SimpleConnectionRecordSet.java
@@ -23,12 +23,16 @@ import java.util.Collection;
 import java.util.Collections;
 import org.apache.guacamole.GuacamoleException;
 import org.apache.guacamole.net.auth.ConnectionRecord;
-import org.apache.guacamole.net.auth.ConnectionRecordSet;
 
 /**
  * An immutable and empty ConnectionRecordSet.
+ *
+ * @deprecated
+ *     Use {@link SimpleActivityRecordSet}&lt;{@link ConnectionRecord}&gt;
+ *     instead.
  */
-public class SimpleConnectionRecordSet implements ConnectionRecordSet {
+@Deprecated
+public class SimpleConnectionRecordSet implements 
org.apache.guacamole.net.auth.ConnectionRecordSet {
 
     @Override
     public Collection<ConnectionRecord> asCollection()
@@ -37,19 +41,19 @@ public class SimpleConnectionRecordSet implements 
ConnectionRecordSet {
     }
 
     @Override
-    public ConnectionRecordSet contains(String value)
+    public org.apache.guacamole.net.auth.ConnectionRecordSet contains(String 
value)
             throws GuacamoleException {
         return this;
     }
 
     @Override
-    public ConnectionRecordSet limit(int limit)
+    public org.apache.guacamole.net.auth.ConnectionRecordSet limit(int limit)
             throws GuacamoleException {
         return this;
     }
 
     @Override
-    public ConnectionRecordSet sort(SortableProperty property, boolean desc)
+    public org.apache.guacamole.net.auth.ConnectionRecordSet 
sort(SortableProperty property, boolean desc)
             throws GuacamoleException {
         return this;
     }

http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/26122ebc/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/SimpleUserContext.java
----------------------------------------------------------------------
diff --git 
a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/SimpleUserContext.java
 
b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/SimpleUserContext.java
index d87cf95..97584ed 100644
--- 
a/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/SimpleUserContext.java
+++ 
b/guacamole-ext/src/main/java/org/apache/guacamole/net/auth/simple/SimpleUserContext.java
@@ -27,10 +27,11 @@ import java.util.UUID;
 import org.apache.guacamole.GuacamoleException;
 import org.apache.guacamole.form.Form;
 import org.apache.guacamole.net.auth.ActiveConnection;
+import org.apache.guacamole.net.auth.ActivityRecordSet;
 import org.apache.guacamole.net.auth.AuthenticationProvider;
 import org.apache.guacamole.net.auth.Connection;
 import org.apache.guacamole.net.auth.ConnectionGroup;
-import org.apache.guacamole.net.auth.ConnectionRecordSet;
+import org.apache.guacamole.net.auth.ConnectionRecord;
 import org.apache.guacamole.net.auth.Directory;
 import org.apache.guacamole.net.auth.SharingProfile;
 import org.apache.guacamole.net.auth.User;
@@ -209,9 +210,9 @@ public class SimpleUserContext implements UserContext {
     }
 
     @Override
-    public ConnectionRecordSet getConnectionHistory()
+    public ActivityRecordSet<ConnectionRecord> getConnectionHistory()
             throws GuacamoleException {
-        return new SimpleConnectionRecordSet();
+        return new SimpleActivityRecordSet<ConnectionRecord>();
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/26122ebc/guacamole/src/main/java/org/apache/guacamole/rest/history/APIConnectionRecordSortPredicate.java
----------------------------------------------------------------------
diff --git 
a/guacamole/src/main/java/org/apache/guacamole/rest/history/APIConnectionRecordSortPredicate.java
 
b/guacamole/src/main/java/org/apache/guacamole/rest/history/APIConnectionRecordSortPredicate.java
index 2a4c818..d2281d0 100644
--- 
a/guacamole/src/main/java/org/apache/guacamole/rest/history/APIConnectionRecordSortPredicate.java
+++ 
b/guacamole/src/main/java/org/apache/guacamole/rest/history/APIConnectionRecordSortPredicate.java
@@ -21,7 +21,7 @@ package org.apache.guacamole.rest.history;
 
 import javax.ws.rs.core.Response;
 import org.apache.guacamole.GuacamoleClientException;
-import org.apache.guacamole.net.auth.ConnectionRecordSet;
+import org.apache.guacamole.net.auth.ActivityRecordSet;
 import org.apache.guacamole.rest.APIException;
 
 /**
@@ -38,7 +38,7 @@ public class APIConnectionRecordSortPredicate {
 
     /**
      * All possible property name strings and their corresponding
-     * ConnectionRecordSet.SortableProperty values.
+     * ActivityRecordSet.SortableProperty values.
      */
     public enum SortableProperty {
 
@@ -46,24 +46,24 @@ public class APIConnectionRecordSortPredicate {
          * The date that the connection associated with the connection record
          * began (connected).
          */
-        startDate(ConnectionRecordSet.SortableProperty.START_DATE);
+        startDate(ActivityRecordSet.SortableProperty.START_DATE);
 
         /**
-         * The ConnectionRecordSet.SortableProperty that this property name
+         * The ActivityRecordSet.SortableProperty that this property name
          * string represents.
          */
-        public final ConnectionRecordSet.SortableProperty recordProperty;
+        public final ActivityRecordSet.SortableProperty recordProperty;
 
         /**
          * Creates a new SortableProperty which associates the property name
          * string (identical to its own name) with the given
-         * ConnectionRecordSet.SortableProperty value.
+         * ActivityRecordSet.SortableProperty value.
          *
          * @param recordProperty
-         *     The ConnectionRecordSet.SortableProperty value to associate with
+         *     The ActivityRecordSet.SortableProperty value to associate with
          *     the new SortableProperty.
          */
-        SortableProperty(ConnectionRecordSet.SortableProperty recordProperty) {
+        SortableProperty(ActivityRecordSet.SortableProperty recordProperty) {
             this.recordProperty = recordProperty;
         }
 
@@ -72,7 +72,7 @@ public class APIConnectionRecordSortPredicate {
     /**
      * The property to use when sorting ConnectionRecords.
      */
-    private ConnectionRecordSet.SortableProperty property;
+    private ActivityRecordSet.SortableProperty property;
 
     /**
      * Whether the requested sort order is descending (true) or ascending
@@ -102,7 +102,7 @@ public class APIConnectionRecordSortPredicate {
             value = value.substring(DESCENDING_PREFIX.length());
         }
 
-        // Parse sorting property into ConnectionRecordSet.SortableProperty
+        // Parse sorting property into ActivityRecordSet.SortableProperty
         try {
             this.property = SortableProperty.valueOf(value).recordProperty;
         }
@@ -118,15 +118,15 @@ public class APIConnectionRecordSortPredicate {
     }
 
     /**
-     * Returns the SortableProperty defined by ConnectionRecordSet which
+     * Returns the SortableProperty defined by ActivityRecordSet which
      * represents the property requested.
      *
      * @return
-     *     The ConnectionRecordSet.SortableProperty which refers to the same
+     *     The ActivityRecordSet.SortableProperty which refers to the same
      *     property as the string originally provided when this
      *     APIConnectionRecordSortPredicate was created.
      */
-    public ConnectionRecordSet.SortableProperty getProperty() {
+    public ActivityRecordSet.SortableProperty getProperty() {
         return property;
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/26122ebc/guacamole/src/main/java/org/apache/guacamole/rest/history/HistoryResource.java
----------------------------------------------------------------------
diff --git 
a/guacamole/src/main/java/org/apache/guacamole/rest/history/HistoryResource.java
 
b/guacamole/src/main/java/org/apache/guacamole/rest/history/HistoryResource.java
index 49695c4..53a8cdb 100644
--- 
a/guacamole/src/main/java/org/apache/guacamole/rest/history/HistoryResource.java
+++ 
b/guacamole/src/main/java/org/apache/guacamole/rest/history/HistoryResource.java
@@ -28,8 +28,8 @@ import javax.ws.rs.Produces;
 import javax.ws.rs.QueryParam;
 import javax.ws.rs.core.MediaType;
 import org.apache.guacamole.GuacamoleException;
+import org.apache.guacamole.net.auth.ActivityRecordSet;
 import org.apache.guacamole.net.auth.ConnectionRecord;
-import org.apache.guacamole.net.auth.ConnectionRecordSet;
 import org.apache.guacamole.net.auth.UserContext;
 
 /**
@@ -92,7 +92,7 @@ public class HistoryResource {
             throws GuacamoleException {
 
         // Retrieve overall connection history
-        ConnectionRecordSet history = userContext.getConnectionHistory();
+        ActivityRecordSet<ConnectionRecord> history = 
userContext.getConnectionHistory();
 
         // Restrict to records which contain the specified strings
         for (String required : requiredContents) {

Reply via email to