Index: /branches/OKB (trunk integration)/HeuristicLab.Clients.OKB/3.3/HeuristicLab.Clients.OKB-3.3.csproj
===================================================================
--- /branches/OKB (trunk integration)/HeuristicLab.Clients.OKB/3.3/HeuristicLab.Clients.OKB-3.3.csproj	(revision 7573)
+++ /branches/OKB (trunk integration)/HeuristicLab.Clients.OKB/3.3/HeuristicLab.Clients.OKB-3.3.csproj	(revision 7574)
@@ -206,4 +206,6 @@
     <Compile Include="Query\QueryMenuItem.cs" />
     <Compile Include="Query\ServiceClient\CombinedFilter.cs" />
+    <Compile Include="Query\ServiceClient\OrdinalComparisonTimeSpanFilter.cs" />
+    <Compile Include="Query\ServiceClient\NameOrdinalComparisonTimeSpanFilter.cs" />
     <Compile Include="Query\ServiceClient\OrdinalComparisonPercentFilter.cs" />
     <Compile Include="Query\ServiceClient\NameOrdinalComparisonPercentFilter.cs" />
@@ -233,4 +235,10 @@
       <DependentUpon>CombinedFilterView.cs</DependentUpon>
     </Compile>
+    <Compile Include="Query\Views\OrdinalComparisonTimeSpanFilterView.cs">
+      <SubType>UserControl</SubType>
+    </Compile>
+    <Compile Include="Query\Views\OrdinalComparisonTimeSpanFilterView.Designer.cs">
+      <DependentUpon>OrdinalComparisonTimeSpanFilterView.cs</DependentUpon>
+    </Compile>
     <Compile Include="Query\Views\OrdinalComparisonPercentFilterView.cs">
       <SubType>UserControl</SubType>
Index: /branches/OKB (trunk integration)/HeuristicLab.Clients.OKB/3.3/Query/ServiceClient/NameOrdinalComparisonTimeSpanFilter.cs
===================================================================
--- /branches/OKB (trunk integration)/HeuristicLab.Clients.OKB/3.3/Query/ServiceClient/NameOrdinalComparisonTimeSpanFilter.cs	(revision 7574)
+++ /branches/OKB (trunk integration)/HeuristicLab.Clients.OKB/3.3/Query/ServiceClient/NameOrdinalComparisonTimeSpanFilter.cs	(revision 7574)
@@ -0,0 +1,28 @@
+#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab 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 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab 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 HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+namespace HeuristicLab.Clients.OKB.Query {
+  public partial class NameOrdinalComparisonTimeSpanFilter {
+    public override Filter Clone() {
+      return new NameOrdinalComparisonTimeSpanFilter() { FilterTypeName = FilterTypeName, Label = Label, Name = Name, Comparison = Comparison, Value = Value };
+    }
+  }
+}
Index: /branches/OKB (trunk integration)/HeuristicLab.Clients.OKB/3.3/Query/ServiceClient/OrdinalComparisonTimeSpanFilter.cs
===================================================================
--- /branches/OKB (trunk integration)/HeuristicLab.Clients.OKB/3.3/Query/ServiceClient/OrdinalComparisonTimeSpanFilter.cs	(revision 7574)
+++ /branches/OKB (trunk integration)/HeuristicLab.Clients.OKB/3.3/Query/ServiceClient/OrdinalComparisonTimeSpanFilter.cs	(revision 7574)
@@ -0,0 +1,28 @@
+#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab 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 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab 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 HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+namespace HeuristicLab.Clients.OKB.Query {
+  public partial class OrdinalComparisonTimeSpanFilter {
+    public override Filter Clone() {
+      return new OrdinalComparisonTimeSpanFilter() { FilterTypeName = FilterTypeName, Label = Label, Comparison = Comparison, Value = Value };
+    }
+  }
+}
Index: /branches/OKB (trunk integration)/HeuristicLab.Clients.OKB/3.3/Query/ServiceClient/QueryServiceClient.cs
===================================================================
--- /branches/OKB (trunk integration)/HeuristicLab.Clients.OKB/3.3/Query/ServiceClient/QueryServiceClient.cs	(revision 7573)
+++ /branches/OKB (trunk integration)/HeuristicLab.Clients.OKB/3.3/Query/ServiceClient/QueryServiceClient.cs	(revision 7574)
@@ -18,8 +18,10 @@
     [System.Runtime.Serialization.DataContractAttribute(Name="Filter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
         "fer")]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.CombinedFilter))]
     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.OrdinalComparisonFilter))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.OrdinalComparisonTimeSpanFilter))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameOrdinalComparisonTimeSpanFilter))]
     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.OrdinalComparisonLongFilter))]
     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameOrdinalComparisonLongFilter))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.OrdinalComparisonDateTimeFilter))]
     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.OrdinalComparisonIntFilter))]
     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameOrdinalComparisonIntFilter))]
@@ -30,9 +32,9 @@
     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.OrdinalComparisonPercentFilter))]
     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameOrdinalComparisonPercentFilter))]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.OrdinalComparisonDateTimeFilter))]
     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.StringComparisonFilter))]
     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.StringComparisonAvailableValuesFilter))]
     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameStringComparisonAvailableValuesFilter))]
     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameStringComparisonFilter))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.CombinedFilter))]
     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.EqualityComparisonFilter))]
     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.EqualityComparisonBoolFilter))]
@@ -109,54 +111,11 @@
     [System.Diagnostics.DebuggerStepThroughAttribute()]
     [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="CombinedFilter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
-        "fer")]
-    public partial class CombinedFilter : HeuristicLab.Clients.OKB.Query.Filter
-    {
-        
-        private System.Collections.Generic.List<HeuristicLab.Clients.OKB.Query.Filter> FiltersField;
-        
-        private HeuristicLab.Clients.OKB.Query.BooleanOperation OperationField;
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public System.Collections.Generic.List<HeuristicLab.Clients.OKB.Query.Filter> Filters
-        {
-            get
-            {
-                return this.FiltersField;
-            }
-            set
-            {
-                if ((object.ReferenceEquals(this.FiltersField, value) != true))
-                {
-                    this.FiltersField = value;
-                    this.RaisePropertyChanged("Filters");
-                }
-            }
-        }
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public HeuristicLab.Clients.OKB.Query.BooleanOperation Operation
-        {
-            get
-            {
-                return this.OperationField;
-            }
-            set
-            {
-                if ((this.OperationField.Equals(value) != true))
-                {
-                    this.OperationField = value;
-                    this.RaisePropertyChanged("Operation");
-                }
-            }
-        }
-    }
-    
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     [System.Runtime.Serialization.DataContractAttribute(Name="OrdinalComparisonFilter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
         "fer")]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.OrdinalComparisonTimeSpanFilter))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameOrdinalComparisonTimeSpanFilter))]
     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.OrdinalComparisonLongFilter))]
     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameOrdinalComparisonLongFilter))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.OrdinalComparisonDateTimeFilter))]
     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.OrdinalComparisonIntFilter))]
     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameOrdinalComparisonIntFilter))]
@@ -167,5 +126,4 @@
     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.OrdinalComparisonPercentFilter))]
     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameOrdinalComparisonPercentFilter))]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.OrdinalComparisonDateTimeFilter))]
     public partial class OrdinalComparisonFilter : HeuristicLab.Clients.OKB.Query.Filter
     {
@@ -193,4 +151,59 @@
     [System.Diagnostics.DebuggerStepThroughAttribute()]
     [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="OrdinalComparisonTimeSpanFilter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
+        "fer")]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.NameOrdinalComparisonTimeSpanFilter))]
+    public partial class OrdinalComparisonTimeSpanFilter : HeuristicLab.Clients.OKB.Query.OrdinalComparisonFilter
+    {
+        
+        private long ValueField;
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public long Value
+        {
+            get
+            {
+                return this.ValueField;
+            }
+            set
+            {
+                if ((this.ValueField.Equals(value) != true))
+                {
+                    this.ValueField = value;
+                    this.RaisePropertyChanged("Value");
+                }
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="NameOrdinalComparisonTimeSpanFilter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
+        "fer")]
+    public partial class NameOrdinalComparisonTimeSpanFilter : HeuristicLab.Clients.OKB.Query.OrdinalComparisonTimeSpanFilter
+    {
+        
+        private string NameField;
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string Name
+        {
+            get
+            {
+                return this.NameField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.NameField, value) != true))
+                {
+                    this.NameField = value;
+                    this.RaisePropertyChanged("Name");
+                }
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     [System.Runtime.Serialization.DataContractAttribute(Name="OrdinalComparisonLongFilter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
         "fer")]
@@ -248,4 +261,31 @@
     [System.Diagnostics.DebuggerStepThroughAttribute()]
     [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="OrdinalComparisonDateTimeFilter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
+        "fer")]
+    public partial class OrdinalComparisonDateTimeFilter : HeuristicLab.Clients.OKB.Query.OrdinalComparisonFilter
+    {
+        
+        private System.DateTime ValueField;
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public System.DateTime Value
+        {
+            get
+            {
+                return this.ValueField;
+            }
+            set
+            {
+                if ((this.ValueField.Equals(value) != true))
+                {
+                    this.ValueField = value;
+                    this.RaisePropertyChanged("Value");
+                }
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     [System.Runtime.Serialization.DataContractAttribute(Name="OrdinalComparisonIntFilter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
         "fer")]
@@ -461,31 +501,4 @@
                     this.NameField = value;
                     this.RaisePropertyChanged("Name");
-                }
-            }
-        }
-    }
-    
-    [System.Diagnostics.DebuggerStepThroughAttribute()]
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="OrdinalComparisonDateTimeFilter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
-        "fer")]
-    public partial class OrdinalComparisonDateTimeFilter : HeuristicLab.Clients.OKB.Query.OrdinalComparisonFilter
-    {
-        
-        private System.DateTime ValueField;
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public System.DateTime Value
-        {
-            get
-            {
-                return this.ValueField;
-            }
-            set
-            {
-                if ((this.ValueField.Equals(value) != true))
-                {
-                    this.ValueField = value;
-                    this.RaisePropertyChanged("Value");
                 }
             }
@@ -619,4 +632,50 @@
                     this.NameField = value;
                     this.RaisePropertyChanged("Name");
+                }
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="CombinedFilter", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
+        "fer")]
+    public partial class CombinedFilter : HeuristicLab.Clients.OKB.Query.Filter
+    {
+        
+        private System.Collections.Generic.List<HeuristicLab.Clients.OKB.Query.Filter> FiltersField;
+        
+        private HeuristicLab.Clients.OKB.Query.BooleanOperation OperationField;
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public System.Collections.Generic.List<HeuristicLab.Clients.OKB.Query.Filter> Filters
+        {
+            get
+            {
+                return this.FiltersField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.FiltersField, value) != true))
+                {
+                    this.FiltersField = value;
+                    this.RaisePropertyChanged("Filters");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public HeuristicLab.Clients.OKB.Query.BooleanOperation Operation
+        {
+            get
+            {
+                return this.OperationField;
+            }
+            set
+            {
+                if ((this.OperationField.Equals(value) != true))
+                {
+                    this.OperationField = value;
+                    this.RaisePropertyChanged("Operation");
                 }
             }
@@ -766,4 +825,54 @@
     
     [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="OrdinalComparison", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
+        "fer")]
+    public enum OrdinalComparison : int
+    {
+        
+        [System.Runtime.Serialization.EnumMemberAttribute()]
+        Less = 0,
+        
+        [System.Runtime.Serialization.EnumMemberAttribute()]
+        LessOrEqual = 1,
+        
+        [System.Runtime.Serialization.EnumMemberAttribute()]
+        Equal = 2,
+        
+        [System.Runtime.Serialization.EnumMemberAttribute()]
+        GreaterOrEqual = 3,
+        
+        [System.Runtime.Serialization.EnumMemberAttribute()]
+        Greater = 4,
+        
+        [System.Runtime.Serialization.EnumMemberAttribute()]
+        NotEqual = 5,
+    }
+    
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="StringComparison", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
+        "fer")]
+    public enum StringComparison : int
+    {
+        
+        [System.Runtime.Serialization.EnumMemberAttribute()]
+        Equal = 0,
+        
+        [System.Runtime.Serialization.EnumMemberAttribute()]
+        NotEqual = 1,
+        
+        [System.Runtime.Serialization.EnumMemberAttribute()]
+        Contains = 2,
+        
+        [System.Runtime.Serialization.EnumMemberAttribute()]
+        NotContains = 3,
+        
+        [System.Runtime.Serialization.EnumMemberAttribute()]
+        Like = 4,
+        
+        [System.Runtime.Serialization.EnumMemberAttribute()]
+        NotLike = 5,
+    }
+    
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     [System.Runtime.Serialization.DataContractAttribute(Name="BooleanOperation", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
         "fer")]
