Upgrade to latest oparent
[aaf/authz.git] / authz-batch / src / main / java / com / att / authz / actions / FADelete.java
1 /*******************************************************************************
2  * Copyright (c) 2016 AT&T Intellectual Property. All rights reserved.
3  *******************************************************************************/
4 package com.att.authz.actions;
5
6 import java.io.IOException;
7 import java.util.List;
8
9 import com.att.authz.env.AuthzTrans;
10 import com.att.authz.helpers.Future;
11 import com.att.authz.layer.Result;
12 import com.att.dao.aaf.cass.ApprovalDAO;
13 import com.att.dao.aaf.cass.FutureDAO;
14 import org.onap.aaf.inno.env.APIException;
15 import org.onap.aaf.inno.env.util.Chrono;
16 import com.datastax.driver.core.Cluster;
17
18 public class FADelete extends ActionDAO<Future,Void> {
19         public FADelete(AuthzTrans trans, Cluster cluster) throws APIException, IOException {
20                 super(trans, cluster);
21         }
22         
23         public FADelete(AuthzTrans trans, ActionDAO<?,?> adao) {
24                 super(trans, adao);
25         }
26
27         @Override
28         public Result<Void> exec(AuthzTrans trans, Future f) {
29                 FutureDAO.Data fdd = new FutureDAO.Data();
30                 fdd.id=f.id;
31                 Result<Void> rv = q.futureDAO.delete(trans, fdd, true); // need to read for undelete
32                 if(rv.isOK()) {
33                         trans.info().log("Deleted:",f.id,f.memo,"expiring on",Chrono.dateOnlyStamp(f.expires));
34                 } else {
35                         trans.info().log("Failed to Delete Approval");
36                 }
37                 
38                 Result<List<ApprovalDAO.Data>> ral = q.approvalDAO.readByTicket(trans, f.id);
39                 if(ral.isOKhasData()) {
40                         for(ApprovalDAO.Data add : ral.value) {
41                                 rv = q.approvalDAO.delete(trans, add, false);
42                                 if(rv.isOK()) {
43                                         trans.info().log("Deleted: Approval",add.id,"on ticket",add.ticket,"for",add.approver);
44                                 } else {
45                                         trans.info().log("Failed to Delete Approval");
46                                 }
47                         }
48                 }
49                 return rv;
50         }
51         
52 }