From 6d2ca79c8f8f06771e6b4b3e86c1a7295d076511 Mon Sep 17 00:00:00 2001
From: buczekp <buczekp>
Date: Fri, 3 Dec 2010 14:40:54 +0000
Subject: [PATCH] [LMS-1894] implement ISerializable by (almost) all basic
 dto's

SVN: 18996
---
 .../shared/basic/dto/AbstractExpression.java    |  6 ++----
 .../basic/dto/AbstractProjectUpdates.java       |  6 ++----
 .../basic/dto/AbstractRegistrationHolder.java   |  5 ++---
 .../shared/basic/dto/ArchivingServiceKind.java  |  6 ++----
 .../shared/basic/dto/AttachmentHolderKind.java  |  4 ++--
 .../basic/dto/AuthorizationGroupUpdates.java    |  6 ++----
 .../shared/basic/dto/BasicDataSetUpdates.java   |  6 ++----
 .../basic/dto/BasicEntityDescription.java       |  6 ++----
 .../basic/dto/BasicExperimentUpdates.java       |  5 ++---
 .../basic/dto/BasicProjectIdentifier.java       |  6 ++----
 .../shared/basic/dto/BasicSampleUpdates.java    |  6 ++----
 .../shared/basic/dto/BatchOperationKind.java    |  4 ++--
 .../basic/dto/BatchRegistrationResult.java      |  6 ++----
 .../openbis/generic/shared/basic/dto/Code.java  |  6 ++----
 .../generic/shared/basic/dto/ColumnSetting.java | 11 ++++++-----
 .../generic/shared/basic/dto/CommonGridIDs.java | 13 ++++++++++---
 .../dto/DataSetAttributeSearchFieldKind.java    |  4 ++--
 .../basic/dto/DataSetRelatedEntities.java       |  6 +++---
 .../basic/dto/DataSetRelationshipRole.java      |  6 ++----
 .../basic/dto/DataSetTypePropertyType.java      |  6 ++----
 .../dto/DataSetTypeWithVocabularyTerms.java     | 13 ++++++-------
 .../shared/basic/dto/DataSetUpdateResult.java   |  5 ++---
 .../shared/basic/dto/DataStoreServiceKind.java  |  6 ++----
 .../generic/shared/basic/dto/DataType.java      |  6 ++----
 .../generic/shared/basic/dto/DataTypeCode.java  |  6 ++----
 .../basic/dto/DatabaseModificationKind.java     |  6 +++++-
 .../basic/dto/DatastoreServiceDescription.java  |  8 +++-----
 .../basic/dto/DetailViewConfiguration.java      |  5 ++---
 .../basic/dto/DetailedSearchCriteria.java       |  5 ++---
 .../basic/dto/DetailedSearchCriterion.java      |  6 ++----
 .../shared/basic/dto/DetailedSearchField.java   |  5 ++---
 .../basic/dto/DetailedSearchFieldKind.java      |  4 ++--
 .../shared/basic/dto/DisplaySettings.java       |  4 +---
 .../generic/shared/basic/dto/EntityKind.java    |  4 ++--
 .../shared/basic/dto/EntityReference.java       |  8 ++------
 .../basic/dto/EntityTypePropertyType.java       |  8 +++-----
 .../dto/ExperimentAttributeSearchFieldKind.java |  4 ++--
 .../basic/dto/ExperimentBatchUpdateDetails.java |  5 ++---
 .../basic/dto/ExperimentTypePropertyType.java   |  4 ++--
 .../basic/dto/ExperimentUpdateResult.java       |  5 ++---
 .../generic/shared/basic/dto/Grantee.java       |  6 +++---
 .../shared/basic/dto/IEntityProperty.java       | 10 ++++------
 .../shared/basic/dto/IExpressionUpdates.java    |  5 ++---
 .../basic/dto/ISerializableComparable.java      |  9 +++------
 .../generic/shared/basic/dto/Identifier.java    |  7 +++----
 .../shared/basic/dto/LastModificationState.java |  6 ++----
 .../generic/shared/basic/dto/LinkModel.java     |  4 +++-
 .../dto/ListDataSetByPropertyCriteria.java      |  6 ++----
 .../shared/basic/dto/ListMaterialCriteria.java  |  5 ++---
 .../shared/basic/dto/ListSampleCriteria.java    | 10 ++++------
 .../shared/basic/dto/MatchingEntity.java        |  7 ++++---
 .../dto/MaterialAttributeSearchFieldKind.java   |  4 ++--
 .../shared/basic/dto/MaterialIdentifier.java    |  6 ++----
 .../basic/dto/MaterialTypePropertyType.java     |  4 ++--
 .../generic/shared/basic/dto/NewAttachment.java |  8 +++++---
 .../shared/basic/dto/NewAuthorizationGroup.java |  6 ++----
 .../shared/basic/dto/NewETPTAssignment.java     |  6 ++----
 .../generic/shared/basic/dto/NewExpression.java |  6 ++----
 .../shared/basic/dto/NewSamplesWithTypes.java   |  5 ++---
 .../openbis/generic/shared/basic/dto/Null.java  |  8 +++-----
 .../shared/basic/dto/ParameterValue.java        |  4 ++--
 .../shared/basic/dto/ParameterWithValue.java    |  8 ++------
 .../generic/shared/basic/dto/PropertyType.java  |  6 +-----
 .../basic/dto/PropertyTypeWithVocabulary.java   | 14 ++++++--------
 .../generic/shared/basic/dto/QueryType.java     |  4 ++--
 .../dto/RealNumberFormatingParameters.java      |  6 ++----
 .../shared/basic/dto/RelationshipType.java      |  6 ++----
 .../shared/basic/dto/ReportingPluginType.java   |  4 ++--
 .../shared/basic/dto/RoleWithHierarchy.java     |  4 +++-
 .../dto/SampleAttributeSearchFieldKind.java     |  4 ++--
 .../basic/dto/SampleBatchUpdateDetails.java     |  5 ++---
 .../basic/dto/SampleParentWithDerived.java      |  5 +----
 .../generic/shared/basic/dto/SampleType.java    |  7 +++----
 .../basic/dto/SampleTypePropertyType.java       |  4 +---
 .../shared/basic/dto/SampleUpdateResult.java    |  5 ++---
 .../basic/dto/SearchCriteriaConnection.java     |  4 ++--
 .../generic/shared/basic/dto/SortInfo.java      |  5 ++++-
 .../generic/shared/basic/dto/TableModel.java    |  5 ++---
 .../basic/dto/TableModelColumnHeader.java       | 17 ++++++++---------
 .../generic/shared/basic/dto/TableModelRow.java |  5 ++---
 .../basic/dto/TableModelRowWithObject.java      | 11 +++++------
 .../basic/dto/TrackingDataSetCriteria.java      |  6 ++----
 .../shared/basic/dto/TypedTableModel.java       | 11 +++++++----
 .../dto/VocabularyTermBatchUpdateDetails.java   |  6 ++----
 .../shared/basic/dto/VocabularyTermGridIDs.java | 10 +++++++---
 .../basic/dto/VocabularyTermReplacement.java    |  8 +++-----
 .../basic/dto/WebClientConfiguration.java       | 15 +++++++--------
 87 files changed, 239 insertions(+), 319 deletions(-)

diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/AbstractExpression.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/AbstractExpression.java
index 2db7999c9ff..fd00b6a7cee 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/AbstractExpression.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/AbstractExpression.java
@@ -16,12 +16,10 @@
 
 package ch.systemsx.cisd.openbis.generic.shared.basic.dto;
 
-import java.io.Serializable;
 import java.util.Date;
 
-import com.google.gwt.user.client.rpc.IsSerializable;
-
 import ch.systemsx.cisd.openbis.generic.shared.basic.IIdHolder;
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
 
 /**
  * Stores information describing the common part of grid custom filter and column.
@@ -29,7 +27,7 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.IIdHolder;
  * @author Izabela Adamczyk
  */
 public abstract class AbstractExpression extends AbstractRegistrationHolder implements
