Repository Launcher
From Java CoG Kit
Repository tools
We will require 2 different commands in order to separate out the administration of the database from the repository calls.
cog-repository-admin
This is used to perform the below listed admin functions with the repository. The cog-repository-admin command will have the following options.
- type <embedded or server> indicates the repository type
- install <database location> to copy the database from ~/module/database to a user specified directory and set classpaths. This step is only for the workflow repository.
- host <hostname or ip> required for all server related calls
- portnumber <port> required for all server related calls
- username <username> required only if user authentication is enabled
- passwd <passwd> required only if user authentication is enabled
- start starts up the repository network server at the assigned port on the localhost or the name provided for the localhost
- stop stops the repository network server
- backup <backup location> backs up the the database to the above location. This refers to online back ups. While a backup is in progress writes are not allowed to the database. Offline backups can be done by simply copying the directory.
- recovery <backup location> reverts to the last backed up data at the above location
- ping tests if the server is up and running
- logging <true/false> logging can be enabled or disabled
- add-user <username, password, database-wide/system-wide> adds a user to a specifice database or for the whole system specified in the final option
- remove-user <username> removes the user specified in the username
- authentication<true/false> user- authetication is enabled
cog-repository
General commands to be issued to the repository. But I will need to write a wrapper to make connections and close them or something similar. I will decide on this once I have the code to do to make the calls.
- type <embedded/server> repository type
- dblocation <hostname:port or local filesystem location> provides the location for the derby system
- addcomponent <filename> adds a component to the repository
- removecomponent <componentname> removes a component from the repository
- listcomponents lists all the components present in the repository
- searchcomponent <regex> searches and returns a list of components that match the expression
- savecomponents <componentName, fileName> saves the given component to a file
