• Join/Login
  • Business Software
  • Open Source Software
  • For Vendors
  • Blog
  • About
  • More
    • Articles
    • Create
    • SourceForge Podcast
    • Site Documentation
    • Subscribe to our Newsletter
    • Support Request
SourceForge logo
For Vendors Help Create Join Login
SourceForge logo
Business Software
Open Source Software
SourceForge Podcast
Resources
  • Articles
  • Case Studies
  • Blog
Menu
  • Help
  • Create
  • Join
  • Login
  • Home
  • Browse
  • JLink Game
  • Mailing Lists

java-link-svn Mailing List for JLink Game (Page 2)

Status: Pre-Alpha
Brought to you by: welterde0
  • Summary
  • Files
  • Reviews
  • Support
  • Mailing Lists
  • Browse SVN
Menu ▾ ▴
  • java-link-svn

java-link-svn — SVN Commits are posted here

You can subscribe to this list here.

2006 Jan
 
Feb
 
Mar
(4)
Apr
 
May
(4)
Jun
 
Jul
 
Aug
 
Sep
(1)
Oct
(11)
Nov
(11)
Dec
(1)
2007 Jan
(1)
Feb
 
Mar
 
Apr
 
May
 
Jun
 
Jul
 
Aug
 
Sep
 
Oct
 
Nov
 
Dec
 

Showing results of 33

Flat | Threaded
<< < 1 2 (Page 2 of 2)
[Java-link-svn] SF.net SVN: java-link: [8] trunk/server
From: <wel...@us...> - 2006-05-15 18:35:09
Revision: 8
Author:   welterde0
Date:     2006-05-15 11:34:32 -0700 (Mon, 15 May 2006)
ViewCVS:  http://svn.sourceforge.net/java-link/?rev=8&view=rev

Log Message:
-----------
updated ll net system
added XMLoverSocket impl of ll net system
added missing files in server

Modified Paths:
--------------
    trunk/server/src/main/java/org/jlink/ServerNetwork.java
    trunk/share/src/main/java/org/jlink/net/ll/LLServerConnector.java

Added Paths:
-----------
    trunk/server/nbproject/
    trunk/server/nbproject/mavencall.xml
    trunk/server/nbproject/project.properties
    trunk/server/nbproject/project.xml
    trunk/server/src/main/assembly/
    trunk/server/src/main/assembly/dep.xml
    trunk/share/src/main/java/org/jlink/net/hl/HLProtocol.java
    trunk/share/src/main/java/org/jlink/net/ll/xml/
    trunk/share/src/main/java/org/jlink/net/ll/xml/XMLConfiguration.java
    trunk/share/src/main/java/org/jlink/net/ll/xml/XMLConnector.java
    trunk/share/src/main/java/org/jlink/net/ll/xml/XMLFactory.java
    trunk/share/src/test/java/
    trunk/share/src/test/java/org/
    trunk/share/src/test/java/org/jlink/
    trunk/share/src/test/java/org/jlink/net/
    trunk/share/src/test/java/org/jlink/net/ll/
    trunk/share/src/test/java/org/jlink/net/ll/LLEventTest.java
Added: trunk/server/nbproject/mavencall.xml
===================================================================
--- trunk/server/nbproject/mavencall.xml	                        (rev 0)
+++ trunk/server/nbproject/mavencall.xml	2006-05-15 18:34:32 UTC (rev 8)
@@ -0,0 +1,37 @@
+<project name="server" default="build" basedir="..">
+  <target name="build" description="Build">
+    <exec dir="${basedir}" executable="${mvn.path}">
+      <arg line="package"/>
+    </exec>
+  </target>
+  <target name="clean" description="Clean">
+    <exec dir="${basedir}" executable="${mvn.path}">
+      <arg line="clean:clean"/>
+    </exec>
+  </target>
+  <target name="javadoc" description="Javadoc">
+    <exec dir="${basedir}" executable="${mvn.path}">
+      <arg line="site:site"/>
+    </exec>
+  </target>
+  <target name="run" description="Install Locally">
+    <exec dir="${basedir}" executable="${mvn.path}">
+      <arg line="install"/>
+    </exec>
+  </target>
+  <target name="test" description="Test Project">
+    <exec dir="${basedir}" executable="${mvn.path}">
+      <arg line="test"/>
+    </exec>
+  </target>
+  <target name="jalopy" description="Format Code">
+    <exec dir="${basedir}" executable="${mvn.path}">
+      <arg line="jalopy:format"/>
+    </exec>
+  </target>
+  <target name="refresh-project" description="Refresh Project">
+    <exec dir="${basedir}" executable="${mvn.path}">
+      <arg line="netbeans-freeform:generate-netbeans-project"/>
+    </exec>
+  </target>
+</project>
\ No newline at end of file

Added: trunk/server/nbproject/project.properties
===================================================================
--- trunk/server/nbproject/project.properties	                        (rev 0)
+++ trunk/server/nbproject/project.properties	2006-05-15 18:34:32 UTC (rev 8)
@@ -0,0 +1,5 @@
+#The netbeans freeform property file
+#Mon May 15 20:20:00 CEST 2006
+local.repository=/home/tassilo/.m2/repository
+mvn.path=mvn
+project.directory=/home/tassilo/Documents/dev/jlink/feature_maven2/server

Added: trunk/server/nbproject/project.xml
===================================================================
--- trunk/server/nbproject/project.xml	                        (rev 0)
+++ trunk/server/nbproject/project.xml	2006-05-15 18:34:32 UTC (rev 8)
@@ -0,0 +1,134 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://www.netbeans.org/ns/project/1">
+    <type>org.netbeans.modules.ant.freeform</type>
+    <configuration>
+        <general-data xmlns="http://www.netbeans.org/ns/freeform-project/1">
+            <name>JLink Server</name>
+            <properties>
+                <property name="ant.script">nbproject/mavencall.xml</property>
+                <property-file>nbproject/project.properties</property-file>
+            </properties>
+            <folders>
+                <source-folder>
+                    <label>src/main/java</label>
+                    <type>java</type>
+                    <location>src/main/java</location>
+                </source-folder>
+                <source-folder>
+                    <label>src/test/java</label>
+                    <type>java</type>
+                    <location>src/test/java</location>
+                </source-folder>
+            </folders>
+            <ide-actions>
+                <action name="build">
+                    <script>${ant.script}</script>
+                    <target>build</target>
+                </action>
+                <action name="clean">
+                    <script>${ant.script}</script>
+                    <target>clean</target>
+                </action>
+                <action name="rebuild">
+                    <script>${ant.script}</script>
+                    <target>clean</target>
+                    <target>build</target>
+                </action>
+                <action name="javadoc">
+                    <script>${ant.script}</script>
+                    <target>javadoc</target>
+                </action>
+                <action name="run">
+                    <script>${ant.script}</script>
+                    <target>run</target>
+                </action>
+                <action name="test">
+                    <script>${ant.script}</script>
+                    <target>test</target>
+                </action>
+            </ide-actions>
+            <export>
+                <type>folder</type>
+                <location>target/classes</location>
+                <script>${ant.script}</script>
+                <build-target>build</build-target>
+            </export>
+            <export>
+                <type>folder</type>
+                <location>target/test-classes</location>
+                <script>${ant.script}</script>
+                <build-target>build</build-target>
+            </export>
+            <view>
+                <items>
+                    <source-folder style="packages">
+                        <label>src/main/java</label>
+                        <location>src/main/java</location>
+                    </source-folder>
+                    <source-folder style="packages">
+                        <label>src/test/java</label>
+                        <location>src/test/java</location>
+                    </source-folder>
+                    <source-file>
+                        <label>pom</label>
+                        <location>pom.xml</location>
+                    </source-file>
+                    <source-file>
+                        <label>mavencall</label>
+                        <location>nbproject/mavencall.xml</location>
+                    </source-file>
+                    <source-folder style="tree">
+                        <label>src/main/resources</label>
+                        <location>src/main/resources</location>
+                    </source-folder>
+                    <source-folder style="tree">
+                        <label>src/test/resources</label>
+                        <location>src/test/resources</location>
+                    </source-folder>
+                    <source-folder style="tree">
+                        <label>src/site</label>
+                        <location>src/site</location>
+                    </source-folder>
+                    <source-folder style="tree">
+                        <label>target</label>
+                        <location>target</location>
+                    </source-folder>
+                </items>
+                <context-menu>
+                    <action>
+                        <script>${ant.script}</script>
+                        <label>Refresh Project</label>
+                        <target>refresh-project</target>
+                    </action>
+                    <ide-action name="build"/>
+                    <ide-action name="clean"/>
+                    <ide-action name="rebuild"/>
+                    <ide-action name="javadoc"/>
+                    <ide-action name="run"/>
+                    <ide-action name="test"/>
+                    <action>
+                        <script>${ant.script}</script>
+                        <label>Format Code</label>
+                        <target>jalopy</target>
+                    </action>
+                </context-menu>
+            </view>
+            <subprojects/>
+        </general-data>
+        <java-data xmlns="http://www.netbeans.org/ns/freeform-project-java/2">
+            <compilation-unit>
+                <package-root>src/main/java</package-root>
+                <classpath mode="compile">${local.repository}/org/jlink/share/0.0.1-SNAPSHOT/share-0.0.1-SNAPSHOT.jar:${local.repository}/log4j/log4j/1.2.13/log4j-1.2.13.jar</classpath>
+                <built-to>target/classes</built-to>
+                <source-level>1.5</source-level>
+            </compilation-unit>
+            <compilation-unit>
+                <package-root>src/test/java</package-root>
+                <unit-tests/>
+                <classpath mode="compile">target/classes:${local.repository}/org/jlink/share/0.0.1-SNAPSHOT/share-0.0.1-SNAPSHOT.jar:${local.repository}/junit/junit/3.8.1/junit-3.8.1.jar:${local.repository}/log4j/log4j/1.2.13/log4j-1.2.13.jar</classpath>
+                <built-to>target/test-classes</built-to>
+                <source-level>1.5</source-level>
+            </compilation-unit>
+        </java-data>
+    </configuration>
+</project>

Added: trunk/server/src/main/assembly/dep.xml
===================================================================
--- trunk/server/src/main/assembly/dep.xml	                        (rev 0)
+++ trunk/server/src/main/assembly/dep.xml	2006-05-15 18:34:32 UTC (rev 8)
@@ -0,0 +1,20 @@
+<assembly>
+  <id>deps</id>
+  <formats>
+    <format>jar</format>
+  </formats>
+  <includeBaseDirectory>false</includeBaseDirectory>
+  <fileSets>
+    <fileSet>
+      <directory>target/classes</directory>
+      <outputDirectory>/</outputDirectory>
+    </fileSet>
+  </fileSets>
+  <dependencySets>
+    <dependencySet>
+      <outputDirectory>/</outputDirectory>
+      <unpack>true</unpack>
+      <scope>runtime</scope>
+    </dependencySet>
+  </dependencySets>
+</assembly>

Modified: trunk/server/src/main/java/org/jlink/ServerNetwork.java
===================================================================
--- trunk/server/src/main/java/org/jlink/ServerNetwork.java	2006-05-14 19:23:51 UTC (rev 7)
+++ trunk/server/src/main/java/org/jlink/ServerNetwork.java	2006-05-15 18:34:32 UTC (rev 8)
@@ -85,6 +85,11 @@
         int i = 0;
         
         while(this.status_active) {
+            try {
+                Thread.sleep(100);
+            } catch (InterruptedException ex) {
+                ex.printStackTrace();
+            }
         }
         log.debug("Network::Core::run() stopped");
     }

Added: trunk/share/src/main/java/org/jlink/net/hl/HLProtocol.java
===================================================================
--- trunk/share/src/main/java/org/jlink/net/hl/HLProtocol.java	                        (rev 0)
+++ trunk/share/src/main/java/org/jlink/net/hl/HLProtocol.java	2006-05-15 18:34:32 UTC (rev 8)
@@ -0,0 +1,32 @@
+/*
+ * HLProtocol.java
+ *
+ * Created on 15. Mai 2006, 15:12
+ *
+ * JLink: An Introversion Uplink Clone with multiplayer support.
+ * Copyright (C) 2006 Tassilo Schweyer
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ */
+
+package org.jlink.net.hl;
+
+/**
+ *
+ * @author tassilo
+ */
+public interface HLProtocol {
+    public HLHandler getHandler();
+}

Modified: trunk/share/src/main/java/org/jlink/net/ll/LLServerConnector.java
===================================================================
--- trunk/share/src/main/java/org/jlink/net/ll/LLServerConnector.java	2006-05-14 19:23:51 UTC (rev 7)
+++ trunk/share/src/main/java/org/jlink/net/ll/LLServerConnector.java	2006-05-15 18:34:32 UTC (rev 8)
@@ -28,5 +28,9 @@
  * @author tassilo
  */
 public interface LLServerConnector {
+    public LLConnector accept() throws LLConnectionException;
     
+    public boolean isAlive();
+    
+    public void close() throws LLConnectionException;
 }

Added: trunk/share/src/main/java/org/jlink/net/ll/xml/XMLConfiguration.java
===================================================================
--- trunk/share/src/main/java/org/jlink/net/ll/xml/XMLConfiguration.java	                        (rev 0)
+++ trunk/share/src/main/java/org/jlink/net/ll/xml/XMLConfiguration.java	2006-05-15 18:34:32 UTC (rev 8)
@@ -0,0 +1,62 @@
+/*
+ * XMLConfiguration.java
+ *
+ * Created on 15. Mai 2006, 15:26
+ *
+ * JLink: An Introversion Uplink Clone with multiplayer support.
+ * Copyright (C) 2006 Tassilo Schweyer
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ */
+
+package org.jlink.net.ll.xml;
+
+import java.util.Locale;
+import org.jlink.net.ll.LLConfiguration;
+
+/**
+ *
+ * @author tassilo
+ */
+public class XMLConfiguration implements LLConfiguration {
+    
+    /** Creates a new instance of XMLConfiguration */
+    public XMLConfiguration() {
+    }
+
+    public String[] getNames() {
+        return null;
+    }
+
+    public String getDefault(int id) {
+        return null;
+    }
+
+    public String getValue(int id) {
+        return null;
+    }
+
+    public String getDescription(int id, Locale l) {
+        return null;
+    }
+
+    public String getDescription(int id) {
+        return null;
+    }
+
+    public void setValue(int id, String val) {
+    }
+    
+}

Added: trunk/share/src/main/java/org/jlink/net/ll/xml/XMLConnector.java
===================================================================
--- trunk/share/src/main/java/org/jlink/net/ll/xml/XMLConnector.java	                        (rev 0)
+++ trunk/share/src/main/java/org/jlink/net/ll/xml/XMLConnector.java	2006-05-15 18:34:32 UTC (rev 8)
@@ -0,0 +1,66 @@
+/*
+ * XMLConnector.java
+ *
+ * Created on 15. Mai 2006, 15:21
+ *
+ * JLink: An Introversion Uplink Clone with multiplayer support.
+ * Copyright (C) 2006 Tassilo Schweyer
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ */
+
+package org.jlink.net.ll.xml;
+
+import org.jlink.net.ll.LLConfiguration;
+import org.jlink.net.ll.LLConfigurationException;
+import org.jlink.net.ll.LLConnectionException;
+import org.jlink.net.ll.LLConnector;
+import org.jlink.net.ll.LLEvent;
+
+/**
+ *
+ * @author tassilo
+ */
+public class XMLConnector implements LLConnector {
+    
+    /** Creates a new instance of XMLConnector */
+    public XMLConnector(LLConfiguration conf) throws LLConfigurationException {
+    }
+
+    public void send(LLEvent evt) throws LLConnectionException {
+    }
+
+    public void send(LLEvent[] evts) throws LLConnectionException {
+    }
+
+    public LLEvent recive() throws LLConnectionException {
+        return null;
+    }
+
+    public void recive(LLEvent[] evts) throws LLConnectionException {
+    }
+
+    public boolean isAlive() {
+        return true;
+    }
+
+    public void close() throws LLConnectionException {
+    }
+
+    public long ping() throws LLConnectionException {
+        return 0L;
+    }
+    
+}

Added: trunk/share/src/main/java/org/jlink/net/ll/xml/XMLFactory.java
===================================================================
--- trunk/share/src/main/java/org/jlink/net/ll/xml/XMLFactory.java	                        (rev 0)
+++ trunk/share/src/main/java/org/jlink/net/ll/xml/XMLFactory.java	2006-05-15 18:34:32 UTC (rev 8)
@@ -0,0 +1,56 @@
+/*
+ * XMLFactory.java
+ *
+ * Created on 15. Mai 2006, 15:29
+ *
+ * JLink: An Introversion Uplink Clone with multiplayer support.
+ * Copyright (C) 2006 Tassilo Schweyer
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ */
+
+package org.jlink.net.ll.xml;
+
+import org.jlink.net.ll.LLConfiguration;
+import org.jlink.net.ll.LLConfigurationException;
+import org.jlink.net.ll.LLConnectionException;
+import org.jlink.net.ll.LLConnector;
+import org.jlink.net.ll.LLFactory;
+
+/**
+ *
+ * @author tassilo
+ */
+public class XMLFactory implements LLFactory {
+    
+    /** Creates a new instance of XMLFactory */
+    public XMLFactory() {
+    }
+
+    public LLConfiguration getConfig() {
+        return new XMLConfiguration();
+    }
+
+    public void setConfig(LLConfiguration conf) throws LLConfigurationException {
+    }
+
+    public void resetConfig() {
+    }
+
+    public LLConnector create() throws LLConnectionException, LLConfigurationException {
+        return null;
+    }
+    
+}

Added: trunk/share/src/test/java/org/jlink/net/ll/LLEventTest.java
===================================================================
--- trunk/share/src/test/java/org/jlink/net/ll/LLEventTest.java	                        (rev 0)
+++ trunk/share/src/test/java/org/jlink/net/ll/LLEventTest.java	2006-05-15 18:34:32 UTC (rev 8)
@@ -0,0 +1,222 @@
+/*
+ * LLEventTest.java
+ * JUnit based test
+ *
+ * Created on 15. Mai 2006, 15:35
+ */
+
+package org.jlink.net.ll;
+
+import junit.framework.*;
+import java.util.Map;
+import java.util.HashMap;
+
+/**
+ *
+ * @author tassilo
+ */
+public class LLEventTest extends TestCase {
+    
+    public LLEventTest(String testName) {
+        super(testName);
+    }
+
+    protected void setUp() throws Exception {
+    }
+
+    protected void tearDown() throws Exception {
+    }
+
+    public static Test suite() {
+        TestSuite suite = new TestSuite(LLEventTest.class);
+        
+        return suite;
+    }
+
+    /**
+     * Test of getMsgClass method, of class org.jlink.net.ll.LLEvent.
+     */
+    public void testGetMsgClass() {
+        System.out.println("getMsgClass");
+        
+        LLEvent instance = new LLEvent();
+        
+        int expResult = 0;
+        int result = instance.getMsgClass();
+        assertEquals(expResult, result);
+        
+        // TODO review the generated test code and remove the default call to fail.
+        fail("The test case is a prototype.");
+    }
+
+    /**
+     * Test of setMsgClass method, of class org.jlink.net.ll.LLEvent.
+     */
+    public void testSetMsgClass() {
+        System.out.println("setMsgClass");
+        
+        int c = 0;
+        LLEvent instance = new LLEvent();
+        
+        instance.setMsgClass(c);
+        
+        // TODO review the generated test code and remove the default call to fail.
+        fail("The test case is a prototype.");
+    }
+
+    /**
+     * Test of getMsgID method, of class org.jlink.net.ll.LLEvent.
+     */
+    public void testGetMsgID() {
+        System.out.println("getMsgID");
+        
+        LLEvent instance = new LLEvent();
+        
+        long expResult = 0L;
+        long result = instance.getMsgID();
+        assertEquals(expResult, result);
+        
+        // TODO review the generated test code and remove the default call to fail.
+        fail("The test case is a prototype.");
+    }
+
+    /**
+     * Test of setMsgID method, of class org.jlink.net.ll.LLEvent.
+     */
+    public void testSetMsgID() {
+        System.out.println("setMsgID");
+        
+        long id = 0L;
+        LLEvent instance = new LLEvent();
+        
+        instance.setMsgID(id);
+        
+        // TODO review the generated test code and remove the default call to fail.
+        fail("The test case is a prototype.");
+    }
+
+    /**
+     * Test of getMsgReply method, of class org.jlink.net.ll.LLEvent.
+     */
+    public void testGetMsgReply() {
+        System.out.println("getMsgReply");
+        
+        LLEvent instance = new LLEvent();
+        
+        long expResult = 0L;
+        long result = instance.getMsgReply();
+        assertEquals(expResult, result);
+        
+        // TODO review the generated test code and remove the default call to fail.
+        fail("The test case is a prototype.");
+    }
+
+    /**
+     * Test of setMsgReply method, of class org.jlink.net.ll.LLEvent.
+     */
+    public void testSetMsgReply() {
+        System.out.println("setMsgReply");
+        
+        long reply = 0L;
+        LLEvent instance = new LLEvent();
+        
+        instance.setMsgReply(reply);
+        
+        // TODO review the generated test code and remove the default call to fail.
+        fail("The test case is a prototype.");
+    }
+
+    /**
+     * Test of getInt method, of class org.jlink.net.ll.LLEvent.
+     */
+    public void testGetInt() {
+        System.out.println("getInt");
+        
+        LLEvent instance = new LLEvent();
+        
+        int expResult = -1;
+        int result = instance.getInt();
+        assertEquals(expResult, result);
+        
+        instance.setInt(15);
+        result = instance.getInt();
+        expResult = 15;
+        assertEquals(expResult, result);
+    }
+
+    /**
+     * Test of setInt method, of class org.jlink.net.ll.LLEvent.
+     */
+    public void testSetInt() {
+        System.out.println("setInt");
+        
+        int val = 0;
+        LLEvent instance = new LLEvent();
+        
+        instance.setInt(val);
+        
+        // TODO review the generated test code and remove the default call to fail.
+        fail("The test case is a prototype.");
+    }
+
+    /**
+     * Test of getMap method, of class org.jlink.net.ll.LLEvent.
+     */
+    public void testGetMap() {
+        System.out.println("getMap");
+        
+        LLEvent instance = new LLEvent();
+        
+        Map expResult = null;
+        Map result = instance.getMap();
+        assertEquals(expResult, result);
+        
+        // TODO review the generated test code and remove the default call to fail.
+        fail("The test case is a prototype.");
+    }
+
+    /**
+     * Test of setMap method, of class org.jlink.net.ll.LLEvent.
+     */
+    public void testSetMap() {
+        System.out.println("setMap");
+        
+        Map m = null;
+        LLEvent instance = new LLEvent();
+        
+        instance.setMap(m);
+        
+        // TODO review the generated test code and remove the default call to fail.
+        fail("The test case is a prototype.");
+    }
+
+    /**
+     * Test of reset method, of class org.jlink.net.ll.LLEvent.
+     */
+    public void testReset() {
+        System.out.println("reset");
+        
+        LLEvent instance = new LLEvent();
+        instance.setMsgID(123L);
+        instance.setMsgClass(0);
+        instance.reset();
+        assertEquals(-1, instance.getMsgID());
+        assertEquals(-1, instance.getMsgClass());
+    }
+
+    /**
+     * Test of validate method, of class org.jlink.net.ll.LLEvent.
+     */
+    public void testValidate() {
+        System.out.println("validate");
+        
+        LLEvent instance = new LLEvent();
+        
+        assertEquals(false, instance.validate());
+        instance.setMsgID(123L);
+        assertEquals(false, instance.validate());
+        instance.setMsgClass(0);
+        assertEquals(true, instance.validate());
+    }
+    
+}


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.



[Java-link-svn] SF.net SVN: java-link: [7] trunk
From: <wel...@us...> - 2006-05-14 19:24:20
Revision: 7
Author:   welterde0
Date:     2006-05-14 12:23:51 -0700 (Sun, 14 May 2006)
ViewCVS:  http://svn.sourceforge.net/java-link/?rev=7&view=rev

Log Message:
-----------
buildsystem update from ant to maven2: step2
updated some ll net things

Modified Paths:
--------------
    trunk/client/pom.xml
    trunk/server/pom.xml
    trunk/share/nbproject/project.xml
    trunk/share/pom.xml
    trunk/share/src/main/java/org/jlink/net/ll/LLEvent.java
    trunk/templates/maven2/pom.xml

Added Paths:
-----------
    trunk/share/src/main/java/org/jlink/net/ll/LLConfiguration.java
    trunk/share/src/main/java/org/jlink/net/ll/LLConfigurationException.java
    trunk/share/src/main/java/org/jlink/net/ll/LLFactory.java
    trunk/share/src/main/java/org/jlink/net/ll/LLServerConfiguration.java
    trunk/share/src/main/java/org/jlink/net/ll/LLServerConfigurationException.java
    trunk/share/src/main/java/org/jlink/net/ll/LLServerFactory.java

Removed Paths:
-------------
    trunk/lib/
    trunk/share/src/main/java/org/jlink/net/ll/LLNetworkInterface.java
Modified: trunk/client/pom.xml
===================================================================
--- trunk/client/pom.xml	2006-05-13 20:41:47 UTC (rev 6)
+++ trunk/client/pom.xml	2006-05-14 19:23:51 UTC (rev 7)
@@ -37,6 +37,16 @@
 	    <version>1.0</version>
 	</dependency>
 	<dependency>
+	    <groupId>saxpath</groupId>
+	    <artifactId>saxpath</artifactId>
+	    <version>1.0-FCS</version>
+	</dependency>
+	<dependency>
+	    <groupId>jaxen</groupId>
+	    <artifactId>jaxen</artifactId>
+	    <version>1.0-FCS</version>
+	</dependency>
+	<dependency>
 	    <groupId>org.jvnet.swing-layout</groupId>
 	    <artifactId>core</artifactId>
 	    <version>1.0</version>
@@ -59,6 +69,22 @@
 		<groupId>org.apache.maven.plugins</groupId>
 		<artifactId>maven-pmd-plugin</artifactId>
 		<configuration>
+		    <rulesets>
+			<ruleset>/rulesets/basic.xml</ruleset>
+			<ruleset>/rulesets/codesize.xml</ruleset>
+			<ruleset>/rulesets/coupling.xml</ruleset>
+			<ruleset>/rulesets/design.xml</ruleset>-
+			<ruleset>/rulesets/finalizers.xml</ruleset>
+			<ruleset>/rulesets/imports.xml</ruleset>
+			<ruleset>/rulesets/javabeans.xml</ruleset>
+			<ruleset>/rulesets/logging-java.xml</ruleset>
+			<ruleset>/rulesets/naming.xml</ruleset>
+			<ruleset>/rulesets/optimizations.xml</ruleset>
+			<ruleset>/rulesets/strictexception.xml</ruleset>
+			<ruleset>/rulesets/strings.xml</ruleset>
+			<ruleset>/rulesets/sunsecure.xml</ruleset>
+			<ruleset>/rulesets/unusedcode.xml</ruleset>
+		    </rulesets>
 		    <linkXref>true</linkXref>
 		    <sourceEncoding>utf-8</sourceEncoding>
 		    <minimumTokens>100</minimumTokens>

Modified: trunk/server/pom.xml
===================================================================
--- trunk/server/pom.xml	2006-05-13 20:41:47 UTC (rev 6)
+++ trunk/server/pom.xml	2006-05-14 19:23:51 UTC (rev 7)
@@ -51,6 +51,23 @@
 		<groupId>org.apache.maven.plugins</groupId>
 		<artifactId>maven-pmd-plugin</artifactId>
 		<configuration>
+		    <rulesets>
+			<ruleset>/rulesets/basic.xml</ruleset>
+			<ruleset>/rulesets/braces.xml</ruleset>
+			<ruleset>/rulesets/codesize.xml</ruleset>
+			<ruleset>/rulesets/coupling.xml</ruleset>
+			<ruleset>/rulesets/design.xml</ruleset>
+			<ruleset>/rulesets/finalizers.xml</ruleset>
+			<ruleset>/rulesets/imports.xml</ruleset>
+			<ruleset>/rulesets/javabeans.xml</ruleset>
+			<ruleset>/rulesets/logging-java.xml</ruleset>
+			<ruleset>/rulesets/naming.xml</ruleset>
+			<ruleset>/rulesets/optimizations.xml</ruleset>
+			<ruleset>/rulesets/strictexception.xml</ruleset>
+			<ruleset>/rulesets/strings.xml</ruleset>
+			<ruleset>/rulesets/sunsecure.xml</ruleset>
+			<ruleset>/rulesets/unusedcode.xml</ruleset>
+		    </rulesets>
 		    <linkXref>true</linkXref>
 		    <sourceEncoding>utf-8</sourceEncoding>
 		    <minimumTokens>100</minimumTokens>

Modified: trunk/share/nbproject/project.xml
===================================================================
--- trunk/share/nbproject/project.xml	2006-05-13 20:41:47 UTC (rev 6)
+++ trunk/share/nbproject/project.xml	2006-05-14 19:23:51 UTC (rev 7)
@@ -1,121 +1,134 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <project xmlns="http://www.netbeans.org/ns/project/1">
-  <type>org.netbeans.modules.ant.freeform</type>
-  <configuration>
-    <general-data xmlns="http://www.netbeans.org/ns/freeform-project/1">
-      <name>JLink Share</name>
-      <properties>
-        <property name="ant.script">nbproject/mavencall.xml</property>
-        <property-file>nbproject/project.properties</property-file>
-      </properties>
-      <folders>
-        <source-folder>
-          <label>src/main/java</label>
-          <type>java</type>
-          <location>src/main/java</location>
-        </source-folder>
-        <source-folder>
-          <label>src/test/java</label>
-          <type>java</type>
-          <location>src/test/java</location>
-        </source-folder>
-      </folders>
-      <ide-actions>
-        <action name="build">
-          <script>${ant.script}</script>
-          <target>build</target>
-        </action>
-        <action name="clean">
-          <script>${ant.script}</script>
-          <target>clean</target>
-        </action>
-        <action name="rebuild">
-          <script>${ant.script}</script>
-          <target>clean</target>
-          <target>build</target>
-        </action>
-        <action name="javadoc">
-          <script>${ant.script}</script>
-          <target>javadoc</target>
-        </action>
-        <action name="run">
-          <script>${ant.script}</script>
-          <target>run</target>
-        </action>
-        <action name="test">
-          <script>${ant.script}</script>
-          <target>test</target>
-        </action>
-      </ide-actions>
-      <view>
-        <items>
-          <source-file>
-            <label>pom</label>
-            <location>pom.xml</location>
-          </source-file>
-          <source-file>
-            <label>mavencall</label>
-            <location>nbproject/mavencall.xml</location>
-          </source-file>
-          <source-folder style="packages">
-            <label>src/main/java</label>
-            <location>src/main/java</location>
-          </source-folder>
-          <source-folder style="packages">
-            <label>src/test/java</label>
-            <location>src/test/java</location>
-          </source-folder>
-          <source-folder style="tree">
-            <label>src/main/resources</label>
-            <location>src/main/resources</location>
-          </source-folder>
-          <source-folder style="tree">
-            <label>src/test/resources</label>
-            <location>src/test/resources</location>
-          </source-folder>
-          <source-folder style="tree">
-            <label>src/site</label>
-            <location>src/site</location>
-          </source-folder>
-          <source-folder style="tree">
-            <label>target</label>
-            <location>target</location>
-          </source-folder>
-        </items>
-        <context-menu>
-          <action>
-            <script>${ant.script}</script>
-            <label>Refresh Project</label>
-            <target>refresh-project</target>
-          </action>
-          <ide-action name="build"/>
-          <ide-action name="clean"/>
-          <ide-action name="rebuild"/>
-          <ide-action name="javadoc"/>
-          <ide-action name="run"/>
-          <ide-action name="test"/>
-          <action>
-            <script>${ant.script}</script>
-            <label>Format Code</label>
-            <target>jalopy</target>
-          </action>
-        </context-menu>
-      </view>
-      <subprojects/>
-    </general-data>
-    <java-data xmlns="http://www.netbeans.org/ns/freeform-project-java/2">
-      <compilation-unit>
-        <package-root>src/main/java</package-root>
-        <classpath mode="compile">${local.repository}/log4j/log4j/1.2.13/log4j-1.2.13.jar</classpath>
-        <built-to>target/classes</built-to>
-        <source-level>1.4</source-level>
-      </compilation-unit>
-      <compilation-unit>
-        <package-root>src/test/java</package-root>
-        <unit-tests/>
-        <classpath mode="compile">target/classes:${local.repository}/junit/junit/3.8.1/junit-3.8.1.jar:${local.repository}/log4j/log4j/1.2.13/log4j-1.2.13.jar</classpath>
-        <built-to>target/test-classes</built-to>
-        <source-level>1.4</source-level>
-      </compilation-unit>
-    </java-data>
-  </configuration>
-</project>
\ No newline at end of file
+    <type>org.netbeans.modules.ant.freeform</type>
+    <configuration>
+        <general-data xmlns="http://www.netbeans.org/ns/freeform-project/1">
+            <name>JLink Share</name>
+            <properties>
+                <property name="ant.script">nbproject/mavencall.xml</property>
+                <property-file>nbproject/project.properties</property-file>
+            </properties>
+            <folders>
+                <source-folder>
+                    <label>src/main/java</label>
+                    <type>java</type>
+                    <location>src/main/java</location>
+                </source-folder>
+                <source-folder>
+                    <label>src/test/java</label>
+                    <type>java</type>
+                    <location>src/test/java</location>
+                </source-folder>
+            </folders>
+            <ide-actions>
+                <action name="build">
+                    <script>${ant.script}</script>
+                    <target>build</target>
+                </action>
+                <action name="clean">
+                    <script>${ant.script}</script>
+                    <target>clean</target>
+                </action>
+                <action name="rebuild">
+                    <script>${ant.script}</script>
+                    <target>clean</target>
+                    <target>build</target>
+                </action>
+                <action name="javadoc">
+                    <script>${ant.script}</script>
+                    <target>javadoc</target>
+                </action>
+                <action name="run">
+                    <script>${ant.script}</script>
+                    <target>run</target>
+                </action>
+                <action name="test">
+                    <script>${ant.script}</script>
+                    <target>test</target>
+                </action>
+            </ide-actions>
+            <export>
+                <type>folder</type>
+                <location>target/classes</location>
+                <script>${ant.script}</script>
+                <build-target>build</build-target>
+            </export>
+            <export>
+                <type>folder</type>
+                <location>target/test-classes</location>
+                <script>${ant.script}</script>
+                <build-target>build</build-target>
+            </export>
+            <view>
+                <items>
+                    <source-folder style="packages">
+                        <label>src/main/java</label>
+                        <location>src/main/java</location>
+                    </source-folder>
+                    <source-folder style="packages">
+                        <label>src/test/java</label>
+                        <location>src/test/java</location>
+                    </source-folder>
+                    <source-file>
+                        <label>pom</label>
+                        <location>pom.xml</location>
+                    </source-file>
+                    <source-file>
+                        <label>mavencall</label>
+                        <location>nbproject/mavencall.xml</location>
+                    </source-file>
+                    <source-folder style="tree">
+                        <label>src/main/resources</label>
+                        <location>src/main/resources</location>
+                    </source-folder>
+                    <source-folder style="tree">
+                        <label>src/test/resources</label>
+                        <location>src/test/resources</location>
+                    </source-folder>
+                    <source-folder style="tree">
+                        <label>src/site</label>
+                        <location>src/site</location>
+                    </source-folder>
+                    <source-folder style="tree">
+                        <label>target</label>
+                        <location>target</location>
+                    </source-folder>
+                </items>
+                <context-menu>
+                    <action>
+                        <script>${ant.script}</script>
+                        <label>Refresh Project</label>
+                        <target>refresh-project</target>
+                    </action>
+                    <ide-action name="build"/>
+                    <ide-action name="clean"/>
+                    <ide-action name="rebuild"/>
+                    <ide-action name="javadoc"/>
+                    <ide-action name="run"/>
+                    <ide-action name="test"/>
+                    <action>
+                        <script>${ant.script}</script>
+                        <label>Format Code</label>
+                        <target>jalopy</target>
+                    </action>
+                </context-menu>
+            </view>
+            <subprojects/>
+        </general-data>
+        <java-data xmlns="http://www.netbeans.org/ns/freeform-project-java/2">
+            <compilation-unit>
+                <package-root>src/main/java</package-root>
+                <classpath mode="compile">${local.repository}/log4j/log4j/1.2.13/log4j-1.2.13.jar</classpath>
+                <built-to>target/classes</built-to>
+                <source-level>1.5</source-level>
+            </compilation-unit>
+            <compilation-unit>
+                <package-root>src/test/java</package-root>
+                <unit-tests/>
+                <classpath mode="compile">target/classes:${local.repository}/junit/junit/3.8.1/junit-3.8.1.jar:${local.repository}/log4j/log4j/1.2.13/log4j-1.2.13.jar</classpath>
+                <built-to>target/test-classes</built-to>
+                <source-level>1.5</source-level>
+            </compilation-unit>
+        </java-data>
+    </configuration>
+</project>

