Older
-
r55
(Modified base web project to display a login URL when user i...) committed by schefflerjens
- Modified base web project to display a login URL when user is not logged in. That's the only
functionality that's currently there.
Modified base web project to display a login URL when user is not logged in. That's the only
functionality that's currently there.
-
r54
(started collecting external jar files needed for this projec...) committed by schefflerjens
- started collecting external jar files needed for this project
started collecting external jar files needed for this project
-
r53
(Created initial eclipse project for the App Engine web app.
) committed by schefflerjens
- Created initial eclipse project for the App Engine web app.
Created initial eclipse project for the App Engine web app.
-
r52
(Fixed the ant build (except for web project)
) committed by schefflerjens
- Fixed the ant build (except for web project)
Fixed the ant build (except for web project)
-
r51
(persistence seems to support all non-admin features of the d...) committed by schefflerjens
- persistence seems to support all non-admin features of the datastore now. I was able to play through
a couple of games of 4 connect without a single store error :-)
persistence seems to support all non-admin features of the datastore now. I was able to play through
a couple of games of 4 connect without a single store error :-)
-
r50
(removed some unused methods from the ORM interace.
Added new...) committed by schefflerjens
- removed some unused methods from the ORM interace.
Added new ORM implementation (PersistenceORM) and new peristence-mode "memory"
Implementation is incomplete for now, but it should be straightforward to complete:
whenever the ORM is called with an operation it does not know, the server will
crash with an exception
removed some unused methods from the ORM interace.
Added new ORM implementation (PersistenceORM) and new peristence-mode "memory"
Implementation is incomplete for now, but it should be straightforward to complete:
whenever the ORM is called with an operation it does not know, the server will
crash with an exception
-
r49
(Protocol buffer definition for server data that should be pe...) committed by schefflerjens
- Protocol buffer definition for server data that should be persisted.
Protocol buffer definition for server data that should be persisted.
-
r48
(Pulled extracted interface from IBatis-class (called ORM). T...) committed by schefflerjens
- Pulled extracted interface from IBatis-class (called ORM). The intent is to build a second
implementation based on the Persistence-interface
Pulled extracted interface from IBatis-class (called ORM). The intent is to build a second
implementation based on the Persistence-interface
-
r47
(additional logging. Made sure that the ThreadLocal (request-...) committed by schefflerjens
- additional logging. Made sure that the ThreadLocal (request-cache) is cleaned out in-between
requests, in case Threads are getting reused by a server implementation
additional logging. Made sure that the ThreadLocal (request-cache) is cleaned out in-between
requests, in case Threads are getting reused by a server implementation
-
r46
(Converted http-based communications to the aeftools web comm...) committed by schefflerjens
- Converted http-based communications to the aeftools web communication module.
First version of a persistence based ConnectionList. Not fully functional yet:
comm breaks down on closed sockets.
Converted http-based communications to the aeftools web communication module.
First version of a persistence based ConnectionList. Not fully functional yet:
comm breaks down on closed sockets.
-
r45
(Intermediary state (not complete yet): building a MessageBus...) committed by schefflerjens
- Intermediary state (not complete yet): building a MessageBusFactory that can use the
StoreBasedMessageBus
Intermediary state (not complete yet): building a MessageBusFactory that can use the
StoreBasedMessageBus
-
r44
(implementation of StoreBasedMessageBus (seems) complete
) committed by schefflerjens
- implementation of StoreBasedMessageBus (seems) complete
implementation of StoreBasedMessageBus (seems) complete
-
r43
(Started TDD for StoreBasedMessageBus. More unit tests are re...) committed by schefflerjens
- Started TDD for StoreBasedMessageBus. More unit tests are required before implementation can begin.
Started TDD for StoreBasedMessageBus. More unit tests are required before implementation can begin.
-
r42
(drafted class that represents how a MessageBus gets persiste...) committed by schefflerjens
- drafted class that represents how a MessageBus gets persisted on the server
drafted class that represents how a MessageBus gets persisted on the server
-
r41
(First draft of a protocol buffer based schema for persisting...) committed by schefflerjens
- First draft of a protocol buffer based schema for persisting the inner state of a MessageBus object
First draft of a protocol buffer based schema for persisting the inner state of a MessageBus object
-
r40
(unit tests for CommunicationHandler
) committed by schefflerjens
- unit tests for CommunicationHandler
unit tests for CommunicationHandler
-
r39
(first very simple tests for CommunicationHandler
) committed by schefflerjens
- first very simple tests for CommunicationHandler
first very simple tests for CommunicationHandler
-
r38
(Success (well, sortof): this is the first time I was able to...) committed by schefflerjens
- Success (well, sortof): this is the first time I was able to play a game of Connect4 between two
clients
using an http based protocol. The build files are still outdated though (I ran this in the IDE), and
I
need unit tests. I also doubt that the clients send a "goodbye" message to disconnect. I probably
want
something like that.
Success (well, sortof): this is the first time I was able to play a game of Connect4 between two
clients
using an http based protocol. The build files are still outdated though (I ran this in the IDE), and
I
need unit tests. I also doubt that the clients send a "goodbye" message to disconnect. I probably
want
something like that.
-
r37
(Server-side http support, not fully functional, tested or ho...) committed by schefflerjens
- Server-side http support, not fully functional, tested or hooked up yet.
The goal of this (eventually, when completed) will be to have
infrastructure pieces in place to build an http based protocol service.
It does not deal with the real persistence of connection-based classes
yet, though.
Server-side http support, not fully functional, tested or hooked up yet.
The goal of this (eventually, when completed) will be to have
infrastructure pieces in place to build an http based protocol service.
It does not deal with the real persistence of connection-based classes
yet, though.
-
r36
(Unit tests for HttpClientMessageBus are complete
) committed by schefflerjens
- Unit tests for HttpClientMessageBus are complete
Unit tests for HttpClientMessageBus are complete
-
r35
(First set of unit tests for HttpClientMessageBus implemented...) committed by schefflerjens
- First set of unit tests for HttpClientMessageBus implemented. I added
easymock, so some of the ant scripts are probably broken. Needs to be
fixed soon. Also, more unit tests are required (see stubs)
First set of unit tests for HttpClientMessageBus implemented. I added
easymock, so some of the ant scripts are probably broken. Needs to be
fixed soon. Also, more unit tests are required (see stubs)
-
-
r33
(Early draft of the client-side component for http-based comm...) committed by schefflerjens
- Early draft of the client-side component for http-based communication.
Still needs unit testing, plus integration with apache http client
(in separate class, will implement HttpClientMessageBus.Environment)
Early draft of the client-side component for http-based communication.
Still needs unit testing, plus integration with apache http client
(in separate class, will implement HttpClientMessageBus.Environment)
-
r32
(First step towards building an http based communication prot...) committed by schefflerjens
- First step towards building an http based communication protocol:
ability to concatenate several game messages into one, making it easier
to bundle several messages in line efficiently into one call.
First step towards building an http based communication protocol:
ability to concatenate several game messages into one, making it easier
to bundle several messages in line efficiently into one call.
-
r31
(added simple unit test to produce the NPE that was fixed in ...) committed by schefflerjens
- added simple unit test to produce the NPE that was fixed in r30
added simple unit test to produce the NPE that was fixed in r30
-
r30
(fixed some stupid things I did in previous revisions:
in r2...) committed by schefflerjens
- fixed some stupid things I did in previous revisions:
in r25, I introduced a NPE that prevented game-specific controllers to
properly load.
in r26, I switched out the logging without having the default being
"downwards compatible". That's annoing for anyone who is using the
original format for greps and log analysis, so I changed that.
fixed some stupid things I did in previous revisions:
in r25, I introduced a NPE that prevented game-specific controllers to
properly load.
in r26, I switched out the logging without having the default being
"downwards compatible". That's annoing for anyone who is using the
original format for greps and log analysis, so I changed that.
-
r29
(removed "isAdministrator" property from ServerConnectionThre...) committed by schefflerjens
- removed "isAdministrator" property from ServerConnectionThread.
All remaining fields should be retrievable either in the constructor or
init() from other system components, so this thread-class should now be
fine with being non-durable (assumed that whatever creates the objects
on the fly knows what "init"-method to call)
removed "isAdministrator" property from ServerConnectionThread.
All remaining fields should be retrievable either in the constructor or
init() from other system components, so this thread-class should now be
fine with being non-durable (assumed that whatever creates the objects
on the fly knows what "init"-method to call)
-
r28
(removed internal fields game and gameID
) committed by schefflerjens
- removed internal fields game and gameID
removed internal fields game and gameID
-
r27
(ConnectionThread objects in an App Engine environment will n...) committed by schefflerjens
- ConnectionThread objects in an App Engine environment will not be
durable (they may disappear in-between requests). To accomodate this
restriction, we need move any durable state that is needed to recover
the object into some place that can be made durable (either in a
database or in cookies). This is the first refactoring towards this
step.
ConnectionThread objects in an App Engine environment will not be
durable (they may disappear in-between requests). To accomodate this
restriction, we need move any durable state that is needed to recover
the object into some place that can be made durable (either in a
database or in cookies). This is the first refactoring towards this
step.
-
r26
(JogreLogger writes to files directly and thus would not work...) committed by schefflerjens
- JogreLogger writes to files directly and thus would not work in App
Engine. Replaced with standard java logging and moved original code into
newly created class "DownwardsCompatibleLogger"
JogreLogger writes to files directly and thus would not work in App
Engine. Replaced with standard java logging and moved original code into
newly created class "DownwardsCompatibleLogger"
-
r25
(eliminated static AbstractGameServer.getInstance().
In combi...) committed by schefflerjens
- eliminated static AbstractGameServer.getInstance().
In combination with the previous refactorings, this will enable me to
build a second subclass of AbstractGameServer, next to the current
JogreServer, and to be sure that no code will be relying on the static
JogreServer reference (an thus using potentially the wrong subclass),
or attempting to get to the instance before it is properly initiated.
eliminated static AbstractGameServer.getInstance().
In combination with the previous refactorings, this will enable me to
build a second subclass of AbstractGameServer, next to the current
JogreServer, and to be sure that no code will be relying on the static
JogreServer reference (an thus using potentially the wrong subclass),
or attempting to get to the instance before it is properly initiated.
-
r24
(Removed use of static getInstance() of the game server every...) committed by schefflerjens
- Removed use of static getInstance() of the game server everywhere except
for the ServerController (the latter one would possibly break games)
Removed use of static getInstance() of the game server everywhere except
for the ServerController (the latter one would possibly break games)
-
r23
(eliminated JogreServer.getInstance() (use superclass instead...) committed by schefflerjens
- eliminated JogreServer.getInstance() (use superclass instead)
eliminated JogreServer.getInstance() (use superclass instead)
-
r22
(eliminated init() method in AbstractGameServer
) committed by schefflerjens
- eliminated init() method in AbstractGameServer
eliminated init() method in AbstractGameServer
-
r21
(Pulled non-socket logic out of JogreServer into a superclass...) committed by schefflerjens
- Pulled non-socket logic out of JogreServer into a superclass (this part
should be reusable in App Engine).
Pulled non-socket logic out of JogreServer into a superclass (this part
should be reusable in App Engine).
-
r20
(pulled some initialization code into the main method, so tha...) committed by schefflerjens
- pulled some initialization code into the main method, so that
ConnectionList and IServerData can easily be exchanged by other
implementations.
pulled some initialization code into the main method, so that
ConnectionList and IServerData can easily be exchanged by other
implementations.
-
r19
(moved the object construction of JogreServer into the main m...) committed by schefflerjens
- moved the object construction of JogreServer into the main method
(instead of JogreServer.getInstance()). This way, I can create a new
constructor and inject certain fields.
moved the object construction of JogreServer into the main method
(instead of JogreServer.getInstance()). This way, I can create a new
constructor and inject certain fields.
-
r18
(extract interface for ConnectionList
) committed by schefflerjens
- extract interface for ConnectionList
extract interface for ConnectionList
-
r17
(remove size() method from ConnectionList, as it is not used ...) committed by schefflerjens
- remove size() method from ConnectionList, as it is not used right now
and will be hard to implement in App Engine
remove size() method from ConnectionList, as it is not used right now
and will be hard to implement in App Engine
-
r16
(refactoring: enforce encapsulation of field AbstractConnecti...) committed by schefflerjens
- refactoring: enforce encapsulation of field AbstractConnectionThread.username by making it private.
The method setUsername() already existed, but it had not been used a single time.
refactoring: enforce encapsulation of field AbstractConnectionThread.username by making it private.
The method setUsername() already existed, but it had not been used a single time.
-
r15
(Refactoring: extract interface from AbstractConnectionThread...) committed by schefflerjens
- Refactoring: extract interface from AbstractConnectionThread (MessageBus.MessageParser).
Refactoring: extract interface from AbstractConnectionThread (MessageBus.MessageParser).
-
r14
(refactoring: pushed down MessageBus creation into subclasses...) committed by schefflerjens
- refactoring: pushed down MessageBus creation into subclasses of AbstractConnectionThread. The base
class is not completely
unaware of sockets.
refactoring: pushed down MessageBus creation into subclasses of AbstractConnectionThread. The base
class is not completely
unaware of sockets.
-
r13
(refactoring: extract interface "MessageBus"
) committed by schefflerjens
- refactoring: extract interface "MessageBus"
refactoring: extract interface "MessageBus"
-
r12
(refactoring: method renames in SocketBasedMessageBus (final ...) committed by schefflerjens
- refactoring: method renames in SocketBasedMessageBus (final names before interface gets extracted)
refactoring: method renames in SocketBasedMessageBus (final names before interface gets extracted)
-
r11
(Refactoring: SockedBaseMessageBus no longer needs an Abstrac...) committed by schefflerjens
- Refactoring: SockedBaseMessageBus no longer needs an AbstractConnectionThread in the constructor.
This is passed into the
startLoop method now instead.
Refactoring: SockedBaseMessageBus no longer needs an AbstractConnectionThread in the constructor.
This is passed into the
startLoop method now instead.
-
r10
(Improved resource cleanup at the end of a thread.
) committed by schefflerjens
- Improved resource cleanup at the end of a thread.
Improved resource cleanup at the end of a thread.
-
r9
(refactoring: pushed the logic of starting the loop into the ...) committed by schefflerjens
- refactoring: pushed the logic of starting the loop into the MessageBus
object
refactoring: pushed the logic of starting the loop into the MessageBus
object
-
r8
(AbstractConnectionThread is no longer a thread.
) committed by schefflerjens
- AbstractConnectionThread is no longer a thread.
AbstractConnectionThread is no longer a thread.
-
r7
(updated build rule to Java 1.5 compatibility
) committed by schefflerjens
- updated build rule to Java 1.5 compatibility
updated build rule to Java 1.5 compatibility
-
r6
(refactoring: eliminated a bunch of methods in AbstractConnec...) committed by schefflerjens
- refactoring: eliminated a bunch of methods in AbstractConnectionThread by pushing down the
delegation to the MessageBus class into the code of the subclasses
refactoring: eliminated a bunch of methods in AbstractConnectionThread by pushing down the
delegation to the MessageBus class into the code of the subclasses
|