Author: bdonlan
Date: 2005-01-05 20:56:12 -0500 (Wed, 05 Jan 2005)
New Revision: 524

Added:
   trunk/misc/javer/
   trunk/misc/javer/build.xml
   trunk/misc/javer/build/
   trunk/misc/javer/dist/
   trunk/misc/javer/manifest.mf
   trunk/misc/javer/nbproject/
   trunk/misc/javer/nbproject/build-impl.xml
   trunk/misc/javer/nbproject/genfiles.properties
   trunk/misc/javer/nbproject/project.properties
   trunk/misc/javer/nbproject/project.xml
   trunk/misc/javer/src/
   trunk/misc/javer/src/javer/
   trunk/misc/javer/src/javer/HaverClient.java
   trunk/misc/javer/src/javer/HaverException.java
   trunk/misc/javer/src/javer/Main.java
   trunk/misc/javer/test/
Modified:
   /
Log:
Initial import of Javer



Property changes on: 
___________________________________________________________________
Name: svk:merge
   - 1f59643a-e6e5-0310-bc24-f7d4c744f460:/haver/local:11187
   + 1f59643a-e6e5-0310-bc24-f7d4c744f460:/haver/local:11190

Added: trunk/misc/javer/build.xml
===================================================================
--- trunk/misc/javer/build.xml  2005-01-06 01:24:31 UTC (rev 523)
+++ trunk/misc/javer/build.xml  2005-01-06 01:56:12 UTC (rev 524)
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- You may freely edit this file. See commented blocks below for -->
+<!-- some examples of how to customize the build. -->
+<!-- (If you delete it and reopen the project it will be recreated.) -->
+<project name="javer" default="default" basedir=".">
+    <description>Builds, tests, and runs the project javer.</description>
+    <import file="nbproject/build-impl.xml"/>
+    <!--
+
+    There exist several targets which are by default empty and which can be 
+    used for execution of your tasks. These targets are usually executed 
+    before and after some main targets. They are: 
+
+      -pre-init:                 called before initialization of project 
properties
+      -post-init:                called after initialization of project 
properties
+      -pre-compile:              called before javac compilation
+      -post-compile:             called after javac compilation
+      -pre-compile-single:       called before javac compilation of single file
+      -post-compile-single:      called after javac compilation of single file
+      -pre-compile-test:         called before javac compilation of JUnit tests
+      -post-compile-test:        called after javac compilation of JUnit tests
+      -pre-compile-test-single:  called before javac compilation of single 
JUnit test
+      -post-compile-test-single: called after javac compilation of single 
JUunit test
+      -pre-jar:                  called before JAR building
+      -post-jar:                 called after JAR building
+      -post-clean:               called after cleaning build products
+
+    (Targets beginning with '-' are not intended to be called on their own.)
+
+    Example of inserting an obfuscator after compilation could look like this:
+
+        <target name="-post-compile">
+            <obfuscate>
+                <fileset dir="${build.classes.dir}"/>
+            </obfuscate>
+        </target>
+
+    For list of available properties check the imported 
+    nbproject/build-impl.xml file. 
+
+
+    Another way to customize the build is by overriding existing main targets.
+    The targets of interest are: 
+
+      -init-macrodef-javac:     defines macro for javac compilation
+      -init-macrodef-junit:     defines macro for junit execution
+      -init-macrodef-debug:     defines macro for class debugging
+      -init-macrodef-java:      defines macro for class execution
+      -do-jar-with-manifest:    JAR building (if you are using a manifest)
+      -do-jar-without-manifest: JAR building (if you are not using a manifest)
+      run:                      execution of project 
+      -javadoc-build:           Javadoc generation
+      test-report:              JUnit report generation
+
+    An example of overriding the target for project execution could look like 
this:
+
+        <target name="run" depends="javer-impl.jar">
+            <exec dir="bin" executable="launcher.exe">
+                <arg file="${dist.jar}"/>
+            </exec>
+        </target>
+
+    Notice that the overridden target depends on the jar target and not only 
on 
+    the compile target as the regular run target does. Again, for a list of 
available 
+    properties which you can use, check the target you are overriding in the
+    nbproject/build-impl.xml file. 
+
+    -->
+</project>


Property changes on: trunk/misc/javer/build.xml
___________________________________________________________________
Name: svn:eol-style
   + native

Added: trunk/misc/javer/manifest.mf
===================================================================
--- trunk/misc/javer/manifest.mf        2005-01-06 01:24:31 UTC (rev 523)
+++ trunk/misc/javer/manifest.mf        2005-01-06 01:56:12 UTC (rev 524)
@@ -0,0 +1,3 @@
+Manifest-Version: 1.0
+X-COMMENT: Main-Class will be added automatically by build
+

