Index: branches/OKBJavaConnector/RunCreationService/src/com/heurisitclab/okb/service/runcreation/Algorithm.java
===================================================================
--- branches/OKBJavaConnector/RunCreationService/src/com/heurisitclab/okb/service/runcreation/Algorithm.java	(revision 6151)
+++ branches/OKBJavaConnector/RunCreationService/src/com/heurisitclab/okb/service/runcreation/Algorithm.java	(revision 6327)
@@ -23,4 +23,8 @@
     }
 
+    public Long getId()
+    {
+        return id;
+    }
 
 }
Index: branches/OKBJavaConnector/RunCreationService/src/com/heurisitclab/okb/service/runcreation/RunCreationUtil.java
===================================================================
--- branches/OKBJavaConnector/RunCreationService/src/com/heurisitclab/okb/service/runcreation/RunCreationUtil.java	(revision 6151)
+++ branches/OKBJavaConnector/RunCreationService/src/com/heurisitclab/okb/service/runcreation/RunCreationUtil.java	(revision 6327)
@@ -5,8 +5,19 @@
 package com.heurisitclab.okb.service.runcreation;
 
+import com.heuristiclab.services.runcreation.ArrayOfValue;
+import com.heuristiclab.services.runcreation.DataType;
 import com.heuristiclab.services.runcreation.IRunCreationService;
+import com.heuristiclab.services.runcreation.IntValue;
+import com.heuristiclab.services.runcreation.ObjectFactory;
 import com.heuristiclab.services.runcreation.RunCreationService;
+import com.sun.org.apache.xerces.internal.jaxp.datatype.XMLGregorianCalendarImpl;
+
 import java.net.MalformedURLException;
 import java.net.URL;
+import java.util.Calendar;
+import java.util.GregorianCalendar;
+import java.util.Map;
+import javax.xml.datatype.DatatypeFactory;
+import javax.xml.datatype.XMLGregorianCalendar;
 
 /**
@@ -16,5 +27,5 @@
 public class RunCreationUtil {
 
-    public static IRunCreationService createRunCreationService() {
+    protected static IRunCreationService createRunCreationService() {
         try {
             RunCreationService srv = new RunCreationService(new URL("https://services.heuristiclab.com/OKB.SPR.Java-3.3/RunCreationService.svc"));
@@ -26,5 +37,8 @@
         }
     }
-
+    /**
+     * fetching an Algorithm by name and platformName from the service
+     *@throws  IllegalArgumentException if no algorithm is found
+     */
     public static Algorithm getAlgorithm(String name, String platformName)
     {
@@ -44,27 +58,58 @@
         }
 
-        return returnValue;
-
-
-    
+        return returnValue;   
     }
 
 
-    public static Run createRun()
+    /**
+     * submitting a run to the service
+     */
+    public static void createRun(Map<String, String> parameters, int result,String resultString,int seed, long algorithmId, long problemId)
     {
-       // Run returnValue = new Run();
-       // com.heuristiclab.services.runcreation.Run r = null;
-       // r.setAlgorithmId(Long.MIN_VALUE);
-       // r.setClientId(null);
-       // r.setProblemId(Long.MIN_VALUE);
-       // r.setUserId(null);
-       // createAdministrationService();
 
+        com.heuristiclab.services.runcreation.ObjectFactory of = new com.heuristiclab.services.runcreation.ObjectFactory();
+        
 
-        return null;
+        com.heuristiclab.services.runcreation.Run run = of.createRun();
+        
+        run.setAlgorithmId(algorithmId);
+        run.setClientId(System.getProperties().getProperty("java.version"));
+        run.setUserId("okbtester");
+        run.setProblemId(problemId);
+        Calendar cal = Calendar.getInstance();
+        
+        //of.createDateTime(XMLGregorianCalendarImpl.createDateTime(cal.get(Calendar.YEAR), cal.get(Calendar.MONTH), cal.get(Calendar.DAY_OF_MONTH), cal.get(Calendar.HOUR_OF_DAY), cal.get(Calendar.MINUTE), cal.get(Calendar.SECOND)));
+
+        run.setRandomSeed(seed);
+
+       ArrayOfValue values = of.createArrayOfValue();
+        for(Map.Entry<String, String> param : parameters.entrySet())
+        {
+            
+           com.heuristiclab.services.runcreation.StringValue v = of.createStringValue();
+           v.setName(of.createValueName(param.getKey()));
+           v.setValue(of.createStringValueValue(param.getValue()));
+          
+           values.getValue().add(v);
+        }
+      
+       
+
+        run.setParameterValues(of.createRunParameterValues(values));
+
+        ArrayOfValue resultValues = new ArrayOfValue();
+        IntValue value = new IntValue();
+        value.setValue(result);
+        value.setName(of.createValueName("integerResult"));
+        resultValues.getValue().add(value);
+        com.heuristiclab.services.runcreation.StringValue strValue = new com.heuristiclab.services.runcreation.StringValue();
+        strValue.setName(of.createValueName("result"));
+        strValue.setValue(of.createStringValueValue(resultString));
+        
+        resultValues.getValue().add(strValue);
+        
+        createRunCreationService().addRun(run);
     }
 
 
-
-
 }