Modified: trunk/share/pom.xml
===================================================================
--- trunk/share/pom.xml	2006-05-13 20:41:47 UTC (rev 6)
+++ trunk/share/pom.xml	2006-05-14 19:23:51 UTC (rev 7)
@@ -45,6 +45,23 @@
 		<groupId>org.apache.maven.plugins</groupId>
 		<artifactId>maven-pmd-plugin</artifactId>
 		<configuration>
+		    <rulesets>
+			<ruleset>/rulesets/basic.xml</ruleset>
+			<ruleset>/rulesets/braces.xml</ruleset>
+			<ruleset>/rulesets/codesize.xml</ruleset>
+			<ruleset>/rulesets/coupling.xml</ruleset>
+			<ruleset>/rulesets/design.xml</ruleset>
+			<ruleset>/rulesets/finalizers.xml</ruleset>
+			<ruleset>/rulesets/imports.xml</ruleset>
+			<ruleset>/rulesets/javabeans.xml</ruleset>
+			<ruleset>/rulesets/logging-java.xml</ruleset>
+			<ruleset>/rulesets/naming.xml</ruleset>
+			<ruleset>/rulesets/optimizations.xml</ruleset>
+			<ruleset>/rulesets/strictexception.xml</ruleset>
+			<ruleset>/rulesets/strings.xml</ruleset>
+			<ruleset>/rulesets/sunsecure.xml</ruleset>
+			<ruleset>/rulesets/unusedcode.xml</ruleset>
+		    </rulesets>
 		    <linkXref>true</linkXref>
 		    <sourceEncoding>utf-8</sourceEncoding>
 		    <minimumTokens>100</minimumTokens>

Added: trunk/share/src/main/java/org/jlink/net/ll/LLConfiguration.java
===================================================================
--- trunk/share/src/main/java/org/jlink/net/ll/LLConfiguration.java	                        (rev 0)
+++ trunk/share/src/main/java/org/jlink/net/ll/LLConfiguration.java	2006-05-14 19:23:51 UTC (rev 7)
@@ -0,0 +1,40 @@
+/*
+ * LLConfiguration.java
+ *
+ * Created on 14. Mai 2006, 15:52
+ *
+ * JLink: An Introversion Uplink Clone with multiplayer support.
+ * Copyright (C) 2006 Tassilo Schweyer
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ */
+
+package org.jlink.net.ll;
+
+import java.util.Locale;
+
+/**
+ *
+ * @author tassilo
+ */
+public interface LLConfiguration {
+    public String[] getNames();
+    public String getDefault(int id);
+    public String getValue(int id);
+    public String getDescription(int id, Locale l);
+    public String getDescription(int id);
+    
+    public void setValue(int id, String val);
+}

Added: trunk/share/src/main/java/org/jlink/net/ll/LLConfigurationException.java
===================================================================
--- trunk/share/src/main/java/org/jlink/net/ll/LLConfigurationException.java	                        (rev 0)
+++ trunk/share/src/main/java/org/jlink/net/ll/LLConfigurationException.java	2006-05-14 19:23:51 UTC (rev 7)
@@ -0,0 +1,46 @@
+/*
+ * LLConfigurationException.java
+ *
+ * Created on 14. Mai 2006, 16:04
+ *
+ * JLink: An Introversion Uplink Clone with multiplayer support.
+ * Copyright (C) 2006 Tassilo Schweyer
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ */
+
+package org.jlink.net.ll;
+
+/**
+ *
+ * @author tassilo
+ */
+public class LLConfigurationException extends java.lang.Exception {
+    
+    /**
+     * Creates a new instance of <code>LLConfigurationException</code> without detail message.
+     */
+    public LLConfigurationException() {
+    }
+    
+    
+    /**
+     * Constructs an instance of <code>LLConfigurationException</code> with the specified detail message.
+     * @param msg the detail message.
+     */
+    public LLConfigurationException(String msg) {
+        super(msg);
+    }
+}

Modified: trunk/share/src/main/java/org/jlink/net/ll/LLEvent.java
===================================================================
--- trunk/share/src/main/java/org/jlink/net/ll/LLEvent.java	2006-05-13 20:41:47 UTC (rev 6)
+++ trunk/share/src/main/java/org/jlink/net/ll/LLEvent.java	2006-05-14 19:23:51 UTC (rev 7)
@@ -23,17 +23,83 @@
 
 package org.jlink.net.ll;
 
+import java.util.Map;
+import java.util.HashMap;
+
 /**
  *
  * @author tassilo
  */
 public class LLEvent {
     
+    
+    
     /** Creates a new instance of LLEvent */
     public LLEvent() {
+        super();
+        reset();
     }
     
+    //infos
+    public int getMsgClass() {
+        return this.msg_class;
+    }
+    public void setMsgClass(int c) {
+        this.msg_class = c;
+    }
+    public long getMsgID() {
+        return this.msg_id;
+    }
+    public void setMsgID(long id) {
+        this.msg_id = id;
+    }
+    public long getMsgReply() {
+        return this.msg_reply;
+    }
+    public void setMsgReply(long reply) {
+        this.msg_reply = reply;
+    }
     
+    //Payload
+    public int getInt() {
+        return this.pay_int;
+    }
+    public void setInt(int val) {
+        this.pay_int = val;
+    }
+    public Map getMap() {
+        if(this.pay_map == null)
+            this.pay_map = new HashMap<String, Object>();
+        return this.pay_map;
+    }
+    public void setMap(Map m) {
+        this.pay_map = m;
+    }
     
-    private byte msg_class = 0;
+    //System
+    public void reset() {
+        this.msg_class = -1;
+        this.msg_id = -1;
+        this.msg_reply = -1;
+        if(this.pay_map != null) {
+            this.pay_map.clear();
+        }
+        this.pay_int = -1;
+    }
+    public boolean validate() {
+        if(msg_class == -1)
+            return false;
+        if(msg_id == -1)
+            return false;
+        return true;
+    }
+    
+    //infos
+    private int  msg_class = -1;
+    private long msg_id    = -1;
+    private long msg_reply = -1;
+    
+    //Payload
+    private Map<String, Object> pay_map = null;
+    private int pay_int = -1;
 }

Added: trunk/share/src/main/java/org/jlink/net/ll/LLFactory.java
===================================================================
--- trunk/share/src/main/java/org/jlink/net/ll/LLFactory.java	                        (rev 0)
+++ trunk/share/src/main/java/org/jlink/net/ll/LLFactory.java	2006-05-14 19:23:51 UTC (rev 7)
@@ -0,0 +1,36 @@
+/*
+ * LLFactory.java
+ *
+ * Created on 14. Mai 2006, 15:50
+ *
+ * JLink: An Introversion Uplink Clone with multiplayer support.
+ * Copyright (C) 2006 Tassilo Schweyer
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ */
+
+package org.jlink.net.ll;
+
+/**
+ *
+ * @author tassilo
+ */
+public interface LLFactory {
+    public LLConfiguration getConfig();
+    public void setConfig(LLConfiguration conf) throws LLConfigurationException;
+    public void resetConfig();
+    
+    public LLConnector create() throws LLConnectionException, LLConfigurationException;
+}

Deleted: trunk/share/src/main/java/org/jlink/net/ll/LLNetworkInterface.java
===================================================================
--- trunk/share/src/main/java/org/jlink/net/ll/LLNetworkInterface.java	2006-05-13 20:41:47 UTC (rev 6)
+++ trunk/share/src/main/java/org/jlink/net/ll/LLNetworkInterface.java	2006-05-14 19:23:51 UTC (rev 7)
@@ -1,32 +0,0 @@
-/*
- * LLNetworkInterface.java
- *
- * Created on 21. März 2006, 21:55
- *
- * JLink: An Introversion Uplink Clone with multiplayer support.
- * Copyright (C) 2006 Tassilo Schweyer
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
- */
-
-package org.jlink.net.ll;
-
-/**
- *
- * @author tassilo
- */
-public interface LLNetworkInterface {
-    
-}

Added: trunk/share/src/main/java/org/jlink/net/ll/LLServerConfiguration.java
===================================================================
--- trunk/share/src/main/java/org/jlink/net/ll/LLServerConfiguration.java	                        (rev 0)
+++ trunk/share/src/main/java/org/jlink/net/ll/LLServerConfiguration.java	2006-05-14 19:23:51 UTC (rev 7)
@@ -0,0 +1,33 @@
+/*
+ * LLServerConfiguration.java
+ *
+ * Created on 14. Mai 2006, 16:09
+ *
+ * JLink: An Introversion Uplink Clone with multiplayer support.
+ * Copyright (C) 2006 Tassilo Schweyer
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ */
+
+package org.jlink.net.ll;
+
+/**
+ *
+ * @author tassilo
+ */
+public interface LLServerConfiguration {
+    public String get(String key);
+    public void set(String key, String val);
+}

Added: trunk/share/src/main/java/org/jlink/net/ll/LLServerConfigurationException.java
===================================================================
--- trunk/share/src/main/java/org/jlink/net/ll/LLServerConfigurationException.java	                        (rev 0)
+++ trunk/share/src/main/java/org/jlink/net/ll/LLServerConfigurationException.java	2006-05-14 19:23:51 UTC (rev 7)
@@ -0,0 +1,46 @@
+/*
+ * LLServerConfigurationException.java
+ *
+ * Created on 14. Mai 2006, 16:07
+ *
+ * JLink: An Introversion Uplink Clone with multiplayer support.
+ * Copyright (C) 2006 Tassilo Schweyer
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ */
+
+package org.jlink.net.ll;
+
+/**
+ *
+ * @author tassilo
+ */
+public class LLServerConfigurationException extends java.lang.Exception {
+    
+    /**
+     * Creates a new instance of <code>LLServerConfigurationException</code> without detail message.
+     */
+    public LLServerConfigurationException() {
+    }
+    
+    
+    /**
+     * Constructs an instance of <code>LLServerConfigurationException</code> with the specified detail message.
+     * @param msg the detail message.
+     */
+    public LLServerConfigurationException(String msg) {
+        super(msg);
+    }
+}

Added: trunk/share/src/main/java/org/jlink/net/ll/LLServerFactory.java
===================================================================
--- trunk/share/src/main/java/org/jlink/net/ll/LLServerFactory.java	                        (rev 0)
+++ trunk/share/src/main/java/org/jlink/net/ll/LLServerFactory.java	2006-05-14 19:23:51 UTC (rev 7)
@@ -0,0 +1,32 @@
+/*
+ * LLServerFactory.java
+ *
+ * Created on 14. Mai 2006, 16:02
+ *
+ * JLink: An Introversion Uplink Clone with multiplayer support.
+ * Copyright (C) 2006 Tassilo Schweyer
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ */
+
+package org.jlink.net.ll;
+
+/**
+ *
+ * @author tassilo
+ */
+public interface LLServerFactory {
+    public LLServerConnector create(LLServerConfiguration conf) throws LLConnectionException, LLServerConfigurationException;
+}

Modified: trunk/templates/maven2/pom.xml
===================================================================
--- trunk/templates/maven2/pom.xml	2006-05-13 20:41:47 UTC (rev 6)
+++ trunk/templates/maven2/pom.xml	2006-05-14 19:23:51 UTC (rev 7)
@@ -35,16 +35,29 @@
 		<groupId>org.apache.maven.plugins</groupId>
 		<artifactId>maven-javadoc-plugin</artifactId>
 	    </plugin>
-	    <plugin>
-		<groupId>org.apache.maven.plugins</groupId>
-		<artifactId>maven-pmd-plugin</artifactId>
-		<configuration>
+	    <configuration>
+		    <rulesets>
+			<ruleset>/rulesets/basic.xml</ruleset>
+			<ruleset>/rulesets/braces.xml</ruleset>
+			<ruleset>/rulesets/codesize.xml</ruleset>
+			<ruleset>/rulesets/coupling.xml</ruleset>
+			<ruleset>/rulesets/design.xml</ruleset>
+			<ruleset>/rulesets/finalizers.xml</ruleset>
+			<ruleset>/rulesets/imports.xml</ruleset>
+			<ruleset>/rulesets/javabeans.xml</ruleset>
+			<ruleset>/rulesets/logging-java.xml</ruleset>
+			<ruleset>/rulesets/naming.xml</ruleset>
+			<ruleset>/rulesets/optimizations.xml</ruleset>
+			<ruleset>/rulesets/strictexception.xml</ruleset>
+			<ruleset>/rulesets/strings.xml</ruleset>
+			<ruleset>/rulesets/sunsecure.xml</ruleset>
+			<ruleset>/rulesets/unusedcode.xml</ruleset>
+		    </rulesets>
 		    <linkXref>true</linkXref>
 		    <sourceEncoding>utf-8</sourceEncoding>
 		    <minimumTokens>100</minimumTokens>
                     <targetJdk>1.5</targetJdk>
 		</configuration>
-	    </plugin>
 	    <plugin>
 		<groupId>org.apache.maven.plugins</groupId>
 		<artifactId>maven-surefire-report-plugin</artifactId>


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.



[Java-link-svn] SF.net SVN: java-link: [6] trunk
From: <wel...@us...> - 2006-05-13 20:42:24
Revision: 6
Author:   welterde0
Date:     2006-05-13 13:41:47 -0700 (Sat, 13 May 2006)
ViewCVS:  http://svn.sourceforge.net/java-link/?rev=6&view=rev

Log Message:
-----------
buildsystem update from ant to maven2: step1

Modified Paths:
--------------
    trunk/client/src/main/java/org/jlink/ClientFrontend.java
    trunk/client/src/main/java/org/jlink/ClientNetwork.java
    trunk/client/src/main/java/org/jlink/client/frontend/MainFrame.java
    trunk/client/src/main/java/org/jlink/client/frontend/menu/MainMenu.java
    trunk/client/src/main/java/org/jlink/client/frontend/theme/Theme.java
    trunk/client/src/main/java/org/jlink/client/frontend/theme/ThemeManager.java
    trunk/client/src/main/java/org/jlink/client/gui/MenuBean.java
    trunk/client/src/main/java/org/jlink/frontend/WindowManagerImpl.java
    trunk/server/src/main/java/org/jlink/ServerMain.java
    trunk/server/src/main/java/org/jlink/ServerNetwork.java
    trunk/server/src/main/java/org/jlink/server/net/NetworkBackend.java
    trunk/share/src/main/java/org/jlink/net/ConnectionHandler.java

Added Paths:
-----------
    trunk/client/
    trunk/client/nbproject/
    trunk/client/nbproject/mavencall.xml
    trunk/client/nbproject/project.properties
    trunk/client/nbproject/project.xml
    trunk/client/pom.xml
    trunk/client/src/
    trunk/client/src/main/
    trunk/client/src/main/assembly/
    trunk/client/src/main/assembly/dep.xml
    trunk/client/src/main/java/
    trunk/client/src/site/
    trunk/client/src/site/site.xml
    trunk/client/src/test/
    trunk/root/
    trunk/root/pom.xml
    trunk/server/
    trunk/server/pom.xml
    trunk/server/src/
    trunk/server/src/main/
    trunk/server/src/main/java/
    trunk/server/src/test/
    trunk/share/
    trunk/share/nbproject/
    trunk/share/nbproject/mavencall.xml
    trunk/share/nbproject/project.properties
    trunk/share/nbproject/project.xml
    trunk/share/pom.xml
    trunk/share/src/
    trunk/share/src/main/
    trunk/share/src/main/assembly/
    trunk/share/src/main/assembly/dep.xml
    trunk/share/src/main/java/
    trunk/share/src/test/
    trunk/templates/maven2/
    trunk/templates/maven2/pom.xml

Removed Paths:
-------------
    trunk/Client/
    trunk/Server/
    trunk/Share/
Added: trunk/client/nbproject/mavencall.xml
===================================================================
--- trunk/client/nbproject/mavencall.xml	                        (rev 0)
+++ trunk/client/nbproject/mavencall.xml	2006-05-13 20:41:47 UTC (rev 6)
@@ -0,0 +1,37 @@
+<project name="client" default="build" basedir="..">
+  <target name="build" description="Build">
+    <exec dir="${basedir}" executable="${mvn.path}">
+      <arg line="package"/>
+    </exec>
+  </target>
+  <target name="clean" description="Clean">
+    <exec dir="${basedir}" executable="${mvn.path}">
+      <arg line="clean:clean"/>
+    </exec>
+  </target>
+  <target name="javadoc" description="Javadoc">
+    <exec dir="${basedir}" executable="${mvn.path}">
+      <arg line="site:site"/>
+    </exec>
+  </target>
+  <target name="run" description="Install Locally">
+    <exec dir="${basedir}" executable="${mvn.path}">
+      <arg line="install"/>
+    </exec>
+  </target>
+  <target name="test" description="Test Project">
+    <exec dir="${basedir}" executable="${mvn.path}">
+      <arg line="test"/>
+    </exec>
+  </target>
+  <target name="jalopy" description="Format Code">
+    <exec dir="${basedir}" executable="${mvn.path}">
+      <arg line="jalopy:format"/>
+    </exec>
+  </target>
+  <target name="refresh-project" description="Refresh Project">
+    <exec dir="${basedir}" executable="${mvn.path}">
+      <arg line="netbeans-freeform:generate-netbeans-project"/>
+    </exec>
+  </target>
+</project>
\ No newline at end of file

Added: trunk/client/nbproject/project.properties
===================================================================
--- trunk/client/nbproject/project.properties	                        (rev 0)
+++ trunk/client/nbproject/project.properties	2006-05-13 20:41:47 UTC (rev 6)
@@ -0,0 +1,5 @@
+#The netbeans freeform property file
+#Sat May 13 22:20:34 CEST 2006
+local.repository=/home/tassilo/.m2/repository
+mvn.path=mvn
+project.directory=/home/tassilo/Documents/dev/jlink/feature_maven2/client

Added: trunk/client/nbproject/project.xml
===================================================================
--- trunk/client/nbproject/project.xml	                        (rev 0)
+++ trunk/client/nbproject/project.xml	2006-05-13 20:41:47 UTC (rev 6)
@@ -0,0 +1,121 @@
+<project xmlns="http://www.netbeans.org/ns/project/1">
+  <type>org.netbeans.modules.ant.freeform</type>
+  <configuration>
+    <general-data xmlns="http://www.netbeans.org/ns/freeform-project/1">
+      <name>JLink Client</name>
+      <properties>
+        <property name="ant.script">nbproject/mavencall.xml</property>
+        <property-file>nbproject/project.properties</property-file>
+      </properties>
+      <folders>
+        <source-folder>
+          <label>src/main/java</label>
+          <type>java</type>
+          <location>src/main/java</location>
+        </source-folder>
+        <source-folder>
+          <label>src/test/java</label>
+          <type>java</type>
+          <location>src/test/java</location>
+        </source-folder>
+      </folders>
+      <ide-actions>
+        <action name="build">
+          <script>${ant.script}</script>
+          <target>build</target>
+        </action>
+        <action name="clean">
+          <script>${ant.script}</script>
+          <target>clean</target>
+        </action>
+        <action name="rebuild">
+          <script>${ant.script}</script>
+          <target>clean</target>
+          <target>build</target>
+        </action>
+        <action name="javadoc">
+          <script>${ant.script}</script>
+          <target>javadoc</target>
+        </action>
+        <action name="run">
+          <script>${ant.script}</script>
+          <target>run</target>
+        </action>
+        <action name="test">
+          <script>${ant.script}</script>
+          <target>test</target>
+        </action>
+      </ide-actions>
+      <view>
+        <items>
+          <source-file>
+            <label>pom</label>
+            <location>pom.xml</location>
+          </source-file>
+          <source-file>
+            <label>mavencall</label>
+            <location>nbproject/mavencall.xml</location>
+          </source-file>
+          <source-folder style="packages">
+            <label>src/main/java</label>
+            <location>src/main/java</location>
+          </source-folder>
+          <source-folder style="packages">
+            <label>src/test/java</label>
+            <location>src/test/java</location>
+          </source-folder>
+          <source-folder style="tree">
+            <label>src/main/resources</label>
+            <location>src/main/resources</location>
+          </source-folder>
+          <source-folder style="tree">
+            <label>src/test/resources</label>
+            <location>src/test/resources</location>
+          </source-folder>
+          <source-folder style="tree">
+            <label>src/site</label>
+            <location>src/site</location>
+          </source-folder>
+          <source-folder style="tree">
+            <label>target</label>
+            <location>target</location>
+          </source-folder>
+        </items>
+        <context-menu>
+          <action>
+            <script>${ant.script}</script>
+            <label>Refresh Project</label>
+            <target>refresh-project</target>
+          </action>
+          <ide-action name="build"/>
+          <ide-action name="clean"/>
+          <ide-action name="rebuild"/>
+          <ide-action name="javadoc"/>
+          <ide-action name="run"/>
+          <ide-action name="test"/>
+          <action>
+            <script>${ant.script}</script>
+            <label>Format Code</label>
+            <target>jalopy</target>
+          </action>
+        </context-menu>
+      </view>
+      <subprojects/>
+    </general-data>
+    <java-data xmlns="http://www.netbeans.org/ns/freeform-project-java/2">
+      <compilation-unit>
+        <package-root>src/main/java</package-root>
+        <classpath mode="compile">${local.repository}/org/jvnet/substance/core/2.2.02/core-2.2.02.jar:${local.repository}/jdom/jdom/1.0/jdom-1.0.jar:${local.repository}/org/jlink/share/0.0.1-SNAPSHOT/share-0.0.1-SNAPSHOT.jar:${local.repository}/org/jvnet/swing-layout/core/1.0/core-1.0.jar:${local.repository}/log4j/log4j/1.2.13/log4j-1.2.13.jar</classpath>
+        <built-to>target/classes</built-to>
+        <source-level>1.4</source-level>
+      </compilation-unit>
+      <compilation-unit>
+        <package-root>src/test/java</package-root>
+        <unit-tests/>
+        <classpath mode="compile">target/classes:${local.repository}/org/jvnet/substance/core/2.2.02/core-2.2.02.jar:${local.repository}/junit/junit/3.8.1/junit-3.8.1.jar:${local.repository}/jdom/jdom/1.0/jdom-1.0.jar:${local.repository}/org/jlink/share/0.0.1-SNAPSHOT/share-0.0.1-SNAPSHOT.jar:${local.repository}/org/jvnet/swing-layout/core/1.0/core-1.0.jar:${local.repository}/log4j/log4j/1.2.13/log4j-1.2.13.jar</classpath>
+        <built-to>target/test-classes</built-to>
+        <source-level>1.4</source-level>
+      </compilation-unit>
+    </java-data>
+  </configuration>
+</project>
\ No newline at end of file

Added: trunk/client/pom.xml
===================================================================
--- trunk/client/pom.xml	                        (rev 0)
+++ trunk/client/pom.xml	2006-05-13 20:41:47 UTC (rev 6)
@@ -0,0 +1,125 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+<!--////////////////////////////////////////
+    /////////////General////////////////////
+    /////////////////////////////////////-->
+    <parent>
+	<artifactId>yamd-root</artifactId>
+        <groupId>org.welterde.yamd</groupId>
+	<version>0.0.1-SNAPSHOT</version>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+    <groupId>org.jlink</groupId>
+    <artifactId>client</artifactId>
+    <packaging>jar</packaging>
+    <version>0.0.1-SNAPSHOT</version>
+    <name>JLink Client</name>
+    <url>http://java-link.sf.net/</url>
+    <dependencies>
+	<dependency>
+	    <groupId>junit</groupId>
+	    <artifactId>junit</artifactId>
+	    <version>3.8.1</version>
+	    <scope>test</scope>
+	</dependency>
+	<dependency>
+	    <groupId>org.jlink</groupId>
+	    <artifactId>share</artifactId>
+	    <version>0.0.1-SNAPSHOT</version>
+	</dependency>
+	<dependency>
+	    <groupId>org.jvnet.substance</groupId>
+	    <artifactId>core</artifactId>
+	    <version>2.2.02</version>
+	</dependency>
+	<dependency>
+	    <groupId>jdom</groupId>
+	    <artifactId>jdom</artifactId>
+	    <version>1.0</version>
+	</dependency>
+	<dependency>
+	    <groupId>org.jvnet.swing-layout</groupId>
+	    <artifactId>core</artifactId>
+	    <version>1.0</version>
+	</dependency>
+    </dependencies>
+<!--////////////////////////////////////////
+    /////////////Reporting//////////////////
+    /////////////////////////////////////-->
+    <reporting>
+	<plugins>
+	    <plugin>
+		<groupId>org.codehaus.mojo</groupId>
+		<artifactId>jxr-maven-plugin</artifactId>
+	    </plugin>
+	    <plugin>
+		<groupId>org.apache.maven.plugins</groupId>
+		<artifactId>maven-javadoc-plugin</artifactId>
+	    </plugin>
+	    <plugin>
+		<groupId>org.apache.maven.plugins</groupId>
+		<artifactId>maven-pmd-plugin</artifactId>
+		<configuration>
+		    <linkXref>true</linkXref>
+		    <sourceEncoding>utf-8</sourceEncoding>
+		    <minimumTokens>100</minimumTokens>
+                    <targetJdk>1.5</targetJdk>
+		</configuration>
+	    </plugin>
+	    <plugin>
+		<groupId>org.apache.maven.plugins</groupId>
+		<artifactId>maven-surefire-report-plugin</artifactId>
+	    </plugin>
+	</plugins>
+    </reporting>
+<!--////////////////////////////////////////
+    /////////////Building///////////////////
+    /////////////////////////////////////-->
+    <build>
+	<plugins>
+	    <plugin>
+    		<groupId>org.apache.maven.plugins</groupId>
+    		<artifactId>maven-compiler-plugin</artifactId>
+		<configuration>
+    		    <source>1.5</source>
+    		    <target>1.5</target>
+    		</configuration>
+	    </plugin>
+            <plugin>
+		<artifactId>maven-assembly-plugin</artifactId>
+		<configuration>
+		    <descriptor>src/main/assembly/dep.xml</descriptor>
+		</configuration>
+	    </plugin>
+	</plugins>
+    </build>
+<!--////////////////////////////////////////
+    /////////////Deploying//////////////////
+    /////////////////////////////////////-->
+    <distributionManagement>
+	<site>
+    	    <id>jlink-sf</id>
+	    <url>scp://shell.sf.net/home/groups/j/ja/java-link/htdocs/maven2/client</url>
+        </site>
+    </distributionManagement>
+<!--////////////////////////////////////////
+    /////////////Include from root//////////
+    /////////////////////////////////////-->
+    <ciManagement>
+	<system>cruisecontrol</system>
+	<url>http://welterde.i2p/cruisecontrol/</url>
+    </ciManagement>
+    <issueManagement>
+	<system>sourceforge</system>
+	<url>http://sourceforge.net/tracker/?group_id=162264</url>
+    </issueManagement>
+    <developers>
+	<developer>
+	    <id>welterde</id>
+	    <email>wel...@ar...</email>
+	</developer>
+    </developers>
+    <scm>
+	<connection>scm:svn:https://svn.sourceforge.net/svnroot/javalink</connection>
+	<url>http://svn.sourceforge.net/viewcvs.cgi/java-link/</url>
+    </scm>
+</project>

Added: trunk/client/src/main/assembly/dep.xml
===================================================================
--- trunk/client/src/main/assembly/dep.xml	                        (rev 0)
+++ trunk/client/src/main/assembly/dep.xml	2006-05-13 20:41:47 UTC (rev 6)
@@ -0,0 +1,20 @@
+<assembly>
+  <id>deps</id>
+  <formats>
+    <format>jar</format>
+  </formats>
+  <includeBaseDirectory>false</includeBaseDirectory>
+  <fileSets>
+    <fileSet>
+      <directory>target/classes</directory>
+      <outputDirectory>/</outputDirectory>
+    </fileSet>
+  </fileSets>
+  <dependencySets>
+    <dependencySet>
+      <outputDirectory>/</outputDirectory>
+      <unpack>true</unpack>
+      <scope>runtime</scope>
+    </dependencySet>
+  </dependencySets>
+</assembly>

Copied: trunk/client/src/main/java (from rev 5, trunk/Client/src)

Modified: trunk/client/src/main/java/org/jlink/ClientFrontend.java
===================================================================
--- trunk/Client/src/org/jlink/ClientFrontend.java	2006-05-12 18:06:26 UTC (rev 5)
+++ trunk/client/src/main/java/org/jlink/ClientFrontend.java	2006-05-13 20:41:47 UTC (rev 6)
@@ -80,12 +80,12 @@
             c.destroy();
             return null;
         }
-        ret.log.debug("is ok, d={}", d);
+        ret.log.debug("is ok, d=" + d);
         if(Options.FRONTEND_VIDEO_FULLSCREEN) {
             ret.log.debug("calculating screen mp");
             ret.mx = d.getWidth() / 1024;
             ret.my = d.getHeight() / 768;
-            ret.log.debug("done, mx={}, my={}", ret.mx, ret.my);
+            ret.log.debug("done, mx=" + ret.mx + ", my=" + ret.my);
             ret.root = new MainFrame("JLink", d, ret.mx, ret.my);
         } else {
             ret.root = new MainFrame("JLink", new Dimension(1024, 768), ret.mx, ret.my);
@@ -186,7 +186,7 @@
     }
 
     public void setServerHost(String nhost) {
-        log.debug("Frontend::setServerHost({}) delegated", nhost);
+        log.debug("Frontend::setServerHost(" + nhost  + ") delegated");
         this.modCore.setServerHost(nhost);
     }
 

Modified: trunk/client/src/main/java/org/jlink/ClientNetwork.java
===================================================================
--- trunk/Client/src/org/jlink/ClientNetwork.java	2006-05-12 18:06:26 UTC (rev 5)
+++ trunk/client/src/main/java/org/jlink/ClientNetwork.java	2006-05-13 20:41:47 UTC (rev 6)
@@ -91,7 +91,7 @@
         if(port <= 0)
             throw new IllegalArgumentException();
         ConnectionHandler h = null;