Added: trunk/misc/javer/nbproject/build-impl.xml
===================================================================
--- trunk/misc/javer/nbproject/build-impl.xml   2005-01-06 01:24:31 UTC (rev 
523)
+++ trunk/misc/javer/nbproject/build-impl.xml   2005-01-06 01:56:12 UTC (rev 
524)
@@ -0,0 +1,475 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+*** GENERATED FROM project.xml - DO NOT EDIT  ***
+***         EDIT ../build.xml INSTEAD         ***
+
+For the purpose of easier reading the script
+is divided into following sections:
+
+  - initialization
+  - compilation
+  - jar
+  - execution
+  - debugging
+  - javadoc
+  - junit compilation
+  - junit execution
+  - junit debugging
+  - applet
+  - cleanup
+
+-->
+<project name="javer-impl" default="build" basedir="..">
+    <target name="default" depends="test,jar,javadoc" description="Build and 
test whole project."/>
+    <!-- 
+    ======================
+    INITIALIZATION SECTION 
+    ======================
+    -->
+    <target name="-pre-init">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target name="-init-private" depends="-pre-init">
+        <property file="nbproject/private/private.properties"/>
+    </target>
+    <target name="-init-user" depends="-pre-init,-init-private">
+        <property file="${user.properties.file}"/>
+        <!-- The two properties below are usually overridden -->
+        <!-- by the active platform. Just a fallback. -->
+        <property value="1.4" name="default.javac.source"/>
+        <property value="1.4" name="default.javac.target"/>
+    </target>
+    <target name="-init-project" depends="-pre-init,-init-private,-init-user">
+        <property file="nbproject/project.properties"/>
+    </target>
+    <target name="-do-init" 
depends="-pre-init,-init-private,-init-user,-init-project,-init-macrodef-property">
+        <available property="manifest.available" file="${manifest.file}"/>
+        <condition property="manifest.available+main.class">
+            <and>
+                <isset property="manifest.available"/>
+                <isset property="main.class"/>
+                <not>
+                    <equals trim="true" arg2="" arg1="${main.class}"/>
+                </not>
+            </and>
+        </condition>
+        <available file="${test.src.dir}" property="have.tests"/>
+        <condition property="netbeans.home+have.tests">
+            <and>
+                <isset property="netbeans.home"/>
+                <isset property="have.tests"/>
+            </and>
+        </condition>
+        <condition property="no.javadoc.preview">
+            <isfalse value="${javadoc.preview}"/>
+        </condition>
+        <property value="" name="run.jvmargs"/>
+        <property value="" name="javac.compilerargs"/>
+        <property value="${basedir}" name="work.dir"/>
+        <condition property="no.deps">
+            <and>
+                <istrue value="${no.dependencies}"/>
+            </and>
+        </condition>
+    </target>
+    <target name="-post-init">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target name="-init-check" 
depends="-pre-init,-init-private,-init-user,-init-project,-do-init">
+        <fail unless="src.dir">Must set src.dir</fail>
+        <fail unless="test.src.dir">Must set test.src.dir</fail>
+        <fail unless="build.dir">Must set build.dir</fail>
+        <fail unless="dist.dir">Must set dist.dir</fail>
+        <fail unless="build.classes.dir">Must set build.classes.dir</fail>
+        <fail unless="dist.javadoc.dir">Must set dist.javadoc.dir</fail>
+        <fail unless="build.test.classes.dir">Must set 
build.test.classes.dir</fail>
+        <fail unless="build.test.results.dir">Must set 
build.test.results.dir</fail>
+        <fail unless="build.classes.excludes">Must set 
build.classes.excludes</fail>
+        <fail unless="dist.jar">Must set dist.jar</fail>
+    </target>
+    <target name="-init-macrodef-property">
+        <macrodef name="property" 
uri="http://www.netbeans.org/ns/j2se-project/1";>
+            <attribute name="name"/>
+            <attribute name="value"/>
+            <sequential>
+                <property name="@{name}" value="[EMAIL PROTECTED]"/>
+            </sequential>
+        </macrodef>
+    </target>
+    <target name="-init-macrodef-javac">
+        <macrodef name="javac" uri="http://www.netbeans.org/ns/j2se-project/1";>
+            <attribute name="srcdir" default="${src.dir}"/>
+            <attribute name="destdir" default="${build.classes.dir}"/>
+            <attribute name="classpath" default="${javac.classpath}"/>
+            <attribute name="debug" default="${javac.debug}"/>
+            <element name="customize" optional="true"/>
+            <sequential>
+                <javac srcdir="@{srcdir}" destdir="@{destdir}" 
debug="@{debug}" deprecation="${javac.deprecation}" source="${javac.source}" 
target="${javac.target}" includeantruntime="false">
+                    <classpath>
+                        <path path="@{classpath}"/>
+                    </classpath>
+                    <compilerarg line="${javac.compilerargs}"/>
+                    <customize/>
+                </javac>
+            </sequential>
+        </macrodef>
+    </target>
+    <target name="-init-macrodef-junit">
+        <macrodef name="junit" uri="http://www.netbeans.org/ns/j2se-project/1";>
+            <attribute name="includes" default="**/*Test.java"/>
+            <sequential>
+                <junit showoutput="true" fork="true" dir="${basedir}" 
failureproperty="tests.failed" errorproperty="tests.failed">
+                    <batchtest todir="${build.test.results.dir}">
+                        <fileset includes="@{includes}" dir="${test.src.dir}"/>
+                    </batchtest>
+                    <classpath>
+                        <path path="${run.test.classpath}"/>
+                    </classpath>
+                    <syspropertyset>
+                        <propertyref prefix="test-sys-prop."/>
+                        <mapper to="*" from="test-sys-prop.*" type="glob"/>
+                    </syspropertyset>
+                    <formatter usefile="false" type="brief"/>
+                </junit>
+            </sequential>
+        </macrodef>
+    </target>
+    <target name="-init-macrodef-nbjpda">
+        <macrodef name="nbjpdastart" 
uri="http://www.netbeans.org/ns/j2se-project/1";>
+            <attribute name="name" default="${main.class}"/>
+            <attribute name="classpath" default="${debug.classpath}"/>
+            <attribute name="stopclassname" default=""/>
+            <sequential>
+                <nbjpdastart stopclassname="@{stopclassname}" name="@{name}" 
addressproperty="jpda.address" transport="dt_socket">
+                    <classpath>
+                        <path path="@{classpath}"/>
+                    </classpath>
+                </nbjpdastart>
+            </sequential>
+        </macrodef>
+        <macrodef name="nbjpdareload" 
uri="http://www.netbeans.org/ns/j2se-project/1";>
+            <attribute name="dir" default="${build.classes.dir}"/>
+            <sequential>
+                <nbjpdareload>
+                    <fileset dir="@{dir}" includes="${fix.includes}*.class"/>
+                </nbjpdareload>
+            </sequential>
+        </macrodef>
+    </target>
+    <target name="-init-macrodef-debug">
+        <macrodef name="debug" uri="http://www.netbeans.org/ns/j2se-project/1";>
+            <attribute name="classname" default="${main.class}"/>
+            <attribute name="classpath" default="${debug.classpath}"/>
+            <attribute name="args" default="${application.args}"/>
+            <sequential>
+                <java classname="@{classname}" fork="true" dir="${work.dir}">
+                    <jvmarg value="-Xdebug"/>
+                    <jvmarg value="-Xnoagent"/>
+                    <jvmarg value="-Djava.compiler=none"/>
+                    <jvmarg 
value="-Xrunjdwp:transport=dt_socket,address=${jpda.address}"/>
+                    <jvmarg line="${run.jvmargs}"/>
+                    <classpath>
+                        <path path="@{classpath}"/>
+                    </classpath>
+                    <syspropertyset>
+                        <propertyref prefix="run-sys-prop."/>
+                        <mapper to="*" from="run-sys-prop.*" type="glob"/>
+                    </syspropertyset>
+                    <arg line="@{args}"/>
+                </java>
+            </sequential>
+        </macrodef>
+    </target>
+    <target name="-init-macrodef-java">
+        <macrodef name="java" uri="http://www.netbeans.org/ns/j2se-project/1";>
+            <attribute name="classname" default="${main.class}"/>
+            <element name="customize" optional="true"/>
+            <sequential>
+                <java classname="@{classname}" fork="true" dir="${work.dir}">
+                    <jvmarg line="${run.jvmargs}"/>
+                    <classpath>
+                        <path path="${run.classpath}"/>
+                    </classpath>
+                    <syspropertyset>
+                        <propertyref prefix="run-sys-prop."/>
+                        <mapper to="*" from="run-sys-prop.*" type="glob"/>
+                    </syspropertyset>
+                    <customize/>
+                </java>
+            </sequential>
+        </macrodef>
+    </target>
+    <target name="-init-presetdef-jar">
+        <presetdef name="jar" uri="http://www.netbeans.org/ns/j2se-project/1";>
+            <jar compress="${jar.compress}" jarfile="${dist.jar}">
+                <fileset xmlns="http://www.netbeans.org/ns/j2se-project/1"; 
dir="${build.classes.dir}"/>
+            </jar>
+        </presetdef>
+    </target>
+    <target name="init" 
depends="-pre-init,-init-private,-init-user,-init-project,-do-init,-post-init,-init-check,-init-macrodef-property,-init-macrodef-javac,-init-macrodef-junit,-init-macrodef-nbjpda,-init-macrodef-debug,-init-macrodef-java,-init-presetdef-jar"/>
+    <!--
+    ===================
+    COMPILATION SECTION
+    ===================
+    -->
+    <target name="deps-jar" depends="init" unless="no.deps"/>
+    <target name="-pre-pre-compile" depends="init,deps-jar">
+        <mkdir dir="${build.classes.dir}"/>
+    </target>
+    <target name="-pre-compile">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target name="-do-compile" 
depends="init,deps-jar,-pre-pre-compile,-pre-compile">
+        <j2seproject:javac 
xmlns:j2seproject="http://www.netbeans.org/ns/j2se-project/1"/>
+        <copy todir="${build.classes.dir}">
+            <fileset excludes="${build.classes.excludes}" dir="${src.dir}"/>
+        </copy>
+    </target>
+    <target name="-post-compile">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target name="compile" 
depends="init,deps-jar,-pre-pre-compile,-pre-compile,-do-compile,-post-compile" 
description="Compile project."/>
+    <target name="-pre-compile-single">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target name="-do-compile-single" depends="init,deps-jar,-pre-pre-compile">
+        <fail unless="javac.includes">Must select some files in the IDE or set 
javac.includes</fail>
+        <j2seproject:javac 
xmlns:j2seproject="http://www.netbeans.org/ns/j2se-project/1";>
+            <customize>
+                <patternset includes="${javac.includes}"/>
+            </customize>
+        </j2seproject:javac>
+    </target>
+    <target name="-post-compile-single">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target name="compile-single" 
depends="init,deps-jar,-pre-pre-compile,-pre-compile-single,-do-compile-single,-post-compile-single"/>
+    <!--
+    ====================
+    JAR BUILDING SECTION
+    ====================
+    -->
+    <target name="-pre-pre-jar" depends="init">
+        <dirname file="${dist.jar}" property="dist.jar.dir"/>
+        <mkdir dir="${dist.jar.dir}"/>
+    </target>
+    <target name="-pre-jar">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target name="-do-jar-without-manifest" 
depends="init,compile,-pre-pre-jar,-pre-jar" unless="manifest.available">
+        <j2seproject:jar 
xmlns:j2seproject="http://www.netbeans.org/ns/j2se-project/1"/>
+    </target>
+    <target name="-do-jar-with-manifest" 
depends="init,compile,-pre-pre-jar,-pre-jar" if="manifest.available" 
unless="manifest.available+main.class">
+        <j2seproject:jar 
xmlns:j2seproject="http://www.netbeans.org/ns/j2se-project/1"; 
manifest="${manifest.file}"/>
+    </target>
+    <target name="-do-jar-with-mainclass" 
depends="init,compile,-pre-pre-jar,-pre-jar" if="manifest.available+main.class">
+        <j2seproject:jar 
xmlns:j2seproject="http://www.netbeans.org/ns/j2se-project/1"; 
manifest="${manifest.file}">
+            <manifest xmlns="http://www.netbeans.org/ns/j2se-project/1";>
+                <attribute value="${main.class}" name="Main-Class"/>
+            </manifest>
+        </j2seproject:jar>
+    </target>
+    <target name="-post-jar">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target name="jar" 
depends="init,compile,-pre-jar,-do-jar-with-manifest,-do-jar-without-manifest,-do-jar-with-mainclass,-post-jar"
 description="Build JAR."/>
