Clover Coverage Report
Coverage timestamp: Sun Mar 23 2008 08:24:39 GMT
31   166   4   3.88
0   69   0.35   8
8     1.38  
1    
 
 
  PermisRBACDISTest       Line # 71 31 4 92.3% 0.9230769
 
No Tests
 
1    /*
2    * Copyright (c) 2006, University of Kent
3    * All rights reserved.
4    *
5    * Redistribution and use in source and binary forms, with or without
6    * modification, are permitted provided that the following conditions are met:
7    *
8    * Redistributions of source code must retain the above copyright notice, this
9    * list of conditions and the following disclaimer.
10    *
11    * Redistributions in binary form must reproduce the above copyright notice,
12    * this list of conditions and the following disclaimer in the documentation
13    * and/or other materials provided with the distribution.
14    *
15    * 1. Neither the name of the University of Kent nor the names of its
16    * contributors may be used to endorse or promote products derived from this
17    * software without specific prior written permission.
18    *
19    * 2. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
20    * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
21    * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
22    * PURPOSE ARE DISCLAIMED.
23    *
24    * 3. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
25    * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
26    * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
27    * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
28    * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
29    * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
30    * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
31    * POSSIBILITY OF SUCH DAMAGE.
32    *
33    * 4. YOU AGREE THAT THE EXCLUSIONS IN PARAGRAPHS 2 AND 3 ABOVE ARE REASONABLE
34    * IN THE CIRCUMSTANCES. IN PARTICULAR, YOU ACKNOWLEDGE (1) THAT THIS
35    * SOFTWARE HAS BEEN MADE AVAILABLE TO YOU FREE OF CHARGE, (2) THAT THIS
36    * SOFTWARE IS NOT "PRODUCT" QUALITY, BUT HAS BEEN PRODUCED BY A RESEARCH
37    * GROUP WHO DESIRE TO MAKE THIS SOFTWARE FREELY AVAILABLE TO PEOPLE WHO WISH
38    * TO USE IT, AND (3) THAT BECAUSE THIS SOFTWARE IS NOT OF "PRODUCT" QUALITY
39    * IT IS INEVITABLE THAT THERE WILL BE BUGS AND ERRORS, AND POSSIBLY MORE
40    * SERIOUS FAULTS, IN THIS SOFTWARE.
41    *
42    * 5. This license is governed, except to the extent that local laws
43    * necessarily apply, by the laws of England and Wales.
44    */
45   
46   
47   
48    /*
49    * PermisRBACDISTest.java
50    *
51    * Created on August 3, 2006, 2:15 PM
52    */
53   
54    package issrg.test.ds;
55   
56    import issrg.pba.rbac.Clock;
57    import issrg.pba.rbac.Time;
58    import java.io.FileOutputStream;
59    import java.io.PrintStream;
60    import java.util.Calendar;
61    import java.util.Date;
62    import java.util.GregorianCalendar;
63    import org.apache.log4j.Logger;
64    import org.apache.log4j.BasicConfigurator;
65   
66   
67    /**
68    *
69    * @author __USER__
70    */
 
71    public class PermisRBACDISTest extends Clock {
72    static Logger root = Logger.getRootLogger();
73    // static Logger log = Logger.getLogger(PermisRBACDISTest.class);
74    // static org.apache.log4j.Appender appender;
75    // static org.apache.log4j.Layout layout = new org.apache.log4j.PatternLayout("[%t] %-5p %c %x - %m%n");
76   
77    /** Creates a new instance of PermisRBACDISTest */
 
78  1 toggle public PermisRBACDISTest() {
79    }
80   
81   
82    /**
83    * @param args the command line arguments
84    */
 
85  1 toggle public static void main(String[] args) {
86    // String[] args = {"/home/anhnt/code/build/src/issrg/test/ds/dis.in","/home/anhnt/code/build/src/issrg/test/ds/dis.out.test", "/home/anhnt/code/build/src/issrg/test/ds/"};
87  1 System.setProperty("line.separator", "\r\n");
88   
89  1 try {
90  1 System.setOut(new PrintStream(new FileOutputStream(args[1])));
91  0 } catch (Exception e) { e.printStackTrace();}
92  1 System.setErr(System.out);
93   
94  1 root.setLevel(org.apache.log4j.Level.OFF);
95  1 root.removeAllAppenders();
96    // appender = new org.apache.log4j.WriterAppender(layout, System.out);
97    // BasicConfigurator.configure(appender);
98    //
99    // log.info("Get the default timezone");
100  1 java.util.TimeZone tz = java.util.TimeZone.getDefault();
101  1 tz.setRawOffset(0);
102  1 java.util.TimeZone.setDefault(tz);
103  1 try{
104  1 try{
105    // log.debug("Start issuing process");
106  1 doIssuing(args[2]);
107    // log.debug("Start testing the PDP with the DIS");
108  1 testPDP(args);
109    }finally{
110   
111  1 System.out.close();
112   
113    }
114    }catch (NullPointerException e){
115  0 System.out.println("NullPointerException at line 112, PermisRBACDISTest.java");
116    }
117   
118    }
119   
120    protected static TestDS test;
121   
 
122  1 toggle public static void doIssuing(String path) {
123  1 try {
124    // log.debug("Instanciate the TestDS");
125  1 test = new TestDS(path);
126    // log.debug("The TestDS is initialized");
127  1 test.testIssuing();
128    } catch (Exception e) {
129  0 e.printStackTrace(System.out);
130    }
131   
132    }
133   
 
134  1 toggle public static void testPDP(String [] args){
135  1 test.testPDP(args);
136    }
137   
138    static final Date STARTUP=new GregorianCalendar().getTime();
139    Date time=STARTUP;
140   
 
141  248 toggle public Date latch(){
142  248 return getTime();
143    }
144   
 
145  1182 toggle public Date getTime(){
146  1182 return time;
147    }
148   
149   
 
150  124 toggle public static Date toTime(String timeString) throws IllegalArgumentException{
151  124 int [] t = new Time(timeString).getEvaluationTime();
152  124 Calendar c = new GregorianCalendar();
153  124 c.set(Calendar.DST_OFFSET, 0);
154  124 c.set(Calendar.ZONE_OFFSET, 0);
155   
156  124 c.set(t[0], t[1]-1, t[2], t[3], t[4], t[5]);
157  124 c.set(Calendar.MILLISECOND, 0);
158   
159  124 return c.getTime();
160    }
161   
162   
 
163  124 toggle public void setTime(Date time){
164  124 this.time=time;
165    }
166    }