-        log.info("connecting to {}:{}", host, port);
+        log.info("connecting to " + host + ":" + port);
         try {
             this.connectSock = new Socket(host, port);
             log.debug("connected, creating Handler");

Modified: trunk/client/src/main/java/org/jlink/client/frontend/MainFrame.java
===================================================================
--- trunk/Client/src/org/jlink/client/frontend/MainFrame.java	2006-05-12 18:06:26 UTC (rev 5)
+++ trunk/client/src/main/java/org/jlink/client/frontend/MainFrame.java	2006-05-13 20:41:47 UTC (rev 6)
@@ -52,7 +52,7 @@
     
     public MainFrame(String title, Dimension dim, double mx, double my) {
         this.log = Logger.getLogger("jlink.frontend.mainframe");
-        log.debug("created Object(MainFrame), Title: {}", title);
+        log.debug("created Object(MainFrame), Title: " + title);
         
         //creating Frame/Window
         log.debug("creating frame");

Modified: trunk/client/src/main/java/org/jlink/client/frontend/menu/MainMenu.java
===================================================================
--- trunk/Client/src/org/jlink/client/frontend/menu/MainMenu.java	2006-05-12 18:06:26 UTC (rev 5)
+++ trunk/client/src/main/java/org/jlink/client/frontend/menu/MainMenu.java	2006-05-13 20:41:47 UTC (rev 6)
@@ -135,7 +135,7 @@
     
     
     private ImageIcon getIcon(String p) {
-        log.debug("loading image: {}", p);
+        log.debug("loading image: " + p);
         Image i = this.cur.getImage(p);
         log.debug("scaling");
         i = i.getScaledInstance(54, 54, Image.SCALE_SMOOTH);

Modified: trunk/client/src/main/java/org/jlink/client/frontend/theme/Theme.java
===================================================================
--- trunk/Client/src/org/jlink/client/frontend/theme/Theme.java	2006-05-12 18:06:26 UTC (rev 5)
+++ trunk/client/src/main/java/org/jlink/client/frontend/theme/Theme.java	2006-05-13 20:41:47 UTC (rev 6)
@@ -51,7 +51,7 @@
         Theme ret = null;
         ret = new Theme();
         ret.log = Logger.getLogger("jlink.frontend.theme");
-        ret.log.debug("loading Theme from {}", dir.getAbsolutePath());
+        ret.log.debug("loading Theme from " + dir.getAbsolutePath());
         
         
         ret.dir = dir;
@@ -80,7 +80,7 @@
         if(maxMissing < 0)
             throw new IllegalArgumentException("maxMissing found: [" + maxMissing + "] required: >= 0");
         NDC.push(this.name);
-        log.debug("Theme::{}::validate({})", this.name, maxMissing);
+        log.debug("Theme::" + this.name + "::validate(" + maxMissing + ")");
         NDC.push("validate");
         
         log.debug("checking MainMenu images");
@@ -127,7 +127,7 @@
     
     //Image Operations
     public Image getImage(String i) {
-        log.debug("ImageRequest: {}", i);
+        log.debug("ImageRequest: " + i);
         File f = null;
         f = new File(this.dir, i);
         //log.debug("checking existence of: {}", f.getAbsolutePath());

Modified: trunk/client/src/main/java/org/jlink/client/frontend/theme/ThemeManager.java
===================================================================
--- trunk/Client/src/org/jlink/client/frontend/theme/ThemeManager.java	2006-05-12 18:06:26 UTC (rev 5)
+++ trunk/client/src/main/java/org/jlink/client/frontend/theme/ThemeManager.java	2006-05-13 20:41:47 UTC (rev 6)
@@ -45,7 +45,7 @@
     
     //loading Methods
     public void load(File dir) {
-        log.info("loading Themes from {}", dir);
+        log.info("loading Themes from " + dir);
         if(!dir.isDirectory())
             return;
         File[] t = dir.listFiles();
@@ -53,7 +53,7 @@
             return;
         int i = 0;
         while(i < t.length) {
-            log.debug("checking {}", t[i]);
+            log.debug("checking " + t[i]);
             if(!t[i].isDirectory()) {
                 log.debug("isnt directory");
                 i++;
@@ -70,7 +70,7 @@
     }
     public void loadTheme(File d) {
         Theme t = Theme.load(d);
-        log.info("loaded Theme: {}", t.getName());
+        log.info("loaded Theme: " + t.getName());
         this.db.add(t);
     }
     

Modified: trunk/client/src/main/java/org/jlink/client/gui/MenuBean.java
===================================================================
--- trunk/Client/src/org/jlink/client/gui/MenuBean.java	2006-05-12 18:06:26 UTC (rev 5)
+++ trunk/client/src/main/java/org/jlink/client/gui/MenuBean.java	2006-05-13 20:41:47 UTC (rev 6)
@@ -65,18 +65,18 @@
     //Buttons
     public void addButton(String id, Icon ico, int x, int y, int w, int h, String tooltip) {
         Logger log = Logger.getLogger("jlink.gui.beans.menu");
-        log.debug("addButton(...) called id={}", id);
+        log.debug("addButton(...) called id=" + id);
         JButton b = new JButton(ico);
         b.setActionCommand(id);
         log.debug("calculating");
         int x0 = (int) (x * mx);
-        log.debug("x, pre={}, suf={}", x, x0);
+        log.debug("x, pre=" + x + ", suf=" + x0);
         int x1 = (int) (w * mx);
-        log.debug("w pre={}, suf={}", w, x1);
+        log.debug("w pre=" + w + ", suf=" + x1);
         int y0 = (int) (y * my);
-        log.debug("y pre={}, suf={}", y, y0);
+        log.debug("y pre=" + y + ", suf=" + y0);
         int y1 = (int) (h * my);
-        log.debug("h pre={}, suf={}", h, y1);
+        log.debug("h pre=" + h + ", suf="+ y1);
         b.setBounds(x0, y0, x1, y1);
         b.setToolTipText(tooltip);
         this.c.add(b);

Modified: trunk/client/src/main/java/org/jlink/frontend/WindowManagerImpl.java
===================================================================
--- trunk/Client/src/org/jlink/frontend/WindowManagerImpl.java	2006-05-12 18:06:26 UTC (rev 5)
+++ trunk/client/src/main/java/org/jlink/frontend/WindowManagerImpl.java	2006-05-13 20:41:47 UTC (rev 6)
@@ -56,7 +56,7 @@
     }
 
     public void addWindow(String id, Window win) {
-        log.trace("entering method addWindow({}, {}", id, win);
+        log.trace("entering method addWindow(" + id + ", " + win + ")");
         
         if(id == null)
             throw new NullPointerException();

Added: trunk/client/src/site/site.xml
===================================================================
--- trunk/client/src/site/site.xml	                        (rev 0)
+++ trunk/client/src/site/site.xml	2006-05-13 20:41:47 UTC (rev 6)
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<project name="JLink Client">
+  <bannerRight>
+    <src>http://sflogo.sourceforge.net/sflogo.php?group_id=162264&amp;type=3</src>
+  </bannerRight>
+  <body>
+    ${reports}
+  </body>
+</project>

Added: trunk/root/pom.xml
===================================================================
--- trunk/root/pom.xml	                        (rev 0)
+++ trunk/root/pom.xml	2006-05-13 20:41:47 UTC (rev 6)
@@ -0,0 +1,35 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <groupId>org.jlink</groupId>
+    <artifactId>root</artifactId>
+    <packaging>pom</packaging>
+    <version>0.0.1-SNAPSHOT</version>
+    <name>JLink Root</name>
+    <url>http://java-link.sf.net/</url>
+    <dependencies>
+	<dependency>
+	    <groupId>junit</groupId>
+	    <artifactId>junit</artifactId>
+	    <version>3.8.1</version>
+	    <scope>test</scope>
+	</dependency>
+    </dependencies>
+    <ciManagement>
+	<system>cruisecontrol</system>
+	<url>http://welterde.i2p/cruisecontrol/</url>
+    </ciManagement>
+    <issueManagement>
+	<system>sourceforge</system>
+	<url>http://sourceforge.net/tracker/?group_id=162264</url>
+    </issueManagement>
+    <developers>
+	<developer>
+	    <id>welterde</id>
+	    <email>wel...@ar...</email>
+	</developer>
+    </developers>
+    <scm>
+	<connection>scm:svn:https://svn.sourceforge.net/svnroot/javalink</connection>
+	<url>http://svn.sourceforge.net/viewcvs.cgi/java-link/</url>
+    </scm>
+</project>

Added: trunk/server/pom.xml
===================================================================
--- trunk/server/pom.xml	                        (rev 0)
+++ trunk/server/pom.xml	2006-05-13 20:41:47 UTC (rev 6)
@@ -0,0 +1,117 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+<!--////////////////////////////////////////
+    /////////////General////////////////////
+    /////////////////////////////////////-->
+    <parent>
+	<artifactId>yamd-root</artifactId>
+        <groupId>org.welterde.yamd</groupId>
+	<version>0.0.1-SNAPSHOT</version>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+    <groupId>org.jlink</groupId>
+    <artifactId>server</artifactId>
+    <packaging>jar</packaging>
+    <version>0.0.1-SNAPSHOT</version>
+    <name>JLink Server</name>
+    <url>http://java-link.sf.net/</url>
+    <dependencies>
+	<dependency>
+	    <groupId>junit</groupId>
+	    <artifactId>junit</artifactId>
+	    <version>3.8.1</version>
+	    <scope>test</scope>
+	</dependency>
+        <dependency>
+	    <groupId>org.jlink</groupId>
+	    <artifactId>share</artifactId>
+	    <version>0.0.1-SNAPSHOT</version>
+            <scope>compile</scope>
+	</dependency>
+        <dependency>
+	    <groupId>log4j</groupId>
+	    <artifactId>log4j</artifactId>
+	    <version>1.2.13</version>
+            <scope>compile</scope>
+	</dependency>
+    </dependencies>
+<!--////////////////////////////////////////
+    /////////////Reporting//////////////////
+    /////////////////////////////////////-->
+    <reporting>
+	<plugins>
+	    <plugin>
+		<groupId>org.codehaus.mojo</groupId>
+		<artifactId>jxr-maven-plugin</artifactId>
+	    </plugin>
+	    <plugin>
+		<groupId>org.apache.maven.plugins</groupId>
+		<artifactId>maven-javadoc-plugin</artifactId>
+	    </plugin>
+	    <plugin>
+		<groupId>org.apache.maven.plugins</groupId>
+		<artifactId>maven-pmd-plugin</artifactId>
+		<configuration>
+		    <linkXref>true</linkXref>
+		    <sourceEncoding>utf-8</sourceEncoding>
+		    <minimumTokens>100</minimumTokens>
+                    <targetJdk>1.5</targetJdk>
+		</configuration>
+	    </plugin>
+	    <plugin>
+		<groupId>org.apache.maven.plugins</groupId>
+		<artifactId>maven-surefire-report-plugin</artifactId>
+	    </plugin>
+	</plugins>
+    </reporting>
+<!--////////////////////////////////////////
+    /////////////Building///////////////////
+    /////////////////////////////////////-->
+    <build>
+	<plugins>
+	    <plugin>
+    		<groupId>org.apache.maven.plugins</groupId>
+    		<artifactId>maven-compiler-plugin</artifactId>
+		<configuration>
+    		    <source>1.5</source>
+    		    <target>1.5</target>
+    		</configuration>
+	    </plugin>
+            <plugin>
+		<artifactId>maven-assembly-plugin</artifactId>
+		<configuration>
+		    <descriptor>src/main/assembly/dep.xml</descriptor>
+		</configuration>
+	    </plugin>
+	</plugins>
+    </build>
+<!--////////////////////////////////////////
+    /////////////Deploying//////////////////
+    /////////////////////////////////////-->
+    <distributionManagement>
+	<site>
+    	    <id>jlink-sf</id>
+	    <url>scp://shell.sf.net/home/groups/j/ja/java-link/htdocs/maven2/server</url>
+        </site>
+    </distributionManagement>
+<!--////////////////////////////////////////
+    /////////////Include from root//////////
+    /////////////////////////////////////-->
+    <ciManagement>
+	<system>cruisecontrol</system>
+	<url>http://welterde.i2p/cruisecontrol/</url>
+    </ciManagement>
+    <issueManagement>
+	<system>sourceforge</system>
+	<url>http://sourceforge.net/tracker/?group_id=162264</url>
+    </issueManagement>
+    <developers>
+	<developer>
+	    <id>welterde</id>
+	    <email>wel...@ar...</email>
+	</developer>
+    </developers>
+    <scm>
+	<connection>scm:svn:https://svn.sourceforge.net/svnroot/javalink</connection>
+	<url>http://svn.sourceforge.net/viewcvs.cgi/java-link/</url>
+    </scm>
+</project>

Copied: trunk/server/src/main/java (from rev 5, trunk/Server/src)

Modified: trunk/server/src/main/java/org/jlink/ServerMain.java
===================================================================
--- trunk/Server/src/org/jlink/ServerMain.java	2006-05-12 18:06:26 UTC (rev 5)
+++ trunk/server/src/main/java/org/jlink/ServerMain.java	2006-05-13 20:41:47 UTC (rev 6)
@@ -36,7 +36,6 @@
 import org.apache.log4j.FileAppender;
 import org.apache.log4j.PatternLayout;
 import org.apache.log4j.Level;
-import org.apache.log4j.filter.LevelRangeFilter;
 import org.apache.log4j.ConsoleAppender;
 
 /**
@@ -92,7 +91,7 @@
         log.info("pre-compiling some classes");
         boolean b = false;
         b = b || Compiler.compileClass(ServerNetwork.class);
-        log.debug("check for enabled compiling result 1: {}", b);
+        log.debug("check for enabled compiling result 1: " + b);
         //TODO: do some more checks
         if(b) {
             //compile more classes
@@ -112,6 +111,6 @@
         log.debug("############System############");
         log.debug("##########Information#########");
         log.debug("##############################");
-        log.debug("System.compiler: {}", System.getProperty("java.compiler"));
+        log.debug("System.compiler: " + System.getProperty("java.compiler"));
     }
 }

Modified: trunk/server/src/main/java/org/jlink/ServerNetwork.java
===================================================================
--- trunk/Server/src/org/jlink/ServerNetwork.java	2006-05-12 18:06:26 UTC (rev 5)
+++ trunk/server/src/main/java/org/jlink/ServerNetwork.java	2006-05-13 20:41:47 UTC (rev 6)
@@ -61,7 +61,7 @@
         //creating other Parts
         ret.log.debug("Network::createParts()");
         try {
-            ret.log.debug("trying to listen on Port: {}", Options.NETWORK_LISTEN_PORT);
+            ret.log.debug("trying to listen on Port: " + Options.NETWORK_LISTEN_PORT);
             ret.mod_back = NetworkBackend.listen(ret, Options.NETWORK_LISTEN_PORT);
             ret.log.debug("ok we're listening");
         } catch (IOException ex) {

Modified: trunk/server/src/main/java/org/jlink/server/net/NetworkBackend.java
===================================================================
--- trunk/Server/src/org/jlink/server/net/NetworkBackend.java	2006-05-12 18:06:26 UTC (rev 5)
+++ trunk/server/src/main/java/org/jlink/server/net/NetworkBackend.java	2006-05-13 20:41:47 UTC (rev 6)
@@ -53,7 +53,7 @@
         NetworkBackend ret = null;
         ret = new NetworkBackend();
         ret.log = Logger.getLogger("jlink.net.backend");
-        ret.log.info("NetworkBackend::listen({})", port);
+        ret.log.info("NetworkBackend::listen(" + port + ")");
         
         ret.mod_net = net;
         //creating Socket
@@ -115,7 +115,7 @@
         Socket cur = this.conSock.accept();
         this.conCount++;
         NDC.push("" + this.conCount);
-        log.info("got Connection from {}", cur.getInetAddress());
+        log.info("got Connection from " + cur.getInetAddress());
         NDC.push("init");
         log.debug("creating ConnectionHandler");
         ConnectionHandler h = ConnectionHandler.connect(cur);

Added: trunk/share/nbproject/mavencall.xml
===================================================================
--- trunk/share/nbproject/mavencall.xml	                        (rev 0)
+++ trunk/share/nbproject/mavencall.xml	2006-05-13 20:41:47 UTC (rev 6)
@@ -0,0 +1,37 @@
+<project name="share" default="build" basedir="..">
+  <target name="build" description="Build">
+    <exec dir="${basedir}" executable="${mvn.path}">
+      <arg line="package"/>
+    </exec>
+  </target>
+  <target name="clean" description="Clean">
+    <exec dir="${basedir}" executable="${mvn.path}">
+      <arg line="clean:clean"/>
+    </exec>
+  </target>
+  <target name="javadoc" description="Javadoc">
+    <exec dir="${basedir}" executable="${mvn.path}">
+      <arg line="site:site"/>
+    </exec>
+  </target>
+  <target name="run" description="Install Locally">
+    <exec dir="${basedir}" executable="${mvn.path}">
+      <arg line="install"/>
+    </exec>
+  </target>
+  <target name="test" description="Test Project">
+    <exec dir="${basedir}" executable="${mvn.path}">
+      <arg line="test"/>
+    </exec>
+  </target>
+  <target name="jalopy" description="Format Code">
+    <exec dir="${basedir}" executable="${mvn.path}">
+      <arg line="jalopy:format"/>
+    </exec>
+  </target>
+  <target name="refresh-project" description="Refresh Project">
+    <exec dir="${basedir}" executable="${mvn.path}">
+      <arg line="netbeans-freeform:generate-netbeans-project"/>
+    </exec>
+  </target>
+</project>
\ No newline at end of file

Added: trunk/share/nbproject/project.properties
===================================================================
--- trunk/share/nbproject/project.properties	                        (rev 0)
+++ trunk/share/nbproject/project.properties	2006-05-13 20:41:47 UTC (rev 6)
@@ -0,0 +1,5 @@
+#The netbeans freeform property file
+#Sat May 13 22:20:43 CEST 2006
+local.repository=/home/tassilo/.m2/repository
+mvn.path=mvn
+project.directory=/home/tassilo/Documents/dev/jlink/feature_maven2/share

Added: trunk/share/nbproject/project.xml
===================================================================
--- trunk/share/nbproject/project.xml	                        (rev 0)
+++ trunk/share/nbproject/project.xml	2006-05-13 20:41:47 UTC (rev 6)
@@ -0,0 +1,121 @@
+<project xmlns="http://www.netbeans.org/ns/project/1">
+  <type>org.netbeans.modules.ant.freeform</type>
+  <configuration>
+    <general-data xmlns="http://www.netbeans.org/ns/freeform-project/1">
+      <name>JLink Share</name>
+      <properties>
+        <property name="ant.script">nbproject/mavencall.xml</property>
+        <property-file>nbproject/project.properties</property-file>
+      </properties>
+      <folders>
+        <source-folder>
+          <label>src/main/java</label>
+          <type>java</type>
+          <location>src/main/java</location>
+        </source-folder>
+        <source-folder>
+          <label>src/test/java</label>
+          <type>java</type>
+          <location>src/test/java</location>
+        </source-folder>
+      </folders>
+      <ide-actions>
+        <action name="build">
+          <script>${ant.script}</script>
+          <target>build</target>
+        </action>
+        <action name="clean">
+          <script>${ant.script}</script>
+          <target>clean</target>
+        </action>
+        <action name="rebuild">
+          <script>${ant.script}</script>
+          <target>clean</target>
+          <target>build</target>
+        </action>
+        <action name="javadoc">
+          <script>${ant.script}</script>
+          <target>javadoc</target>
+        </action>
+        <action name="run">
+          <script>${ant.script}</script>
+          <target>run</target>
+        </action>
+        <action name="test">
+          <script>${ant.script}</script>
+          <target>test</target>
+        </action>
+      </ide-actions>
+      <view>
+        <items>
+          <source-file>
+            <label>pom</label>
+            <location>pom.xml</location>
+          </source-file>
+          <source-file>
+            <label>mavencall</label>
+            <location>nbproject/mavencall.xml</location>
+          </source-file>
+          <source-folder style="packages">
+            <label>src/main/java</label>
+            <location>src/main/java</location>
+          </source-folder>
+          <source-folder style="packages">
+            <label>src/test/java</label>
+            <location>src/test/java</location>
+          </source-folder>
+          <source-folder style="tree">
+            <label>src/main/resources</label>
+            <location>src/main/resources</location>
+          </source-folder>
+          <source-folder style="tree">
+            <label>src/test/resources</label>
+            <location>src/test/resources</location>
+          </source-folder>
+          <source-folder style="tree">
+            <label>src/site</label>
+            <location>src/site</location>
+          </source-folder>
+          <source-folder style="tree">
+            <label>target</label>
+            <location>target</location>
+          </source-folder>
+        </items>
+        <context-menu>
+          <action>
+            <script>${ant.script}</script>
+            <label>Refresh Project</label>
+            <target>refresh-project</target>
+          </action>
+          <ide-action name="build"/>
+          <ide-action name="clean"/>
+          <ide-action name="rebuild"/>
+          <ide-action name="javadoc"/>
+          <ide-action name="run"/>
+          <ide-action name="test"/>
+          <action>
+            <script>${ant.script}</script>
+            <label>Format Code</label>
+            <target>jalopy</target>
+          </action>
+        </context-menu>
+      </view>
+      <subprojects/>
+    </general-data>
+    <java-data xmlns="http://www.netbeans.org/ns/freeform-project-java/2">
+      <compilation-unit>
+        <package-root>src/main/java</package-root>
+        <classpath mode="compile">${local.repository}/log4j/log4j/1.2.13/log4j-1.2.13.jar</classpath>
+        <built-to>target/classes</built-to>
+        <source-level>1.4</source-level>
+      </compilation-unit>
+      <compilation-unit>
+        <package-root>src/test/java</package-root>
+        <unit-tests/>
+        <classpath mode="compile">target/classes:${local.repository}/junit/junit/3.8.1/junit-3.8.1.jar:${local.repository}/log4j/log4j/1.2.13/log4j-1.2.13.jar</classpath>
+        <built-to>target/test-classes</built-to>
+        <source-level>1.4</source-level>
+      </compilation-unit>
+    </java-data>
+  </configuration>
+</project>
\ No newline at end of file

Added: trunk/share/pom.xml
===================================================================
--- trunk/share/pom.xml	                        (rev 0)
+++ trunk/share/pom.xml	2006-05-13 20:41:47 UTC (rev 6)
@@ -0,0 +1,111 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+<!--////////////////////////////////////////
+    /////////////General////////////////////
+    /////////////////////////////////////-->
+    <parent>
+	<artifactId>yamd-root</artifactId>
+        <groupId>org.welterde.yamd</groupId>
+	<version>0.0.1-SNAPSHOT</version>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+    <groupId>org.jlink</groupId>
+    <artifactId>share</artifactId>
+    <packaging>jar</packaging>
+    <version>0.0.1-SNAPSHOT</version>
+    <name>JLink Share</name>
+    <url>http://java-link.sf.net/</url>
+    <dependencies>
+	<dependency>
+	    <groupId>junit</groupId>
+	    <artifactId>junit</artifactId>
+	    <version>3.8.1</version>
+	    <scope>test</scope>
+	</dependency>
+        <dependency>
+	    <groupId>log4j</groupId>
+	    <artifactId>log4j</artifactId>
+	    <version>1.2.13</version>
+	    <scope>compile</scope>
+	</dependency>
+    </dependencies>
+    <!--////////////////////////////////////////
+    /////////////Reporting//////////////////
+    /////////////////////////////////////-->
+    <reporting>
+	<plugins>
+	    <plugin>
+		<groupId>org.codehaus.mojo</groupId>
+		<artifactId>jxr-maven-plugin</artifactId>
+	    </plugin>
+	    <plugin>
+		<groupId>org.apache.maven.plugins</groupId>
+		<artifactId>maven-javadoc-plugin</artifactId>
+	    </plugin>
+	    <plugin>
+		<groupId>org.apache.maven.plugins</groupId>
+		<artifactId>maven-pmd-plugin</artifactId>
+		<configuration>
+		    <linkXref>true</linkXref>
+		    <sourceEncoding>utf-8</sourceEncoding>
+		    <minimumTokens>100</minimumTokens>
+                    <targetJdk>1.5</targetJdk>
+		</configuration>
+	    </plugin>
+	    <plugin>
+		<groupId>org.apache.maven.plugins</groupId>
+		<artifactId>maven-surefire-report-plugin</artifactId>
+	    </plugin>
+	</plugins>
+    </reporting>
+<!--////////////////////////////////////////
+    /////////////Building///////////////////
+    /////////////////////////////////////-->
+    <build>
+	<plugins>
+	    <plugin>
+    		<groupId>org.apache.maven.plugins</groupId>
+    		<artifactId>maven-compiler-plugin</artifactId>
+		<configuration>
+    		    <source>1.5</source>
+    		    <target>1.5</target>
+    		</configuration>
+	    </plugin>
+            <plugin>
+		<artifactId>maven-assembly-plugin</artifactId>
+		<configuration>
+		    <descriptor>src/main/assembly/dep.xml</descriptor>
+		</configuration>
+	    </plugin>
+	</plugins>
+    </build>
+<!--////////////////////////////////////////
+    /////////////Deploying//////////////////
+    /////////////////////////////////////-->
+    <distributionManagement>
+	<site>
+    	    <id>jlink-sf</id>
+	    <url>scp://shell.sf.net/home/groups/j/ja/java-link/htdocs/maven2/share</url>
+        </site>
+    </distributionManagement>
+<!--////////////////////////////////////////
+    /////////////Include from root//////////
+    /////////////////////////////////////-->
+    <ciManagement>
+	<system>cruisecontrol</system>
+	<url>http://welterde.i2p/cruisecontrol/</url>
+    </ciManagement>
+    <issueManagement>
+	<system>sourceforge</system>
+	<url>http://sourceforge.net/tracker/?group_id=162264</url>
+    </issueManagement>
+    <developers>
+	<developer>
+	    <id>welterde</id>
+	    <email>wel...@ar...</email>
+	</developer>
+    </developers>
+    <scm>
+	<connection>scm:svn:https://svn.sourceforge.net/svnroot/javalink</connection>
+	<url>http://svn.sourceforge.net/viewcvs.cgi/java-link/</url>
+    </scm>
+</project>

Added: trunk/share/src/main/assembly/dep.xml
===================================================================
--- trunk/share/src/main/assembly/dep.xml	                        (rev 0)
+++ trunk/share/src/main/assembly/dep.xml	2006-05-13 20:41:47 UTC (rev 6)
@@ -0,0 +1,20 @@
+<assembly>
+  <id>deps</id>
+  <formats>
+    <format>jar</format>
+  </formats>
+  <includeBaseDirectory>false</includeBaseDirectory>
+  <fileSets>
+    <fileSet>
+      <directory>target/classes</directory>
+      <outputDirectory>/</outputDirectory>
+    </fileSet>
+  </fileSets>
+  <dependencySets>
+    <dependencySet>
+      <outputDirectory>/</outputDirectory>
+      <unpack>true</unpack>
+      <scope>runtime</scope>
+    </dependencySet>
+  </dependencySets>
+</assembly>

Copied: trunk/share/src/main/java (from rev 5, trunk/Share/src)

Modified: trunk/share/src/main/java/org/jlink/net/ConnectionHandler.java
===================================================================
--- trunk/Share/src/org/jlink/net/ConnectionHandler.java	2006-05-12 18:06:26 UTC (rev 5)
+++ trunk/share/src/main/java/org/jlink/net/ConnectionHandler.java	2006-05-13 20:41:47 UTC (rev 6)
@@ -129,7 +129,7 @@
         ConnectionHandler ret = null;
         ret = new ConnectionHandler();
         ret.log = Logger.getLogger("jlink.network.connection_andler");
-        ret.log.debug("ConnectionHandler created, remote host={}", s.getInetAddress());
+        ret.log.debug("ConnectionHandler created, remote host=" + s.getInetAddress());
         ret.sock = s;
         
         ret.log.debug("creating Streams");

Added: trunk/templates/maven2/pom.xml
===================================================================
--- trunk/templates/maven2/pom.xml	                        (rev 0)
+++ trunk/templates/maven2/pom.xml	2006-05-13 20:41:47 UTC (rev 6)
@@ -0,0 +1,105 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+<!--////////////////////////////////////////
+    /////////////General////////////////////
+    /////////////////////////////////////-->
+    <parent>
+	<artifactId>yamd-root</artifactId>
+        <groupId>org.welterde.yamd</groupId>
+	<version>0.0.1-SNAPSHOT</version>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+    <groupId>org.jlink</groupId>
+    <artifactId>${name}</artifactId>
+    <packaging>jar</packaging>
+    <version>0.0.1-SNAPSHOT</version>
+    <name>JLink ${Name}</name>
+    <url>http://java-link.sf.net/</url>
+    <dependencies>
+	<dependency>
+	    <groupId>junit</groupId>
+	    <artifactId>junit</artifactId>
+	    <version>3.8.1</version>
+	    <scope>test</scope>
+	</dependency>
+    </dependencies>
+<!--////////////////////////////////////////
+    /////////////Reporting//////////////////
+    /////////////////////////////////////-->
+    <reporting>
+	<plugins>
+	    <plugin>
+		<groupId>org.codehaus.mojo</groupId>
+		<artifactId>jxr-maven-plugin</artifactId>
+	    </plugin>
+	    <plugin>
+		<groupId>org.apache.maven.plugins</groupId>
+		<artifactId>maven-javadoc-plugin</artifactId>
+	    </plugin>
+	    <plugin>
+		<groupId>org.apache.maven.plugins</groupId>
+		<artifactId>maven-pmd-plugin</artifactId>
+		<configuration>
+		    <linkXref>true</linkXref>
+		    <sourceEncoding>utf-8</sourceEncoding>
+		    <minimumTokens>100</minimumTokens>
+                    <targetJdk>1.5</targetJdk>
+		</configuration>
+	    </plugin>
+	    <plugin>
+		<groupId>org.apache.maven.plugins</groupId>
+		<artifactId>maven-surefire-report-plugin</artifactId>
+	    </plugin>
+	</plugins>
+    </reporting>
+<!--////////////////////////////////////////
+    /////////////Building///////////////////
+    /////////////////////////////////////-->
+    <build>
+	<plugins>
+	    <plugin>
+    		<groupId>org.apache.maven.plugins</groupId>
+    		<artifactId>maven-compiler-plugin</artifactId>
+		<configuration>
+    		    <source>1.5</source>
+    		    <target>1.5</target>
+    		</configuration>
+	    </plugin>
+            <plugin>
+		<artifactId>maven-assembly-plugin</artifactId>
+		<configuration>
+		    <descriptor>src/main/assembly/dep.xml</descriptor>
+		</configuration>
+	    </plugin>
+	</plugins>
+    </build>
+<!--////////////////////////////////////////
+    /////////////Deploying//////////////////
+    /////////////////////////////////////-->
+    <distributionManagement>
+	<site>
+    	    <id>jlink-sf</id>
+	    <url>scp://shell.sf.net/home/groups/j/ja/java-link/htdocs/maven2/${name}</url>
+        </site>
+    </distributionManagement>
+<!--////////////////////////////////////////
+    /////////////Include from root//////////
+    /////////////////////////////////////-->
+    <ciManagement>
+	<system>cruisecontrol</system>
+	<url>http://welterde.i2p/cruisecontrol/</url>
+    </ciManagement>
+    <issueManagement>
+	<system>sourceforge</system>
+	<url>http://sourceforge.net/tracker/?group_id=162264</url>
+    </issueManagement>
+    <developers>
+	<developer>
+	    <id>welterde</id>
+	    <email>wel...@ar...</email>
+	</developer>
+    </developers>
+    <scm>
+	<connection>scm:svn:https://svn.sourceforge.net/svnroot/javalink</connection>
+	<url>http://svn.sourceforge.net/viewcvs.cgi/java-link/</url>
+    </scm>
+</project>


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.



[Java-link-svn] SF.net SVN: java-link: [5] trunk/lib/other
From: <wel...@us...> - 2006-05-12 18:08:00
Revision: 5
Author:   welterde0
Date:     2006-05-12 11:06:26 -0700 (Fri, 12 May 2006)
ViewCVS:  http://svn.sourceforge.net/java-link/?rev=5&view=rev

Log Message:
-----------
removed web-subfolder
added LL and HL subproject
created world subproject
created world:DB subproject
updated Swing LaF to substance
added some frontend classes
updated graphics

Modified Paths:
--------------
    trunk/Client/nbproject/private/private.properties
    trunk/Client/nbproject/project.properties
    trunk/Client/src/org/jlink/ClientMain.java
    trunk/Client/src/org/jlink/client/frontend/menu/MainMenu.java

Added Paths:
-----------
    trunk/Client/src/org/jlink/Frontend.java
    trunk/Client/src/org/jlink/Game.java
    trunk/Client/src/org/jlink/Main.java
    trunk/Client/src/org/jlink/controll/
    trunk/Client/src/org/jlink/controll/SystemController.java
    trunk/Client/src/org/jlink/frontend/
    trunk/Client/src/org/jlink/frontend/MainFrameController.java
    trunk/Client/src/org/jlink/frontend/Window.java
    trunk/Client/src/org/jlink/frontend/WindowManager.java
    trunk/Client/src/org/jlink/frontend/WindowManagerImpl.java
    trunk/Client/src/org/jlink/frontend/system/
    trunk/Client/src/org/jlink/frontend/system/MainmenuIFrame.form
    trunk/Client/src/org/jlink/frontend/system/MainmenuIFrame.java
    trunk/Client/src/org/jlink/frontend/system/MainmenuListener.java
    trunk/Client/src/org/jlink/frontend/system/MainmenuWindow.java
    trunk/Client/src/org/jlink/gui/
    trunk/Client/src/org/jlink/gui/JInternalFrameFactory.java
    trunk/Client/src/org/jlink/gui/laf/
    trunk/Client/src/org/jlink/gui/laf/LAFController.java
    trunk/Share/src/org/jlink/Controller.java
    trunk/Share/src/org/jlink/net/hl/
    trunk/Share/src/org/jlink/net/hl/HLConnector.java
    trunk/Share/src/org/jlink/net/hl/HLHandler.java
    trunk/Share/src/org/jlink/net/hl/HLRegistry.java
    trunk/Share/src/org/jlink/net/hl/HLServerConnector.java
    trunk/Share/src/org/jlink/net/ll/
    trunk/Share/src/org/jlink/net/ll/LLConnectionException.java
    trunk/Share/src/org/jlink/net/ll/LLConnector.java
    trunk/Share/src/org/jlink/net/ll/LLEvent.java
    trunk/Share/src/org/jlink/net/ll/LLNetworkInterface.java
    trunk/Share/src/org/jlink/net/ll/LLServerConnector.java
    trunk/Share/src/org/jlink/resources/theme/
    trunk/Share/src/org/jlink/resources/theme/account-register.png
    trunk/Share/src/org/jlink/resources/theme/system-change_server.png
    trunk/Share/src/org/jlink/resources/theme/system-exit.png
    trunk/Share/src/org/jlink/world/
    trunk/Share/src/org/jlink/world/Avatar.java
    trunk/Share/src/org/jlink/world/Session.java
    trunk/Share/src/org/jlink/world/SessionException.java
    trunk/Share/src/org/jlink/world/db/
    trunk/Share/src/org/jlink/world/db/Database.java
    trunk/Share/src/org/jlink/world/db/DatabaseFilter.java
    trunk/Share/src/org/jlink/world/db/DatabaseLoader.java
    trunk/Share/src/org/jlink/world/db/DatabaseManager.java
    trunk/Share/src/org/jlink/world/db/DatabaseSaver.java
    trunk/lib/other/substance.jar
Modified: trunk/Client/nbproject/private/private.properties
===================================================================
--- trunk/Client/nbproject/private/private.properties	2006-03-19 17:52:58 UTC (rev 4)
+++ trunk/Client/nbproject/private/private.properties	2006-05-12 18:06:26 UTC (rev 5)
@@ -4,6 +4,7 @@
 file.reference.jdom.jar=../lib/jdom/jdom.jar
 file.reference.log4j.jar=../lib/log4j/log4j.jar
 file.reference.saxpath.jar=../lib/jdom/saxpath.jar
+file.reference.substance.jar=/home/tassilo/Documents/dev/jlink/feature_substance/trunk/lib/other/substance.jar
 file.reference.swing-layout.jar=../lib/other/swing-layout.jar
 javac.debug=true
 javadoc.preview=true

Modified: trunk/Client/nbproject/project.properties
===================================================================
--- trunk/Client/nbproject/project.properties	2006-03-19 17:52:58 UTC (rev 4)
+++ trunk/Client/nbproject/project.properties	2006-05-12 18:06:26 UTC (rev 5)
@@ -20,6 +20,7 @@
 file.reference.jaxen-jdom.jar=../lib/jdom/jaxen-jdom.jar
 file.reference.jdom.jar=../lib/jdom/jdom.jar
 file.reference.saxpath.jar=../lib/jdom/saxpath.jar
+file.reference.substance.jar=../lib/other/substance.jar
 file.reference.swing-layout.jar=../lib/other/swing-layout.jar
 jar.compress=true
 javac.classpath=\
@@ -30,6 +31,7 @@
     ${file.reference.jaxen-core.jar}:\
     ${file.reference.jaxen-jdom.jar}:\
     ${file.reference.saxpath.jar}:\
+    ${file.reference.substance.jar}:\
     ${libs.swing-layout.classpath}
 # Space-separated list of extra javac options
 javac.compilerargs=-Xlint:unchecked
@@ -51,7 +53,7 @@
 javadoc.use=true
 javadoc.version=false
 javadoc.windowtitle=
-main.class=org.jlink.ClientMain
+main.class=org.jlink.Main
 manifest.file=manifest.mf
 meta.inf.dir=${src.dir}/META-INF
 platform.active=default_platform

Modified: trunk/Client/src/org/jlink/ClientMain.java
===================================================================
--- trunk/Client/src/org/jlink/ClientMain.java	2006-03-19 17:52:58 UTC (rev 4)
+++ trunk/Client/src/org/jlink/ClientMain.java	2006-05-12 18:06:26 UTC (rev 5)
@@ -39,6 +39,11 @@
 import org.apache.log4j.ConsoleAppender;
 //import::sys::swing
 import javax.swing.JOptionPane;
+import javax.swing.UIManager;
+import javax.swing.UnsupportedLookAndFeelException;
+import org.jvnet.substance.SubstanceLookAndFeel;
+import org.jvnet.substance.theme.SubstanceEbonyTheme;
+import org.jvnet.substance.watermark.SubstanceBinaryWatermark;
 
 /**
  *
@@ -54,6 +59,14 @@
      * @param args the command line arguments
      */
     public static void main(String[] args) throws IOException {
+        try {
+            UIManager.setLookAndFeel(new SubstanceLookAndFeel());
+            SubstanceLookAndFeel.setCurrentTheme(new SubstanceEbonyTheme());
+            SubstanceLookAndFeel.setCurrentWatermark(new SubstanceBinaryWatermark());
+            UIManager.setLookAndFeel(new SubstanceLookAndFeel());
+        } catch (UnsupportedLookAndFeelException ex) {
+            ex.printStackTrace();
+        }
         // <editor-fold defaultstate="expanded" desc=" app_dir::lookup() ">
         
         if(args.length < 1) {

Added: trunk/Client/src/org/jlink/Frontend.java
===================================================================
--- trunk/Client/src/org/jlink/Frontend.java	                        (rev 0)
+++ trunk/Client/src/org/jlink/Frontend.java	2006-05-12 18:06:26 UTC (rev 5)
@@ -0,0 +1,135 @@
+/*
+ * Frontend.java
+ *
+ * Created on 20. März 2006, 21:21
+ *
+ * JLink: An Introversion Uplink Clone with multiplayer support.
+ * Copyright (C) 2006 Tassilo Schweyer
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ */
+
+package org.jlink;
+
+import org.jlink.frontend.MainFrameController;
+import org.jlink.frontend.WindowManager;
+import org.jlink.frontend.WindowManagerImpl;
+import org.jlink.frontend.system.MainmenuListener;
+import org.jlink.frontend.system.MainmenuWindow;
+import org.apache.log4j.Logger;
+
+/**
+ *
+ * @author tassilo
+ */
+public class Frontend implements Controller, MainmenuListener {
+    
+    /** Creates a new instance of Frontend */
+    public Frontend(Game g) {
+        log = Logger.getLogger("jlink.core.frontend");
+        log.trace("Object created: org.jlink.Frontend");
+        
+        this.modCore = g;
+        this.wm = new WindowManagerImpl("JLink");
+        this.wmController = (MainFrameController) this.wm;
+    }
+
+    public void init() {
+        log.trace("entering method init()");
+        
+        //TODO: init something
+        this.wmController.setSize(1024, 768);
+        this.menuMain = new MainmenuWindow();
+        
+        this.statusValid = true;
+    }
+
+    public void start() {
+        log.trace("entering method start()");
+        
+        //TODO: start something
+        this.wmController.show();
+        
+        this.wm.addWindow("sys_menu_main", this.menuMain);
+        
+        synchronized(this.statusLock) {
+            this.statusRunning = true;
+        }
+    }
+
+    public void join() {
+        log.trace("entering method join()");
+        
+        synchronized(this.statusLock) {
+            if(!this.statusRunning)
+                return;
+            try {
+                this.statusLock.wait();
+            } catch (InterruptedException ex) {
+                return;
+            }
+        }
+    }
+
+    public void stop() {
+        log.trace("entering method stop()");
+        
+        //TODO: stop something
+        this.wmController.dispose();
+        
+        synchronized(this.statusLock) {
+            this.statusRunning = false;
+        }
+    }
+
+    public void destroy() {
+        log.trace("entering method destroy()");
+        
+        this.stop();
+        this.join();
+        
+        //TODO: destroy something
+        
+        this.statusValid = false;
+    }
+
+    public boolean runLogin(String user, String pass) {
+        
+        return true;// TODO: see TODO: in MainmenuIFrame
+    }
+
+    public void runServer() {
+    }
+
+    public void runOptions() {
+    }
+
+    public void runAccount() {
+    }
+
+    public void runExit() {
+    }
+    
+    
+    private boolean             statusValid    = false;
+    private boolean             statusRunning  = false;
+    private String              statusLock     = "lockRX4545";
+    private Game                modCore        = null;
+    private WindowManager       wm             = null;
+    private MainFrameController wmController   = null;
+    private Logger              log            = null;
+    
+    private MainmenuWindow      menuMain   = null;
+}

Added: trunk/Client/src/org/jlink/Game.java
===================================================================
--- trunk/Client/src/org/jlink/Game.java	                        (rev 0)
+++ trunk/Client/src/org/jlink/Game.java	2006-05-12 18:06:26 UTC (rev 5)
@@ -0,0 +1,108 @@
+/*
+ * Game.java
+ *
+ * Created on 20. März 2006, 21:48
+ *
+ * JLink: An Introversion Uplink Clone with multiplayer support.
+ * Copyright (C) 2006 Tassilo Schweyer
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ */
+
+package org.jlink;
+
+import org.jlink.controll.SystemController;
+
+/**
+ *
+ * @author tassilo
+ */
+public class Game implements Runnable, SystemController {
+    
+    /** Creates a new instance of Game */
+    public Game() {
+    }
+    
+    public void init() {
+        this.t = new Thread(this);
+        this.t.setName("JLink-Core");
+        
+        this.modFront = new Frontend(this);
+        this.modFront.init();
+    }
+    public void start() {
+        this.t.start();
+        this.modFront.start();
+    }
+    public void run() {
+        this.statusRunning = true;
+        this.doStop = false;
+        try {
+            while(!this.doStop) {
+                try {
+                    Thread.sleep(1000);
+                } catch (InterruptedException ex) {
+                    ex.printStackTrace();
+                }
+            }
+        } finally {
+            this.statusRunning = false;
+        }
+    }
+    public void join() {
+        try {
+            this.t.join();
+        } catch (InterruptedException ex) {
+        }
+    }
+    public void stop() {
+        this.doStop = true;
+        this.modFront.stop();
+    }
+    public void destroy() {
+        this.stop();
+        this.join();
+        this.modFront.stop();
+        this.modFront.join();
+    }
+
+    public void shutdown() {
+        this.destroy();
+    }
+
+    public void fatal(String msg) {
+        //TODO: implement
+        try {
+            this.shutdown();
+        } finally {
+            System.exit(1);
+        }
+    }
+
+    public Frontend getFrontend() {
+        return this.modFront;
+    }
+    
+    
+    private Frontend modFront = null;
+    
+    private boolean statusValid   = false;
+    private boolean statusRunning = false;
+    private String  statusLock    = "locka";
+    
+    private boolean doStop = false;
+    
+    private Thread t = null;
+}

Added: trunk/Client/src/org/jlink/Main.java
===================================================================
--- trunk/Client/src/org/jlink/Main.java	                        (rev 0)
+++ trunk/Client/src/org/jlink/Main.java	2006-05-12 18:06:26 UTC (rev 5)
@@ -0,0 +1,155 @@
+/*
+ * Main.java
+ *
+ * Created on 20. März 2006, 19:31
+ *
+ * JLink: An Introversion Uplink Clone with multiplayer support.
+ * Copyright (C) 2006 Tassilo Schweyer
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ */
+
+package org.jlink;
+
+//TODO: bring imports in right form
+import java.io.File;
+import java.io.IOException;
+import javax.swing.JOptionPane;
+import javax.swing.UIManager;
+import javax.swing.UnsupportedLookAndFeelException;
+import org.apache.log4j.BasicConfigurator;
+import org.apache.log4j.ConsoleAppender;
+import org.apache.log4j.FileAppender;
+import org.apache.log4j.Level;
+import org.apache.log4j.Logger;
+import org.apache.log4j.PatternLayout;
+import org.jvnet.substance.SubstanceLookAndFeel;
+import org.jvnet.substance.theme.SubstanceEbonyTheme;
+import org.jvnet.substance.watermark.SubstanceBinaryWatermark;
+
+/**
+ *
+ * @author tassilo
+ */
+public class Main {
+    
+    /** Creates a new instance of Main */
+    public Main() {
+    }
+    
+    public static void main(String[] args) {
+        Game g = null;
+        // <editor-fold defaultstate="collapsed" desc=" app_dir::lookup() ">
+        
+        if(args.length < 1) {
+            JOptionPane.showMessageDialog(null, "Cannot determinate Application dir. Please run with \"ant -Dapplication.args=[/path/to/trunk] run",
+                    "FATAL ERROR", JOptionPane.ERROR_MESSAGE);
+            System.exit(1);
+        }
+        dir_app = new File(args[0]);
+        if(!dir_app.isDirectory()) {
+            JOptionPane.showMessageDialog(null, "The folder you chose, doesnt'exist" +
+                    "You chose:" + dir_app + "if you haven't chosen anythin try" +
+                    " running it with \n ant -Dapplication.args=[/path/to/trunk] run", "FATAL ERROR", JOptionPane.ERROR_MESSAGE);
+            System.exit(1);
+        }
+        
+        // </editor-fold>
+        // <editor-fold defaultstate="collapsed" desc=" home_dir::lookup()">
+        
+        dir_home = new File(new File(System.getProperty("user.home")), ".jlink");
+        if(!dir_home.exists() || !dir_home.isDirectory()) {
+            if(!dir_home.mkdirs()) {
+                JOptionPane.showMessageDialog(null, "An ~/.jlink cant be created dir:" +
+                        dir_home, "FATAL ERROR", JOptionPane.ERROR_MESSAGE);
+                System.exit(1);
+            }
+        }
+        
+        // </editor-fold>
+        // <editor-fold defaultstate="collapsed" desc=" log_dir::lookup()">
+        
+        dir_log = new File(dir_home, "logs");
+        if(!dir_log.isDirectory()) {
+            if(!dir_log.mkdirs()) {
+                //TODO: fail
+                System.exit(1);
+            }
+        }
+        
+        // </editor-fold>
+        init();
+        
+        g = new Game();
+        g.init();
+        g.start();
+        g.join();
+        g.destroy();
+        
+        destroy();
+    }
+    
+    private static void init() {
+        initLOG4J();
+        compile();
+        initGUI();
+    }
+    private static void destroy() {
+        
+    }
+    
+    private static void compile() {
+        //TODO: implement
+    }
+    private static void initLOG4J() {
+        try {
+            FileAppender log4j_file = new FileAppender(new PatternLayout(), new File(dir_log, "client.log").getAbsolutePath());
+            log4j_file.setLayout(new PatternLayout(PatternLayout.TTCC_CONVERSION_PATTERN));
+            log4j_file.clearFilters();
+            log4j_file.setThreshold(Level.ALL);
+            Logger.getRootLogger().setLevel(Level.ALL);
+            BasicConfigurator.configure(log4j_file);
+            ConsoleAppender log4j_con = new ConsoleAppender(new PatternLayout("%-9r %-5p [%-18t | %15.15c]: %m%n"), "System.err");
+            log4j_con.setThreshold(Options.GLOBAL_LOGLEVEL);
+            BasicConfigurator.configure(log4j_con);
+        } catch (IOException ex) {
+            //TODO: fail
+            System.exit(1);
+        }
+        Logger log = Logger.getLogger("jlink");
+        log.info("logging started");
+    }
+    private static void initGUI() {
+        Logger log = Logger.getLogger("jlink");
+        log.info("changing Swing L&F");
+        try {
+            UIManager.setLookAndFeel(new SubstanceLookAndFeel());
+            SubstanceLookAndFeel.setCurrentTheme(new SubstanceEbonyTheme());
+            SubstanceLookAndFeel.setCurrentWatermark(new SubstanceBinaryWatermark());
+            UIManager.setLookAndFeel(new SubstanceLookAndFeel());
+        } catch (UnsupportedLookAndFeelException ex) {
+            log.debug("change failed", ex);
+            //TODO: fail
+            System.exit(1);
+        }
+        log.debug("change done");
+    }
+    
+    private static File dir_app  = null;
+    private static File dir_home = null;
+    private static File dir_log  = null;
+    
+    private static Frontend modFront = null;
+}

Modified: trunk/Client/src/org/jlink/client/frontend/menu/MainMenu.java
===================================================================
--- trunk/Client/src/org/jlink/client/frontend/menu/MainMenu.java	2006-03-19 17:52:58 UTC (rev 4)
+++ trunk/Client/src/org/jlink/client/frontend/menu/MainMenu.java	2006-05-12 18:06:26 UTC (rev 5)
@@ -25,6 +25,7 @@
 
 //import
 //import::own
+import java.awt.Graphics;
 import org.jlink.resources.FontLoader;
 //import::sys
 import org.apache.log4j.Logger;
@@ -32,6 +33,8 @@
 import java.awt.MediaTracker;
 import javax.swing.ImageIcon;
 import javax.swing.JPanel;
+import org.jvnet.substance.watermark.SubstanceWatermark;
+import org.jvnet.substance.SubstanceLookAndFeel;
 import org.jlink.client.frontend.PasswordLoginWidget;
 import org.jlink.client.frontend.theme.Theme;
 import org.jlink.client.frontend.theme.ThemeManager;
@@ -160,4 +163,10 @@
     private Theme  cur = null;
     private Logger log = null;
     private MainMenuListener list = null;
+
+    protected void printComponent(Graphics g) {
+        super.printComponent(g);
+        SubstanceLookAndFeel.getCurrentWatermark().updateWatermarkImage();
+        SubstanceLookAndFeel.getCurrentWatermark().drawWatermarkImage(g, this, 0, 0,  (int) this.getSize().getWidth(), (int) this.getSize().getHeight());
+    }
 }

Added: trunk/Client/src/org/jlink/controll/SystemController.java
===================================================================
--- trunk/Client/src/org/jlink/controll/SystemController.java	                        (rev 0)
+++ trunk/Client/src/org/jlink/controll/SystemController.java	2006-05-12 18:06:26 UTC (rev 5)
@@ -0,0 +1,37 @@
+/*
+ * SystemController.java
+ *
+ * Created on 21. März 2006, 20:41
+ *
+ * JLink: An Introversion Uplink Clone with multiplayer support.
+ * Copyright (C) 2006 Tassilo Schweyer
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ */
+
+package org.jlink.controll;
+
+import org.jlink.Frontend;
+
+/**
+ *
+ * @author tassilo
+ */
+public interface SystemController {
+    public void shutdown();
+    public void fatal(String msg);
+    
+    public Frontend getFrontend();
+}

Added: trunk/Client/src/org/jlink/frontend/MainFrameController.java
===================================================================
--- trunk/Client/src/org/jlink/frontend/MainFrameController.java	                        (rev 0)
+++ trunk/Client/src/org/jlink/frontend/MainFrameController.java	2006-05-12 18:06:26 UTC (rev 5)
@@ -0,0 +1,37 @@
+/*
+ * MainFrameController.java
+ *
+ * Created on 20. März 2006, 17:09
+ *
+ * JLink: An Introversion Uplink Clone with multiplayer support.
+ * Copyright (C) 2006 Tassilo Schweyer
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ */
+
+package org.jlink.frontend;
+
+/**
+ *
+ * @author tassilo
+ */
+public interface MainFrameController {
+    public void show();
+    public void dispose();
+    
+    public void setLocation(int x, int y);
+    public void setSize(int x, int y);
+    public void setFullscreen(boolean fs);
+}

Added: trunk/Client/src/org/jlink/frontend/Window.java
===================================================================
--- trunk/Client/src/org/jlink/frontend/Window.java	                        (rev 0)
+++ trunk/Client/src/org/jlink/frontend/Window.java	2006-05-12 18:06:26 UTC (rev 5)
@@ -0,0 +1,37 @@
+/*
+ * Window.java
+ *
+ * Created on 19. März 2006, 15:51
+ *
+ * JLink: An Introversion Uplink Clone with multiplayer support.
+ * Copyright (C) 2006 Tassilo Schweyer
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ */
+
+package org.jlink.frontend;
+
+//import
+//import::sys
+//import::sys::swing
+import javax.swing.JInternalFrame;
+
+/**
+ *
+ * @author tassilo
+ */
+public interface Window {
+    public JInternalFrame getFrame();
+}

Added: trunk/Client/src/org/jlink/frontend/WindowManager.java
===================================================================
--- trunk/Client/src/org/jlink/frontend/WindowManager.java	                        (rev 0)
+++ trunk/Client/src/org/jlink/frontend/WindowManager.java	2006-05-12 18:06:26 UTC (rev 5)
@@ -0,0 +1,32 @@
+/*
+ * WindowManager.java
+ *
+ * Created on 19. März 2006, 15:48
+ *
+ * JLink: An Introversion Uplink Clone with multiplayer support.
+ * Copyright (C) 2006 Tassilo Schweyer
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ */
+
+package org.jlink.frontend;
+
+/**
+ *
+ * @author tassilo
+ */
+public interface WindowManager {
+    public void addWindow(String id, Window win);
+}

Added: trunk/Client/src/org/jlink/frontend/WindowManagerImpl.java
===================================================================
--- trunk/Client/src/org/jlink/frontend/WindowManagerImpl.java	                        (rev 0)
+++ trunk/Client/src/org/jlink/frontend/WindowManagerImpl.java	2006-05-12 18:06:26 UTC (rev 5)
@@ -0,0 +1,100 @@
+/*
+ * WindowManagerImpl.java
+ *
+ * Created on 19. März 2006, 15:52
+ *
+ * JLink: An Introversion Uplink Clone with multiplayer support.
+ * Copyright (C) 2006 Tassilo Schweyer
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ */
+
+package org.jlink.frontend;
+
+//import
+//import::own
+//import::sys
+import org.apache.log4j.Logger;
+//import::sys::swing
+import javax.swing.JFrame;
+import javax.swing.JDesktopPane;
+import javax.swing.JInternalFrame;
+//import::sys::util
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ *
+ * @author tassilo
+ */
+public class WindowManagerImpl implements WindowManager, MainFrameController {
+    
+    
+    
+    public WindowManagerImpl(String title) {
+        log.trace("Object created: org.jlink.frontend.WindowManagerImpl");
+        
+        //create Frame
+        this.root = new JFrame(title);
+        this.desk = new JDesktopPane();
+        this.root.add(this.desk);
+        
+        //create Window-DB
+        this.dbWin = new HashMap<String, Window>();
+    }
+
+    public void addWindow(String id, Window win) {
+        log.trace("entering method addWindow({}, {}", id, win);
+        
+        if(id == null)
+            throw new NullPointerException();
+        if(win == null)
+            throw new NullPointerException();
+        
+        this.dbWin.put(id, win);
+        JInternalFrame iframe = win.getFrame();
+        this.desk.add(iframe);
+        iframe.setVisible(true);
+        
+        log.trace("leaving method");
+    }
+
+    public void show() {
+        this.root.setVisible(true);
+    }
+
+    public void dispose() {
+        this.root.dispose();
+    }
+
+    public void setLocation(int x, int y) {
+        this.root.setLocation(x, y);
+    }
+
+    public void setSize(int x, int y) {
+        this.root.setSize(x, y);
+    }
+
+    public void setFullscreen(boolean fs) {
+        throw new UnsupportedOperationException("not yet implemented");
+    }
+    
+    
+    
+    private JFrame root = null;
+    private JDesktopPane desk = null;
+    private Logger log  = Logger.getLogger("jlink.wm.impl");
+    private Map<String, Window> dbWin = null;
+}

Added: trunk/Client/src/org/jlink/frontend/system/MainmenuIFrame.form
===================================================================
--- trunk/Client/src/org/jlink/frontend/system/MainmenuIFrame.form	                        (rev 0)
+++ trunk/Client/src/org/jlink/frontend/system/MainmenuIFrame.form	2006-05-12 18:06:26 UTC (rev 5)
@@ -0,0 +1,175 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<Form version="1.3" type="org.netbeans.modules.form.forminfo.JInternalFrameFormInfo">
+  <Properties>
+    <Property name="background" type="java.awt.Color" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+      <Connection code="new Color(128, 128, 128, 32)" type="code"/>
+    </Property>
+    <Property name="iconifiable" type="boolean" value="true"/>
+    <Property name="maximizable" type="boolean" value="true"/>
+    <Property name="resizable" type="boolean" value="true"/>
+  </Properties>
+  <SyntheticProperties>
+    <SyntheticProperty name="formSizePolicy" type="int" value="1"/>
+  </SyntheticProperties>
+  <AuxValues>
+    <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
+    <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
+  </AuxValues>
+
+  <Layout>
+    <DimensionLayout dim="0">
+      <Group type="103" groupAlignment="0" attributes="0">
+          <Group type="102" attributes="0">
+              <EmptySpace max="-2" attributes="0"/>
+              <Group type="103" groupAlignment="0" attributes="0">
+                  <Component id="jButton3" alignment="1" min="-2" max="-2" attributes="0"/>
+                  <Component id="jButton4" alignment="1" min="-2" max="-2" attributes="0"/>
+                  <Group type="102" alignment="0" attributes="0">
+                      <Group type="103" groupAlignment="1" attributes="0">
+                          <Component id="jButton5" alignment="1" min="-2" max="-2" attributes="0"/>
+                          <Group type="102" alignment="1" attributes="0">
+                              <Group type="103" groupAlignment="0" attributes="0">
+                                  <Component id="jLabel1" min="-2" max="-2" attributes="0"/>
+                                  <Component id="jLabel2" alignment="0" min="-2" max="-2" attributes="0"/>
+                              </Group>
+                              <EmptySpace max="-2" attributes="0"/>
+                              <Group type="103" groupAlignment="0" attributes="0">
+                                  <Component id="jTextField1" min="-2" max="-2" attributes="0"/>
+                                  <Component id="jPasswordField1" min="-2" max="-2" attributes="0"/>
+                              </Group>
+                          </Group>
+                      </Group>
+                      <EmptySpace pref="13" max="32767" attributes="0"/>
+                      <Group type="103" groupAlignment="0" attributes="0">
+                          <Component id="jButton1" alignment="1" min="-2" max="-2" attributes="0"/>
+                          <Component id="jButton2" alignment="1" min="-2" max="-2" attributes="0"/>
+                      </Group>
+                  </Group>
+              </Group>
+              <EmptySpace max="-2" attributes="0"/>
+          </Group>
+      </Group>
+    </DimensionLayout>
+    <DimensionLayout dim="1">
+      <Group type="103" groupAlignment="0" attributes="0">
+          <Group type="102" alignment="0" attributes="0">
+              <EmptySpace max="-2" attributes="0"/>
+              <Group type="103" groupAlignment="0" attributes="0">
+                  <Group type="102" alignment="0" attributes="0">
+                      <Group type="103" groupAlignment="3" attributes="0">
+                          <Component id="jLabel1" alignment="3" min="-2" max="-2" attributes="0"/>
+                          <Component id="jTextField1" alignment="3" min="-2" max="-2" attributes="0"/>
+                      </Group>
+                      <EmptySpace max="-2" attributes="0"/>
+                      <Group type="103" groupAlignment="3" attributes="0">
+                          <Component id="jPasswordField1" alignment="3" min="-2" max="-2" attributes="0"/>
+                          <Component id="jLabel2" alignment="3" min="-2" max="-2" attributes="0"/>
+                      </Group>
+                      <EmptySpace max="-2" attributes="0"/>
+                      <Component id="jButton5" min="-2" max="-2" attributes="0"/>
+                  </Group>
+                  <Group type="102" alignment="0" attributes="0">
+                      <Component id="jButton1" min="-2" max="-2" attributes="0"/>
+                      <EmptySpace max="-2" attributes="0"/>
+                      <Component id="jButton2" min="-2" max="-2" attributes="0"/>
+                      <EmptySpace max="-2" attributes="0"/>
+                      <Component id="jButton3" min="-2" max="-2" attributes="0"/>
+                      <EmptySpace max="32767" attributes="0"/>
+                      <Component id="jButton4" min="-2" max="-2" attributes="0"/>
+                  </Group>
+              </Group>
+              <EmptySpace max="-2" attributes="0"/>
+          </Group>
+      </Group>
+    </DimensionLayout>
+  </Layout>
+  <SubComponents>
+    <Component class="javax.swing.JButton" name="jButton1">
+      <Properties>
+        <Property name="toolTipText" type="java.lang.String" value="Opens the &quot;Connect to Server&quot; Dialog"/>
+        <Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
+          <Dimension value="[45, 45]"/>
+        </Property>
+      </Properties>
+      <Events>
+        <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="clickedServer"/>
+      </Events>
+    </Component>
+    <Component class="javax.swing.JButton" name="jButton2">
+      <Properties>
+        <Property name="toolTipText" type="java.lang.String" value="Opens the &quot;Acoount Registration&quot; Wizard"/>
+        <Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
+          <Dimension value="[45, 45]"/>
+        </Property>
+      </Properties>
+      <Events>
+        <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="clickedAccount"/>
+      </Events>
+    </Component>
+    <Component class="javax.swing.JButton" name="jButton3">
+      <Properties>
+        <Property name="toolTipText" type="java.lang.String" value="Opens the &quot;Options&quot; Dialog"/>
+        <Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
+          <Dimension value="[45, 45]"/>
+        </Property>
+      </Properties>
+      <Events>
+        <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="clickedOptions"/>
+      </Events>
+    </Component>
+    <Component class="javax.swing.JButton" name="jButton4">
+      <Properties>
+        <Property name="toolTipText" type="java.lang.String" value="Exits JLink."/>
+        <Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
+          <Dimension value="[45, 45]"/>
+        </Property>
+      </Properties>
+      <Events>
+        <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="clickedExit"/>
+      </Events>
+    </Component>
+    <Component class="javax.swing.JLabel" name="jLabel1">
+      <Properties>
+        <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
+          <Font name="Dialog" size="14" style="1"/>
+        </Property>
+        <Property name="text" type="java.lang.String" value="User-ID"/>
+      </Properties>
+    </Component>
+    <Component class="javax.swing.JTextField" name="jTextField1">
+      <Properties>
+        <Property name="columns" type="int" value="20"/>
+        <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
+          <Font name="Dialog" size="14" style="0"/>
+        </Property>
+      </Properties>
+    </Component>
+    <Component class="javax.swing.JPasswordField" name="jPasswordField1">
+      <Properties>
+        <Property name="columns" type="int" value="20"/>
+        <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
+          <Font name="Dialog" size="14" style="0"/>
+        </Property>
+      </Properties>
+    </Component>
+    <Component class="javax.swing.JLabel" name="jLabel2">
+      <Properties>
+        <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
+          <Font name="Dialog" size="14" style="1"/>
+        </Property>
+        <Property name="text" type="java.lang.String" value="Pass-ID"/>
+      </Properties>
+    </Component>
+    <Component class="javax.swing.JButton" name="jButton5">
+      <Properties>
+        <Property name="text" type="java.lang.String" value="connect"/>
+      </Properties>
+      <Events>
+        <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="clickedLogin"/>
+      </Events>
+    </Component>
+  </SubComponents>
+</Form>

Added: trunk/Client/src/org/jlink/frontend/system/MainmenuIFrame.java
===================================================================
--- trunk/Client/src/org/jlink/frontend/system/MainmenuIFrame.java	                        (rev 0)
+++ trunk/Client/src/org/jlink/frontend/system/MainmenuIFrame.java	2006-05-12 18:06:26 UTC (rev 5)
@@ -0,0 +1,212 @@
+/*
+ * MainmenuIFrame.java
+ *
+ * Created on 20. März 2006, 19:10
+ *
+ * JLink: An Introversion Uplink Clone with multiplayer support.
+ * Copyright (C) 2006 Tassilo Schweyer
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ */
+
+package org.jlink.frontend.system;
+
+import java.awt.Color;
+import org.apache.log4j.Logger;
+
+/**
+ *
+ * @author  tassilo
+ */
+public class MainmenuIFrame extends javax.swing.JInternalFrame {
+    
+    /** Creates new form MainmenuIFrame */
+    public MainmenuIFrame(MainmenuWindow l) {
+        log = Logger.getLogger("jlink.frontend.system.MainmenuIFrame");
+        log.trace("Object created: MainmenuIFrame");
+        if(l == null)
+            throw new NullPointerException();
+        this.w = l;
+        initComponents();
+    }
+    
+    /** This method is called from within the constructor to
+     * initialize the form.
+     * WARNING: Do NOT modify this code. The content of this method is
+     * always regenerated by the Form Editor.
+     */
+    // <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents
+    private void initComponents() {
+        jButton1 = new javax.swing.JButton();
+        jButton2 = new javax.swing.JButton();
+        jButton3 = new javax.swing.JButton();
+        jButton4 = new javax.swing.JButton();
+        jLabel1 = new javax.swing.JLabel();
+        jTextField1 = new javax.swing.JTextField();
+        jPasswordField1 = new javax.swing.JPasswordField();
+        jLabel2 = new javax.swing.JLabel();
+        jButton5 = new javax.swing.JButton();
+
+        setBackground(new Color(128, 128, 128, 32));
+        setIconifiable(true);
+        setMaximizable(true);
+        setResizable(true);
+        jButton1.setToolTipText("Opens the \"Connect to Server\" Dialog");
+        jButton1.setPreferredSize(new java.awt.Dimension(45, 45));
+        jButton1.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                clickedServer(evt);
+            }
+        });
+
+        jButton2.setToolTipText("Opens the \"Acoount Registration\" Wizard");
+        jButton2.setPreferredSize(new java.awt.Dimension(45, 45));
+        jButton2.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                clickedAccount(evt);
+            }
+        });
+
+        jButton3.setToolTipText("Opens the \"Options\" Dialog");
+        jButton3.setPreferredSize(new java.awt.Dimension(45, 45));
+        jButton3.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                clickedOptions(evt);
+            }
+        });
+
+        jButton4.setToolTipText("Exits JLink.");
+        jButton4.setPreferredSize(new java.awt.Dimension(45, 45));
+        jButton4.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                clickedExit(evt);
+            }
+        });
+
+        jLabel1.setFont(new java.awt.Font("Dialog", 1, 14));
+        jLabel1.setText("User-ID");
+
+        jTextField1.setColumns(20);
+        jTextField1.setFont(new java.awt.Font("Dialog", 0, 14));
+
+        jPasswordField1.setColumns(20);
+        jPasswordField1.setFont(new java.awt.Font("Dialog", 0, 14));
+
+        jLabel2.setFont(new java.awt.Font("Dialog", 1, 14));
+        jLabel2.setText("Pass-ID");
+
+        jButton5.setText("connect");
+        jButton5.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                clickedLogin(evt);
+            }
+        });
+
+        org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(getContentPane());
+        getContentPane().setLayout(layout);
+        layout.setHorizontalGroup(
+            layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
+            .add(layout.createSequentialGroup()
+                .addContainerGap()
+                .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
+                    .add(org.jdesktop.layout.GroupLayout.TRAILING, jButton3, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
+                    .add(org.jdesktop.layout.GroupLayout.TRAILING, jButton4, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
+                    .add(layout.createSequentialGroup()
+                        .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING)
+                            .add(jButton5)
+                            .add(layout.createSequentialGroup()
+                                .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
+                                    .add(jLabel1)
+                                    .add(jLabel2))
+                                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
+                                .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
+                                    .add(jTextField1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
+                                    .add(jPasswordField1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))))
+                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, 13, Short.MAX_VALUE)
+                        .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
+                            .add(org.jdesktop.layout.GroupLayout.TRAILING, jButton1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
+                            .add(org.jdesktop.layout.GroupLayout.TRAILING, jButton2, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))))
+                .addContainerGap())
+        );
+        layout.setVerticalGroup(
+            layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
+            .add(layout.createSequentialGroup()
+                .addContainerGap()
+                .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
+                    .add(layout.createSequentialGroup()
+                        .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
+                            .add(jLabel1)
+                            .add(jTextField1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
+                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
+                        .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
+                            .add(jPasswordField1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
+                            .add(jLabel2))
+                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
+                        .add(jButton5))
+                    .add(layout.createSequentialGroup()
+                        .add(jButton1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
+                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
+                        .add(jButton2, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
+                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
+                        .add(jButton3, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
+                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                        .add(jButton4, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)))
+                .addContainerGap())
+        );
+        pack();
+    }// </editor-fold>//GEN-END:initComponents
+
+    private void clickedLogin(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_clickedLogin
+        log.debug("MainmenuIFrame::Button pressed: login");
+        String u = this.jTextField1.getText();
+        String p = new String(this.jPasswordField1.getPassword());
+        this.w.runLogin(u, p);// TODO: do something with return og runLogin || remove it
+    }//GEN-LAST:event_clickedLogin
+
+    private void clickedOptions(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_clickedOptions
+        log.debug("MainmenuIFrame::Button pressed: options");
+        this.w.runOptions();
+    }//GEN-LAST:event_clickedOptions
+
+    private void clickedAccount(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_clickedAccount
+        log.debug("MainmenuIFrame::Button pressed: account");
+        this.w.runAccount();
+    }//GEN-LAST:event_clickedAccount
+
+    private void clickedServer(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_clickedServer
+        log.debug("MainmenuIFrame::Button pressed: server");
+        this.w.runServer();
+    }//GEN-LAST:event_clickedServer
+
+    private void clickedExit(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_clickedExit
+        log.debug("MainmenuIFrame::Button pressed: exit");
+        this.w.runExit();
+    }//GEN-LAST:event_clickedExit
+    
+    
+    // Variables declaration - do not modify//GEN-BEGIN:variables
+    private javax.swing.JButton jButton1;
+    private javax.swing.JButton jButton2;
+    private javax.swing.JButton jButton3;
+    private javax.swing.JButton jButton4;
+    private javax.swing.JButton jButton5;
+    private javax.swing.JLabel jLabel1;
+    private javax.swing.JLabel jLabel2;
+    private javax.swing.JPasswordField jPasswordField1;
+    private javax.swing.JTextField jTextField1;
+    // End of variables declaration//GEN-END:variables
+    private MainmenuWindow w   = null;
+    private Logger         log = null;
+}

Added: trunk/Client/src/org/jlink/frontend/system/MainmenuListener.java
===================================================================
--- trunk/Client/src/org/jlink/frontend/system/MainmenuListener.java	                        (rev 0)
+++ trunk/Client/src/org/jlink/frontend/system/MainmenuListener.java	2006-05-12 18:06:26 UTC (rev 5)
@@ -0,0 +1,36 @@
+/*
+ * MainmenuListener.java
+ *
+ * Created on 21. März 2006, 21:25
+ *
+ * JLink: An Introversion Uplink Clone with multiplayer support.
+ * Copyright (C) 2006 Tassilo Schweyer
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ */
+
+package org.jlink.frontend.system;
+
+/**
+ *
+ * @author tassilo
+ */
+public interface MainmenuListener {
+    public boolean runLogin(String user, String pass);
+    public void runServer();
+    public void runOptions();
+    public void runAccount();
+    public void runExit();
+}

Added: trunk/Client/src/org/jlink/frontend/system/MainmenuWindow.java
===================================================================
--- trunk/Client/src/org/jlink/frontend/system/MainmenuWindow.java	                        (rev 0)
+++ trunk/Client/src/org/jlink/frontend/system/MainmenuWindow.java	2006-05-12 18:06:26 UTC (rev 5)
@@ -0,0 +1,84 @@
+/*
+ * MainmenuWindow.java
+ *
+ * Created on 20. März 2006, 19:08
+ *
+ * JLink: An Introversion Uplink Clone with multiplayer support.
+ * Copyright (C) 2006 Tassilo Schweyer
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ */
+
+package org.jlink.frontend.system;
+
+//import
+//import::own
+//import::own::frontend
+import org.jlink.frontend.Window;
+//import::sys
+//import::sys::swing
+import javax.swing.JInternalFrame;
+
+/**
+ *
+ * @author tassilo
+ */
+public class MainmenuWindow implements Window, MainmenuListener {
+    
+    /** Creates a new instance of MainmenuWindow */
+    public MainmenuWindow() {
+        this.iframe = new MainmenuIFrame(this);
+    }
+
+    public JInternalFrame getFrame() {
+        return this.iframe;
+    }
+    
+    public void setListener(MainmenuListener l) {
+        this.list = l;
+    }
+    
+    //Delegate to Listener
+    public boolean runLogin(String user, String pass) {
+        if(this.list == null)
+            return false;
+        return this.list.runLogin(user, pass);
+    }
+    public void runServer() {
+        if(this.list == null)
+            return;
+        this.list.runServer();
+    }
+    public void runOptions() {
+        if(this.list == null)
+            return;
+        this.list.runOptions();
+    }
+    public void runAccount() {
+        if(this.list == null)
+            return;
+        this.list.runAccount();
+    }
+    public void runExit() {
+        if(this.list == null)
+            return;
+        this.list.runExit();
+    }
+    
+    
+    
+    private MainmenuListener list   = null;
+    private MainmenuIFrame   iframe = null;
+}

Added: trunk/Client/src/org/jlink/gui/JInternalFrameFactory.java
===================================================================
--- trunk/Client/src/org/jlink/gui/JInternalFrameFactory.java	                        (rev 0)
+++ trunk/Client/src/org/jlink/gui/JInternalFrameFactory.java	2006-05-12 18:06:26 UTC (rev 5)
@@ -0,0 +1,47 @@
+/*
+ * JInternalFrameFactory.java
+ *
+ * Created on 23. März 2006, 21:51
+ *
+ * JLink: An Introversion Uplink Clone with multiplayer support.
+ * Copyright (C) 2006 Tassilo Schweyer
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ */
+
+package org.jlink.gui;
+
+import javax.swing.JInternalFrame;
+import javax.swing.JPopupMenu;
+import javax.swing.JComponent;
+import javax.swing.plaf.basic.BasicInternalFrameUI;
+
+/**
+ *
+ * @author tassilo
+ */
+public class JInternalFrameFactory {
+    
+    public static void addPUMenuToIFrame(JInternalFrame f, JPopupMenu m) {
+        JComponent c = ((BasicInternalFrameUI) f.getUI()).getNorthPane();
+        c.setComponentPopupMenu(m);
+       
+    }
+    
+    
+    
+    private JInternalFrameFactory() {
+    }
+}

Added: trunk/Client/src/org/jlink/gui/laf/LAFController.java
===================================================================
--- trunk/Client/src/org/jlink/gui/laf/LAFController.java	                        (rev 0)
+++ trunk/Client/src/org/jlink/gui/laf/LAFController.java	2006-05-12 18:06:26 UTC (rev 5)
@@ -0,0 +1,47 @@
+/*
+ * LAFController.java
+ *
+ * Created on 18. März 2006, 19:28
+ *
+ * JLink: An Introversion Uplink Clone with multiplayer support.
+ * Copyright (C) 2006 Tassilo Schweyer
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ */
+
+package org.jlink.gui.laf;
+
+/**
+ *
+ * @author tassilo
+ */
+public class LAFController {
+    public LAFController getInstance() {
+        if(instance == null) {
+            instance = new LAFController();
+        }
+        
+        return instance;
+    }
+    
+    
+    
+    
+    
+    private static LAFController instance = null;
+    
+    private LAFController() {
+    }
+}

Added: trunk/Share/src/org/jlink/Controller.java
===================================================================
--- trunk/Share/src/org/jlink/Controller.java	                        (rev 0)
+++ trunk/Share/src/org/jlink/Controller.java	2006-05-12 18:06:26 UTC (rev 5)
@@ -0,0 +1,36 @@
+/*
+ * Controller.java
+ *
+ * Created on 12. März 2006, 16:40
+ *
+ * JLink: An Introversion Uplink Clone with multiplayer support.
+ * Copyright (C) 2006 Tassilo Schweyer
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ */
+
+package org.jlink;
+
+/**
+ *
+ * @author tassilo
+ */
+public interface Controller {
+    public void init();
+    public void start();
+    public void join();
+    public void stop();
+    public void destroy();
+}

Added: trunk/Share/src/org/jlink/net/hl/HLConnector.java
===========================================...
 
[truncated message content]
[Java-link-svn] SF.net SVN: java-link: [4] web/doc_trunk
From: <wel...@us...> - 2006-03-19 17:53:17
Revision: 4
Author:   welterde0
Date:     2006-03-19 09:52:58 -0800 (Sun, 19 Mar 2006)
ViewCVS:  http://svn.sourceforge.net/java-link/?rev=4&view=rev

Log Message:
-----------
added basic website configuration

Added Paths:
-----------
    web/doc_trunk/forrest.properties
    web/doc_trunk/src/
    web/doc_trunk/src/classes/
    web/doc_trunk/src/classes/CatalogManager.properties
    web/doc_trunk/src/content/
    web/doc_trunk/src/content/xdocs/
    web/doc_trunk/src/content/xdocs/images/
    web/doc_trunk/src/content/xdocs/images/group.svg
    web/doc_trunk/src/content/xdocs/images/icon.png
    web/doc_trunk/src/content/xdocs/images/project-logo.gif
    web/doc_trunk/src/content/xdocs/images/project.svg
    web/doc_trunk/src/content/xdocs/images/usemap.gif
    web/doc_trunk/src/content/xdocs/index.xml
    web/doc_trunk/src/content/xdocs/site.xml
    web/doc_trunk/src/content/xdocs/tabs.xml
    web/doc_trunk/src/sitemap.xmap
    web/doc_trunk/src/skinconf.xml
Added: web/doc_trunk/forrest.properties
===================================================================
--- web/doc_trunk/forrest.properties	                        (rev 0)
+++ web/doc_trunk/forrest.properties	2006-03-19 17:52:58 UTC (rev 4)
@@ -0,0 +1,129 @@
+# Copyright 2002-2005 The Apache Software Foundation or its licensors,
+# as applicable.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+##############
+# Properties used by forrest.build.xml for building the website
+# These are the defaults, un-comment them only if you need to change them.
+##############
+
+# Prints out a summary of Forrest settings for this project
+#forrest.echo=true
+
+# Project name (used to name .war file)
+project.name=jlink-doc_trunk
+
+# Specifies name of Forrest skin to use
+# See list at http://forrest.apache.org/docs/skins.html
+#project.skin=pelt
+
+# Descriptors for plugins and skins
+# comma separated list, file:// is supported
+#forrest.skins.descriptors=http://forrest.apache.org/skins/skins.xml,file:///c:/myskins/skins.xml
+#forrest.plugins.descriptors=http://forrest.apache.org/plugins/plugins.xml,http://forrest.apache.org/plugins/whiteboard-plugins.xml
+
+##############
+# behavioural properties
+#project.menu-scheme=tab_attributes
+#project.menu-scheme=directories
+
+##############
+# layout properties
+
+# Properties that can be set to override the default locations
+#
+# Parent properties must be set. This usually means uncommenting
+# project.content-dir if any other property using it is uncommented
+
+#project.status=status.xml
+project.content-dir=src
+#project.raw-content-dir=${project.content-dir}/content
+#project.conf-dir=${project.content-dir}/conf
+#project.sitemap-dir=${project.content-dir}
+#project.xdocs-dir=${project.content-dir}/content/xdocs
+#project.resources-dir=${project.content-dir}/resources
+#project.stylesheets-dir=${project.resources-dir}/stylesheets
+#project.images-dir=${project.resources-dir}/images
+#project.schema-dir=${project.resources-dir}/schema
+#project.skins-dir=${project.content-dir}/skins
+#project.skinconf=${project.content-dir}/skinconf.xml
+#project.lib-dir=${project.content-dir}/lib
+#project.classes-dir=${project.content-dir}/classes
+#project.translations-dir=${project.content-dir}/translations
+
+##############
+# validation properties
+
+# This set of properties determine if validation is performed
+# Values are inherited unless overridden.
+# e.g. if forrest.validate=false then all others are false unless set to true.
+#forrest.validate=true
+#forrest.validate.xdocs=${forrest.validate}
+#forrest.validate.skinconf=${forrest.validate}
+#forrest.validate.sitemap=${forrest.validate}
+#forrest.validate.stylesheets=${forrest.validate}
+#forrest.validate.skins=${forrest.validate}
+#forrest.validate.skins.stylesheets=${forrest.validate.skins}
+
+# *.failonerror=(true|false) - stop when an XML file is invalid
+#forrest.validate.failonerror=true
+
+# *.excludes=(pattern) - comma-separated list of path patterns to not validate
+# e.g.
+#forrest.validate.xdocs.excludes=samples/subdir/**, samples/faq.xml
+#forrest.validate.xdocs.excludes=
+
+
+##############
+# General Forrest properties
+
+# The URL to start crawling from
+#project.start-uri=linkmap.html
+
+# Set logging level for messages printed to the console
+# (DEBUG, INFO, WARN, ERROR, FATAL_ERROR)
+#project.debuglevel=ERROR
+
+# Max memory to allocate to Java
+#forrest.maxmemory=64m
+
+# Any other arguments to pass to the JVM. For example, to run on an X-less
+# server, set to -Djava.awt.headless=true
+#forrest.jvmargs=
+
+# The bugtracking URL - the issue number will be appended
+#project.bugtracking-url=http://issues.apache.org/bugzilla/show_bug.cgi?id=
+#project.bugtracking-url=http://issues.apache.org/jira/browse/
+
+# The issues list as rss
+#project.issues-rss-url=
+
+#I18n Property. Based on the locale request for the browser.
+#If you want to use it for static site then modify the JVM system.language
+# and run once per language
+#project.i18n=true
+
+# The names of plugins that are required to build the project
+# comma separated list (no spaces)
+# You can request a specific version by appending "-VERSION" to the end of
+# the plugin name. If you exclude a version number the latest released version
+# will be used, however, be aware that this may be a development version. In
+# a production environment it is recomended that you specify a known working 
+# version.
+# Run "forrest available-plugins" for a list of plug-ins currently available
+project.required.plugins=org.apache.forrest.plugin.output.pdf,org.apache.forrest.plugin.output.POD,org.apache.forrest.plugin.output.Text
+
+# Proxy configuration
+# proxy.host=
+# proxy.port=

Added: web/doc_trunk/src/classes/CatalogManager.properties
===================================================================
--- web/doc_trunk/src/classes/CatalogManager.properties	                        (rev 0)
+++ web/doc_trunk/src/classes/CatalogManager.properties	2006-03-19 17:52:58 UTC (rev 4)
@@ -0,0 +1,57 @@
+# Copyright 2002-2005 The Apache Software Foundation or its licensors,
+# as applicable.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#=======================================================================
+# CatalogManager.properties for Catalog Entity Resolver.
+#
+# This is the default properties file for your project.
+# This facilitates local configuration of application-specific catalogs.
+# If you have defined any local catalogs, then they will be loaded
+# before Forrest's core catalogs.
+#
+# See the Apache Forrest documentation:
+# http://forrest.apache.org/docs/your-project.html
+# http://forrest.apache.org/docs/validation.html
+
+# verbosity:
+# The level of messages for status/debug (messages go to standard output).
+# The setting here is for your own local catalogs.
+# The verbosity of Forrest's core catalogs is controlled via
+#  main/webapp/WEB-INF/cocoon.xconf
+#
+# The following messages are provided ...
+#  0 = none
+#  1 = ? (... not sure yet)
+#  2 = 1+, Loading catalog, Resolved public, Resolved system
+#  3 = 2+, Catalog does not exist, resolvePublic, resolveSystem
+#  10 = 3+, List all catalog entries when loading a catalog
+#    (Cocoon also logs the "Resolved public" messages.)
+verbosity=1
+
+# catalogs ... list of additional catalogs to load
+#  (Note that Apache Forrest will automatically load its own default catalog
+#  from main/webapp/resources/schema/catalog.xcat)
+# Use either full pathnames or relative pathnames.
+# pathname separator is always semi-colon (;) regardless of operating system
+# directory separator is always slash (/) regardless of operating system
+catalogs=../resources/schema/catalog.xcat
+
+# relative-catalogs
+# If false, relative catalog URIs are made absolute with respect to the
+# base URI of the CatalogManager.properties file. This setting only 
+# applies to catalog URIs obtained from the catalogs property in the
+# CatalogManager.properties file
+# Example: relative-catalogs=[yes|no]
+relative-catalogs=no

Added: web/doc_trunk/src/content/xdocs/images/group.svg
===================================================================
--- web/doc_trunk/src/content/xdocs/images/group.svg	                        (rev 0)
+++ web/doc_trunk/src/content/xdocs/images/group.svg	2006-03-19 17:52:58 UTC (rev 4)
@@ -0,0 +1,82 @@
+<?xml version="1.0" standalone="no"?>
+<!--
+  Copyright 2002-2004 The Apache Software Foundation or its licensors,
+  as applicable.
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!--
+       SVG Anteater logo
+
+To get started with SVG, I'd recommend getting the Adobe SVG plugin, and the
+xml-batik CVS module. Then have a look at the xml-batik/samples files. Use the
+SVG spec (http://www.w3.org/TR/SVG/) as a reference.
+-->
+
+<!-- See Forrest Issue: FOR-229
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN"
+"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd"
+[
+ <!ATTLIST svg xmlns:for CDATA #FIXED "http://apache.org/forrest">
+ <!ENTITY % textExt "|for:group-name">
+ <!ELEMENT for:group-name (#PCDATA)>
+]>
+-->
+<svg xmlns="http://www.w3.org/2000/svg"
+     xmlns:xlink="http://www.w3.org/1999/xlink"
+     xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+     xsl:version="1.0"
+     xmlns:for="http://apache.org/forrest"
+     width="220" height="65" >
+  <title>Anteater logo</title>
+
+  <defs>
+
+    <!--
+    <radialGradient id="radialGradient">
+      <stop style="stop-color:gold" offset="0"/>
+      <stop style="stop-color:orange" offset=".5"/>
+      <stop style="stop-color:crimson" offset="1"/>
+    </radialGradient>
+    <linearGradient id="linearGradient">
+      <stop style="stop-color:gold" offset="0"/>
+      <stop style="stop-color:orange" offset=".5"/>
+      <stop style="stop-color:crimson" offset="1"/>
+    </linearGradient>
+    -->
+
+    <linearGradient id="gradient" x1="0" y1="0" x2="0" y2="1">
+      <stop style="stop-color:white" offset="0"/>
+      <stop style="stop-color:lightgreen" offset="1"/>
+    </linearGradient>
+
+    <filter id="shadowFilter" filterUnits="objectBoundingBox" width="1.4" height="1.4">
+      <!-- Takes the alpha channel (black outline of the text), blurs it and saves as 'blur' -->
+      <feGaussianBlur in="SourceAlpha" stdDeviation="2 2" result="blur"/>
+      <!-- Takes saved 'blur' and offsets it by 4 pixels, saves as 'offsetBlur' -->
+      <feOffset in="blur" dx="4" dy="4" result="offsetBlur"/>
+      <!-- Merges SourceGraphic (original image) and 'offsetBlur', putting the
+      former 'over' the latter, and using the merged result as the finished
+      image -->
+      <feComposite in="SourceGraphic" in2="offsetBlur" operator="over"/>
+    </filter>
+
+  </defs>
+
+  <g filter="url(#shadowFilter)" fill="url(#gradient)">
+    <text x="40%" y="60%" style="font-size:24pt; font-family:Verdana ; text-anchor: middle">
+    <for:group-name />
+    </text>
+  </g>
+</svg>

Added: web/doc_trunk/src/content/xdocs/images/icon.png
===================================================================
(Binary files differ)


Property changes on: web/doc_trunk/src/content/xdocs/images/icon.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: web/doc_trunk/src/content/xdocs/images/project-logo.gif
===================================================================
(Binary files differ)


Property changes on: web/doc_trunk/src/content/xdocs/images/project-logo.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: web/doc_trunk/src/content/xdocs/images/project.svg
===================================================================
--- web/doc_trunk/src/content/xdocs/images/project.svg	                        (rev 0)
+++ web/doc_trunk/src/content/xdocs/images/project.svg	2006-03-19 17:52:58 UTC (rev 4)
@@ -0,0 +1,82 @@
+<?xml version="1.0" standalone="no"?>
+<!--
+  Copyright 2002-2004 The Apache Software Foundation or its licensors,
+  as applicable.
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!--
+       SVG Anteater logo
+
+To get started with SVG, I'd recommend getting the Adobe SVG plugin, and the
+xml-batik CVS module. Then have a look at the xml-batik/samples files. Use the
+SVG spec (http://www.w3.org/TR/SVG/) as a reference.
+-->
+
+<!-- See Forrest Issue: FOR-229
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN"
+"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd"
+[
+ <!ATTLIST svg xmlns:for CDATA #FIXED "http://apache.org/forrest">
+ <!ENTITY % textExt "|for:project-name">
+ <!ELEMENT for:project-name (#PCDATA)>
+]>
+-->
+<svg xmlns="http://www.w3.org/2000/svg"
+     xmlns:xlink="http://www.w3.org/1999/xlink"
+     xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+     xsl:version="1.0"
+     xmlns:for="http://apache.org/forrest"
+     width="420" height="65" >
+  <title>Anteater logo</title>
+
+  <defs>
+
+    <!--
+    <radialGradient id="radialGradient">
+      <stop style="stop-color:gold" offset="0"/>
+      <stop style="stop-color:orange" offset=".5"/>
+      <stop style="stop-color:crimson" offset="1"/>
+    </radialGradient>
+    <linearGradient id="linearGradient">
+      <stop style="stop-color:gold" offset="0"/>
+      <stop style="stop-color:orange" offset=".5"/>
+      <stop style="stop-color:crimson" offset="1"/>
+    </linearGradient>
+    -->
+
+    <linearGradient id="gradient" x1="0" y1="0" x2="0" y2="1">
+      <stop style="stop-color:white" offset="0"/>
+      <stop style="stop-color:lightgreen" offset="1"/>
+    </linearGradient>
+
+    <filter id="shadowFilter" filterUnits="objectBoundingBox" width="1.4" height="1.4">
+      <!-- Takes the alpha channel (black outline of the text), blurs it and saves as 'blur' -->
+      <feGaussianBlur in="SourceAlpha" stdDeviation="2 2" result="blur"/>
+      <!-- Takes saved 'blur' and offsets it by 4 pixels, saves as 'offsetBlur' -->
+      <feOffset in="blur" dx="4" dy="4" result="offsetBlur"/>
+      <!-- Merges SourceGraphic (original image) and 'offsetBlur', putting the
+      former 'over' the latter, and using the merged result as the finished
+      image -->
+      <feComposite in="SourceGraphic" in2="offsetBlur" operator="over"/>
+    </filter>
+
+  </defs>
+
+  <g filter="url(#shadowFilter)" fill="url(#gradient)">
+    <text x="100%" y="60%" style="font-size:24pt; font-family:Verdana ; text-anchor: end" >
+    <for:project-name />
+    </text>
+  </g>
+</svg>

Added: web/doc_trunk/src/content/xdocs/images/usemap.gif
===================================================================
(Binary files differ)


Property changes on: web/doc_trunk/src/content/xdocs/images/usemap.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: web/doc_trunk/src/content/xdocs/index.xml
===================================================================
--- web/doc_trunk/src/content/xdocs/index.xml	                        (rev 0)
+++ web/doc_trunk/src/content/xdocs/index.xml	2006-03-19 17:52:58 UTC (rev 4)
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 2002-2004 The Apache Software Foundation or its licensors,
+  as applicable.
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "http://forrest.apache.org/dtd/document-v20.dtd">
+<document> 
+  <header> 
+    <title>Welcome to JLink</title> 
+  </header> 
+  <body> 
+    <section id="welcome">
+      <title>Welcome</title>
+    </section>
+  </body>
+</document>

Added: web/doc_trunk/src/content/xdocs/site.xml
===================================================================
--- web/doc_trunk/src/content/xdocs/site.xml	                        (rev 0)
+++ web/doc_trunk/src/content/xdocs/site.xml	2006-03-19 17:52:58 UTC (rev 4)
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 2002-2004 The Apache Software Foundation or its licensors,
+  as applicable.
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!--
+Forrest site.xml
+
+This file contains an outline of the site's information content.  It is used to:
+- Generate the website menus (though these can be overridden - see docs)
+- Provide semantic, location-independent aliases for internal 'site:' URIs, eg
+<link href="site:changes"> links to changes.html (or ../changes.html if in
+  subdir).
+- Provide aliases for external URLs in the external-refs section.  Eg, <link
+  href="ext:cocoon"> links to http://cocoon.apache.org/ 
+
+See http://forrest.apache.org/docs/linking.html for more info
+-->
+
+<site label="JLink" href="" xmlns="http://apache.org/forrest/linkmap/1.0" tab="">
+   <!-- Note: No matter what you configure here, Forrest will always try to load
+       index.html when you request http://yourHost/.
+       'How can I use a start-up-page other than index.html?' in the FAQs has more 
+       information tells you how to change that. 
+   -->
+  <about label="About">
+    <index label="Index" href="index.html" description="Welcome to JLink"/>
+  </about>
+
+  <!--
+  The href must be wholesite.html/pdf  You can change the labels and node names
+  <all label="All">
+    <whole_site_html label="Whole Site HTML" href="wholesite.html"/>
+    <whole_site_pdf label="Whole Site PDF" href="wholesite.pdf"/>
+  </all>
+  -->
+
+  <external-refs>
+  </external-refs>
+
+</site>

Added: web/doc_trunk/src/content/xdocs/tabs.xml
===================================================================
--- web/doc_trunk/src/content/xdocs/tabs.xml	                        (rev 0)
+++ web/doc_trunk/src/content/xdocs/tabs.xml	2006-03-19 17:52:58 UTC (rev 4)
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 2002-2004 The Apache Software Foundation or its licensors,
+  as applicable.
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<!DOCTYPE tabs PUBLIC "-//APACHE//DTD Cocoon Documentation Tab V1.1//EN" "http://forrest.apache.org/dtd/tab-cocoon-v11.dtd">
+
+<tabs software="JLink"
+  title="JLink"
+  copyright=""
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+
+  <!-- The rules for tabs are:
+    @dir will always have '/@indexfile' added.
+    @indexfile gets appended to @dir if the tab is selected. Defaults to 'index.html'
+    @href is not modified unless it is root-relative and obviously specifies a
+    directory (ends in '/'), in which case /index.html will be added
+    If @id's are present, site.xml entries with a matching @tab will be in that tab.
+
+   Tabs can be embedded to a depth of two. The second level of tabs will only 
+    be displayed when their parent tab is selected.    
+  -->
+
+  <tab id="" label="Home" dir="" indexfile="index.html"/>
+  <!-- Add new tabs here, eg:
+  <tab label="How-Tos" dir="community/howto/"/>
+  <tab label="XML Site" dir="xml-site/"/>
+  -->
+
+</tabs>

Added: web/doc_trunk/src/sitemap.xmap
===================================================================
--- web/doc_trunk/src/sitemap.xmap	                        (rev 0)
+++ web/doc_trunk/src/sitemap.xmap	2006-03-19 17:52:58 UTC (rev 4)
@@ -0,0 +1,72 @@
+<?xml version="1.0"?>
+<!--
+  Copyright 2002-2005 The Apache Software Foundation or its licensors,
+  as applicable.
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0">
+
+  <map:components>
+    <map:actions>
+      <map:action logger="sitemap.action.sourcetype" name="sourcetype" src="org.apache.forrest.sourcetype.SourceTypeAction">
+        <sourcetype name="hello-v1.0">
+          <document-declaration public-id="-//Acme//DTD Hello Document V1.0//EN" />
+        </sourcetype>
+      </map:action>
+    </map:actions>   
+    
+    <map:selectors default="parameter">
+	    <map:selector logger="sitemap.selector.parameter" name="parameter" src="org.apache.cocoon.selection.ParameterSelector" />
+    </map:selectors>
+  </map:components>
+  
+  <map:resources>    
+    <map:resource name="transform-to-document">
+      <map:act type="sourcetype" src="{src}">
+        <map:select type="parameter">
+          <map:parameter name="parameter-selector-test" value="{sourcetype}" />
+
+          <map:when test="hello-v1.0">
+            <map:generate src="{project:content.xdocs}{../../1}.xml" />
+            <map:transform src="{project:resources.stylesheets}/hello2document.xsl" />
+            <map:serialize type="xml-document"/>
+          </map:when>
+        </map:select>
+      </map:act>
+    </map:resource>
+  </map:resources>
+  
+ <map:pipelines>
+  <map:pipeline>
+    <map:match pattern="old_site/*.html">
+     <map:select type="exists">
+      <map:when test="{project:content}{1}.html">
+        <map:read src="{project:content}{1}.html" mime-type="text/html"/>
+        <!--
+          Use this instead if you want JTidy to clean up your HTML
+          <map:generate type="html" src="{project:content}/{0}" />
+          <map:serialize type="html"/>
+        -->
+      </map:when>
+     </map:select>
+   </map:match>
+  
+   <map:match pattern="**.xml">
+      <map:call resource="transform-to-document">
+        <map:parameter name="src" value="{project:content.xdocs}{1}.xml" />
+      </map:call>
+    </map:match>
+  </map:pipeline>
+ </map:pipelines>
+</map:sitemap>

Added: web/doc_trunk/src/skinconf.xml
===================================================================
--- web/doc_trunk/src/skinconf.xml	                        (rev 0)
+++ web/doc_trunk/src/skinconf.xml	2006-03-19 17:52:58 UTC (rev 4)
@@ -0,0 +1,441 @@
+<?xml version="1.0"?>
+<!--
+  Copyright 2002-2005 The Apache Software Foundation or its licensors,
+  as applicable.
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<!--
+Skin configuration file. This file contains details of your project,
+which will be used to configure the chosen Forrest skin.
+-->
+
+<!DOCTYPE skinconfig PUBLIC "-//APACHE//DTD Skin Configuration V0.7-1//EN" "http://forrest.apache.org/dtd/skinconfig-v07-1.dtd">
+<skinconfig>
+  <!-- To enable lucene search add provider="lucene" (default is google).
+    Add box-location="alt" to move the search box to an alternate location
+    (if the skin supports it) and box-location="all" to show it in all
+    available locations on the page.  Remove the <search> element to show
+    no search box. @domain will enable sitesearch for the specific domain with google.
+    In other words google will search the @domain for the query string.
+  -->
+  <search name="MyProject" domain="mydomain" provider="google"/>
+
+  <!-- Disable the print link? If enabled, invalid HTML 4.0.1 -->
+  <disable-print-link>true</disable-print-link>  
+  <!-- Disable the PDF link? -->
+  <disable-pdf-link>false</disable-pdf-link>
+  <!-- Disable the POD link? -->
+  <disable-pod-link>false</disable-pod-link>
+  <!-- Disable the Text link? FIXME: NOT YET IMPLEMENETED. -->
+  <disable-txt-link>false</disable-txt-link>
+  <!-- Disable the xml source link? -->
+  <!-- The xml source link makes it possible to access the xml rendition
+    of the source frim the html page, and to have it generated statically.
+    This can be used to enable other sites and services to reuse the
+    xml format for their uses. Keep this disabled if you don't want other
+    sites to easily reuse your pages.-->
+  <disable-xml-link>false</disable-xml-link>
+
+  <!-- Disable navigation icons on all external links? -->
+  <disable-external-link-image>true</disable-external-link-image>
+
+  <!-- Disable w3c compliance links? 
+    Use e.g. align="center" to move the compliance links logos to 
+    an alternate location default is left.
+    (if the skin supports it) -->
+  <disable-compliance-links>false</disable-compliance-links>
+
+  <!-- Render mailto: links unrecognisable by spam harvesters? -->
+  <obfuscate-mail-links>true</obfuscate-mail-links>
+  <obfuscate-mail-value>.at.</obfuscate-mail-value>
+
+  <!-- Disable the javascript facility to change the font size -->
+  <disable-font-script>true</disable-font-script>
+
+  <!-- mandatory project logo
+       default skin: renders it at the top -->
+  <project-name>JLink::Trunk Documentation</project-name>
+  <project-description>The Documentation of the Trunk</project-description>
+  <project-url>http://java-link.sf.net/</project-url>
+  <project-logo>images/project.png</project-logo>
+  <!-- Alternative static image:
+  <project-logo>images/project-logo.gif</project-logo> -->
+
+  <!-- optional group logo
+       default skin: renders it at the top-left corner -->
+  <group-name></group-name>
+  <group-description></group-description>
+  <group-url></group-url>
+  <group-logo></group-logo>
+  <!-- Alternative static image:
+  <group-logo>images/group-logo.gif</group-logo> -->
+
+  <!-- optional host logo (e.g. sourceforge logo)
+       default skin: renders it at the bottom-left corner -->
+  <host-url>http://sourceforge.net/</host-url>
+  <host-logo>http://sflogo.sourceforge.net/sflogo.php?group_id=162264&amp;type=4</host-logo>
+
+  <!-- relative url of a favicon file, normally favicon.ico -->
+  <favicon-url></favicon-url>
+
+  <!-- The following are used to construct a copyright statement -->
+  <year></year>
+  <vendor></vendor>
+  <!-- The optional copyright-link URL will be used as a link in the
+    copyright statement
+  <copyright-link>http://www.apache.org/licenses/</copyright-link>
+  -->
+
+  <!-- Some skins use this to form a 'breadcrumb trail' of links.
+    Use location="alt" to move the trail to an alternate location
+    (if the skin supports it).
+    Omit the location attribute to display the trail in the default location.
+    Use location="none" to not display the trail (if the skin supports it).
+    For some skins just set the attributes to blank.
+    
+    NOTE: If a breadcrumb entry points at a local file the href must
+    be complete, that is it must point to the file itself, not to a 
+    directory.
+  -->
+  <trail>
+    <link1 name="Sourceforge" href="http://sourceforge.net/"/>
+    <link2 name="JLink" href="http://java-link.sf.net/"/>
+    <link3 name="" href=""/>
+  </trail>
+
+  <!-- Configure the TOC, i.e. the Table of Contents.
+  @max-depth
+   how many "section" levels need to be included in the
+   generated Table of Contents (TOC). 
+  @min-sections
+   Minimum required to create a TOC.
+  @location ("page","menu","page,menu", "none")
+   Where to show the TOC.
+  -->
+  <toc max-depth="3" min-sections="4" location="page"/>
+
+  <!-- Heading types can be clean|underlined|boxed  -->
+  <headings type="boxed"/>
+  
+  <!-- The optional feedback element will be used to construct a
+    feedback link in the footer with the page pathname appended:
+    <a href="@href">{@to}</a>
+    -->
+  <feedback to="web...@fo..."
+    href="mailto:web...@fo...?subject=Feedback&#160;" >
+    Send feedback about the website to:
+  </feedback>
+
+  <!-- Optional message of the day (MOTD).
+    Note: This is only implemented in the pelt skin.
+    If the optional <motd> element is used, then messages will be appended
+    depending on the URI string pattern.
+    motd-option : Specifies a pattern to match and provides small text content.
+    motd-title : This text will be added in brackets after the <html><title>
+    motd-page : This text will be added in a panel on the face of the page,
+    with the "motd-page-url" being the hyperlink "More".
+    Values for the "location" attribute are:
+      page : on the face of the page, e.g. in the spare space of the toc
+      alt : at the bottom of the left-hand navigation panel
+      both : both
+    -->
+<!--
+  <motd>
+    <motd-option pattern="docs_0_80">
+      <motd-title>v0.8-dev</motd-title>
+      <motd-page location="both">
+        This is documentation for development version v0.8
+      </motd-page>
+      <motd-page-url>/versions/index.html</motd-page-url>
+    </motd-option>
+    <motd-option pattern="docs_0_70">
+      <motd-title>v0.7</motd-title>
+      <motd-page location="both">
+        This is documentation for current version v0.7
+      </motd-page>
+      <motd-page-url>/versions/index.html</motd-page-url>
+    </motd-option>
+  </motd>
+-->
+
+  <!--
+    extra-css - here you can define custom css-elements that are 
+    A) overriding the fallback elements or 
+    B) adding the css definition from new elements that you may have 
+       used in your documentation.
+    -->
+  <extra-css>
+    <!--Example of reason B:
+        To define the css definition of a new element that you may have used
+        in the class attribute of a <p> node. 
+        e.g. <p class="quote"/>
+    -->
+    p.quote {
+      margin-left: 2em;
+      padding: .5em;
+      background-color: #f0f0f0;
+      font-family: monospace;
+    }
+    <!--Example:
+        To override the colours of links only in the footer.
+    -->
+    #footer a { color: #0F3660; }
+    #footer a:visited { color: #009999; }
+  </extra-css>
+
+  <colors>
+  <!-- These values are used for the generated CSS files.
+    They essentially "override" the default colors defined in the chosen skin.
+    There are four duplicate "groups" of colors below, denoted by comments:
+      Color group: Forrest, Krysalis, Collabnet, and Lenya using Pelt.
+    They are provided for example only. To customize the colors of any skin,
+    uncomment one of these groups of color elements and change the values
+    of the particular color elements that you wish to change.
+    Note that by default, all color groups are commented-out which means that
+    the default colors provided by the skin are being used.
+  -->
+
+  <!-- Color group: Forrest: example colors similar to forrest.apache.org
+    Some of the element names are obscure, so comments are added to show how
+    the "pelt" skin uses them, other skins might use these elements in a different way.
+    Tip: temporarily change the value of an element to red (#ff0000) and see the effect.
+     pelt: breadtrail: the strip at the top of the page and the second strip under the tabs
+     pelt: header: top strip containing project and group logos
+     pelt: heading|subheading: section headings within the content
+     pelt: navstrip: the strip under the tabs which contains the published date
+     pelt: menu: the left-hand navigation panel
+     pelt: toolbox: the selected menu item
+     pelt: searchbox: the background of the searchbox
+     pelt: border: line border around selected menu item
+     pelt: body: any remaining parts, e.g. the bottom of the page
+     pelt: footer: the second from bottom strip containing credit logos and published date
+     pelt: feedback: the optional bottom strip containing feedback link
+  -->
+
+    <color name="breadtrail" value="#cedfef" font="#0F3660" link="#0F3660" vlink="#0F3660" hlink="#000066"/>
+    <color name="header" value="#294563"/>
+    <color name="tab-selected" value="#4a6d8c" link="#0F3660" vlink="#0F3660" hlink="#000066"/>
+    <color name="tab-unselected" value="#b5c7e7" link="#0F3660" vlink="#0F3660" hlink="#000066"/>
+    <color name="subtab-selected" value="#4a6d8c" link="#0F3660" vlink="#0F3660" hlink="#000066"/>
+    <color name="subtab-unselected" value="#4a6d8c" link="#0F3660" vlink="#0F3660" hlink="#000066"/>
+    <color name="heading" value="#294563"/>
+    <color name="subheading" value="#4a6d8c"/>
+    <color name="published" value="#4C6C8F" font="#FFFFFF"/>
+    <color name="feedback" value="#4C6C8F" font="#FFFFFF" align="center"/>
+    <color name="navstrip" value="#4a6d8c" font="#ffffff" link="#0F3660" vlink="#0F3660" hlink="#000066"/>
+    <color name="menu" value="#4a6d8c" font="#cedfef" link="#ffffff" vlink="#ffffff" hlink="#ffcf00"/>    
+    <color name="toolbox" value="#4a6d8c"/>
+    <color name="border" value="#294563"/>
+    <color name="dialog" value="#4a6d8c"/>
+    <color name="searchbox" value="#4a6d8c" font="#000000"/>
+    <color name="body" value="#ffffff" link="#0F3660" vlink="#009999" hlink="#000066"/>
+    <color name="table" value="#7099C5"/>    
+    <color name="table-cell" value="#f0f0ff"/>    
+    <color name="highlight" value="#ffff00"/>
+    <color name="fixme" value="#cc6600"/>
+    <color name="note" value="#006699"/>
+    <color name="warning" value="#990000"/>
+    <color name="code" value="#CFDCED"/>
+    <color name="footer" value="#cedfef"/>
+
+
+  <!-- Color group: Krysalis -->
+<!--
+    <color name="header"    value="#FFFFFF"/>
+
+    <color name="tab-selected" value="#a5b6c6" link="#000000" vlink="#000000" hlink="#000000"/>
+    <color name="tab-unselected" value="#F7F7F7"  link="#000000" vlink="#000000" hlink="#000000"/>
+    <color name="subtab-selected" value="#a5b6c6"  link="#000000" vlink="#000000" hlink="#000000"/>
+    <color name="subtab-unselected" value="#a5b6c6"  link="#000000" vlink="#000000" hlink="#000000"/>
+
+    <color name="heading" value="#a5b6c6"/>
+    <color name="subheading" value="#CFDCED"/>
+        
+    <color name="navstrip" value="#CFDCED" font="#000000" link="#000000" vlink="#000000" hlink="#000000"/>
+    <color name="toolbox" value="#a5b6c6"/>
+    <color name="border" value="#a5b6c6"/>
+        
+    <color name="menu" value="#F7F7F7" link="#000000" vlink="#000000" hlink="#000000"/>    
+    <color name="dialog" value="#F7F7F7"/>
+            
+    <color name="body"    value="#ffffff" link="#0F3660" vlink="#009999" hlink="#000066"/>
+    
+    <color name="table" value="#a5b6c6"/>    
+    <color name="table-cell" value="#ffffff"/>    
+    <color name="highlight" value="#ffff00"/>
+    <color name="fixme" value="#cc6600"/>
+    <color name="note" value="#006699"/>
+    <color name="warning" value="#990000"/>
+    <color name="code" value="#a5b6c6"/>
+        
+    <color name="footer" value="#a5b6c6"/>
+-->
+
+  <!-- Color group: Collabnet --> 
+<!--
+    <color name="header"    value="#003366"/>
+
+    <color name="tab-selected" value="#dddddd" link="#555555" vlink="#555555" hlink="#555555"/>
+    <color name="tab-unselected" value="#999999" link="#ffffff" vlink="#ffffff" hlink="#ffffff"/>
+    <color name="subtab-selected" value="#cccccc" link="#000000" vlink="#000000" hlink="#000000"/>
+    <color name="subtab-unselected" value="#cccccc" link="#555555" vlink="#555555" hlink="#555555"/>
+
+    <color name="heading" value="#003366"/>
+    <color name="subheading" value="#888888"/>
+    
+    <color name="navstrip" value="#dddddd" font="#555555"/>
+    <color name="toolbox" value="#dddddd" font="#555555"/>
+    <color name="border" value="#999999"/>
+    
+    <color name="menu" value="#ffffff"/>    
+    <color name="dialog" value="#eeeeee"/>
+            
+    <color name="body"      value="#ffffff"/>
+    
+    <color name="table" value="#ccc"/>    
+    <color name="table-cell" value="#ffffff"/>   
+    <color name="highlight" value="#ffff00"/>
+    <color name="fixme" value="#cc6600"/>
+    <color name="note" value="#006699"/>
+    <color name="warning" value="#990000"/>
+    <color name="code" value="#003366"/>
+        
+    <color name="footer" value="#ffffff"/>
+-->
+ <!-- Color group: Lenya using pelt-->
+<!--
+
+    <color name="header" value="#ffffff"/>
+
+    <color name="tab-selected" value="#E5E4D9" link="#000000" vlink="#000000" hlink="#000000"/>
+    <color name="tab-unselected" value="#F5F4E9" link="#000000" vlink="#000000" hlink="#000000"/>
+    <color name="subtab-selected" value="#000000" link="#000000" vlink="#000000" hlink="#000000"/>
+    <color name="subtab-unselected" value="#E5E4D9" link="#000000" vlink="#000000" hlink="#000000"/>
+
+    <color name="heading" value="#E5E4D9"/>
+    <color name="subheading" value="#000000"/>
+    <color name="published" value="#000000"/>
+    <color name="navstrip" value="#E5E4D9" font="#000000"/>
+    <color name="toolbox" value="#CFDCED" font="#000000"/>
+    <color name="border" value="#999999"/>
+
+    <color name="menu" value="#E5E4D9" font="#000000" link="#000000" vlink="#000000" hlink="#000000"/>
+    <color name="dialog" value="#CFDCED"/>
+    <color name="body" value="#ffffff" />
+
+    <color name="table" value="#ccc"/>
+    <color name="table-cell" value="#ffffff"/>
+    <color name="highlight" value="#ffff00"/>
+    <color name="fixme" value="#cc6600"/>
+    <color name="note" value="#006699"/>
+    <color name="warning" value="#990000"/>
+    <color name="code" value="#003366"/>
+
+    <color name="footer" value="#E5E4D9"/>
+-->
+  </colors>
+ 
+  <!-- Settings specific to PDF output. -->
+  <pdf>
+    <!-- 
+       Supported page sizes are a0, a1, a2, a3, a4, a5, executive,
+       folio, legal, ledger, letter, quarto, tabloid (default letter).
+       Supported page orientations are portrait, landscape (default
+       portrait).
+       Supported text alignments are left, right, justify (default left).
+    -->
+    <page size="letter" orientation="portrait" text-align="left"/>
+
+    <!-- 
+       Pattern of the page numbering in the footer - Default is "Page x".
+       first occurrence of '1' digit represents the current page number,
+       second occurrence of '1' digit represents the total page number,
+       anything else is considered as the static part of the numbering pattern.
+       Examples : x is the current page number, y the total page number.
+       <page-numbering-format>none</page-numbering-format> Do not displays the page numbering
+       <page-numbering-format>1</page-numbering-format> Displays "x"
+       <page-numbering-format>p1.</page-numbering-format> Displays "px."
+       <page-numbering-format>Page 1/1</page-numbering-format> Displays "Page x/y"
+       <page-numbering-format>(1-1)</page-numbering-format> Displays "(x-y)"
+    -->
+    <page-numbering-format>Page 1</page-numbering-format>
+
+    <!--
+       Margins can be specified for top, bottom, inner, and outer
+       edges. If double-sided="false", the inner edge is always left
+       and the outer is always right. If double-sided="true", the
+       inner edge will be left on odd pages, right on even pages,
+       the outer edge vice versa.
+       Specified below are the default settings.
+    -->
+    <margins double-sided="false">
+      <top>1in</top>
+      <bottom>1in</bottom>
+      <inner>1.25in</inner>
+      <outer>1in</outer>
+    </margins>
+
+    <!--
+      Print the URL text next to all links going outside the file
+    -->
+    <show-external-urls>false</show-external-urls>
+
+    <!--
+      Disable the copyright footer on each page of the PDF.
+      A footer is composed for each page. By default, a "credit" with role=pdf
+      will be used, as explained below. Otherwise a copyright statement
+      will be generated. This latter can be disabled.
+    -->
+    <disable-copyright-footer>false</disable-copyright-footer>
+  </pdf>
+
+  <!-- 
+    Credits are typically rendered as a set of small clickable
+    images in the page footer.
+    
+    Use box-location="alt" to move the credits to an alternate location
+    (if the skin supports it).
+
+    For example, pelt skin:
+    - box-location="alt" will place the logo at the end of the
+      left-hand coloured menu panel.
+    - box-location="alt2" will place them underneath that panel
+      in the left-hand whitespace.
+    - Otherwise they are placed next to the compatibility icons
+      at the bottom of the screen.
+
+    Comment out the whole <credit>-element if you want no credits in the
+    web pages  
+   -->
+  <credits>
+    <credit box-location="alt">
+      <name>Built with Apache Forrest</name>
+      <url>http://forrest.apache.org/</url>
+      <image>images/built-with-forrest-button.png</image>
+      <width>88</width>
+      <height>31</height>
+    </credit>
+    <!-- A credit with @role="pdf" will be used to compose a footer
+     for each page in the PDF, using either "name" or "url" or both.
+    -->
+    <!--
+    <credit role="pdf">
+      <name>Built with Apache Forrest</name>
+      <url>http://forrest.apache.org/</url>
+    </credit>
+    -->
+  </credits>
+
+</skinconfig>


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.



[Java-link-svn] SF.net SVN: java-link: [3]
From: <wel...@us...> - 2006-03-11 14:59:51
Revision: 3
Author:   welterde0
Date:     2006-03-11 06:58:56 -0800 (Sat, 11 Mar 2006)
ViewCVS:  http://svn.sourceforge.net/java-link/?rev=3&view=rev

Log Message:
-----------
updated MainMenu to use the new MainMenu
added simple PasswordLoginWidget
added folder web to hold the homepage of JLink

Modified Paths:
--------------
    trunk/Client/nbproject/private/private.properties
    trunk/Client/nbproject/project.properties
    trunk/Client/src/org/jlink/ClientCore.java
    trunk/Client/src/org/jlink/ClientFrontend.java
    trunk/Client/src/org/jlink/client/frontend/menu/MainMenu.form
    trunk/Client/src/org/jlink/client/frontend/menu/MainMenu.java
    trunk/Client/src/org/jlink/client/frontend/theme/Theme.java
    trunk/Share/src/org/jlink/resources/FontLoader.java
    trunk/themes/default/menues/main/system-change_server.png
    trunk/themes/default/theme.xml

Added Paths:
-----------
    trunk/Client/src/org/jlink/client/frontend/PasswordLoginWidget.form
    trunk/Client/src/org/jlink/client/frontend/PasswordLoginWidget.java
    trunk/Client/src/org/jlink/client/frontend/PasswordLoginWidgetListener.java
    trunk/Client/src/org/jlink/client/frontend/controll/
    trunk/Client/src/org/jlink/client/frontend/controll/FrontendController.java
    trunk/Client/src/org/jlink/client/frontend/controll/MainMenuController.java
    trunk/Client/src/org/jlink/client/frontend/gal/
    trunk/Client/src/org/jlink/client/frontend/gal/Frontend.java
    trunk/Client/src/org/jlink/client/frontend/gal/FrontendListener.java
    trunk/Client/src/org/jlink/client/frontend/gal/MainMenu.java
    trunk/Client/src/org/jlink/client/frontend/gal/impl/
    trunk/Client/src/org/jlink/client/frontend/gal/impl/FrontendImpl.java
    trunk/Client/src/org/jlink/client/frontend/menu/MainMenuListener.java
    trunk/lib/jdom/
    trunk/lib/jdom/jaxen-core.jar
    trunk/lib/jdom/jaxen-jdom.jar
    trunk/lib/jdom/jdom.jar
    trunk/lib/jdom/saxpath.jar
    web/
    web/doc_trunk/
Modified: trunk/Client/nbproject/private/private.properties
===================================================================
--- trunk/Client/nbproject/private/private.properties	2006-03-10 12:53:52 UTC (rev 2)
+++ trunk/Client/nbproject/private/private.properties	2006-03-11 14:58:56 UTC (rev 3)
@@ -1,6 +1,10 @@
 application.args=../
+file.reference.jaxen-core.jar=../lib/jdom/jaxen-core.jar
+file.reference.jaxen-jdom.jar=../lib/jdom/jaxen-jdom.jar
+file.reference.jdom.jar=../lib/jdom/jdom.jar
 file.reference.log4j.jar=../lib/log4j/log4j.jar
-file.reference.swing-layout.jar=/home/tassilo/Documents/dev/jlink/svn/trunk/lib/other/swing-layout.jar
+file.reference.saxpath.jar=../lib/jdom/saxpath.jar
+file.reference.swing-layout.jar=../lib/other/swing-layout.jar
 javac.debug=true
 javadoc.preview=true
 project.Share=../Share

Modified: trunk/Client/nbproject/project.properties
===================================================================
--- trunk/Client/nbproject/project.properties	2006-03-10 12:53:52 UTC (rev 2)
+++ trunk/Client/nbproject/project.properties	2006-03-11 14:58:56 UTC (rev 3)
@@ -16,12 +16,20 @@
 dist.dir=dist
 dist.jar=${dist.dir}/Client.jar
 dist.javadoc.dir=${dist.dir}/javadoc
+file.reference.jaxen-core.jar=../lib/jdom/jaxen-core.jar
+file.reference.jaxen-jdom.jar=../lib/jdom/jaxen-jdom.jar
+file.reference.jdom.jar=../lib/jdom/jdom.jar
+file.reference.saxpath.jar=../lib/jdom/saxpath.jar
 file.reference.swing-layout.jar=../lib/other/swing-layout.jar
 jar.compress=true
 javac.classpath=\
     ${reference.Share.jar}:\
     ${file.reference.log4j.jar}:\
     ${file.reference.swing-layout.jar}:\
+    ${file.reference.jdom.jar}:\
+    ${file.reference.jaxen-core.jar}:\
+    ${file.reference.jaxen-jdom.jar}:\
+    ${file.reference.saxpath.jar}:\
     ${libs.swing-layout.classpath}
 # Space-separated list of extra javac options
 javac.compilerargs=-Xlint:unchecked

Modified: trunk/Client/src/org/jlink/ClientCore.java
===================================================================
--- trunk/Client/src/org/jlink/ClientCore.java	2006-03-10 12:53:52 UTC (rev 2)
+++ trunk/Client/src/org/jlink/ClientCore.java	2006-03-11 14:58:56 UTC (rev 3)
@@ -53,7 +53,7 @@
         ret.log = Logger.getLogger("jlink.coreD");
         ret.log.debug("Core created");
         //Core::init()
-        ret.pool_run_now = new ThreadPoolExecutor(6, Integer.MAX_VALUE, 60L, TimeUnit.SECONDS, new ArrayBlockingQueue(20, true));
+        ret.pool_run_now = new ThreadPoolExecutor(6, Integer.MAX_VALUE, 60L, TimeUnit.SECONDS, new ArrayBlockingQueue<Runnable>(20, true));
         
         
         //mods::init()

Modified: trunk/Client/src/org/jlink/ClientFrontend.java
===================================================================
--- trunk/Client/src/org/jlink/ClientFrontend.java	2006-03-10 12:53:52 UTC (rev 2)
+++ trunk/Client/src/org/jlink/ClientFrontend.java	2006-03-11 14:58:56 UTC (rev 3)
@@ -28,6 +28,8 @@
 import org.jlink.Options;
 //import::own::frontend
 import org.jlink.client.frontend.MainFrame;
+import org.jlink.client.frontend.menu.MainMenu;
+import org.jlink.client.frontend.menu.MainMenuListener;
 import org.jlink.client.frontend.theme.ThemeManager;
 import org.jlink.client.frontend.theme.Theme;
 //import::own::gui
@@ -58,10 +60,13 @@
 public class ClientFrontend implements Module, ServerController {
     private ClientFrontend() {
     }
+    
+    
+    //The Module itself
     public static ClientFrontend create(ClientCore c) {
         ClientFrontend ret = null;
         ret = new ClientFrontend();
-        ret.c = c;
+        ret.modCore = c;
         ret.log = Logger.getLogger("jlink.frontend");
         
         ret.log.debug("ClientFrontend::create(Core) called");
@@ -99,56 +104,67 @@
         return ret;
     }
     public void run() throws IllegalStateException {
-        if(!this.active)
-            throw new IllegalStateException("already destroyed");
-        this.root.enable();
-        this.mainmenu = this.createMainMenu();
-        this.root.setFrame(this.mainmenu.getComponent());
-        while(this.active) {
-            try {
-                this.operate();
+        this.modThread = Thread.currentThread();
+        try {
+            if(!this.modActive)
+                throw new IllegalStateException("already destroyed");
+            
+            
+            log.debug("setting up");
+            this.frntMainMenu = new MainMenu();
+            this.frntMainMenu.setListener(new MainMenuListener() {
+                public void runChangeServer() {
+                }
+
+                public void runOptions() {
+                }
+
+                public void runCreateAcc() {
+                }
+
+                public void runExit() {
+                    modCore.destroy();
+                }
+                
+            });
+            
+            this.root.setFrame(this.frntMainMenu);
+            this.root.enable();
+            while(this.modActive) {
+                try {
+                    this.operate();
+                }
+                catch(Exception e) {
+                    log.error("caught Exception", e);
+                }
             }
-            catch(Exception e) {
-                this.log.error("caught Exception", e);
-            }
+            this.root.disable();
+        } finally {
+            this.modThread = null;
         }
-        this.root.disable();
     }
-
     public void destroy() {
-        this.active = false;
+        this.modActive = false;
     }
-
     public boolean isDestroyed() {
-        return this.active;
+        return this.modActive;
     }
+    public void join() {
+        if(this.modThread == null)
+            throw new IllegalStateException("Module not running");
+        while(true) {
+            try {
+                this.modThread.join();
+                break;
+            } catch(InterruptedException e) {
+            }
+        }
+    }
     
     
     //Run methods
     /////////////
     private void operate() throws Exception {
-        synchronized(this.lock0) {
-            log.debug("lock0::wait()");
-            this.lock0.wait();
-            log.debug("lock0::wait() done");
-        }
-        if(this.mainCh == -1)
-            return;
-        switch(this.mainCh) {
-            case 1:
-                //showing Input Dialog
-                String h = null;
-                int    p = 0;
-                h = JOptionPane.showInputDialog(this.mainmenu.getComponent(), "Please enter the Server host");
-                //TODO: ask for port
-                p = 3470;
-                log.debug("setting Core::server variables to {}:{}", h, p);
-                this.c.setServerHost(h);
-                this.c.setServerPort(p);
-                log.debug("calling Core::connect()");
-                this.c.connect();
-                log.debug("done");
-        }
     }
     
     
@@ -158,101 +174,50 @@
     
     //private classes
     //private Methods
-    private MenuBean createMainMenu() {
-        MenuBean ret = new MenuBean(this.mx, this.my);
-        
-        ThemeManager tm = ThemeManager.get();
-        log.debug("loading Images");
-        //Image img_sys_exit = Toolkit.getDefaultToolkit().createImage(new File(ClientMain.
-        //        getDir_app(), "themes/default/menues/main/system-exit.png").getAbsolutePath());
-        //Image img_sys_cs   = Toolkit.getDefaultToolkit().createImage(new File(ClientMain.
-        //        getDir_app(), "themes/default/menues/main/system-change_server.png").getAbsolutePath());
-        Image img_sys_exit = tm.getCurrentTheme().getImage("menues/main/system-exit.png");
-        Image img_sys_cs   = tm.getCurrentTheme().getImage("menues/main/system-change_server.png");
-        //TODO: add other imgs(on demand)
-        log.debug("scaling images");
-        int x0 = (int) (64 * mx);
-        int y0 = (int) (64 * my);
-        int x1 = (int) (64 * mx);
-        int y1 = (int) (64 * my);
-        img_sys_exit = img_sys_exit.getScaledInstance(x0, y0, Image.SCALE_SMOOTH);
-        img_sys_cs   = img_sys_cs.getScaledInstance(x1, y1, Image.SCALE_SMOOTH);
-        
-        log.debug("waiting for being scaled");
-        MediaTracker mt = new MediaTracker(ret.getComponent());
-        mt.addImage(img_sys_exit, 0);
-        mt.addImage(img_sys_cs, 1);
-        //TODO: add other imgs(on demand)
-        try {
-            mt.waitForAll();
-        } catch (InterruptedException ex) {
-            //do nothing
-        }
-        
-        log.debug("adding buttons");
-        ret.addButton("sys_exit", new ImageIcon(img_sys_exit), 896, 448, 56, 53, "Exits JLink.");
-        ret.addButtonListener("sys_exit", new ActionListener() {
-            public void actionPerformed(ActionEvent evt) {
-                c.destroy();
-            }
-        });
-        ret.addButton("sys-change_server", new ImageIcon(img_sys_cs), 896, 64, 70, 64, "Changes the Server");
-        ret.addButtonListener("sys-change_server", new ActionListener() {
-            public void actionPerformed(ActionEvent evt) {
-                synchronized(lock0) {
-                    lock0.notify();
-                }
-                mainCh = 1;
-            }
-        });
-        
-        return ret;
-    }
 
     public void connect() {
         log.debug("Frontend::connect() delegated");
-        this.c.connect();
+        this.modCore.connect();
     }
 
     public void disconnect() {
         log.debug("Frontend::disconnect() delegated");
-        this.c.disconnect();
+        this.modCore.disconnect();
     }
 
     public void setServerHost(String nhost) {
         log.debug("Frontend::setServerHost({}) delegated", nhost);
-        this.c.setServerHost(nhost);
+        this.modCore.setServerHost(nhost);
     }
 
     public String getServerHost() {
         log.debug("Frontend::getServerHost() delegated");
-        return this.c.getServerHost();
+        return this.modCore.getServerHost();
     }
 
     public void setServerPort(int nport) {
         log.debug("Frontend::setServerPort({}) delegated");
-        this.c.setServerPort(nport);
+        this.modCore.setServerPort(nport);
     }
 
     public int getServerPort() {
         log.debug("Frontend::getServerPort() delegated");
-        return this.c.getServerPort();
+        return this.modCore.getServerPort();
     }
-
-    public void join() {
-    }
     
     
+    //The Module itself
+    private Thread     modThread = null;
+    private boolean    modActive = true;
+    private ClientCore modCore   = null;
     
+    //The Frontend itself
+    private MainMenu frntMainMenu = null;
     
+    
     //private Attributes
-    private boolean    active   = true;
     private MainFrame  root     = null;
     private double     mx       = 1;
     private double     my       = 1;
     private Logger     log      = null;
-    private ClientCore c        = null;
-    private String     lock0    = "";
-    private byte       mainCh   = -1;
-    private MenuBean   mainmenu = null;
 }

Added: trunk/Client/src/org/jlink/client/frontend/PasswordLoginWidget.form
===================================================================
--- trunk/Client/src/org/jlink/client/frontend/PasswordLoginWidget.form	                        (rev 0)
+++ trunk/Client/src/org/jlink/client/frontend/PasswordLoginWidget.form	2006-03-11 14:58:56 UTC (rev 3)
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<Form version="1.3" type="org.netbeans.modules.form.forminfo.JPanelFormInfo">
+  <AuxValues>
+    <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
+    <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
+  </AuxValues>
+
+  <Layout>
+    <DimensionLayout dim="0">
+      <Group type="103" groupAlignment="0" attributes="0">
+          <Group type="102" attributes="0">
+              <EmptySpace max="-2" attributes="0"/>
+              <Group type="103" groupAlignment="0" attributes="0">
+                  <Component id="jLabel1" alignment="0" pref="376" max="32767" attributes="0"/>
+                  <Group type="102" alignment="0" attributes="0">
+                      <Group type="103" groupAlignment="0" attributes="0">
+                          <Component id="jLabel2" min="-2" max="-2" attributes="0"/>
+                          <Component id="jLabel3" alignment="0" min="-2" max="-2" attributes="0"/>
+                      </Group>
+                      <EmptySpace max="-2" attributes="0"/>
+                      <Group type="103" groupAlignment="0" attributes="0">
+                          <Component id="jPasswordField1" alignment="0" pref="314" max="32767" attributes="0"/>
+                          <Component id="jTextField1" alignment="0" pref="314" max="32767" attributes="0"/>
+                      </Group>
+                  </Group>
+                  <Group type="102" alignment="0" attributes="0">
+                      <Component id="jButton1" min="-2" max="-2" attributes="0"/>
+                      <EmptySpace pref="247" max="32767" attributes="0"/>
+                      <Component id="jButton2" min="-2" max="-2" attributes="0"/>
+                  </Group>
+              </Group>
+              <EmptySpace max="-2" attributes="0"/>
+          </Group>
+      </Group>
+    </DimensionLayout>
+    <DimensionLayout dim="1">
+      <Group type="103" groupAlignment="0" attributes="0">
+          <Group type="102" alignment="0" attributes="0">
+              <EmptySpace max="-2" attributes="0"/>
+              <Component id="jLabel1" min="-2" pref="42" max="-2" attributes="0"/>
+              <EmptySpace max="-2" attributes="0"/>
+              <Group type="103" groupAlignment="3" attributes="0">
+                  <Component id="jLabel2" alignment="3" min="-2" max="-2" attributes="0"/>
+                  <Component id="jTextField1" alignment="3" min="-2" max="-2" attributes="0"/>
+              </Group>
+              <EmptySpace max="-2" attributes="0"/>
+              <Group type="103" groupAlignment="3" attributes="0">
+                  <Component id="jPasswordField1" alignment="3" min="-2" max="-2" attributes="0"/>
+                  <Component id="jLabel3" alignment="3" min="-2" max="-2" attributes="0"/>
+              </Group>
+              <EmptySpace max="-2" attributes="0"/>
+              <Group type="103" groupAlignment="3" attributes="0">
+                  <Component id="jButton1" alignment="3" min="-2" max="-2" attributes="0"/>
+                  <Component id="jButton2" alignment="3" min="-2" max="-2" attributes="0"/>
+              </Group>
+              <EmptySpace pref="165" max="32767" attributes="0"/>
+          </Group>
+      </Group>
+    </DimensionLayout>
+  </Layout>
+  <SubComponents>
+    <Component class="javax.swing.JLabel" name="jLabel1">
+      <Properties>
+        <Property name="text" type="java.lang.String" value="Please Login now"/>
+      </Properties>
+    </Component>
+    <Component class="javax.swing.JLabel" name="jLabel2">
+      <Properties>
+        <Property name="text" type="java.lang.String" value="User-ID"/>
+      </Properties>
+    </Component>
+    <Component class="javax.swing.JTextField" name="jTextField1">
+    </Component>
+    <Component class="javax.swing.JPasswordField" name="jPasswordField1">
+    </Component>
+    <Component class="javax.swing.JLabel" name="jLabel3">
+      <Properties>
+        <Property name="text" type="java.lang.String" value="Pass-ID"/>
+      </Properties>
+    </Component>
+    <Component class="javax.swing.JButton" name="jButton1">
+      <Properties>
+        <Property name="text" type="java.lang.String" value="back"/>
+      </Properties>
+    </Component>
+    <Component class="javax.swing.JButton" name="jButton2">
+      <Properties>
+        <Property name="text" type="java.lang.String" value="login"/>
+      </Properties>
+      <Events>
+        <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="actionLogin"/>
+      </Events>
+    </Component>
+  </SubComponents>
+</Form>

Added: trunk/Client/src/org/jlink/client/frontend/PasswordLoginWidget.java
===================================================================
--- trunk/Client/src/org/jlink/client/frontend/PasswordLoginWidget.java	                        (rev 0)
+++ trunk/Client/src/org/jlink/client/frontend/PasswordLoginWidget.java	2006-03-11 14:58:56 UTC (rev 3)
@@ -0,0 +1,134 @@
+/*
+ * PasswordLoginWidget.java
+ *
+ * Created on 10. März 2006, 22:16
+ *
+ * JLink: An Introversion Uplink Clone with multiplayer support.
+ * Copyright (C) 2006 Tassilo Schweyer
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ */
+
+package org.jlink.client.frontend;
+
+/**
+ *
+ * @author  tassilo
+ */
+public class PasswordLoginWidget extends javax.swing.JPanel {
+    
+    /** Creates new form PasswordLoginWidget */
+    public PasswordLoginWidget() {
+        initComponents();
+    }
+    
+    public void setListener(PasswordLoginWidgetListener l) {
+        this.list = l;
+    }
+    
+    /** This method is called from within the constructor to
+     * initialize the form.
+     * WARNING: Do NOT modify this code. The content of this method is
+     * always regenerated by the Form Editor.
+     */
+    // <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents
+    private void initComponents() {
+        jLabel1 = new javax.swing.JLabel();
+        jLabel2 = new javax.swing.JLabel();
+        jTextField1 = new javax.swing.JTextField();
+        jPasswordField1 = new javax.swing.JPasswordField();
+        jLabel3 = new javax.swing.JLabel();
+        jButton1 = new javax.swing.JButton();
+        jButton2 = new javax.swing.JButton();
+
+        jLabel1.setText("Please Login now");
+
+        jLabel2.setText("User-ID");
+
+        jLabel3.setText("Pass-ID");
+
+        jButton1.setText("back");
+
+        jButton2.setText("login");
+        jButton2.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                actionLogin(evt);
+            }
+        });
+
+        org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(this);
+        this.setLayout(layout);
+        layout.setHorizontalGroup(
+            layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
+            .add(layout.createSequentialGroup()
+                .addContainerGap()
+                .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
+                    .add(jLabel1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 376, Short.MAX_VALUE)
+                    .add(layout.createSequentialGroup()
+                        .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
+                            .add(jLabel2)
+                            .add(jLabel3))
+                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
+                        .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
+                            .add(jPasswordField1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 314, Short.MAX_VALUE)
+                            .add(jTextField1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 314, Short.MAX_VALUE)))
+                    .add(layout.createSequentialGroup()
+                        .add(jButton1)
+                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, 247, Short.MAX_VALUE)
+                        .add(jButton2)))
+                .addContainerGap())
+        );
+        layout.setVerticalGroup(
+            layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
+            .add(layout.createSequentialGroup()
+                .addContainerGap()
+                .add(jLabel1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 42, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
+                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
+                .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
+                    .add(jLabel2)
+                    .add(jTextField1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
+                .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
+                    .add(jPasswordField1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
+                    .add(jLabel3))
+                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
+                .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
+                    .add(jButton1)
+                    .add(jButton2))
+                .addContainerGap(165, Short.MAX_VALUE))
+        );
+    }// </editor-fold>//GEN-END:initComponents
+
+    private void actionLogin(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_actionLogin
+        if(this.list == null)
+            return;
+        String u = this.jTextField1.getText();
+        String p = new String(this.jPasswordField1.getPassword());
+        this.list.goLogin(u, p);
+    }//GEN-LAST:event_actionLogin
+    
+    
+    // Variables declaration - do not modify//GEN-BEGIN:variables
+    private javax.swing.JButton jButton1;
+    private javax.swing.JButton jButton2;
+    private javax.swing.JLabel jLabel1;
+    private javax.swing.JLabel jLabel2;
+    private javax.swing.JLabel jLabel3;
+    private javax.swing.JPasswordField jPasswordField1;
+    private javax.swing.JTextField jTextField1;
+    // End of variables declaration//GEN-END:variables
+    
+    private PasswordLoginWidgetListener list = null;
+}