+    <!--
+    =================
+    EXECUTION SECTION
+    =================
+    -->
+    <target name="run" depends="init,compile" description="Run a main class.">
+        <j2seproject:java 
xmlns:j2seproject="http://www.netbeans.org/ns/j2se-project/1";>
+            <customize>
+                <arg line="${application.args}"/>
+            </customize>
+        </j2seproject:java>
+    </target>
+    <target name="run-single" depends="init,compile-single">
+        <fail unless="run.class">Must select one file in the IDE or set 
run.class</fail>
+        <j2seproject:java 
xmlns:j2seproject="http://www.netbeans.org/ns/j2se-project/1"; 
classname="${run.class}"/>
+    </target>
+    <!--
+    =================
+    DEBUGGING SECTION
+    =================
+    -->
+    <target name="-debug-start-debugger" if="netbeans.home" depends="init">
+        <j2seproject:nbjpdastart 
xmlns:j2seproject="http://www.netbeans.org/ns/j2se-project/1"/>
+    </target>
+    <target name="-debug-start-debuggee" depends="init,compile">
+        <j2seproject:debug 
xmlns:j2seproject="http://www.netbeans.org/ns/j2se-project/1"/>
+    </target>
+    <target name="debug" if="netbeans.home" 
depends="init,compile,-debug-start-debugger,-debug-start-debuggee" 
description="Debug project in IDE."/>
+    <target name="-debug-start-debugger-stepinto" if="netbeans.home" 
depends="init">
+        <j2seproject:nbjpdastart 
xmlns:j2seproject="http://www.netbeans.org/ns/j2se-project/1"; 
stopclassname="${main.class}"/>
+    </target>
+    <target name="debug-stepinto" if="netbeans.home" 
depends="init,compile,-debug-start-debugger-stepinto,-debug-start-debuggee"/>
+    <target name="-debug-start-debuggee-single" if="netbeans.home" 
depends="init,compile-single">
+        <fail unless="debug.class">Must select one file in the IDE or set 
debug.class</fail>
+        <j2seproject:debug 
xmlns:j2seproject="http://www.netbeans.org/ns/j2se-project/1"; 
classname="${debug.class}"/>
+    </target>
+    <target name="debug-single" if="netbeans.home" 
depends="init,compile-single,-debug-start-debugger,-debug-start-debuggee-single"/>
+    <target name="-pre-debug-fix" depends="init">
+        <fail unless="fix.includes">Must set fix.includes</fail>
+        <property value="${fix.includes}.java" name="javac.includes"/>
+    </target>
+    <target name="-do-debug-fix" if="netbeans.home" 
depends="init,-pre-debug-fix,compile-single">
+        <j2seproject:nbjpdareload 
xmlns:j2seproject="http://www.netbeans.org/ns/j2se-project/1"/>
+    </target>
+    <target name="debug-fix" if="netbeans.home" 
depends="init,-pre-debug-fix,-do-debug-fix"/>
+    <!--
+    ===============
+    JAVADOC SECTION
+    ===============
+    -->
+    <target name="-javadoc-build" depends="init">
+        <mkdir dir="${dist.javadoc.dir}"/>
+        <javadoc destdir="${dist.javadoc.dir}" source="${javac.source}" 
notree="${javadoc.notree}" use="${javadoc.use}" nonavbar="${javadoc.nonavbar}" 
noindex="${javadoc.noindex}" splitindex="${javadoc.splitindex}" 
author="${javadoc.author}" version="${javadoc.version}" 
windowtitle="${javadoc.windowtitle}" private="${javadoc.private}" 
failonerror="true">
+            <classpath>
+                <path path="${javac.classpath}"/>
+            </classpath>
+            <sourcepath>
+                <pathelement location="${src.dir}"/>
+            </sourcepath>
+            <fileset dir="${src.dir}"/>
+        </javadoc>
+    </target>
+    <target name="-javadoc-browse" if="netbeans.home" 
unless="no.javadoc.preview" depends="init,-javadoc-build">
+        <nbbrowse file="${dist.javadoc.dir}/index.html"/>
+    </target>
+    <target name="javadoc" depends="init,-javadoc-build,-javadoc-browse" 
description="Build Javadoc."/>
+    <!--
+    =========================
+    JUNIT COMPILATION SECTION
+    =========================
+    -->
+    <target name="-pre-pre-compile-test" if="have.tests" 
depends="init,compile">
+        <mkdir dir="${build.test.classes.dir}"/>
+    </target>
+    <target name="-pre-compile-test">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target name="-do-compile-test" if="have.tests" 
depends="init,compile,-pre-pre-compile-test,-pre-compile-test">
+        <j2seproject:javac 
xmlns:j2seproject="http://www.netbeans.org/ns/j2se-project/1"; 
classpath="${javac.test.classpath}" debug="true" 
destdir="${build.test.classes.dir}" srcdir="${test.src.dir}"/>
+        <copy todir="${build.test.classes.dir}">
+            <fileset dir="${test.src.dir}">
+                <exclude name="**/*.java"/>
+            </fileset>
+        </copy>
+    </target>
+    <target name="-post-compile-test">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target name="compile-test" 
depends="init,compile,-pre-pre-compile-test,-pre-compile-test,-do-compile-test,-post-compile-test"/>
+    <target name="-pre-compile-test-single">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target name="-do-compile-test-single" if="have.tests" 
depends="init,compile,-pre-pre-compile-test,-pre-compile-test-single">
+        <fail unless="javac.includes">Must select some files in the IDE or set 
javac.includes</fail>
+        <j2seproject:javac 
xmlns:j2seproject="http://www.netbeans.org/ns/j2se-project/1"; 
classpath="${javac.test.classpath}" debug="true" 
destdir="${build.test.classes.dir}" srcdir="${test.src.dir}">
+            <customize>
+                <patternset includes="${javac.includes}"/>
+            </customize>
+        </j2seproject:javac>
+    </target>
+    <target name="-post-compile-test-single">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target name="compile-test-single" 
depends="init,compile,-pre-pre-compile-test,-pre-compile-test-single,-do-compile-test-single,-post-compile-test-single"/>
+    <!--
+    =======================
+    JUNIT EXECUTION SECTION
+    =======================
+    -->
+    <target name="-pre-test-run" if="have.tests" depends="init">
+        <mkdir dir="${build.test.results.dir}"/>
+    </target>
+    <target name="-do-test-run" if="have.tests" 
depends="init,compile-test,-pre-test-run">
+        <j2seproject:junit 
xmlns:j2seproject="http://www.netbeans.org/ns/j2se-project/1"/>
+    </target>
+    <target name="-post-test-run" if="have.tests" 
depends="init,compile-test,-pre-test-run,-do-test-run">
+        <fail if="tests.failed">Some tests failed; see details above.</fail>
+    </target>
+    <target name="test-report" if="have.tests" depends="init"/>
+    <target name="-test-browse" if="netbeans.home+have.tests" depends="init"/>
+    <target name="test" 
depends="init,compile-test,-pre-test-run,-do-test-run,test-report,-post-test-run,-test-browse"
 description="Run unit tests."/>