@@ -779,32 +888,7 @@
     
     [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="OrdinalComparison", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
-        "fer")]
-    public enum OrdinalComparison : int
-    {
-        
-        [System.Runtime.Serialization.EnumMemberAttribute()]
-        Less = 0,
-        
-        [System.Runtime.Serialization.EnumMemberAttribute()]
-        LessOrEqual = 1,
-        
-        [System.Runtime.Serialization.EnumMemberAttribute()]
-        Equal = 2,
-        
-        [System.Runtime.Serialization.EnumMemberAttribute()]
-        GreaterOrEqual = 3,
-        
-        [System.Runtime.Serialization.EnumMemberAttribute()]
-        Greater = 4,
-        
-        [System.Runtime.Serialization.EnumMemberAttribute()]
-        NotEqual = 5,
-    }
-    
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="StringComparison", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
-        "fer")]
-    public enum StringComparison : int
+    [System.Runtime.Serialization.DataContractAttribute(Name="EqualityComparison", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
+        "fer")]
+    public enum EqualityComparison : int
     {
         
@@ -814,29 +898,4 @@
         [System.Runtime.Serialization.EnumMemberAttribute()]
         NotEqual = 1,
-        
-        [System.Runtime.Serialization.EnumMemberAttribute()]
-        Contains = 2,
-        
-        [System.Runtime.Serialization.EnumMemberAttribute()]
-        NotContains = 3,
-        
-        [System.Runtime.Serialization.EnumMemberAttribute()]
-        Like = 4,
-        
-        [System.Runtime.Serialization.EnumMemberAttribute()]
-        NotLike = 5,
-    }
-    
-    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="EqualityComparison", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
-        "fer")]
-    public enum EqualityComparison : int
-    {
-        
-        [System.Runtime.Serialization.EnumMemberAttribute()]
-        Equal = 0,
-        
-        [System.Runtime.Serialization.EnumMemberAttribute()]
-        NotEqual = 1,
     }
     
