001: /**********************************************************************************
002: * $URL: https://source.sakaiproject.org/svn/rwiki/tags/sakai_2-4-1/rwiki-model/src/java/uk/ac/cam/caret/sakai/rwiki/message/model/PagePresenceImpl.java $
003: * $Id: PagePresenceImpl.java 9108 2006-05-08 14:30:57Z ian@caret.cam.ac.uk $
004: ***********************************************************************************
005: *
006: * Copyright (c) 2003, 2004, 2005, 2006 The Sakai Foundation.
007: *
008: * Licensed under the Educational Community License, Version 1.0 (the "License");
009: * you may not use this file except in compliance with the License.
010: * You may obtain a copy of the License at
011: *
012: * http://www.opensource.org/licenses/ecl1.php
013: *
014: * Unless required by applicable law or agreed to in writing, software
015: * distributed under the License is distributed on an "AS IS" BASIS,
016: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
017: * See the License for the specific language governing permissions and
018: * limitations under the License.
019: *
020: **********************************************************************************/package uk.ac.cam.caret.sakai.rwiki.message.model;
021:
022: import java.util.Date;
023:
024: import uk.ac.cam.caret.sakai.rwiki.service.message.api.model.PagePresence;
025:
026: /**
027: * @author ieb
028: */
029: public class PagePresenceImpl implements PagePresence {
030: private String id;
031:
032: private String sessionid;
033:
034: private String user;
035:
036: private String pagespace;
037:
038: private String pagename;
039:
040: private Date lastseen;
041:
042: /*
043: * (non-Javadoc)
044: *
045: * @see uk.ac.cam.caret.sakai.rwiki.service.message.api.model.PagePresence#getId()
046: */
047: public String getId() {
048: return id;
049: }
050:
051: /*
052: * (non-Javadoc)
053: *
054: * @see uk.ac.cam.caret.sakai.rwiki.service.message.api.model.PagePresence#setId(java.lang.String)
055: */
056: public void setId(String id) {
057: this .id = id;
058: }
059:
060: /*
061: * (non-Javadoc)
062: *
063: * @see uk.ac.cam.caret.sakai.rwiki.service.message.api.model.PagePresence#getLastseen()
064: */
065: public Date getLastseen() {
066: return lastseen;
067: }
068:
069: /*
070: * (non-Javadoc)
071: *
072: * @see uk.ac.cam.caret.sakai.rwiki.service.message.api.model.PagePresence#setLastseen(java.util.Date)
073: */
074: public void setLastseen(Date lastseen) {
075: this .lastseen = lastseen;
076: }
077:
078: /*
079: * (non-Javadoc)
080: *
081: * @see uk.ac.cam.caret.sakai.rwiki.service.message.api.model.PagePresence#getPagename()
082: */
083: public String getPagename() {
084: return pagename;
085: }
086:
087: /*
088: * (non-Javadoc)
089: *
090: * @see uk.ac.cam.caret.sakai.rwiki.service.message.api.model.PagePresence#setPagename(java.lang.String)
091: */
092: public void setPagename(String pagename) {
093: this .pagename = pagename;
094: }
095:
096: /*
097: * (non-Javadoc)
098: *
099: * @see uk.ac.cam.caret.sakai.rwiki.service.message.api.model.PagePresence#getPagespace()
100: */
101: public String getPagespace() {
102: return pagespace;
103: }
104:
105: /*
106: * (non-Javadoc)
107: *
108: * @see uk.ac.cam.caret.sakai.rwiki.service.message.api.model.PagePresence#setPagespace(java.lang.String)
109: */
110: public void setPagespace(String pagespace) {
111: this .pagespace = pagespace;
112: }
113:
114: /*
115: * (non-Javadoc)
116: *
117: * @see uk.ac.cam.caret.sakai.rwiki.service.message.api.model.PagePresence#getSessionid()
118: */
119: public String getSessionid() {
120: return sessionid;
121: }
122:
123: /*
124: * (non-Javadoc)
125: *
126: * @see uk.ac.cam.caret.sakai.rwiki.service.message.api.model.PagePresence#setSessionid(java.lang.String)
127: */
128: public void setSessionid(String sessionid) {
129: this .sessionid = sessionid;
130: }
131:
132: /*
133: * (non-Javadoc)
134: *
135: * @see uk.ac.cam.caret.sakai.rwiki.service.message.api.model.PagePresence#getUser()
136: */
137: public String getUser() {
138: return user;
139: }
140:
141: /*
142: * (non-Javadoc)
143: *
144: * @see uk.ac.cam.caret.sakai.rwiki.service.message.api.model.PagePresence#setUser(java.lang.String)
145: */
146: public void setUser(String user) {
147: this .user = user;
148: }
149:
150: // ==========================
151: public String getAge() {
152:
153: Date now = new Date();
154: long lnow = now.getTime();
155: lnow = lnow - this .lastseen.getTime();
156:
157: lnow = lnow / 1000L;
158: if (lnow < 60L) {
159:
160: return String.valueOf(lnow) + "s";
161: }
162: lnow = lnow / 60L;
163: if (lnow < 60L) {
164: return String.valueOf(lnow) + "m";
165: }
166: lnow = lnow / 60L;
167: if (lnow < 24L) {
168: return String.valueOf(lnow) + "h";
169: }
170: lnow = lnow / 24L;
171: if (lnow < 365L) {
172: return String.valueOf(lnow) + "d";
173: }
174: lnow = lnow / 365L;
175: return String.valueOf(lnow) + "y";
176: }
177:
178: }
|