+    <target name="-pre-test-run-single" if="have.tests" depends="init">
+        <mkdir dir="${build.test.results.dir}"/>
+    </target>
+    <target name="-do-test-run-single" if="have.tests" 
depends="init,compile-test-single,-pre-test-run-single">
+        <fail unless="test.includes">Must select some files in the IDE or set 
test.includes</fail>
+        <j2seproject:junit 
xmlns:j2seproject="http://www.netbeans.org/ns/j2se-project/1"; 
includes="${test.includes}"/>
+    </target>
+    <target name="-post-test-run-single" if="have.tests" 
depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single">
+        <fail if="tests.failed">Some tests failed; see details above.</fail>
+    </target>
+    <target name="test-single" 
depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single,-post-test-run-single"
 description="Run single unit test."/>
+    <!--
+    =======================
+    JUNIT DEBUGGING SECTION
+    =======================
+    -->
+    <target name="-debug-start-debuggee-test" if="have.tests" 
depends="init,compile-test">
+        <fail unless="test.class">Must select one file in the IDE or set 
test.class</fail>
+        <j2seproject:debug 
xmlns:j2seproject="http://www.netbeans.org/ns/j2se-project/1"; 
args="${test.class}" classpath="${debug.test.classpath}" 
classname="junit.textui.TestRunner"/>
+    </target>
+    <target name="-debug-start-debugger-test" if="netbeans.home+have.tests" 
depends="init,compile-test">
+        <j2seproject:nbjpdastart 
xmlns:j2seproject="http://www.netbeans.org/ns/j2se-project/1"; 
classpath="${debug.test.classpath}" name="${test.class}"/>
+    </target>
+    <target name="debug-test" 
depends="init,compile-test,-debug-start-debugger-test,-debug-start-debuggee-test"/>
+    <target name="-do-debug-fix-test" if="netbeans.home" 
depends="init,-pre-debug-fix,compile-test-single">
+        <j2seproject:nbjpdareload 
xmlns:j2seproject="http://www.netbeans.org/ns/j2se-project/1"; 
dir="${build.test.classes.dir}"/>
+    </target>
+    <target name="debug-fix-test" if="netbeans.home" 
depends="init,-pre-debug-fix,-do-debug-fix-test"/>
+    <!--
+    =========================
+    APPLET EXECUTION SECTION
+    =========================
+    -->
+    <target name="run-applet" depends="init,compile-single">
+        <fail unless="applet.url">Must select one file in the IDE or set 
applet.url</fail>
+        <j2seproject:java 
xmlns:j2seproject="http://www.netbeans.org/ns/j2se-project/1"; 
classname="sun.applet.AppletViewer">
+            <customize>
+                <arg line="${applet.url}"/>
+            </customize>
+        </j2seproject:java>
+    </target>
+    <!--
+    =========================
+    APPLET DEBUGGING  SECTION
+    =========================
+    -->
+    <target name="-debug-start-debuggee-applet" if="netbeans.home" 
depends="init,compile-single">
+        <fail unless="applet.url">Must select one file in the IDE or set 
applet.url</fail>
+        <j2seproject:debug 
xmlns:j2seproject="http://www.netbeans.org/ns/j2se-project/1"; 
args="${applet.url}" classname="sun.applet.AppletViewer"/>
+    </target>
+    <target name="debug-applet" if="netbeans.home" 
depends="init,compile-single,-debug-start-debugger,-debug-start-debuggee-applet"/>
+    <!--
+    ===============
+    CLEANUP SECTION
+    ===============
+    -->
+    <target name="deps-clean" depends="init" unless="no.deps"/>
+    <target name="-do-clean" depends="init">
+        <delete dir="${build.dir}"/>
+        <delete dir="${dist.dir}"/>
+    </target>
+    <target name="-post-clean">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target name="clean" depends="init,deps-clean,-do-clean,-post-clean" 
description="Clean build products."/>
+</project>