-        IsSerializable, Serializable, IIdHolder, IExpressionUpdates
+        ISerializable, IIdHolder, IExpressionUpdates
 {
     private static final long serialVersionUID = ServiceVersionHolder.VERSION;
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/AbstractProjectUpdates.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/AbstractProjectUpdates.java
index f99cb0026d6..183a4ede8e4 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/AbstractProjectUpdates.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/AbstractProjectUpdates.java
@@ -16,11 +16,9 @@
 
 package ch.systemsx.cisd.openbis.generic.shared.basic.dto;
 
-import java.io.Serializable;
 import java.util.Date;
 
-import com.google.gwt.user.client.rpc.IsSerializable;
-
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
 import ch.systemsx.cisd.openbis.generic.shared.basic.TechId;
 
 /**
@@ -28,7 +26,7 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.TechId;
  * 
  * @author Tomasz Pylak
  */
-public class AbstractProjectUpdates implements IsSerializable, Serializable
+public class AbstractProjectUpdates implements ISerializable
 {
 
     private static final long serialVersionUID = ServiceVersionHolder.VERSION;
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/AbstractRegistrationHolder.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/AbstractRegistrationHolder.java
index d7857995829..3b456b44f89 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/AbstractRegistrationHolder.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/AbstractRegistrationHolder.java
@@ -16,17 +16,16 @@
 
 package ch.systemsx.cisd.openbis.generic.shared.basic.dto;
 
-import java.io.Serializable;
 import java.util.Date;
 
-import com.google.gwt.user.client.rpc.IsSerializable;
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
 
 /**
  * Super class of <i>DTO</i>s which hold registration data.
  * 
  * @author Christian Ribeaud
  */
-public abstract class AbstractRegistrationHolder implements IsSerializable, Serializable
+public abstract class AbstractRegistrationHolder implements ISerializable
 {
     private static final long serialVersionUID = ServiceVersionHolder.VERSION;
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/ArchivingServiceKind.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/ArchivingServiceKind.java
index 131c4e739fb..2f3964ea1a8 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/ArchivingServiceKind.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/ArchivingServiceKind.java
@@ -16,14 +16,12 @@
 
 package ch.systemsx.cisd.openbis.generic.shared.basic.dto;
 
-import java.io.Serializable;
-
-import com.google.gwt.user.client.rpc.IsSerializable;
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
 
 /**
  * @author Piotr Buczek
  */
-public enum ArchivingServiceKind implements Serializable, IsSerializable
+public enum ArchivingServiceKind implements ISerializable
 {
     ARCHIVE("Archiving"), UNARCHIVE("Unarchiving"), LOCK("Disable Archiving"), UNLOCK(
             "Enable Archiving");
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/AttachmentHolderKind.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/AttachmentHolderKind.java
index c1876a377f0..e1046f93a67 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/AttachmentHolderKind.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/AttachmentHolderKind.java
@@ -16,12 +16,12 @@
 
 package ch.systemsx.cisd.openbis.generic.shared.basic.dto;
 
-import com.google.gwt.user.client.rpc.IsSerializable;
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
 
 /**
  * @author Izabela Adamczyk
  */
-public enum AttachmentHolderKind implements IsSerializable
+public enum AttachmentHolderKind implements ISerializable
 {
     PROJECT, EXPERIMENT, SAMPLE
 }
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/AuthorizationGroupUpdates.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/AuthorizationGroupUpdates.java
index 021eb801ba5..5f445b05036 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/AuthorizationGroupUpdates.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/AuthorizationGroupUpdates.java
@@ -16,11 +16,9 @@
 
 package ch.systemsx.cisd.openbis.generic.shared.basic.dto;
 
-import java.io.Serializable;
 import java.util.Date;
 
-import com.google.gwt.user.client.rpc.IsSerializable;
-
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
 import ch.systemsx.cisd.openbis.generic.shared.basic.TechId;
 
 /**
@@ -28,7 +26,7 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.TechId;
  * 
  * @author Izabela Adamczyk
  */
-public class AuthorizationGroupUpdates implements IsSerializable, Serializable
+public class AuthorizationGroupUpdates implements ISerializable
 {
     private static final long serialVersionUID = ServiceVersionHolder.VERSION;
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/BasicDataSetUpdates.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/BasicDataSetUpdates.java
index 30ec82f3a42..1aa615c502e 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/BasicDataSetUpdates.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/BasicDataSetUpdates.java
@@ -16,18 +16,16 @@
 
 package ch.systemsx.cisd.openbis.generic.shared.basic.dto;
 
-import java.io.Serializable;
 import java.util.Date;
 import java.util.List;
 
-import com.google.gwt.user.client.rpc.IsSerializable;
-
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
 import ch.systemsx.cisd.openbis.generic.shared.basic.TechId;
 
 /**
  * @author Piotr Buczek
  */
-public class BasicDataSetUpdates implements IsSerializable, Serializable
+public class BasicDataSetUpdates implements ISerializable
 {
     private static final long serialVersionUID = ServiceVersionHolder.VERSION;
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/BasicEntityDescription.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/BasicEntityDescription.java
index e0e06ce7ad4..75305a1d159 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/BasicEntityDescription.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/BasicEntityDescription.java
@@ -16,16 +16,14 @@
 
 package ch.systemsx.cisd.openbis.generic.shared.basic.dto;
 
-import java.io.Serializable;
-
-import com.google.gwt.user.client.rpc.IsSerializable;
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
 
 /**
  * Entity kind and identifier.
  * 
  * @author Izabela Adamczyk
  */
-public class BasicEntityDescription implements IsSerializable, Serializable
+public class BasicEntityDescription implements ISerializable
 {
 
     private static final long serialVersionUID = ServiceVersionHolder.VERSION;
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/BasicExperimentUpdates.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/BasicExperimentUpdates.java
index 02f95877cf4..240e4df004f 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/BasicExperimentUpdates.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/BasicExperimentUpdates.java
@@ -16,16 +16,15 @@
 
 package ch.systemsx.cisd.openbis.generic.shared.basic.dto;
 
-import java.io.Serializable;
 import java.util.Date;
 import java.util.List;
 
-import com.google.gwt.user.client.rpc.IsSerializable;
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
 
 /**
  * @author Tomasz Pylak
  */
-public class BasicExperimentUpdates implements IsSerializable, Serializable
+public class BasicExperimentUpdates implements ISerializable
 {
     private static final long serialVersionUID = ServiceVersionHolder.VERSION;
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/BasicProjectIdentifier.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/BasicProjectIdentifier.java
index 6055de8a340..929fb763ff1 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/BasicProjectIdentifier.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/BasicProjectIdentifier.java
@@ -16,9 +16,7 @@
 
 package ch.systemsx.cisd.openbis.generic.shared.basic.dto;
 
-import java.io.Serializable;
-
-import com.google.gwt.user.client.rpc.IsSerializable;
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
 
 /**
  * The <i>GWT</i> counterpart to
@@ -26,7 +24,7 @@ import com.google.gwt.user.client.rpc.IsSerializable;
  * 
  * @author Piotr Buczek
  */
-public class BasicProjectIdentifier implements IsSerializable, Serializable
+public class BasicProjectIdentifier implements ISerializable
 {
     private static final long serialVersionUID = ServiceVersionHolder.VERSION;
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/BasicSampleUpdates.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/BasicSampleUpdates.java
index b65ff46c7eb..1a908b44055 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/BasicSampleUpdates.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/BasicSampleUpdates.java
@@ -16,18 +16,16 @@
 
 package ch.systemsx.cisd.openbis.generic.shared.basic.dto;
 
-import java.io.Serializable;
 import java.util.Date;
 import java.util.List;
 
-import com.google.gwt.user.client.rpc.IsSerializable;
-
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
 import ch.systemsx.cisd.openbis.generic.shared.basic.TechId;
 
 /**
  * @author Izabela Adamczyk
  */
-public class BasicSampleUpdates implements IsSerializable, Serializable
+public class BasicSampleUpdates implements ISerializable
 {
 
     private static final long serialVersionUID = ServiceVersionHolder.VERSION;
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/BatchOperationKind.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/BatchOperationKind.java
index 7288c767030..8f8cf74b7af 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/BatchOperationKind.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/BatchOperationKind.java
@@ -16,14 +16,14 @@
 
 package ch.systemsx.cisd.openbis.generic.shared.basic.dto;
 
-import com.google.gwt.user.client.rpc.IsSerializable;
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
 
 /**
  * Enumeration for batch operation kinds.
  * 
  * @author Piotr Buczek
  */
-public enum BatchOperationKind implements IsSerializable
+public enum BatchOperationKind implements ISerializable
 {
     REGISTRATION("Registration"), UPDATE("Update");
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/BatchRegistrationResult.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/BatchRegistrationResult.java
index 64a5803f3b7..7d3dc6c902f 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/BatchRegistrationResult.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/BatchRegistrationResult.java
@@ -16,9 +16,7 @@
 
 package ch.systemsx.cisd.openbis.generic.shared.basic.dto;
 
-import java.io.Serializable;
-
-import com.google.gwt.user.client.rpc.IsSerializable;
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
 
 /**
  * Batch registration is based on file input. This class returns to the client a small message after
@@ -26,7 +24,7 @@ import com.google.gwt.user.client.rpc.IsSerializable;
  * 
  * @author Christian Ribeaud
  */
-public class BatchRegistrationResult implements IsSerializable, Serializable
+public class BatchRegistrationResult implements ISerializable
 {
 
     private static final long serialVersionUID = ServiceVersionHolder.VERSION;
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/Code.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/Code.java
index 56ae7fd4190..9c92c4015d9 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/Code.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/Code.java
@@ -22,18 +22,16 @@ import java.util.Collection;
 import java.util.Comparator;
 import java.util.List;
 
-import com.google.gwt.user.client.rpc.IsSerializable;
-
 import ch.systemsx.cisd.common.annotation.BeanProperty;
 import ch.systemsx.cisd.openbis.generic.shared.basic.ICodeHolder;
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
 
 /**
  * A code.
  * 
  * @author Christian Ribeaud
  */
-public class Code<T extends Code<T>> implements IsSerializable, ICodeHolder, Comparable<T>,
-        Serializable
+public class Code<T extends Code<T>> implements ISerializable, ICodeHolder, Comparable<T>
 {
     private static final long serialVersionUID = ServiceVersionHolder.VERSION;
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/ColumnSetting.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/ColumnSetting.java
index 19e55933357..3728330f7f0 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/ColumnSetting.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/ColumnSetting.java
@@ -18,7 +18,7 @@ package ch.systemsx.cisd.openbis.generic.shared.basic.dto;
 
 import java.io.Serializable;
 
-import com.google.gwt.user.client.rpc.IsSerializable;
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
 
 /**
  * Class storing personalised display settings for a table column. This class implements
@@ -27,9 +27,9 @@ import com.google.gwt.user.client.rpc.IsSerializable;
  * <p>
  * Note: This class has to be Java serializable and GWT serializable.
  * 
- * @author     Franz-Josef Elmer
+ * @author Franz-Josef Elmer
  */
-public class ColumnSetting implements Serializable, IsSerializable
+public class ColumnSetting implements ISerializable
 {
     private static final long serialVersionUID = 1L;
 
@@ -105,7 +105,8 @@ public class ColumnSetting implements Serializable, IsSerializable
     @Override
     public String toString()
     {
-         return columnID + "( hidden = " + hidden + ", width = " + width + ", hasFilter = "
-                + hasFilter + " )";   }
+        return columnID + "( hidden = " + hidden + ", width = " + width + ", hasFilter = "
+                + hasFilter + " )";
+    }
 
 }
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/CommonGridIDs.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/CommonGridIDs.java
index 897f4db3766..890de18ebaf 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/CommonGridIDs.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/CommonGridIDs.java
@@ -16,18 +16,25 @@
 
 package ch.systemsx.cisd.openbis.generic.shared.basic.dto;
 
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
+
 /**
- * 
- *
  * @author Franz-Josef Elmer
  */
-public class CommonGridIDs
+public class CommonGridIDs implements ISerializable
 {
+    private static final long serialVersionUID = 1L;
+
     public static final String CODE = "CODE";
+
     public static final String LABEL = "LABEL";
+
     public static final String DESCRIPTION = "DESCRIPTION";
+
     public static final String ORDINAL = "ORDINAL";
+
     public static final String REGISTRATOR = "REGISTRATOR";
+
     public static final String REGISTRATION_DATE = "REGISTRATION_DATE";
 
 }
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DataSetAttributeSearchFieldKind.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DataSetAttributeSearchFieldKind.java
index 9c1cff8ab96..c949441f26b 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DataSetAttributeSearchFieldKind.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DataSetAttributeSearchFieldKind.java
@@ -16,14 +16,14 @@
 
 package ch.systemsx.cisd.openbis.generic.shared.basic.dto;
 
-import com.google.gwt.user.client.rpc.IsSerializable;
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
 
 /**
  * Kinds of fields connected with Data Set attributes that can be used in detailed text queries.
  * 
  * @author Piotr Buczek
  */
-public enum DataSetAttributeSearchFieldKind implements IsSerializable, IAttributeSearchFieldKind
+public enum DataSetAttributeSearchFieldKind implements ISerializable, IAttributeSearchFieldKind
 {
     CODE("Code"),
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DataSetRelatedEntities.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DataSetRelatedEntities.java
index 479bbe4470c..a323f828ba3 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DataSetRelatedEntities.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DataSetRelatedEntities.java
@@ -18,17 +18,17 @@ package ch.systemsx.cisd.openbis.generic.shared.basic.dto;
 
 import java.util.List;
 
-import com.google.gwt.user.client.rpc.IsSerializable;
-
 import ch.systemsx.cisd.openbis.generic.shared.basic.IEntityInformationHolder;
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
 
 /**
  * Encapsulates entities related to data sets.
  * 
  * @author Piotr Buczek
  */
-public class DataSetRelatedEntities implements IsSerializable
+public class DataSetRelatedEntities implements ISerializable
 {
+    private static final long serialVersionUID = ServiceVersionHolder.VERSION;
 
     private final List<? extends IEntityInformationHolder> entities;
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DataSetRelationshipRole.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DataSetRelationshipRole.java
index 9cd2453cb85..261973aba06 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DataSetRelationshipRole.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DataSetRelationshipRole.java
@@ -16,14 +16,12 @@
 
 package ch.systemsx.cisd.openbis.generic.shared.basic.dto;
 
-import java.io.Serializable;
-
-import com.google.gwt.user.client.rpc.IsSerializable;
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
 
 /**
  * @author Piotr Buczek
  */
-public enum DataSetRelationshipRole implements Serializable, IsSerializable
+public enum DataSetRelationshipRole implements ISerializable
 {
     PARENT, CHILD;
 }
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DataSetTypePropertyType.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DataSetTypePropertyType.java
index b5bcb7c0751..f36c3a1901d 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DataSetTypePropertyType.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DataSetTypePropertyType.java
@@ -16,9 +16,7 @@
 
 package ch.systemsx.cisd.openbis.generic.shared.basic.dto;
 
-import java.io.Serializable;
-
-import com.google.gwt.user.client.rpc.IsSerializable;
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
 
 /**
  * The {@link EntityTypePropertyType} extension for <i>Data Set Type</i>.
@@ -26,7 +24,7 @@ import com.google.gwt.user.client.rpc.IsSerializable;
  * @author Izabela Adamczyk
  */
 public class DataSetTypePropertyType extends EntityTypePropertyType<DataSetType> implements
-        IsSerializable, Serializable
+        ISerializable
 {
     private static final long serialVersionUID = ServiceVersionHolder.VERSION;
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DataSetTypeWithVocabularyTerms.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DataSetTypeWithVocabularyTerms.java
index f4b8072ac4b..9c02de19b50 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DataSetTypeWithVocabularyTerms.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DataSetTypeWithVocabularyTerms.java
@@ -16,23 +16,22 @@
 
 package ch.systemsx.cisd.openbis.generic.shared.basic.dto;
 
-import java.io.Serializable;
 import java.util.ArrayList;
 import java.util.List;
 
-import com.google.gwt.user.client.rpc.IsSerializable;
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
 
 /**
- * 
- *
  * @author Franz-Josef Elmer
  */
-public class DataSetTypeWithVocabularyTerms implements IsSerializable, Serializable
+public class DataSetTypeWithVocabularyTerms implements ISerializable
 {
     private static final long serialVersionUID = ServiceVersionHolder.VERSION;
-    
+
     private DataSetType dataSetType;
-    private List<PropertyTypeWithVocabulary> propertyTypes = new ArrayList<PropertyTypeWithVocabulary>();
+
+    private List<PropertyTypeWithVocabulary> propertyTypes =
+            new ArrayList<PropertyTypeWithVocabulary>();
 
     public DataSetType getDataSetType()
     {
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DataSetUpdateResult.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DataSetUpdateResult.java
index 93383b060dc..817a28eceb1 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DataSetUpdateResult.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DataSetUpdateResult.java
@@ -16,18 +16,17 @@
 
 package ch.systemsx.cisd.openbis.generic.shared.basic.dto;
 
-import java.io.Serializable;
 import java.util.Date;
 import java.util.List;
 
-import com.google.gwt.user.client.rpc.IsSerializable;
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
 
 /**
  * Stores result of data set update.
  * 
  * @author Piotr Buczek
  */
-public class DataSetUpdateResult implements IsSerializable, Serializable
+public class DataSetUpdateResult implements ISerializable
 {
     private static final long serialVersionUID = ServiceVersionHolder.VERSION;
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DataStoreServiceKind.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DataStoreServiceKind.java
index d5a4a0b7977..4056c970e08 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DataStoreServiceKind.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DataStoreServiceKind.java
@@ -16,14 +16,12 @@
 
 package ch.systemsx.cisd.openbis.generic.shared.basic.dto;
 
-import java.io.Serializable;
-
-import com.google.gwt.user.client.rpc.IsSerializable;
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
 
 /**
  * @author Tomasz Pylak
  */
-public enum DataStoreServiceKind implements Serializable, IsSerializable
+public enum DataStoreServiceKind implements ISerializable
 {
     // Do not refactor names - they are stored in database.
     PROCESSING("Processing"), QUERIES("Query");
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DataType.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DataType.java
index e117c5b0f42..95169cabc3f 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DataType.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DataType.java
@@ -16,16 +16,14 @@
 
 package ch.systemsx.cisd.openbis.generic.shared.basic.dto;
 
-import java.io.Serializable;
-
-import com.google.gwt.user.client.rpc.IsSerializable;
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
 
 /**
  * A class that represents a data type.
  * 
  * @author Izabela Adamczyk
  */
-public final class DataType implements IsSerializable, Serializable
+public final class DataType implements ISerializable
 {
     private static final long serialVersionUID = ServiceVersionHolder.VERSION;
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DataTypeCode.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DataTypeCode.java
index 350b47d3879..5a643282b4d 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DataTypeCode.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DataTypeCode.java
@@ -16,16 +16,14 @@
 
 package ch.systemsx.cisd.openbis.generic.shared.basic.dto;
 
-import java.io.Serializable;
-
-import com.google.gwt.user.client.rpc.IsSerializable;
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
 
 /**
  * Available types of entity properties.
  * 
  * @author Izabela Adamczyk
  */
-public enum DataTypeCode implements IsSerializable, Serializable
+public enum DataTypeCode implements ISerializable
 {
     // Do not refactor names - they are stored in database.
     INTEGER, VARCHAR, MULTILINE_VARCHAR, REAL, TIMESTAMP, BOOLEAN, CONTROLLEDVOCABULARY, MATERIAL,
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DatabaseModificationKind.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DatabaseModificationKind.java
index a469dd557a3..ff0fb026984 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DatabaseModificationKind.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DatabaseModificationKind.java
@@ -22,13 +22,17 @@ import java.util.List;
 
 import com.google.gwt.user.client.rpc.IsSerializable;
 
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
+
 /**
  * Stores the kind of database object that was modified and the kind of modification.
  * 
  * @author Tomasz Pylak
  */
-public class DatabaseModificationKind implements IsSerializable
+public class DatabaseModificationKind implements ISerializable
 {
+    private static final long serialVersionUID = 1L;
+
     public static final DatabaseModificationKind[] EMPTY_ARRAY = new DatabaseModificationKind[0];
 
     public enum ObjectKind implements IsSerializable
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DatastoreServiceDescription.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DatastoreServiceDescription.java
index 8ce19c9cf4e..e92eaef7709 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DatastoreServiceDescription.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DatastoreServiceDescription.java
@@ -16,20 +16,18 @@
 
 package ch.systemsx.cisd.openbis.generic.shared.basic.dto;
 
-import java.io.Serializable;
 import java.util.Arrays;
 
-import com.google.gwt.user.client.rpc.IsSerializable;
-
 import ch.systemsx.cisd.openbis.generic.shared.basic.IReportInformationProvider;
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
 
 /**
  * Description of one datastore server plugin task: key, label, dataset type codes.
  * 
  * @author Tomasz Pylak
  */
-public class DatastoreServiceDescription implements IReportInformationProvider, IsSerializable,
-        Serializable, Comparable<DatastoreServiceDescription>
+public class DatastoreServiceDescription implements IReportInformationProvider, ISerializable,
+        Comparable<DatastoreServiceDescription>
 {
     private static final long serialVersionUID = ServiceVersionHolder.VERSION;
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DetailViewConfiguration.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DetailViewConfiguration.java
index 93def33cd1e..8413ce06235 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DetailViewConfiguration.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DetailViewConfiguration.java
@@ -16,18 +16,17 @@
 
 package ch.systemsx.cisd.openbis.generic.shared.basic.dto;
 
-import java.io.Serializable;
 import java.util.HashSet;
 import java.util.Set;
 
-import com.google.gwt.user.client.rpc.IsSerializable;
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
 
 /**
  * Entity detail view configuration.
  * 
  * @author Izabela Adamczyk
  */
-public class DetailViewConfiguration implements IsSerializable, Serializable
+public class DetailViewConfiguration implements ISerializable
 {
     private static final long serialVersionUID = ServiceVersionHolder.VERSION;
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DetailedSearchCriteria.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DetailedSearchCriteria.java
index c2ab089ffb6..25f2ae6f55b 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DetailedSearchCriteria.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DetailedSearchCriteria.java
@@ -16,10 +16,9 @@
 
 package ch.systemsx.cisd.openbis.generic.shared.basic.dto;
 
-import java.io.Serializable;
 import java.util.List;
 
-import com.google.gwt.user.client.rpc.IsSerializable;
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
 
 /**
  * Describes detailed search criteria specific to an entity.
@@ -27,7 +26,7 @@ import com.google.gwt.user.client.rpc.IsSerializable;
  * @author Izabela Adamczyk
  * @author Piotr Buczek
  */
-public class DetailedSearchCriteria implements IsSerializable, Serializable
+public class DetailedSearchCriteria implements ISerializable
 {
     private static final long serialVersionUID = ServiceVersionHolder.VERSION;
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DetailedSearchCriterion.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DetailedSearchCriterion.java
index 11090506787..c91b484a9b6 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DetailedSearchCriterion.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DetailedSearchCriterion.java
@@ -16,15 +16,13 @@
 
 package ch.systemsx.cisd.openbis.generic.shared.basic.dto;
 
-import java.io.Serializable;
-
-import com.google.gwt.user.client.rpc.IsSerializable;
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
 
 /**
  * @author Izabela Adamczyk
  * @author Piotr Buczek
  */
-public class DetailedSearchCriterion implements IsSerializable, Serializable
+public class DetailedSearchCriterion implements ISerializable
 {
     private static final long serialVersionUID = ServiceVersionHolder.VERSION;
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DetailedSearchField.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DetailedSearchField.java
index 178f37aee37..74433674da0 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DetailedSearchField.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DetailedSearchField.java
@@ -16,10 +16,9 @@
 
 package ch.systemsx.cisd.openbis.generic.shared.basic.dto;
 
-import java.io.Serializable;
 import java.util.List;
 
-import com.google.gwt.user.client.rpc.IsSerializable;
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
 
 /**
  * Full specification of the field connected with an entity which can be used in detailed text
@@ -28,7 +27,7 @@ import com.google.gwt.user.client.rpc.IsSerializable;
  * @author Tomasz Pylak
  * @author Piotr Buczek
  */
-public class DetailedSearchField implements IsSerializable, Serializable
+public class DetailedSearchField implements ISerializable
 {
     private static final long serialVersionUID = ServiceVersionHolder.VERSION;
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DetailedSearchFieldKind.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DetailedSearchFieldKind.java
index 20f72b89d5a..91a143d1b50 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DetailedSearchFieldKind.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DetailedSearchFieldKind.java
@@ -16,14 +16,14 @@
 
 package ch.systemsx.cisd.openbis.generic.shared.basic.dto;
 
-import com.google.gwt.user.client.rpc.IsSerializable;
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
 
 /**
  * General kinds of fields that can be used in detailed text query for an entity.
  * 
  * @author Piotr Buczek
  */
-public enum DetailedSearchFieldKind implements IsSerializable
+public enum DetailedSearchFieldKind implements ISerializable
 {
     ANY_FIELD("Any Field"),
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DisplaySettings.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DisplaySettings.java
index aa7c6aa9fac..417dd92375f 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DisplaySettings.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DisplaySettings.java
@@ -21,8 +21,6 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
-import com.google.gwt.user.client.rpc.IsSerializable;
-
 import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
 
 /**
@@ -37,7 +35,7 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
  * 
  * @author Franz-Josef Elmer
  */
-public class DisplaySettings implements Serializable, IsSerializable
+public class DisplaySettings implements ISerializable
 {
     private static final long serialVersionUID = 1L;
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/EntityKind.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/EntityKind.java
index 27ae7bd42c3..1b7b2a9e340 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/EntityKind.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/EntityKind.java
@@ -16,7 +16,7 @@
 
 package ch.systemsx.cisd.openbis.generic.shared.basic.dto;
 
-import com.google.gwt.user.client.rpc.IsSerializable;
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
 
 /**
  * The <i>GWT</i> counterpart to
@@ -24,7 +24,7 @@ import com.google.gwt.user.client.rpc.IsSerializable;
  * 
  * @author Christian Ribeaud
  */
-public enum EntityKind implements IsSerializable
+public enum EntityKind implements ISerializable
 {
     MATERIAL("Material"), EXPERIMENT("Experiment"), SAMPLE("Sample"), DATA_SET("Data Set");
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/EntityReference.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/EntityReference.java
index 4e38f4d5731..22fa06e29ad 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/EntityReference.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/EntityReference.java
@@ -16,11 +16,8 @@
 
 package ch.systemsx.cisd.openbis.generic.shared.basic.dto;
 
-import java.io.Serializable;
-
-import com.google.gwt.user.client.rpc.IsSerializable;
-
 import ch.systemsx.cisd.openbis.generic.shared.basic.IEntityInformationHolderWithPermId;
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
 
 /**
  * Reference to an entity with minimal information to uniquely identify it in the database and to
@@ -28,8 +25,7 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.IEntityInformationHolderWit
  * 
  * @author Tomasz Pylak
  */
-public class EntityReference implements Serializable, IsSerializable,
-        IEntityInformationHolderWithPermId
+public class EntityReference implements ISerializable, IEntityInformationHolderWithPermId
 {
     private static final long serialVersionUID = ServiceVersionHolder.VERSION;
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/EntityTypePropertyType.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/EntityTypePropertyType.java
index 5130b18edff..fd9fc298b95 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/EntityTypePropertyType.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/EntityTypePropertyType.java
@@ -16,17 +16,15 @@
 
 package ch.systemsx.cisd.openbis.generic.shared.basic.dto;
 
-import java.io.Serializable;
-
-import com.google.gwt.user.client.rpc.IsSerializable;
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
 
 /**
  * An <i>abstract</i> entity type property type.
  * 
  * @author Christian Ribeaud
  */
-public abstract class EntityTypePropertyType<T extends EntityType> implements IsSerializable,
-        Comparable<EntityTypePropertyType<T>>, Serializable
+public abstract class EntityTypePropertyType<T extends EntityType> implements ISerializable,
+        Comparable<EntityTypePropertyType<T>>
 {
     private static final long serialVersionUID = ServiceVersionHolder.VERSION;
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/ExperimentAttributeSearchFieldKind.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/ExperimentAttributeSearchFieldKind.java
index 06cc9b0b54a..1d9c9dd8130 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/ExperimentAttributeSearchFieldKind.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/ExperimentAttributeSearchFieldKind.java
@@ -16,14 +16,14 @@
 
 package ch.systemsx.cisd.openbis.generic.shared.basic.dto;
 
-import com.google.gwt.user.client.rpc.IsSerializable;
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
 
 /**
  * Kinds of fields connected with Experiment attributes that can be used in detailed text queries.
  * 
  * @author Piotr Buczek
  */
-public enum ExperimentAttributeSearchFieldKind implements IsSerializable, IAttributeSearchFieldKind
+public enum ExperimentAttributeSearchFieldKind implements ISerializable, IAttributeSearchFieldKind
 {
     CODE("Code"),
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/ExperimentBatchUpdateDetails.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/ExperimentBatchUpdateDetails.java
index 59539906821..e93f0d4806b 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/ExperimentBatchUpdateDetails.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/ExperimentBatchUpdateDetails.java
@@ -16,17 +16,16 @@
 
 package ch.systemsx.cisd.openbis.generic.shared.basic.dto;
 
-import java.io.Serializable;
 import java.util.Set;
 
-import com.google.gwt.user.client.rpc.IsSerializable;
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
 
 /**
  * Holds information about which experiment attributes should be updated.
  * 
  * @author Piotr Buczek
  */
-public class ExperimentBatchUpdateDetails implements IsSerializable, Serializable
+public class ExperimentBatchUpdateDetails implements ISerializable
 {
     private static final long serialVersionUID = ServiceVersionHolder.VERSION;
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/ExperimentTypePropertyType.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/ExperimentTypePropertyType.java
index a58dcf8f9f4..2d20f41b214 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/ExperimentTypePropertyType.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/ExperimentTypePropertyType.java
@@ -16,7 +16,7 @@
 
 package ch.systemsx.cisd.openbis.generic.shared.basic.dto;
 
-import com.google.gwt.user.client.rpc.IsSerializable;
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
 
 /**
  * The {@link EntityTypePropertyType} extension for <i>Experiment Type</i>.
@@ -24,7 +24,7 @@ import com.google.gwt.user.client.rpc.IsSerializable;
  * @author Izabela Adamczyk
  */
 public class ExperimentTypePropertyType extends EntityTypePropertyType<ExperimentType> implements
-        IsSerializable
+        ISerializable
 {
     private static final long serialVersionUID = ServiceVersionHolder.VERSION;
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/ExperimentUpdateResult.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/ExperimentUpdateResult.java
index ad70b021221..9ed1574c9b1 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/ExperimentUpdateResult.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/ExperimentUpdateResult.java
@@ -16,18 +16,17 @@
 
 package ch.systemsx.cisd.openbis.generic.shared.basic.dto;
 
-import java.io.Serializable;
 import java.util.Date;
 import java.util.List;
 
-import com.google.gwt.user.client.rpc.IsSerializable;
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
 
 /**
  * Stores result of experiment update.
  * 
  * @author Izabela Adamczyk
  */
-public class ExperimentUpdateResult implements IsSerializable, Serializable
+public class ExperimentUpdateResult implements ISerializable
 {
     private static final long serialVersionUID = ServiceVersionHolder.VERSION;
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/Grantee.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/Grantee.java
index 567d62601d4..b33286fab2c 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/Grantee.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/Grantee.java
@@ -16,16 +16,16 @@
 
 package ch.systemsx.cisd.openbis.generic.shared.basic.dto;
 
-import java.io.Serializable;
-
 import com.google.gwt.user.client.rpc.IsSerializable;
 
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
+
 /**
  * Role grantee.
  * 
  * @author Izabela Adamczyk
  */
-public class Grantee implements IsSerializable, Serializable
+public class Grantee implements ISerializable
 {
     private static final long serialVersionUID = ServiceVersionHolder.VERSION;
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/IEntityProperty.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/IEntityProperty.java
index 1c59f7befa7..f420b03800a 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/IEntityProperty.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/IEntityProperty.java
@@ -16,16 +16,14 @@
 
 package ch.systemsx.cisd.openbis.generic.shared.basic.dto;
 
-import java.io.Serializable;
-
-import com.google.gwt.user.client.rpc.IsSerializable;
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
 
 /**
  * An interface for entity properties.
  * 
  * @author Bernd Rinn
  */
-public interface IEntityProperty extends Serializable, IsSerializable, Comparable<IEntityProperty>
+public interface IEntityProperty extends ISerializable, Comparable<IEntityProperty>
 {
     public static final IEntityProperty[] EMPTY_ARRAY = new IEntityProperty[0];
 
@@ -34,9 +32,9 @@ public interface IEntityProperty extends Serializable, IsSerializable, Comparabl
      * will be represented as their CODE, material values will be represented as "CODE (TYPE_CODE)".
      */
     public String tryGetAsString();
-    
+
     public String tryGetOriginalValue();
-    
+
     public Material getMaterial();
 
     public void setMaterial(Material material);
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/IExpressionUpdates.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/IExpressionUpdates.java
index b9108737dae..b2f365b2a03 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/IExpressionUpdates.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/IExpressionUpdates.java
@@ -16,9 +16,8 @@
 
 package ch.systemsx.cisd.openbis.generic.shared.basic.dto;
 
-import com.google.gwt.user.client.rpc.IsSerializable;
-
 import ch.systemsx.cisd.openbis.generic.shared.basic.IIdHolder;
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
 
 /**
  * Description of the updates which should be performed on a stored expression (e.g. grid custom
@@ -26,7 +25,7 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.IIdHolder;
  * 
  * @author Piotr Buczek
  */
-public interface IExpressionUpdates extends IIdHolder, IsSerializable
+public interface IExpressionUpdates extends IIdHolder, ISerializable
 {
     String getDescription();
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/ISerializableComparable.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/ISerializableComparable.java
index 3e91638351a..9618ead4554 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/ISerializableComparable.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/ISerializableComparable.java
@@ -16,17 +16,14 @@
 
 package ch.systemsx.cisd.openbis.generic.shared.basic.dto;
 
-import java.io.Serializable;
-
-import com.google.gwt.user.client.rpc.IsSerializable;
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
 
 /**
  * Interface for objects which are comparable, java.io.Serializable and GWT serializable.
- * 
  * Implementations should override {@link Object#equals(Object)} and {@link Object#hashCode()}.
- *
+ * 
  * @author Franz-Josef Elmer
  */
-public interface ISerializableComparable extends IsSerializable, Serializable, Comparable<ISerializableComparable>
+public interface ISerializableComparable extends ISerializable, Comparable<ISerializableComparable>
 {
 }
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/Identifier.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/Identifier.java
index 0087a8d66cd..e44592b8a80 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/Identifier.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/Identifier.java
@@ -19,18 +19,17 @@ package ch.systemsx.cisd.openbis.generic.shared.basic.dto;
 import java.io.Serializable;
 import java.util.Comparator;
 
-import com.google.gwt.user.client.rpc.IsSerializable;
-
 import ch.systemsx.cisd.common.annotation.BeanProperty;
 import ch.systemsx.cisd.openbis.generic.shared.basic.IIdentifierHolder;
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
 
 /**
  * An identifier.
  * 
  * @author Christian Ribeaud
  */
-public class Identifier<T extends Identifier<T>> implements IsSerializable, Comparable<T>,
-        IIdentifierHolder, Serializable
+public class Identifier<T extends Identifier<T>> implements ISerializable, Comparable<T>,
+        IIdentifierHolder
 {
     private static final long serialVersionUID = ServiceVersionHolder.VERSION;
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/LastModificationState.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/LastModificationState.java
index 721d3871958..3e9a5200191 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/LastModificationState.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/LastModificationState.java
@@ -16,14 +16,12 @@
 
 package ch.systemsx.cisd.openbis.generic.shared.basic.dto;
 
-import java.io.Serializable;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.Set;
 
-import com.google.gwt.user.client.rpc.IsSerializable;
-
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
 import ch.systemsx.cisd.openbis.generic.shared.basic.annotation.DoNotEscape;
 
 /**
@@ -33,7 +31,7 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.annotation.DoNotEscape;
  * @author Tomasz Pylak
  */
 @DoNotEscape
-public class LastModificationState implements IsSerializable, Serializable
+public class LastModificationState implements ISerializable
 {
     private static final long serialVersionUID = ServiceVersionHolder.VERSION;
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/LinkModel.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/LinkModel.java
index 7389ec284d0..60b6d4469c2 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/LinkModel.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/LinkModel.java
@@ -22,6 +22,8 @@ import java.util.List;
 
 import com.google.gwt.user.client.rpc.IsSerializable;
 
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
+
 /**
  * A model for reporting plug-ins of type DSS_LINK. It keeps the different parts of the URL separate
  * so that users can easily use only the parts they need.
@@ -39,7 +41,7 @@ import com.google.gwt.user.client.rpc.IsSerializable;
  * 
  * @author Chandrasekhar Ramakrishnan
  */
-public class LinkModel implements IsSerializable, Serializable
+public class LinkModel implements ISerializable
 {
     // Package visible constant
     static final String SESSION_ID_PARAMETER_NAME = "sessionID";
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/ListDataSetByPropertyCriteria.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/ListDataSetByPropertyCriteria.java
index 203fa4be90e..ed3158f0af0 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/ListDataSetByPropertyCriteria.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/ListDataSetByPropertyCriteria.java
@@ -16,14 +16,12 @@
 
 package ch.systemsx.cisd.openbis.generic.shared.basic.dto;
 
-import java.io.Serializable;
-
-import com.google.gwt.user.client.rpc.IsSerializable;
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
 
 /**
  * @author Izabela Adamczyk
  */
-public class ListDataSetByPropertyCriteria implements IsSerializable, Serializable
+public class ListDataSetByPropertyCriteria implements ISerializable
 {
     private static final long serialVersionUID = ServiceVersionHolder.VERSION;
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/ListMaterialCriteria.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/ListMaterialCriteria.java
index 17e33741ec2..e2db72b4b4d 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/ListMaterialCriteria.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/ListMaterialCriteria.java
@@ -16,17 +16,16 @@
 
 package ch.systemsx.cisd.openbis.generic.shared.basic.dto;
 
-import java.io.Serializable;
 import java.util.Collection;
 
-import com.google.gwt.user.client.rpc.IsSerializable;
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
 
 /**
  * Criteria for listing <i>materials</i>.
  * 
  * @author Izabela Adamczyk
  */
-public final class ListMaterialCriteria implements IsSerializable, Serializable
+public final class ListMaterialCriteria implements ISerializable
 {
     private static final long serialVersionUID = ServiceVersionHolder.VERSION;
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/ListSampleCriteria.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/ListSampleCriteria.java
index 19848e236d9..f0b2607bda4 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/ListSampleCriteria.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/ListSampleCriteria.java
@@ -16,11 +16,9 @@
 
 package ch.systemsx.cisd.openbis.generic.shared.basic.dto;
 
-import java.io.Serializable;
 import java.util.Collection;
 
-import com.google.gwt.user.client.rpc.IsSerializable;
-
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
 import ch.systemsx.cisd.openbis.generic.shared.basic.TechId;
 
 /**
@@ -38,7 +36,7 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.TechId;
  * @author Tomasz Pylak
  * @author Piotr Buczek
  */
-public class ListSampleCriteria implements IsSerializable, Serializable
+public class ListSampleCriteria implements ISerializable
 {
     private static final long serialVersionUID = ServiceVersionHolder.VERSION;
 
@@ -64,7 +62,7 @@ public class ListSampleCriteria implements IsSerializable, Serializable
 
     // --------- filter 5 fields
     private TechId experimentId;
-    
+
     private Collection<Long> childrenSampleIds;
 
     // ----
@@ -96,7 +94,7 @@ public class ListSampleCriteria implements IsSerializable, Serializable
         criteria.setChildrenSampleIds(childrenSampleIds);
         return criteria;
     }
-    
+
     public static ListSampleCriteria createForExperiment(final TechId experimentId)
     {
         final ListSampleCriteria criteria = new ListSampleCriteria();
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/MatchingEntity.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/MatchingEntity.java
index 69e393c4e03..f23e617aa1b 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/MatchingEntity.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/MatchingEntity.java
@@ -16,9 +16,8 @@
 
 package ch.systemsx.cisd.openbis.generic.shared.basic.dto;
 
-import com.google.gwt.user.client.rpc.IsSerializable;
-
 import ch.systemsx.cisd.openbis.generic.shared.basic.IEntityInformationHolderWithPermId;
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
 
 /**
  * An entity that matches the <i>Hibernate Search</i> query and which has been returned by the
@@ -26,8 +25,10 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.IEntityInformationHolderWit
  * 
  * @author Christian Ribeaud
  */
-public final class MatchingEntity implements IsSerializable, IEntityInformationHolderWithPermId
+public final class MatchingEntity implements ISerializable, IEntityInformationHolderWithPermId
 {
+    private static final long serialVersionUID = 1L;
+
     private Long id;
 
     private String code;
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/MaterialAttributeSearchFieldKind.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/MaterialAttributeSearchFieldKind.java
index 912e188abef..f93d8fffea5 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/MaterialAttributeSearchFieldKind.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/MaterialAttributeSearchFieldKind.java
@@ -16,14 +16,14 @@
 
 package ch.systemsx.cisd.openbis.generic.shared.basic.dto;
 
-import com.google.gwt.user.client.rpc.IsSerializable;
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
 
 /**
  * Kinds of fields connected with Material attributes that can be used in detailed text queries.
  * 
  * @author Piotr Buczek
  */
-public enum MaterialAttributeSearchFieldKind implements IsSerializable, IAttributeSearchFieldKind
+public enum MaterialAttributeSearchFieldKind implements ISerializable, IAttributeSearchFieldKind
 {
     CODE("Code"),
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/MaterialIdentifier.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/MaterialIdentifier.java
index c36aa2bfe07..635b15c4080 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/MaterialIdentifier.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/MaterialIdentifier.java
@@ -16,16 +16,14 @@
 
 package ch.systemsx.cisd.openbis.generic.shared.basic.dto;
 
-import java.io.Serializable;
-
-import com.google.gwt.user.client.rpc.IsSerializable;
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
 
 /**
  * Identifier for searching material through <i>Web Service</i> lookup methods in the database.
  * 
  * @author Christian Ribeaud
  */
-public final class MaterialIdentifier implements IsSerializable, Serializable
+public final class MaterialIdentifier implements ISerializable
 {
     private static final long serialVersionUID = ServiceVersionHolder.VERSION;
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/MaterialTypePropertyType.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/MaterialTypePropertyType.java
index 2a5372c5577..5395361000d 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/MaterialTypePropertyType.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/MaterialTypePropertyType.java
@@ -16,7 +16,7 @@
 
 package ch.systemsx.cisd.openbis.generic.shared.basic.dto;
 
-import com.google.gwt.user.client.rpc.IsSerializable;
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
 
 /**
  * The {@link EntityTypePropertyType} extension for <i>Material Type</i>.
@@ -24,7 +24,7 @@ import com.google.gwt.user.client.rpc.IsSerializable;
  * @author Izabela Adamczyk
  */
 public class MaterialTypePropertyType extends EntityTypePropertyType<MaterialType> implements
-        IsSerializable
+        ISerializable
 {
     private static final long serialVersionUID = ServiceVersionHolder.VERSION;
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/NewAttachment.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/NewAttachment.java
index fd955f2e461..0f58bca0154 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/NewAttachment.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/NewAttachment.java
@@ -16,22 +16,24 @@
 
 package ch.systemsx.cisd.openbis.generic.shared.basic.dto;
 
-import com.google.gwt.user.client.rpc.IsSerializable;
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
 
 /**
  * An attachment to register.
  * 
  * @author Piotr Buczek
  */
-public class NewAttachment implements IsSerializable
+public class NewAttachment implements ISerializable
 {
 
+    private static final long serialVersionUID = 1L;
+
     private String filePath;
 
     private String title;
 
     private String description;
-    
+
     private byte[] content;
 
     public NewAttachment()
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/NewAuthorizationGroup.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/NewAuthorizationGroup.java
index 0d101220c21..8aa4a02a6aa 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/NewAuthorizationGroup.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/NewAuthorizationGroup.java
@@ -16,16 +16,14 @@
 
 package ch.systemsx.cisd.openbis.generic.shared.basic.dto;
 
-import java.io.Serializable;
-
-import com.google.gwt.user.client.rpc.IsSerializable;
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
 
 /**
  * Details of new authorization group.
  * 
  * @author Izabela Adamczyk
  */
-public class NewAuthorizationGroup implements IsSerializable, Serializable
+public class NewAuthorizationGroup implements ISerializable
 {
     private static final long serialVersionUID = ServiceVersionHolder.VERSION;
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/NewETPTAssignment.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/NewETPTAssignment.java
index f38507b99a0..692657bf04c 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/NewETPTAssignment.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/NewETPTAssignment.java
@@ -16,16 +16,14 @@
 
 package ch.systemsx.cisd.openbis.generic.shared.basic.dto;
 
-import java.io.Serializable;
-
-import com.google.gwt.user.client.rpc.IsSerializable;
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
 
 /**
  * Stores data needed to create new entity type-property type assignment.
  * 
  * @author Izabela Adamczyk
  */
-public class NewETPTAssignment implements IsSerializable, Serializable
+public class NewETPTAssignment implements ISerializable
 {
     private static final long serialVersionUID = ServiceVersionHolder.VERSION;
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/NewExpression.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/NewExpression.java
index 0c07a4b0e60..ba2c1e90deb 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/NewExpression.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/NewExpression.java
@@ -16,14 +16,12 @@
 
 package ch.systemsx.cisd.openbis.generic.shared.basic.dto;
 
-import java.io.Serializable;
-
-import com.google.gwt.user.client.rpc.IsSerializable;
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
 
 /**
  * @author Franz-Josef Elmer
  */
-public class NewExpression implements IsSerializable, Serializable
+public class NewExpression implements ISerializable
 {
     private static final long serialVersionUID = ServiceVersionHolder.VERSION;
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/NewSamplesWithTypes.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/NewSamplesWithTypes.java
index 6f6065a0bf8..620722f79ad 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/NewSamplesWithTypes.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/NewSamplesWithTypes.java
@@ -16,17 +16,16 @@
 
 package ch.systemsx.cisd.openbis.generic.shared.basic.dto;
 
-import java.io.Serializable;
 import java.util.List;
 
-import com.google.gwt.user.client.rpc.IsSerializable;
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
 
 /**
  * Contains a list of new samples and their type.
  * 
  * @author Izabela Adamczyk
  */
-public class NewSamplesWithTypes implements IsSerializable, Serializable
+public class NewSamplesWithTypes implements ISerializable
 {
     private static final long serialVersionUID = ServiceVersionHolder.VERSION;
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/Null.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/Null.java
index 337fca24564..8e15e9e7fe5 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/Null.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/Null.java
@@ -16,16 +16,14 @@
 
 package ch.systemsx.cisd.openbis.generic.shared.basic.dto;
 
-import java.io.Serializable;
-
-import com.google.gwt.user.client.rpc.IsSerializable;
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
 
 /**
  * Serializable null object.
- *
+ * 
  * @author Franz-Josef Elmer
  */
-public class Null implements Serializable, IsSerializable
+public class Null implements ISerializable
 {
 
     private static final long serialVersionUID = 1L;
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/ParameterValue.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/ParameterValue.java
index 26ed284edff..08525bcca5e 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/ParameterValue.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/ParameterValue.java
@@ -16,12 +16,12 @@
 
 package ch.systemsx.cisd.openbis.generic.shared.basic.dto;
 
-import com.google.gwt.user.client.rpc.IsSerializable;
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
 
 /**
  * @author Piotr Buczek
  */
-public class ParameterValue implements Comparable<ParameterValue>, IsSerializable
+public class ParameterValue implements Comparable<ParameterValue>, ISerializable
 {
     private static final long serialVersionUID = ServiceVersionHolder.VERSION;
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/ParameterWithValue.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/ParameterWithValue.java
index b90a4592178..3c668ce2f6c 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/ParameterWithValue.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/ParameterWithValue.java
@@ -1,17 +1,13 @@
 package ch.systemsx.cisd.openbis.generic.shared.basic.dto;
 
-import java.io.Serializable;
-
-import com.google.gwt.user.client.rpc.IsSerializable;
-
-import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ServiceVersionHolder;
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
 
 /**
  * Stores parameter name and the value.
  * 
  * @author Izabela Adamczyk
  */
-public class ParameterWithValue implements IsSerializable, Serializable
+public class ParameterWithValue implements ISerializable
 {
     private static final long serialVersionUID = ServiceVersionHolder.VERSION;
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/PropertyType.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/PropertyType.java
index 3c53a223372..e22d3d642c4 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/PropertyType.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/PropertyType.java
@@ -16,18 +16,14 @@
 
 package ch.systemsx.cisd.openbis.generic.shared.basic.dto;
 
-import java.io.Serializable;
 import java.util.List;
 
-import com.google.gwt.user.client.rpc.IsSerializable;
-
 /**
  * The <i>GWT</i> version of PropertyTypePE.
  * 
  * @author Izabela Adamczyk
  */
-public class PropertyType extends Code<PropertyType> implements IPropertyTypeUpdates,
-        IsSerializable, Serializable
+public class PropertyType extends Code<PropertyType> implements IPropertyTypeUpdates
 {
     private static final long serialVersionUID = ServiceVersionHolder.VERSION;
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/PropertyTypeWithVocabulary.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/PropertyTypeWithVocabulary.java
index ad7176d7596..e9b43582997 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/PropertyTypeWithVocabulary.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/PropertyTypeWithVocabulary.java
@@ -16,22 +16,20 @@
 
 package ch.systemsx.cisd.openbis.generic.shared.basic.dto;
 
-import java.io.Serializable;
 import java.util.Set;
 import java.util.TreeSet;
 
-import com.google.gwt.user.client.rpc.IsSerializable;
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
 
 /**
- * 
- *
  * @author Franz-Josef Elmer
  */
-public class PropertyTypeWithVocabulary implements IsSerializable, Serializable
+public class PropertyTypeWithVocabulary implements ISerializable
 {
     private static final long serialVersionUID = ServiceVersionHolder.VERSION;
-    
-    private String code; 
+
+    private String code;
+
     private Set<String> vocabularyTerms;
 
     public String getCode()
@@ -53,7 +51,7 @@ public class PropertyTypeWithVocabulary implements IsSerializable, Serializable
     {
         return vocabularyTerms;
     }
-    
+
     public void setTerms(Set<VocabularyTerm> terms)
     {
         this.vocabularyTerms = new TreeSet<String>();
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/QueryType.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/QueryType.java
index d2356b593ab..afd3f77a634 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/QueryType.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/QueryType.java
@@ -16,14 +16,14 @@
 
 package ch.systemsx.cisd.openbis.generic.shared.basic.dto;
 
-import com.google.gwt.user.client.rpc.IsSerializable;
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
 
 /**
  * Type of query.
  * 
  * @author Izabela Adamczyk
  */
-public enum QueryType implements IsSerializable
+public enum QueryType implements ISerializable
 {
 
     GENERIC,
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/RealNumberFormatingParameters.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/RealNumberFormatingParameters.java
index ce02a9041a6..8064b3d1298 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/RealNumberFormatingParameters.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/RealNumberFormatingParameters.java
@@ -16,16 +16,14 @@
 
 package ch.systemsx.cisd.openbis.generic.shared.basic.dto;
 
-import java.io.Serializable;
-
-import com.google.gwt.user.client.rpc.IsSerializable;
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
 
 /**
  * Parameters for formating real numbers in grids. It is part of {@link DisplaySettings}.
  * 
  * @author Franz-Josef Elmer
  */
-public class RealNumberFormatingParameters implements Serializable, IsSerializable
+public class RealNumberFormatingParameters implements ISerializable
 {
     private static final long serialVersionUID = 1L;
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/RelationshipType.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/RelationshipType.java
index 478f951659a..6b75f863db1 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/RelationshipType.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/RelationshipType.java
@@ -16,16 +16,14 @@
 
 package ch.systemsx.cisd.openbis.generic.shared.basic.dto;
 
-import java.io.Serializable;
-
-import com.google.gwt.user.client.rpc.IsSerializable;
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
 
 /**
  * The <i>GWT</i> version of RelationshipTypePE.
  * 
  * @author Piotr Buczek
  */
-public class RelationshipType extends Code<PropertyType> implements IsSerializable, Serializable
+public class RelationshipType extends Code<PropertyType> implements ISerializable
 {
     private static final long serialVersionUID = ServiceVersionHolder.VERSION;
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/ReportingPluginType.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/ReportingPluginType.java
index 9c3b14f59df..81e4a3b54d0 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/ReportingPluginType.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/ReportingPluginType.java
@@ -16,7 +16,7 @@
 
 package ch.systemsx.cisd.openbis.generic.shared.basic.dto;
 
-import com.google.gwt.user.client.rpc.IsSerializable;
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
 
 /**
  * Different kinds of reporting plug-ins that are supported. Also keeps track of which
@@ -24,7 +24,7 @@ import com.google.gwt.user.client.rpc.IsSerializable;
  * 
  * @author Chandrasekhar Ramakrishnan
  */
-public enum ReportingPluginType implements IsSerializable
+public enum ReportingPluginType implements ISerializable
 {
 
     TABLE_MODEL(ImplementedPluginMethods.CREATE_REPORT),
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/RoleWithHierarchy.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/RoleWithHierarchy.java
index 69db5426c9b..ab0ffeaf0b9 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/RoleWithHierarchy.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/RoleWithHierarchy.java
@@ -21,6 +21,8 @@ import java.util.Set;
 
 import com.google.gwt.user.client.rpc.IsSerializable;
 
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
+
 /**
  * Hierarchical role. Combines {@link RoleCode} with {@link RoleLevel} and a set of
  * {@link RoleWithHierarchy}s that are stronger.
@@ -46,7 +48,7 @@ import com.google.gwt.user.client.rpc.IsSerializable;
  * 
  * @author Izabela Adamczyk
  */
-public enum RoleWithHierarchy implements IsSerializable
+public enum RoleWithHierarchy implements ISerializable
 {
     //
     // NOTE: Each role should match the following naming convention: <RoleLevel>_<RoleCode>,
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/SampleAttributeSearchFieldKind.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/SampleAttributeSearchFieldKind.java
index d779e780364..0e60a892cdc 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/SampleAttributeSearchFieldKind.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/SampleAttributeSearchFieldKind.java
@@ -16,14 +16,14 @@
 
 package ch.systemsx.cisd.openbis.generic.shared.basic.dto;
 
-import com.google.gwt.user.client.rpc.IsSerializable;
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
 
 /**
  * Kinds of fields connected with Sample attributes that can be used in detailed text queries.
  * 
  * @author Piotr Buczek
  */
-public enum SampleAttributeSearchFieldKind implements IsSerializable, IAttributeSearchFieldKind
+public enum SampleAttributeSearchFieldKind implements ISerializable, IAttributeSearchFieldKind
 {
     CODE("Code"),
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/SampleBatchUpdateDetails.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/SampleBatchUpdateDetails.java
index 87a06875a49..1c26647161f 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/SampleBatchUpdateDetails.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/SampleBatchUpdateDetails.java
@@ -16,17 +16,16 @@
 
 package ch.systemsx.cisd.openbis.generic.shared.basic.dto;
 
-import java.io.Serializable;
 import java.util.Set;
 
-import com.google.gwt.user.client.rpc.IsSerializable;
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
 
 /**
  * Holds information about which sample attributes should be updated.
  * 
  * @author Piotr Buczek
  */
-public class SampleBatchUpdateDetails implements IsSerializable, Serializable
+public class SampleBatchUpdateDetails implements ISerializable
 {
     private static final long serialVersionUID = ServiceVersionHolder.VERSION;
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/SampleParentWithDerived.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/SampleParentWithDerived.java
index fe023938f51..8c25486acd7 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/SampleParentWithDerived.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/SampleParentWithDerived.java
@@ -16,9 +16,6 @@
 
 package ch.systemsx.cisd.openbis.generic.shared.basic.dto;
 
-import java.io.Serializable;
-
-import com.google.gwt.user.client.rpc.IsSerializable;
 
 /**
  * A <code>SampleParentWithDerived</code> encapsulates a <code>Sample</code> (the parent) and its
@@ -26,7 +23,7 @@ import com.google.gwt.user.client.rpc.IsSerializable;
  * 
  * @author Christian Ribeaud
  */
-public final class SampleParentWithDerived implements IsSerializable, Serializable
+public final class SampleParentWithDerived
 {
     private static final long serialVersionUID = ServiceVersionHolder.VERSION;
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/SampleType.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/SampleType.java
index 33586dcf4d7..f112403d264 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/SampleType.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/SampleType.java
@@ -22,16 +22,15 @@ import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
 
-import com.google.gwt.user.client.rpc.IsSerializable;
-
 import ch.systemsx.cisd.common.annotation.CollectionMapping;
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
 
 /**
  * A {@link EntityType} extension for <i>Sample Type</i>.
  * 
  * @author Izabela Adamczyk
  */
-public final class SampleType extends EntityType implements IsSerializable
+public final class SampleType extends EntityType implements ISerializable
 {
     private static final long serialVersionUID = ServiceVersionHolder.VERSION;
 
@@ -161,7 +160,7 @@ public final class SampleType extends EntityType implements IsSerializable
 
     //
     // Object
-    // 
+    //
 
     @Override
     public boolean equals(Object obj)
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/SampleTypePropertyType.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/SampleTypePropertyType.java
index ff2dc180c31..09d18dcd8cf 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/SampleTypePropertyType.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/SampleTypePropertyType.java
@@ -16,15 +16,13 @@
 
 package ch.systemsx.cisd.openbis.generic.shared.basic.dto;
 
-import com.google.gwt.user.client.rpc.IsSerializable;
 
 /**
  * The {@link EntityTypePropertyType} extension for <i>Sample Type</i>.
  * 
  * @author Izabela Adamczyk
  */
-public class SampleTypePropertyType extends EntityTypePropertyType<SampleType> implements
-        IsSerializable
+public class SampleTypePropertyType extends EntityTypePropertyType<SampleType>
 {
     private static final long serialVersionUID = ServiceVersionHolder.VERSION;
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/SampleUpdateResult.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/SampleUpdateResult.java
index 11e9b3773a2..8c509886749 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/SampleUpdateResult.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/SampleUpdateResult.java
@@ -16,18 +16,17 @@
 
 package ch.systemsx.cisd.openbis.generic.shared.basic.dto;
 
-import java.io.Serializable;
 import java.util.Date;
 import java.util.List;
 
-import com.google.gwt.user.client.rpc.IsSerializable;
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
 
 /**
  * Stores result of sample update.
  * 
  * @author Piotr Buczek
  */
-public class SampleUpdateResult implements IsSerializable, Serializable
+public class SampleUpdateResult implements ISerializable
 {
     private static final long serialVersionUID = ServiceVersionHolder.VERSION;
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/SearchCriteriaConnection.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/SearchCriteriaConnection.java
index dd83a5ac858..1dba1a1dc6f 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/SearchCriteriaConnection.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/SearchCriteriaConnection.java
@@ -16,12 +16,12 @@
 
 package ch.systemsx.cisd.openbis.generic.shared.basic.dto;
 
-import com.google.gwt.user.client.rpc.IsSerializable;
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
 
 /**
  * @author Izabela Adamczyk
  */
-public enum SearchCriteriaConnection implements IsSerializable
+public enum SearchCriteriaConnection implements ISerializable
 {
     MATCH_ALL, MATCH_ANY
 }
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/SortInfo.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/SortInfo.java
index e244a955520..305bdfaa92a 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/SortInfo.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/SortInfo.java
@@ -19,14 +19,17 @@ package ch.systemsx.cisd.openbis.generic.shared.basic.dto;
 import com.google.gwt.user.client.rpc.IsSerializable;
 
 import ch.systemsx.cisd.openbis.generic.shared.basic.IColumnDefinition;
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
 
 /**
  * Aggregates sort field and sort direction.
  * 
  * @author Christian Ribeaud
  */
-public final class SortInfo<T> implements IsSerializable
+public final class SortInfo<T> implements ISerializable
 {
+    private static final long serialVersionUID = 1L;
+
     private IColumnDefinition<T> sortField;
 
     private SortDir sortDir = SortDir.NONE;
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/TableModel.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/TableModel.java
index 3b637e7c30d..56d3fb33d2d 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/TableModel.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/TableModel.java
@@ -16,17 +16,16 @@
 
 package ch.systemsx.cisd.openbis.generic.shared.basic.dto;
 
-import java.io.Serializable;
 import java.util.List;
 
-import com.google.gwt.user.client.rpc.IsSerializable;
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
 
 /**
  * A table with a list of rows and columns specification. Each column has header and type.
  * 
  * @author Tomasz Pylak
  */
-public class TableModel implements IsSerializable, Serializable
+public class TableModel implements ISerializable
 {
 
     private static final long serialVersionUID = ServiceVersionHolder.VERSION;
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/TableModelColumnHeader.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/TableModelColumnHeader.java
index 81d3415295a..13211a330c2 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/TableModelColumnHeader.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/TableModelColumnHeader.java
@@ -16,18 +16,17 @@
 
 package ch.systemsx.cisd.openbis.generic.shared.basic.dto;
 
-import java.io.Serializable;
 import java.util.HashMap;
 import java.util.Map;
 
-import com.google.gwt.user.client.rpc.IsSerializable;
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
 
 /**
  * Column header for {@link TableModel}.
  * 
  * @author Tomasz Pylak
  */
-public class TableModelColumnHeader implements IsSerializable, Serializable
+public class TableModelColumnHeader implements ISerializable
 {
     private static final long serialVersionUID = ServiceVersionHolder.VERSION;
 
@@ -42,11 +41,11 @@ public class TableModelColumnHeader implements IsSerializable, Serializable
 
     // if column values contain permIds of certain entities entity kind is stored here
     private EntityKind entityKindOrNull;
-    
+
     private Map<String, String> properties;
 
     private int defaultColumnWidth = 150;
-    
+
     private boolean hidden;
 
     public TableModelColumnHeader()
@@ -80,7 +79,7 @@ public class TableModelColumnHeader implements IsSerializable, Serializable
         // NOTE: id shouldn't contain spaces or some features of columns (e.g. links) will not work
         this.id = id.replaceAll(" ", "_");
     }
-    
+
     public final String getId()
     {
         return id;
@@ -90,7 +89,7 @@ public class TableModelColumnHeader implements IsSerializable, Serializable
     {
         this.index = index;
     }
-    
+
     public int getIndex()
     {
         return index;
@@ -135,7 +134,7 @@ public class TableModelColumnHeader implements IsSerializable, Serializable
     {
         this.entityKindOrNull = entityKind;
     }
-    
+
     public void setProperty(String key, String value)
     {
         if (properties == null)
@@ -144,7 +143,7 @@ public class TableModelColumnHeader implements IsSerializable, Serializable
         }
         properties.put(key, value);
     }
-    
+
     public String tryToGetProperty(String key)
     {
         return properties == null ? null : properties.get(key);
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/TableModelRow.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/TableModelRow.java
index 8f44f8376c7..fd107c0630f 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/TableModelRow.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/TableModelRow.java
@@ -16,17 +16,16 @@
 
 package ch.systemsx.cisd.openbis.generic.shared.basic.dto;
 
-import java.io.Serializable;
 import java.util.List;
 
-import com.google.gwt.user.client.rpc.IsSerializable;
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
 
 /**
  * The content of one row, without the header specification.
  * 
  * @author Tomasz Pylak
  */
-public class TableModelRow implements IsSerializable, Serializable
+public class TableModelRow implements ISerializable
 {
     private static final long serialVersionUID = ServiceVersionHolder.VERSION;
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/TableModelRowWithObject.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/TableModelRowWithObject.java
index 75a5fe72f9e..ae571bd2542 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/TableModelRowWithObject.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/TableModelRowWithObject.java
@@ -21,14 +21,13 @@ import java.util.List;
 import com.google.gwt.user.client.rpc.IsSerializable;
 
 /**
- * 
- *
  * @author Franz-Josef Elmer
  */
+// TODO 2010-12-03, Piotr Buczek: change to ISerializable
 public class TableModelRowWithObject<T extends IsSerializable> extends TableModelRow
 {
     private static final long serialVersionUID = ServiceVersionHolder.VERSION;
-    
+
     private T objectOrNull;
 
     public TableModelRowWithObject(T objectOrNull, List<ISerializableComparable> values)
@@ -36,17 +35,17 @@ public class TableModelRowWithObject<T extends IsSerializable> extends TableMode
         super(values);
         this.objectOrNull = objectOrNull;
     }
-    
+
     // GWT only
     @SuppressWarnings("unused")
     private TableModelRowWithObject()
     {
-        
+
     }
 
     public T getObjectOrNull()
     {
         return objectOrNull;
     }
-    
+
 }
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/TrackingDataSetCriteria.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/TrackingDataSetCriteria.java
index c919cd0ad14..50749842d33 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/TrackingDataSetCriteria.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/TrackingDataSetCriteria.java
@@ -16,9 +16,7 @@
 
 package ch.systemsx.cisd.openbis.generic.shared.basic.dto;
 
-import java.io.Serializable;
-
-import com.google.gwt.user.client.rpc.IsSerializable;
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
 
 /**
  * Criteria for tracking <i>data sets</i> connected to samples of a particular type with technical
@@ -29,7 +27,7 @@ import com.google.gwt.user.client.rpc.IsSerializable;
  * 
  * @author Piotr Buczek
  */
-public class TrackingDataSetCriteria implements IsSerializable, Serializable
+public class TrackingDataSetCriteria implements ISerializable
 {
     private static final long serialVersionUID = ServiceVersionHolder.VERSION;
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/TypedTableModel.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/TypedTableModel.java
index 7610136b0d1..c6444364c84 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/TypedTableModel.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/TypedTableModel.java
@@ -23,18 +23,21 @@ import com.google.gwt.user.client.rpc.IsSerializable;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.TypedTableGrid;
 
 /**
- * Table model for {@link TypedTableGrid} classes. It contains column meta-data as a
- * list of {@link TableModelColumnHeader} instances and the row data as a list of
+ * Table model for {@link TypedTableGrid} classes. It contains column meta-data as a list of
+ * {@link TableModelColumnHeader} instances and the row data as a list of
  * {@link TableModelRowWithObject} instances for row objects of type <code>T</code>.
- *
+ * 
  * @author Franz-Josef Elmer
  */
+// TODO 2010-12-03, Piotr Buczek: change to ISerializable
 public class TypedTableModel<T extends IsSerializable>
 {
     private final List<TableModelColumnHeader> header;
+
     private final List<TableModelRowWithObject<T>> rows;
 
-    public TypedTableModel(List<TableModelColumnHeader> header, List<TableModelRowWithObject<T>> rows)
+    public TypedTableModel(List<TableModelColumnHeader> header,
+            List<TableModelRowWithObject<T>> rows)
     {
         this.header = header;
         this.rows = rows;
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/VocabularyTermBatchUpdateDetails.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/VocabularyTermBatchUpdateDetails.java
index 8f4352d2a92..7fcf7fa6bdd 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/VocabularyTermBatchUpdateDetails.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/VocabularyTermBatchUpdateDetails.java
@@ -16,16 +16,14 @@
 
 package ch.systemsx.cisd.openbis.generic.shared.basic.dto;
 
-import java.io.Serializable;
-
-import com.google.gwt.user.client.rpc.IsSerializable;
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
 
 /**
  * Holds information about which vocabulary term attributes should be updated.
  * 
  * @author Piotr Buczek
  */
-public class VocabularyTermBatchUpdateDetails implements IsSerializable, Serializable
+public class VocabularyTermBatchUpdateDetails implements ISerializable
 {
     private static final long serialVersionUID = ServiceVersionHolder.VERSION;
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/VocabularyTermGridIDs.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/VocabularyTermGridIDs.java
index 4df8fdf458d..1f04258c163 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/VocabularyTermGridIDs.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/VocabularyTermGridIDs.java
@@ -16,19 +16,23 @@
 
 package ch.systemsx.cisd.openbis.generic.shared.basic.dto;
 
-
 /**
- * 
- *
  * @author Franz-Josef Elmer
  */
 public class VocabularyTermGridIDs extends CommonGridIDs
 {
+    private static final long serialVersionUID = 1L;
+
     public static final String URL = "URL";
+
     public static final String TERM_TOTAL_USAGE = "TERM_TOTAL_USAGE";
+
     public static final String TERM_FOR_SAMPLES_USAGE = "TERM_FOR_SAMPLES_USAGE";
+
     public static final String TERM_FOR_DATA_SET_USAGE = "TERM_FOR_DATA_SET_USAGE";
+
     public static final String TERM_FOR_EXPERIMENTS_USAGE = "TERM_FOR_EXPERIMENTS_USAGE";
+
     public static final String TERM_FOR_MATERIALS_USAGE = "TERM_FOR_MATERIALS_USAGE";
 
 }
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/VocabularyTermReplacement.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/VocabularyTermReplacement.java
index 6bb9731708c..7239f2733f3 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/VocabularyTermReplacement.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/VocabularyTermReplacement.java
@@ -16,16 +16,14 @@
 
 package ch.systemsx.cisd.openbis.generic.shared.basic.dto;
 
-import java.io.Serializable;
-
-import com.google.gwt.user.client.rpc.IsSerializable;
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
 
 /**
  * Wrapper of a {@link VocabularyTerm} and its replacement.
  * 
- * @author     Franz-Josef Elmer
+ * @author Franz-Josef Elmer
  */
-public class VocabularyTermReplacement implements IsSerializable, Serializable
+public class VocabularyTermReplacement implements ISerializable
 {
     private static final long serialVersionUID = ServiceVersionHolder.VERSION;
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/WebClientConfiguration.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/WebClientConfiguration.java
index 4247bb28b4c..ff5dc4e5da1 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/WebClientConfiguration.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/WebClientConfiguration.java
@@ -16,12 +16,10 @@
 
 package ch.systemsx.cisd.openbis.generic.shared.basic.dto;
 
-import java.io.Serializable;
 import java.util.HashMap;
 import java.util.Map;
 
-import com.google.gwt.user.client.rpc.IsSerializable;
-
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
 import ch.systemsx.cisd.openbis.generic.shared.basic.ViewMode;
 
 /**
@@ -29,23 +27,24 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.ViewMode;
  * 
  * @author Izabela Adamczyk
  */
-public class WebClientConfiguration implements IsSerializable, Serializable
+public class WebClientConfiguration implements ISerializable
 {
     private static final long serialVersionUID = ServiceVersionHolder.VERSION;
 
     private Map<String, DetailViewConfiguration> views =
             new HashMap<String, DetailViewConfiguration>();
-    
-    private Map<String, Map<String, String>> technologyProperties = new HashMap<String, Map<String, String>>();
+
+    private Map<String, Map<String, String>> technologyProperties =
+            new HashMap<String, Map<String, String>>();
 
     private ViewMode defaultViewMode;
-    
+
     public String getPropertyOrNull(String technology, String key)
     {
         Map<String, String> properties = technologyProperties.get(technology);
         return properties == null ? null : properties.get(key);
     }
-    
+
     public void addPropertiesForTechnology(String technology, Map<String, String> properties)
     {
         technologyProperties.put(technology, properties);
-- 
GitLab