Added: trunk/Client/src/org/jlink/client/frontend/PasswordLoginWidgetListener.java
===================================================================
--- trunk/Client/src/org/jlink/client/frontend/PasswordLoginWidgetListener.java	                        (rev 0)
+++ trunk/Client/src/org/jlink/client/frontend/PasswordLoginWidgetListener.java	2006-03-11 14:58:56 UTC (rev 3)
@@ -0,0 +1,39 @@
+/*
+ * PasswordLoginWidgetListener.java
+ *
+ * Created on 10. März 2006, 22:25
+ *
+ * JLink: An Introversion Uplink Clone with multiplayer support.
+ * Copyright (C) 2006 Tassilo Schweyer
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ */
+
+package org.jlink.client.frontend;
+
+//import
+//import::sys
+//import::sys::util
+import java.util.EventListener;
+import java.util.EventObject;
+
+/**
+ *
+ * @author tassilo
+ */
+public interface PasswordLoginWidgetListener extends EventListener {
+    public void goLogin(String user, String pass);
+    public void goBack();
+}

Added: trunk/Client/src/org/jlink/client/frontend/controll/FrontendController.java
===================================================================
--- trunk/Client/src/org/jlink/client/frontend/controll/FrontendController.java	                        (rev 0)
+++ trunk/Client/src/org/jlink/client/frontend/controll/FrontendController.java	2006-03-11 14:58:56 UTC (rev 3)
@@ -0,0 +1,43 @@
+/*
+ * FrontendController.java
+ *
+ * Created on 10. März 2006, 23:01
+ *
+ * JLink: An Introversion Uplink Clone with multiplayer support.
+ * Copyright (C) 2006 Tassilo Schweyer
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ */
+
+package org.jlink.client.frontend.controll;
+
+//import
+//import::own
+//import::sys
+
+
+/**
+ *
+ * @author tassilo
+ */
+public class FrontendController {
+    
+    
+    private FrontendController() {
+    }
+    
+    
+    
+}

