use of cz.mzk.recordmanager.server.model.Title in project RecordManager2 by moravianlibrary.
the class HarvestedRecordDAOHibernate method dropDedupKeys.
@Override
public void dropDedupKeys(HarvestedRecord hr) {
if (hr == null || hr.getId() == null) {
return;
}
Session session = sessionFactory.getCurrentSession();
// don't delete keys for not managed entities
if (!session.contains(hr)) {
System.out.println("NOT CONT");
return;
}
hr.setAuthorAuthKey(null);
hr.setAuthorString(null);
hr.setClusterId(null);
hr.setPages(null);
hr.setPublicationYear(null);
hr.setRaw001Id(null);
hr.setScale(null);
hr.setUuid(null);
hr.setSourceInfoT(null);
hr.setSourceInfoX(null);
hr.setSourceInfoG(null);
hr.setIssnSeries(null);
hr.setIssnSeriesOrder(null);
hr.setWeight(null);
List<Title> titles = hr.getTitles();
hr.setTitles(new ArrayList<>());
for (Title t : titles) {
session.delete(t);
}
List<ShortTitle> shortTitles = hr.getShortTitles();
hr.setShortTitles(new ArrayList<>());
for (ShortTitle st : shortTitles) {
session.delete(st);
}
List<Isbn> isbns = hr.getIsbns();
hr.setIsbns(new ArrayList<>());
for (Isbn i : isbns) {
session.delete(i);
}
List<Issn> issns = hr.getIssns();
hr.setIssns(new ArrayList<>());
for (Issn i : issns) {
session.delete(i);
}
List<Ismn> ismns = hr.getIsmns();
hr.setIsmns(new ArrayList<>());
for (Ismn i : ismns) {
session.delete(i);
}
List<Oclc> oclcs = hr.getOclcs();
hr.setOclcs(new ArrayList<>());
for (Oclc o : oclcs) {
session.delete(o);
}
List<Cnb> cnbs = hr.getCnb();
hr.setCnb(new ArrayList<>());
for (Cnb c : cnbs) {
session.delete(c);
}
List<Ean> eans = hr.getEans();
hr.setEans(new ArrayList<>());
for (Ean ean : eans) {
session.delete(ean);
}
List<HarvestedRecordFormat> physicalFormats = hr.getPhysicalFormats();
hr.getPhysicalFormats().clear();
for (HarvestedRecordFormat hrf : physicalFormats) {
session.delete(hrf);
}
hr.setLanguages(new ArrayList<>());
session.update(hr);
session.flush();
}
Aggregations