Property changes on: trunk/misc/javer/nbproject/build-impl.xml
___________________________________________________________________
Name: svn:eol-style
   + native

Added: trunk/misc/javer/nbproject/genfiles.properties
===================================================================
--- trunk/misc/javer/nbproject/genfiles.properties      2005-01-06 01:24:31 UTC 
(rev 523)
+++ trunk/misc/javer/nbproject/genfiles.properties      2005-01-06 01:56:12 UTC 
(rev 524)
@@ -0,0 +1,6 @@
+build.xml.data.CRC32=6ef497b2
+build.xml.script.CRC32=e8133476
+build.xml.stylesheet.CRC32=ba5d3624
+nbproject/build-impl.xml.data.CRC32=6ef497b2
+nbproject/build-impl.xml.script.CRC32=4b3443b9
+nbproject/build-impl.xml.stylesheet.CRC32=fac80600


Property changes on: trunk/misc/javer/nbproject/genfiles.properties
___________________________________________________________________
Name: svn:eol-style
   + native

Added: trunk/misc/javer/nbproject/project.properties
===================================================================
--- trunk/misc/javer/nbproject/project.properties       2005-01-06 01:24:31 UTC 
(rev 523)
+++ trunk/misc/javer/nbproject/project.properties       2005-01-06 01:56:12 UTC 
(rev 524)
@@ -0,0 +1,54 @@
+application.args=
+build.classes.dir=${build.dir}/classes
+build.classes.excludes=**/*.java,**/*.form
+# This directory is removed when the project is cleaned:
+build.dir=build
+# Only compile against the classpath explicitly listed here:
+build.sysclasspath=ignore
+build.test.classes.dir=${build.dir}/test/classes
+build.test.results.dir=${build.dir}/test/results
+debug.classpath=\
+    ${run.classpath}
+debug.test.classpath=\
+    ${run.test.classpath}
+# This directory is removed when the project is cleaned:
+dist.dir=dist
+dist.jar=${dist.dir}/javer.jar
+dist.javadoc.dir=${dist.dir}/javadoc
+jar.compress=false
+javac.classpath=\
+
+# Space-separated list of extra javac options
+javac.compilerargs=
+javac.deprecation=false
+javac.source=${default.javac.source}
+javac.target=${default.javac.target}
+javac.test.classpath=\
+    ${javac.classpath}:\
+    ${build.classes.dir}:\
+    ${libs.junit.classpath}
+javadoc.author=false
+javadoc.encoding=
+javadoc.noindex=false
+javadoc.nonavbar=false
+javadoc.notree=false
+javadoc.private=false
+javadoc.splitindex=true
+javadoc.use=true
+javadoc.version=false
+javadoc.windowtitle=
+main.class=javer.Main
+manifest.file=manifest.mf
+platform.active=default_platform
+run.classpath=\
+    ${javac.classpath}:\
+    ${build.classes.dir}
+# Space-separated list of JVM arguments used when running the project
+# (you may also define separate properties like run-sys-prop.name=value 
instead of -Dname=value
+# or test-sys-prop.name=value to set system properties for unit tests):
+run.jvmargs=
+run.test.classpath=\
+    ${javac.test.classpath}:\
+    ${build.test.classes.dir}
+src.dir=src
+test.src.dir=test


