Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
01/14/11 05:34:43 (14 years ago)
Author:
swagner
Message:

Worked on OKB (#1174)

Location:
branches/OKB
Files:
12 edited
1 moved

Legend:

Unmodified
Added
Removed
  • branches/OKB

    • Property svn:ignore
      •  

        old new  
        11*.suo
         2TestResults
  • branches/OKB/HeuristicLab.Services.OKB/3.3/Convert.cs

    r4591 r5295  
    4747    public static DT.DataType ToDto(DA.DataType source) {
    4848      if (source == null) return null;
    49       return new DT.DataType { Id = source.Id, Name = source.Name, SqlName = source.SqlName, PlatformId = source.PlatformId };
     49      return new DT.DataType { Id = source.Id, Name = source.Name, TypeName = source.TypeName, SqlName = source.SqlName, PlatformId = source.PlatformId };
    5050    }
    5151    public static DA.DataType ToEntity(DT.DataType source) {
    5252      if (source == null) return null;
    53       return new DA.DataType { Id = source.Id, Name = source.Name, SqlName = source.SqlName, PlatformId = source.PlatformId };
     53      return new DA.DataType { Id = source.Id, Name = source.Name, TypeName = source.TypeName, SqlName = source.SqlName, PlatformId = source.PlatformId };
    5454    }
    5555    public static void ToEntity(DT.DataType source, DA.DataType target) {
    5656      if ((source != null) && (target != null)) {
    57         target.Id = source.Id; target.Name = source.Name; target.SqlName = source.SqlName; target.PlatformId = source.PlatformId;
     57        target.Id = source.Id; target.Name = source.Name; target.TypeName = source.TypeName; target.SqlName = source.SqlName; target.PlatformId = source.PlatformId;
    5858      }
    5959    }
     
    515515    public static DT.Run ToDto(DA.Run source) {
    516516      if (source == null) return null;
    517       DT.Run target = new DT.Run { Id = source.Id, RandomSeed = source.RandomSeed, FinishedDate = source.FinishedDate, ExperimentId = source.ExperimentId, UserId = source.UserId, ClientId = source.ClientId };
     517      DT.Run target = new DT.Run { Id = source.Id, RandomSeed = source.RandomSeed, CreatedDate = source.CreatedDate, ExperimentId = source.ExperimentId, UserId = source.UserId, ClientId = source.ClientId };
    518518
    519519      List<DT.ResultValue> resultValues = new List<DT.ResultValue>();
     
    540540    public static void ToEntity(DT.Run source, DA.Run target) {
    541541      if ((source != null) && (target != null)) {
    542         target.Id = source.Id; target.RandomSeed = source.RandomSeed; target.FinishedDate = source.FinishedDate; target.ExperimentId = source.ExperimentId; target.UserId = source.UserId; target.ClientId = source.ClientId;
     542        target.Id = source.Id; target.RandomSeed = source.RandomSeed; target.CreatedDate = source.CreatedDate; target.ExperimentId = source.ExperimentId; target.UserId = source.UserId; target.ClientId = source.ClientId;
    543543
    544544        foreach (DT.ResultBlobValue value in source.ResultValues.OfType<DT.ResultBlobValue>())
  • branches/OKB/HeuristicLab.Services.OKB/3.3/Filters/AlgorithmDataDataTypeNameFilter.cs

    r5286 r5295  
    3333        switch (Comparison) {
    3434          case DataTransfer.SetComparison.Equal:
    35             return x => x.Experiment.Algorithm.AlgorithmData.DataType.Name == Value;
     35            return x => (x.Experiment.Algorithm.AlgorithmData.DataType.Name == Value) || (x.Experiment.Algorithm.AlgorithmData.DataType.TypeName == Value);
    3636          case DataTransfer.SetComparison.NotEqual:
    37             return x => x.Experiment.Algorithm.AlgorithmData.DataType.Name != Value;
     37            return x => (x.Experiment.Algorithm.AlgorithmData.DataType.Name != Value) && (x.Experiment.Algorithm.AlgorithmData.DataType.TypeName != Value);
    3838          case DataTransfer.SetComparison.Contains:
    39             return x => x.Experiment.Algorithm.AlgorithmData.DataType.Name.Contains(Value);
     39            return x => x.Experiment.Algorithm.AlgorithmData.DataType.Name.Contains(Value) || x.Experiment.Algorithm.AlgorithmData.DataType.TypeName.Contains(Value);
    4040          case DataTransfer.SetComparison.NotContains:
    41             return x => !x.Experiment.Algorithm.AlgorithmData.DataType.Name.Contains(Value);
     41            return x => !x.Experiment.Algorithm.AlgorithmData.DataType.Name.Contains(Value) && !x.Experiment.Algorithm.AlgorithmData.DataType.TypeName.Contains(Value);
    4242          default:
    4343            return x => true;
  • branches/OKB/HeuristicLab.Services.OKB/3.3/Filters/AlgorithmParameterBlobValueDataTypeNameFilter.cs

    r5286 r5295  
    3535        switch (Comparison) {
    3636          case DataTransfer.SetComparison.Equal:
    37             return x => x.Experiment.AlgorithmParameterBlobValues.Any(y => ((y.AlgorithmParameter.Name == Name) || (y.AlgorithmParameter.Alias == Name)) && (y.DataType.Name == Value));
     37            return x => x.Experiment.AlgorithmParameterBlobValues.Any(y => ((y.AlgorithmParameter.Name == Name) || (y.AlgorithmParameter.Alias == Name)) && ((y.DataType.Name == Value) || (y.DataType.TypeName == Value)));
    3838          case DataTransfer.SetComparison.NotEqual:
    39             return x => x.Experiment.AlgorithmParameterBlobValues.Any(y => ((y.AlgorithmParameter.Name == Name) || (y.AlgorithmParameter.Alias == Name)) && (y.DataType.Name != Value));
     39            return x => x.Experiment.AlgorithmParameterBlobValues.Any(y => ((y.AlgorithmParameter.Name == Name) || (y.AlgorithmParameter.Alias == Name)) && ((y.DataType.Name != Value) && (!(y.DataType.TypeName != Value))));
    4040          case DataTransfer.SetComparison.Contains:
    41             return x => x.Experiment.AlgorithmParameterBlobValues.Any(y => ((y.AlgorithmParameter.Name == Name) || (y.AlgorithmParameter.Alias == Name)) && y.DataType.Name.Contains(Value));
     41            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)));
    4242          case DataTransfer.SetComparison.NotContains:
    43             return x => x.Experiment.AlgorithmParameterBlobValues.Any(y => ((y.AlgorithmParameter.Name == Name) || (y.AlgorithmParameter.Alias == Name)) && !y.DataType.Name.Contains(Value));
     43            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)));
    4444          default:
    4545            return x => true;
  • branches/OKB/HeuristicLab.Services.OKB/3.3/Filters/ProblemDataDataTypeNameFilter.cs

    r5286 r5295  
    3333        switch (Comparison) {
    3434          case DataTransfer.SetComparison.Equal:
    35             return x => x.Experiment.Problem.ProblemData.DataType.Name == Value;
     35            return x => (x.Experiment.Problem.ProblemData.DataType.Name == Value) || (x.Experiment.Problem.ProblemData.DataType.TypeName == Value);
    3636          case DataTransfer.SetComparison.NotEqual:
    37             return x => x.Experiment.Problem.ProblemData.DataType.Name != Value;
     37            return x => (x.Experiment.Problem.ProblemData.DataType.Name != Value) && (x.Experiment.Problem.ProblemData.DataType.TypeName != Value);
    3838          case DataTransfer.SetComparison.Contains:
    39             return x => x.Experiment.Problem.ProblemData.DataType.Name.Contains(Value);
     39            return x => x.Experiment.Problem.ProblemData.DataType.Name.Contains(Value) || x.Experiment.Problem.ProblemData.DataType.TypeName.Contains(Value);
    4040          case DataTransfer.SetComparison.NotContains:
    41             return x => !x.Experiment.Problem.ProblemData.DataType.Name.Contains(Value);
     41            return x => !x.Experiment.Problem.ProblemData.DataType.Name.Contains(Value) && !x.Experiment.Problem.ProblemData.DataType.TypeName.Contains(Value);
    4242          default:
    4343            return x => true;
  • branches/OKB/HeuristicLab.Services.OKB/3.3/Filters/ProblemParameterBlobValueDataTypeNameFilter.cs

    r5286 r5295  
    3535        switch (Comparison) {
    3636          case DataTransfer.SetComparison.Equal:
    37             return x => x.Experiment.ProblemParameterBlobValues.Any(y => ((y.ProblemParameter.Name == Name) || (y.ProblemParameter.Alias == Name)) && (y.DataType.Name == Value));
     37            return x => x.Experiment.ProblemParameterBlobValues.Any(y => ((y.ProblemParameter.Name == Name) || (y.ProblemParameter.Alias == Name)) && ((y.DataType.Name == Value) || (y.DataType.TypeName == Value)));
    3838          case DataTransfer.SetComparison.NotEqual:
    39             return x => x.Experiment.ProblemParameterBlobValues.Any(y => ((y.ProblemParameter.Name == Name) || (y.ProblemParameter.Alias == Name)) && (y.DataType.Name != Value));
     39            return x => x.Experiment.ProblemParameterBlobValues.Any(y => ((y.ProblemParameter.Name == Name) || (y.ProblemParameter.Alias == Name)) && ((y.DataType.Name != Value) && (!(y.DataType.TypeName != Value))));
    4040          case DataTransfer.SetComparison.Contains:
    41             return x => x.Experiment.ProblemParameterBlobValues.Any(y => ((y.ProblemParameter.Name == Name) || (y.ProblemParameter.Alias == Name)) && y.DataType.Name.Contains(Value));
     41            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)));
    4242          case DataTransfer.SetComparison.NotContains:
    43             return x => x.Experiment.ProblemParameterBlobValues.Any(y => ((y.ProblemParameter.Name == Name) || (y.ProblemParameter.Alias == Name)) && !y.DataType.Name.Contains(Value));
     43            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)));
    4444          default:
    4545            return x => true;
  • branches/OKB/HeuristicLab.Services.OKB/3.3/Filters/ResultBlobValueDataTypeNameFilter.cs

    r5286 r5295  
    3535        switch (Comparison) {
    3636          case DataTransfer.SetComparison.Equal:
    37             return x => x.ResultBlobValues.Any(y => ((y.Result.Name == Name) || (y.Result.Alias == Name)) && (y.DataType.Name == Value));
     37            return x => x.ResultBlobValues.Any(y => ((y.Result.Name == Name) || (y.Result.Alias == Name)) && ((y.DataType.Name == Value) || (y.DataType.TypeName == Value)));
    3838          case DataTransfer.SetComparison.NotEqual:
    39             return x => x.ResultBlobValues.Any(y => ((y.Result.Name == Name) || (y.Result.Alias == Name)) && (y.DataType.Name != Value));
     39            return x => x.ResultBlobValues.Any(y => ((y.Result.Name == Name) || (y.Result.Alias == Name)) && ((y.DataType.Name != Value) && (!(y.DataType.TypeName != Value))));
    4040          case DataTransfer.SetComparison.Contains:
    41             return x => x.ResultBlobValues.Any(y => ((y.Result.Name == Name) || (y.Result.Alias == Name)) && y.DataType.Name.Contains(Value));
     41            return x => x.ResultBlobValues.Any(y => ((y.Result.Name == Name) || (y.Result.Alias == Name)) && (y.DataType.Name.Contains(Value) || y.DataType.TypeName.Contains(Value)));
    4242          case DataTransfer.SetComparison.NotContains:
    43             return x => x.ResultBlobValues.Any(y => ((y.Result.Name == Name) || (y.Result.Alias == Name)) && !y.DataType.Name.Contains(Value));
     43            return x => x.ResultBlobValues.Any(y => ((y.Result.Name == Name) || (y.Result.Alias == Name)) && (!y.DataType.Name.Contains(Value) && !y.DataType.TypeName.Contains(Value)));
    4444          default:
    4545            return x => true;
  • branches/OKB/HeuristicLab.Services.OKB/3.3/Filters/RunCreatedDateFilter.cs

    r5294 r5295  
    2525
    2626namespace HeuristicLab.Services.OKB {
    27   public class RunFinishedDateFilter : IFilter {
     27  public class RunCreatedDateFilter : IFilter {
    2828    public DataTransfer.OrdinalComparison Comparison { get; set; }
    2929    public DateTime Value { get; set; }
     
    3333        switch (Comparison) {
    3434          case DataTransfer.OrdinalComparison.Less:
    35             return x => x.FinishedDate < Value;
     35            return x => x.CreatedDate < Value;
    3636          case DataTransfer.OrdinalComparison.LessOrEqual:
    37             return x => x.FinishedDate <= Value;
     37            return x => x.CreatedDate <= Value;
    3838          case DataTransfer.OrdinalComparison.Equal:
    39             return x => x.FinishedDate == Value;
     39            return x => x.CreatedDate == Value;
    4040          case DataTransfer.OrdinalComparison.GreaterOrEqual:
    41             return x => x.FinishedDate >= Value;
     41            return x => x.CreatedDate >= Value;
    4242          case DataTransfer.OrdinalComparison.Greater:
    43             return x => x.FinishedDate > Value;
     43            return x => x.CreatedDate > Value;
    4444          case DataTransfer.OrdinalComparison.NotEqual:
    45             return x => x.FinishedDate != Value;
     45            return x => x.CreatedDate != Value;
    4646          default:
    4747            return x => true;
     
    5050    }
    5151
    52     public RunFinishedDateFilter(DataTransfer.OrdinalComparison comparison, DateTime value) {
     52    public RunCreatedDateFilter(DataTransfer.OrdinalComparison comparison, DateTime value) {
    5353      Comparison = comparison;
    5454      Value = value;
    5555    }
    56     public RunFinishedDateFilter(DataTransfer.OrdinalComparisonDateTimeFilter filter) {
     56    public RunCreatedDateFilter(DataTransfer.OrdinalComparisonDateTimeFilter filter) {
    5757      Comparison = filter.Comparison;
    5858      Value = filter.Value;
  • branches/OKB/HeuristicLab.Services.OKB/3.3/Filters/RunRandomSeedFilter.cs

    r5286 r5295  
    2727  public class RunRandomSeedFilter : IFilter {
    2828    public DataTransfer.OrdinalComparison Comparison { get; set; }
    29     public int Value { get; set; }
     29    public long Value { get; set; }
    3030
    3131    public Expression<Func<Run, bool>> Expression {
     
    5050    }
    5151
    52     public RunRandomSeedFilter(DataTransfer.OrdinalComparison comparison, int value) {
     52    public RunRandomSeedFilter(DataTransfer.OrdinalComparison comparison, long value) {
    5353      Comparison = comparison;
    5454      Value = value;
    5555    }
    56     public RunRandomSeedFilter(DataTransfer.OrdinalComparisonIntFilter filter) {
     56    public RunRandomSeedFilter(DataTransfer.OrdinalComparisonLongFilter filter) {
    5757      Comparison = filter.Comparison;
    5858      Value = filter.Value;
  • branches/OKB/HeuristicLab.Services.OKB/3.3/HeuristicLab.Services.OKB-3.3.csproj

    r5286 r5295  
    141141    <Compile Include="Filters\ProblemParameterNameFilter.cs" />
    142142    <Compile Include="Filters\ResultNameFilter.cs" />
     143    <Compile Include="Filters\RunCreatedDateFilter.cs" />
    143144    <Compile Include="Filters\RunRandomSeedFilter.cs" />
    144     <Compile Include="Filters\RunFinishedDateFilter.cs" />
    145145    <Compile Include="Filters\RunClientNameFilter.cs" />
    146146    <Compile Include="Filters\RunUserNameFilter.cs" />
  • branches/OKB/HeuristicLab.Services.OKB/3.3/Interfaces/IOKBService.cs

    r5286 r5295  
    197197    IEnumerable<Filter> GetFilters();
    198198    [OperationContract]
     199    long QueryNumberOfRuns(Filter filter);
     200    [OperationContract]
    199201    IEnumerable<Run> QueryRuns(Filter filter);
    200202    #endregion
  • branches/OKB/HeuristicLab.Services.OKB/3.3/OKBService.cs

    r5286 r5295  
    577577
    578578        // run filters
    579         filters.Add(new DataTransfer.OrdinalComparisonIntFilter(typeof(RunRandomSeedFilter).AssemblyQualifiedName, "Run Random Seed"));
    580         filters.Add(new DataTransfer.OrdinalComparisonDateTimeFilter(typeof(RunFinishedDateFilter).AssemblyQualifiedName, "Run Finished Date"));
     579        filters.Add(new DataTransfer.OrdinalComparisonLongFilter(typeof(RunRandomSeedFilter).AssemblyQualifiedName, "Run Random Seed"));
     580        filters.Add(new DataTransfer.OrdinalComparisonDateTimeFilter(typeof(RunCreatedDateFilter).AssemblyQualifiedName, "Run Created Date"));
    581581        filters.Add(new DataTransfer.SetComparisonStringFilter(typeof(RunUserNameFilter).AssemblyQualifiedName, "Run User Name"));
    582582        filters.Add(new DataTransfer.SetComparisonStringFilter(typeof(RunClientNameFilter).AssemblyQualifiedName, "Run Client Name"));
     
    644644      }
    645645      return filters.OrderBy(x => x.Label);
     646    }
     647    public long QueryNumberOfRuns(DataTransfer.Filter filter) {
     648      using (OKBDataContext okb = new OKBDataContext()) {
     649        IFilter convertedFilter = (IFilter)Activator.CreateInstance(Type.GetType(filter.FilterTypeName), filter);
     650        return okb.Runs.Where(convertedFilter.Expression).LongCount();
     651      }
    646652    }
    647653    public IEnumerable<DataTransfer.Run> QueryRuns(DataTransfer.Filter filter) {
     
    708714        //okb.LoadOptions = dlo;
    709715
     716        DataLoadOptions dlo = new DataLoadOptions();
     717        dlo.LoadWith<Run>(x => x.ResultBlobValues);
     718        dlo.LoadWith<Run>(x => x.ResultBoolValues);
     719        dlo.LoadWith<Run>(x => x.ResultFloatValues);
     720        dlo.LoadWith<Run>(x => x.ResultIntValues);
     721        dlo.LoadWith<Run>(x => x.ResultStringValues);
     722        okb.LoadOptions = dlo;
     723
    710724        IFilter convertedFilter = (IFilter)Activator.CreateInstance(Type.GetType(filter.FilterTypeName), filter);
    711         var runs = okb.Runs.Where(convertedFilter.Expression);
    712         return runs.Select(x => Convert.ToDto(x)).ToArray();
     725        var runs = okb.Runs.Where(convertedFilter.Expression).ToArray();
     726        var result = runs.Select(x => Convert.ToDto(x)).ToArray();
     727        return result;
    713728      }
    714729    }
  • branches/OKB/HeuristicLab.Services.OKB/3.3/app.config

    r4548 r5295  
    6262            <userNameAuthentication userNamePasswordValidationMode="MembershipProvider" membershipProviderName="AspNetSqlMembershipProvider" />
    6363          </serviceCredentials>
     64          <dataContractSerializer maxItemsInObjectGraph="6553600" />
    6465        </behavior>
    6566      </serviceBehaviors>
Note: See TracChangeset for help on using the changeset viewer.