diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/DataBO.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/DataBO.java index 5fa4905d6a72b772f180519dbba13b5787a676a1..7ce2858d9b719448f850890a7f5a2d2e942435d6 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/DataBO.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/DataBO.java @@ -525,6 +525,7 @@ public class DataBO extends AbstractDataSetBusinessObject implements IDataBO data.setPlaceholder(false); data.setId(HibernateUtils.getId(placeholder)); data.setRegistrationDate(new Date()); + data.setAccessDate(new Date()); RelationshipUtils.updateModificationDateAndModifier(data, findPerson()); dataDAO.updateDataSet(data, findPerson()); diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/DataPE.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/DataPE.java index fad910bfb1a9bafca3fb144f4e15559b5f8234ef..a956fd9d67430654f1a3e2bf7f641ba963fac30c 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/DataPE.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/DataPE.java @@ -114,6 +114,8 @@ public class DataPE extends AbstractIdAndCodeHolder<DataPE> implements private Date modificationDate; + private Date accessDate; + private int version; private String dataProducerCode; @@ -529,6 +531,20 @@ public class DataPE extends AbstractIdAndCodeHolder<DataPE> implements this.modificationDate = versionDate; } + @OptimisticLock(excluded = true) + @Column(name = ColumnNames.ACCESS_TIMESTAMP, nullable = false) + @Field(name = SearchFieldConstants.ACCESS_DATE, index = Index.UN_TOKENIZED, store = Store.NO) + @DateBridge(resolution = Resolution.SECOND) + public Date getAccessDate() + { + return accessDate; + } + + public void setAccessDate(Date versionDate) + { + this.accessDate = versionDate; + } + public void setId(final Long id) { this.id = id; diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/hibernate/SearchFieldConstants.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/hibernate/SearchFieldConstants.java index f29bd40a473934c71515c7e5e45f3224bb0d2a3b..c734d6ebe1901b20a905336d3539b834123ae234 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/hibernate/SearchFieldConstants.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/hibernate/SearchFieldConstants.java @@ -97,4 +97,6 @@ public final class SearchFieldConstants public static final String REGISTRATION_DATE = "registration_date"; public static final String MODIFICATION_DATE = "modification_date"; + + public static final String ACCESS_DATE = "access_date"; }