Added: trunk/Client/src/org/jlink/client/frontend/controll/MainMenuController.java
===================================================================
--- trunk/Client/src/org/jlink/client/frontend/controll/MainMenuController.java	                        (rev 0)
+++ trunk/Client/src/org/jlink/client/frontend/controll/MainMenuController.java	2006-03-11 14:58:56 UTC (rev 3)
@@ -0,0 +1,36 @@
+/*
+ * MainMenuController.java
+ *
+ * Created on 10. März 2006, 23:03
+ *
+ * JLink: An Introversion Uplink Clone with multiplayer support.
+ * Copyright (C) 2006 Tassilo Schweyer
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ */
+
+package org.jlink.client.frontend.controll;
+
+/**
+ *
+ * @author tassilo
+ */
+public class MainMenuController {
+    
+    /** Creates a new instance of MainMenuController */
+    public MainMenuController() {
+    }
+    
+}

Added: trunk/Client/src/org/jlink/client/frontend/gal/Frontend.java
===================================================================
--- trunk/Client/src/org/jlink/client/frontend/gal/Frontend.java	                        (rev 0)
+++ trunk/Client/src/org/jlink/client/frontend/gal/Frontend.java	2006-03-11 14:58:56 UTC (rev 3)
@@ -0,0 +1,48 @@
+/*
+ * Frontend.java
+ *
+ * Created on 11. März 2006, 12:36
+ *
+ * JLink: An Introversion Uplink Clone with multiplayer support.
+ * Copyright (C) 2006 Tassilo Schweyer
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ */
+
+package org.jlink.client.frontend.gal;
+
+/**
+ *
+ * @author tassilo
+ */
+public interface Frontend {
+    public static final char VIEW_MAINMENU   = 0;
+    public static final char VIEW_OPTIONS    = 1;
+    public static final char VIEW_ACC_CREATE = 2;
+    public static final char VIEW_GAME       = 3;
+    
+    //general Visualization
+    public void show();
+    public void dispose();
+    public boolean isVisible();
+    
+    //Views
+    public char getView();
+    public void gotoMainMenu();
+    public void gotoOptions();
+    public void gotoAccCreation();
+    public void gotoGame();
+    public void setListener(FrontendListener l);
+}

