From c14097610347d4b6ecce4609e446a988d7dd74bc Mon Sep 17 00:00:00 2001
From: tpylak <tpylak>
Date: Fri, 20 Mar 2009 15:28:41 +0000
Subject: [PATCH] LMS-791 index datasets when sample properties are changed

SVN: 10306
---
 .../openbis/generic/shared/dto/SamplePE.java  | 40 +++++++++++++++++++
 1 file changed, 40 insertions(+)

diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/SamplePE.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/SamplePE.java
index 647eb991128..f74d8b09c88 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/SamplePE.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/SamplePE.java
@@ -50,6 +50,7 @@ import org.hibernate.annotations.Cascade;
 import org.hibernate.annotations.Check;
 import org.hibernate.annotations.Generated;
 import org.hibernate.annotations.GenerationTime;
+import org.hibernate.search.annotations.ContainedIn;
 import org.hibernate.search.annotations.DocumentId;
 import org.hibernate.search.annotations.Field;
 import org.hibernate.search.annotations.Index;
@@ -145,6 +146,45 @@ public class SamplePE implements IIdAndCodeHolder, Comparable<SamplePE>,
 
     private Date modificationDate;
 
+    // -------------
+    // These methods are here only to make the Hibernate Search working. They should not be
+    // used as they do not maintain the bidirectional connections properly
+    // -------------
+
+    private Set<DataPE> acquiredDatasets = new HashSet<DataPE>();
+
+    private Set<DataPE> derivedDatasets = new HashSet<DataPE>();
+
+    @SuppressWarnings("unused")
+    @OneToMany(fetch = FetchType.LAZY, mappedBy = "sampleAcquiredFrom")
+    @ContainedIn
+    private Set<DataPE> getAcquiredDatasets()
+    {
+        return acquiredDatasets;
+    }
+
+    @SuppressWarnings("unused")
+    private void setAcquiredDatasets(Set<DataPE> acquiredDatasets)
+    {
+        this.acquiredDatasets = acquiredDatasets;
+    }
+
+    @SuppressWarnings("unused")
+    @OneToMany(fetch = FetchType.LAZY, mappedBy = "sampleDerivedFrom")
+    @ContainedIn
+    private Set<DataPE> getDerivedDatasets()
+    {
+        return derivedDatasets;
+    }
+
+    @SuppressWarnings("unused")
+    private void setDerivedDatasets(Set<DataPE> derivedDatasets)
+    {
+        this.derivedDatasets = derivedDatasets;
+    }
+
+    // --------------------
+
     @ManyToOne(fetch = FetchType.EAGER)
     @JoinColumn(name = ColumnNames.INVALIDATION_COLUMN)
     public InvalidationPE getInvalidation()
-- 
GitLab