From 2dd729a41d00d3f96571d6786509503d8f8164a5 Mon Sep 17 00:00:00 2001
From: gpawel <gpawel>
Date: Tue, 30 Oct 2012 14:50:24 +0000
Subject: [PATCH] bugfix: fixing PEs to make it possible to delete entities
 with metaprojects assigned

SVN: 27424
---
 .../systemsx/cisd/openbis/generic/shared/dto/DataPE.java   | 7 ++++++-
 .../cisd/openbis/generic/shared/dto/ExperimentPE.java      | 4 +++-
 .../cisd/openbis/generic/shared/dto/MaterialPE.java        | 4 +++-
 .../systemsx/cisd/openbis/generic/shared/dto/SamplePE.java | 7 ++++++-
 4 files changed, 18 insertions(+), 4 deletions(-)

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 801dee8af00..98bce2d45b4 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
@@ -419,6 +419,7 @@ public class DataPE extends AbstractIdAndCodeHolder<DataPE> implements
     }
 
     // used only by Hibernate Search
+    @SuppressWarnings("unused")
     @Transient
     @Field(index = Index.UN_TOKENIZED, store = Store.YES, name = SearchFieldConstants.SAMPLE_ID)
     private Long getSampleId()
@@ -522,6 +523,7 @@ public class DataPE extends AbstractIdAndCodeHolder<DataPE> implements
     }
 
     // used only by Hibernate Search
+    @SuppressWarnings("unused")
     @Transient
     @Field(index = Index.UN_TOKENIZED, store = Store.YES, name = SearchFieldConstants.CONTAINER_ID)
     private Long getContainerId()
@@ -630,6 +632,7 @@ public class DataPE extends AbstractIdAndCodeHolder<DataPE> implements
     }
 
     // used only by Hibernate Search
+    @SuppressWarnings("unused")
     @Transient
     @Field(index = Index.UN_TOKENIZED, store = Store.YES, name = SearchFieldConstants.EXPERIMENT_ID)
     private Long getExperimentId()
@@ -812,7 +815,9 @@ public class DataPE extends AbstractIdAndCodeHolder<DataPE> implements
         this.deletion = deletion;
     }
 
-    @ManyToMany(fetch = FetchType.LAZY)
+    // used only by Hibernate Search
+    @SuppressWarnings("unused")
+    @ManyToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
     @Fetch(FetchMode.SUBSELECT)
     @JoinTable(name = TableNames.METAPROJECT_ASSIGNMENTS_VIEW, joinColumns =
         { @JoinColumn(name = ColumnNames.DATA_ID_COLUMN) }, inverseJoinColumns =
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/ExperimentPE.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/ExperimentPE.java
index aa52fae658b..f37d94c4fad 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/ExperimentPE.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/ExperimentPE.java
@@ -554,7 +554,9 @@ public class ExperimentPE extends AttachmentHolderPE implements
         this.permId = permId;
     }
 
-    @ManyToMany(fetch = FetchType.LAZY)
+    // used only by Hibernate Search
+    @SuppressWarnings("unused")
+    @ManyToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
     @Fetch(FetchMode.SUBSELECT)
     @JoinTable(name = TableNames.METAPROJECT_ASSIGNMENTS_VIEW, joinColumns =
         { @JoinColumn(name = ColumnNames.EXPERIMENT_COLUMN) }, inverseJoinColumns =
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/MaterialPE.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/MaterialPE.java
index ac216f9baa0..540a4b8e2dd 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/MaterialPE.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/MaterialPE.java
@@ -382,7 +382,9 @@ public class MaterialPE implements IIdAndCodeHolder, Comparable<MaterialPE>,
         return createPermId(code, materialType.getCode());
     }
 
-    @ManyToMany(fetch = FetchType.LAZY)
+    // used only by Hibernate Search
+    @SuppressWarnings("unused")
+    @ManyToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
     @Fetch(FetchMode.SUBSELECT)
     @JoinTable(name = TableNames.METAPROJECT_ASSIGNMENTS_VIEW, joinColumns =
         { @JoinColumn(name = ColumnNames.MATERIAL_COLUMN) }, inverseJoinColumns =
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 fa8a25f4cdf..0e3e80c6c9d 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
@@ -388,6 +388,7 @@ public class SamplePE extends AttachmentHolderPE implements IIdAndCodeHolder, Co
     }
 
     // used only by Hibernate Search
+    @SuppressWarnings("unused")
     @Transient
     @Field(index = Index.UN_TOKENIZED, store = Store.YES, name = SearchFieldConstants.CONTAINER_ID)
     private Long getContainerId()
@@ -488,6 +489,7 @@ public class SamplePE extends AttachmentHolderPE implements IIdAndCodeHolder, Co
     }
 
     // used only by Hibernate Search
+    @SuppressWarnings("unused")
     @Transient
     @Field(index = Index.UN_TOKENIZED, store = Store.YES, name = SearchFieldConstants.EXPERIMENT_ID)
     private Long getExperimentId()
@@ -525,6 +527,7 @@ public class SamplePE extends AttachmentHolderPE implements IIdAndCodeHolder, Co
     }
 
     // used only by Hibernate Search
+    @SuppressWarnings("unused")
     @Transient
     @Field(index = Index.TOKENIZED, store = Store.YES, name = SearchFieldConstants.CODE)
     private String getFullCode()
@@ -809,7 +812,9 @@ public class SamplePE extends AttachmentHolderPE implements IIdAndCodeHolder, Co
         return map;
     }
 
-    @ManyToMany(fetch = FetchType.LAZY)
+    // used only by Hibernate Search
+    @SuppressWarnings("unused")
+    @ManyToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
     @Fetch(FetchMode.SUBSELECT)
     @JoinTable(name = TableNames.METAPROJECT_ASSIGNMENTS_VIEW, joinColumns =
         { @JoinColumn(name = ColumnNames.SAMPLE_COLUMN) }, inverseJoinColumns =
-- 
GitLab