[virtualcommons-svn] SF.net SVN: virtualcommons:[45] foraging/trunk
Status: Beta
Brought to you by:
alllee
From: <al...@us...> - 2008-08-21 00:47:31
|
Revision: 45 http://virtualcommons.svn.sourceforge.net/virtualcommons/?rev=45&view=rev Author: alllee Date: 2008-08-21 00:47:39 +0000 (Thu, 21 Aug 2008) Log Message: ----------- - bumping version of csidex with minor fixes, major revision coming soon with savedata persistence overhaul - sending BufferedReader to processReplInput in case additional input is needed - making ForagingSaveFileConverter invokable from the server console - fixing https://csid.asu.edu/jira/browse/CSAN-6 chat field focus issue Modified Paths: -------------- foraging/trunk/build.xml foraging/trunk/ivy.xml foraging/trunk/pom.xml foraging/trunk/src/main/java/edu/asu/commons/foraging/client/ChatPanel.java foraging/trunk/src/main/java/edu/asu/commons/foraging/server/ForagingServer.java foraging/trunk/src/main/java/edu/asu/commons/foraging/util/ForagingSaveFileConverter.java foraging/trunk/src/main/resources/configuration/round1.xml Modified: foraging/trunk/build.xml =================================================================== --- foraging/trunk/build.xml 2008-08-18 23:05:42 UTC (rev 44) +++ foraging/trunk/build.xml 2008-08-21 00:47:39 UTC (rev 45) @@ -78,7 +78,7 @@ <property name="javadoc.dir" value="docs/javadoc"/> <property name="javadoc.private.dir" value="docs/private"/> - <property name='lib.dir' value='lib/default'/> + <property name='lib.dir' value='lib'/> <!-- Set up the CLASSPATH, includes all jars in the lib directory and all built files for both the main project Modified: foraging/trunk/ivy.xml =================================================================== --- foraging/trunk/ivy.xml 2008-08-18 23:05:42 UTC (rev 44) +++ foraging/trunk/ivy.xml 2008-08-21 00:47:39 UTC (rev 45) @@ -8,7 +8,7 @@ <dependency org='junit' name='junit' rev='4.4'/> <dependency org='com.thoughtworks.xstream' name='xstream' rev='1.3' transitive='false'/> <dependency org='xpp3' name='xpp3' rev='1.1.4c' transitive='false' /> - <dependency org="edu.asu.commons" name="csidex" rev="0.1"/> + <dependency org="edu.asu.commons" name="csidex" rev="0.1.1"/> <dependency org='net.java.dev.jogl' name='jogl' rev='1.1.1'/> <dependency org='net.java.dev.jogl' name='gluegen-rt' rev='1.1.1'/> </dependencies> Modified: foraging/trunk/pom.xml =================================================================== --- foraging/trunk/pom.xml 2008-08-18 23:05:42 UTC (rev 44) +++ foraging/trunk/pom.xml 2008-08-21 00:47:39 UTC (rev 45) @@ -34,7 +34,7 @@ <dependency> <groupId>edu.asu.commons</groupId> <artifactId>csidex</artifactId> - <version>0.1</version> + <version>0.1.1</version> </dependency> <dependency> <groupId>net.java.dev.jogl</groupId> Modified: foraging/trunk/src/main/java/edu/asu/commons/foraging/client/ChatPanel.java =================================================================== --- foraging/trunk/src/main/java/edu/asu/commons/foraging/client/ChatPanel.java 2008-08-18 23:05:42 UTC (rev 44) +++ foraging/trunk/src/main/java/edu/asu/commons/foraging/client/ChatPanel.java 2008-08-21 00:47:39 UTC (rev 45) @@ -10,6 +10,8 @@ import java.awt.event.ActionListener; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; +import java.awt.event.WindowAdapter; +import java.awt.event.WindowEvent; import java.util.ArrayList; import java.util.Collections; import java.util.List; @@ -104,8 +106,13 @@ add(targetHandlePanel, BorderLayout.NORTH); add(chatField, BorderLayout.CENTER); add(sendButton, BorderLayout.SOUTH); + setChatFieldFocus(); } + private void setChatFieldFocus() { + chatField.requestFocusInWindow(); + } + private void sendMessage() { String message = chatField.getText(); // System.err.println("message: " + message); @@ -126,7 +133,7 @@ } else { targetHandleLabel.setText(getChatHandle(targetIdentifier)); } - chatField.requestFocusInWindow(); + setChatFieldFocus(); } } @@ -252,7 +259,7 @@ // if (client.getDataModel().getRoundConfiguration().shouldD // add(participantButtonPanel, BorderLayout.EAST); add(textEntryPanel, BorderLayout.SOUTH); - + textEntryPanel.setChatFieldFocus(); } public void clear() { Modified: foraging/trunk/src/main/java/edu/asu/commons/foraging/server/ForagingServer.java =================================================================== --- foraging/trunk/src/main/java/edu/asu/commons/foraging/server/ForagingServer.java 2008-08-18 23:05:42 UTC (rev 44) +++ foraging/trunk/src/main/java/edu/asu/commons/foraging/server/ForagingServer.java 2008-08-21 00:47:39 UTC (rev 45) @@ -1,5 +1,6 @@ package edu.asu.commons.foraging.server; +import java.io.BufferedReader; import java.io.IOException; import java.util.ArrayList; import java.util.Collections; @@ -53,6 +54,7 @@ import edu.asu.commons.foraging.model.GroupDataModel; import edu.asu.commons.foraging.model.ResourceDispenser; import edu.asu.commons.foraging.model.ServerDataModel; +import edu.asu.commons.foraging.util.ForagingSaveFileConverter; import edu.asu.commons.net.Dispatcher; import edu.asu.commons.net.Identifier; import edu.asu.commons.net.event.ConnectionEvent; @@ -122,7 +124,7 @@ } @Override - public void processReplInput(String input) { + public void processReplInput(String input, BufferedReader reader) { if (input.equals("clients")) { System.out.println("Connected Clients:"); for (Identifier id: clients.keySet()) { @@ -147,6 +149,22 @@ System.out.println("Skipping post round sanctioning"); Utils.notify(postRoundSanctioningSignal); } + else if (input.equals("process-savefiles")) { + System.out.print("Please enter the save directory path: "); + try { + String path = reader.readLine(); + boolean converted = ForagingSaveFileConverter.convert(path); + if (! converted) { + System.out.println("Unable to convert from path: " + path); + } + } + catch (IOException e) { + e.printStackTrace(); + } + catch (RuntimeException e) { + e.printStackTrace(); + } + } } @@ -695,7 +713,7 @@ } /** - * Main entry point. + * Main entry point. */ public static void main(String[] args) { ForagingServer server = new ForagingServer(); Modified: foraging/trunk/src/main/java/edu/asu/commons/foraging/util/ForagingSaveFileConverter.java =================================================================== --- foraging/trunk/src/main/java/edu/asu/commons/foraging/util/ForagingSaveFileConverter.java 2008-08-18 23:05:42 UTC (rev 44) +++ foraging/trunk/src/main/java/edu/asu/commons/foraging/util/ForagingSaveFileConverter.java 2008-08-21 00:47:39 UTC (rev 45) @@ -15,6 +15,7 @@ import edu.asu.commons.event.ChatRequest; import edu.asu.commons.event.PersistableEvent; +import edu.asu.commons.experiment.Persister; import edu.asu.commons.experiment.SaveFileProcessor; import edu.asu.commons.experiment.SavedRoundData; import edu.asu.commons.foraging.conf.RoundConfiguration; @@ -31,27 +32,32 @@ import edu.asu.commons.foraging.model.ResourceDispenser; import edu.asu.commons.foraging.model.ServerDataModel; import edu.asu.commons.foraging.model.ResourceDispenser.StochasticGenerator; -import edu.asu.commons.foraging.server.ForagingPersister; import edu.asu.commons.net.Identifier; import edu.asu.commons.util.Utils; public class ForagingSaveFileConverter { + public static boolean convert(String saveDataDirectory) { + File allSaveFilesDirectory = new File(saveDataDirectory); + if (allSaveFilesDirectory.exists() && allSaveFilesDirectory.isDirectory()) { + List<SaveFileProcessor> processors = new ArrayList<SaveFileProcessor>(); + processors.addAll(Arrays.asList( + new ForagingSaveFileProcessor(), + new SummaryStatisticsProcessor(), + new ForagingSummarySaveFileProcessor())); + Persister.processSaveFiles(allSaveFilesDirectory, processors); + return true; + } + return false; + } - public static void main(String[] args) { if (args.length == 0) { - System.err.println("Usage: java " + ForagingSaveFileConverter.class + " <savedata-directory>"); + System.err.println("Usage: java " + ForagingSaveFileConverter.class + " <save-data-directory>"); System.exit(0); } - File allSaveFilesDirectory = new File(args[0]); - List<SaveFileProcessor> processors = new ArrayList<SaveFileProcessor>(); - processors.addAll(Arrays.asList( - new ForagingSaveFileProcessor(), - new SummaryStatisticsProcessor(), - new ForagingSummarySaveFileProcessor())); - ForagingPersister.processSaveFiles(allSaveFilesDirectory, processors); + convert(args[0]); } private static class ForagingSummarySaveFileProcessor extends SaveFileProcessor.Base { @@ -70,6 +76,7 @@ } */ List<GroupDataModel> groups = new ArrayList<GroupDataModel>(serverDataModel.getGroups()); + writer.println("Group #, Members, ..., Resources Left, Final Resource Positions"); for (GroupDataModel group: groups) { writer.println( String.format("%s, %s, %s, %s", Modified: foraging/trunk/src/main/resources/configuration/round1.xml =================================================================== --- foraging/trunk/src/main/resources/configuration/round1.xml 2008-08-18 23:05:42 UTC (rev 44) +++ foraging/trunk/src/main/resources/configuration/round1.xml 2008-08-21 00:47:39 UTC (rev 45) @@ -12,6 +12,7 @@ <entry key="initial-distribution">.25</entry> <entry key="regrowth-rate">0.01</entry> +<entry key='chat-enabled'>true</entry> <!-- This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |