Revision c40b1228
Added by Katja Luther over 2 years ago
cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/MediaServiceImpl.java | ||
---|---|---|
35 | 35 |
import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper; |
36 | 36 |
import eu.etaxonomy.cdm.model.common.CdmBase; |
37 | 37 |
import eu.etaxonomy.cdm.model.common.ICdmBase; |
38 |
import eu.etaxonomy.cdm.model.common.IdentifiableEntity; |
|
38 | 39 |
import eu.etaxonomy.cdm.model.description.DescriptionBase; |
39 | 40 |
import eu.etaxonomy.cdm.model.description.IDescribable; |
40 | 41 |
import eu.etaxonomy.cdm.model.description.MediaKey; |
... | ... | |
169 | 170 |
updatedObject = handleDeleteMedia(media, textData, description, |
170 | 171 |
(IDescribable)objectToUpdate); |
171 | 172 |
} else { |
173 |
|
|
172 | 174 |
// this should not be happen, because it is not deletable. see isDeletable |
173 | 175 |
result.setAbort(); |
174 | 176 |
} |
... | ... | |
181 | 183 |
}else if (ref instanceof MediaRepresentation){ |
182 | 184 |
continue; |
183 | 185 |
}else { |
186 |
|
|
184 | 187 |
result.setAbort(); |
185 | 188 |
} |
186 | 189 |
|
... | ... | |
222 | 225 |
MediaDeletionConfigurator mediaConfig = (MediaDeletionConfigurator)config; |
223 | 226 |
CdmBase deleteFrom = mediaConfig.getDeleteFrom(); |
224 | 227 |
|
225 |
if (mediaConfig.isDeleteFromEveryWhere()){ |
|
226 |
return result; |
|
227 |
} |
|
228 |
// if (mediaConfig.isDeleteFromEveryWhere()){
|
|
229 |
// return result;
|
|
230 |
// }
|
|
228 | 231 |
for (CdmBase ref: references){ |
229 | 232 |
String message = null; |
230 | 233 |
if (ref instanceof MediaRepresentation){ |
... | ... | |
263 | 266 |
message = "The media can't be deleted from the database because it is referenced by a mediaspecimen. ("+((MediaSpecimen)ref).getTitleCache()+")"; |
264 | 267 |
result.setAbort(); |
265 | 268 |
}else { |
266 |
message = "The media can't be completely deleted because it is referenced by another " + ref.getUserFriendlyTypeName() ; |
|
269 |
message = "The media can't be completely deleted because it is referenced by a " + ref.getUserFriendlyTypeName(); |
|
270 |
if (ref instanceof IdentifiableEntity) { |
|
271 |
message += ": " + ((IdentifiableEntity)ref).getTitleCache(); |
|
272 |
} |
|
267 | 273 |
result.setAbort(); |
268 | 274 |
} |
269 | 275 |
if (message != null){ |
Also available in: Unified diff
ref #6730: only media of descriptions and protologues can be deleted if referenced