public void add(ExportInfo info) { ChromatticSession session = persister.getSession(); ExportInfoMapping eim = session.findByPath(ExportInfoMapping.class, getChildPath(info)); long exportTime = info.getExportTime(); if (eim != null) { persister.closeSession(false); throw new IllegalArgumentException( "An ExportInfo with export time " + exportTime + " already exists!"); } else { ExportInfosMapping exportInfosMapping = getExportInfosMapping(session); String exportTimeAsString = "" + exportTime; ExportInfoMapping exportInfo = exportInfosMapping.createExportInfo(exportTimeAsString); session.persist(exportInfosMapping, exportInfo, exportTimeAsString); exportInfo.initFrom(info); persister.closeSession(true); exportInfosCount++; } }
public String getChildPath(ExportInfo exportInfo) { return getPathFor(exportInfo.getExportTime()); }