package org.opentosca.csarrepo.service; import org.opentosca.csarrepo.exception.PersistenceException; import org.opentosca.csarrepo.model.Csar; import org.opentosca.csarrepo.model.CsarFile; import org.opentosca.csarrepo.model.repository.CsarFileRepository; import org.opentosca.csarrepo.model.repository.CsarRepository; /** * @author Dennis Przytarski */ public class DeleteCsarService extends AbstractService { private long csarId; private boolean returnValue = false; /** * @param userId * @param csarId */ public DeleteCsarService(long userId, long csarId) { super(userId); this.csarId = csarId; try { CsarRepository csarRepository = new CsarRepository(); CsarFileRepository csarFileRepository = new CsarFileRepository(); Csar csar = csarRepository.getbyId(this.csarId); if(csar == null) { this.addError("invalidCsar"); return; } for (CsarFile csarFile : csar.getCsarFiles()) { csarFileRepository.delete(csarFile); } csarRepository.delete(csar); this.returnValue = true; } catch (PersistenceException e) { this.addError(e.getMessage()); } } /** * @return status of deletion */ public boolean getResult() { super.logInvalidResultAccess("getResult"); return this.returnValue; } }