re base code
[sdc.git] / catalog-be / src / main / java / org / openecomp / sdc / be / components / impl / utils / ExceptionUtils.java
1 package org.openecomp.sdc.be.components.impl.utils;
2
3 import org.openecomp.sdc.be.components.impl.exceptions.ComponentException;
4 import org.openecomp.sdc.be.dao.api.ActionStatus;
5 import org.openecomp.sdc.be.dao.jsongraph.TitanDao;
6 import org.openecomp.sdc.be.dao.titan.TitanOperationStatus;
7 import org.openecomp.sdc.be.model.operations.StorageException;
8 import org.openecomp.sdc.be.model.operations.api.StorageOperationStatus;
9 import org.openecomp.sdc.exception.ResponseFormat;
10 import org.springframework.stereotype.Component;
11
12 @Component
13 public class ExceptionUtils {
14
15     private final TitanDao titanDao;
16
17     public ExceptionUtils(TitanDao titanDao) {
18         this.titanDao = titanDao;
19     }
20
21     public <T> T rollBackAndThrow(ActionStatus actionStatus, String ... params) {
22          titanDao.rollback();
23          throw new ComponentException(actionStatus, params);
24      }
25
26     public <T> T rollBackAndThrow(ResponseFormat responseFormat) {
27         titanDao.rollback();
28         throw new ComponentException(responseFormat);
29     }
30
31     public <T> T rollBackAndThrow(StorageOperationStatus status, String ... params) {
32         titanDao.rollback();
33         throw new StorageException(status, params);
34     }
35
36     public <T> T rollBackAndThrow(TitanOperationStatus status, String ... params) {
37         titanDao.rollback();
38         throw new StorageException(status, params);
39     }
40
41
42
43
44 }