Property changes on: trunk/misc/javer/nbproject/project.properties
___________________________________________________________________
Name: svn:eol-style
   + native

Added: trunk/misc/javer/nbproject/project.xml
===================================================================
--- trunk/misc/javer/nbproject/project.xml      2005-01-06 01:24:31 UTC (rev 
523)
+++ trunk/misc/javer/nbproject/project.xml      2005-01-06 01:56:12 UTC (rev 
524)
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://www.netbeans.org/ns/project/1";>
+    <type>org.netbeans.modules.java.j2seproject</type>
+    <configuration>
+        <data xmlns="http://www.netbeans.org/ns/j2se-project/1";>
+            <name>javer</name>
+            <minimum-ant-version>1.6</minimum-ant-version>
+        </data>
+    </configuration>
+</project>


Property changes on: trunk/misc/javer/nbproject/project.xml
___________________________________________________________________
Name: svn:eol-style
   + native

Added: trunk/misc/javer/src/javer/HaverClient.java
===================================================================
--- trunk/misc/javer/src/javer/HaverClient.java 2005-01-06 01:24:31 UTC (rev 
523)
+++ trunk/misc/javer/src/javer/HaverClient.java 2005-01-06 01:56:12 UTC (rev 
524)
@@ -0,0 +1,114 @@
+/*
+ * HaverClient.java
+ *
+ * Created on January 5, 2005, 8:14 PM
+ */
+
+package javer;
+
+/**
+ *
+ * @author  bdonlan
+ */
+public class HaverClient implements Runnable {
+    
+    private java.lang.String versionString = "Javer/0.1";
+    private java.net.Socket sock = null;
+    private java.io.PrintWriter writer = null;
+    private java.io.BufferedReader reader = null;
+    private java.util.Map wants = null;
+    private java.util.Map serverevents = null;
+    private String uid = null;
+    
+    private void send(String s) throws java.io.IOException {
+        if (sock == null) {
+            throw new IllegalStateException("Not connected to server");
+        }
+        writer.print(s + "\r\n");
+        writer.flush();
+        System.err.println(">>> " + s);
+    }
+    
+    /** Creates a new instance of HaverClient */
+    public HaverClient() {
+        initWants();
+        initServerEvents();
+    }
+
+    public void connect(String uid, java.net.Socket socket) throws 
java.io.IOException, HaverException {
+        this.sock = socket;
+        this.uid = uid;
+        writer = new java.io.PrintWriter(
+            new java.io.BufferedWriter(
+                new java.io.OutputStreamWriter(
+                    sock.getOutputStream()
+            )));
+        reader = new java.io.BufferedReader(
+            new java.io.InputStreamReader(
+                sock.getInputStream()
+            ));
+        send("HAVER\t" + versionString);
+    }
+    
+    public void connect(String uid, String hostname) throws 
java.io.IOException, HaverException {
+        connect(uid, hostname, 7070);
+    }
+    
+    public void connect(String uid, String hostname, int port) throws 
java.io.IOException, HaverException {
+        java.net.Socket sock = new java.net.Socket(hostname, port);
+        connect(uid, sock);
+    }
+
+    public void run() {
+        while (sock.isConnected()) {
+            try {
+                String s = reader.readLine();
+                System.err.println("<<< " + s);
+                dispatchCommand(s);
+            } catch (java.io.IOException e) {
+                return; /* XXX */
+            }
+        }
+    }
+
+    public abstract class ServerHandler {
+        public ServerHandler() {}
+        public abstract void trigger(String[] line) throws java.io.IOException;
+    }
+
+    public abstract class WantHandler {
+        public WantHandler() {}
+        public abstract void trigger(String[] args) throws java.io.IOException;
+    }
+
+    public void initWants() {
+        wants = new java.util.HashMap();
+        wants.put("IDENT", new WantHandler() {
+            public void trigger(String[] args) throws java.io.IOException {
+                send("IDENT\t" + uid);
+            }
+        });
+    }
+    
+    public void initServerEvents() {
+        serverevents = new java.util.HashMap();
+        serverevents.put("WANT", new ServerHandler() {
+            public void trigger(String[] args) throws java.io.IOException {
+                WantHandler h = (WantHandler) wants.get(args[1]);
+                if (h == null) {
+                    send("CANT\t" + args[1]);
+                    return;
+                }
+                h.trigger(args);
+            }
+        });
+    }
+
+    public void dispatchCommand(String s) throws java.io.IOException {
+        String[] parts = s.split("\t");
+        ServerHandler h = (ServerHandler) serverevents.get(parts[0]);
+        if (h != null) {
+            h.trigger(parts);
+        }
+    }
+}


