AT&T 2.0.19 Code drop, stage 3
[aaf/authz.git] / auth / auth-batch / src / main / java / org / onap / aaf / auth / actions / ActionPuntDAO.java
1 /**
2  * ============LICENSE_START====================================================
3  * org.onap.aaf
4  * ===========================================================================
5  * Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
6  * ===========================================================================
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  * 
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  * 
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  * ============LICENSE_END====================================================
19  *
20  */
21
22 package org.onap.aaf.auth.actions;
23
24 import java.io.IOException;
25 import java.util.Date;
26 import java.util.GregorianCalendar;
27
28 import org.onap.aaf.auth.env.AuthzTrans;
29 import org.onap.aaf.misc.env.APIException;
30
31 import com.datastax.driver.core.Cluster;
32
33 public abstract class ActionPuntDAO<D, RV, T> extends ActionDAO<D, RV, T> {
34 //      private static final SecureRandom random = new SecureRandom();
35         private int months;
36 //      private int range;
37         protected static final Date now = new Date();
38
39         public ActionPuntDAO(AuthzTrans trans, Cluster cluster, int months, int range, boolean dryRun) throws APIException, IOException {
40                 super(trans, cluster,dryRun);
41                 this.months = months;
42 //              this.range = range;
43         }
44
45         public ActionPuntDAO(AuthzTrans trans, ActionDAO<?, ?,?> predecessor, int months, int range) {
46                 super(trans, predecessor);
47                 this.months = months;
48 //              this.range = range;
49         }
50         
51
52         protected Date puntDate(Date current) {
53                 GregorianCalendar temp = new GregorianCalendar();
54                 temp.setTime(current);
55                 temp.add(GregorianCalendar.MONTH, months);
56
57                 /*
58                  *  This method Randomized date.  This is no longer needed.  Just add the Punt Months.
59                 temp.setTime(now);
60                 temp.add(GregorianCalendar.MONTH, months);
61                 if(range>0) {
62                         int forward = Math.abs(random.nextInt()%range);
63                         if(forward>1) {
64                                 temp.add(GregorianCalendar.MONTH, forward);
65                                 temp.add(GregorianCalendar.DAY_OF_MONTH, (random.nextInt()%30)-15);
66                         }
67                 }
68                 */
69                 return temp.getTime();
70         }
71
72 }