@@ -1286,12 +1345,13 @@
     [System.Runtime.Serialization.DataContractAttribute(Name="Value", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
         "fer")]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.BoolValue))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.LongValue))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.IntValue))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.TimeSpanValue))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.FloatValue))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.DoubleValue))]
     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.StringValue))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.BinaryValue))]
     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.PercentValue))]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.BinaryValue))]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.DoubleValue))]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.BoolValue))]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.IntValue))]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.LongValue))]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.Query.FloatValue))]
     public partial class Value : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
     {
@@ -1434,13 +1494,13 @@
     [System.Diagnostics.DebuggerStepThroughAttribute()]
     [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="StringValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
-        "fer")]
-    public partial class StringValue : HeuristicLab.Clients.OKB.Query.Value
-    {
-        
-        private string ValueField;
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public string Value
+    [System.Runtime.Serialization.DataContractAttribute(Name="BoolValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
+        "fer")]
+    public partial class BoolValue : HeuristicLab.Clients.OKB.Query.Value
+    {
+        
+        private bool ValueField;
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public bool Value
         {
             get
@@ -1450,5 +1510,5 @@
             set
             {
-                if ((object.ReferenceEquals(this.ValueField, value) != true))
+                if ((this.ValueField.Equals(value) != true))
                 {
                     this.ValueField = value;
@@ -1461,13 +1521,13 @@
     [System.Diagnostics.DebuggerStepThroughAttribute()]
     [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="PercentValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
-        "fer")]
-    public partial class PercentValue : HeuristicLab.Clients.OKB.Query.Value
-    {
-        
-        private double ValueField;
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public double Value
+    [System.Runtime.Serialization.DataContractAttribute(Name="LongValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
+        "fer")]
+    public partial class LongValue : HeuristicLab.Clients.OKB.Query.Value
+    {
+        
+        private long ValueField;
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public long Value
         {
             get
@@ -1488,13 +1548,13 @@
     [System.Diagnostics.DebuggerStepThroughAttribute()]
     [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="BinaryValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
-        "fer")]
-    public partial class BinaryValue : HeuristicLab.Clients.OKB.Query.Value
-    {
-        
-        private byte[] ValueField;
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public byte[] Value
+    [System.Runtime.Serialization.DataContractAttribute(Name="IntValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
+        "fer")]
+    public partial class IntValue : HeuristicLab.Clients.OKB.Query.Value
+    {
+        
+        private int ValueField;
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public int Value
         {
             get
@@ -1504,5 +1564,5 @@
             set
             {
-                if ((object.ReferenceEquals(this.ValueField, value) != true))
+                if ((this.ValueField.Equals(value) != true))
                 {
                     this.ValueField = value;
@@ -1515,13 +1575,13 @@
     [System.Diagnostics.DebuggerStepThroughAttribute()]
     [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="DoubleValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
-        "fer")]
-    public partial class DoubleValue : HeuristicLab.Clients.OKB.Query.Value
-    {
-        
-        private double ValueField;
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public double Value
+    [System.Runtime.Serialization.DataContractAttribute(Name="TimeSpanValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
+        "fer")]
+    public partial class TimeSpanValue : HeuristicLab.Clients.OKB.Query.Value
+    {
+        
+        private long ValueField;
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public long Value
         {
             get
@@ -1542,13 +1602,13 @@
     [System.Diagnostics.DebuggerStepThroughAttribute()]
     [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="BoolValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
-        "fer")]
-    public partial class BoolValue : HeuristicLab.Clients.OKB.Query.Value
-    {
-        
-        private bool ValueField;
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public bool Value
+    [System.Runtime.Serialization.DataContractAttribute(Name="FloatValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
+        "fer")]
+    public partial class FloatValue : HeuristicLab.Clients.OKB.Query.Value
+    {
+        
+        private float ValueField;
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public float Value
         {
             get
@@ -1569,13 +1629,13 @@
     [System.Diagnostics.DebuggerStepThroughAttribute()]
     [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="IntValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
-        "fer")]
-    public partial class IntValue : HeuristicLab.Clients.OKB.Query.Value
-    {
-        
-        private int ValueField;
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public int Value
+    [System.Runtime.Serialization.DataContractAttribute(Name="DoubleValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
+        "fer")]
+    public partial class DoubleValue : HeuristicLab.Clients.OKB.Query.Value
+    {
+        
+        private double ValueField;
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public double Value
         {
             get
@@ -1596,13 +1656,13 @@
     [System.Diagnostics.DebuggerStepThroughAttribute()]
     [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="LongValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
-        "fer")]
-    public partial class LongValue : HeuristicLab.Clients.OKB.Query.Value
-    {
-        
-        private long ValueField;
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public long Value
+    [System.Runtime.Serialization.DataContractAttribute(Name="StringValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
+        "fer")]
+    public partial class StringValue : HeuristicLab.Clients.OKB.Query.Value
+    {
+        
+        private string ValueField;
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string Value
         {
             get
@@ -1612,5 +1672,5 @@
             set
             {
-                if ((this.ValueField.Equals(value) != true))
+                if ((object.ReferenceEquals(this.ValueField, value) != true))
                 {
                     this.ValueField = value;
@@ -1623,13 +1683,40 @@
     [System.Diagnostics.DebuggerStepThroughAttribute()]
     [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="FloatValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
-        "fer")]
-    public partial class FloatValue : HeuristicLab.Clients.OKB.Query.Value
-    {
-        
-        private float ValueField;
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public float Value
+    [System.Runtime.Serialization.DataContractAttribute(Name="BinaryValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
+        "fer")]
+    public partial class BinaryValue : HeuristicLab.Clients.OKB.Query.Value
+    {
+        
+        private byte[] ValueField;
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public byte[] Value
+        {
+            get
+            {
+                return this.ValueField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.ValueField, value) != true))
+                {
+                    this.ValueField = value;
+                    this.RaisePropertyChanged("Value");
+                }
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="PercentValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.Query.DataTrans" +
+        "fer")]
+    public partial class PercentValue : HeuristicLab.Clients.OKB.Query.Value
+    {
+        
+        private double ValueField;
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public double Value
         {
             get
Index: /branches/OKB (trunk integration)/HeuristicLab.Clients.OKB/3.3/Query/Views/OrdinalComparisonTimeSpanFilterView.Designer.cs
===================================================================
--- /branches/OKB (trunk integration)/HeuristicLab.Clients.OKB/3.3/Query/Views/OrdinalComparisonTimeSpanFilterView.Designer.cs	(revision 7574)
+++ /branches/OKB (trunk integration)/HeuristicLab.Clients.OKB/3.3/Query/Views/OrdinalComparisonTimeSpanFilterView.Designer.cs	(revision 7574)
@@ -0,0 +1,116 @@
+#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab 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 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab 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 HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+namespace HeuristicLab.Clients.OKB.Query {
+  partial class OrdinalComparisonTimeSpanFilterView {
+    /// <summary> 
+    /// Required designer variable.
+    /// </summary>
+    private System.ComponentModel.IContainer components = null;
+
+    /// <summary> 
+    /// Clean up any resources being used.
+    /// </summary>
+    /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+    protected override void Dispose(bool disposing) {
+      if (disposing) {
+        if (components != null) components.Dispose();
+      }
+      base.Dispose(disposing);
+    }
+
+    #region Component Designer generated code
+
+    /// <summary> 
+    /// Required method for Designer support - do not modify 
+    /// the contents of this method with the code editor.
+    /// </summary>
+    private void InitializeComponent() {
+      this.components = new System.ComponentModel.Container();
+      this.valueTextBox = new System.Windows.Forms.TextBox();
+      this.errorProvider = new System.Windows.Forms.ErrorProvider(this.components);
+      ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
+      this.splitContainer1.Panel1.SuspendLayout();
+      this.splitContainer1.Panel2.SuspendLayout();
+      this.splitContainer1.SuspendLayout();
+      ((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).BeginInit();
+      this.splitContainer2.Panel1.SuspendLayout();
+      this.splitContainer2.Panel2.SuspendLayout();
+      this.splitContainer2.SuspendLayout();
+      ((System.ComponentModel.ISupportInitialize)(this.errorProvider)).BeginInit();
+      this.SuspendLayout();
+      // 
+      // splitContainer1
+      // 
+      // 
+      // splitContainer2
+      // 
+      // 
+      // splitContainer2.Panel2
+      // 
+      this.splitContainer2.Panel2.Controls.Add(this.valueTextBox);
+      // 
+      // valueTextBox
+      // 
+      this.valueTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
+      this.valueTextBox.Location = new System.Drawing.Point(3, 2);
+      this.valueTextBox.Name = "valueTextBox";
+      this.valueTextBox.Size = new System.Drawing.Size(280, 20);
+      this.valueTextBox.TabIndex = 0;
+      this.valueTextBox.KeyDown += new System.Windows.Forms.KeyEventHandler(this.valueTextBox_KeyDown);
+      this.valueTextBox.Validating += new System.ComponentModel.CancelEventHandler(this.valueTextBox_Validating);
+      this.valueTextBox.Validated += new System.EventHandler(this.valueTextBox_Validated);
+      // 
+      // errorProvider
+      // 
+      this.errorProvider.BlinkStyle = System.Windows.Forms.ErrorBlinkStyle.NeverBlink;
+      this.errorProvider.ContainerControl = this;
+      // 
+      // NameOrdinalComparisonDateTimeFilterView
+      // 
+      this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+      this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+      this.Name = "NameOrdinalComparisonDateTimeFilterView";
+      this.splitContainer1.Panel1.ResumeLayout(false);
+      this.splitContainer1.Panel2.ResumeLayout(false);
+      ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit();
+      this.splitContainer1.ResumeLayout(false);
+      this.splitContainer2.Panel1.ResumeLayout(false);
+      this.splitContainer2.Panel2.ResumeLayout(false);
+      this.splitContainer2.Panel2.PerformLayout();
+      ((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).EndInit();
+      this.splitContainer2.ResumeLayout(false);
+      ((System.ComponentModel.ISupportInitialize)(this.errorProvider)).EndInit();
+      this.ResumeLayout(false);
+
+    }
+
+    #endregion
+
+    private System.Windows.Forms.TextBox valueTextBox;
+    private System.Windows.Forms.ErrorProvider errorProvider;
+
+
+
+
+
+  }
+}
Index: /branches/OKB (trunk integration)/HeuristicLab.Clients.OKB/3.3/Query/Views/OrdinalComparisonTimeSpanFilterView.cs
===================================================================
--- /branches/OKB (trunk integration)/HeuristicLab.Clients.OKB/3.3/Query/Views/OrdinalComparisonTimeSpanFilterView.cs	(revision 7574)
+++ /branches/OKB (trunk integration)/HeuristicLab.Clients.OKB/3.3/Query/Views/OrdinalComparisonTimeSpanFilterView.cs	(revision 7574)
@@ -0,0 +1,89 @@
+#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab 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 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab 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 HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System;
+using System.Windows.Forms;
+using HeuristicLab.MainForm;
+using HeuristicLab.MainForm.WindowsForms;
+
+namespace HeuristicLab.Clients.OKB.Query {
+  [View("OrdinalComparisonTimeSpanFilterView View")]
+  [Content(typeof(OrdinalComparisonTimeSpanFilter), true)]
+  public partial class OrdinalComparisonTimeSpanFilterView : OrdinalComparisonFilterView {
+    public new OrdinalComparisonTimeSpanFilter Content {
+      get { return (OrdinalComparisonTimeSpanFilter)base.Content; }
+      set { base.Content = value; }
+    }
+
+    public OrdinalComparisonTimeSpanFilterView() {
+      InitializeComponent();
+      errorProvider.SetIconAlignment(valueTextBox, ErrorIconAlignment.MiddleLeft);
+      errorProvider.SetIconPadding(valueTextBox, 2);
+    }
+
+    protected override void OnContentChanged() {
+      base.OnContentChanged();
+
+      if (Content == null) {
+        valueTextBox.Text = string.Empty;
+      } else if (Content.Value == 0) {
+        valueTextBox.Text = "00:00:00";
+      } else {
+        valueTextBox.Text = TimeSpan.FromSeconds(Content.Value).ToString();
+      }
+    }
+
+    protected override void SetEnabledStateOfControls() {
+      base.SetEnabledStateOfControls();
+      valueTextBox.Enabled = Content != null;
+      valueTextBox.ReadOnly = ReadOnly;
+    }
+
+    private void valueTextBox_KeyDown(object sender, KeyEventArgs e) {
+      if ((e.KeyCode == Keys.Enter) || (e.KeyCode == Keys.Return))
+        label.Focus();  // set focus on label to validate data
+      if (e.KeyCode == Keys.Escape) {
+        valueTextBox.Text = Content.Value.ToString();
+        label.Focus();  // set focus on label to validate data
+      }
+    }
+    private void valueTextBox_Validating(object sender, System.ComponentModel.CancelEventArgs e) {
+      HeuristicLab.Data.IStringConvertibleValue tsv = new HeuristicLab.Data.TimeSpanValue();
+
+      string errorMessage;
+      if (!tsv.Validate(valueTextBox.Text, out errorMessage)) {
+        e.Cancel = true;
+        errorProvider.SetError(valueTextBox, "Invalid TimeSpan Value");
+        valueTextBox.SelectAll();
+      }
+    }
+    private void valueTextBox_Validated(object sender, System.EventArgs e) {
+      if (Content != null) {
+        HeuristicLab.Data.IStringConvertibleValue tsv = new HeuristicLab.Data.TimeSpanValue();
+
+        tsv.SetValue(valueTextBox.Text);
+        Content.Value = (long)((HeuristicLab.Data.TimeSpanValue)tsv).Value.TotalSeconds;
+        errorProvider.SetError(valueTextBox, string.Empty);
+        valueTextBox.Text = tsv.GetValue();
+      }
+    }
+  }
+}
Index: /branches/OKB (trunk integration)/HeuristicLab.Clients.OKB/3.3/RunCreation/OKBRun.cs
===================================================================
--- /branches/OKB (trunk integration)/HeuristicLab.Clients.OKB/3.3/RunCreation/OKBRun.cs	(revision 7573)
+++ /branches/OKB (trunk integration)/HeuristicLab.Clients.OKB/3.3/RunCreation/OKBRun.cs	(revision 7574)
@@ -184,4 +184,8 @@
           v.Value = ((Data.IntValue)item.Value).Value;
           value = v;
+        } else if (item.Value is Data.TimeSpanValue) {
+          TimeSpanValue v = new TimeSpanValue();
+          v.Value = (long)((Data.TimeSpanValue)item.Value).Value.TotalSeconds;
+          value = v;
         } else if (item.Value is Data.PercentValue) {
           PercentValue v = new PercentValue();
Index: /branches/OKB (trunk integration)/HeuristicLab.Clients.OKB/3.3/RunCreation/ServiceClient/RunCreationServiceClient.cs
===================================================================
--- /branches/OKB (trunk integration)/HeuristicLab.Clients.OKB/3.3/RunCreation/ServiceClient/RunCreationServiceClient.cs	(revision 7573)
+++ /branches/OKB (trunk integration)/HeuristicLab.Clients.OKB/3.3/RunCreation/ServiceClient/RunCreationServiceClient.cs	(revision 7574)
@@ -653,12 +653,13 @@
     [System.Runtime.Serialization.DataContractAttribute(Name="Value", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.RunCreation.Dat" +
         "aTransfer")]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.RunCreation.BinaryValue))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.RunCreation.LongValue))]
     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.RunCreation.FloatValue))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.RunCreation.TimeSpanValue))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.RunCreation.IntValue))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.RunCreation.BoolValue))]
     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.RunCreation.DoubleValue))]
+    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.RunCreation.PercentValue))]
     [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.RunCreation.StringValue))]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.RunCreation.PercentValue))]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.RunCreation.BoolValue))]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.RunCreation.IntValue))]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.RunCreation.LongValue))]
