From e7d803f995a9e7f134e3f8438b5fc68f6dff0404 Mon Sep 17 00:00:00 2001
From: tpylak <tpylak>
Date: Thu, 18 Jun 2009 12:09:41 +0000
Subject: [PATCH] for Iza: make Session object a bean (it's a part of openBIS
 interface now and HibernateTransformer will try to translate it)

SVN: 11435
---
 .../cisd/authentication/BasicSession.java     | 74 +++++++++++++++----
 .../cisd/authentication/Principal.java        | 56 ++++++++++++--
 .../openbis/generic/shared/dto/Session.java   | 13 +++-
 3 files changed, 121 insertions(+), 22 deletions(-)

diff --git a/authentication/source/java/ch/systemsx/cisd/authentication/BasicSession.java b/authentication/source/java/ch/systemsx/cisd/authentication/BasicSession.java
index 9da4fc3e462..028158ae9f0 100644
--- a/authentication/source/java/ch/systemsx/cisd/authentication/BasicSession.java
+++ b/authentication/source/java/ch/systemsx/cisd/authentication/BasicSession.java
@@ -22,20 +22,31 @@ import org.apache.commons.lang.time.DateFormatUtils;
 
 /**
  * Basic session object.
- *
+ * 
  * @author Franz-Josef Elmer
  */
 public class BasicSession implements Serializable
 {
     protected static final String DATE_FORMAT_PATTERN = "yyyy-MM-dd HH:mm:ss";
+
     private static final long serialVersionUID = 1L;
-    
-    private final String sessionToken;
-    private final String userName;
-    private final Principal principal;
-    private final String remoteHost;
-    private final long sessionStart;
-    private final int sessionExpirationTime;
+
+    private String sessionToken;
+
+    private String userName;
+
+    private Principal principal;
+
+    private String remoteHost;
+
+    private long sessionStart;
+
+    private int sessionExpirationTime;
+
+    @Deprecated
+    public BasicSession()
+    {
+    }
 
     /**
      * Creates an instance from the specified session token, user name, principal, remoteHost, and
@@ -50,7 +61,7 @@ public class BasicSession implements Serializable
         assert sessionStart > 0 : "Given session start must be larger than zero.";
         assert remoteHost != null : "Given remote host can not be null";
         assert sessionExpirationTime >= 0;
-        
+
         this.sessionToken = sessionToken;
         this.userName = userName;
         this.principal = principal;
@@ -66,7 +77,7 @@ public class BasicSession implements Serializable
     {
         return sessionToken;
     }
-    
+
     /**
      * Returns the owner of the session.
      */
@@ -74,7 +85,7 @@ public class BasicSession implements Serializable
     {
         return userName;
     }
-    
+
     /**
      * Returns full information about the user.
      */
@@ -82,7 +93,7 @@ public class BasicSession implements Serializable
     {
         return principal;
     }
-    
+
     /**
      * Returns the remote host.
      */
@@ -90,7 +101,7 @@ public class BasicSession implements Serializable
     {
         return remoteHost;
     }
-    
+
     /**
      * Returns the time when the session has been started (in milliseconds since start of the
      * epoch).
@@ -108,6 +119,42 @@ public class BasicSession implements Serializable
         return sessionExpirationTime;
     }
 
+    @Deprecated
+    public void setSessionToken(String sessionToken)
+    {
+        this.sessionToken = sessionToken;
+    }
+
+    @Deprecated
+    public void setUserName(String userName)
+    {
+        this.userName = userName;
+    }
+
+    @Deprecated
+    public void setPrincipal(Principal principal)
+    {
+        this.principal = principal;
+    }
+
+    @Deprecated
+    public void setRemoteHost(String remoteHost)
+    {
+        this.remoteHost = remoteHost;
+    }
+
+    @Deprecated
+    public void setSessionStart(long sessionStart)
+    {
+        this.sessionStart = sessionStart;
+    }
+
+    @Deprecated
+    public void setSessionExpirationTime(int sessionExpirationTime)
+    {
+        this.sessionExpirationTime = sessionExpirationTime;
+    }
+
     @Override
     public String toString()
     {
@@ -115,4 +162,3 @@ public class BasicSession implements Serializable
                 + DateFormatUtils.format(sessionStart, DATE_FORMAT_PATTERN) + "}";
     }
 }
-
diff --git a/authentication/source/java/ch/systemsx/cisd/authentication/Principal.java b/authentication/source/java/ch/systemsx/cisd/authentication/Principal.java
index f1aab7c46a8..eb0df3b9a97 100644
--- a/authentication/source/java/ch/systemsx/cisd/authentication/Principal.java
+++ b/authentication/source/java/ch/systemsx/cisd/authentication/Principal.java
@@ -39,15 +39,21 @@ public final class Principal extends AbstractHashable implements Serializable
 {
     private static final long serialVersionUID = 1L;
 
-    private final String userId;
+    private String userId;
 
-    private final String firstName;
+    private String firstName;
 
-    private final String lastName;
+    private String lastName;
 
-    private final String email;
+    private String email;
 
-    private final Map<String, String> properties;
+    private Map<String, String> properties;
+
+    // for serialization only
+    @Deprecated
+    public Principal()
+    {
+    }
 
     /**
      * Constructor which accepts mandatory parameters but no properties
@@ -121,8 +127,8 @@ public final class Principal extends AbstractHashable implements Serializable
     }
 
     /**
-     * Returns the property for given <var>key</var>, or <code>null</code>, if no property
-     * exists for this <var>key</var>.
+     * Returns the property for given <var>key</var>, or <code>null</code>, if no property exists
+     * for this <var>key</var>.
      */
     public final String getProperty(final String key)
     {
@@ -135,6 +141,42 @@ public final class Principal extends AbstractHashable implements Serializable
         return Collections.unmodifiableSet(properties.keySet());
     }
 
+    @Deprecated
+    public Map<String, String> getProperties()
+    {
+        return properties;
+    }
+
+    @Deprecated
+    public void setUserId(String userId)
+    {
+        this.userId = userId;
+    }
+
+    @Deprecated
+    public void setFirstName(String firstName)
+    {
+        this.firstName = firstName;
+    }
+
+    @Deprecated
+    public void setLastName(String lastName)
+    {
+        this.lastName = lastName;
+    }
+
+    @Deprecated
+    public void setEmail(String email)
+    {
+        this.email = email;
+    }
+
+    @Deprecated
+    public void setProperties(Map<String, String> properties)
+    {
+        this.properties = properties;
+    }
+
     //
     // Object
     //
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/Session.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/Session.java
index c497b45da4b..3352db15f18 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/Session.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/Session.java
@@ -28,7 +28,7 @@ import ch.systemsx.cisd.authentication.Principal;
  */
 public final class Session extends BasicSession implements IAuthSession
 {
-    private static final long serialVersionUID = 1L;
+    final private static long serialVersionUID = 1L;
 
     /**
      * The {@link PersonPE} represented by this <code>Session</code> or <code>null</code> if it is
@@ -36,6 +36,12 @@ public final class Session extends BasicSession implements IAuthSession
      */
     private PersonPE personOrNull;
 
+    @Deprecated
+    public Session()
+    {
+        super();
+    }
+
     public Session(final String user, final String sessionToken, final Principal principal,
             final String remoteHost, final long sessionStart)
     {
@@ -94,4 +100,9 @@ public final class Session extends BasicSession implements IAuthSession
                 + "}";
     }
 
+	@Deprecated
+    public PersonPE getPerson()
+    {
+        return personOrNull;
+    }
 }
-- 
GitLab