Added: trunk/Client/src/org/jlink/client/frontend/gal/FrontendListener.java
===================================================================
--- trunk/Client/src/org/jlink/client/frontend/gal/FrontendListener.java	                        (rev 0)
+++ trunk/Client/src/org/jlink/client/frontend/gal/FrontendListener.java	2006-03-11 14:58:56 UTC (rev 3)
@@ -0,0 +1,38 @@
+/*
+ * FrontendListener.java
+ *
+ * Created on 11. März 2006, 15:18
+ *
+ * JLink: An Introversion Uplink Clone with multiplayer support.
+ * Copyright (C) 2006 Tassilo Schweyer
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ */
+
+package org.jlink.client.frontend.gal;
+
+//import
+//import::sys
+//import::sys::util
+import java.util.EventListener;
+
+/**
+ *
+ * @author tassilo
+ */
+public interface FrontendListener extends EventListener {
+    public void changedView(char oldView, char newView);
+    
+}

Added: trunk/Client/src/org/jlink/client/frontend/gal/MainMenu.java
===================================================================
--- trunk/Client/src/org/jlink/client/frontend/gal/MainMenu.java	                        (rev 0)
+++ trunk/Client/src/org/jlink/client/frontend/gal/MainMenu.java	2006-03-11 14:58:56 UTC (rev 3)
@@ -0,0 +1,32 @@
+/*
+ * MainMenu.java
+ *
+ * Created on 11. März 2006, 12:37
+ *
+ * JLink: An Introversion Uplink Clone with multiplayer support.
+ * Copyright (C) 2006 Tassilo Schweyer
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ */
+
+package org.jlink.client.frontend.gal;
+
+/**
+ *
+ * @author tassilo
+ */
+public interface MainMenu {
+    
+}