-    [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.RunCreation.BinaryValue))]
     public partial class Value : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
     {
@@ -730,13 +731,13 @@
     [System.Diagnostics.DebuggerStepThroughAttribute()]
     [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="FloatValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.RunCreation.Dat" +
-        "aTransfer")]
-    public partial class FloatValue : HeuristicLab.Clients.OKB.RunCreation.Value
-    {
-        
-        private float ValueField;
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public float Value
+    [System.Runtime.Serialization.DataContractAttribute(Name="BinaryValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.RunCreation.Dat" +
+        "aTransfer")]
+    public partial class BinaryValue : HeuristicLab.Clients.OKB.RunCreation.Value
+    {
+        
+        private byte[] ValueField;
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public byte[] Value
         {
             get
@@ -746,5 +747,5 @@
             set
             {
-                if ((this.ValueField.Equals(value) != true))
+                if ((object.ReferenceEquals(this.ValueField, value) != true))
                 {
                     this.ValueField = value;
@@ -757,13 +758,13 @@
     [System.Diagnostics.DebuggerStepThroughAttribute()]
     [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="DoubleValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.RunCreation.Dat" +
-        "aTransfer")]
-    public partial class DoubleValue : HeuristicLab.Clients.OKB.RunCreation.Value
-    {
-        
-        private double ValueField;
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public double Value
+    [System.Runtime.Serialization.DataContractAttribute(Name="LongValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.RunCreation.Dat" +
+        "aTransfer")]
+    public partial class LongValue : HeuristicLab.Clients.OKB.RunCreation.Value
+    {
+        
+        private long ValueField;
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public long Value
         {
             get
@@ -784,13 +785,13 @@
     [System.Diagnostics.DebuggerStepThroughAttribute()]
     [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="StringValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.RunCreation.Dat" +
-        "aTransfer")]
-    public partial class StringValue : HeuristicLab.Clients.OKB.RunCreation.Value
-    {
-        
-        private string ValueField;
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public string Value
+    [System.Runtime.Serialization.DataContractAttribute(Name="FloatValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.RunCreation.Dat" +
+        "aTransfer")]
+    public partial class FloatValue : HeuristicLab.Clients.OKB.RunCreation.Value
+    {
+        
+        private float ValueField;
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public float Value
         {
             get
@@ -800,5 +801,5 @@
             set
             {
-                if ((object.ReferenceEquals(this.ValueField, value) != true))
+                if ((this.ValueField.Equals(value) != true))
                 {
                     this.ValueField = value;
@@ -811,13 +812,13 @@
     [System.Diagnostics.DebuggerStepThroughAttribute()]
     [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="PercentValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.RunCreation.Dat" +
-        "aTransfer")]
-    public partial class PercentValue : HeuristicLab.Clients.OKB.RunCreation.Value
-    {
-        
-        private double ValueField;
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public double Value
+    [System.Runtime.Serialization.DataContractAttribute(Name="TimeSpanValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.RunCreation.Dat" +
+        "aTransfer")]
+    public partial class TimeSpanValue : HeuristicLab.Clients.OKB.RunCreation.Value
+    {
+        
+        private long ValueField;
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public long Value
         {
             get
@@ -838,13 +839,13 @@
     [System.Diagnostics.DebuggerStepThroughAttribute()]
     [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="BoolValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.RunCreation.Dat" +
-        "aTransfer")]
-    public partial class BoolValue : HeuristicLab.Clients.OKB.RunCreation.Value
-    {
-        
-        private bool ValueField;
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public bool Value
+    [System.Runtime.Serialization.DataContractAttribute(Name="IntValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.RunCreation.Dat" +
+        "aTransfer")]
+    public partial class IntValue : HeuristicLab.Clients.OKB.RunCreation.Value
+    {
+        
+        private int ValueField;
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public int Value
         {
             get
@@ -865,13 +866,13 @@
     [System.Diagnostics.DebuggerStepThroughAttribute()]
     [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="IntValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.RunCreation.Dat" +
-        "aTransfer")]
-    public partial class IntValue : HeuristicLab.Clients.OKB.RunCreation.Value
-    {
-        
-        private int ValueField;
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public int Value
+    [System.Runtime.Serialization.DataContractAttribute(Name="BoolValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.RunCreation.Dat" +
+        "aTransfer")]
+    public partial class BoolValue : HeuristicLab.Clients.OKB.RunCreation.Value
+    {
+        
+        private bool ValueField;
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public bool Value
         {
             get
@@ -892,13 +893,13 @@
     [System.Diagnostics.DebuggerStepThroughAttribute()]
     [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="LongValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.RunCreation.Dat" +
-        "aTransfer")]
-    public partial class LongValue : HeuristicLab.Clients.OKB.RunCreation.Value
-    {
-        
-        private long ValueField;
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public long Value
+    [System.Runtime.Serialization.DataContractAttribute(Name="DoubleValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.RunCreation.Dat" +
+        "aTransfer")]
+    public partial class DoubleValue : HeuristicLab.Clients.OKB.RunCreation.Value
+    {
+        
+        private double ValueField;
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public double Value
         {
             get
@@ -919,13 +920,40 @@
     [System.Diagnostics.DebuggerStepThroughAttribute()]
     [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-    [System.Runtime.Serialization.DataContractAttribute(Name="BinaryValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.RunCreation.Dat" +
-        "aTransfer")]
-    public partial class BinaryValue : HeuristicLab.Clients.OKB.RunCreation.Value
-    {
-        
-        private byte[] ValueField;
-        
-        [System.Runtime.Serialization.DataMemberAttribute()]
-        public byte[] Value
+    [System.Runtime.Serialization.DataContractAttribute(Name="PercentValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.RunCreation.Dat" +
+        "aTransfer")]
+    public partial class PercentValue : HeuristicLab.Clients.OKB.RunCreation.Value
+    {
+        
+        private double ValueField;
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public double Value
+        {
+            get
+            {
+                return this.ValueField;
+            }
+            set
+            {
+                if ((this.ValueField.Equals(value) != true))
+                {
+                    this.ValueField = value;
+                    this.RaisePropertyChanged("Value");
+                }
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="StringValue", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.RunCreation.Dat" +
+        "aTransfer")]
+    public partial class StringValue : HeuristicLab.Clients.OKB.RunCreation.Value
+    {
+        
+        private string ValueField;
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string Value
         {
             get
Index: /branches/OKB (trunk integration)/HeuristicLab.Services.OKB.DataAccess/3.3/ValueNameType.cs
===================================================================
--- /branches/OKB (trunk integration)/HeuristicLab.Services.OKB.DataAccess/3.3/ValueNameType.cs	(revision 7573)
+++ /branches/OKB (trunk integration)/HeuristicLab.Services.OKB.DataAccess/3.3/ValueNameType.cs	(revision 7574)
@@ -29,5 +29,6 @@
     String = 5,
     Binary = 6,
-    Percent = 7
+    Percent = 7,
+    TimeSpan = 8
   }
 }
Index: /branches/OKB (trunk integration)/HeuristicLab.Services.OKB/3.3/HeuristicLab.Services.OKB-3.3.csproj
===================================================================
--- /branches/OKB (trunk integration)/HeuristicLab.Services.OKB/3.3/HeuristicLab.Services.OKB-3.3.csproj	(revision 7573)
+++ /branches/OKB (trunk integration)/HeuristicLab.Services.OKB/3.3/HeuristicLab.Services.OKB-3.3.csproj	(revision 7574)
@@ -147,4 +147,7 @@
     <Compile Include="Query\DataTransfer\BoolValue.cs" />
     <Compile Include="Query\DataTransfer\CombinedFilter.cs" />
+    <Compile Include="Query\DataTransfer\NameOrdinalComparisonTimeSpanFilter.cs" />
+    <Compile Include="Query\DataTransfer\OrdinalComparisonTimeSpanFilter.cs" />
+    <Compile Include="Query\DataTransfer\TimeSpanValue.cs" />
     <Compile Include="Query\DataTransfer\OrdinalComparisonPercentFilter.cs" />
     <Compile Include="Query\DataTransfer\NameOrdinalComparisonPercentFilter.cs" />
@@ -195,4 +198,5 @@
     <Compile Include="Query\Filters\BoolValueFilter.cs" />
     <Compile Include="Query\Filters\BinaryValueFilter.cs" />
+    <Compile Include="Query\Filters\TimeSpanValueFilter.cs" />
     <Compile Include="Query\Filters\PercentValueFilter.cs" />
     <Compile Include="Query\Filters\StringValueFilter.cs" />
@@ -237,4 +241,5 @@
     <Compile Include="RunCreation\DataTransfer\BinaryValue.cs" />
     <Compile Include="RunCreation\DataTransfer\BoolValue.cs" />
+    <Compile Include="RunCreation\DataTransfer\TimeSpanValue.cs" />
     <Compile Include="RunCreation\DataTransfer\PercentValue.cs" />
     <Compile Include="RunCreation\DataTransfer\DataType.cs" />
Index: /branches/OKB (trunk integration)/HeuristicLab.Services.OKB/3.3/Query/Convert.cs
===================================================================
--- /branches/OKB (trunk integration)/HeuristicLab.Services.OKB/3.3/Query/Convert.cs	(revision 7573)
+++ /branches/OKB (trunk integration)/HeuristicLab.Services.OKB/3.3/Query/Convert.cs	(revision 7574)
@@ -56,4 +56,6 @@
       } else if (source.ValueName.Type == DA.ValueNameType.Int) {
         return new DT.IntValue { Name = source.ValueName.Name, DataType = Convert.ToDto(source.DataType), Value = source.IntValue.GetValueOrDefault() };
+      } else if (source.ValueName.Type == DA.ValueNameType.TimeSpan) {
+        return new DT.TimeSpanValue { Name = source.ValueName.Name, DataType = Convert.ToDto(source.DataType), Value = source.LongValue.GetValueOrDefault() };
       } else if (source.ValueName.Type == DA.ValueNameType.Long) {
         return new DT.LongValue { Name = source.ValueName.Name, DataType = Convert.ToDto(source.DataType), Value = source.LongValue.GetValueOrDefault() };
Index: /branches/OKB (trunk integration)/HeuristicLab.Services.OKB/3.3/Query/DataTransfer/Filter.cs
===================================================================
--- /branches/OKB (trunk integration)/HeuristicLab.Services.OKB/3.3/Query/DataTransfer/Filter.cs	(revision 7573)
+++ /branches/OKB (trunk integration)/HeuristicLab.Services.OKB/3.3/Query/DataTransfer/Filter.cs	(revision 7574)
@@ -36,4 +36,5 @@
   [KnownType(typeof(NameOrdinalComparisonIntFilter))]
   [KnownType(typeof(NameOrdinalComparisonLongFilter))]
+  [KnownType(typeof(NameOrdinalComparisonTimeSpanFilter))]
   [KnownType(typeof(NameStringComparisonFilter))]
   [KnownType(typeof(NameStringComparisonAvailableValuesFilter))]
Index: /branches/OKB (trunk integration)/HeuristicLab.Services.OKB/3.3/Query/DataTransfer/NameOrdinalComparisonTimeSpanFilter.cs
===================================================================
--- /branches/OKB (trunk integration)/HeuristicLab.Services.OKB/3.3/Query/DataTransfer/NameOrdinalComparisonTimeSpanFilter.cs	(revision 7574)
+++ /branches/OKB (trunk integration)/HeuristicLab.Services.OKB/3.3/Query/DataTransfer/NameOrdinalComparisonTimeSpanFilter.cs	(revision 7574)
@@ -0,0 +1,35 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab 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 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab 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 HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System.Runtime.Serialization;
+
+namespace HeuristicLab.Services.OKB.Query.DataTransfer {
+  [DataContract]
+  public class NameOrdinalComparisonTimeSpanFilter : OrdinalComparisonTimeSpanFilter {
+    [DataMember]
+    public string Name { get; protected set; }
+
+    public NameOrdinalComparisonTimeSpanFilter(string filterTypeName, string label, string name)
+      : base(filterTypeName, label) {
+      Name = name;
+    }
+  }
+}
Index: /branches/OKB (trunk integration)/HeuristicLab.Services.OKB/3.3/Query/DataTransfer/OrdinalComparisonTimeSpanFilter.cs
===================================================================
--- /branches/OKB (trunk integration)/HeuristicLab.Services.OKB/3.3/Query/DataTransfer/OrdinalComparisonTimeSpanFilter.cs	(revision 7574)
+++ /branches/OKB (trunk integration)/HeuristicLab.Services.OKB/3.3/Query/DataTransfer/OrdinalComparisonTimeSpanFilter.cs	(revision 7574)
@@ -0,0 +1,35 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab 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 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab 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 HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System.Runtime.Serialization;
+
+namespace HeuristicLab.Services.OKB.Query.DataTransfer {
+  [DataContract]
+  public class OrdinalComparisonTimeSpanFilter : OrdinalComparisonFilter {
+    [DataMember]
+    public long Value { get; set; }
+
+    public OrdinalComparisonTimeSpanFilter(string filterTypeName, string label) {
+      FilterTypeName = filterTypeName;
+      Label = label;
+    }
+  }
+}
Index: /branches/OKB (trunk integration)/HeuristicLab.Services.OKB/3.3/Query/DataTransfer/TimeSpanValue.cs
===================================================================
--- /branches/OKB (trunk integration)/HeuristicLab.Services.OKB/3.3/Query/DataTransfer/TimeSpanValue.cs	(revision 7574)
+++ /branches/OKB (trunk integration)/HeuristicLab.Services.OKB/3.3/Query/DataTransfer/TimeSpanValue.cs	(revision 7574)
@@ -0,0 +1,30 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab 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 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab 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 HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System.Runtime.Serialization;
+
+namespace HeuristicLab.Services.OKB.Query.DataTransfer {
+  [DataContract]
+  public class TimeSpanValue : Value {
+    [DataMember]
+    public long Value { get; set; }
+  }
+}
Index: /branches/OKB (trunk integration)/HeuristicLab.Services.OKB/3.3/Query/DataTransfer/Value.cs
===================================================================
--- /branches/OKB (trunk integration)/HeuristicLab.Services.OKB/3.3/Query/DataTransfer/Value.cs	(revision 7573)
+++ /branches/OKB (trunk integration)/HeuristicLab.Services.OKB/3.3/Query/DataTransfer/Value.cs	(revision 7574)
@@ -32,4 +32,5 @@
   [KnownType(typeof(BinaryValue))]
   [KnownType(typeof(PercentValue))]
+  [KnownType(typeof(TimeSpanValue))]
   public abstract class Value {
     [DataMember]
Index: /branches/OKB (trunk integration)/HeuristicLab.Services.OKB/3.3/Query/Filters/TimeSpanValueFilter.cs
===================================================================
--- /branches/OKB (trunk integration)/HeuristicLab.Services.OKB/3.3/Query/Filters/TimeSpanValueFilter.cs	(revision 7574)
+++ /branches/OKB (trunk integration)/HeuristicLab.Services.OKB/3.3/Query/Filters/TimeSpanValueFilter.cs	(revision 7574)
@@ -0,0 +1,65 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab 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 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab 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 HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System;
+using System.Linq;
+using System.Linq.Expressions;
+using HeuristicLab.Services.OKB.DataAccess;
+
+namespace HeuristicLab.Services.OKB.Query.Filters {
+  public class TimeSpanValueFilter : IFilter {
+    public string Name { get; protected set; }
+    public DataTransfer.OrdinalComparison Comparison { get; set; }
+    public long Value { get; set; }
+
+    public Expression<Func<Run, bool>> Expression {
+      get {
+        switch (Comparison) {
+          case DataTransfer.OrdinalComparison.Less:
+            return x => x.Values.Any(y => (y.ValueName.Name == Name) && (y.LongValue < Value));
+          case DataTransfer.OrdinalComparison.LessOrEqual:
+            return x => x.Values.Any(y => (y.ValueName.Name == Name) && (y.LongValue <= Value));
+          case DataTransfer.OrdinalComparison.Equal:
+            return x => x.Values.Any(y => (y.ValueName.Name == Name) && (y.LongValue == Value));
+          case DataTransfer.OrdinalComparison.GreaterOrEqual:
+            return x => x.Values.Any(y => (y.ValueName.Name == Name) && (y.LongValue >= Value));
+          case DataTransfer.OrdinalComparison.Greater:
+            return x => x.Values.Any(y => (y.ValueName.Name == Name) && (y.LongValue > Value));
+          case DataTransfer.OrdinalComparison.NotEqual:
+            return x => x.Values.Any(y => (y.ValueName.Name == Name) && (y.LongValue != Value));
+          default:
+            return x => true;
+        }
+      }
+    }
+
+    public TimeSpanValueFilter(string name, DataTransfer.OrdinalComparison comparison, long value) {
+      Name = name;
+      Comparison = comparison;
+      Value = value;
+    }
+    public TimeSpanValueFilter(DataTransfer.NameOrdinalComparisonTimeSpanFilter filter) {
+      Name = filter.Name;
+      Comparison = filter.Comparison;
+      Value = filter.Value;
+    }
+  }
+}
Index: /branches/OKB (trunk integration)/HeuristicLab.Services.OKB/3.3/Query/QueryService.cs
===================================================================
--- /branches/OKB (trunk integration)/HeuristicLab.Services.OKB/3.3/Query/QueryService.cs	(revision 7573)
+++ /branches/OKB (trunk integration)/HeuristicLab.Services.OKB/3.3/Query/QueryService.cs	(revision 7574)
@@ -75,4 +75,10 @@
             name
           ));
+        foreach (string name in okb.ValueNames.Where(x => (x.Category == ValueNameCategory.Parameter) && (x.Type == ValueNameType.TimeSpan)).Select(x => x.Name).Distinct())
+          filters.Add(new NameOrdinalComparisonTimeSpanFilter(
+            typeof(TimeSpanValueFilter).AssemblyQualifiedName,
+            "Parameter " + name + " Value",
+            name
+          ));
         foreach (string name in okb.ValueNames.Where(x => (x.Category == ValueNameCategory.Parameter) && (x.Type == ValueNameType.Float)).Select(x => x.Name).Distinct())
           filters.Add(new NameOrdinalComparisonFloatFilter(
@@ -138,4 +144,10 @@
             name
           ));
+        foreach (string name in okb.ValueNames.Where(x => (x.Category == ValueNameCategory.Result) && (x.Type == ValueNameType.TimeSpan)).Select(x => x.Name).Distinct())
+          filters.Add(new NameOrdinalComparisonTimeSpanFilter(
+            typeof(TimeSpanValueFilter).AssemblyQualifiedName,
+            "Result " + name + " Value",
+            name
+          ));
         foreach (string name in okb.ValueNames.Where(x => (x.Category == ValueNameCategory.Result) && (x.Type == ValueNameType.Float)).Select(x => x.Name).Distinct())
           filters.Add(new NameOrdinalComparisonFloatFilter(
Index: /branches/OKB (trunk integration)/HeuristicLab.Services.OKB/3.3/RunCreation/Convert.cs
===================================================================
--- /branches/OKB (trunk integration)/HeuristicLab.Services.OKB/3.3/RunCreation/Convert.cs	(revision 7573)
+++ /branches/OKB (trunk integration)/HeuristicLab.Services.OKB/3.3/RunCreation/Convert.cs	(revision 7574)
@@ -77,4 +77,7 @@
         entity.ValueName = Convert.ToEntity(source.Name, category, DA.ValueNameType.Int, okb);
         entity.IntValue = ((DT.IntValue)source).Value;
+      } else if (source is DT.TimeSpanValue) {
+        entity.ValueName = Convert.ToEntity(source.Name, category, DA.ValueNameType.TimeSpan, okb);
+        entity.LongValue = ((DT.TimeSpanValue)source).Value;
       } else if (source is DT.LongValue) {
         entity.ValueName = Convert.ToEntity(source.Name, category, DA.ValueNameType.Long, okb);
Index: /branches/OKB (trunk integration)/HeuristicLab.Services.OKB/3.3/RunCreation/DataTransfer/TimeSpanValue.cs
===================================================================
--- /branches/OKB (trunk integration)/HeuristicLab.Services.OKB/3.3/RunCreation/DataTransfer/TimeSpanValue.cs	(revision 7574)
+++ /branches/OKB (trunk integration)/HeuristicLab.Services.OKB/3.3/RunCreation/DataTransfer/TimeSpanValue.cs	(revision 7574)
@@ -0,0 +1,30 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab 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 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab 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 HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System.Runtime.Serialization;
+
+namespace HeuristicLab.Services.OKB.RunCreation.DataTransfer {
+  [DataContract]
+  public class TimeSpanValue : Value {
+    [DataMember]
+    public long Value { get; set; }
+  }
+}
Index: /branches/OKB (trunk integration)/HeuristicLab.Services.OKB/3.3/RunCreation/DataTransfer/Value.cs
===================================================================
--- /branches/OKB (trunk integration)/HeuristicLab.Services.OKB/3.3/RunCreation/DataTransfer/Value.cs	(revision 7573)
+++ /branches/OKB (trunk integration)/HeuristicLab.Services.OKB/3.3/RunCreation/DataTransfer/Value.cs	(revision 7574)
@@ -32,4 +32,5 @@
   [KnownType(typeof(BinaryValue))]
   [KnownType(typeof(PercentValue))]
+  [KnownType(typeof(TimeSpanValue))]
   public abstract class Value {
     [DataMember]
