Index: /branches/OKB/HeuristicLab.Clients.OKB-3.3/HeuristicLab.Clients.OKB-3.3.csproj
===================================================================
--- /branches/OKB/HeuristicLab.Clients.OKB-3.3/HeuristicLab.Clients.OKB-3.3.csproj (revision 5294)
+++ /branches/OKB/HeuristicLab.Clients.OKB-3.3/HeuristicLab.Clients.OKB-3.3.csproj (revision 5295)
@@ -115,5 +115,4 @@
-
@@ -221,10 +220,4 @@
NameSetComparisonStringFilterView.cs
-
- UserControl
-
-
- OrdinalComparisonIntFilterView.cs
-
UserControl
Index: /branches/OKB/HeuristicLab.Clients.OKB-3.3/OKBClient.cs
===================================================================
--- /branches/OKB/HeuristicLab.Clients.OKB-3.3/OKBClient.cs (revision 5294)
+++ /branches/OKB/HeuristicLab.Clients.OKB-3.3/OKBClient.cs (revision 5295)
@@ -185,8 +185,9 @@
#region DataType Methods
public DataType ConvertToDataType(Type type) {
- DataType dataType = DataTypes.FirstOrDefault(x => x.Name == type.AssemblyQualifiedName);
+ DataType dataType = DataTypes.FirstOrDefault(x => x.TypeName == type.AssemblyQualifiedName);
if (dataType == null) {
dataType = new DataType();
- dataType.Name = type.AssemblyQualifiedName;
+ dataType.Name = type.Name;
+ dataType.TypeName = type.AssemblyQualifiedName;
dataType.PlatformId = Platforms.FirstOrDefault(x => x.Name == "HeuristicLab 3.3").Id;
@@ -388,5 +389,5 @@
try {
ItemCollection runs = new ItemCollection();
- runs.AddRange(CallAdminService>(s => s.GetRuns(experimentId)).OrderByDescending(x => x.FinishedDate));
+ runs.AddRange(CallAdminService>(s => s.GetRuns(experimentId)).OrderByDescending(x => x.CreatedDate));
runs.ItemsRemoved += new CollectionItemsChangedEventHandler(runs_ItemsRemoved);
return runs;
@@ -418,5 +419,5 @@
r.ExperimentId = exp.Id;
r.ClientId = Guid.NewGuid();
- r.FinishedDate = DateTime.Now;
+ r.CreatedDate = DateTime.Now;
r.RandomSeed = ((IntValue)((IValueParameter)algorithm.Parameters["Seed"]).Value).Value;
r.ResultValues = resultValues;
@@ -687,18 +688,33 @@
#region Query Methods
+ private IEnumerable filters;
+ public IEnumerable GetFilters(bool refresh) {
+ if (refresh || (filters == null)) {
+ try {
+ filters = CallAdminService>(s => s.GetFilters());
+ }
+ catch (Exception ex) {
+ ErrorHandling.ShowErrorDialog("Refresh filters.", ex);
+ return null;
+ }
+ }
+ return filters;
+ }
public IEnumerable GetFilters() {
- try {
- return CallAdminService>(s => s.GetFilters());
- }
- catch (Exception ex) {
- ErrorHandling.ShowErrorDialog("Refresh filters.", ex);
- return null;
- }
-
+ return GetFilters(false);
+ }
+ public long QueryNumberOfRuns(Filter filter) {
+ try {
+ return CallAdminService(x => x.QueryNumberOfRuns(filter));
+ }
+ catch (Exception ex) {
+ ErrorHandling.ShowErrorDialog("Refresh runs failed.", ex);
+ return -1;
+ }
}
public ItemCollection QueryRuns(Filter filter) {
try {
ItemCollection runs = new ItemCollection();
- runs.AddRange(CallAdminService>(s => s.QueryRuns(filter)).OrderByDescending(x => x.FinishedDate));
+ runs.AddRange(CallAdminService>(s => s.QueryRuns(filter)).OrderByDescending(x => x.CreatedDate));
return runs;
}
Index: /branches/OKB/HeuristicLab.Clients.OKB-3.3/ServiceClients/DataType.cs
===================================================================
--- /branches/OKB/HeuristicLab.Clients.OKB-3.3/ServiceClients/DataType.cs (revision 5294)
+++ /branches/OKB/HeuristicLab.Clients.OKB-3.3/ServiceClients/DataType.cs (revision 5295)
@@ -22,4 +22,5 @@
using HeuristicLab.Common;
using HeuristicLab.Core;
+using System.ComponentModel;
namespace HeuristicLab.Clients.OKB {
@@ -29,4 +30,5 @@
: base(original, cloner) {
Name = original.Name;
+ TypeName = original.TypeName;
SqlName = original.SqlName;
PlatformId = original.PlatformId;
@@ -43,5 +45,11 @@
public override string ToString() {
- return Name;
+ return Name + " (" + TypeName + ")";
+ }
+
+ protected override void OnPropertyChanged(PropertyChangedEventArgs e) {
+ base.OnPropertyChanged(e);
+ if ((e.PropertyName == "Name") || (e.PropertyName == "TypeName"))
+ OnToStringChanged();
}
}
Index: /branches/OKB/HeuristicLab.Clients.OKB-3.3/ServiceClients/GenerateServiceClients.cmd
===================================================================
--- /branches/OKB/HeuristicLab.Clients.OKB-3.3/ServiceClients/GenerateServiceClients.cmd (revision 5294)
+++ /branches/OKB/HeuristicLab.Clients.OKB-3.3/ServiceClients/GenerateServiceClients.cmd (revision 5295)
@@ -5,4 +5,6 @@
echo Generating OKBService client
echo.
+
+REM If app.config should be generated, use option "/config:..\app.config" instead of "/noConfig".
svcutil.exe ^
@@ -13,5 +15,5 @@
/targetClientVersion:Version35 ^
/enableDataBinding ^
- /config:..\app.config
+ /noConfig
echo.
@@ -33,4 +35,6 @@
echo.
+REM If app.config should be generated, use options "/config:..\app.config" and "/mergeConfig" instead of "/noConfig".
+
svcutil.exe ^
http://localhost:8732/Design_Time_Addresses/OKB-3.3/AuthenticationService/mex ^
@@ -40,6 +44,5 @@
/targetClientVersion:Version35 ^
/enableDataBinding ^
- /config:..\app.config ^
- /mergeConfig
+ /noConfig
echo.
Index: /branches/OKB/HeuristicLab.Clients.OKB-3.3/ServiceClients/OKBServiceClient.cs
===================================================================
--- /branches/OKB/HeuristicLab.Clients.OKB-3.3/ServiceClients/OKBServiceClient.cs (revision 5294)
+++ /branches/OKB/HeuristicLab.Clients.OKB-3.3/ServiceClients/OKBServiceClient.cs (revision 5295)
@@ -131,9 +131,9 @@
private System.Guid ClientIdField;
+ private System.DateTime CreatedDateField;
+
private long ExperimentIdField;
- private System.Nullable FinishedDateField;
-
- private int RandomSeedField;
+ private long RandomSeedField;
private System.Collections.Generic.List ResultValuesField;
@@ -155,4 +155,17 @@
[System.Runtime.Serialization.DataMemberAttribute()]
+ public System.DateTime CreatedDate {
+ get {
+ return this.CreatedDateField;
+ }
+ set {
+ if ((this.CreatedDateField.Equals(value) != true)) {
+ this.CreatedDateField = value;
+ this.RaisePropertyChanged("CreatedDate");
+ }
+ }
+ }
+
+ [System.Runtime.Serialization.DataMemberAttribute()]
public long ExperimentId {
get {
@@ -168,18 +181,5 @@
[System.Runtime.Serialization.DataMemberAttribute()]
- public System.Nullable FinishedDate {
- get {
- return this.FinishedDateField;
- }
- set {
- if ((this.FinishedDateField.Equals(value) != true)) {
- this.FinishedDateField = value;
- this.RaisePropertyChanged("FinishedDate");
- }
- }
- }
-
- [System.Runtime.Serialization.DataMemberAttribute()]
- public int RandomSeed {
+ public long RandomSeed {
get {
return this.RandomSeedField;
@@ -231,4 +231,6 @@
private string SqlNameField;
+ private string TypeNameField;
+
[System.Runtime.Serialization.DataMemberAttribute()]
public string Name {
@@ -266,4 +268,17 @@
this.SqlNameField = value;
this.RaisePropertyChanged("SqlName");
+ }
+ }
+ }
+
+ [System.Runtime.Serialization.DataMemberAttribute()]
+ public string TypeName {
+ get {
+ return this.TypeNameField;
+ }
+ set {
+ if ((object.ReferenceEquals(this.TypeNameField, value) != true)) {
+ this.TypeNameField = value;
+ this.RaisePropertyChanged("TypeName");
}
}
@@ -561,7 +576,7 @@
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
[System.Runtime.Serialization.DataContractAttribute(Name = "AlgorithmParameterValue", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
+ [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.AlgorithmParameterBoolValue))]
+ [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.AlgorithmParameterBlobValue))]
[System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.AlgorithmParameterStringValue))]
- [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.AlgorithmParameterBlobValue))]
- [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.AlgorithmParameterBoolValue))]
[System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.AlgorithmParameterFloatValue))]
[System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.AlgorithmParameterIntValue))]
@@ -637,9 +652,9 @@
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
[System.Runtime.Serialization.DataContractAttribute(Name = "ProblemParameterValue", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
+ [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.ProblemParameterBoolValue))]
+ [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.ProblemParameterBlobValue))]
[System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.ProblemParameterFloatValue))]
[System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.ProblemParameterStringValue))]
[System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.ProblemParameterIntValue))]
- [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.ProblemParameterBlobValue))]
- [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.ProblemParameterBoolValue))]
public partial class ProblemParameterValue : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
@@ -712,11 +727,32 @@
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
- [System.Runtime.Serialization.DataContractAttribute(Name = "AlgorithmParameterStringValue", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
- public partial class AlgorithmParameterStringValue : HeuristicLab.Clients.OKB.AlgorithmParameterValue {
-
- private string ValueField;
-
- [System.Runtime.Serialization.DataMemberAttribute()]
- public string Value {
+ [System.Runtime.Serialization.DataContractAttribute(Name = "AlgorithmParameterBoolValue", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
+ public partial class AlgorithmParameterBoolValue : HeuristicLab.Clients.OKB.AlgorithmParameterValue {
+
+ private bool ValueField;
+
+ [System.Runtime.Serialization.DataMemberAttribute()]
+ public bool 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 = "AlgorithmParameterBlobValue", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
+ public partial class AlgorithmParameterBlobValue : HeuristicLab.Clients.OKB.AlgorithmParameterValue {
+
+ private byte[] ValueField;
+
+ [System.Runtime.Serialization.DataMemberAttribute()]
+ public byte[] Value {
get {
return this.ValueField;
@@ -733,11 +769,11 @@
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
- [System.Runtime.Serialization.DataContractAttribute(Name = "AlgorithmParameterBlobValue", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
- public partial class AlgorithmParameterBlobValue : HeuristicLab.Clients.OKB.AlgorithmParameterValue {
-
- private byte[] ValueField;
-
- [System.Runtime.Serialization.DataMemberAttribute()]
- public byte[] Value {
+ [System.Runtime.Serialization.DataContractAttribute(Name = "AlgorithmParameterStringValue", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
+ public partial class AlgorithmParameterStringValue : HeuristicLab.Clients.OKB.AlgorithmParameterValue {
+
+ private string ValueField;
+
+ [System.Runtime.Serialization.DataMemberAttribute()]
+ public string Value {
get {
return this.ValueField;
@@ -754,11 +790,11 @@
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
- [System.Runtime.Serialization.DataContractAttribute(Name = "AlgorithmParameterBoolValue", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
- public partial class AlgorithmParameterBoolValue : HeuristicLab.Clients.OKB.AlgorithmParameterValue {
-
- private bool ValueField;
-
- [System.Runtime.Serialization.DataMemberAttribute()]
- public bool Value {
+ [System.Runtime.Serialization.DataContractAttribute(Name = "AlgorithmParameterFloatValue", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
+ public partial class AlgorithmParameterFloatValue : HeuristicLab.Clients.OKB.AlgorithmParameterValue {
+
+ private double ValueField;
+
+ [System.Runtime.Serialization.DataMemberAttribute()]
+ public double Value {
get {
return this.ValueField;
@@ -775,11 +811,11 @@
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
- [System.Runtime.Serialization.DataContractAttribute(Name = "AlgorithmParameterFloatValue", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
- public partial class AlgorithmParameterFloatValue : HeuristicLab.Clients.OKB.AlgorithmParameterValue {
-
- private double ValueField;
-
- [System.Runtime.Serialization.DataMemberAttribute()]
- public double Value {
+ [System.Runtime.Serialization.DataContractAttribute(Name = "AlgorithmParameterIntValue", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
+ public partial class AlgorithmParameterIntValue : HeuristicLab.Clients.OKB.AlgorithmParameterValue {
+
+ private long ValueField;
+
+ [System.Runtime.Serialization.DataMemberAttribute()]
+ public long Value {
get {
return this.ValueField;
@@ -796,11 +832,11 @@
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
- [System.Runtime.Serialization.DataContractAttribute(Name = "AlgorithmParameterIntValue", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
- public partial class AlgorithmParameterIntValue : HeuristicLab.Clients.OKB.AlgorithmParameterValue {
-
- private long ValueField;
-
- [System.Runtime.Serialization.DataMemberAttribute()]
- public long Value {
+ [System.Runtime.Serialization.DataContractAttribute(Name = "ProblemParameterBoolValue", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
+ public partial class ProblemParameterBoolValue : HeuristicLab.Clients.OKB.ProblemParameterValue {
+
+ private bool ValueField;
+
+ [System.Runtime.Serialization.DataMemberAttribute()]
+ public bool Value {
get {
return this.ValueField;
@@ -817,4 +853,25 @@
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+ [System.Runtime.Serialization.DataContractAttribute(Name = "ProblemParameterBlobValue", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
+ public partial class ProblemParameterBlobValue : HeuristicLab.Clients.OKB.ProblemParameterValue {
+
+ 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 = "ProblemParameterFloatValue", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
public partial class ProblemParameterFloatValue : HeuristicLab.Clients.OKB.ProblemParameterValue {
@@ -880,52 +937,10 @@
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
- [System.Runtime.Serialization.DataContractAttribute(Name = "ProblemParameterBlobValue", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
- public partial class ProblemParameterBlobValue : HeuristicLab.Clients.OKB.ProblemParameterValue {
-
- 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 = "ProblemParameterBoolValue", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
- public partial class ProblemParameterBoolValue : HeuristicLab.Clients.OKB.ProblemParameterValue {
-
- private bool ValueField;
-
- [System.Runtime.Serialization.DataMemberAttribute()]
- public bool 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 = "ResultValue", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
+ [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.ResultStringValue))]
+ [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.ResultFloatValue))]
+ [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.ResultBlobValue))]
+ [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.ResultBoolValue))]
[System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.ResultIntValue))]
- [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.ResultStringValue))]
- [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.ResultBlobValue))]
- [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.ResultFloatValue))]
- [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.ResultBoolValue))]
public partial class ResultValue : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
@@ -998,11 +1013,32 @@
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
- [System.Runtime.Serialization.DataContractAttribute(Name = "ResultIntValue", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
- public partial class ResultIntValue : HeuristicLab.Clients.OKB.ResultValue {
-
- private long ValueField;
-
- [System.Runtime.Serialization.DataMemberAttribute()]
- public long Value {
+ [System.Runtime.Serialization.DataContractAttribute(Name = "ResultStringValue", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
+ public partial class ResultStringValue : HeuristicLab.Clients.OKB.ResultValue {
+
+ private string ValueField;
+
+ [System.Runtime.Serialization.DataMemberAttribute()]
+ public string 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 = "ResultFloatValue", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
+ public partial class ResultFloatValue : HeuristicLab.Clients.OKB.ResultValue {
+
+ private double ValueField;
+
+ [System.Runtime.Serialization.DataMemberAttribute()]
+ public double Value {
get {
return this.ValueField;
@@ -1019,11 +1055,11 @@
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
- [System.Runtime.Serialization.DataContractAttribute(Name = "ResultStringValue", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
- public partial class ResultStringValue : HeuristicLab.Clients.OKB.ResultValue {
-
- private string ValueField;
-
- [System.Runtime.Serialization.DataMemberAttribute()]
- public string Value {
+ [System.Runtime.Serialization.DataContractAttribute(Name = "ResultBlobValue", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
+ public partial class ResultBlobValue : HeuristicLab.Clients.OKB.ResultValue {
+
+ private byte[] ValueField;
+
+ [System.Runtime.Serialization.DataMemberAttribute()]
+ public byte[] Value {
get {
return this.ValueField;
@@ -1040,32 +1076,11 @@
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
- [System.Runtime.Serialization.DataContractAttribute(Name = "ResultBlobValue", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
- public partial class ResultBlobValue : HeuristicLab.Clients.OKB.ResultValue {
-
- 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 = "ResultFloatValue", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
- public partial class ResultFloatValue : HeuristicLab.Clients.OKB.ResultValue {
-
- private double ValueField;
-
- [System.Runtime.Serialization.DataMemberAttribute()]
- public double Value {
+ [System.Runtime.Serialization.DataContractAttribute(Name = "ResultBoolValue", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
+ public partial class ResultBoolValue : HeuristicLab.Clients.OKB.ResultValue {
+
+ private bool ValueField;
+
+ [System.Runtime.Serialization.DataMemberAttribute()]
+ public bool Value {
get {
return this.ValueField;
@@ -1082,11 +1097,11 @@
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
- [System.Runtime.Serialization.DataContractAttribute(Name = "ResultBoolValue", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
- public partial class ResultBoolValue : HeuristicLab.Clients.OKB.ResultValue {
-
- private bool ValueField;
-
- [System.Runtime.Serialization.DataMemberAttribute()]
- public bool Value {
+ [System.Runtime.Serialization.DataContractAttribute(Name = "ResultIntValue", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
+ public partial class ResultIntValue : HeuristicLab.Clients.OKB.ResultValue {
+
+ private long ValueField;
+
+ [System.Runtime.Serialization.DataMemberAttribute()]
+ public long Value {
get {
return this.ValueField;
@@ -1104,21 +1119,20 @@
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
[System.Runtime.Serialization.DataContractAttribute(Name = "Filter", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
- [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.OrdinalComparisonFilter))]
- [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.OrdinalComparisonLongFilter))]
- [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.NameOrdinalComparisonLongFilter))]
- [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.OrdinalComparisonDateTimeFilter))]
- [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.OrdinalComparisonIntFilter))]
- [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.NameOrdinalComparisonDoubleFilter))]
[System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.SetComparisonFilter))]
+ [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.NameSetComparisonStringFilter))]
+ [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.NameSetComparisonStringAvailableValuesFilter))]
[System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.SetComparisonStringFilter))]
[System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.SetComparisonStringAvailableValuesFilter))]
- [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.NameSetComparisonStringFilter))]
- [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.NameSetComparisonStringAvailableValuesFilter))]
+ [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.EqualityComparisonFilter))]
+ [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.NameEqualityComparisonByteArrayFilter))]
+ [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.NameEqualityComparisonBoolFilter))]
+ [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.OrdinalComparisonFilter))]
+ [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.NameOrdinalComparisonDoubleFilter))]
+ [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.OrdinalComparisonDateTimeFilter))]
+ [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.NameOrdinalComparisonLongFilter))]
+ [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.OrdinalComparisonLongFilter))]
[System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.CombinedFilter))]
+ [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.OrFilter))]
[System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.AndFilter))]
- [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.OrFilter))]
- [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.EqualityComparisonFilter))]
- [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.NameEqualityComparisonBoolFilter))]
- [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.NameEqualityComparisonByteArrayFilter))]
public partial class Filter : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
@@ -1176,16 +1190,15 @@
[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.DataTransfer")]
- [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.OrdinalComparisonLongFilter))]
- [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.NameOrdinalComparisonLongFilter))]
- [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.OrdinalComparisonDateTimeFilter))]
- [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.OrdinalComparisonIntFilter))]
- [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.NameOrdinalComparisonDoubleFilter))]
- public partial class OrdinalComparisonFilter : HeuristicLab.Clients.OKB.Filter {
-
- private HeuristicLab.Clients.OKB.OrdinalComparison ComparisonField;
-
- [System.Runtime.Serialization.DataMemberAttribute()]
- public HeuristicLab.Clients.OKB.OrdinalComparison Comparison {
+ [System.Runtime.Serialization.DataContractAttribute(Name = "SetComparisonFilter", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
+ [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.NameSetComparisonStringFilter))]
+ [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.NameSetComparisonStringAvailableValuesFilter))]
+ [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.SetComparisonStringFilter))]
+ [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.SetComparisonStringAvailableValuesFilter))]
+ public partial class SetComparisonFilter : HeuristicLab.Clients.OKB.Filter {
+
+ private HeuristicLab.Clients.OKB.SetComparison ComparisonField;
+
+ [System.Runtime.Serialization.DataMemberAttribute()]
+ public HeuristicLab.Clients.OKB.SetComparison Comparison {
get {
return this.ComparisonField;
@@ -1202,11 +1215,186 @@
[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.DataTransfer")]
- public partial class OrdinalComparisonLongFilter : HeuristicLab.Clients.OKB.OrdinalComparisonFilter {
-
- private long ValueField;
-
- [System.Runtime.Serialization.DataMemberAttribute()]
- public long Value {
+ [System.Runtime.Serialization.DataContractAttribute(Name = "NameSetComparisonStringFilter", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
+ [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.NameSetComparisonStringAvailableValuesFilter))]
+ public partial class NameSetComparisonStringFilter : HeuristicLab.Clients.OKB.SetComparisonFilter {
+
+ private string NameField;
+
+ private string ValueField;
+
+ [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.Runtime.Serialization.DataMemberAttribute()]
+ public string 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 = "NameSetComparisonStringAvailableValuesFilter", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
+ public partial class NameSetComparisonStringAvailableValuesFilter : HeuristicLab.Clients.OKB.NameSetComparisonStringFilter {
+
+ private System.Collections.Generic.List AvailableValuesField;
+
+ [System.Runtime.Serialization.DataMemberAttribute()]
+ public System.Collections.Generic.List AvailableValues {
+ get {
+ return this.AvailableValuesField;
+ }
+ set {
+ if ((object.ReferenceEquals(this.AvailableValuesField, value) != true)) {
+ this.AvailableValuesField = value;
+ this.RaisePropertyChanged("AvailableValues");
+ }
+ }
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+ [System.Runtime.Serialization.DataContractAttribute(Name = "SetComparisonStringFilter", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
+ [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.SetComparisonStringAvailableValuesFilter))]
+ public partial class SetComparisonStringFilter : HeuristicLab.Clients.OKB.SetComparisonFilter {
+
+ private string ValueField;
+
+ [System.Runtime.Serialization.DataMemberAttribute()]
+ public string 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 = "SetComparisonStringAvailableValuesFilter", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
+ public partial class SetComparisonStringAvailableValuesFilter : HeuristicLab.Clients.OKB.SetComparisonStringFilter {
+
+ private System.Collections.Generic.List AvailableValuesField;
+
+ [System.Runtime.Serialization.DataMemberAttribute()]
+ public System.Collections.Generic.List AvailableValues {
+ get {
+ return this.AvailableValuesField;
+ }
+ set {
+ if ((object.ReferenceEquals(this.AvailableValuesField, value) != true)) {
+ this.AvailableValuesField = value;
+ this.RaisePropertyChanged("AvailableValues");
+ }
+ }
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+ [System.Runtime.Serialization.DataContractAttribute(Name = "EqualityComparisonFilter", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
+ [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.NameEqualityComparisonByteArrayFilter))]
+ [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.NameEqualityComparisonBoolFilter))]
+ public partial class EqualityComparisonFilter : HeuristicLab.Clients.OKB.Filter {
+
+ private HeuristicLab.Clients.OKB.EqualityComparison ComparisonField;
+
+ [System.Runtime.Serialization.DataMemberAttribute()]
+ public HeuristicLab.Clients.OKB.EqualityComparison Comparison {
+ get {
+ return this.ComparisonField;
+ }
+ set {
+ if ((this.ComparisonField.Equals(value) != true)) {
+ this.ComparisonField = value;
+ this.RaisePropertyChanged("Comparison");
+ }
+ }
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+ [System.Runtime.Serialization.DataContractAttribute(Name = "NameEqualityComparisonByteArrayFilter", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
+ public partial class NameEqualityComparisonByteArrayFilter : HeuristicLab.Clients.OKB.EqualityComparisonFilter {
+
+ private string NameField;
+
+ private byte[] ValueField;
+
+ [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.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 = "NameEqualityComparisonBoolFilter", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
+ public partial class NameEqualityComparisonBoolFilter : HeuristicLab.Clients.OKB.EqualityComparisonFilter {
+
+ private string NameField;
+
+ private bool ValueField;
+
+ [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.Runtime.Serialization.DataMemberAttribute()]
+ public bool Value {
get {
return this.ValueField;
@@ -1223,10 +1411,35 @@
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
- [System.Runtime.Serialization.DataContractAttribute(Name = "NameOrdinalComparisonLongFilter", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
- public partial class NameOrdinalComparisonLongFilter : HeuristicLab.Clients.OKB.OrdinalComparisonFilter {
+ [System.Runtime.Serialization.DataContractAttribute(Name = "OrdinalComparisonFilter", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
+ [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.NameOrdinalComparisonDoubleFilter))]
+ [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.OrdinalComparisonDateTimeFilter))]
+ [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.NameOrdinalComparisonLongFilter))]
+ [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.OrdinalComparisonLongFilter))]
+ public partial class OrdinalComparisonFilter : HeuristicLab.Clients.OKB.Filter {
+
+ private HeuristicLab.Clients.OKB.OrdinalComparison ComparisonField;
+
+ [System.Runtime.Serialization.DataMemberAttribute()]
+ public HeuristicLab.Clients.OKB.OrdinalComparison Comparison {
+ get {
+ return this.ComparisonField;
+ }
+ set {
+ if ((this.ComparisonField.Equals(value) != true)) {
+ this.ComparisonField = value;
+ this.RaisePropertyChanged("Comparison");
+ }
+ }
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+ [System.Runtime.Serialization.DataContractAttribute(Name = "NameOrdinalComparisonDoubleFilter", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
+ public partial class NameOrdinalComparisonDoubleFilter : HeuristicLab.Clients.OKB.OrdinalComparisonFilter {
private string NameField;
- private long ValueField;
+ private double ValueField;
[System.Runtime.Serialization.DataMemberAttribute()]
@@ -1244,5 +1457,5 @@
[System.Runtime.Serialization.DataMemberAttribute()]
- public long Value {
+ public double Value {
get {
return this.ValueField;
@@ -1280,11 +1493,26 @@
[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.DataTransfer")]
- public partial class OrdinalComparisonIntFilter : HeuristicLab.Clients.OKB.OrdinalComparisonFilter {
-
- private int ValueField;
-
- [System.Runtime.Serialization.DataMemberAttribute()]
- public int Value {
+ [System.Runtime.Serialization.DataContractAttribute(Name = "NameOrdinalComparisonLongFilter", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
+ public partial class NameOrdinalComparisonLongFilter : HeuristicLab.Clients.OKB.OrdinalComparisonFilter {
+
+ private string NameField;
+
+ private long ValueField;
+
+ [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.Runtime.Serialization.DataMemberAttribute()]
+ public long Value {
get {
return this.ValueField;
@@ -1301,26 +1529,11 @@
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
- [System.Runtime.Serialization.DataContractAttribute(Name = "NameOrdinalComparisonDoubleFilter", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
- public partial class NameOrdinalComparisonDoubleFilter : HeuristicLab.Clients.OKB.OrdinalComparisonFilter {
-
- private string NameField;
-
- private double ValueField;
-
- [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.Runtime.Serialization.DataMemberAttribute()]
- public double Value {
+ [System.Runtime.Serialization.DataContractAttribute(Name = "OrdinalComparisonLongFilter", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
+ public partial class OrdinalComparisonLongFilter : HeuristicLab.Clients.OKB.OrdinalComparisonFilter {
+
+ private long ValueField;
+
+ [System.Runtime.Serialization.DataMemberAttribute()]
+ public long Value {
get {
return this.ValueField;
@@ -1337,133 +1550,7 @@
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
- [System.Runtime.Serialization.DataContractAttribute(Name = "SetComparisonFilter", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
- [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.SetComparisonStringFilter))]
- [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.SetComparisonStringAvailableValuesFilter))]
- [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.NameSetComparisonStringFilter))]
- [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.NameSetComparisonStringAvailableValuesFilter))]
- public partial class SetComparisonFilter : HeuristicLab.Clients.OKB.Filter {
-
- private HeuristicLab.Clients.OKB.SetComparison ComparisonField;
-
- [System.Runtime.Serialization.DataMemberAttribute()]
- public HeuristicLab.Clients.OKB.SetComparison Comparison {
- get {
- return this.ComparisonField;
- }
- set {
- if ((this.ComparisonField.Equals(value) != true)) {
- this.ComparisonField = value;
- this.RaisePropertyChanged("Comparison");
- }
- }
- }
- }
-
- [System.Diagnostics.DebuggerStepThroughAttribute()]
- [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
- [System.Runtime.Serialization.DataContractAttribute(Name = "SetComparisonStringFilter", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
- [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.SetComparisonStringAvailableValuesFilter))]
- public partial class SetComparisonStringFilter : HeuristicLab.Clients.OKB.SetComparisonFilter {
-
- private string ValueField;
-
- [System.Runtime.Serialization.DataMemberAttribute()]
- public string 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 = "SetComparisonStringAvailableValuesFilter", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
- public partial class SetComparisonStringAvailableValuesFilter : HeuristicLab.Clients.OKB.SetComparisonStringFilter {
-
- private System.Collections.Generic.List AvailableValuesField;
-
- [System.Runtime.Serialization.DataMemberAttribute()]
- public System.Collections.Generic.List AvailableValues {
- get {
- return this.AvailableValuesField;
- }
- set {
- if ((object.ReferenceEquals(this.AvailableValuesField, value) != true)) {
- this.AvailableValuesField = value;
- this.RaisePropertyChanged("AvailableValues");
- }
- }
- }
- }
-
- [System.Diagnostics.DebuggerStepThroughAttribute()]
- [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
- [System.Runtime.Serialization.DataContractAttribute(Name = "NameSetComparisonStringFilter", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
- [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.NameSetComparisonStringAvailableValuesFilter))]
- public partial class NameSetComparisonStringFilter : HeuristicLab.Clients.OKB.SetComparisonFilter {
-
- private string NameField;
-
- private string ValueField;
-
- [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.Runtime.Serialization.DataMemberAttribute()]
- public string 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 = "NameSetComparisonStringAvailableValuesFilter", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
- public partial class NameSetComparisonStringAvailableValuesFilter : HeuristicLab.Clients.OKB.NameSetComparisonStringFilter {
-
- private System.Collections.Generic.List AvailableValuesField;
-
- [System.Runtime.Serialization.DataMemberAttribute()]
- public System.Collections.Generic.List AvailableValues {
- get {
- return this.AvailableValuesField;
- }
- set {
- if ((object.ReferenceEquals(this.AvailableValuesField, value) != true)) {
- this.AvailableValuesField = value;
- this.RaisePropertyChanged("AvailableValues");
- }
- }
- }
- }
-
- [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.DataTransfer")]
+ [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.OrFilter))]
[System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.AndFilter))]
- [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.OrFilter))]
public partial class CombinedFilter : HeuristicLab.Clients.OKB.Filter {
@@ -1486,107 +1573,40 @@
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+ [System.Runtime.Serialization.DataContractAttribute(Name = "OrFilter", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
+ public partial class OrFilter : HeuristicLab.Clients.OKB.CombinedFilter {
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
[System.Runtime.Serialization.DataContractAttribute(Name = "AndFilter", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
public partial class AndFilter : HeuristicLab.Clients.OKB.CombinedFilter {
}
- [System.Diagnostics.DebuggerStepThroughAttribute()]
- [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
- [System.Runtime.Serialization.DataContractAttribute(Name = "OrFilter", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
- public partial class OrFilter : HeuristicLab.Clients.OKB.CombinedFilter {
- }
-
- [System.Diagnostics.DebuggerStepThroughAttribute()]
- [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
- [System.Runtime.Serialization.DataContractAttribute(Name = "EqualityComparisonFilter", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
- [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.NameEqualityComparisonBoolFilter))]
- [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.OKB.NameEqualityComparisonByteArrayFilter))]
- public partial class EqualityComparisonFilter : HeuristicLab.Clients.OKB.Filter {
-
- private HeuristicLab.Clients.OKB.EqualityComparison ComparisonField;
-
- [System.Runtime.Serialization.DataMemberAttribute()]
- public HeuristicLab.Clients.OKB.EqualityComparison Comparison {
- get {
- return this.ComparisonField;
- }
- set {
- if ((this.ComparisonField.Equals(value) != true)) {
- this.ComparisonField = value;
- this.RaisePropertyChanged("Comparison");
- }
- }
- }
- }
-
- [System.Diagnostics.DebuggerStepThroughAttribute()]
- [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
- [System.Runtime.Serialization.DataContractAttribute(Name = "NameEqualityComparisonBoolFilter", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
- public partial class NameEqualityComparisonBoolFilter : HeuristicLab.Clients.OKB.EqualityComparisonFilter {
-
- private string NameField;
-
- private bool ValueField;
-
- [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.Runtime.Serialization.DataMemberAttribute()]
- public bool 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 = "NameEqualityComparisonByteArrayFilter", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
- public partial class NameEqualityComparisonByteArrayFilter : HeuristicLab.Clients.OKB.EqualityComparisonFilter {
-
- private string NameField;
-
- private byte[] ValueField;
-
- [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.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.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+ [System.Runtime.Serialization.DataContractAttribute(Name = "SetComparison", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
+ public enum SetComparison : 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.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.DataTransfer")]
+ public enum EqualityComparison : int {
+
+ [System.Runtime.Serialization.EnumMemberAttribute()]
+ Equal = 0,
+
+ [System.Runtime.Serialization.EnumMemberAttribute()]
+ NotEqual = 1,
}
@@ -1612,32 +1632,4 @@
[System.Runtime.Serialization.EnumMemberAttribute()]
NotEqual = 5,
- }
-
- [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
- [System.Runtime.Serialization.DataContractAttribute(Name = "SetComparison", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.OKB.DataTransfer")]
- public enum SetComparison : 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.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.DataTransfer")]
- public enum EqualityComparison : int {
-
- [System.Runtime.Serialization.EnumMemberAttribute()]
- Equal = 0,
-
- [System.Runtime.Serialization.EnumMemberAttribute()]
- NotEqual = 1,
}
@@ -1824,4 +1816,7 @@
System.Collections.Generic.List GetFilters();
+ [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IOKBService/QueryNumberOfRuns", ReplyAction = "http://tempuri.org/IOKBService/QueryNumberOfRunsResponse")]
+ long QueryNumberOfRuns(HeuristicLab.Clients.OKB.Filter filter);
+
[System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IOKBService/QueryRuns", ReplyAction = "http://tempuri.org/IOKBService/QueryRunsResponse")]
System.Collections.Generic.List QueryRuns(HeuristicLab.Clients.OKB.Filter filter);
@@ -2053,4 +2048,8 @@
}
+ public long QueryNumberOfRuns(HeuristicLab.Clients.OKB.Filter filter) {
+ return base.Channel.QueryNumberOfRuns(filter);
+ }
+
public System.Collections.Generic.List QueryRuns(HeuristicLab.Clients.OKB.Filter filter) {
return base.Channel.QueryRuns(filter);
Index: anches/OKB/HeuristicLab.Clients.OKB-3.3/ServiceClients/OrdinalComparisonIntFilter.cs
===================================================================
--- /branches/OKB/HeuristicLab.Clients.OKB-3.3/ServiceClients/OrdinalComparisonIntFilter.cs (revision 5294)
+++ (revision )
@@ -1,29 +1,0 @@
-#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2010 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 .
- */
-#endregion
-
-
-namespace HeuristicLab.Clients.OKB {
- public partial class OrdinalComparisonIntFilter {
- public override Filter Clone() {
- return new OrdinalComparisonIntFilter() { FilterTypeName = FilterTypeName, Label = Label, Comparison = Comparison, Value = Value };
- }
- }
-}
Index: /branches/OKB/HeuristicLab.Clients.OKB-3.3/ServiceClients/Run.cs
===================================================================
--- /branches/OKB/HeuristicLab.Clients.OKB-3.3/ServiceClients/Run.cs (revision 5294)
+++ /branches/OKB/HeuristicLab.Clients.OKB-3.3/ServiceClients/Run.cs (revision 5295)
@@ -22,4 +22,5 @@
using HeuristicLab.Common;
using HeuristicLab.Core;
+using System.ComponentModel;
namespace HeuristicLab.Clients.OKB {
@@ -30,5 +31,5 @@
ExperimentId = original.ExperimentId;
RandomSeed = original.RandomSeed;
- FinishedDate = original.FinishedDate;
+ CreatedDate = original.CreatedDate;
UserId = original.UserId;
ClientId = original.ClientId;
@@ -39,4 +40,14 @@
return new Run(this, cloner);
}
+
+ public override string ToString() {
+ return ItemName + " (" + CreatedDate.ToString() + ")";
+ }
+
+ protected override void OnPropertyChanged(PropertyChangedEventArgs e) {
+ base.OnPropertyChanged(e);
+ if (e.PropertyName == "CreatedDate")
+ OnToStringChanged();
+ }
}
}
Index: /branches/OKB/HeuristicLab.Clients.OKB-3.3/Views/DataTypeView.Designer.cs
===================================================================
--- /branches/OKB/HeuristicLab.Clients.OKB-3.3/Views/DataTypeView.Designer.cs (revision 5294)
+++ /branches/OKB/HeuristicLab.Clients.OKB-3.3/Views/DataTypeView.Designer.cs (revision 5295)
@@ -50,6 +50,7 @@
this.platformLabel = new System.Windows.Forms.Label();
this.platformComboBox = new System.Windows.Forms.ComboBox();
- this.comboBox1 = new System.Windows.Forms.ComboBox();
this.sqlNameComboBox = new System.Windows.Forms.ComboBox();
+ this.typeNameTextBox = new System.Windows.Forms.TextBox();
+ this.typeNameLabel = new System.Windows.Forms.Label();
this.SuspendLayout();
//
@@ -71,7 +72,7 @@
this.nameTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
- this.nameTextBox.Location = new System.Drawing.Point(71, 29);
+ this.nameTextBox.Location = new System.Drawing.Point(74, 29);
this.nameTextBox.Name = "nameTextBox";
- this.nameTextBox.Size = new System.Drawing.Size(279, 20);
+ this.nameTextBox.Size = new System.Drawing.Size(276, 20);
this.nameTextBox.TabIndex = 2;
this.nameTextBox.TextChanged += new System.EventHandler(this.nameTextBox_TextChanged);
@@ -81,8 +82,8 @@
//
this.sqlNameLabel.AutoSize = true;
- this.sqlNameLabel.Location = new System.Drawing.Point(3, 58);
+ this.sqlNameLabel.Location = new System.Drawing.Point(3, 84);
this.sqlNameLabel.Name = "sqlNameLabel";
this.sqlNameLabel.Size = new System.Drawing.Size(62, 13);
- this.sqlNameLabel.TabIndex = 3;
+ this.sqlNameLabel.TabIndex = 5;
this.sqlNameLabel.Text = "&SQL Name:";
//
@@ -90,8 +91,8 @@
//
this.platformLabel.AutoSize = true;
- this.platformLabel.Location = new System.Drawing.Point(3, 85);
+ this.platformLabel.Location = new System.Drawing.Point(3, 111);
this.platformLabel.Name = "platformLabel";
this.platformLabel.Size = new System.Drawing.Size(48, 13);
- this.platformLabel.TabIndex = 5;
+ this.platformLabel.TabIndex = 7;
this.platformLabel.Text = "&Platform:";
//
@@ -102,21 +103,9 @@
this.platformComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.platformComboBox.FormattingEnabled = true;
- this.platformComboBox.Location = new System.Drawing.Point(71, 82);
+ this.platformComboBox.Location = new System.Drawing.Point(74, 108);
this.platformComboBox.Name = "platformComboBox";
- this.platformComboBox.Size = new System.Drawing.Size(279, 21);
- this.platformComboBox.TabIndex = 6;
+ this.platformComboBox.Size = new System.Drawing.Size(276, 21);
+ this.platformComboBox.TabIndex = 8;
this.platformComboBox.SelectedValueChanged += new System.EventHandler(this.platformComboBox_SelectedValueChanged);
- //
- // comboBox1
- //
- this.comboBox1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
- | System.Windows.Forms.AnchorStyles.Right)));
- this.comboBox1.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
- this.comboBox1.FormattingEnabled = true;
- this.comboBox1.Location = new System.Drawing.Point(71, 55);
- this.comboBox1.Name = "comboBox1";
- this.comboBox1.Size = new System.Drawing.Size(279, 21);
- this.comboBox1.TabIndex = 6;
- this.comboBox1.SelectedValueChanged += new System.EventHandler(this.platformComboBox_SelectedValueChanged);
//
// sqlNameComboBox
@@ -132,9 +121,29 @@
"nvarchar",
"varbinary"});
- this.sqlNameComboBox.Location = new System.Drawing.Point(71, 55);
+ this.sqlNameComboBox.Location = new System.Drawing.Point(74, 81);
this.sqlNameComboBox.Name = "sqlNameComboBox";
- this.sqlNameComboBox.Size = new System.Drawing.Size(279, 21);
- this.sqlNameComboBox.TabIndex = 4;
+ this.sqlNameComboBox.Size = new System.Drawing.Size(276, 21);
+ this.sqlNameComboBox.TabIndex = 6;
this.sqlNameComboBox.SelectedValueChanged += new System.EventHandler(this.sqlNameComboBox_SelectedValueChanged);
+ //
+ // typeNameTextBox
+ //
+ this.typeNameTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.typeNameTextBox.Location = new System.Drawing.Point(74, 55);
+ this.typeNameTextBox.Name = "typeNameTextBox";
+ this.typeNameTextBox.Size = new System.Drawing.Size(279, 20);
+ this.typeNameTextBox.TabIndex = 4;
+ this.typeNameTextBox.TextChanged += new System.EventHandler(this.typeNameTextBox_TextChanged);
+ this.typeNameTextBox.KeyDown += new System.Windows.Forms.KeyEventHandler(this.typeNameTextBox_KeyDown);
+ //
+ // typeNameLabel
+ //
+ this.typeNameLabel.AutoSize = true;
+ this.typeNameLabel.Location = new System.Drawing.Point(3, 58);
+ this.typeNameLabel.Name = "typeNameLabel";
+ this.typeNameLabel.Size = new System.Drawing.Size(65, 13);
+ this.typeNameLabel.TabIndex = 3;
+ this.typeNameLabel.Text = "&Type Name:";
//
// DataTypeView
@@ -143,19 +152,21 @@
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.sqlNameComboBox);
- this.Controls.Add(this.comboBox1);
this.Controls.Add(this.platformComboBox);
this.Controls.Add(this.platformLabel);
this.Controls.Add(this.sqlNameLabel);
+ this.Controls.Add(this.typeNameLabel);
this.Controls.Add(this.nameLabel);
+ this.Controls.Add(this.typeNameTextBox);
this.Controls.Add(this.nameTextBox);
this.Name = "DataTypeView";
- this.Size = new System.Drawing.Size(350, 126);
+ this.Size = new System.Drawing.Size(350, 143);
this.Controls.SetChildIndex(this.storeButton, 0);
this.Controls.SetChildIndex(this.nameTextBox, 0);
+ this.Controls.SetChildIndex(this.typeNameTextBox, 0);
this.Controls.SetChildIndex(this.nameLabel, 0);
+ this.Controls.SetChildIndex(this.typeNameLabel, 0);
this.Controls.SetChildIndex(this.sqlNameLabel, 0);
this.Controls.SetChildIndex(this.platformLabel, 0);
this.Controls.SetChildIndex(this.platformComboBox, 0);
- this.Controls.SetChildIndex(this.comboBox1, 0);
this.Controls.SetChildIndex(this.sqlNameComboBox, 0);
this.ResumeLayout(false);
@@ -171,6 +182,7 @@
private System.Windows.Forms.Label platformLabel;
private System.Windows.Forms.ComboBox platformComboBox;
- private System.Windows.Forms.ComboBox comboBox1;
private System.Windows.Forms.ComboBox sqlNameComboBox;
+ private System.Windows.Forms.TextBox typeNameTextBox;
+ private System.Windows.Forms.Label typeNameLabel;
}
}
Index: /branches/OKB/HeuristicLab.Clients.OKB-3.3/Views/DataTypeView.cs
===================================================================
--- /branches/OKB/HeuristicLab.Clients.OKB-3.3/Views/DataTypeView.cs (revision 5294)
+++ /branches/OKB/HeuristicLab.Clients.OKB-3.3/Views/DataTypeView.cs (revision 5295)
@@ -52,4 +52,5 @@
if (Content == null) {
nameTextBox.Text = string.Empty;
+ typeNameTextBox.Text = string.Empty;
sqlNameComboBox.SelectedIndex = -1;
platformComboBox.SelectedIndex = -1;
@@ -60,4 +61,5 @@
} else {
nameTextBox.Text = Content.Name;
+ typeNameTextBox.Text = Content.TypeName;
sqlNameComboBox.Text = Content.SqlName;
platformComboBox.SelectedItem = platformComboBoxValues.FirstOrDefault(p => p.Id == Content.PlatformId);
@@ -70,4 +72,6 @@
nameTextBox.Enabled = Content != null;
nameTextBox.ReadOnly = ReadOnly;
+ typeNameTextBox.Enabled = Content != null;
+ typeNameTextBox.ReadOnly = ReadOnly;
sqlNameComboBox.Enabled = (Content != null) && !ReadOnly;
platformComboBox.Enabled = (Content != null) && !ReadOnly;
@@ -79,4 +83,7 @@
nameTextBox.Text = Content.Name;
Caption = Content.Name;
+ break;
+ case "TypeName":
+ typeNameTextBox.Text = Content.Name;
break;
case "SqlName":
@@ -101,4 +108,16 @@
Content.Name = nameTextBox.Text;
}
+ private void typeNameTextBox_KeyDown(object sender, KeyEventArgs e) {
+ if ((e.KeyCode == Keys.Enter) || (e.KeyCode == Keys.Return))
+ typeNameLabel.Focus(); // set focus on label to validate data
+ if (e.KeyCode == Keys.Escape) {
+ typeNameTextBox.Text = Content.TypeName;
+ typeNameLabel.Focus(); // set focus on label to validate data
+ }
+ }
+ private void typeNameTextBox_TextChanged(object sender, EventArgs e) {
+ if (typeNameTextBox.Text != Content.TypeName)
+ Content.TypeName = typeNameTextBox.Text;
+ }
private void sqlNameComboBox_SelectedValueChanged(object sender, EventArgs e) {
if (sqlNameComboBox.Text != Content.SqlName) {
Index: anches/OKB/HeuristicLab.Clients.OKB-3.3/Views/OrdinalComparisonIntFilterView.Designer.cs
===================================================================
--- /branches/OKB/HeuristicLab.Clients.OKB-3.3/Views/OrdinalComparisonIntFilterView.Designer.cs (revision 5294)
+++ (revision )
@@ -1,103 +1,0 @@
-#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2010 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 .
- */
-#endregion
-
-namespace HeuristicLab.Clients.OKB {
- partial class OrdinalComparisonIntFilterView {
- ///
- /// Required designer variable.
- ///
- private System.ComponentModel.IContainer components = null;
-
- ///
- /// Clean up any resources being used.
- ///
- /// true if managed resources should be disposed; otherwise, false.
- protected override void Dispose(bool disposing) {
- if (disposing) {
- if (components != null) components.Dispose();
- }
- base.Dispose(disposing);
- }
-
- #region Component Designer generated code
-
- ///
- /// Required method for Designer support - do not modify
- /// the contents of this method with the code editor.
- ///
- 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.errorProvider)).BeginInit();
- this.SuspendLayout();
- //
- // comparisonComboBox
- //
- this.comparisonComboBox.Location = new System.Drawing.Point(211, 8);
- this.comparisonComboBox.Size = new System.Drawing.Size(94, 21);
- //
- // label
- //
- this.label.Size = new System.Drawing.Size(202, 20);
- //
- // valueTextBox
- //
- this.valueTextBox.Anchor = System.Windows.Forms.AnchorStyles.Right;
- this.valueTextBox.Location = new System.Drawing.Point(367, 8);
- this.valueTextBox.Name = "valueTextBox";
- this.valueTextBox.Size = new System.Drawing.Size(149, 20);
- this.valueTextBox.TabIndex = 2;
- 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;
- //
- // OrdinalComparisonIntFilterView
- //
- this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
- this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.Controls.Add(this.valueTextBox);
- this.Name = "OrdinalComparisonIntFilterView";
- this.Controls.SetChildIndex(this.valueTextBox, 0);
- this.Controls.SetChildIndex(this.comparisonComboBox, 0);
- this.Controls.SetChildIndex(this.label, 0);
- ((System.ComponentModel.ISupportInitialize)(this.errorProvider)).EndInit();
- this.ResumeLayout(false);
- this.PerformLayout();
-
- }
-
- #endregion
-
- private System.Windows.Forms.TextBox valueTextBox;
- private System.Windows.Forms.ErrorProvider errorProvider;
-
-
-
-
-
- }
-}
Index: anches/OKB/HeuristicLab.Clients.OKB-3.3/Views/OrdinalComparisonIntFilterView.cs
===================================================================
--- /branches/OKB/HeuristicLab.Clients.OKB-3.3/Views/OrdinalComparisonIntFilterView.cs (revision 5294)
+++ (revision )
@@ -1,75 +1,0 @@
-#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2010 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 .
- */
-#endregion
-
-using System.Windows.Forms;
-using HeuristicLab.MainForm;
-using HeuristicLab.MainForm.WindowsForms;
-
-namespace HeuristicLab.Clients.OKB {
- [View("OrdinalComparisonIntFilter View")]
- [Content(typeof(OrdinalComparisonIntFilter), true)]
- public partial class OrdinalComparisonIntFilterView : OrdinalComparisonFilterView {
- public new OrdinalComparisonIntFilter Content {
- get { return (OrdinalComparisonIntFilter)base.Content; }
- set { base.Content = value; }
- }
-
- public OrdinalComparisonIntFilterView() {
- InitializeComponent();
- errorProvider.SetIconAlignment(valueTextBox, ErrorIconAlignment.MiddleLeft);
- errorProvider.SetIconPadding(valueTextBox, 2);
- }
-
- protected override void OnContentChanged() {
- base.OnContentChanged();
- valueTextBox.Text = Content == null ? string.Empty : 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) {
- int val;
- if (!int.TryParse(valueTextBox.Text, out val)) {
- e.Cancel = true;
- errorProvider.SetError(valueTextBox, "Invalid Integer Value");
- valueTextBox.SelectAll();
- }
- }
- private void valueTextBox_Validated(object sender, System.EventArgs e) {
- if (Content != null) {
- Content.Value = int.Parse(valueTextBox.Text);
- errorProvider.SetError(valueTextBox, string.Empty);
- }
- }
- }
-}
Index: /branches/OKB/HeuristicLab.Clients.OKB-3.3/Views/QueryView.Designer.cs
===================================================================
--- /branches/OKB/HeuristicLab.Clients.OKB-3.3/Views/QueryView.Designer.cs (revision 5294)
+++ /branches/OKB/HeuristicLab.Clients.OKB-3.3/Views/QueryView.Designer.cs (revision 5295)
@@ -46,6 +46,5 @@
private void InitializeComponent() {
this.components = new System.ComponentModel.Container();
- System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(QueryView));
- this.refreshButton = new System.Windows.Forms.Button();
+ this.refreshResultsButton = new System.Windows.Forms.Button();
this.toolTip = new System.Windows.Forms.ToolTip(this.components);
this.showRunsButton = new System.Windows.Forms.Button();
@@ -54,5 +53,6 @@
this.filtersGroupBox = new System.Windows.Forms.GroupBox();
this.resultsGroupBox = new System.Windows.Forms.GroupBox();
- this.andFilterView = new HeuristicLab.Clients.OKB.AndFilterView();
+ this.nrOfRunsButton = new System.Windows.Forms.Button();
+ this.filterPanel = new System.Windows.Forms.Panel();
((System.ComponentModel.ISupportInitialize)(this.splitContainer)).BeginInit();
this.splitContainer.Panel1.SuspendLayout();
@@ -63,14 +63,14 @@
this.SuspendLayout();
//
- // refreshButton
+ // refreshResultsButton
//
- this.refreshButton.Image = HeuristicLab.Common.Resources.VSImageLibrary.Refresh;
- this.refreshButton.Location = new System.Drawing.Point(6, 19);
- this.refreshButton.Name = "refreshButton";
- this.refreshButton.Size = new System.Drawing.Size(24, 24);
- this.refreshButton.TabIndex = 0;
- this.toolTip.SetToolTip(this.refreshButton, "Refresh Data");
- this.refreshButton.UseVisualStyleBackColor = true;
- this.refreshButton.Click += new System.EventHandler(this.refreshButton_Click);
+ this.refreshResultsButton.Image = HeuristicLab.Common.Resources.VSImageLibrary.Refresh;
+ this.refreshResultsButton.Location = new System.Drawing.Point(6, 19);
+ this.refreshResultsButton.Name = "refreshResultsButton";
+ this.refreshResultsButton.Size = new System.Drawing.Size(24, 24);
+ this.refreshResultsButton.TabIndex = 0;
+ this.toolTip.SetToolTip(this.refreshResultsButton, "Refresh Results");
+ this.refreshResultsButton.UseVisualStyleBackColor = true;
+ this.refreshResultsButton.Click += new System.EventHandler(this.refreshResultsButton_Click);
//
// showRunsButton
@@ -122,5 +122,5 @@
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
- this.filtersGroupBox.Controls.Add(this.andFilterView);
+ this.filtersGroupBox.Controls.Add(this.filterPanel);
this.filtersGroupBox.Location = new System.Drawing.Point(0, 0);
this.filtersGroupBox.Name = "filtersGroupBox";
@@ -135,5 +135,6 @@
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
- this.resultsGroupBox.Controls.Add(this.refreshButton);
+ this.resultsGroupBox.Controls.Add(this.nrOfRunsButton);
+ this.resultsGroupBox.Controls.Add(this.refreshResultsButton);
this.resultsGroupBox.Controls.Add(this.runCollectionView);
this.resultsGroupBox.Controls.Add(this.showRunsButton);
@@ -145,16 +146,23 @@
this.resultsGroupBox.Text = "Results";
//
- // andFilterView
+ // nrOfRunsButton
//
- this.andFilterView.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+ this.nrOfRunsButton.Location = new System.Drawing.Point(117, 19);
+ this.nrOfRunsButton.Name = "nrOfRunsButton";
+ this.nrOfRunsButton.Size = new System.Drawing.Size(75, 23);
+ this.nrOfRunsButton.TabIndex = 3;
+ this.nrOfRunsButton.Text = "No. of Runs";
+ this.nrOfRunsButton.UseVisualStyleBackColor = true;
+ this.nrOfRunsButton.Click += new System.EventHandler(this.nrOfRunsButton_Click);
+ //
+ // filterPanel
+ //
+ this.filterPanel.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
- this.andFilterView.Caption = "AndFilter View";
- this.andFilterView.Content = null;
- this.andFilterView.Location = new System.Drawing.Point(6, 19);
- this.andFilterView.Name = "andFilterView";
- this.andFilterView.ReadOnly = false;
- this.andFilterView.Size = new System.Drawing.Size(722, 189);
- this.andFilterView.TabIndex = 0;
+ this.filterPanel.Location = new System.Drawing.Point(6, 19);
+ this.filterPanel.Name = "filterPanel";
+ this.filterPanel.Size = new System.Drawing.Size(722, 189);
+ this.filterPanel.TabIndex = 0;
//
// QueryView
@@ -177,5 +185,5 @@
#endregion
- private System.Windows.Forms.Button refreshButton;
+ private System.Windows.Forms.Button refreshResultsButton;
private System.Windows.Forms.ToolTip toolTip;
private RunCollectionView runCollectionView;
@@ -184,5 +192,6 @@
private System.Windows.Forms.GroupBox filtersGroupBox;
private System.Windows.Forms.GroupBox resultsGroupBox;
- private AndFilterView andFilterView;
+ private System.Windows.Forms.Button nrOfRunsButton;
+ private System.Windows.Forms.Panel filterPanel;
}
Index: /branches/OKB/HeuristicLab.Clients.OKB-3.3/Views/QueryView.cs
===================================================================
--- /branches/OKB/HeuristicLab.Clients.OKB-3.3/Views/QueryView.cs (revision 5294)
+++ /branches/OKB/HeuristicLab.Clients.OKB-3.3/Views/QueryView.cs (revision 5295)
@@ -27,7 +27,9 @@
namespace HeuristicLab.Clients.OKB {
- [View("OKB Administrator")]
+ [View("OKB Query")]
[Content(typeof(OKBClient), false)]
public sealed partial class QueryView : HeuristicLab.MainForm.WindowsForms.View {
+ private AndFilterView andFilterView;
+
public QueryView() {
InitializeComponent();
@@ -36,15 +38,51 @@
protected override void OnInitialized(EventArgs e) {
base.OnInitialized(e);
- AndFilter filter = OKBClient.Instance.GetFilters().OfType().FirstOrDefault();
- if (filter != null) andFilterView.Content = filter.Clone() as AndFilter;
- runCollectionView.Content = null;
+ this.Cursor = Cursors.AppStarting;
+
+ Func func = () => {
+ return OKBClient.Instance.GetFilters().OfType().FirstOrDefault();
+ };
+
+ func.BeginInvoke((IAsyncResult result) => {
+ AndFilter filter = func.EndInvoke(result);
+ if (InvokeRequired) Invoke(new Action(FinishedLoadingAndFilter), filter);
+ else FinishedLoadingAndFilter(filter);
+ }, null);
}
- private void refreshButton_Click(object sender, EventArgs e) {
+ private void FinishedLoadingAndFilter(AndFilter filter) {
+ if (filter != null) {
+ andFilterView = (AndFilterView)MainFormManager.CreateView(typeof(AndFilterView));
+ andFilterView.Content = (AndFilter)filter.Clone();
+ Control control = (Control)andFilterView;
+ control.Dock = DockStyle.Fill;
+ filterPanel.Controls.Add(control);
+ }
+ this.Cursor = Cursors.Default;
+ SetEnabledStateOfControls();
+ }
+
+ protected override void SetEnabledStateOfControls() {
+ base.SetEnabledStateOfControls();
+ resultsGroupBox.Enabled = andFilterView != null;
+ showRunsButton.Enabled = (runCollectionView.Content != null) && (runCollectionView.Content.Count > 0);
+ }
+
+ private void refreshResultsButton_Click(object sender, EventArgs e) {
+ DateTime start = DateTime.Now;
runCollectionView.Content = OKBClient.Instance.QueryRuns(andFilterView.Content);
+ MessageBox.Show((DateTime.Now - start).ToString());
+ SetEnabledStateOfControls();
}
private void showRunsButton_Click(object sender, EventArgs e) {
+ DateTime start = DateTime.Now;
MainFormManager.MainForm.ShowContent(OKBClient.Instance.ConvertOKBRunsToOptimizationRuns(runCollectionView.Content));
+ MessageBox.Show((DateTime.Now - start).ToString());
+ }
+
+ private void nrOfRunsButton_Click(object sender, EventArgs e) {
+ long runs = OKBClient.Instance.QueryNumberOfRuns(andFilterView.Content);
+ MessageBox.Show(runs.ToString());
}
}
Index: /branches/OKB/HeuristicLab.Clients.OKB-3.3/Views/RunView.Designer.cs
===================================================================
--- /branches/OKB/HeuristicLab.Clients.OKB-3.3/Views/RunView.Designer.cs (revision 5294)
+++ /branches/OKB/HeuristicLab.Clients.OKB-3.3/Views/RunView.Designer.cs (revision 5295)
@@ -48,6 +48,6 @@
this.randomSeedLabel = new System.Windows.Forms.Label();
this.randomSeedTextBox = new System.Windows.Forms.TextBox();
- this.finishedDateLabel = new System.Windows.Forms.Label();
- this.finishedDateTextBox = new System.Windows.Forms.TextBox();
+ this.createdDateLabel = new System.Windows.Forms.Label();
+ this.createdDateTextBox = new System.Windows.Forms.TextBox();
this.resultsListView = new System.Windows.Forms.ListView();
this.nameColumnHeader = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
@@ -81,22 +81,22 @@
this.randomSeedTextBox.TabIndex = 1;
//
- // finishedDateLabel
- //
- this.finishedDateLabel.AutoSize = true;
- this.finishedDateLabel.Location = new System.Drawing.Point(3, 29);
- this.finishedDateLabel.Name = "finishedDateLabel";
- this.finishedDateLabel.Size = new System.Drawing.Size(75, 13);
- this.finishedDateLabel.TabIndex = 2;
- this.finishedDateLabel.Text = "Finished Date:";
- //
- // finishedDateTextBox
- //
- this.finishedDateTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
- | System.Windows.Forms.AnchorStyles.Right)));
- this.finishedDateTextBox.Location = new System.Drawing.Point(87, 26);
- this.finishedDateTextBox.Name = "finishedDateTextBox";
- this.finishedDateTextBox.ReadOnly = true;
- this.finishedDateTextBox.Size = new System.Drawing.Size(426, 20);
- this.finishedDateTextBox.TabIndex = 3;
+ // createdDateLabel
+ //
+ this.createdDateLabel.AutoSize = true;
+ this.createdDateLabel.Location = new System.Drawing.Point(3, 29);
+ this.createdDateLabel.Name = "createdDateLabel";
+ this.createdDateLabel.Size = new System.Drawing.Size(75, 13);
+ this.createdDateLabel.TabIndex = 2;
+ this.createdDateLabel.Text = "Created Date:";
+ //
+ // createdDateTextBox
+ //
+ this.createdDateTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.createdDateTextBox.Location = new System.Drawing.Point(87, 26);
+ this.createdDateTextBox.Name = "createdDateTextBox";
+ this.createdDateTextBox.ReadOnly = true;
+ this.createdDateTextBox.Size = new System.Drawing.Size(426, 20);
+ this.createdDateTextBox.TabIndex = 3;
//
// resultsListView
@@ -195,9 +195,9 @@
this.Controls.Add(this.clientTextBox);
this.Controls.Add(this.userTextBox);
- this.Controls.Add(this.finishedDateTextBox);
+ this.Controls.Add(this.createdDateTextBox);
this.Controls.Add(this.randomSeedTextBox);
this.Controls.Add(this.clientLabel);
this.Controls.Add(this.userLabel);
- this.Controls.Add(this.finishedDateLabel);
+ this.Controls.Add(this.createdDateLabel);
this.Controls.Add(this.randomSeedLabel);
this.Name = "RunView";
@@ -213,6 +213,6 @@
private System.Windows.Forms.Label randomSeedLabel;
private System.Windows.Forms.TextBox randomSeedTextBox;
- private System.Windows.Forms.Label finishedDateLabel;
- private System.Windows.Forms.TextBox finishedDateTextBox;
+ private System.Windows.Forms.Label createdDateLabel;
+ private System.Windows.Forms.TextBox createdDateTextBox;
private System.Windows.Forms.ListView resultsListView;
private System.Windows.Forms.ColumnHeader nameColumnHeader;
Index: /branches/OKB/HeuristicLab.Clients.OKB-3.3/Views/RunView.cs
===================================================================
--- /branches/OKB/HeuristicLab.Clients.OKB-3.3/Views/RunView.cs (revision 5294)
+++ /branches/OKB/HeuristicLab.Clients.OKB-3.3/Views/RunView.cs (revision 5295)
@@ -48,10 +48,10 @@
if (Content == null) {
randomSeedTextBox.Text = string.Empty;
- finishedDateTextBox.Text = string.Empty;
+ createdDateTextBox.Text = string.Empty;
userTextBox.Text = string.Empty;
clientTextBox.Text = string.Empty;
} else {
randomSeedTextBox.Text = Content.RandomSeed.ToString();
- finishedDateTextBox.Text = Content.FinishedDate.ToString();
+ createdDateTextBox.Text = Content.CreatedDate.ToString();
userTextBox.Text = Content.UserId.ToString();
clientTextBox.Text = Content.ClientId.ToString();
@@ -63,5 +63,5 @@
base.SetEnabledStateOfControls();
randomSeedTextBox.Enabled = Content != null;
- finishedDateTextBox.Enabled = Content != null;
+ createdDateTextBox.Enabled = Content != null;
userTextBox.Enabled = Content != null;
clientTextBox.Enabled = Content != null;
Index: /branches/OKB/HeuristicLab.Clients.OKB-3.3/app.config
===================================================================
--- /branches/OKB/HeuristicLab.Clients.OKB-3.3/app.config (revision 5294)
+++ /branches/OKB/HeuristicLab.Clients.OKB-3.3/app.config (revision 5295)
@@ -1,60 +1,68 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: /branches/OKB/HeuristicLab.Services.OKB.DataAccess/3.3/OKB.dbml
===================================================================
--- /branches/OKB/HeuristicLab.Services.OKB.DataAccess/3.3/OKB.dbml (revision 5294)
+++ /branches/OKB/HeuristicLab.Services.OKB.DataAccess/3.3/OKB.dbml (revision 5295)
@@ -130,6 +130,6 @@
-
-
+
+
@@ -175,4 +175,5 @@
+
@@ -357,5 +358,5 @@
-
+
@@ -366,5 +367,5 @@
-
+
Index: /branches/OKB/HeuristicLab.Services.OKB.DataAccess/3.3/OKB.dbml.layout
===================================================================
--- /branches/OKB/HeuristicLab.Services.OKB.DataAccess/3.3/OKB.dbml.layout (revision 5294)
+++ /branches/OKB/HeuristicLab.Services.OKB.DataAccess/3.3/OKB.dbml.layout (revision 5295)
@@ -112,5 +112,5 @@
-
+
@@ -119,5 +119,5 @@
-
+
@@ -126,5 +126,5 @@
-
+
@@ -139,5 +139,5 @@
-
+
@@ -152,5 +152,5 @@
-
+
@@ -165,5 +165,5 @@
-
+
@@ -172,5 +172,5 @@
-
+
@@ -179,11 +179,11 @@
-
+
-
-
-
-
+
+
+
+
@@ -192,5 +192,5 @@
-
+
@@ -199,5 +199,5 @@
-
+
@@ -206,5 +206,5 @@
-
+
@@ -213,5 +213,5 @@
-
+
@@ -226,5 +226,5 @@
-
+
@@ -233,5 +233,5 @@
-
+
@@ -240,5 +240,5 @@
-
+
@@ -260,5 +260,5 @@
-
+
@@ -287,5 +287,5 @@
-
+
@@ -314,5 +314,5 @@
-
+
@@ -334,5 +334,5 @@
-
+
@@ -348,5 +348,5 @@
-
+
@@ -361,5 +361,5 @@
-
+
@@ -368,5 +368,5 @@
-
+
@@ -375,5 +375,5 @@
-
+
@@ -388,5 +388,5 @@
-
+
@@ -415,5 +415,5 @@
-
+
@@ -442,5 +442,5 @@
-
+
@@ -469,5 +469,5 @@
-
+
@@ -476,5 +476,5 @@
-
+
@@ -483,5 +483,5 @@
-
+
@@ -496,5 +496,5 @@
-
+
@@ -503,5 +503,5 @@
-
+
@@ -510,5 +510,5 @@
-
+
@@ -523,5 +523,5 @@
-
+
@@ -530,5 +530,5 @@
-
+
@@ -537,5 +537,5 @@
-
+
@@ -550,5 +550,5 @@
-
+
@@ -557,5 +557,5 @@
-
+
@@ -577,5 +577,5 @@
-
+
@@ -584,5 +584,5 @@
-
+
@@ -604,5 +604,5 @@
-
+
@@ -611,5 +611,5 @@
-
+
@@ -624,5 +624,5 @@
-
+
@@ -631,5 +631,5 @@
-
+
Index: /branches/OKB/HeuristicLab.Services.OKB.DataAccess/3.3/Tests/UnitTest.cs
===================================================================
--- /branches/OKB/HeuristicLab.Services.OKB.DataAccess/3.3/Tests/UnitTest.cs (revision 5294)
+++ /branches/OKB/HeuristicLab.Services.OKB.DataAccess/3.3/Tests/UnitTest.cs (revision 5295)
@@ -20,4 +20,7 @@
#endregion
+using System;
+using System.Data.Linq;
+using System.Linq;
using HeuristicLab.Services.OKB.DataAccess;
using Microsoft.VisualStudio.TestTools.UnitTesting;
@@ -29,4 +32,27 @@
[TestClass]
public class UnitTest {
+ private const int PLATFORMS = 1;
+ private const int DATATYPES_PER_PLATFORM = 500;
+ private const int ALGORITHMCLASSES_PER_PLATFORM = 10;
+ private const int ALGORITHMS_PER_CLASS = 10;
+ private const int PROBLEMCLASSES_PER_PLATFORM = 10;
+ private const int PROBLEMS_PER_CLASS = 10;
+ private const int PARAMETERS_PER_ALGORITHM = 10;
+ private const int RESULTS_PER_ALGORITHM = 10;
+ private const int PARAMETERS_PER_PROBLEM = 10;
+ private const int EXPERIMENTS_PER_PLATFORM = 1000;
+ private const int RUNS_PER_EXPERIMENT = 10;
+ private const int ALGORITHMDATA_SIZE = 1024 * 1024;
+ private const int PROBLEMDATA_SIZE = 1024 * 1024;
+ private const int BLOBVALUE_SIZE = 1024;
+
+ private string[] sqlNames = new string[] { "varbinary", "nvarchar", "float", "bit", "bigint" };
+ private Random random = new Random();
+ private DataType[] varbinaryTypes;
+ private DataType[] nvarcharTypes;
+ private DataType[] floatTypes;
+ private DataType[] bitTypes;
+ private DataType[] bigintTypes;
+
public UnitTest() {
//
@@ -73,23 +99,366 @@
[TestMethod]
- public void TestMethod1() {
+ public void ClearDB() {
using (OKBDataContext okb = new OKBDataContext()) {
- okb.AlgorithmParameterIntValues.DeleteAllOnSubmit(okb.AlgorithmParameterIntValues);
- okb.AlgorithmParameters.DeleteAllOnSubmit(okb.AlgorithmParameters);
- okb.Experiments.DeleteAllOnSubmit(okb.Experiments);
- okb.Algorithms.DeleteAllOnSubmit(okb.Algorithms);
- okb.Problems.DeleteAllOnSubmit(okb.Problems);
- okb.ProblemClasses.DeleteAllOnSubmit(okb.ProblemClasses);
- okb.AlgorithmClasses.DeleteAllOnSubmit(okb.AlgorithmClasses);
+ okb.ExecuteCommand("DELETE FROM dbo.ResultBlobValue");
+ okb.ExecuteCommand("DELETE FROM dbo.ResultBoolValue");
+ okb.ExecuteCommand("DELETE FROM dbo.ResultFloatValue");
+ okb.ExecuteCommand("DELETE FROM dbo.ResultIntValue");
+ okb.ExecuteCommand("DELETE FROM dbo.ResultStringValue");
+
+ okb.ExecuteCommand("DELETE FROM dbo.AlgorithmParameterBlobValue");
+ okb.ExecuteCommand("DELETE FROM dbo.AlgorithmParameterBoolValue");
+ okb.ExecuteCommand("DELETE FROM dbo.AlgorithmParameterFloatValue");
+ okb.ExecuteCommand("DELETE FROM dbo.AlgorithmParameterIntValue");
+ okb.ExecuteCommand("DELETE FROM dbo.AlgorithmParameterStringValue");
+
+ okb.ExecuteCommand("DELETE FROM dbo.ProblemParameterBlobValue");
+ okb.ExecuteCommand("DELETE FROM dbo.ProblemParameterBoolValue");
+ okb.ExecuteCommand("DELETE FROM dbo.ProblemParameterFloatValue");
+ okb.ExecuteCommand("DELETE FROM dbo.ProblemParameterIntValue");
+ okb.ExecuteCommand("DELETE FROM dbo.ProblemParameterStringValue");
+
+ okb.ExecuteCommand("DELETE FROM dbo.Run");
+ okb.ExecuteCommand("DELETE FROM dbo.Experiment");
+ okb.ExecuteCommand("DELETE FROM dbo.AlgorithmData");
+ okb.ExecuteCommand("DELETE FROM dbo.AlgorithmUser");
+ okb.ExecuteCommand("DELETE FROM dbo.AlgorithmParameter");
+ okb.ExecuteCommand("DELETE FROM dbo.Result");
+ okb.ExecuteCommand("DELETE FROM dbo.Algorithm");
+ okb.ExecuteCommand("DELETE FROM dbo.AlgorithmClass");
+ okb.ExecuteCommand("DELETE FROM dbo.ProblemData");
+ okb.ExecuteCommand("DELETE FROM dbo.ProblemUser");
+ okb.ExecuteCommand("DELETE FROM dbo.ProblemParameter");
+ okb.ExecuteCommand("DELETE FROM dbo.Problem");
+ okb.ExecuteCommand("DELETE FROM dbo.ProblemClass");
+ okb.ExecuteCommand("DELETE FROM dbo.DataType");
+ okb.ExecuteCommand("DELETE FROM dbo.Platform");
+ }
+ }
+
+ [TestMethod]
+ public void InitDummyDB() {
+ using (OKBDataContext okb = new OKBDataContext()) {
+ for (int i = 0; i < PLATFORMS; i++) {
+ CreatePlatform(okb);
+ }
okb.SubmitChanges();
- AlgorithmClass ac = new AlgorithmClass() { Name = "AlgorithmClass" };
- ProblemClass pc = new ProblemClass() { Name = "ProblemClass" };
- Algorithm a = new Algorithm() { Name = "Alg", AlgorithmClass = ac, PlatformId = 1 };
- Problem p = new Problem() { Name = "Prb", ProblemClass = pc, PlatformId = 1 };
- Experiment e = new Experiment() { Algorithm = a, Problem = p };
- AlgorithmParameter ap = new AlgorithmParameter() { Name = "Param", Algorithm = a, DataTypeId = 1 };
- ap.AlgorithmParameterIntValues.Add(new AlgorithmParameterIntValue() { AlgorithmParameterId = 0, Experiment = e, Value = 23 });
- okb.AlgorithmClasses.InsertOnSubmit(ac);
- okb.SubmitChanges();
+ }
+ }
+
+ [TestMethod]
+ public void CreateDummyExperiments() {
+ using (OKBDataContext okb = new OKBDataContext()) {
+ foreach (Platform platform in okb.Platforms) {
+ for (int i = 0; i < EXPERIMENTS_PER_PLATFORM; i++) {
+ Algorithm[] algorithms = okb.Algorithms.Where(x => x.PlatformId == platform.Id).ToArray();
+ Problem[] problems = okb.Problems.Where(x => x.PlatformId == platform.Id).ToArray();
+ varbinaryTypes = null;
+ nvarcharTypes = null;
+ floatTypes = null;
+ bitTypes = null;
+ bigintTypes = null;
+
+ CreateExperiment(okb, algorithms[random.Next(algorithms.Length)], problems[random.Next(problems.Length)], platform);
+ }
+ okb.SubmitChanges();
+ }
+ }
+ }
+
+ private void CreatePlatform(OKBDataContext okb) {
+ Platform entity = new Platform();
+ entity.Name = Guid.NewGuid().ToString();
+ entity.Description = Guid.NewGuid().ToString();
+ okb.Platforms.InsertOnSubmit(entity);
+
+ for (int i = 0; i < DATATYPES_PER_PLATFORM; i++) {
+ CreateDataType(okb, entity);
+ }
+ okb.SubmitChanges();
+
+ varbinaryTypes = null;
+ nvarcharTypes = null;
+ floatTypes = null;
+ bitTypes = null;
+ bigintTypes = null;
+
+ for (int i = 0; i < ALGORITHMCLASSES_PER_PLATFORM; i++) {
+ CreateAlgorithmClass(okb, entity);
+ }
+ for (int i = 0; i < PROBLEMCLASSES_PER_PLATFORM; i++) {
+ CreateProblemClass(okb, entity);
+ }
+ }
+ private void CreateDataType(OKBDataContext okb, Platform platform) {
+ DataType entity = new DataType();
+ entity.Name = Guid.NewGuid().ToString();
+ entity.TypeName = Guid.NewGuid().ToString();
+ entity.SqlName = sqlNames[random.Next(sqlNames.Length)];
+ entity.Platform = platform;
+ okb.DataTypes.InsertOnSubmit(entity);
+ }
+ private DataType GetDataType(OKBDataContext okb, Platform platform, string sqlName) {
+ if (varbinaryTypes == null) varbinaryTypes = okb.DataTypes.Where(x => (x.PlatformId == platform.Id) && (x.SqlName == "varbinary")).ToArray();
+ if (nvarcharTypes == null) nvarcharTypes = okb.DataTypes.Where(x => (x.PlatformId == platform.Id) && (x.SqlName == "nvarchar")).ToArray();
+ if (floatTypes == null) floatTypes = okb.DataTypes.Where(x => (x.PlatformId == platform.Id) && (x.SqlName == "float")).ToArray();
+ if (bitTypes == null) bitTypes = okb.DataTypes.Where(x => (x.PlatformId == platform.Id) && (x.SqlName == "bit")).ToArray();
+ if (bigintTypes == null) bigintTypes = okb.DataTypes.Where(x => (x.PlatformId == platform.Id) && (x.SqlName == "bigint")).ToArray();
+
+ switch (sqlName) {
+ case "varbinary": return varbinaryTypes[random.Next(varbinaryTypes.Length)];
+ case "nvarchar": return nvarcharTypes[random.Next(nvarcharTypes.Length)];
+ case "float": return floatTypes[random.Next(floatTypes.Length)];
+ case "bit": return bitTypes[random.Next(bitTypes.Length)];
+ case "bigint": return bigintTypes[random.Next(bigintTypes.Length)];
+ default: return null;
+ }
+ }
+ private void CreateAlgorithmClass(OKBDataContext okb, Platform platform) {
+ AlgorithmClass entity = new AlgorithmClass();
+ entity.Name = Guid.NewGuid().ToString();
+ entity.Description = Guid.NewGuid().ToString();
+ for (int i = 0; i < ALGORITHMS_PER_CLASS; i++) {
+ CreateAlgorithm(okb, entity, platform);
+ }
+ okb.AlgorithmClasses.InsertOnSubmit(entity);
+ }
+ private void CreateProblemClass(OKBDataContext okb, Platform platform) {
+ ProblemClass entity = new ProblemClass();
+ entity.Name = Guid.NewGuid().ToString();
+ entity.Description = Guid.NewGuid().ToString();
+ for (int i = 0; i < PROBLEMS_PER_CLASS; i++) {
+ CreateProblem(okb, entity, platform);
+ }
+ okb.ProblemClasses.InsertOnSubmit(entity);
+ }
+ private void CreateAlgorithm(OKBDataContext okb, AlgorithmClass algorithmClass, Platform platform) {
+ Algorithm entity = new Algorithm();
+ entity.Name = Guid.NewGuid().ToString();
+ entity.Description = Guid.NewGuid().ToString();
+ entity.AlgorithmClass = algorithmClass;
+ entity.Platform = platform;
+ CreateAlgorithmData(okb, entity, platform);
+ for (int i = 0; i < PARAMETERS_PER_ALGORITHM; i++) {
+ CreateAlgorithmParameter(okb, entity, platform);
+ }
+ for (int i = 0; i < RESULTS_PER_ALGORITHM; i++) {
+ CreateResult(okb, entity, platform);
+ }
+ okb.Algorithms.InsertOnSubmit(entity);
+ }
+ private void CreateAlgorithmData(OKBDataContext okb, Algorithm algorithm, Platform platform) {
+ AlgorithmData entity = new AlgorithmData();
+ entity.Algorithm = algorithm;
+ entity.Data = new System.Data.Linq.Binary(new byte[ALGORITHMDATA_SIZE]);
+ entity.DataType = GetDataType(okb, platform, "varbinary");
+ okb.AlgorithmDatas.InsertOnSubmit(entity);
+ }
+ private void CreateAlgorithmParameter(OKBDataContext okb, Algorithm algorithm, Platform platform) {
+ AlgorithmParameter entity = new AlgorithmParameter();
+ entity.Name = Guid.NewGuid().ToString();
+ entity.Alias = Guid.NewGuid().ToString();
+ entity.Description = Guid.NewGuid().ToString();
+ entity.Algorithm = algorithm;
+ entity.DataType = GetDataType(okb, platform, sqlNames[random.Next(sqlNames.Length)]);
+ okb.AlgorithmParameters.InsertOnSubmit(entity);
+ }
+ private void CreateResult(OKBDataContext okb, Algorithm algorithm, Platform platform) {
+ Result entity = new Result();
+ entity.Name = Guid.NewGuid().ToString();
+ entity.Alias = Guid.NewGuid().ToString();
+ entity.Description = Guid.NewGuid().ToString();
+ entity.Algorithm = algorithm;
+ entity.DataType = GetDataType(okb, platform, sqlNames[random.Next(sqlNames.Length)]);
+ okb.Results.InsertOnSubmit(entity);
+ }
+ private void CreateProblem(OKBDataContext okb, ProblemClass problemClass, Platform platform) {
+ Problem entity = new Problem();
+ entity.Name = Guid.NewGuid().ToString();
+ entity.Description = Guid.NewGuid().ToString();
+ entity.ProblemClass = problemClass;
+ entity.Platform = platform;
+ CreateProblemData(okb, entity, platform);
+ for (int i = 0; i < PARAMETERS_PER_PROBLEM; i++) {
+ CreateProblemParameter(okb, entity, platform);
+ }
+ okb.Problems.InsertOnSubmit(entity);
+ }
+ private void CreateProblemData(OKBDataContext okb, Problem problem, Platform platform) {
+ ProblemData entity = new ProblemData();
+ entity.Problem = problem;
+ entity.Data = new System.Data.Linq.Binary(new byte[PROBLEMDATA_SIZE]);
+ entity.DataType = GetDataType(okb, platform, "varbinary");
+ okb.ProblemDatas.InsertOnSubmit(entity);
+ }
+ private void CreateProblemParameter(OKBDataContext okb, Problem problem, Platform platform) {
+ ProblemParameter entity = new ProblemParameter();
+ entity.Name = Guid.NewGuid().ToString();
+ entity.Alias = Guid.NewGuid().ToString();
+ entity.Description = Guid.NewGuid().ToString();
+ entity.Problem = problem;
+ entity.DataType = GetDataType(okb, platform, sqlNames[random.Next(sqlNames.Length)]);
+ okb.ProblemParameters.InsertOnSubmit(entity);
+ }
+ private void CreateExperiment(OKBDataContext okb, Algorithm algorithm, Problem problem, Platform platform) {
+ Experiment entity = new Experiment();
+ entity.Algorithm = algorithm;
+ entity.Problem = problem;
+
+ foreach (AlgorithmParameter algorithmParameter in okb.AlgorithmParameters.Where(x => x.AlgorithmId == algorithm.Id)) {
+ CreateAlgorithmParameterValue(okb, algorithmParameter, entity, platform);
+ }
+ foreach (ProblemParameter problemParameter in okb.ProblemParameters.Where(x => x.ProblemId == problem.Id)) {
+ CreateProblemParameterValue(okb, problemParameter, entity, platform);
+ }
+
+ for (int i = 0; i < RUNS_PER_EXPERIMENT; i++) {
+ CreateRun(okb, entity, platform);
+ }
+ okb.Experiments.InsertOnSubmit(entity);
+ }
+ private void CreateAlgorithmParameterValue(OKBDataContext okb, AlgorithmParameter algorithmParameter, Experiment experiment, Platform platform) {
+ switch (algorithmParameter.DataType.SqlName) {
+ case "varbinary":
+ AlgorithmParameterBlobValue v1 = new AlgorithmParameterBlobValue();
+ v1.AlgorithmParameter = algorithmParameter;
+ v1.Experiment = experiment;
+ v1.Value = new Binary(new byte[BLOBVALUE_SIZE]);
+ v1.DataType = GetDataType(okb, platform, "varbinary");
+ okb.AlgorithmParameterBlobValues.InsertOnSubmit(v1);
+ return;
+ case "bit":
+ AlgorithmParameterBoolValue v2 = new AlgorithmParameterBoolValue();
+ v2.AlgorithmParameter = algorithmParameter;
+ v2.Experiment = experiment;
+ v2.Value = random.Next(2) == 0;
+ v2.DataType = GetDataType(okb, platform, "bit");
+ okb.AlgorithmParameterBoolValues.InsertOnSubmit(v2);
+ return;
+ case "float":
+ AlgorithmParameterFloatValue v3 = new AlgorithmParameterFloatValue();
+ v3.AlgorithmParameter = algorithmParameter;
+ v3.Experiment = experiment;
+ v3.Value = random.NextDouble();
+ v3.DataType = GetDataType(okb, platform, "float");
+ okb.AlgorithmParameterFloatValues.InsertOnSubmit(v3);
+ return;
+ case "bigint":
+ AlgorithmParameterIntValue v4 = new AlgorithmParameterIntValue();
+ v4.AlgorithmParameter = algorithmParameter;
+ v4.Experiment = experiment;
+ v4.Value = random.Next();
+ v4.DataType = GetDataType(okb, platform, "bigint");
+ okb.AlgorithmParameterIntValues.InsertOnSubmit(v4);
+ return;
+ case "nvarchar":
+ AlgorithmParameterStringValue v5 = new AlgorithmParameterStringValue();
+ v5.AlgorithmParameter = algorithmParameter;
+ v5.Experiment = experiment;
+ v5.Value = Guid.NewGuid().ToString();
+ v5.DataType = GetDataType(okb, platform, "nvarchar");
+ okb.AlgorithmParameterStringValues.InsertOnSubmit(v5);
+ return;
+ }
+ }
+ private void CreateProblemParameterValue(OKBDataContext okb, ProblemParameter problemParameter, Experiment experiment, Platform platform) {
+ switch (problemParameter.DataType.SqlName) {
+ case "varbinary":
+ ProblemParameterBlobValue v1 = new ProblemParameterBlobValue();
+ v1.ProblemParameter = problemParameter;
+ v1.Experiment = experiment;
+ v1.Value = new Binary(new byte[BLOBVALUE_SIZE]);
+ v1.DataType = GetDataType(okb, platform, "varbinary");
+ okb.ProblemParameterBlobValues.InsertOnSubmit(v1);
+ return;
+ case "bit":
+ ProblemParameterBoolValue v2 = new ProblemParameterBoolValue();
+ v2.ProblemParameter = problemParameter;
+ v2.Experiment = experiment;
+ v2.Value = random.Next(2) == 0;
+ v2.DataType = GetDataType(okb, platform, "bit");
+ okb.ProblemParameterBoolValues.InsertOnSubmit(v2);
+ return;
+ case "float":
+ ProblemParameterFloatValue v3 = new ProblemParameterFloatValue();
+ v3.ProblemParameter = problemParameter;
+ v3.Experiment = experiment;
+ v3.Value = random.NextDouble();
+ v3.DataType = GetDataType(okb, platform, "float");
+ okb.ProblemParameterFloatValues.InsertOnSubmit(v3);
+ return;
+ case "bigint":
+ ProblemParameterIntValue v4 = new ProblemParameterIntValue();
+ v4.ProblemParameter = problemParameter;
+ v4.Experiment = experiment;
+ v4.Value = random.Next();
+ v4.DataType = GetDataType(okb, platform, "bigint");
+ okb.ProblemParameterIntValues.InsertOnSubmit(v4);
+ return;
+ case "nvarchar":
+ ProblemParameterStringValue v5 = new ProblemParameterStringValue();
+ v5.ProblemParameter = problemParameter;
+ v5.Experiment = experiment;
+ v5.Value = Guid.NewGuid().ToString();
+ v5.DataType = GetDataType(okb, platform, "nvarchar");
+ okb.ProblemParameterStringValues.InsertOnSubmit(v5);
+ return;
+ }
+ }
+ private void CreateRun(OKBDataContext okb, Experiment experiment, Platform platform) {
+ Run entity = new Run();
+ entity.RandomSeed = random.Next();
+ entity.CreatedDate = DateTime.Now;
+ entity.UserId = Guid.NewGuid();
+ entity.ClientId = Guid.NewGuid();
+ entity.Experiment = experiment;
+
+ foreach (Result result in okb.Results.Where(x => x.AlgorithmId == experiment.AlgorithmId)) {
+ CreateResultValue(okb, result, entity, platform);
+ }
+ okb.Runs.InsertOnSubmit(entity);
+ }
+ private void CreateResultValue(OKBDataContext okb, Result result, Run run, Platform platform) {
+ switch (result.DataType.SqlName) {
+ case "varbinary":
+ ResultBlobValue v1 = new ResultBlobValue();
+ v1.Result = result;
+ v1.Run = run;
+ v1.Value = new Binary(new byte[BLOBVALUE_SIZE]);
+ v1.DataType = GetDataType(okb, platform, "varbinary");
+ okb.ResultBlobValues.InsertOnSubmit(v1);
+ return;
+ case "bit":
+ ResultBoolValue v2 = new ResultBoolValue();
+ v2.Result = result;
+ v2.Run = run;
+ v2.Value = random.Next(2) == 0;
+ v2.DataType = GetDataType(okb, platform, "bit");
+ okb.ResultBoolValues.InsertOnSubmit(v2);
+ return;
+ case "float":
+ ResultFloatValue v3 = new ResultFloatValue();
+ v3.Result = result;
+ v3.Run = run;
+ v3.Value = random.NextDouble();
+ v3.DataType = GetDataType(okb, platform, "float");
+ okb.ResultFloatValues.InsertOnSubmit(v3);
+ return;
+ case "bigint":
+ ResultIntValue v4 = new ResultIntValue();
+ v4.Result = result;
+ v4.Run = run;
+ v4.Value = random.Next();
+ v4.DataType = GetDataType(okb, platform, "bigint");
+ okb.ResultIntValues.InsertOnSubmit(v4);
+ return;
+ case "nvarchar":
+ ResultStringValue v5 = new ResultStringValue();
+ v5.Result = result;
+ v5.Run = run;
+ v5.Value = Guid.NewGuid().ToString();
+ v5.DataType = GetDataType(okb, platform, "nvarchar");
+ okb.ResultStringValues.InsertOnSubmit(v5);
+ return;
}
}
Index: /branches/OKB/HeuristicLab.Services.OKB.DataTransfer/3.3/DataType.cs
===================================================================
--- /branches/OKB/HeuristicLab.Services.OKB.DataTransfer/3.3/DataType.cs (revision 5294)
+++ /branches/OKB/HeuristicLab.Services.OKB.DataTransfer/3.3/DataType.cs (revision 5295)
@@ -28,4 +28,6 @@
public string Name { get; set; }
[DataMember]
+ public string TypeName { get; set; }
+ [DataMember]
public string SqlName { get; set; }
[DataMember]
Index: /branches/OKB/HeuristicLab.Services.OKB.DataTransfer/3.3/Filters/Filter.cs
===================================================================
--- /branches/OKB/HeuristicLab.Services.OKB.DataTransfer/3.3/Filters/Filter.cs (revision 5294)
+++ /branches/OKB/HeuristicLab.Services.OKB.DataTransfer/3.3/Filters/Filter.cs (revision 5295)
@@ -25,5 +25,4 @@
[DataContract]
[KnownType(typeof(OrdinalComparisonDateTimeFilter))]
- [KnownType(typeof(OrdinalComparisonIntFilter))]
[KnownType(typeof(OrdinalComparisonLongFilter))]
[KnownType(typeof(SetComparisonStringFilter))]
Index: anches/OKB/HeuristicLab.Services.OKB.DataTransfer/3.3/Filters/OrdinalComparisonIntFilter.cs
===================================================================
--- /branches/OKB/HeuristicLab.Services.OKB.DataTransfer/3.3/Filters/OrdinalComparisonIntFilter.cs (revision 5294)
+++ (revision )
@@ -1,35 +1,0 @@
-#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2010 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 .
- */
-#endregion
-
-using System.Runtime.Serialization;
-
-namespace HeuristicLab.Services.OKB.DataTransfer {
- [DataContract]
- public class OrdinalComparisonIntFilter : OrdinalComparisonFilter {
- [DataMember]
- public int Value { get; set; }
-
- public OrdinalComparisonIntFilter(string filterTypeName, string label) {
- FilterTypeName = filterTypeName;
- Label = label;
- }
- }
-}
Index: /branches/OKB/HeuristicLab.Services.OKB.DataTransfer/3.3/HeuristicLab.Services.OKB.DataTransfer-3.3.csproj
===================================================================
--- /branches/OKB/HeuristicLab.Services.OKB.DataTransfer/3.3/HeuristicLab.Services.OKB.DataTransfer-3.3.csproj (revision 5294)
+++ /branches/OKB/HeuristicLab.Services.OKB.DataTransfer/3.3/HeuristicLab.Services.OKB.DataTransfer-3.3.csproj (revision 5295)
@@ -76,5 +76,4 @@
-
Index: /branches/OKB/HeuristicLab.Services.OKB.DataTransfer/3.3/Run.cs
===================================================================
--- /branches/OKB/HeuristicLab.Services.OKB.DataTransfer/3.3/Run.cs (revision 5294)
+++ /branches/OKB/HeuristicLab.Services.OKB.DataTransfer/3.3/Run.cs (revision 5295)
@@ -28,7 +28,7 @@
public class Run : OKBItem {
[DataMember]
- public int RandomSeed { get; set; }
+ public long RandomSeed { get; set; }
[DataMember]
- public DateTime? FinishedDate { get; set; }
+ public DateTime CreatedDate { get; set; }
[DataMember]
public long ExperimentId { get; set; }
Index: /branches/OKB/HeuristicLab.Services.OKB/3.3/Convert.cs
===================================================================
--- /branches/OKB/HeuristicLab.Services.OKB/3.3/Convert.cs (revision 5294)
+++ /branches/OKB/HeuristicLab.Services.OKB/3.3/Convert.cs (revision 5295)
@@ -47,13 +47,13 @@
public static DT.DataType ToDto(DA.DataType source) {
if (source == null) return null;
- return new DT.DataType { Id = source.Id, Name = source.Name, SqlName = source.SqlName, PlatformId = source.PlatformId };
+ return new DT.DataType { Id = source.Id, Name = source.Name, TypeName = source.TypeName, SqlName = source.SqlName, PlatformId = source.PlatformId };
}
public static DA.DataType ToEntity(DT.DataType source) {
if (source == null) return null;
- return new DA.DataType { Id = source.Id, Name = source.Name, SqlName = source.SqlName, PlatformId = source.PlatformId };
+ return new DA.DataType { Id = source.Id, Name = source.Name, TypeName = source.TypeName, SqlName = source.SqlName, PlatformId = source.PlatformId };
}
public static void ToEntity(DT.DataType source, DA.DataType target) {
if ((source != null) && (target != null)) {
- target.Id = source.Id; target.Name = source.Name; target.SqlName = source.SqlName; target.PlatformId = source.PlatformId;
+ target.Id = source.Id; target.Name = source.Name; target.TypeName = source.TypeName; target.SqlName = source.SqlName; target.PlatformId = source.PlatformId;
}
}
@@ -515,5 +515,5 @@
public static DT.Run ToDto(DA.Run source) {
if (source == null) return null;
- DT.Run target = new DT.Run { Id = source.Id, RandomSeed = source.RandomSeed, FinishedDate = source.FinishedDate, ExperimentId = source.ExperimentId, UserId = source.UserId, ClientId = source.ClientId };
+ DT.Run target = new DT.Run { Id = source.Id, RandomSeed = source.RandomSeed, CreatedDate = source.CreatedDate, ExperimentId = source.ExperimentId, UserId = source.UserId, ClientId = source.ClientId };
List resultValues = new List();
@@ -540,5 +540,5 @@
public static void ToEntity(DT.Run source, DA.Run target) {
if ((source != null) && (target != null)) {
- target.Id = source.Id; target.RandomSeed = source.RandomSeed; target.FinishedDate = source.FinishedDate; target.ExperimentId = source.ExperimentId; target.UserId = source.UserId; target.ClientId = source.ClientId;
+ target.Id = source.Id; target.RandomSeed = source.RandomSeed; target.CreatedDate = source.CreatedDate; target.ExperimentId = source.ExperimentId; target.UserId = source.UserId; target.ClientId = source.ClientId;
foreach (DT.ResultBlobValue value in source.ResultValues.OfType())
Index: /branches/OKB/HeuristicLab.Services.OKB/3.3/Filters/AlgorithmDataDataTypeNameFilter.cs
===================================================================
--- /branches/OKB/HeuristicLab.Services.OKB/3.3/Filters/AlgorithmDataDataTypeNameFilter.cs (revision 5294)
+++ /branches/OKB/HeuristicLab.Services.OKB/3.3/Filters/AlgorithmDataDataTypeNameFilter.cs (revision 5295)
@@ -33,11 +33,11 @@
switch (Comparison) {
case DataTransfer.SetComparison.Equal:
- return x => x.Experiment.Algorithm.AlgorithmData.DataType.Name == Value;
+ return x => (x.Experiment.Algorithm.AlgorithmData.DataType.Name == Value) || (x.Experiment.Algorithm.AlgorithmData.DataType.TypeName == Value);
case DataTransfer.SetComparison.NotEqual:
- return x => x.Experiment.Algorithm.AlgorithmData.DataType.Name != Value;
+ return x => (x.Experiment.Algorithm.AlgorithmData.DataType.Name != Value) && (x.Experiment.Algorithm.AlgorithmData.DataType.TypeName != Value);
case DataTransfer.SetComparison.Contains:
- return x => x.Experiment.Algorithm.AlgorithmData.DataType.Name.Contains(Value);
+ return x => x.Experiment.Algorithm.AlgorithmData.DataType.Name.Contains(Value) || x.Experiment.Algorithm.AlgorithmData.DataType.TypeName.Contains(Value);
case DataTransfer.SetComparison.NotContains:
- return x => !x.Experiment.Algorithm.AlgorithmData.DataType.Name.Contains(Value);
+ return x => !x.Experiment.Algorithm.AlgorithmData.DataType.Name.Contains(Value) && !x.Experiment.Algorithm.AlgorithmData.DataType.TypeName.Contains(Value);
default:
return x => true;
Index: /branches/OKB/HeuristicLab.Services.OKB/3.3/Filters/AlgorithmParameterBlobValueDataTypeNameFilter.cs
===================================================================
--- /branches/OKB/HeuristicLab.Services.OKB/3.3/Filters/AlgorithmParameterBlobValueDataTypeNameFilter.cs (revision 5294)
+++ /branches/OKB/HeuristicLab.Services.OKB/3.3/Filters/AlgorithmParameterBlobValueDataTypeNameFilter.cs (revision 5295)
@@ -35,11 +35,11 @@
switch (Comparison) {
case DataTransfer.SetComparison.Equal:
- return x => x.Experiment.AlgorithmParameterBlobValues.Any(y => ((y.AlgorithmParameter.Name == Name) || (y.AlgorithmParameter.Alias == Name)) && (y.DataType.Name == Value));
+ return x => x.Experiment.AlgorithmParameterBlobValues.Any(y => ((y.AlgorithmParameter.Name == Name) || (y.AlgorithmParameter.Alias == Name)) && ((y.DataType.Name == Value) || (y.DataType.TypeName == Value)));
case DataTransfer.SetComparison.NotEqual:
- return x => x.Experiment.AlgorithmParameterBlobValues.Any(y => ((y.AlgorithmParameter.Name == Name) || (y.AlgorithmParameter.Alias == Name)) && (y.DataType.Name != Value));
+ return x => x.Experiment.AlgorithmParameterBlobValues.Any(y => ((y.AlgorithmParameter.Name == Name) || (y.AlgorithmParameter.Alias == Name)) && ((y.DataType.Name != Value) && (!(y.DataType.TypeName != Value))));
case DataTransfer.SetComparison.Contains:
- return x => x.Experiment.AlgorithmParameterBlobValues.Any(y => ((y.AlgorithmParameter.Name == Name) || (y.AlgorithmParameter.Alias == Name)) && y.DataType.Name.Contains(Value));
+ return x => x.Experiment.AlgorithmParameterBlobValues.Any(y => ((y.AlgorithmParameter.Name == Name) || (y.AlgorithmParameter.Alias == Name)) && (y.DataType.Name.Contains(Value) || y.DataType.TypeName.Contains(Value)));
case DataTransfer.SetComparison.NotContains:
- return x => x.Experiment.AlgorithmParameterBlobValues.Any(y => ((y.AlgorithmParameter.Name == Name) || (y.AlgorithmParameter.Alias == Name)) && !y.DataType.Name.Contains(Value));
+ return x => x.Experiment.AlgorithmParameterBlobValues.Any(y => ((y.AlgorithmParameter.Name == Name) || (y.AlgorithmParameter.Alias == Name)) && (!y.DataType.Name.Contains(Value) && !y.DataType.TypeName.Contains(Value)));
default:
return x => true;
Index: /branches/OKB/HeuristicLab.Services.OKB/3.3/Filters/ProblemDataDataTypeNameFilter.cs
===================================================================
--- /branches/OKB/HeuristicLab.Services.OKB/3.3/Filters/ProblemDataDataTypeNameFilter.cs (revision 5294)
+++ /branches/OKB/HeuristicLab.Services.OKB/3.3/Filters/ProblemDataDataTypeNameFilter.cs (revision 5295)
@@ -33,11 +33,11 @@
switch (Comparison) {
case DataTransfer.SetComparison.Equal:
- return x => x.Experiment.Problem.ProblemData.DataType.Name == Value;
+ return x => (x.Experiment.Problem.ProblemData.DataType.Name == Value) || (x.Experiment.Problem.ProblemData.DataType.TypeName == Value);
case DataTransfer.SetComparison.NotEqual:
- return x => x.Experiment.Problem.ProblemData.DataType.Name != Value;
+ return x => (x.Experiment.Problem.ProblemData.DataType.Name != Value) && (x.Experiment.Problem.ProblemData.DataType.TypeName != Value);
case DataTransfer.SetComparison.Contains:
- return x => x.Experiment.Problem.ProblemData.DataType.Name.Contains(Value);
+ return x => x.Experiment.Problem.ProblemData.DataType.Name.Contains(Value) || x.Experiment.Problem.ProblemData.DataType.TypeName.Contains(Value);
case DataTransfer.SetComparison.NotContains:
- return x => !x.Experiment.Problem.ProblemData.DataType.Name.Contains(Value);
+ return x => !x.Experiment.Problem.ProblemData.DataType.Name.Contains(Value) && !x.Experiment.Problem.ProblemData.DataType.TypeName.Contains(Value);
default:
return x => true;
Index: /branches/OKB/HeuristicLab.Services.OKB/3.3/Filters/ProblemParameterBlobValueDataTypeNameFilter.cs
===================================================================
--- /branches/OKB/HeuristicLab.Services.OKB/3.3/Filters/ProblemParameterBlobValueDataTypeNameFilter.cs (revision 5294)
+++ /branches/OKB/HeuristicLab.Services.OKB/3.3/Filters/ProblemParameterBlobValueDataTypeNameFilter.cs (revision 5295)
@@ -35,11 +35,11 @@
switch (Comparison) {
case DataTransfer.SetComparison.Equal:
- return x => x.Experiment.ProblemParameterBlobValues.Any(y => ((y.ProblemParameter.Name == Name) || (y.ProblemParameter.Alias == Name)) && (y.DataType.Name == Value));
+ return x => x.Experiment.ProblemParameterBlobValues.Any(y => ((y.ProblemParameter.Name == Name) || (y.ProblemParameter.Alias == Name)) && ((y.DataType.Name == Value) || (y.DataType.TypeName == Value)));
case DataTransfer.SetComparison.NotEqual:
- return x => x.Experiment.ProblemParameterBlobValues.Any(y => ((y.ProblemParameter.Name == Name) || (y.ProblemParameter.Alias == Name)) && (y.DataType.Name != Value));
+ return x => x.Experiment.ProblemParameterBlobValues.Any(y => ((y.ProblemParameter.Name == Name) || (y.ProblemParameter.Alias == Name)) && ((y.DataType.Name != Value) && (!(y.DataType.TypeName != Value))));
case DataTransfer.SetComparison.Contains:
- return x => x.Experiment.ProblemParameterBlobValues.Any(y => ((y.ProblemParameter.Name == Name) || (y.ProblemParameter.Alias == Name)) && y.DataType.Name.Contains(Value));
+ return x => x.Experiment.ProblemParameterBlobValues.Any(y => ((y.ProblemParameter.Name == Name) || (y.ProblemParameter.Alias == Name)) && (y.DataType.Name.Contains(Value) || y.DataType.TypeName.Contains(Value)));
case DataTransfer.SetComparison.NotContains:
- return x => x.Experiment.ProblemParameterBlobValues.Any(y => ((y.ProblemParameter.Name == Name) || (y.ProblemParameter.Alias == Name)) && !y.DataType.Name.Contains(Value));
+ return x => x.Experiment.ProblemParameterBlobValues.Any(y => ((y.ProblemParameter.Name == Name) || (y.ProblemParameter.Alias == Name)) && (!y.DataType.Name.Contains(Value) && !y.DataType.TypeName.Contains(Value)));
default:
return x => true;
Index: /branches/OKB/HeuristicLab.Services.OKB/3.3/Filters/ResultBlobValueDataTypeNameFilter.cs
===================================================================
--- /branches/OKB/HeuristicLab.Services.OKB/3.3/Filters/ResultBlobValueDataTypeNameFilter.cs (revision 5294)
+++ /branches/OKB/HeuristicLab.Services.OKB/3.3/Filters/ResultBlobValueDataTypeNameFilter.cs (revision 5295)
@@ -35,11 +35,11 @@
switch (Comparison) {
case DataTransfer.SetComparison.Equal:
- return x => x.ResultBlobValues.Any(y => ((y.Result.Name == Name) || (y.Result.Alias == Name)) && (y.DataType.Name == Value));
+ return x => x.ResultBlobValues.Any(y => ((y.Result.Name == Name) || (y.Result.Alias == Name)) && ((y.DataType.Name == Value) || (y.DataType.TypeName == Value)));
case DataTransfer.SetComparison.NotEqual:
- return x => x.ResultBlobValues.Any(y => ((y.Result.Name == Name) || (y.Result.Alias == Name)) && (y.DataType.Name != Value));
+ return x => x.ResultBlobValues.Any(y => ((y.Result.Name == Name) || (y.Result.Alias == Name)) && ((y.DataType.Name != Value) && (!(y.DataType.TypeName != Value))));
case DataTransfer.SetComparison.Contains:
- return x => x.ResultBlobValues.Any(y => ((y.Result.Name == Name) || (y.Result.Alias == Name)) && y.DataType.Name.Contains(Value));
+ return x => x.ResultBlobValues.Any(y => ((y.Result.Name == Name) || (y.Result.Alias == Name)) && (y.DataType.Name.Contains(Value) || y.DataType.TypeName.Contains(Value)));
case DataTransfer.SetComparison.NotContains:
- return x => x.ResultBlobValues.Any(y => ((y.Result.Name == Name) || (y.Result.Alias == Name)) && !y.DataType.Name.Contains(Value));
+ return x => x.ResultBlobValues.Any(y => ((y.Result.Name == Name) || (y.Result.Alias == Name)) && (!y.DataType.Name.Contains(Value) && !y.DataType.TypeName.Contains(Value)));
default:
return x => true;
Index: /branches/OKB/HeuristicLab.Services.OKB/3.3/Filters/RunCreatedDateFilter.cs
===================================================================
--- /branches/OKB/HeuristicLab.Services.OKB/3.3/Filters/RunCreatedDateFilter.cs (revision 5295)
+++ /branches/OKB/HeuristicLab.Services.OKB/3.3/Filters/RunCreatedDateFilter.cs (revision 5295)
@@ -0,0 +1,61 @@
+#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2010 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 .
+ */
+#endregion
+
+using System;
+using System.Linq.Expressions;
+using HeuristicLab.Services.OKB.DataAccess;
+
+namespace HeuristicLab.Services.OKB {
+ public class RunCreatedDateFilter : IFilter {
+ public DataTransfer.OrdinalComparison Comparison { get; set; }
+ public DateTime Value { get; set; }
+
+ public Expression> Expression {
+ get {
+ switch (Comparison) {
+ case DataTransfer.OrdinalComparison.Less:
+ return x => x.CreatedDate < Value;
+ case DataTransfer.OrdinalComparison.LessOrEqual:
+ return x => x.CreatedDate <= Value;
+ case DataTransfer.OrdinalComparison.Equal:
+ return x => x.CreatedDate == Value;
+ case DataTransfer.OrdinalComparison.GreaterOrEqual:
+ return x => x.CreatedDate >= Value;
+ case DataTransfer.OrdinalComparison.Greater:
+ return x => x.CreatedDate > Value;
+ case DataTransfer.OrdinalComparison.NotEqual:
+ return x => x.CreatedDate != Value;
+ default:
+ return x => true;
+ }
+ }
+ }
+
+ public RunCreatedDateFilter(DataTransfer.OrdinalComparison comparison, DateTime value) {
+ Comparison = comparison;
+ Value = value;
+ }
+ public RunCreatedDateFilter(DataTransfer.OrdinalComparisonDateTimeFilter filter) {
+ Comparison = filter.Comparison;
+ Value = filter.Value;
+ }
+ }
+}
Index: anches/OKB/HeuristicLab.Services.OKB/3.3/Filters/RunFinishedDateFilter.cs
===================================================================
--- /branches/OKB/HeuristicLab.Services.OKB/3.3/Filters/RunFinishedDateFilter.cs (revision 5294)
+++ (revision )
@@ -1,61 +1,0 @@
-#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2010 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 .
- */
-#endregion
-
-using System;
-using System.Linq.Expressions;
-using HeuristicLab.Services.OKB.DataAccess;
-
-namespace HeuristicLab.Services.OKB {
- public class RunFinishedDateFilter : IFilter {
- public DataTransfer.OrdinalComparison Comparison { get; set; }
- public DateTime Value { get; set; }
-
- public Expression> Expression {
- get {
- switch (Comparison) {
- case DataTransfer.OrdinalComparison.Less:
- return x => x.FinishedDate < Value;
- case DataTransfer.OrdinalComparison.LessOrEqual:
- return x => x.FinishedDate <= Value;
- case DataTransfer.OrdinalComparison.Equal:
- return x => x.FinishedDate == Value;
- case DataTransfer.OrdinalComparison.GreaterOrEqual:
- return x => x.FinishedDate >= Value;
- case DataTransfer.OrdinalComparison.Greater:
- return x => x.FinishedDate > Value;
- case DataTransfer.OrdinalComparison.NotEqual:
- return x => x.FinishedDate != Value;
- default:
- return x => true;
- }
- }
- }
-
- public RunFinishedDateFilter(DataTransfer.OrdinalComparison comparison, DateTime value) {
- Comparison = comparison;
- Value = value;
- }
- public RunFinishedDateFilter(DataTransfer.OrdinalComparisonDateTimeFilter filter) {
- Comparison = filter.Comparison;
- Value = filter.Value;
- }
- }
-}
Index: /branches/OKB/HeuristicLab.Services.OKB/3.3/Filters/RunRandomSeedFilter.cs
===================================================================
--- /branches/OKB/HeuristicLab.Services.OKB/3.3/Filters/RunRandomSeedFilter.cs (revision 5294)
+++ /branches/OKB/HeuristicLab.Services.OKB/3.3/Filters/RunRandomSeedFilter.cs (revision 5295)
@@ -27,5 +27,5 @@
public class RunRandomSeedFilter : IFilter {
public DataTransfer.OrdinalComparison Comparison { get; set; }
- public int Value { get; set; }
+ public long Value { get; set; }
public Expression> Expression {
@@ -50,9 +50,9 @@
}
- public RunRandomSeedFilter(DataTransfer.OrdinalComparison comparison, int value) {
+ public RunRandomSeedFilter(DataTransfer.OrdinalComparison comparison, long value) {
Comparison = comparison;
Value = value;
}
- public RunRandomSeedFilter(DataTransfer.OrdinalComparisonIntFilter filter) {
+ public RunRandomSeedFilter(DataTransfer.OrdinalComparisonLongFilter filter) {
Comparison = filter.Comparison;
Value = filter.Value;
Index: /branches/OKB/HeuristicLab.Services.OKB/3.3/HeuristicLab.Services.OKB-3.3.csproj
===================================================================
--- /branches/OKB/HeuristicLab.Services.OKB/3.3/HeuristicLab.Services.OKB-3.3.csproj (revision 5294)
+++ /branches/OKB/HeuristicLab.Services.OKB/3.3/HeuristicLab.Services.OKB-3.3.csproj (revision 5295)
@@ -141,6 +141,6 @@
+
-
Index: /branches/OKB/HeuristicLab.Services.OKB/3.3/Interfaces/IOKBService.cs
===================================================================
--- /branches/OKB/HeuristicLab.Services.OKB/3.3/Interfaces/IOKBService.cs (revision 5294)
+++ /branches/OKB/HeuristicLab.Services.OKB/3.3/Interfaces/IOKBService.cs (revision 5295)
@@ -197,4 +197,6 @@
IEnumerable GetFilters();
[OperationContract]
+ long QueryNumberOfRuns(Filter filter);
+ [OperationContract]
IEnumerable QueryRuns(Filter filter);
#endregion
Index: /branches/OKB/HeuristicLab.Services.OKB/3.3/OKBService.cs
===================================================================
--- /branches/OKB/HeuristicLab.Services.OKB/3.3/OKBService.cs (revision 5294)
+++ /branches/OKB/HeuristicLab.Services.OKB/3.3/OKBService.cs (revision 5295)
@@ -577,6 +577,6 @@
// run filters
- filters.Add(new DataTransfer.OrdinalComparisonIntFilter(typeof(RunRandomSeedFilter).AssemblyQualifiedName, "Run Random Seed"));
- filters.Add(new DataTransfer.OrdinalComparisonDateTimeFilter(typeof(RunFinishedDateFilter).AssemblyQualifiedName, "Run Finished Date"));
+ filters.Add(new DataTransfer.OrdinalComparisonLongFilter(typeof(RunRandomSeedFilter).AssemblyQualifiedName, "Run Random Seed"));
+ filters.Add(new DataTransfer.OrdinalComparisonDateTimeFilter(typeof(RunCreatedDateFilter).AssemblyQualifiedName, "Run Created Date"));
filters.Add(new DataTransfer.SetComparisonStringFilter(typeof(RunUserNameFilter).AssemblyQualifiedName, "Run User Name"));
filters.Add(new DataTransfer.SetComparisonStringFilter(typeof(RunClientNameFilter).AssemblyQualifiedName, "Run Client Name"));
@@ -644,4 +644,10 @@
}
return filters.OrderBy(x => x.Label);
+ }
+ public long QueryNumberOfRuns(DataTransfer.Filter filter) {
+ using (OKBDataContext okb = new OKBDataContext()) {
+ IFilter convertedFilter = (IFilter)Activator.CreateInstance(Type.GetType(filter.FilterTypeName), filter);
+ return okb.Runs.Where(convertedFilter.Expression).LongCount();
+ }
}
public IEnumerable QueryRuns(DataTransfer.Filter filter) {
@@ -708,7 +714,16 @@
//okb.LoadOptions = dlo;
+ DataLoadOptions dlo = new DataLoadOptions();
+ dlo.LoadWith(x => x.ResultBlobValues);
+ dlo.LoadWith(x => x.ResultBoolValues);
+ dlo.LoadWith(x => x.ResultFloatValues);
+ dlo.LoadWith(x => x.ResultIntValues);
+ dlo.LoadWith(x => x.ResultStringValues);
+ okb.LoadOptions = dlo;
+
IFilter convertedFilter = (IFilter)Activator.CreateInstance(Type.GetType(filter.FilterTypeName), filter);
- var runs = okb.Runs.Where(convertedFilter.Expression);
- return runs.Select(x => Convert.ToDto(x)).ToArray();
+ var runs = okb.Runs.Where(convertedFilter.Expression).ToArray();
+ var result = runs.Select(x => Convert.ToDto(x)).ToArray();
+ return result;
}
}
Index: /branches/OKB/HeuristicLab.Services.OKB/3.3/app.config
===================================================================
--- /branches/OKB/HeuristicLab.Services.OKB/3.3/app.config (revision 5294)
+++ /branches/OKB/HeuristicLab.Services.OKB/3.3/app.config (revision 5295)
@@ -62,4 +62,5 @@
+