Changeset 97 for java/main/src/test


Ignore:
Timestamp:
07/06/13 03:51:11 (11 years ago)
Author:
psniegowski
Message:

HIGHLIGHTS:

  • add proper exception passing between communication sides:

if exception occur during handling client request, it is
automatically passed as comment to error response.

it may be used to snoop communication between peers

  • fix algorithm choosing text controls in GUI
  • allow GUI testing in virtual frame buffer (xvfb)

FEST had some problem with xvfb but workaround was found

supports tab-completion based on requests history

CHANGELOG:
Further improve handling of exceptions in GUI.

Add StatusBar? implementing ExceptionResultHandler?.

Make completion processing asynchronous.

Minor changes.

Improve completion in console.

Improve history in InteractiveConsole?.

First working version of DirectConsole?.

Minor changes.

Make Connection.address non final.

It is more suitable to use in configuration.

Improvement of consoles.

Improve PopupMenu? and closing of FrameJoinable?.

Fix BrowserTest?.

Found bug with FEST running under xvfb.

JButtonFixture.click() is not working under xvfb.
GuiTest? has wrapper which uses JButton.doClick() directly.

Store CompositeParam? param in TreeNode?.

Simplify ClientSideManagedConnection? connecting.

There is now connectedFunctor needed, ApplicationRequests? can be
send right after creation. They are buffered until the version
and features are negotiated.

Narow down interface of ClientSideManagedConnection?.

Allow that connection specialization send only
ApplicationRequests?.

Improve policy of text control choosing.

Change name of Genotype in BrowserTest?.

Make BrowserTest? change name of Genotype.

Minor change.

First working draft of TrackConsole?.

Simplify Consoles.

More improvements with gui joinables.

Unify initialization on gui joinables.

More rework of Frame based entities.

Refactorize structure of JFrames based entities.

Extract GuiTest? from BrowserBaseTest?.

Reorganize Console classes structure.

Add Collection view to JoinableCollection?.

Configure timeout in testing.

Minor changes.

Rework connections hierarchy.

Add Mode to the get operation.

Make get and set in Tree take PrimitiveParam?.

Unify naming of operations.

Make RunAt? use the given ExceptionHandler?.

It wraps the virtual runAt() method call with
try-catch passing exception to handler.

Force RunAt? to include ExceptionHandler?.

Improve ClientAtServer?.

Minor change.

Another sweep with FindBugs?.

Rename Instance to Tree.

Minor changes.

Minor changes.

Further clarify semantics of Futures.

Add FutureHandler?.

FutureHandler? is refinement of Future, that proxifies
exception handling to ExceptionResultHandler? given
at construction time.

Remove StateFunctor? (use Future<Void> instead).

Make Connection use Future<Void>.

Unparametrize *ResponseFuture?.

Remove StateCallback? not needed anymore.

Distinguish between sides of ResponseFuture?.

Base ResponseCallback? on Future (now ResponseFuture?).

Make asynchronous store taking Future for flags.

Implement storeValue in ObjectInstance?.

Location:
java/main/src/test
Files:
9 added
3 deleted
13 edited

Legend:

Unmodified
Added
Removed
  • java/main/src/test/java/com/framsticks/dumping/StreamTest.java

    r96 r97  
    1616                //                              public void result(Path result, Exception e) {
    1717                //                                      if (e != null) {
    18                 //                                              log.error("failed to load file instance " + FileInstance.this + ": " + e);
     18                //                                              log.error("failed to load file: " + e);
    1919                //                                              fireRun(e);
    2020                //                                              return;
    2121                //                                      }
    22                 //                                      log.info("loaded file instance " + FileInstance.this);
     22                //                                      log.info("loaded file");
    2323                //                                      fireRun(null);
    2424                //                              }
  • java/main/src/test/java/com/framsticks/gui/BrowserBaseTest.java

    r96 r97  
    44
    55import org.apache.log4j.Logger;
    6 import org.fest.swing.core.Robot;
    7 import org.fest.swing.edt.FailOnThreadViolationRepaintManager;
    86import org.fest.swing.edt.GuiQuery;
    97import org.fest.swing.fixture.FrameFixture;
     
    119import org.testng.annotations.Test;
    1210
    13 import com.framsticks.test.MonitorBasedTest;
     11
     12import org.fest.swing.edt.GuiActionRunner;
     13
    1414import com.framsticks.util.dispatching.Joinable;
    1515
    16 import static org.fest.assertions.Assertions.assertThat;
    17 import static org.fest.swing.edt.GuiActionRunner.executeInEDT;
    18 import static org.fest.swing.core.BasicRobot.robotWithNewAwtHierarchy;
    19 import org.fest.swing.edt.GuiActionRunner;
    20 
    2116@Test
    22 public abstract class BrowserBaseTest extends MonitorBasedTest {
     17public abstract class BrowserBaseTest extends GuiTest {
    2318
    2419        private static final Logger log = Logger.getLogger(BrowserTest.class);
    2520
    2621        protected Browser browser;
    27         protected static Robot robot;
    2822        protected FrameFixture frame;
    2923        protected JTreeFixture tree;
    30 
    31         static {
    32                 FailOnThreadViolationRepaintManager.install();
    33                 assertThat(executeInEDT()).isTrue();
    34 
    35                 robot = robotWithNewAwtHierarchy();
    36         }
    3724
    3825        @Override
     
    6451        }
    6552
    66         protected void waitForIdle() {
    67                 robot.waitForIdle();
    68         }
    6953
    7054}
  • java/main/src/test/java/com/framsticks/gui/BrowserTest.java

    r96 r97  
    33import static org.fest.assertions.Assertions.assertThat;
    44import static org.fest.swing.edt.GuiActionRunner.execute;
     5
     6import java.awt.event.KeyEvent;
    57
    68
     
    1012
    1113import com.framsticks.model.ModelPackage;
    12 import com.framsticks.remote.SimulatorInstance;
     14import com.framsticks.remote.SimulatorTree;
     15import com.framsticks.util.dispatching.Dispatching;
    1316
    1417public class BrowserTest extends BrowserBaseTest {
     
    1619        private static final Logger log = Logger.getLogger(BrowserTest.class);
    1720
    18         SimulatorInstance localhost;
     21        SimulatorTree localhost;
    1922
    2023        @Override
     
    2225                browser = new Browser();
    2326
    24                 localhost = new SimulatorInstance();
     27                localhost = new SimulatorTree();
    2528                localhost.setName("localhost");
    2629                localhost.setAddress("localhost:9009");
    2730                localhost.usePackage(new ModelPackage());
    2831
    29                 browser.addInstance(localhost);
     32                browser.addTree(localhost);
    3033
    3134        }
    3235
    33         @Test(timeOut = 10000)
     36        @Test(timeOut = 30000)
    3437        public void testShow() {
    3538                log.info("testing");
    3639                tree.clickRow(0).expandRow(0);
    3740                robot.waitForIdle();
     41
    3842                tree.clickRow(1).expandRow(1);
    3943                robot.waitForIdle();
     
    4751                });
    4852
     53
    4954                clickAndExpandPath("localhost/simulator/genepools");
    5055                clickAndExpandPath("localhost/simulator/genepools/groups");
    5156                clickAndExpandPath("localhost/simulator/genepools/groups/Genotypes");
     57                clickAndExpandPath("localhost/simulator/genepools/groups/Genotypes/genotypes");
     58                Dispatching.sleep(2.0);
     59                clickAndExpandPath("localhost/simulator/genepools/groups/Genotypes/genotypes");
     60                robot.pressAndReleaseKey(KeyEvent.VK_J);
     61                waitForIdle();
     62                Dispatching.sleep(2.0);
     63
     64                frame.panel("Genotype").panel("name").textBox("value").enterText("-Żółw");
     65                clickButton(frame.panel("Genotype").button("apply"));
     66
     67                Dispatching.sleep(1.0);
    5268        }
    5369
  • java/main/src/test/java/com/framsticks/gui/ProcedureBrowserTest.java

    r96 r97  
    77import org.testng.annotations.Test;
    88
    9 import com.framsticks.core.Instance;
    10 import com.framsticks.core.ObjectInstance;
     9import com.framsticks.core.Tree;
     10import com.framsticks.core.ObjectTree;
    1111import com.framsticks.params.AccessInterface;
    1212import com.framsticks.params.FramsClass;
     
    1515import com.framsticks.parsers.XmlLoader;
    1616import com.framsticks.test.TestClass;
     17// import com.framsticks.util.dispatching.Dispatching;
    1718import com.framsticks.util.dispatching.RunAt;
    18 import static com.framsticks.core.InstanceUtils.*;
     19import static com.framsticks.core.TreeOperations.*;
    1920
    2021@Test
    2122public class ProcedureBrowserTest extends BrowserBaseTest {
    2223
    23         ObjectInstance instance;
     24        ObjectTree tree;
    2425
    2526        @Override
     
    2728                browser = new XmlLoader().load(Browser.class, getClass().getResourceAsStream("/configs/ProcedureBrowserTest.xml"));
    2829
    29                 assertThat(browser.getInstances().size()).isEqualTo(1);
    30                 assertThat(browser.getInstances().get("test")).isInstanceOf(ObjectInstance.class);
     30                assertThat(browser.getTrees().size()).isEqualTo(1);
     31                assertThat(browser.getTrees().get("test")).isInstanceOf(ObjectTree.class);
    3132
    32                 instance = (ObjectInstance) browser.getInstances().get("test");
     33                tree = (ObjectTree) browser.getTrees().get("test");
    3334        }
    3435
    3536        @Test(timeOut = 10000)
    3637        public void testShow() {
    37                 instance.dispatch(new RunAt<Instance>() {
     38                tree.dispatch(new RunAt<Tree>(failOnException) {
    3839                        @Override
    39                         public void run() {
    40                                 assertThat(instance.getRootObject()).isInstanceOf(TestClass.class);
     40                        protected void runAt() {
     41                                assertThat(tree.getRootObject()).isInstanceOf(TestClass.class);
    4142                        }
    4243                });
     
    4445                clickAndExpandPath("test");
    4546
    46                 instance.dispatch(new RunAt<Instance>() {
     47                tree.dispatch(new RunAt<Tree>(failOnException) {
    4748                        @Override
    48                         public void run() {
    49                                 assertThat(bindAccess(instance, "/").getFramsClass().getParam("history")).isInstanceOf(StringParam.class);
     49                        protected void runAt() {
     50                                assertThat(bindAccess(tree, "/").getFramsClass().getParam("history")).isInstanceOf(StringParam.class);
    5051                        }
    5152                });
     
    5354                // monitor.useFor(4.0);
    5455
    55                 instance.dispatch(new RunAt<Instance>() {
     56                tree.dispatch(new RunAt<Tree>(failOnException) {
    5657                        @Override
    57                         public void run() {
    58                                 AccessInterface access = bindAccess(instance, "/");
     58                        protected void runAt() {
     59                                AccessInterface access = bindAccess(tree, "/");
    5960                                assertThat(access).isInstanceOf(ReflectionAccess.class);
    6061                                FramsClass framsClass = access.getFramsClass();
     
    6566                                assertThat(framsClass.getParam(3).getId()).isEqualTo("resetHistory");
    6667
    67                                 assertThat(access.get("history", String.class)).isEqualTo("");
     68                                assertThat(access.get("history", String.class)).isEqualTo("initial|");
    6869                        }
    6970                });
    7071
    7172                // frame.panel("TestClass");
    72                 JPanelFixture appendHistory = frame.panel("TestClass").panel("appendHistory");
    73                 appendHistory.panel("arg0").textBox("value").enterText("argument");
    74                 appendHistory.button("call").click();
     73                final JPanelFixture appendHistory = frame.panel("TestClass").panel("appendHistory");
     74                appendHistory.panel("arg0").textBox("value").enterText("Żółw");
     75                assertThat(appendHistory.panel("arg0").textBox("value").text()).isEqualTo("Żółw");
     76                clickButton(appendHistory.button("call"));
    7577                waitForIdle();
    7678
    77                 instance.dispatch(new RunAt<Instance>() {
     79
     80                tree.dispatch(new RunAt<Tree>(failOnException) {
    7881                        @Override
    79                         public void run() {
    80                                 assertThat(bindAccess(instance, "/").get("history", String.class)).isEqualTo("argument|");
     82                        protected void runAt() {
     83                                assertThat(bindAccess(tree, "/").get("history", String.class)).isEqualTo("initial|Żółw|");
    8184                        }
    8285                });
    8386
    84                 frame.panel("TestClass").panel("resetHistory").button("call").click();
     87                clickButton(frame.panel("TestClass").panel("resetHistory").button("call"));
    8588                waitForIdle();
    8689
    87                 instance.dispatch(new RunAt<Instance>() {
     90                tree.dispatch(new RunAt<Tree>(failOnException) {
    8891                        @Override
    89                         public void run() {
    90                                 assertThat(bindAccess(instance, "/").get("history", String.class)).isEqualTo("");
     92                        protected void runAt() {
     93                                assertThat(bindAccess(tree, "/").get("history", String.class)).isEqualTo("");
    9194                        }
    9295                });
  • java/main/src/test/java/com/framsticks/hosting/ServerTest.java

    r96 r97  
    44import org.testng.annotations.Test;
    55
    6 import com.framsticks.core.ObjectInstance;
     6import com.framsticks.core.Mode;
     7import com.framsticks.core.ObjectTree;
    78import com.framsticks.core.Path;
    89import com.framsticks.core.XmlBasedTest;
    9 import com.framsticks.remote.RemoteInstance;
     10import com.framsticks.remote.RemoteTree;
    1011
    1112import com.framsticks.test.TestClass;
    12 import com.framsticks.core.Instance;
     13import com.framsticks.core.Tree;
    1314import com.framsticks.params.FramsClass;
    14 import com.framsticks.util.AbstractStateFunctor;
    1515import com.framsticks.util.dispatching.Dispatching;
    1616import com.framsticks.params.AccessInterface;
     17import com.framsticks.params.PrimitiveParam;
    1718import com.framsticks.params.PropertiesAccess;
    18 import com.framsticks.params.ValueParam;
    1919import com.framsticks.params.types.ProcedureParam;
    2020import com.framsticks.util.dispatching.Dispatching.Waiter;
    21 import com.framsticks.util.dispatching.Future;
     21import com.framsticks.util.dispatching.FutureHandler;
    2222import com.framsticks.util.dispatching.RunAt;
    2323
    24 import static com.framsticks.core.InstanceUtils.*;
     24import static com.framsticks.core.TreeOperations.*;
    2525
    2626import static org.fest.assertions.Assertions.*;
     
    2929public class ServerTest extends XmlBasedTest {
    3030
    31         protected RemoteInstance remote;
     31        protected RemoteTree remote;
    3232        protected FramsClass remoteTestFramsClass;
    3333        protected Path remotePath;
    3434
    3535        protected Server server;
    36         protected ObjectInstance hosted;
     36        protected ObjectTree hosted;
    3737        protected TestClass hostedObject;
    3838
     
    4646                assertThat(framsticks.size()).isEqualTo(2);
    4747                assertThat(framsticks.get("test")).isInstanceOf(Server.class);
    48                 assertThat(framsticks.get("remote")).isInstanceOf(RemoteInstance.class);
     48                assertThat(framsticks.get("remote")).isInstanceOf(RemoteTree.class);
    4949
    5050                server = (Server) framsticks.get("test");
    51                 remote = (RemoteInstance) framsticks.get("remote");
    52                 assertThat(server.getHosted()).isInstanceOf(ObjectInstance.class);
    53                 hosted = (ObjectInstance) server.getHosted();
     51                remote = (RemoteTree) framsticks.get("remote");
     52                assertThat(server.getHosted()).isInstanceOf(ObjectTree.class);
     53                hosted = (ObjectTree) server.getHosted();
    5454                assertThat(hosted.getRootObject()).isInstanceOf(TestClass.class);
    5555                hostedObject = hosted.getRootObject(TestClass.class);
     
    5858        @Test(dependsOnMethods = "runServer")
    5959        public void fetchInfo() {
    60                 remote.dispatch(new RunAt<Instance>() {
     60                remote.dispatch(new RunAt<Tree>(failOnException) {
    6161                        @Override
    62                         public void run() {
    63                                 remote.fetchInfo(Path.to(remote, "/"), new Future<FramsClass>(failOnException()) {
     62                        protected void runAt() {
     63                                remote.info(Path.to(remote, "/"), new FutureHandler<FramsClass>(failOnException) {
    6464                                        @Override
    6565                                        protected void result(FramsClass result) {
     
    7878                final Waiter waiter = produceWaiter(1.0);
    7979
    80                 remote.dispatch(new RunAt<Instance>() {
     80                remote.dispatch(new RunAt<Tree>(failOnException) {
    8181                        @Override
    82                         public void run() {
     82                        protected void runAt() {
    8383                                final Path path = Path.to(remote, "/");
    8484                                assertThat(path.isResolved()).isFalse();
    8585
    86                                 remote.resolve(path, new Future<Path>(failOnException()) {
     86                                remote.resolve(path, new FutureHandler<Path>(failOnException) {
    8787                                        @Override
    8888                                        protected void result(final Path result) {
    8989                                                assertThat(result.isResolved()).isTrue();
    9090                                                remotePath = result;
    91                                                 remote.fetchValues(result, new AbstractStateFunctor(failOnException()) {
     91                                                remote.get(result, Mode.FETCH, new FutureHandler<Object>(failOnException) {
    9292                                                        @Override
    93                                                         public void call() {
     93                                                        protected void result(Object object) {
    9494                                                                AccessInterface access = bindAccess(result);
    9595                                                                assertThat(access).isInstanceOf(PropertiesAccess.class);
     
    108108                final Waiter waiter = produceWaiter(2.0);
    109109
    110                 storeValue(remotePath, remoteTestFramsClass.getParamEntry("name", ValueParam.class), "new name", new AbstractStateFunctor(failOnException()) {
     110                set(remotePath, remoteTestFramsClass.getParamEntry("name", PrimitiveParam.class), "new name", new FutureHandler<Integer>(failOnException) {
    111111                        @Override
    112                         public void call() {
     112                        protected void result(Integer flags) {
     113                                // assertThat(flags).isEqualTo(0);
    113114                                /** And now check directly whether it was really set. */
    114                                 hosted.dispatch(new RunAt<Instance>() {
     115                                hosted.dispatch(new RunAt<Tree>(failOnException) {
    115116                                        @Override
    116                                         public void run() {
     117                                        protected void runAt() {
    117118                                                assertThat(hostedObject.getName()).isEqualTo("new name");
    118119                                                waiter.pass();
     
    128129                final Waiter waiter = produceWaiter(2.0);
    129130
    130                 call(remotePath, remoteTestFramsClass.getParamEntry("resetHistory", ProcedureParam.class), new Object[] {}, new Future<Object>(failOnException()) {
     131                call(remotePath, remoteTestFramsClass.getParamEntry("resetHistory", ProcedureParam.class), new Object[] {}, new FutureHandler<Object>(failOnException) {
    131132                        @Override
    132133                        protected void result(Object result) {
     
    135136                });
    136137
    137                 call(remotePath, remoteTestFramsClass.getParamEntry("appendHistory", ProcedureParam.class), new Object[] {"next word"}, new Future<Object>(failOnException()) {
     138                call(remotePath, remoteTestFramsClass.getParamEntry("appendHistory", ProcedureParam.class), new Object[] {"next word"}, new FutureHandler<Object>(failOnException) {
    138139                        @Override
    139140                        protected void result(Object result) {
    140                                 hosted.dispatch(new RunAt<Instance>() {
     141                                hosted.dispatch(new RunAt<Tree>(failOnException) {
    141142                                        @Override
    142                                         public void run() {
     143                                        protected void runAt() {
    143144                                                assertThat(hostedObject.getHistory()).isEqualTo("next word|");
    144145                                                waiter.pass();
  • java/main/src/test/java/com/framsticks/model/f0/SchemaTest.java

    r90 r97  
    2020                assertThat(schema.getNeuroClasses().size()).isEqualTo(21);
    2121
     22                assertThat(schema.getFramsClass("m").getName()).isEqualTo("Model");
     23
    2224                assertThat(schema.getNeuroClass("|").getName()).isEqualTo("Bend muscle");
    2325                assertThat(schema.getNeuroClass("VEye").getParam("p")).isInstanceOf(FloatParam.class);
  • java/main/src/test/java/com/framsticks/params/FramsClassBuilderTest.java

    r96 r97  
    8282                access.select(test);
    8383
    84                 assertThat(access.get("history", String.class)).isEqualTo("first|");
     84                assertThat(access.get("history", String.class)).isEqualTo("initial|first|");
    8585                Object result = access.call("appendHistory", new Object[] {"second"});
    8686
    8787                assertThat(result).isInstanceOf(Integer.class);
    88                 assertThat(result).isEqualTo(13);
    89                 assertThat(access.get("history", String.class)).isEqualTo("first|second|");
     88                assertThat(result).isEqualTo(21);
     89                assertThat(access.get("history", String.class)).isEqualTo("initial|first|second|");
    9090
    9191                result = access.call("resetHistory", null);
  • java/main/src/test/java/com/framsticks/test/TestConfiguration.java

    r96 r97  
    8888        }
    8989
    90         public static ExceptionResultHandler failOnException() {
    91                 return new ExceptionResultHandler() {
    92                         @Override
    93                         public void handle(FramsticksException e) {
    94                                 assertThat(e).isNull();
    95                         }
    96                 };
    97 
    98         }
     90        public static final ExceptionResultHandler failOnException = new ExceptionResultHandler() {
     91                @Override
     92                public void handle(FramsticksException e) {
     93                        assertThat(e).isNull();
     94                }
     95        };
    9996}
  • java/main/src/test/resources/configs/FramsServerTest.xml

    r90 r97  
    22<Framsticks>
    33        <import class="com.framsticks.running.FramsServer" />
    4         <import class="com.framsticks.remote.RemoteInstance" />
     4        <import class="com.framsticks.remote.RemoteTree" />
    55        <import class="com.framsticks.running.LoggingOutputListener" />
    66        <FramsServer name="frams" port="9008">
    77                <LoggingOutputListener />
    88        </FramsServer>
    9         <!-- <RemoteInstance name="remote" address="localhost:9008" /> -->
     9        <!-- <RemoteTree name="remote" address="localhost:9008" /> -->
    1010</Framsticks>
  • java/main/src/test/resources/configs/ProcedureBrowserTest.xml

    r90 r97  
    11<?xml version="1.0" encoding="UTF-8"?>
    22<Browser>
    3         <import class="com.framsticks.core.ObjectInstance" />
     3        <import class="com.framsticks.core.ObjectTree" />
    44        <import class="com.framsticks.test.TestClass" />
    5         <ObjectInstance name="test">
     5        <ObjectTree name="test">
    66                <TestClass />
    7         </ObjectInstance>
     7        </ObjectTree>
    88</Browser>
  • java/main/src/test/resources/configs/ServerTest.xml

    r96 r97  
    22<Framsticks>
    33        <import class="com.framsticks.hosting.Server" />
    4         <import class="com.framsticks.remote.RemoteInstance" />
    5         <import class="com.framsticks.core.ObjectInstance" />
     4        <import class="com.framsticks.remote.RemoteTree" />
     5        <import class="com.framsticks.core.ObjectTree" />
    66        <import class="com.framsticks.test.TestClass" />
    77        <import class="com.framsticks.running.LoggingOutputListener" />
    88        <Server name="server" port="9007">
    9                 <ObjectInstance name="test">
     9                <ObjectTree name="test">
    1010                        <TestClass name="a test name" />
    11                 </ObjectInstance>
     11                </ObjectTree>
    1212        </Server>
    13         <RemoteInstance name="remote" address="localhost:9007" />
     13        <RemoteTree name="remote" address="localhost:9007" />
    1414</Framsticks>
  • java/main/src/test/resources/configs/test.xml

    r96 r97  
    22<Framsticks>
    33        <import class="com.framsticks.gui.Browser" />
    4         <import class="com.framsticks.remote.SimulatorInstance" />
     4        <import class="com.framsticks.remote.SimulatorTree" />
    55        <Browser name="browser">
    6                 <SimulatorInstance name="localhost:9009" address="localhost:9009" />
     6                <SimulatorTree name="localhost:9009" address="localhost:9009" />
    77        </Browser>
    88</Framsticks>
  • java/main/src/test/resources/log4j.properties

    r96 r97  
    2626log4j.appender.STDOUT.layout.ConversionPattern=%d{ABSOLUTE} [%-5p] [%t] %c -- %m%n
    2727
    28 log4j.logger.com.framsticks=INFO
    29 # log4j.logger.com.framsticks.hosting.Server=DEBUG
     28log4j.logger.com.framsticks=WARN
     29log4j.logger.com.framsticks.test.TestConfiguration=INFO
     30# log4j.logger.com.framsticks.gui.console.TrackConsole=DEBUG
     31# log4j.logger.com.framsticks.gui.controls.ProcedureControl=DEBUG
     32# log4j.logger.com.framsticks.test.TestClass=DEBUG
    3033# log4j.logger.com.framsticks.communication.ServerConnection=TRACE
    31 # log4j.logger.com.framsticks.util.dispatching.AbstractJoinable=DEBUG
     34# log4j.logger.com.framsticks.util.dispatching.Dispatching=DEBUG
    3235# log4j.logger.com.framsticks.parsers.F0Writer=TRACE
    33 # log4j.logger.com.framsticks.core.ObjectInstance=DEBUG
    34 # log4j.logger.com.framsticks.core.Instance=DEBUG
    3536# log4j.logger.com.framsticks.running=DEBUG
    3637# log4j.logger.com.framsticks.parsers.XmlLoader=DEBUG
Note: See TracChangeset for help on using the changeset viewer.