Package edu.wisc.game.rest
Class Files
java.lang.Object
edu.wisc.game.rest.Files
public class Files extends Object
Information about the data files the Rule Game web server reads and writes
-
Constructor Summary
Constructors Constructor Description Files()
-
Method Summary
Modifier and Type Method Description static void
allowCachingAllRules(boolean x)
This can be used (typically, in the captive server context) to allow caching all rules, for greater efficiencystatic File
boardsFile(String playerId)
The file into which the initial boards of all episodes played by a given player are writtenstatic File
boardsFile(String playerId, boolean readOnly)
static File
detailedTranscriptsFile(String playerId)
static File
getImageFile(String shape)
Looks for an image file with an appropriate name in the shapes directory.static File
getLaunchFileA(LaunchRulesBase.Mode mode)
The control file for the repeat-user launch pagestatic File
getLaunchFileB(LaunchRulesBase.Mode mode)
static File
getSvgFile(Piece.Shape shape)
static File
getSvgFile(String shape)
static File
guessesFile(String playerId)
The file into which guesses by a given player are writtenstatic File
initialBoardFile(String boardName)
static File
inputBoardSubdir(String boardSubdirName)
A subdirectory of the input boards directory, for use in a param set with initial boardsstatic String[]
listAllRuleSetsInTree(String s)
Lists all rule sets under rules/sstatic String[]
listSAllExperimentPlans()
List all existing experiment plans (based on the directory names in the appropriate tree).static String[]
listSAllExperimentPlans(boolean validOnly)
static String
listSAllExperimentPlansHtml()
Creates an HTML snippet (to be used inside a FORM, e.g.static String
listSAllExperimentPlansHtml(boolean validOnly)
static String[]
listSAllExperimentPlansInTree(String subdir)
static File
mlcUploadDir(String nickname, boolean readOnly)
The upload directory for a particular MLC participant.static File
modifierFile(String modifierName)
static File
pregameDir(String pregame)
The directory where the bundle pregame experience files is stored for a specific experience namestatic boolean
rulesCanBeCached(String ruleSetName)
Can the game server cache this rule set? The convention is, names not starting with a slash refer to files in the tomcat directory, whose content is supposed to be stable; therefore, they can be cached in the web app.static File
rulesFile(String ruleSetName)
static void
setInputDir(String path)
Sets the path to the input directory, which is the root of the tree that contains the experiment control files.static void
setSavedDir(String path)
Sets the path to the saved-data directory.static File
shapesDir()
static File
transcriptsFile(String playerId)
static File
transcriptsFile(String playerId, boolean readOnly)
-
Constructor Details
-
Files
public Files()
-
-
Method Details
-
setInputDir
Sets the path to the input directory, which is the root of the tree that contains the experiment control files. You only need to use this method if you want trial list files, rule set files, etc. to be read from directories in a directory tree other than the default ("/opt/tomcat/game-data"). So, for example, the Captive Game Server may use this method. If you use it, do so early in your application.- Parameters:
path
- E.g. "/opt/tomcat/game-data"
-
setSavedDir
Sets the path to the saved-data directory. The Game Server itself would never need to do that; however, one can imagine an analysis script running on a different computer (e.g., you use your desktop computer to analyze the data accumulated at the main server), in which case it may read the transcript etc. data to be analyzed from a different location. -
guessesFile
The file into which guesses by a given player are written- Throws:
IOException
-
boardsFile
The file into which the initial boards of all episodes played by a given player are written- Throws:
IOException
-
boardsFile
- Throws:
IOException
-
transcriptsFile
- Throws:
IOException
-
transcriptsFile
- Throws:
IOException
-
detailedTranscriptsFile
- Throws:
IOException
-
shapesDir
-
mlcUploadDir
The upload directory for a particular MLC participant. It is created if it does not exist yet- Throws:
IOException
-
rulesFile
- Parameters:
ruleSetName
- Either a complete absolute path name ("/home/vmenkov/foo.txt") starting with a slash, or just a file name without the extension ("foo"). In the later case, the file is assumed to be in the standard rules directory.- Throws:
IOException
-
allowCachingAllRules
public static void allowCachingAllRules(boolean x)This can be used (typically, in the captive server context) to allow caching all rules, for greater efficiency -
rulesCanBeCached
Can the game server cache this rule set? The convention is, names not starting with a slash refer to files in the tomcat directory, whose content is supposed to be stable; therefore, they can be cached in the web app. Names starting with a slash are interpreted as absolute paths of files, presumably belonging to developers and thus possibly not stable; so the game server does not cache those. -
initialBoardFile
- Throws:
IOException
-
inputBoardSubdir
A subdirectory of the input boards directory, for use in a param set with initial boards- Throws:
IOException
-
getSvgFile
-
getSvgFile
- Parameters:
shape
- Case-insensitive shape name, e.g. "circle", or "arrows/up". To obtain the SVG file name, the shape name is converted to lower case, and ".svg" is added.
-
getImageFile
Looks for an image file with an appropriate name in the shapes directory.- Returns:
- A File object if a file has been found, or null otherwise
-
listSAllExperimentPlans
List all existing experiment plans (based on the directory names in the appropriate tree). Excludes obviously "bad" plans (those without the rule set files, for example).- Throws:
IOException
-
listSAllExperimentPlans
- Parameters:
validOnly
- If true, excludes obviously "bad" plans (those without the rule set files, for example).- Throws:
IOException
-
listSAllExperimentPlansInTree
- Throws:
IOException
-
listAllRuleSetsInTree
Lists all rule sets under rules/s- Parameters:
s
- The position of the root of the tree relative to the main rules directory- Returns:
- A list of proper rule set names (in the same format they would be likely to be encountered in trial list files, i.e. path names (relative to "rules") without extension.
- Throws:
IOException
-
listSAllExperimentPlansHtml
Creates an HTML snippet (to be used inside a FORM, e.g. at front-end-form.jsp) listing all currently existing experiment plans.- Throws:
IOException
-
listSAllExperimentPlansHtml
- Throws:
IOException
-
getLaunchFileA
The control file for the repeat-user launch page- Parameters:
mode
- APP, MLC, etc
-
getLaunchFileB
-
modifierFile
- Throws:
IOException
-
pregameDir
The directory where the bundle pregame experience files is stored for a specific experience name- Throws:
IOException
-