mirror of
https://github.com/gyurix1968/guacamole-client.git
synced 2025-09-06 13:17:41 +00:00
GUACAMOLE-394: Split ConnectionRecord model and ModeledConnectionRecord into ActivityRecordModel and ModeledActivityRecord, etc. mirroring changes to guacamole-ext.
This commit is contained in:
@@ -0,0 +1,167 @@
|
|||||||
|
/*
|
||||||
|
* 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.auth.jdbc.base;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A single activity record representing an arbitrary activity performed by a
|
||||||
|
* user.
|
||||||
|
*/
|
||||||
|
public class ActivityRecordModel {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The database ID of the user associated with this activity record.
|
||||||
|
*/
|
||||||
|
private Integer userID;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The username of the user that performed the activity.
|
||||||
|
*/
|
||||||
|
private String username;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The remote host associated with the user that performed the activity.
|
||||||
|
*/
|
||||||
|
private String remoteHost;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The time the activity was initiated by the associated user.
|
||||||
|
*/
|
||||||
|
private Date startDate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The time the activity ended, or null if the end time is not known or
|
||||||
|
* the activity is still in progress.
|
||||||
|
*/
|
||||||
|
private Date endDate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the database ID of the user associated with this activity
|
||||||
|
* record.
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
* The database ID of the user associated with this activity record.
|
||||||
|
*/
|
||||||
|
public Integer getUserID() {
|
||||||
|
return userID;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the database ID of the user associated with this activity record.
|
||||||
|
*
|
||||||
|
* @param userID
|
||||||
|
* The database ID of the user to associate with this activity
|
||||||
|
* record.
|
||||||
|
*/
|
||||||
|
public void setUserID(Integer userID) {
|
||||||
|
this.userID = userID;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the username of the user that performed the activity associated
|
||||||
|
* with this record.
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
* The username of the user that performed the activity associated with
|
||||||
|
* this record.
|
||||||
|
*/
|
||||||
|
public String getUsername() {
|
||||||
|
return username;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the username of the user that performed the activity associated
|
||||||
|
* with this record.
|
||||||
|
*
|
||||||
|
* @param username
|
||||||
|
* The username of the user that performed the activity associated with
|
||||||
|
* this record.
|
||||||
|
*/
|
||||||
|
public void setUsername(String username) {
|
||||||
|
this.username = username;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the remote host associated with the user that performed the
|
||||||
|
* activity.
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
* The remote host associated with the user that performed the activity.
|
||||||
|
*/
|
||||||
|
public String getRemoteHost() {
|
||||||
|
return remoteHost;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the remote host associated with the user that performed the
|
||||||
|
* activity.
|
||||||
|
*
|
||||||
|
* @param remoteHost
|
||||||
|
* The remote host associated with the user that performed the activity.
|
||||||
|
*/
|
||||||
|
public void setRemoteHost(String remoteHost) {
|
||||||
|
this.remoteHost = remoteHost;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the time the activity was initiated by the associated user.
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
* The time the activity was initiated by the associated user.
|
||||||
|
*/
|
||||||
|
public Date getStartDate() {
|
||||||
|
return startDate;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the time the activity was initiated by the associated user.
|
||||||
|
*
|
||||||
|
* @param startDate
|
||||||
|
* The time the activity was initiated by the associated user.
|
||||||
|
*/
|
||||||
|
public void setStartDate(Date startDate) {
|
||||||
|
this.startDate = startDate;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the time the activity ended, or null if the end time is not
|
||||||
|
* known or the activity is still in progress.
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
* The time the activity ended, or null if the end time is not known or
|
||||||
|
* the activity is still in progress.
|
||||||
|
*/
|
||||||
|
public Date getEndDate() {
|
||||||
|
return endDate;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the time the activity ended, if known.
|
||||||
|
*
|
||||||
|
* @param endDate
|
||||||
|
* The time the activity ended, or null if the end time is not known or
|
||||||
|
* the activity is still in progress.
|
||||||
|
*/
|
||||||
|
public void setEndDate(Date endDate) {
|
||||||
|
this.endDate = endDate;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@@ -17,7 +17,7 @@
|
|||||||
* under the License.
|
* under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.apache.guacamole.auth.jdbc.connection;
|
package org.apache.guacamole.auth.jdbc.base;
|
||||||
|
|
||||||
import java.util.Calendar;
|
import java.util.Calendar;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
@@ -25,11 +25,11 @@ import java.util.regex.Matcher;
|
|||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A search term for querying historical connection records. This will contain
|
* A search term for querying historical records of arbitrary activities. This
|
||||||
* a the search term in string form and, if that string appears to be a date. a
|
* will contain a the search term in string form and, if that string appears to
|
||||||
* corresponding date range.
|
* be a date. a corresponding date range.
|
||||||
*/
|
*/
|
||||||
public class ConnectionRecordSearchTerm {
|
public class ActivityRecordSearchTerm {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A pattern that can match a year, year and month, or year and month and
|
* A pattern that can match a year, year and month, or year and month and
|
||||||
@@ -180,7 +180,7 @@ public class ConnectionRecordSearchTerm {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a new ConnectionRecordSearchTerm representing the given string.
|
* Creates a new ActivityRecordSearchTerm representing the given string.
|
||||||
* If the given string appears to be a date, the start and end dates of the
|
* If the given string appears to be a date, the start and end dates of the
|
||||||
* implied date range will be automatically determined and made available
|
* implied date range will be automatically determined and made available
|
||||||
* via getStartDate() and getEndDate() respectively.
|
* via getStartDate() and getEndDate() respectively.
|
||||||
@@ -188,7 +188,7 @@ public class ConnectionRecordSearchTerm {
|
|||||||
* @param term
|
* @param term
|
||||||
* The string that should be searched for.
|
* The string that should be searched for.
|
||||||
*/
|
*/
|
||||||
public ConnectionRecordSearchTerm(String term) {
|
public ActivityRecordSearchTerm(String term) {
|
||||||
|
|
||||||
// Search terms absolutely must not be null
|
// Search terms absolutely must not be null
|
||||||
if (term == null)
|
if (term == null)
|
||||||
@@ -281,10 +281,10 @@ public class ConnectionRecordSearchTerm {
|
|||||||
@Override
|
@Override
|
||||||
public boolean equals(Object obj) {
|
public boolean equals(Object obj) {
|
||||||
|
|
||||||
if (obj == null || !(obj instanceof ConnectionRecordSearchTerm))
|
if (obj == null || !(obj instanceof ActivityRecordSearchTerm))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
return ((ConnectionRecordSearchTerm) obj).getTerm().equals(getTerm());
|
return ((ActivityRecordSearchTerm) obj).getTerm().equals(getTerm());
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@@ -17,18 +17,18 @@
|
|||||||
* under the License.
|
* under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.apache.guacamole.auth.jdbc.connection;
|
package org.apache.guacamole.auth.jdbc.base;
|
||||||
|
|
||||||
import org.apache.guacamole.net.auth.ActivityRecordSet;
|
import org.apache.guacamole.net.auth.ActivityRecordSet;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A sort predicate which species the property to use when sorting connection
|
* A sort predicate which species the property to use when sorting activity
|
||||||
* records, along with the sort order.
|
* records, along with the sort order.
|
||||||
*/
|
*/
|
||||||
public class ConnectionRecordSortPredicate {
|
public class ActivityRecordSortPredicate {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The property to use when sorting ConnectionRecords.
|
* The property to use when sorting ActivityRecords.
|
||||||
*/
|
*/
|
||||||
private final ActivityRecordSet.SortableProperty property;
|
private final ActivityRecordSet.SortableProperty property;
|
||||||
|
|
||||||
@@ -38,26 +38,26 @@ public class ConnectionRecordSortPredicate {
|
|||||||
private final boolean descending;
|
private final boolean descending;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a new ConnectionRecordSortPredicate with the given sort property
|
* Creates a new ActivityRecordSortPredicate with the given sort property
|
||||||
* and sort order.
|
* and sort order.
|
||||||
*
|
*
|
||||||
* @param property
|
* @param property
|
||||||
* The property to use when sorting ConnectionRecords.
|
* The property to use when sorting ActivityRecords.
|
||||||
*
|
*
|
||||||
* @param descending
|
* @param descending
|
||||||
* Whether the sort order is descending (true) or ascending (false).
|
* Whether the sort order is descending (true) or ascending (false).
|
||||||
*/
|
*/
|
||||||
public ConnectionRecordSortPredicate(ActivityRecordSet.SortableProperty property,
|
public ActivityRecordSortPredicate(ActivityRecordSet.SortableProperty property,
|
||||||
boolean descending) {
|
boolean descending) {
|
||||||
this.property = property;
|
this.property = property;
|
||||||
this.descending = descending;
|
this.descending = descending;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the property that should be used when sorting ConnectionRecords.
|
* Returns the property that should be used when sorting ActivityRecords.
|
||||||
*
|
*
|
||||||
* @return
|
* @return
|
||||||
* The property that should be used when sorting ConnectionRecords.
|
* The property that should be used when sorting ActivityRecords.
|
||||||
*/
|
*/
|
||||||
public ActivityRecordSet.SortableProperty getProperty() {
|
public ActivityRecordSet.SortableProperty getProperty() {
|
||||||
return property;
|
return property;
|
@@ -0,0 +1,73 @@
|
|||||||
|
/*
|
||||||
|
* 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.auth.jdbc.base;
|
||||||
|
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
import org.apache.guacamole.net.auth.ActivityRecord;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* An ActivityRecord which is backed by a database model.
|
||||||
|
*/
|
||||||
|
public class ModeledActivityRecord implements ActivityRecord {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The model object backing this activity record.
|
||||||
|
*/
|
||||||
|
private final ActivityRecordModel model;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates a new ModeledActivityRecord backed by the given model object.
|
||||||
|
* Changes to this record will affect the backing model object, and changes
|
||||||
|
* to the backing model object will affect this record.
|
||||||
|
*
|
||||||
|
* @param model
|
||||||
|
* The model object to use to back this activity record.
|
||||||
|
*/
|
||||||
|
public ModeledActivityRecord(ActivityRecordModel model) {
|
||||||
|
this.model = model;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Date getStartDate() {
|
||||||
|
return model.getStartDate();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Date getEndDate() {
|
||||||
|
return model.getEndDate();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getRemoteHost() {
|
||||||
|
return model.getRemoteHost();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getUsername() {
|
||||||
|
return model.getUsername();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isActive() {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@@ -21,6 +21,8 @@ package org.apache.guacamole.auth.jdbc.connection;
|
|||||||
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import org.apache.guacamole.auth.jdbc.base.ActivityRecordSearchTerm;
|
||||||
|
import org.apache.guacamole.auth.jdbc.base.ActivityRecordSortPredicate;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
import org.apache.guacamole.auth.jdbc.user.UserModel;
|
import org.apache.guacamole.auth.jdbc.user.UserModel;
|
||||||
|
|
||||||
@@ -75,8 +77,8 @@ public interface ConnectionRecordMapper {
|
|||||||
* @return
|
* @return
|
||||||
* The results of the search performed with the given parameters.
|
* The results of the search performed with the given parameters.
|
||||||
*/
|
*/
|
||||||
List<ConnectionRecordModel> search(@Param("terms") Collection<ConnectionRecordSearchTerm> terms,
|
List<ConnectionRecordModel> search(@Param("terms") Collection<ActivityRecordSearchTerm> terms,
|
||||||
@Param("sortPredicates") List<ConnectionRecordSortPredicate> sortPredicates,
|
@Param("sortPredicates") List<ActivityRecordSortPredicate> sortPredicates,
|
||||||
@Param("limit") int limit);
|
@Param("limit") int limit);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -104,8 +106,8 @@ public interface ConnectionRecordMapper {
|
|||||||
* The results of the search performed with the given parameters.
|
* The results of the search performed with the given parameters.
|
||||||
*/
|
*/
|
||||||
List<ConnectionRecordModel> searchReadable(@Param("user") UserModel user,
|
List<ConnectionRecordModel> searchReadable(@Param("user") UserModel user,
|
||||||
@Param("terms") Collection<ConnectionRecordSearchTerm> terms,
|
@Param("terms") Collection<ActivityRecordSearchTerm> terms,
|
||||||
@Param("sortPredicates") List<ConnectionRecordSortPredicate> sortPredicates,
|
@Param("sortPredicates") List<ActivityRecordSortPredicate> sortPredicates,
|
||||||
@Param("limit") int limit);
|
@Param("limit") int limit);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@@ -19,14 +19,14 @@
|
|||||||
|
|
||||||
package org.apache.guacamole.auth.jdbc.connection;
|
package org.apache.guacamole.auth.jdbc.connection;
|
||||||
|
|
||||||
import java.util.Date;
|
import org.apache.guacamole.auth.jdbc.base.ActivityRecordModel;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A single connection record representing a past usage of a particular
|
* A single connection record representing a past usage of a particular
|
||||||
* connection. If the connection was being shared, the sharing profile used to
|
* connection. If the connection was being shared, the sharing profile used to
|
||||||
* join the connection is included in the record.
|
* join the connection is included in the record.
|
||||||
*/
|
*/
|
||||||
public class ConnectionRecordModel {
|
public class ConnectionRecordModel extends ActivityRecordModel {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The identifier of the connection associated with this connection record.
|
* The identifier of the connection associated with this connection record.
|
||||||
@@ -53,32 +53,6 @@ public class ConnectionRecordModel {
|
|||||||
*/
|
*/
|
||||||
private String sharingProfileName;
|
private String sharingProfileName;
|
||||||
|
|
||||||
/**
|
|
||||||
* The database ID of the user associated with this connection record.
|
|
||||||
*/
|
|
||||||
private Integer userID;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The username of the user associated with this connection record.
|
|
||||||
*/
|
|
||||||
private String username;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The remote host associated with this connection record.
|
|
||||||
*/
|
|
||||||
private String remoteHost;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The time the connection was initiated by the associated user.
|
|
||||||
*/
|
|
||||||
private Date startDate;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The time the connection ended, or null if the end time is not known or
|
|
||||||
* the connection is still running.
|
|
||||||
*/
|
|
||||||
private Date endDate;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the identifier of the connection associated with this connection
|
* Returns the identifier of the connection associated with this connection
|
||||||
* record.
|
* record.
|
||||||
@@ -179,109 +153,4 @@ public class ConnectionRecordModel {
|
|||||||
this.sharingProfileName = sharingProfileName;
|
this.sharingProfileName = sharingProfileName;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the database ID of the user associated with this connection
|
|
||||||
* record.
|
|
||||||
*
|
|
||||||
* @return
|
|
||||||
* The database ID of the user associated with this connection record.
|
|
||||||
*/
|
|
||||||
public Integer getUserID() {
|
|
||||||
return userID;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Sets the database ID of the user associated with this connection record.
|
|
||||||
*
|
|
||||||
* @param userID
|
|
||||||
* The database ID of the user to associate with this connection
|
|
||||||
* record.
|
|
||||||
*/
|
|
||||||
public void setUserID(Integer userID) {
|
|
||||||
this.userID = userID;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the username of the user associated with this connection record.
|
|
||||||
*
|
|
||||||
* @return
|
|
||||||
* The username of the user associated with this connection record.
|
|
||||||
*/
|
|
||||||
public String getUsername() {
|
|
||||||
return username;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Sets the username of the user associated with this connection record.
|
|
||||||
*
|
|
||||||
* @param username
|
|
||||||
* The username of the user to associate with this connection record.
|
|
||||||
*/
|
|
||||||
public void setUsername(String username) {
|
|
||||||
this.username = username;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the remote host associated with this connection record.
|
|
||||||
*
|
|
||||||
* @return
|
|
||||||
* The remote host associated with this connection record.
|
|
||||||
*/
|
|
||||||
public String getRemoteHost() {
|
|
||||||
return remoteHost;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Sets the remote host associated with this connection record.
|
|
||||||
*
|
|
||||||
* @param remoteHost
|
|
||||||
* The remote host to associate with this connection record.
|
|
||||||
*/
|
|
||||||
public void setRemoteHost(String remoteHost) {
|
|
||||||
this.remoteHost = remoteHost;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the date that the associated connection was established.
|
|
||||||
*
|
|
||||||
* @return
|
|
||||||
* The date the associated connection was established.
|
|
||||||
*/
|
|
||||||
public Date getStartDate() {
|
|
||||||
return startDate;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Sets the date that the associated connection was established.
|
|
||||||
*
|
|
||||||
* @param startDate
|
|
||||||
* The date that the associated connection was established.
|
|
||||||
*/
|
|
||||||
public void setStartDate(Date startDate) {
|
|
||||||
this.startDate = startDate;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the date that the associated connection ended, or null if no
|
|
||||||
* end date was recorded. The lack of an end date does not necessarily
|
|
||||||
* mean that the connection is still active.
|
|
||||||
*
|
|
||||||
* @return
|
|
||||||
* The date the associated connection ended, or null if no end date was
|
|
||||||
* recorded.
|
|
||||||
*/
|
|
||||||
public Date getEndDate() {
|
|
||||||
return endDate;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Sets the date that the associated connection ended.
|
|
||||||
*
|
|
||||||
* @param endDate
|
|
||||||
* The date that the associated connection ended.
|
|
||||||
*/
|
|
||||||
public void setEndDate(Date endDate) {
|
|
||||||
this.endDate = endDate;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@@ -26,6 +26,8 @@ import java.util.HashSet;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import org.apache.guacamole.GuacamoleException;
|
import org.apache.guacamole.GuacamoleException;
|
||||||
|
import org.apache.guacamole.auth.jdbc.base.ActivityRecordSearchTerm;
|
||||||
|
import org.apache.guacamole.auth.jdbc.base.ActivityRecordSortPredicate;
|
||||||
import org.apache.guacamole.auth.jdbc.base.RestrictedObject;
|
import org.apache.guacamole.auth.jdbc.base.RestrictedObject;
|
||||||
import org.apache.guacamole.net.auth.ActivityRecordSet;
|
import org.apache.guacamole.net.auth.ActivityRecordSet;
|
||||||
import org.apache.guacamole.net.auth.ActivityRecordSet.SortableProperty;
|
import org.apache.guacamole.net.auth.ActivityRecordSet.SortableProperty;
|
||||||
@@ -52,8 +54,8 @@ public class ConnectionRecordSet extends RestrictedObject
|
|||||||
* connection record not matching each of the strings within the collection
|
* connection record not matching each of the strings within the collection
|
||||||
* will be excluded from the results.
|
* will be excluded from the results.
|
||||||
*/
|
*/
|
||||||
private final Set<ConnectionRecordSearchTerm> requiredContents =
|
private final Set<ActivityRecordSearchTerm> requiredContents =
|
||||||
new HashSet<ConnectionRecordSearchTerm>();
|
new HashSet<ActivityRecordSearchTerm>();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The maximum number of connection history records that should be returned
|
* The maximum number of connection history records that should be returned
|
||||||
@@ -66,8 +68,8 @@ public class ConnectionRecordSet extends RestrictedObject
|
|||||||
* records, describing the properties involved and the sort order for those
|
* records, describing the properties involved and the sort order for those
|
||||||
* properties.
|
* properties.
|
||||||
*/
|
*/
|
||||||
private final List<ConnectionRecordSortPredicate> connectionRecordSortPredicates =
|
private final List<ActivityRecordSortPredicate> connectionRecordSortPredicates =
|
||||||
new ArrayList<ConnectionRecordSortPredicate>();
|
new ArrayList<ActivityRecordSortPredicate>();
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Collection<ConnectionRecord> asCollection()
|
public Collection<ConnectionRecord> asCollection()
|
||||||
@@ -79,7 +81,7 @@ public class ConnectionRecordSet extends RestrictedObject
|
|||||||
@Override
|
@Override
|
||||||
public ConnectionRecordSet contains(String value)
|
public ConnectionRecordSet contains(String value)
|
||||||
throws GuacamoleException {
|
throws GuacamoleException {
|
||||||
requiredContents.add(new ConnectionRecordSearchTerm(value));
|
requiredContents.add(new ActivityRecordSearchTerm(value));
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -93,7 +95,7 @@ public class ConnectionRecordSet extends RestrictedObject
|
|||||||
public ConnectionRecordSet sort(SortableProperty property, boolean desc)
|
public ConnectionRecordSet sort(SortableProperty property, boolean desc)
|
||||||
throws GuacamoleException {
|
throws GuacamoleException {
|
||||||
|
|
||||||
connectionRecordSortPredicates.add(new ConnectionRecordSortPredicate(
|
connectionRecordSortPredicates.add(new ActivityRecordSortPredicate(
|
||||||
property,
|
property,
|
||||||
desc
|
desc
|
||||||
));
|
));
|
||||||
|
@@ -34,6 +34,8 @@ import org.apache.guacamole.auth.jdbc.tunnel.GuacamoleTunnelService;
|
|||||||
import org.apache.guacamole.GuacamoleClientException;
|
import org.apache.guacamole.GuacamoleClientException;
|
||||||
import org.apache.guacamole.GuacamoleException;
|
import org.apache.guacamole.GuacamoleException;
|
||||||
import org.apache.guacamole.GuacamoleSecurityException;
|
import org.apache.guacamole.GuacamoleSecurityException;
|
||||||
|
import org.apache.guacamole.auth.jdbc.base.ActivityRecordSearchTerm;
|
||||||
|
import org.apache.guacamole.auth.jdbc.base.ActivityRecordSortPredicate;
|
||||||
import org.apache.guacamole.auth.jdbc.base.ModeledChildDirectoryObjectService;
|
import org.apache.guacamole.auth.jdbc.base.ModeledChildDirectoryObjectService;
|
||||||
import org.apache.guacamole.auth.jdbc.permission.ConnectionPermissionMapper;
|
import org.apache.guacamole.auth.jdbc.permission.ConnectionPermissionMapper;
|
||||||
import org.apache.guacamole.auth.jdbc.permission.ObjectPermissionMapper;
|
import org.apache.guacamole.auth.jdbc.permission.ObjectPermissionMapper;
|
||||||
@@ -460,8 +462,8 @@ public class ConnectionService extends ModeledChildDirectoryObjectService<Modele
|
|||||||
* If permission to read the connection history is denied.
|
* If permission to read the connection history is denied.
|
||||||
*/
|
*/
|
||||||
public List<ConnectionRecord> retrieveHistory(ModeledAuthenticatedUser user,
|
public List<ConnectionRecord> retrieveHistory(ModeledAuthenticatedUser user,
|
||||||
Collection<ConnectionRecordSearchTerm> requiredContents,
|
Collection<ActivityRecordSearchTerm> requiredContents,
|
||||||
List<ConnectionRecordSortPredicate> sortPredicates, int limit)
|
List<ActivityRecordSortPredicate> sortPredicates, int limit)
|
||||||
throws GuacamoleException {
|
throws GuacamoleException {
|
||||||
|
|
||||||
List<ConnectionRecordModel> searchResults;
|
List<ConnectionRecordModel> searchResults;
|
||||||
|
@@ -20,13 +20,14 @@
|
|||||||
package org.apache.guacamole.auth.jdbc.connection;
|
package org.apache.guacamole.auth.jdbc.connection;
|
||||||
|
|
||||||
|
|
||||||
import java.util.Date;
|
import org.apache.guacamole.auth.jdbc.base.ModeledActivityRecord;
|
||||||
import org.apache.guacamole.net.auth.ConnectionRecord;
|
import org.apache.guacamole.net.auth.ConnectionRecord;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A ConnectionRecord which is backed by a database model.
|
* A ConnectionRecord which is backed by a database model.
|
||||||
*/
|
*/
|
||||||
public class ModeledConnectionRecord implements ConnectionRecord {
|
public class ModeledConnectionRecord extends ModeledActivityRecord
|
||||||
|
implements ConnectionRecord {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The model object backing this connection record.
|
* The model object backing this connection record.
|
||||||
@@ -42,6 +43,7 @@ public class ModeledConnectionRecord implements ConnectionRecord {
|
|||||||
* The model object to use to back this connection record.
|
* The model object to use to back this connection record.
|
||||||
*/
|
*/
|
||||||
public ModeledConnectionRecord(ConnectionRecordModel model) {
|
public ModeledConnectionRecord(ConnectionRecordModel model) {
|
||||||
|
super(model);
|
||||||
this.model = model;
|
this.model = model;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -65,29 +67,4 @@ public class ModeledConnectionRecord implements ConnectionRecord {
|
|||||||
return model.getSharingProfileName();
|
return model.getSharingProfileName();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public Date getStartDate() {
|
|
||||||
return model.getStartDate();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Date getEndDate() {
|
|
||||||
return model.getEndDate();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String getRemoteHost() {
|
|
||||||
return model.getRemoteHost();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String getUsername() {
|
|
||||||
return model.getUsername();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean isActive() {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user