summaryrefslogtreecommitdiffstats
path: root/daemon/src/main/java/org/openslx/taskmanager/network/RequestParser.java
diff options
context:
space:
mode:
Diffstat (limited to 'daemon/src/main/java/org/openslx/taskmanager/network/RequestParser.java')
-rw-r--r--daemon/src/main/java/org/openslx/taskmanager/network/RequestParser.java20
1 files changed, 13 insertions, 7 deletions
diff --git a/daemon/src/main/java/org/openslx/taskmanager/network/RequestParser.java b/daemon/src/main/java/org/openslx/taskmanager/network/RequestParser.java
index d2cfb21..5741e58 100644
--- a/daemon/src/main/java/org/openslx/taskmanager/network/RequestParser.java
+++ b/daemon/src/main/java/org/openslx/taskmanager/network/RequestParser.java
@@ -15,15 +15,21 @@ public class RequestParser
/**
* Our very own gson instance (for serializing replies)
*/
- private static final Gson sendGson = new Gson();
+ private final Gson sendGson = new Gson();
+
+ private final Taskmanager taskManager;
+
+ public RequestParser( Taskmanager tm )
+ {
+ this.taskManager = tm;
+ }
/**
* Handle the given unparsed request.
*
- * @param source source of the request, where the reply will be send to (if any)
* @param payload Packet data received from network, already converted to a string
*/
- public static byte[] handle( String payload )
+ public byte[] handle( String payload )
{
String[] parts = payload.split( " *, *", 3 );
// Message format is "<message id>, <command>, <command payload/argument>"
@@ -34,21 +40,21 @@ public class RequestParser
// Look at parts[1], if it's "status" it's a request for the task
// with the ID given in parts[2]
if ( parts[1].equals( "status" ) ) {
- TaskStatus status = Taskmanager.getTaskStatus( parts[2] );
+ TaskStatus status = taskManager.getTaskStatus( parts[2] );
return serialize( parts[0], status );
}
// Now check if parts[1] is "release"
if ( parts[1].equals( "release" ) ) {
- Taskmanager.releaseTask( parts[2] );
+ taskManager.releaseTask( parts[2] );
return null;
}
// Anything else in parts[0] will be treated as a fresh task invocation, so let's
// pass it on to the task manager.
- TaskStatus status = Taskmanager.submitTask( parts[1], parts[2] );
+ TaskStatus status = taskManager.submitTask( parts[1], parts[2] );
return serialize( parts[0], status );
}
- private static byte[] serialize( String messageId, TaskStatus status )
+ private byte[] serialize( String messageId, TaskStatus status )
{
String data;
try {