This example application will read a Qualifier hierarchy from the MIT Roles Database and build an OKI hierarchy from the data. It has the following command line syntax: populate2 [-LIST | -SIZE | ] where -LIST will list all the Qualifier hierarchies in the Roles DB, and a brief description -SIZE will list all the Qualifier hierarchies and the number of nodes that each has is the 4-character name of a hierarchy, which can be optained from either -LIST or -SIZE If no arguments are provided, then the application will attempt to load everything. This application uses a properties file, "populate.properties" that must provide the following properties: USER xxxX PASSWORD XXXX These are the username/password required to connect to Roles. You should contact the RolesDB team to obtain access. You can also set the following property to specify the Roles hierarchy you wish to import, instead of using the command line: HIERCODE xxxx You need to set your hibernate.properties file to point to the correct database and provide the necessary connection information to hibernate. You can tweak your logging and hibernate properties to control how much information you receive while the application is populating the tree. One thing to notice here is that your application should use the OsidLoader mechanism to load the OSIDs, rather than invoking them directly. Once loaded, you only use the OKI OSID interfaces, and do not directly call the implementation. This preserves the idea of dynamic configuration that is important to OKI. To build this application use "ant." To run it, use any of the following: ant run (to use this, set application.args in example/populate/nbproject/private/private.properties) ant run -D application.args="whatever args you want to use" (this does not require setting the property in private.properties) java -cp mypath edu.mit.example.Populate (to use this, "mypath" must include example/populate/dist/populate.jar, the etc/ directory, and all the jar files in the lib/ directory)