Added: trunk/Client/src/org/jlink/client/frontend/gal/impl/FrontendImpl.java
===================================================================
--- trunk/Client/src/org/jlink/client/frontend/gal/impl/FrontendImpl.java	                        (rev 0)
+++ trunk/Client/src/org/jlink/client/frontend/gal/impl/FrontendImpl.java	2006-03-11 14:58:56 UTC (rev 3)
@@ -0,0 +1,82 @@
+/*
+ * FrontendImpl.java
+ *
+ * Created on 11. März 2006, 15:03
+ *
+ * JLink: An Introversion Uplink Clone with multiplayer support.
+ * Copyright (C) 2006 Tassilo Schweyer
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ */
+
+package org.jlink.client.frontend.gal.impl;
+
+//import
+//import::own
+//import::own::frontend
+//import::own::frontend::GAL
+import org.jlink.client.frontend.gal.Frontend;
+import org.jlink.client.frontend.gal.FrontendListener;
+
+/**
+ *
+ * @author tassilo
+ */
+public class FrontendImpl implements Frontend {
+    
+    /** Creates a new instance of FrontendImpl */
+    public FrontendImpl() {
+    }
+
+    public void show() {
+        
+        this.viewActive = true;
+    }
+
+    public void dispose() {
+        
+        this.viewActive = false;
+    }
+
+    public boolean isVisible() {
+        return this.viewActive;
+    }
+
+    public char getView() {
+        return this.viewCur;
+    }
+
+    public void gotoMainMenu() {
+    }
+
+    public void gotoOptions() {
+    }
+
+    public void gotoAccCreation() {
+    }
+
+    public void gotoGame() {
+    }
+
+    public void setListener(FrontendListener l) {
+        this.list = l;
+    }
+    
+    
+    private char    viewCur    = 0;
+    private boolean viewActive = false;
+    
+    private FrontendListener list = null;
+}

Modified: trunk/Client/src/org/jlink/client/frontend/menu/MainMenu.form
===================================================================
--- trunk/Client/src/org/jlink/client/frontend/menu/MainMenu.form	2006-03-10 12:53:52 UTC (rev 2)
+++ trunk/Client/src/org/jlink/client/frontend/menu/MainMenu.form	2006-03-11 14:58:56 UTC (rev 3)
@@ -14,12 +14,14 @@
           <Group type="102" attributes="0">
               <EmptySpace max="-2" attributes="0"/>
               <Group type="103" groupAlignment="0" attributes="0">
-                  <Group type="102" alignment="1" attributes="0">
-                      <Component id="jLabel1" pref="330" max="32767" attributes="0"/>
-                      <EmptySpace max="-2" attributes="0"/>
-                      <Component id="connectButton" min="-2" max="-2" attributes="0"/>
-                  </Group>
+                  <Component id="jLabel1" pref="424" max="32767" attributes="0"/>
+                  <Component id="passwordLoginWidget1" alignment="0" min="-2" max="-2" attributes="0"/>
+              </Group>
+              <EmptySpace max="-2" attributes="0"/>
+              <Group type="103" groupAlignment="0" attributes="0">
+                  <Component id="changeServerButton" alignment="1" min="-2" max="-2" attributes="0"/>
                   <Component id="optionsButton" alignment="1" min="-2" max="-2" attributes="0"/>
+                  <Component id="createButton" alignment="1" min="-2" max="-2" attributes="0"/>
                   <Component id="exitButton" alignment="1" min="-2" max="-2" attributes="0"/>
               </Group>
               <EmptySpace max="-2" attributes="0"/>
@@ -31,29 +33,55 @@
           <Group type="102" alignment="0" attributes="0">
               <EmptySpace max="-2" attributes="0"/>
               <Group type="103" groupAlignment="3" attributes="0">
-                  <Component id="connectButton" alignment="3" min="-2" max="-2" attributes="0"/>
-                  <Component id="jLabel1" alignment="3" min="-2" max="-2" attributes="0"/>
+                  <Component id="changeServerButton" alignment="3" min="-2" max="-2" attributes="0"/>
+                  <Component id="jLabel1" alignment="3" min="-2" pref="58" max="-2" attributes="0"/>
               </Group>
               <EmptySpace max="-2" attributes="0"/>
-              <Component id="optionsButton" min="-2" max="-2" attributes="0"/>
-              <EmptySpace pref="235" max="32767" attributes="0"/>
-              <Component id="exitButton" min="-2" max="-2" attributes="0"/>
+              <Group type="103" groupAlignment="0" attributes="0">
+                  <Group type="102" attributes="0">
+                      <Component id="optionsButton" min="-2" max="-2" attributes="0"/>
+                      <EmptySpace max="-2" attributes="0"/>
+                      <Component id="createButton" min="-2" max="-2" attributes="0"/>
+                      <EmptySpace pref="114" max="32767" attributes="0"/>
+                      <Component id="exitButton" min="-2" max="-2" attributes="0"/>
+                  </Group>
+                  <Component id="passwordLoginWidget1" min="-2" max="-2" attributes="0"/>
+              </Group>
               <EmptySpace max="-2" attributes="0"/>
           </Group>
       </Group>
     </DimensionLayout>
   </Layout>
   <SubComponents>
-    <Component class="javax.swing.JButton" name="connectButton">
+    <Component class="javax.swing.JButton" name="changeServerButton">
       <Properties>
         <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
-          <Connection code="getIcon(&quot;menues/main/systen-server_connect.png&quot;)" type="code"/>
+          <Connection code="getIcon(&quot;menues/main/system-change_server.png&quot;)" type="code"/>
         </Property>
+        <Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
+          <Dimension value="[64, 64]"/>
+        </Property>
       </Properties>
     </Component>
     <Component class="javax.swing.JButton" name="optionsButton">
+      <Properties>
+        <Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
+          <Dimension value="[64, 64]"/>
+        </Property>
+      </Properties>
     </Component>
     <Component class="javax.swing.JButton" name="exitButton">
+      <Properties>
+        <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+          <Connection code="getIcon(&quot;menues/main/system-exit.png&quot;)" type="code"/>
+        </Property>
+        <Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
+          <Dimension value="[64, 64]"/>
+        </Property>
+      </Properties>
+      <Events>
+        <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="exitClicked"/>
+      </Events>
     </Component>
     <Component class="javax.swing.JLabel" name="jLabel1">
       <Properties>
@@ -63,5 +91,17 @@
         <Property name="text" type="java.lang.String" value="JLink"/>
       </Properties>
     </Component>
+    <Component class="javax.swing.JButton" name="createButton">
+      <Properties>
+        <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+          <Connection code="getIcon(&quot;menues/main/account-register.png&quot;)" type="code"/>
+        </Property>
+        <Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
+          <Dimension value="[64, 64]"/>
+        </Property>
+      </Properties>
+    </Component>
+    <Component class="org.jlink.client.frontend.PasswordLoginWidget" name="passwordLoginWidget1">
+    </Component>
   </SubComponents>
 </Form>

Modified: trunk/Client/src/org/jlink/client/frontend/menu/MainMenu.java
===================================================================
--- trunk/Client/src/org/jlink/client/frontend/menu/MainMenu.java	2006-03-10 12:53:52 UTC (rev 2)
+++ trunk/Client/src/org/jlink/client/frontend/menu/MainMenu.java	2006-03-11 14:58:56 UTC (rev 3)
@@ -27,10 +27,12 @@
 //import::own
 import org.jlink.resources.FontLoader;
 //import::sys
+import org.apache.log4j.Logger;
 import java.awt.Image;
 import java.awt.MediaTracker;
 import javax.swing.ImageIcon;
 import javax.swing.JPanel;
+import org.jlink.client.frontend.PasswordLoginWidget;
 import org.jlink.client.frontend.theme.Theme;
 import org.jlink.client.frontend.theme.ThemeManager;
 
@@ -42,10 +44,16 @@
     
     /** Creates new form MainMenu */
     public MainMenu() {
+        log = Logger.getLogger("frontend.mainmenu");
+        log.debug("MainMenu created");
         cur = ThemeManager.get().getCurrentTheme();
         initComponents();
     }
     
+    public void setListener(MainMenuListener l) {
+        this.list = l;
+    }
+    
     /** This method is called from within the constructor to
      * initialize the form.
      * WARNING: Do NOT modify this code. The content of this method is
@@ -53,16 +61,32 @@
      */
     // <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents
     private void initComponents() {
-        connectButton = new javax.swing.JButton();
+        changeServerButton = new javax.swing.JButton();
         optionsButton = new javax.swing.JButton();
         exitButton = new javax.swing.JButton();
         jLabel1 = new javax.swing.JLabel();
+        createButton = new javax.swing.JButton();
+        passwordLoginWidget1 = new org.jlink.client.frontend.PasswordLoginWidget();
 
-        connectButton.setIcon(getIcon("menues/main/systen-server_connect.png"));
+        changeServerButton.setIcon(getIcon("menues/main/system-change_server.png"));
+        changeServerButton.setPreferredSize(new java.awt.Dimension(64, 64));
 
+        optionsButton.setPreferredSize(new java.awt.Dimension(64, 64));
+
+        exitButton.setIcon(getIcon("menues/main/system-exit.png"));
+        exitButton.setPreferredSize(new java.awt.Dimension(64, 64));
+        exitButton.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                exitClicked(evt);
+            }
+        });
+
         jLabel1.setFont(FontLoader.getFont0().deriveFont(30));
         jLabel1.setText("JLink");
 