Property changes on: trunk/misc/javer/src/javer/HaverClient.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: trunk/misc/javer/src/javer/HaverException.java
===================================================================
--- trunk/misc/javer/src/javer/HaverException.java      2005-01-06 01:24:31 UTC 
(rev 523)
+++ trunk/misc/javer/src/javer/HaverException.java      2005-01-06 01:56:12 UTC 
(rev 524)
@@ -0,0 +1,20 @@
+/*
+ * HaverException.java
+ *
+ * Created on January 5, 2005, 8:17 PM
+ */
+
+package javer;
+
+/**
+ *
+ * @author  bdonlan
+ */
+public class HaverException extends Exception {
+    
+    /** Creates a new instance of HaverException */
+    public HaverException() {
+        super();
+    }
+    
+}


Property changes on: trunk/misc/javer/src/javer/HaverException.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: trunk/misc/javer/src/javer/Main.java
===================================================================
--- trunk/misc/javer/src/javer/Main.java        2005-01-06 01:24:31 UTC (rev 
523)
+++ trunk/misc/javer/src/javer/Main.java        2005-01-06 01:56:12 UTC (rev 
524)
@@ -0,0 +1,29 @@
+/*
+ * Main.java
+ *
+ * Created on January 5, 2005, 8:13 PM
+ */
+
+package javer;
+
+/**
+ *
+ * @author  bdonlan
+ */
+public class Main {
+    
+    /** Creates a new instance of Main */
+    public Main() {
+    }
+    
+    /**
+     * @param args the command line arguments
+     */
+    public static void main(String[] args) throws java.io.IOException, 
javer.HaverException {
+        // TODO code application logic here
+        HaverClient c = new HaverClient();
+        c.connect("bd_javer", "odin.haverdev.org");
+        c.run();
+    }
+    
+}


Property changes on: trunk/misc/javer/src/javer/Main.java
___________________________________________________________________
Name: svn:eol-style
   + native


Reply via email to