Class TimeZoneTest

  extended by issrg.test.timeZoneTest.TimeZoneTest

public final class TimeZoneTest
extends java.lang.Object

Class used to test the interpretation of the TimeZone attribute in PERMIS. It consists of a main method only. The main method expects two arguments, both of which are file names. The first is treated as the input file, containing the policy, the second is the output file.

The actions and evaluation times are hard coded in this file. For a given policy all the combinations of action and evaluation time are tried and the authorization decision is sent to the output file.

We have set up 4 Permis policies, the only difference between them being the TimeZone attribute they use. There are 4 actions in each policy, 3 of which are constrained by an IF statement. These three actions state that the target can be accessed in the morning (between 8AM and 12 noon), but they use different time zones. The first uses no time zone, the second uses the Detroit time zone, and the third uses GMT.

Since Detroit has Daylight Saving Time, we do the evaluations also at different dates. Some are in the summer, others are in winter. Some evaluation times have their own time zones specifications, others do not.

In order to make the output files for testing independent of the date and time settings of the computer running the test, we set Java's default time zone to GMT+1, a rather arbitrary choice.

For completeness, we state here the four policies that are used in testing the TimeZone attribute.

For those who would like to check the results by hand, the file TimeZoneConversions.txt might be useful. It gives some conversions between the different time zones used in this test.


Method Summary
static void main(java.lang.String[] args)
          Main method that drives the test.
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Method Detail


public static void main(java.lang.String[] args)
Main method that drives the test.

args - an array of length two. First element represents the input file, second the output file.