+        createButton.setIcon(getIcon("menues/main/account-register.png"));
+        createButton.setPreferredSize(new java.awt.Dimension(64, 64));
+
         org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(this);
         this.setLayout(layout);
         layout.setHorizontalGroup(
@@ -70,12 +94,14 @@
             .add(layout.createSequentialGroup()
                 .addContainerGap()
                 .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
-                    .add(org.jdesktop.layout.GroupLayout.TRAILING, layout.createSequentialGroup()
-                        .add(jLabel1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 330, Short.MAX_VALUE)
-                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
-                        .add(connectButton))
-                    .add(org.jdesktop.layout.GroupLayout.TRAILING, optionsButton)
-                    .add(org.jdesktop.layout.GroupLayout.TRAILING, exitButton))
+                    .add(jLabel1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 424, Short.MAX_VALUE)
+                    .add(passwordLoginWidget1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
+                .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
+                    .add(org.jdesktop.layout.GroupLayout.TRAILING, changeServerButton, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
+                    .add(org.jdesktop.layout.GroupLayout.TRAILING, optionsButton, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
+                    .add(org.jdesktop.layout.GroupLayout.TRAILING, createButton, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
+                    .add(org.jdesktop.layout.GroupLayout.TRAILING, exitButton, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                 .addContainerGap())
         );
         layout.setVerticalGroup(
@@ -83,33 +109,55 @@
             .add(layout.createSequentialGroup()
                 .addContainerGap()
                 .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
-                    .add(connectButton)
-                    .add(jLabel1))
+                    .add(changeServerButton, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
+                    .add(jLabel1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 58, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                 .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
-                .add(optionsButton)
-                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, 235, Short.MAX_VALUE)
-                .add(exitButton)
+                .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
+                    .add(layout.createSequentialGroup()
+                        .add(optionsButton, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
+                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
+                        .add(createButton, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
+                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, 114, Short.MAX_VALUE)
+                        .add(exitButton, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
+                    .add(passwordLoginWidget1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                 .addContainerGap())
         );
     }// </editor-fold>//GEN-END:initComponents
+
+    private void exitClicked(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_exitClicked
+        if(this.list == null)
+            return;
+        this.list.runExit();
+    }//GEN-LAST:event_exitClicked
     
     
     private ImageIcon getIcon(String p) {
+        log.debug("loading image: {}", p);
         Image i = this.cur.getImage(p);
-        i = i.getScaledInstance(64, 64, Image.SCALE_SMOOTH);
+        log.debug("scaling");
+        i = i.getScaledInstance(54, 54, Image.SCALE_SMOOTH);
+        log.debug("waiting");
         MediaTracker mt = new MediaTracker(this);
         mt.addImage(i, 0);
         try {
             mt.waitForAll();
         } catch (InterruptedException ex) {
         }
+        log.debug("returning");
         return new ImageIcon(i);
     }
+    
+    
+    
     // Variables declaration - do not modify//GEN-BEGIN:variables
-    private javax.swing.JButton connectButton;
+    private javax.swing.JButton changeServerButton;
+    private javax.swing.JButton createButton;
     private javax.swing.JButton exitButton;
     private javax.swing.JLabel jLabel1;
     private javax.swing.JButton optionsButton;
+    private org.jlink.client.frontend.PasswordLoginWidget passwordLoginWidget1;
     // End of variables declaration//GEN-END:variables
-    private Theme cur = null;
+    private Theme  cur = null;
+    private Logger log = null;
+    private MainMenuListener list = null;
 }

Added: trunk/Client/src/org/jlink/client/frontend/menu/MainMenuListener.java
===================================================================
--- trunk/Client/src/org/jlink/client/frontend/menu/MainMenuListener.java	                        (rev 0)
+++ trunk/Client/src/org/jlink/client/frontend/menu/MainMenuListener.java	2006-03-11 14:58:56 UTC (rev 3)
@@ -0,0 +1,41 @@
+/*
+ * MainMenuListener.java
+ *
+ * Created on 10. März 2006, 21:47
+ *
+ * JLink: An Introversion Uplink Clone with multiplayer support.
+ * Copyright (C) 2006 Tassilo Schweyer
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ */
+
+package org.jlink.client.frontend.menu;
+
+//import
+//import::sys
+//import::sys::util
+import java.util.EventListener;
+import java.util.EventObject;
+
+/**
+ *
+ * @author tassilo
+ */
+public interface MainMenuListener extends EventListener {
+    public void runChangeServer();
+    public void runOptions();
+    public void runCreateAcc();
+    public void runExit();
+}

Modified: trunk/Client/src/org/jlink/client/frontend/theme/Theme.java
===================================================================
--- trunk/Client/src/org/jlink/client/frontend/theme/Theme.java	2006-03-10 12:53:52 UTC (rev 2)
+++ trunk/Client/src/org/jlink/client/frontend/theme/Theme.java	2006-03-11 14:58:56 UTC (rev 3)
@@ -26,30 +26,99 @@
 //import::sys
 import java.io.File;
 import org.apache.log4j.Logger;
-//import::awt
+import org.apache.log4j.NDC;
+//import::sys::awt
 import java.awt.Image;
 import java.awt.Toolkit;
 import java.awt.MediaTracker;
+import java.awt.Color;
+//import::sys::jdom
+import org.jdom.Document;
+import org.jdom.JDOMException;
+import org.jdom.input.SAXBuilder;
+import org.jdom.xpath.XPath;
 
 /**
  *
  * @author tassilo
  */
 public class Theme {
+    public static final int MENU_MAIN = 0;
+    
     public static Theme load(File dir) {
         if(!dir.isDirectory())
             throw new IllegalArgumentException();
         Theme ret = null;
         ret = new Theme();
         ret.log = Logger.getLogger("jlink.frontend.theme");
-        ret.log.debug("loaded Theme from {}", dir.getAbsolutePath());
+        ret.log.debug("loading Theme from {}", dir.getAbsolutePath());
         
+        
         ret.dir = dir;
         ret.name = dir.getName();
+        ret.validate(0);
+        try {
+            ret.loadConfig();
+        } catch(Exception e) {
+            ret.log.error("Cannot load theme", e);
+            return null;
+        }
         
+        
         return ret;
     }
+    public void loadConfig() throws Exception {
+        log.debug("loading Theme config");
+        File c = new File(this.dir, "theme.xml");
+        SAXBuilder build = new SAXBuilder();
+        log.debug("loading XML");
+        this.doc = build.build(c);
+    }
     
+    //Core Operations
+    public boolean validate(int maxMissing) {
+        if(maxMissing < 0)
+            throw new IllegalArgumentException("maxMissing found: [" + maxMissing + "] required: >= 0");
+        NDC.push(this.name);
+        log.debug("Theme::{}::validate({})", this.name, maxMissing);
+        NDC.push("validate");
+        
+        log.debug("checking MainMenu images");
+        
+        log.debug("checking for: menues/main/system-exit.png");
+        File img0 = new File(dir, "menues/main/system-exit.png");
+        if(!img0.exists()) {
+            log.info("Image /menues/main/system-exit.png not found");
+            maxMissing--;
+        }
+        
+        log.debug("checking for: menues/main/system-change_server.png");
+        File img1 = new File(dir, "menues/main/system-change_server.png");
+        if(!img1.exists()) {
+            log.info("Image /menues/main/system-change_server.png not found");
+            maxMissing--;
+        }
+        
+        log.debug("checking for: menues/main/account-register.png");
+        File img2 = new File(dir, "menues/main/account-register.png");
+        if(!img2.exists()) {
+            log.info("Image /menues/main/account-register.png not found");
+            maxMissing--;
+        }
+        
+        if(maxMissing < 0) {
+            log.debug("returning false");
+            NDC.pop();
+            NDC.pop();
+            return false;
+        } else {
+            log.debug("returning true");
+            NDC.pop();
+            NDC.pop();
+            return true;
+        }
+    }
+    
     //Core props
     public String getName() {
         return this.name;
@@ -76,11 +145,38 @@
     }
     
     
+    //Color Operations
+    public Color getMenuBGColor(int id) {
+        Color ret = null;
+        boolean e = false;
+        switch(id) {
+            case MENU_MAIN:
+
+                try {
+                    String t = XPath.selectSingleNode(this.doc, "/child::menu/attribute::name[(child::text() = \"main\")]/child::background/attribute::color").toString();
+                } catch (JDOMException ex) {
+                    log.error("Error reading from Theme config", ex);
+                    ret = null;
+                }
+                break;
+        }
+        
+        if(ret == null)
+            throw new IllegalArgumentException();
+        
+        return ret;
+    }
     
+    
     private Theme() {
     }
     
-    private String name = null;
+    
+    
+    private String   name = null;
+    private Document doc  = null;
+    
+    
     private Logger log  = null;
     
     private File   dir  = null;

Modified: trunk/Share/src/org/jlink/resources/FontLoader.java
===================================================================
--- trunk/Share/src/org/jlink/resources/FontLoader.java	2006-03-10 12:53:52 UTC (rev 2)
+++ trunk/Share/src/org/jlink/resources/FontLoader.java	2006-03-11 14:58:56 UTC (rev 3)
@@ -49,7 +49,7 @@
         }
         
         
-        return ret;
+        return ret.deriveFont(60f);
     }
     
     

Added: trunk/lib/jdom/jaxen-core.jar
===================================================================
(Binary files differ)


Property changes on: trunk/lib/jdom/jaxen-core.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/lib/jdom/jaxen-jdom.jar
===================================================================
(Binary files differ)


Property changes on: trunk/lib/jdom/jaxen-jdom.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/lib/jdom/jdom.jar
===================================================================
(Binary files differ)


Property changes on: trunk/lib/jdom/jdom.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/lib/jdom/saxpath.jar
===================================================================
(Binary files differ)


Property changes on: trunk/lib/jdom/saxpath.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Modified: trunk/themes/default/menues/main/system-change_server.png
===================================================================
(Binary files differ)

Modified: trunk/themes/default/theme.xml
===================================================================
--- trunk/themes/default/theme.xml	2006-03-10 12:53:52 UTC (rev 2)
+++ trunk/themes/default/theme.xml	2006-03-11 14:58:56 UTC (rev 3)
@@ -2,7 +2,10 @@
 
 <theme>
 	<meta>
-		<property name="name" value="default"/>
+		<property name="name" value="Standard"/>
 		<property name="author" value="Tassilo Schweyer"/>
 	</meta>
+	<menu name="main">
+		<background color="00186f"/>
+	</menu>
 </theme>


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.



[Java-link-svn] SF.net SVN: java-link: [2] branches/base_testing/
From: <wel...@us...> - 2006-03-10 12:54:02
Revision: 2
Author:   welterde0
Date:     2006-03-10 04:53:52 -0800 (Fri, 10 Mar 2006)
ViewCVS:  http://svn.sourceforge.net/java-link/?rev=2&view=rev

Log Message:
-----------
created branche testing(an more stable branche than /trunk)

Added Paths:
-----------
    branches/base_testing/
Copied: branches/base_testing (from rev 1, trunk)


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.



[Java-link-svn] SF.net SVN: java-link: [1]
From: <wel...@us...> - 2006-03-09 19:33:22
Revision: 1
Author:   welterde0
Date:     2006-03-09 11:30:15 -0800 (Thu, 09 Mar 2006)
ViewCVS:  http://svn.sourceforge.net/java-link/?rev=1&view=rev

Log Message:
-----------
inital import

Added Paths:
-----------
    branches/
    tags/
    trunk/
    trunk/CHANGELOG
    trunk/Client/
    trunk/Client/build.xml
    trunk/Client/manifest.mf
    trunk/Client/nbproject/
    trunk/Client/nbproject/build-impl.xml
    trunk/Client/nbproject/genfiles.properties
    trunk/Client/nbproject/private/
    trunk/Client/nbproject/private/private.properties
    trunk/Client/nbproject/private/profiler/
    trunk/Client/nbproject/private/profiler/presets.xml
    trunk/Client/nbproject/profiler-build-impl.xml
    trunk/Client/nbproject/project.properties
    trunk/Client/nbproject/project.xml
    trunk/Client/src/
    trunk/Client/src/org/
    trunk/Client/src/org/jlink/
    trunk/Client/src/org/jlink/ClientCore.java
    trunk/Client/src/org/jlink/ClientFrontend.java
    trunk/Client/src/org/jlink/ClientMain.java
    trunk/Client/src/org/jlink/ClientNetwork.java
    trunk/Client/src/org/jlink/ClientSound.java
    trunk/Client/src/org/jlink/Options.java
    trunk/Client/src/org/jlink/ServerController.java
    trunk/Client/src/org/jlink/client/
    trunk/Client/src/org/jlink/client/core/
    trunk/Client/src/org/jlink/client/core/Connection.java
    trunk/Client/src/org/jlink/client/frontend/
    trunk/Client/src/org/jlink/client/frontend/MainFrame.java
    trunk/Client/src/org/jlink/client/frontend/menu/
    trunk/Client/src/org/jlink/client/frontend/menu/MainMenu.form
    trunk/Client/src/org/jlink/client/frontend/menu/MainMenu.java
    trunk/Client/src/org/jlink/client/frontend/theme/
    trunk/Client/src/org/jlink/client/frontend/theme/Theme.java
    trunk/Client/src/org/jlink/client/frontend/theme/ThemeManager.java
    trunk/Client/src/org/jlink/client/gui/
    trunk/Client/src/org/jlink/client/gui/Colors.java
    trunk/Client/src/org/jlink/client/gui/MenuBean.java
    trunk/Client/src/org/jlink/client/model/
    trunk/Client/src/org/jlink/client/model/Proxy.java
    trunk/Client/src/org/jlink/client/net/
    trunk/Client/src/org/jlink/client/sound/
    trunk/Client/test/
    trunk/LICENSE
    trunk/MODDING
    trunk/MODDING.DE
    trunk/PROJECTS
    trunk/README
    trunk/README.de
    trunk/ROADMAP
    trunk/Server/
    trunk/Server/build.xml
    trunk/Server/manifest.mf
    trunk/Server/nbproject/
    trunk/Server/nbproject/build-impl.xml
    trunk/Server/nbproject/genfiles.properties
    trunk/Server/nbproject/management-build-impl.xml
    trunk/Server/nbproject/private/
    trunk/Server/nbproject/private/private.properties
    trunk/Server/nbproject/private/profiler/
    trunk/Server/nbproject/private/profiler/custom-0.xml
    trunk/Server/nbproject/private/profiler/custom-1.xml
    trunk/Server/nbproject/private/profiler/custom-2.xml
    trunk/Server/nbproject/private/profiler/presets.xml
    trunk/Server/nbproject/profiler-build-impl.xml
    trunk/Server/nbproject/project.properties
    trunk/Server/nbproject/project.xml
    trunk/Server/src/
    trunk/Server/src/org/
    trunk/Server/src/org/jlink/
    trunk/Server/src/org/jlink/CoreController.java
    trunk/Server/src/org/jlink/DatabaseController.java
    trunk/Server/src/org/jlink/LoginController.java
    trunk/Server/src/org/jlink/Options.java
    trunk/Server/src/org/jlink/ServerCore.java
    trunk/Server/src/org/jlink/ServerDatabase.java
    trunk/Server/src/org/jlink/ServerMain.java
    trunk/Server/src/org/jlink/ServerNetwork.java
    trunk/Server/src/org/jlink/server/
    trunk/Server/src/org/jlink/server/db/
    trunk/Server/src/org/jlink/server/db/Database.java
    trunk/Server/src/org/jlink/server/db/DatabaseCreationReader.java
    trunk/Server/src/org/jlink/server/db/DatabaseNullWriter.java
    trunk/Server/src/org/jlink/server/db/DatabaseReader.java
    trunk/Server/src/org/jlink/server/db/DatabaseWriter.java
    trunk/Server/src/org/jlink/server/jmx/
    trunk/Server/src/org/jlink/server/jmx/JMXAgent.java
    trunk/Server/src/org/jlink/server/jmx/run.access
    trunk/Server/src/org/jlink/server/jmx/run.password
    trunk/Server/src/org/jlink/server/jmx/run.properties
    trunk/Server/src/org/jlink/server/net/
    trunk/Server/src/org/jlink/server/net/NetworkBackend.java
    trunk/Server/test/
    trunk/Share/
    trunk/Share/build.xml
    trunk/Share/nbproject/
    trunk/Share/nbproject/build-impl.xml
    trunk/Share/nbproject/genfiles.properties
    trunk/Share/nbproject/private/
    trunk/Share/nbproject/private/private.properties
    trunk/Share/nbproject/project.properties
    trunk/Share/nbproject/project.xml
    trunk/Share/src/
    trunk/Share/src/org/
    trunk/Share/src/org/jlink/
    trunk/Share/src/org/jlink/Core.java
    trunk/Share/src/org/jlink/Module.java
    trunk/Share/src/org/jlink/locale/
    trunk/Share/src/org/jlink/model/
    trunk/Share/src/org/jlink/model/AbstractModelComponent.java
    trunk/Share/src/org/jlink/model/Avatar.java
    trunk/Share/src/org/jlink/model/Character.java
    trunk/Share/src/org/jlink/model/Company.java
    trunk/Share/src/org/jlink/model/Hardware.java
    trunk/Share/src/org/jlink/model/ID.java
    trunk/Share/src/org/jlink/model/IP.java
    trunk/Share/src/org/jlink/model/Machine.java
    trunk/Share/src/org/jlink/model/ModelComponent.java
    trunk/Share/src/org/jlink/model/ModelProxy.java
    trunk/Share/src/org/jlink/model/NonPlayerCharacter.java
    trunk/Share/src/org/jlink/model/PlayerCharacter.java
    trunk/Share/src/org/jlink/model/Route.java
    trunk/Share/src/org/jlink/model/hw/
    trunk/Share/src/org/jlink/model/hw/HardDisk.java
    trunk/Share/src/org/jlink/model/hw/HardwareComponent.java
    trunk/Share/src/org/jlink/model/hw/Motherboard.java
    trunk/Share/src/org/jlink/model/hw/Processor.java
    trunk/Share/src/org/jlink/model/machine/
    trunk/Share/src/org/jlink/model/machine/Gateway.java
    trunk/Share/src/org/jlink/model/machine/MachineOwner.java
    trunk/Share/src/org/jlink/model/machine/Partition.java
    trunk/Share/src/org/jlink/nav/
    trunk/Share/src/org/jlink/nav/NavEntry.java
    trunk/Share/src/org/jlink/nav/NavTree.java
    trunk/Share/src/org/jlink/nav/auth/
    trunk/Share/src/org/jlink/nav/auth/PasswordAuthEntry.java
    trunk/Share/src/org/jlink/net/
    trunk/Share/src/org/jlink/net/ConnectionHandler.java
    trunk/Share/src/org/jlink/net/ConnectionListener.java
    trunk/Share/src/org/jlink/net/Message.java
    trunk/Share/src/org/jlink/net/msgs/
    trunk/Share/src/org/jlink/net/msgs/ConnectionAccepted.java
    trunk/Share/src/org/jlink/net/msgs/ConnectionDenied.java
    trunk/Share/src/org/jlink/net/msgs/ConnectionEnding.java
    trunk/Share/src/org/jlink/net/msgs/ConnectionStarting.java
    trunk/Share/src/org/jlink/net/msgs/Login.java
    trunk/Share/src/org/jlink/net/msgs/LoginAcceptedMessage.java
    trunk/Share/src/org/jlink/net/msgs/LoginDeniedMessage.java
    trunk/Share/src/org/jlink/net/msgs/LoginMessage.java
    trunk/Share/src/org/jlink/resources/
    trunk/Share/src/org/jlink/resources/FontLoader.java
    trunk/Share/src/org/jlink/resources/fonts/
    trunk/Share/src/org/jlink/resources/fonts/battle3.ttf
    trunk/Share/test/
    trunk/Share/test/org/
    trunk/Share/test/org/jlink/
    trunk/Share/test/org/jlink/resources/
    trunk/Share/test/org/jlink/resources/FontLoaderTest.java
    trunk/TODO
    trunk/lib/
    trunk/lib/commons-pool.jar
    trunk/lib/log4j/
    trunk/lib/log4j/log4j-db.jar
    trunk/lib/log4j/log4j-jms.jar
    trunk/lib/log4j/log4j-optional.jar
    trunk/lib/log4j/log4j-oro.jar
    trunk/lib/log4j/log4j-smtp.jar
    trunk/lib/log4j/log4j-xml.jar
    trunk/lib/log4j/log4j.jar
    trunk/lib/log4j/oro.jar
    trunk/lib/other/
    trunk/lib/other/swing-layout.jar
    trunk/templates/
    trunk/templates/Client/
    trunk/templates/Server/
    trunk/templates/Share/
    trunk/templates/Share/net/
    trunk/templates/Share/net/msgs/
    trunk/templates/Share/net/msgs/Message.java
    trunk/themes/
    trunk/themes/default/
    trunk/themes/default/menues/
    trunk/themes/default/menues/main/
    trunk/themes/default/menues/main/account-register.png
    trunk/themes/default/menues/main/system-change_server.png
    trunk/themes/default/menues/main/system-exit.png
    trunk/themes/default/theme.xml
Added: trunk/CHANGELOG
===================================================================

Added: trunk/Client/build.xml
===================================================================
--- trunk/Client/build.xml	                        (rev 0)
+++ trunk/Client/build.xml	2006-03-09 19:30:15 UTC (rev 1)
@@ -0,0 +1,70 @@
+<?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="Client" default="default" basedir=".">
+    <description>Builds, tests, and runs the project Client.</description>
+    <import file="nbproject/build-impl.xml"/>
+
+    <import file="nbproject/profiler-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="Client-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>

Added: trunk/Client/manifest.mf
===================================================================
--- trunk/Client/manifest.mf	                        (rev 0)
+++ trunk/Client/manifest.mf	2006-03-09 19:30:15 UTC (rev 1)
@@ -0,0 +1,3 @@
+Manifest-Version: 1.0
+X-COMMENT: Main-Class will be added automatically by build
+

Added: trunk/Client/nbproject/build-impl.xml
===================================================================
--- trunk/Client/nbproject/build-impl.xml	                        (rev 0)
+++ trunk/Client/nbproject/build-impl.xml	2006-03-09 19:30:15 UTC (rev 1)
@@ -0,0 +1,545 @@
+<?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="Client-impl" default="default" basedir=".." xmlns:j2seproject3="http://www.netbeans.org/ns/j2se-project/3" xmlns:j2seproject2="http://www.netbeans.org/ns/j2se-project/2" xmlns:j2seproject1="http://www.netbeans.org/ns/j2se-project/1">
+    <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 name="default.javac.source" value="1.4"/>
+        <property name="default.javac.target" value="1.4"/>
+    </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 file="${manifest.file}" property="manifest.available"/>
+        <condition property="manifest.available+main.class">
+            <and>
+                <isset property="manifest.available"/>
+                <isset property="main.class"/>
+                <not>
+                    <equals arg1="${main.class}" arg2="" trim="true"/>
+                </not>
+            </and>
+        </condition>
+        <condition property="manifest.available+main.class+mkdist.available">
+            <and>
+                <istrue value="${manifest.available+main.class}"/>
+                <isset property="libs.CopyLibs.classpath"/>
+            </and>
+        </condition>
+        <condition property="have.tests">
+            <or>
+                <available file="${test.src.dir}"/>
+            </or>
+        </condition>
+        <condition property="have.sources">
+            <or>
+                <available file="${src.dir}"/>
+            </or>
+        </condition>
+        <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 name="run.jvmargs" value=""/>
+        <property name="javac.compilerargs" value=""/>
+        <property name="work.dir" value="${basedir}"/>
+        <condition property="no.deps">
+            <and>
+                <istrue value="${no.dependencies}"/>
+            </and>
+        </condition>
+        <property name="javac.debug" value="true"/>
+        <property name="javadoc.preview" value="true"/>
+    </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="${@{value}}"/>
+            </sequential>
+        </macrodef>
+    </target>
+    <target name="-init-macrodef-javac">
+        <macrodef name="javac" uri="http://www.netbeans.org/ns/j2se-project/3">
+            <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/3">
+            <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 dir="${test.src.dir}" includes="@{includes}"/>
+                    </batchtest>
+                    <classpath>
+                        <path path="${run.test.classpath}"/>
+                    </classpath>
+                    <syspropertyset>
+                        <propertyref prefix="test-sys-prop."/>
+                        <mapper type="glob" from="test-sys-prop.*" to="*"/>
+                    </syspropertyset>
+                    <formatter type="brief" usefile="false"/>
+                    <formatter type="xml"/>
+                    <jvmarg line="${run.jvmargs}"/>
+                </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 transport="dt_socket" addressproperty="jpda.address" name="@{name}" stopclassname="@{stopclassname}">
+                    <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 includes="${fix.includes}*.class" dir="@{dir}"/>
+                </nbjpdareload>
+            </sequential>
+        </macrodef>
+    </target>
+    <target name="-init-macrodef-debug">
+        <macrodef name="debug" uri="http://www.netbeans.org/ns/j2se-project/3">
+            <attribute name="classname" default="${main.class}"/>
+            <attribute name="classpath" default="${debug.classpath}"/>
+            <element name="customize" optional="true"/>
+            <sequential>
+                <java fork="true" classname="@{classname}" 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 type="glob" from="run-sys-prop.*" to="*"/>
+                    </syspropertyset>
+                    <customize/>
+                </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 fork="true" classname="@{classname}" dir="${work.dir}">
+                    <jvmarg line="${run.jvmargs}"/>
+                    <classpath>
+                        <path path="${run.classpath}"/>
+                    </classpath>
+                    <syspropertyset>
+                        <propertyref prefix="run-sys-prop."/>
+                        <mapper type="glob" from="run-sys-prop.*" to="*"/>
+                    </syspropertyset>
+                    <customize/>
+                </java>
+            </sequential>
+        </macrodef>
+    </target>
+    <target name="-init-presetdef-jar">
+        <presetdef name="jar" uri="http://www.netbeans.org/ns/j2se-project/1">
+            <jar jarfile="${dist.jar}" compress="${jar.compress}">
+                <j2seproject1:fileset 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">
+        <ant target="jar" inheritall="false" antfile="${project.Share}/build.xml"/>
+    </target>
+    <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" if="have.sources">
+        <j2seproject3:javac/>
+        <copy todir="${build.classes.dir}">
+            <fileset dir="${src.dir}" excludes="${build.classes.excludes}"/>
+        </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>
+        <j2seproject3:javac>
+            <customize>
+                <patternset includes="${javac.includes}"/>
+            </customize>
+        </j2seproject3: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 property="dist.jar.dir" file="${dist.jar}"/>
+        <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">
+        <j2seproject1:jar/>
+    </target>
+    <target name="-do-jar-with-manifest" depends="init,compile,-pre-pre-jar,-pre-jar" if="manifest.available" unless="manifest.available+main.class">
+        <j2seproject1:jar manifest="${manifest.file}"/>
+    </target>
+    <target name="-do-jar-with-mainclass" depends="init,compile,-pre-pre-jar,-pre-jar" if="manifest.available+main.class" unless="manifest.available+main.class+mkdist.available">
+        <j2seproject1:jar manifest="${manifest.file}">
+            <j2seproject1:manifest>
+                <j2seproject1:attribute name="Main-Class" value="${main.class}"/>
+            </j2seproject1:manifest>
+        </j2seproject1:jar>
+        <echo>To run this application from the command line without Ant, try:</echo>
+        <property name="build.classes.dir.resolved" location="${build.classes.dir}"/>
+        <property name="dist.jar.resolved" location="${dist.jar}"/>
+        <pathconvert property="run.classpath.with.dist.jar">
+            <path path="${run.classpath}"/>
+            <map from="${build.classes.dir.resolved}" to="${dist.jar.resolved}"/>
+        </pathconvert>
+        <echo>java -cp "${run.classpath.with.dist.jar}" ${main.class}</echo>
+    </target>
+    <target name="-do-jar-with-libraries" depends="init,compile,-pre-pre-jar,-pre-jar" if="manifest.available+main.class+mkdist.available">
+        <property name="build.classes.dir.resolved" location="${build.classes.dir}"/>
+        <pathconvert property="run.classpath.without.build.classes.dir">
+            <path path="${run.classpath}"/>
+            <map from="${build.classes.dir.resolved}" to=""/>
+        </pathconvert>
+        <pathconvert property="jar.classpath" pathsep=" ">
+            <path path="${run.classpath.without.build.classes.dir}"/>
+            <chainedmapper>
+                <flattenmapper/>
+                <globmapper from="*" to="lib/*"/>
+            </chainedmapper>
+        </pathconvert>
+        <taskdef classname="org.netbeans.modules.java.j2seproject.copylibstask.CopyLibs" name="copylibs" classpath="${libs.CopyLibs.classpath}"/>
+        <copylibs manifest="${manifest.file}" runtimeclasspath="${run.classpath.without.build.classes.dir}" jarfile="${dist.jar}" compress="${jar.compress}">
+            <fileset dir="${build.classes.dir}"/>
+            <manifest>
+                <attribute name="Main-Class" value="${main.class}"/>
+                <attribute name="Class-Path" value="${jar.classpath}"/>
+            </manifest>
+        </copylibs>
+        <echo>To run this application from the command line without Ant, try:</echo>
+        <property name="dist.jar.resolved" location="${dist.jar}"/>
+        <echo>java -jar "${dist.jar.resolved}"</echo>
+    </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,-do-jar-with-libraries,-post-jar" description="Build JAR."/>
+    <!--
+    =================
+    EXECUTION SECTION
+    =================
+    -->
+    <target name="run" depends="init,compile" description="Run a main class.">
+        <j2seproject1:java>
+            <customize>
+                <arg line="${application.args}"/>
+            </customize>
+        </j2seproject1: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>
+        <j2seproject1:java classname="${run.class}"/>
+    </target>
+    <!--
+    =================
+    DEBUGGING SECTION
+    =================
+    -->
+    <target name="-debug-start-debugger" if="netbeans.home" depends="init">
+        <j2seproject1:nbjpdastart name="${debug.class}"/>
+    </target>
+    <target name="-debug-start-debuggee" depends="init,compile">
+        <j2seproject3:debug>
+            <customize>
+                <arg line="${application.args}"/>
+            </customize>
+        </j2seproject3:debug>
+    </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">
+        <j2seproject1:nbjpdastart 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>
+        <j2seproject3:debug 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 name="javac.includes" value="${fix.includes}.java"/>
+    </target>
+    <target name="-do-debug-fix" if="netbeans.home" depends="init,-pre-debug-fix,compile-single">
+        <j2seproject1:nbjpdareload/>
+    </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}" additionalparam="${javadoc.additionalparam}" failonerror="true" useexternalfile="true">
+            <classpath>
+                <path path="${javac.classpath}"/>
+            </classpath>
+            <sourcepath>
+                <pathelement location="${src.dir}"/>
+            </sourcepath>
+            <packageset dir="${src.dir}" includes="*/**"/>
+            <fileset dir="${src.dir}" includes="*.java"/>
+        </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">
+        <j2seproject3:javac srcdir="${test.src.dir}" destdir="${build.test.classes.dir}" debug="true" classpath="${javac.test.classpath}"/>
+        <copy todir="${build.test.classes.dir}">
+            <fileset dir="${test.src.dir}" excludes="**/*.java"/>
+        </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>
+        <j2seproject3:javac srcdir="${test.src.dir}" destdir="${build.test.classes.dir}" debug="true" classpath="${javac.test.classpath}">
+            <customize>
+                <patternset includes="${javac.includes}"/>
+            </customize>
+        </j2seproject3:javac>
+        <copy todir="${build.test.classes.dir}">
+            <fileset dir="${test.src.dir}" excludes="**/*.java"/>
+        </copy>
+    </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">
+        <j2seproject3:junit/>
+    </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>
+        <j2seproject3:junit 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>
+        <j2seproject3:debug classname="junit.textui.TestRunner" classpath="${debug.test.classpath}">
+            <customize>
+                <arg line="${test.class}"/>
+            </customize>
+        </j2seproject3:debug>
+    </target>
+    <target name="-debug-start-debugger-test" if="netbeans.home+have.tests" depends="init,compile-test">
+        <j2seproject1:nbjpdastart name="${test.class}" classpath="${debug.test.classpath}"/>
+    </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">
+        <j2seproject1:nbjpdareload 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>
+        <j2seproject1:java classname="sun.applet.AppletViewer">
+            <customize>
+                <arg value="${applet.url}"/>
+            </customize>
+        </j2seproject1: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>
+        <j2seproject3:debug classname="sun.applet.AppletViewer">
+            <customize>
+                <arg value="${applet.url}"/>
+            </customize>
+        </j2seproject3:debug>
+    </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">
+        <ant target="clean" inheritall="false" antfile="${project.Share}/build.xml"/>
+    </target>
+    <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>

Added: trunk/Client/nbproject/genfiles.properties
===================================================================
--- trunk/Client/nbproject/genfiles.properties	                        (rev 0)
+++ trunk/Client/nbproject/genfiles.properties	2006-03-09 19:30:15 UTC (rev 1)
@@ -0,0 +1,8 @@
+# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
+# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
+nbproject/build-impl.xml.data.CRC32=c2a3099f
+nbproject/build-impl.xml.script.CRC32=a0263979
+nbproject/build-impl.xml.stylesheet.CRC32=99b91518
+nbproject/profiler-build-impl.xml.data.CRC32=c2a3099f
+nbproject/profiler-build-impl.xml.script.CRC32=abda56ed
+nbproject/profiler-build-impl.xml.stylesheet.CRC32=a5b6598e

Added: trunk/Client/nbproject/private/private.properties
===================================================================
--- trunk/Client/nbproject/private/private.properties	                        (rev 0)
+++ trunk/Client/nbproject/private/private.properties	2006-03-09 19:30:15 UTC (rev 1)
@@ -0,0 +1,7 @@
+application.args=../
+file.reference.log4j.jar=../lib/log4j/log4j.jar
+file.reference.swing-layout.jar=/home/tassilo/Documents/dev/jlink/svn/trunk/lib/other/swing-layout.jar
+javac.debug=true
+javadoc.preview=true
+project.Share=../Share
+user.properties.file=/home/tassilo/.netbeans/5.0/build.properties

Added: trunk/Client/nbproject/private/profiler/presets.xml
===================================================================
--- trunk/Client/nbproject/private/profiler/presets.xml	                        (rev 0)
+++ trunk/Client/nbproject/private/profiler/presets.xml	2006-03-09 19:30:15 UTC (rev 1)
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
+<properties>
+<comment></comment>
+<entry key="presets.cpufragment.profiler.settings.fragment.selection"></entry>
+<entry key="presets.cpupart.profiler.settings.instrumentation.root.methods.size">0</entry>
+</properties>

Added: trunk/Client/nbproject/profiler-build-impl.xml
===================================================================
--- trunk/Client/nbproject/profiler-build-impl.xml	                        (rev 0)
+++ trunk/Client/nbproject/profiler-build-impl.xml	2006-03-09 19:30:15 UTC (rev 1)
@@ -0,0 +1,131 @@
+<?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
+  - profiling
+  - applet profiling
+
+-->
+<project name="-profiler-impl" default="profile" basedir="..">
+    <target name="default" depends="profile" description="Build and profile the project."/>
+    <!--
+    ======================
+    INITIALIZATION SECTION
+    ======================
+    -->
+    <target name="profile-init" depends="-profile-pre-init, init, -profile-post-init, -profile-init-macrodef-profile, -profile-init-check"/>
+    <target name="-profile-pre-init">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target name="-profile-post-init">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target name="-profile-init-macrodef-profile">
+        <macrodef name="resolve">
+            <attribute name="name"/>
+            <attribute name="value"/>
+            <sequential>
+                <property name="@{name}" value="${env.@{value}}"/>
+            </sequential>
+        </macrodef>
+        <macrodef name="profile">
+            <attribute name="classname" default="${main.class}"/>
+            <element name="customize" optional="true"/>
+            <sequential>
+                <property environment="env"/>
+                <resolve name="profiler.current.path" value="${profiler.info.pathvar}"/>
+                <java fork="true" classname="@{classname}" dir="${profiler.info.dir}" jvm="${profiler.info.jvm}">
+                    <jvmarg value="${profiler.info.jvmargs.agent}"/>
+                    <jvmarg line="${profiler.info.jvmargs}"/>
+                    <env key="${profiler.info.pathvar}" path="${profiler.info.agentpath}:${profiler.current.path}"/>
+                    <arg line="${application.args}"/>
+                    <classpath>
+                        <path path="${run.classpath}"/>
+                    </classpath>
+                    <syspropertyset>
+                        <propertyref prefix="run-sys-prop."/>
+                        <mapper type="glob" from="run-sys-prop.*" to="*"/>
+                    </syspropertyset>
+                    <customize/>
+                </java>
+            </sequential>
+        </macrodef>
+    </target>
+    <target name="-profile-init-check" depends="-profile-pre-init, init, -profile-post-init, -profile-init-macrodef-profile">
+        <fail unless="profiler.info.jvm">Must set JVM to use for profiling in profiler.info.jvm</fail>
+        <fail unless="profiler.info.jvmargs.agent">Must set profiler agent JVM arguments in profiler.info.jvmargs.agent</fail>
+    </target>
+    <!--
+    =================
+    PROFILING SECTION
+    =================
+    -->
+    <target name="profile" if="netbeans.home" depends="profile-init,compile" description="Profile a project in the IDE.">
+        <nbprofiledirect>
+            <classpath>
+                <path path="${run.classpath}"/>
+            </classpath>
+        </nbprofiledirect>
+        <profile/>
+    </target>
+    <target name="profile-single" if="netbeans.home" depends="profile-init,compile-single" description="Profile a selected class in the IDE.">
+        <fail unless="profile.class">Must select one file in the IDE or set profile.class</fail>
+        <nbprofiledirect>
+            <classpath>
+                <path path="${run.classpath}"/>
+            </classpath>
+        </nbprofiledirect>
+        <profile classname="${profile.class}"/>
+    </target>
+    <!--
+    =========================
+    APPLET PROFILING  SECTION
+    =========================
+    -->
+    <target name="profile-applet" if="netbeans.home" depends="profile-init,compile-single">
+        <nbprofiledirect>
+            <classpath>
+                <path path="${run.classpath}"/>
+            </classpath>
+        </nbprofiledirect>
+        <profile classname="sun.applet.AppletViewer">
+            <customize>
+                <arg value="${applet.url}"/>
+            </customize>
+        </profile>
+    </target>
+    <!--
+    =========================
+    TESTS PROFILING  SECTION
+    =========================
+    -->
+    <target name="profile-test-single" if="netbeans.home" depends="profile-init,compile-test-single">
+        <nbprofiledirect>
+            <classpath>
+                <path path="${run.test.classpath}"/>
+            </classpath>
+        </nbprofiledirect>
+        <junit showoutput="true" fork="true" dir="${profiler.info.dir}" jvm="${profiler.info.jvm}" failureproperty="tests.failed" errorproperty="tests.failed">
+            <env key="${profiler.info.pathvar}" path="${profiler.info.agentpath}:${profiler.current.path}"/>
+            <jvmarg value="${profiler.info.jvmargs.agent}"/>
+            <jvmarg line="${profiler.info.jvmargs}"/>
+            <test name="${profile.class}"/>
+            <classpath>
+                <path path="${run.test.classpath}"/>
+            </classpath>
+            <syspropertyset>
+                <propertyref prefix="test-sys-prop."/>
+                <mapper type="glob" from="test-sys-prop.*" to="*"/>
+            </syspropertyset>
+            <formatter type="brief" usefile="false"/>
+            <formatter type="xml"/>
+        </junit>
+    </target>
+</project>

Added: trunk/Client/nbproject/project.properties
===================================================================
--- trunk/Client/nbproject/project.properties	                        (rev 0)
+++ trunk/Client/nbproject/project.properties	2006-03-09 19:30:15 UTC (rev 1)
@@ -0,0 +1,62 @@
+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
+build.generated.dir=${build.dir}/generated
+# 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}/Client.jar
+dist.javadoc.dir=${dist.dir}/javadoc
+file.reference.swing-layout.jar=../lib/other/swing-layout.jar
+jar.compress=true
+javac.classpath=\
+    ${reference.Share.jar}:\
+    ${file.reference.log4j.jar}:\
+    ${file.reference.swing-layout.jar}:\
+    ${libs.swing-layout.classpath}
+# Space-separated list of extra javac options
+javac.compilerargs=-Xlint:unchecked
+javac.deprecation=true
+javac.source=1.5
+javac.target=1.5
+javac.test.classpath=\
+    ${javac.classpath}:\
+    ${build.classes.dir}:\
+    ${libs.junit.classpath}
+javadoc.additionalparam=
+javadoc.author=true
+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=org.jlink.ClientMain
+manifest.file=manifest.mf
+meta.inf.dir=${src.dir}/META-INF
+platform.active=default_platform
+reference.Share.jar=${project.Share}/dist/Share.jar
+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

Added: trunk/Client/nbproject/project.xml
===================================================================
--- trunk/Client/nbproject/project.xml	                        (rev 0)
+++ trunk/Client/nbproject/project.xml	2006-03-09 19:30:15 UTC (rev 1)
@@ -0,0 +1,26 @@
+<?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/3">
+            <name>Client</name>
+            <minimum-ant-version>1.6.5</minimum-ant-version>
+            <source-roots>
+                <root id="src.dir"/>
+            </source-roots>
+            <test-roots>
+                <root id="test.src.dir"/>
+            </test-roots>
+        </data>
+        <references xmlns="http://www.netbeans.org/ns/ant-project-references/1">
+            <reference>
+                <foreign-project>Share</foreign-project>
+                <artifact-type>jar</artifact-type>
+                <script>build.xml</script>
+                <target>jar</target>
+                <clean-target>clean</clean-target>
+                <id>jar</id>
+            </reference>
+        </references>
+    </configuration>
+</project>

Added: trunk/Client/src/org/jlink/ClientCore.java
===================================================================
--- trunk/Client/src/org/jlink/ClientCore.java	                        (rev 0)
+++ trunk/Client/src/org/jlink/ClientCore.java	2006-03-09 19:30:15 UTC (rev 1)
@@ -0,0 +1,231 @@
+/*
+ * ClientCore.java
+ *
+ * Created on 27. Februar 2006, 10:38
+ *
+ * JLink: An Introversion Uplink Clone with multiplayer support.
+ * Copyright (C) 2006 Tassilo Schweyer
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ */
+
+package org.jlink;
+
+//import
+//import::own
+//import::sys
+//import::sys::util
+import java.util.concurrent.ThreadPoolExecutor;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Callable;
+import java.util.concurrent.Future;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.ArrayBlockingQueue;
+//import::sys::log4j
+import org.apache.log4j.Logger;
+
+/**
+ *
+ * @author tassilo
+ */
+public class ClientCore extends Core {
+    static {
+        Core.setImpl(new ClientCore());
+    }
+    ClientCore() {
+    }
+
+    protected Core createCore() {
+        ClientCore ret = null;
+        ret = new ClientCore();
+        ret.log = Logger.getLogger("jlink.coreD");
+        ret.log.debug("Core created");
+        //Core::init()
+        ret.pool_run_now = new ThreadPoolExecutor(6, Integer.MAX_VALUE, 60L, TimeUnit.SECONDS, new ArrayBlockingQueue(20, true));
+        
+        
+        //mods::init()
+        ret.log.debug("creating other modules");
+        ret.mod_sound    = ClientSound.create(ret);
+        ret.mod_frontend = ClientFrontend.create(ret);
+        ret.mod_network  = ClientNetwork.create(ret);
+        
+        
+        return ret;
+    }
+    protected void runCorePre() {
+        log.debug("ClientCore::runCorePre() called");
+        //start other modules
+        log.debug("calling other modules");
+        this.pool_run_now.submit(new Callable() {
+            public Object call() throws Exception {
+                log.info("Sound::run()");
+                mod_sound.run();
+                return null;
+            }
+        });
+        this.pool_run_now.submit(new Callable() {
+            public Object call() throws Exception {
+                log.info("Network::run()");
+                mod_network.run();
+                return null;
+            }
+        });
+        this.pool_run_now.submit(new Callable() {
+            public Object call() throws Exception {
+                log.info("Frontend::run()");
+                mod_frontend.run();
+                return null;
+            }
+        });
+    }
+    protected void runCore() throws Exception {
+        log.trace("ClientCore::run() called");
+        Thread.sleep(100);
+        if(do_connect) {
+            this.doConnect();
+        }
+    }
+    protected void runCoreSuf() {
+        log.debug("ClientCore::runCoreSuf() called");
+        
+        log.debug("destroying other modules");
+        this.mod_sound.destroy();
+        this.mod_network.destroy();
+        
+        //Core::destroy()
+        log.debug("self destroy");
+        
+        log.debug("destroy done");
+    }
+    
+    //Operations
+    protected void doConnect() throws Exception {
+        log.debug("Core::do(connect)");
+        synchronized(this.serverLock) {
+            this.do_connect = false;
+            log.debug("delegating to mod_network");
+            this.mod_network.connect(this.serverHost, this.serverPort);
+        }
+    }
+    
+    
+    
+    //Server::(Host|Port)
+    public String getServerHost() {
+        return this.serverHost;
+    }
+    public void setServerHost(String nhost) {
+        if(nhost == null)
+            throw new NullPointerException();
+        synchronized(this.serverLock) {
+            this.serverHost = nhost;
+        }
+    }
+    public int getServerPort() {
+        return this.serverPort;
+    }
+    public void setServerPort(int nport) {
+        if(nport <= 0)
+            throw new IllegalStateException("cannot be <= 0");
+        synchronized(this.serverLock) {
+            this.serverPort = nport;
+        }
+    }
+    public void connect() {
+        log.debug("Core::connect() called");
+        if(this.serverConnected)
+            return;//TODO: throw IllegalStateExc
+        synchronized(this.serverLock) {
+            this.do_connect = true;
+        }
+    }
+    public void disconnect() {
+        if(!this.serverConnected)
+            return;//TODO: throw IllegalStateExc
+        synchronized(this.serverLock) {
+            this.do_disconnect = true;
+        }
+    }
+    
+    
+    
+    //User-Services
+    public boolean LoggedIn() {
+        return this.loginActive;
+    }
+    public String getLoginName() {
+        return this.loginName;
+    }
+    public String getLoginPassword() {
+        return this.loginPass;
+    }
+    public void setLoginName(String user) {
+        if(user == null)
+            throw new NullPointerException();
+        this.loginName = user;
+    }
+    public void setLoginPassword(String pass) {
+        if(pass == null)
+            throw new NullPointerException();
+        this.loginPass = pass;
+    }
+    public void login() {
+        this.do_login = true;
+    }
+    
+    
+    /////////////////////////
+    /////////////////////////
+    ////private Variables////
+    /////////////////////////
+    /////////////////////////
+    //Composite//
+    /////////////
+    private ClientFrontend mod_frontend = null;
+    private ClientNetwork  mod_network  = null;
+    private ClientSound    mod_sound    = null;
+    public ClientFrontend getFrontend() {
+        return this.mod_frontend;
+    }
+    public ClientNetwork getNetwork() {
+        return this.mod_network;
+    }
+    public ClientSound getSound() {
+        return this.mod_sound;
+    }
+    //////////////////
+    //external Usage//
+    //////////////////
+    private String  serverHost      = "localhost";
+    private int     serverPort      = 3470; //port 3470 is the Standard port
+    private String  serverLock      = "";
+    private boolean serverConnected = false;
+    
+    private String  loginName       = null;
+    private String  loginPass       = null;
+    private boolean loginActive     = false;
+    ////////////////////////////////////
+    //internal Usage, and for Services//
+    ////////////////////////////////////
+    private ExecutorService pool_run_now = null;
+    private Logger          log          = null;
+    ////////////////////////////
+    //internal operate() flags//
+    ////////////////////////////
+    private boolean do_login      = false;
+    private boolean do_connect    = false;
+    private boolean do_disconnect = false;
+}

Added: trunk/Client/src/org/jlink/ClientFrontend.java
===================================================================
--- trunk/Client/src/org/jlink/ClientFrontend.java	                        (rev 0)
+++ trunk/Client/src/org/jlink/ClientFrontend.java	2006-03-09 19:30:15 UTC (rev 1)
@@ -0,0 +1,258 @@
+/*
+ * ClientFrontend.java
+ *
+ * Created on 27. Februar 2006, 11:48
+ *
+ * JLink: An Introversion Uplink Clone with multiplayer support.
+ * Copyright (C) 2006 Tassilo Schweyer
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ */
+
+package org.jlink;
+
+//import
+//import::own
+import org.jlink.Options;
+//import::own::frontend
+import org.jlink.client.frontend.MainFrame;
+import org.jlink.client.frontend.theme.ThemeManager;
+import org.jlink.client.frontend.theme.Theme;
+//import::own::gui
+import org.jlink.client.gui.MenuBean;
+//import::sys
+//import::sys::io
+import java.io.File;
+//import::sys::awt
+import java.awt.Toolkit;
+import java.awt.Dimension;
+import java.awt.Image;
+import java.awt.MediaTracker;
+import java.awt.event.ActionListener;
+...
 
[truncated message content]

Showing results of 33

Flat | Threaded
<< < 1 2 (Page 2 of 2)
SourceForge
  • Create a Project
  • Open Source Software
  • Business Software
  • Top Downloaded Projects
Company
  • About
  • Team
  • SourceForge Headquarters
    1320 Columbia Street Suite 310
    San Diego, CA 92101
    +1 (858) 422-6466
Resources
  • Support
  • Site Documentation
  • Site Status
  • SourceForge Reviews
SourceForge logo
© 2025 Slashdot Media. All Rights Reserved.
Terms Privacy Opt Out Advertise
×
Thanks for helping keep SourceForge clean.
X





Briefly describe the problem (required):
Upload screenshot of ad (required):
Select a file, or drag & drop file here.
✔
✘
Screenshot instructions:

Click URL instructions:
Right-click on the ad, choose "Copy Link", then paste here →
(This may not be possible with some types of ads)

More information about our ad policies

Ad destination/click URL: