Free cookie consent management tool by TermsFeed Policy Generator

Changeset 5482


Ignore:
Timestamp:
02/16/11 04:59:43 (13 years ago)
Author:
swagner
Message:

Worked on OKB (#1174)

Location:
branches/OKB (trunk integration)/HeuristicLab.Services.OKB/3.3
Files:
45 added
22 edited
1 moved

Legend:

Unmodified
Added
Removed
  • branches/OKB (trunk integration)/HeuristicLab.Services.OKB/3.3/Administration/AdministrationService.cs

    r5479 r5482  
    2222using System;
    2323using System.Collections.Generic;
    24 using System.Data.Linq;
    2524using System.Linq;
    26 using System.Security.Cryptography;
    2725using System.ServiceModel;
    2826using HeuristicLab.Services.OKB.DataAccess;
     
    3533  public class AdministrationService : IAdministrationService {
    3634    #region Platform Methods
    37     public DataTransfer.Platform GetPlatform(long id) {
    38       using (OKBDataContext okb = new OKBDataContext()) {
    39         return Convert.ToDto(okb.Platforms.FirstOrDefault(x => x.Id == id));
    40       }
    41     }
    4235    public IEnumerable<DataTransfer.Platform> GetPlatforms() {
    4336      using (OKBDataContext okb = new OKBDataContext()) {
     
    6962    #endregion
    7063
    71     #region DataType Methods
    72     public DataTransfer.DataType GetDataType(long id) {
    73       using (OKBDataContext okb = new OKBDataContext()) {
    74         return Convert.ToDto(okb.DataTypes.FirstOrDefault(x => x.Id == id));
    75       }
    76     }
    77     public long AddDataType(DataTransfer.DataType dto) {
    78       using (OKBDataContext okb = new OKBDataContext()) {
    79         var entity = okb.DataTypes.Where(x => (x.PlatformId == dto.PlatformId) && (x.Name == dto.Name) && (x.TypeName == dto.TypeName)).FirstOrDefault();
    80         if (entity == null) {
    81           entity = Convert.ToEntity(dto); entity.Id = 0;
    82           okb.DataTypes.InsertOnSubmit(entity);
    83           okb.SubmitChanges();
    84         }
    85         return entity.Id;
    86       }
    87     }
    88     #endregion
    89 
    90     #region BinaryData Methods
    91     public long GetBinaryDataId(byte[] hash) {
    92       using (OKBDataContext okb = new OKBDataContext()) {
    93         var id = okb.BinaryDatas.Where(x => x.Hash.Equals(hash)).Select(x => x.Id).FirstOrDefault();
    94         if (id == 0) return -1;
    95         else return id;
    96       }
    97     }
    98     public long AddBinaryData(DataTransfer.BinaryData dto) {
    99       byte[] hash;
    100       using (SHA1 sha1 = SHA1.Create()) {
    101         hash = sha1.ComputeHash(dto.Data);
    102       }
    103 
    104       using (OKBDataContext okb = new OKBDataContext()) {
    105         var id = okb.BinaryDatas.Where(x => x.Hash.Equals(hash)).Select(x => x.Id).FirstOrDefault();
    106         if (id != 0) {
    107           return id;
    108         } else {
    109           DataAccess.BinaryData entity = Convert.ToEntity(dto); entity.Id = 0;
    110           okb.BinaryDatas.InsertOnSubmit(entity);
    111           okb.SubmitChanges();
    112           return entity.Id;
    113         }
    114       }
    115     }
    116     #endregion
    117 
    11864    #region AlgorithmClass Methods
    119     public DataTransfer.AlgorithmClass GetAlgorithmClass(long id) {
    120       using (OKBDataContext okb = new OKBDataContext()) {
    121         return Convert.ToDto(okb.AlgorithmClasses.FirstOrDefault(x => x.Id == id));
    122       }
    123     }
    12465    public IEnumerable<DataTransfer.AlgorithmClass> GetAlgorithmClasses() {
    12566      using (OKBDataContext okb = new OKBDataContext()) {
     
    15293
    15394    #region Algorithm Methods
    154     public DataTransfer.Algorithm GetAlgorithm(long id) {
    155       using (OKBDataContext okb = new OKBDataContext()) {
    156         return Convert.ToDto(okb.Algorithms.FirstOrDefault(x => x.Id == id));
    157       }
    158     }
    15995    public IEnumerable<DataTransfer.Algorithm> GetAlgorithms() {
    16096      using (OKBDataContext okb = new OKBDataContext()) {
     
    164100    public long AddAlgorithm(DataTransfer.Algorithm dto) {
    165101      using (OKBDataContext okb = new OKBDataContext()) {
    166         DataAccess.Algorithm entity = Convert.ToEntity(dto); entity.Id = 0;
     102        DataAccess.Algorithm entity = Convert.ToEntity(dto, okb); entity.Id = 0;
    167103        okb.Algorithms.InsertOnSubmit(entity);
    168104        okb.SubmitChanges();
     
    173109      using (OKBDataContext okb = new OKBDataContext()) {
    174110        DataAccess.Algorithm entity = okb.Algorithms.FirstOrDefault(x => x.Id == dto.Id);
    175         Convert.ToEntity(dto, entity);
     111        Convert.ToEntity(dto, entity, okb);
    176112        okb.SubmitChanges();
    177113      }
     
    196132      }
    197133    }
    198     public DataTransfer.BinaryData GetAlgorithmData(long algorithmId) {
    199       using (OKBDataContext okb = new OKBDataContext()) {
    200         DataLoadOptions dlo = new DataLoadOptions();
    201         dlo.LoadWith<Algorithm>(x => x.BinaryData);
    202         okb.LoadOptions = dlo;
    203         return Convert.ToDto(okb.Algorithms.Where(x => x.Id == algorithmId).Select(x => x.BinaryData).FirstOrDefault());
     134    public byte[] GetAlgorithmData(long algorithmId) {
     135      using (OKBDataContext okb = new OKBDataContext()) {
     136        return okb.Algorithms.Where(x => x.Id == algorithmId).Select(x => x.BinaryData.Data.ToArray()).FirstOrDefault();
     137      }
     138    }
     139    public void UpdateAlgorithmData(long algorithmId, byte[] data) {
     140      using (OKBDataContext okb = new OKBDataContext()) {
     141        var entity = okb.Algorithms.Where(x => x.Id == algorithmId).FirstOrDefault();
     142        if (entity != null)
     143          entity.BinaryData = Convert.ToEntity(data, okb);
     144        okb.SubmitChanges();
    204145      }
    205146    }
     
    207148
    208149    #region ProblemClass Methods
    209     public DataTransfer.ProblemClass GetProblemClass(long id) {
    210       using (OKBDataContext okb = new OKBDataContext()) {
    211         return Convert.ToDto(okb.ProblemClasses.FirstOrDefault(x => x.Id == id));
    212       }
    213     }
    214150    public IEnumerable<DataTransfer.ProblemClass> GetProblemClasses() {
    215151      using (OKBDataContext okb = new OKBDataContext()) {
     
    242178
    243179    #region Problem Methods
    244     public DataTransfer.Problem GetProblem(long id) {
    245       using (OKBDataContext okb = new OKBDataContext()) {
    246         return Convert.ToDto(okb.Problems.FirstOrDefault(x => x.Id == id));
    247       }
    248     }
    249180    public IEnumerable<DataTransfer.Problem> GetProblems() {
    250181      using (OKBDataContext okb = new OKBDataContext()) {
     
    254185    public long AddProblem(DataTransfer.Problem dto) {
    255186      using (OKBDataContext okb = new OKBDataContext()) {
    256         DataAccess.Problem entity = Convert.ToEntity(dto); entity.Id = 0;
     187        DataAccess.Problem entity = Convert.ToEntity(dto, okb); entity.Id = 0;
    257188        okb.Problems.InsertOnSubmit(entity);
    258189        okb.SubmitChanges();
     
    263194      using (OKBDataContext okb = new OKBDataContext()) {
    264195        DataAccess.Problem entity = okb.Problems.FirstOrDefault(x => x.Id == dto.Id);
    265         Convert.ToEntity(dto, entity);
     196        Convert.ToEntity(dto, entity, okb);
    266197        okb.SubmitChanges();
    267198      }
     
    286217      }
    287218    }
    288     public DataTransfer.BinaryData GetProblemData(long problemId) {
    289       using (OKBDataContext okb = new OKBDataContext()) {
    290         DataLoadOptions dlo = new DataLoadOptions();
    291         dlo.LoadWith<Problem>(x => x.BinaryData);
    292         okb.LoadOptions = dlo;
    293         return Convert.ToDto(okb.Problems.Where(x => x.Id == problemId).Select(x => x.BinaryData).FirstOrDefault());
    294       }
    295     }
    296     #endregion
    297 
    298     #region Run Methods
    299     public DataTransfer.Run GetRun(long id) {
    300       using (OKBDataContext okb = new OKBDataContext()) {
    301         DataLoadOptions dlo = new DataLoadOptions();
    302         dlo.LoadWith<Run>(x => x.Values);
    303         dlo.LoadWith<Value>(x => x.ValueName);
    304         okb.LoadOptions = dlo;
    305         return Convert.ToDto(okb.Runs.FirstOrDefault(x => x.Id == id));
    306       }
    307     }
    308     public IEnumerable<DataTransfer.Run> GetRuns(long algorithmId, long problemId) {
    309       using (OKBDataContext okb = new OKBDataContext()) {
    310         DataLoadOptions dlo = new DataLoadOptions();
    311         dlo.LoadWith<Run>(x => x.Values);
    312         dlo.LoadWith<Value>(x => x.ValueName);
    313         okb.LoadOptions = dlo;
    314         if ((algorithmId != 0) && (problemId != 0))
    315           return okb.Runs.Where(x => (x.AlgorithmId == algorithmId) && (x.ProblemId == problemId)).Select(x => Convert.ToDto(x)).ToArray();
    316         else if (algorithmId != 0)
    317           return okb.Runs.Where(x => x.AlgorithmId == algorithmId).Select(x => Convert.ToDto(x)).ToArray();
    318         else if (problemId != 0)
    319           return okb.Runs.Where(x => x.ProblemId == problemId).Select(x => Convert.ToDto(x)).ToArray();
    320         else
    321           return okb.Runs.Select(x => Convert.ToDto(x)).ToArray();
    322       }
    323     }
    324     public long AddRun(DataTransfer.Run dto) {
    325       using (OKBDataContext okb = new OKBDataContext()) {
    326         DataAccess.Run entity = Convert.ToEntity(dto); entity.Id = 0;
    327         okb.Runs.InsertOnSubmit(entity);
    328         okb.SubmitChanges();
    329         return entity.Id;
    330       }
    331     }
    332     public void DeleteRun(long id) {
    333       using (OKBDataContext okb = new OKBDataContext()) {
    334         IEnumerable<DataAccess.ResultBlobValue> resultBlobValues = okb.ResultBlobValues.Where(x => x.RunId == id);
    335         okb.ResultBlobValues.DeleteAllOnSubmit(resultBlobValues);
    336         IEnumerable<DataAccess.ResultBoolValue> resultBoolValues = okb.ResultBoolValues.Where(x => x.RunId == id);
    337         okb.ResultBoolValues.DeleteAllOnSubmit(resultBoolValues);
    338         IEnumerable<DataAccess.ResultFloatValue> resultFloatValues = okb.ResultFloatValues.Where(x => x.RunId == id);
    339         okb.ResultFloatValues.DeleteAllOnSubmit(resultFloatValues);
    340         IEnumerable<DataAccess.ResultIntValue> resultIntValues = okb.ResultIntValues.Where(x => x.RunId == id);
    341         okb.ResultIntValues.DeleteAllOnSubmit(resultIntValues);
    342         IEnumerable<DataAccess.ResultStringValue> resultStringValues = okb.ResultStringValues.Where(x => x.RunId == id);
    343         okb.ResultStringValues.DeleteAllOnSubmit(resultStringValues);
    344 
    345         DataAccess.Run entity = okb.Runs.FirstOrDefault(x => x.Id == id);
    346         if (entity != null) okb.Runs.DeleteOnSubmit(entity);
     219    public byte[] GetProblemData(long problemId) {
     220      using (OKBDataContext okb = new OKBDataContext()) {
     221        return okb.Problems.Where(x => x.Id == problemId).Select(x => x.BinaryData.Data.ToArray()).FirstOrDefault();
     222      }
     223    }
     224    public void UpdateProblemData(long problemId, byte[] data) {
     225      using (OKBDataContext okb = new OKBDataContext()) {
     226        var entity = okb.Problems.Where(x => x.Id == problemId).FirstOrDefault();
     227        if (entity != null)
     228          entity.BinaryData = Convert.ToEntity(data, okb);
    347229        okb.SubmitChanges();
    348230      }
  • branches/OKB (trunk integration)/HeuristicLab.Services.OKB/3.3/Administration/IAdministrationService.cs

    r5479 r5482  
    2424using System.Net.Security;
    2525using System.ServiceModel;
    26 using HeuristicLab.Services.OKB.DataTransfer;
     26using HeuristicLab.Services.OKB.Administration.DataTransfer;
    2727
    2828namespace HeuristicLab.Services.OKB.Administration {
     
    3333  public interface IAdministrationService {
    3434    #region Platform Methods
    35     [OperationContract]
    36     Platform GetPlatform(long id);
    3735    [OperationContract]
    3836    IEnumerable<Platform> GetPlatforms();
     
    4543    #endregion
    4644
    47     #region DataType Methods
    48     [OperationContract]
    49     DataType GetDataType(long id);
    50     [OperationContract]
    51     long AddDataType(DataType dto);
    52     #endregion
    53 
    54     #region BinaryData Methods
    55     [OperationContract]
    56     long GetBinaryDataId(byte[] hash);
    57     [OperationContract]
    58     long AddBinaryData(BinaryData dto);
    59     #endregion
    60 
    6145    #region AlgorithmClass Methods
    62     [OperationContract]
    63     AlgorithmClass GetAlgorithmClass(long id);
    6446    [OperationContract]
    6547    IEnumerable<AlgorithmClass> GetAlgorithmClasses();
     
    7355
    7456    #region Algorithm Methods
    75     [OperationContract]
    76     Algorithm GetAlgorithm(long id);
    7757    [OperationContract]
    7858    IEnumerable<Algorithm> GetAlgorithms();
     
    8868    void UpdateAlgorithmUsers(long algorithmId, IEnumerable<Guid> users);
    8969    [OperationContract]
    90     BinaryData GetAlgorithmData(long algorithmId);
     70    byte[] GetAlgorithmData(long algorithmId);
     71    [OperationContract]
     72    void UpdateAlgorithmData(long algorithmId, byte[] data);
    9173    #endregion
    9274
    9375    #region ProblemClass Methods
    94     [OperationContract]
    95     ProblemClass GetProblemClass(long id);
    9676    [OperationContract]
    9777    IEnumerable<ProblemClass> GetProblemClasses();
     
    10585
    10686    #region Problem Methods
    107     [OperationContract]
    108     Problem GetProblem(long id);
    10987    [OperationContract]
    11088    IEnumerable<Problem> GetProblems();
     
    12098    void UpdateProblemUsers(long problemId, IEnumerable<Guid> users);
    12199    [OperationContract]
    122     BinaryData GetProblemData(long problemId);
    123     #endregion
    124 
    125     #region Run Methods
     100    byte[] GetProblemData(long problemId);
    126101    [OperationContract]
    127     Run GetRun(long id);
    128     [OperationContract]
    129     IEnumerable<Run> GetRuns(long algorithmId, long problemId);
    130     [OperationContract]
    131     long AddRun(Run dto);
    132     [OperationContract]
    133     void DeleteRun(long id);
     102    void UpdateProblemData(long problemId, byte[] data);
    134103    #endregion
    135104  }
  • branches/OKB (trunk integration)/HeuristicLab.Services.OKB/3.3/HeuristicLab.Services.OKB-3.3.csproj

    r5481 r5482  
    121121  <ItemGroup>
    122122    <Compile Include="Administration\AdministrationService.cs" />
     123    <Compile Include="Administration\Convert.cs" />
     124    <Compile Include="Administration\DataTransfer\Algorithm.cs" />
     125    <Compile Include="Administration\DataTransfer\AlgorithmClass.cs" />
     126    <Compile Include="Administration\DataTransfer\DataType.cs" />
     127    <Compile Include="Administration\DataTransfer\NamedOKBItem.cs" />
     128    <Compile Include="Administration\DataTransfer\OKBItem.cs" />
     129    <Compile Include="Administration\DataTransfer\Platform.cs" />
     130    <Compile Include="Administration\DataTransfer\Problem.cs" />
     131    <Compile Include="Administration\DataTransfer\ProblemClass.cs" />
    123132    <Compile Include="Administration\IAdministrationService.cs" />
    124133    <Compile Include="Authentication\AuthenticationService.cs" />
     
    127136    <Compile Include="Convert.cs" />
    128137    <Compile Include="Properties\AssemblyInfo.cs" />
    129     <Compile Include="Query\Filters\AlgorithmClassNameFilter.cs" />
    130     <Compile Include="Query\Filters\AlgorithmDataDataTypeNameFilter.cs" />
    131     <Compile Include="Query\Filters\AlgorithmNameFilter.cs" />
    132     <Compile Include="Query\Filters\AlgorithmParameterBlobValueDataTypeNameFilter.cs" />
    133     <Compile Include="Query\Filters\AlgorithmParameterBlobValueValueFilter.cs" />
    134     <Compile Include="Query\Filters\AlgorithmParameterBoolValueValueFilter.cs" />
    135     <Compile Include="Query\Filters\AlgorithmParameterFloatValueValueFilter.cs" />
    136     <Compile Include="Query\Filters\AlgorithmParameterIntValueValueFilter.cs" />
    137     <Compile Include="Query\Filters\AlgorithmParameterNameFilter.cs" />
    138     <Compile Include="Query\Filters\AlgorithmParameterStringValueValueFilter.cs" />
    139     <Compile Include="Query\Filters\AlgorithmPlatformNameFilter.cs" />
    140     <Compile Include="Query\Filters\AndFilter.cs" />
    141     <Compile Include="Query\Filters\OrFilter.cs" />
    142     <Compile Include="Query\Filters\ProblemClassNameFilter.cs" />
    143     <Compile Include="Query\Filters\ProblemDataDataTypeNameFilter.cs" />
    144     <Compile Include="Query\Filters\ProblemNameFilter.cs" />
    145     <Compile Include="Query\Filters\ProblemParameterBlobValueDataTypeNameFilter.cs" />
    146     <Compile Include="Query\Filters\ProblemParameterBlobValueValueFilter.cs" />
    147     <Compile Include="Query\Filters\ProblemParameterBoolValueValueFilter.cs" />
    148     <Compile Include="Query\Filters\ProblemParameterFloatValueValueFilter.cs" />
    149     <Compile Include="Query\Filters\ProblemParameterIntValueValueFilter.cs" />
    150     <Compile Include="Query\Filters\ProblemParameterNameFilter.cs" />
    151     <Compile Include="Query\Filters\ProblemParameterStringValueValueFilter.cs" />
    152     <Compile Include="Query\Filters\ProblemPlatformNameFilter.cs" />
    153     <Compile Include="Query\Filters\ResultBlobValueDataTypeNameFilter.cs" />
    154     <Compile Include="Query\Filters\ResultBlobValueValueFilter.cs" />
    155     <Compile Include="Query\Filters\ResultBoolValueValueFilter.cs" />
    156     <Compile Include="Query\Filters\ResultFloatValueValueFilter.cs" />
    157     <Compile Include="Query\Filters\ResultIntValueValueFilter.cs" />
    158     <Compile Include="Query\Filters\ResultNameFilter.cs" />
    159     <Compile Include="Query\Filters\ResultStringValueValueFilter.cs" />
    160     <Compile Include="Query\Filters\RunClientNameFilter.cs" />
    161     <Compile Include="Query\Filters\RunCreatedDateFilter.cs" />
    162     <Compile Include="Query\Filters\RunRandomSeedFilter.cs" />
    163     <Compile Include="Query\Filters\RunUserNameFilter.cs" />
    164     <Compile Include="Query\IFilter.cs" />
     138    <Compile Include="Query\DataTransfer\Algorithm.cs" />
     139    <Compile Include="Query\DataTransfer\AlgorithmClass.cs" />
     140    <Compile Include="Query\DataTransfer\BinaryValue.cs" />
     141    <Compile Include="Query\DataTransfer\BooleanOperation.cs" />
     142    <Compile Include="Query\DataTransfer\BoolValue.cs" />
     143    <Compile Include="Query\DataTransfer\CombinedFilter.cs" />
     144    <Compile Include="Query\DataTransfer\DataType.cs" />
     145    <Compile Include="Query\DataTransfer\DoubleValue.cs" />
     146    <Compile Include="Query\DataTransfer\EqualityComparison.cs" />
     147    <Compile Include="Query\DataTransfer\EqualityComparisonFilter.cs" />
     148    <Compile Include="Query\DataTransfer\Filter.cs" />
     149    <Compile Include="Query\DataTransfer\FloatValue.cs" />
     150    <Compile Include="Query\DataTransfer\IntValue.cs" />
     151    <Compile Include="Query\DataTransfer\LongValue.cs" />
     152    <Compile Include="Query\DataTransfer\NameEqualityComparisonBoolFilter.cs" />
     153    <Compile Include="Query\DataTransfer\NameEqualityComparisonByteArrayFilter.cs" />
     154    <Compile Include="Query\DataTransfer\NameOrdinalComparisonDoubleFilter.cs" />
     155    <Compile Include="Query\DataTransfer\NameOrdinalComparisonFloatFilter.cs" />
     156    <Compile Include="Query\DataTransfer\NameOrdinalComparisonIntFilter.cs" />
     157    <Compile Include="Query\DataTransfer\NameOrdinalComparisonLongFilter.cs" />
     158    <Compile Include="Query\DataTransfer\NameStringComparisonAvailableValuesFilter.cs" />
     159    <Compile Include="Query\DataTransfer\NameStringComparisonFilter.cs" />
     160    <Compile Include="Query\DataTransfer\OrdinalComparison.cs" />
     161    <Compile Include="Query\DataTransfer\OrdinalComparisonDateTimeFilter.cs" />
     162    <Compile Include="Query\DataTransfer\OrdinalComparisonFilter.cs" />
     163    <Compile Include="Query\DataTransfer\OrdinalComparisonIntFilter.cs" />
     164    <Compile Include="Query\DataTransfer\OrdinalComparisonLongFilter.cs" />
     165    <Compile Include="Query\DataTransfer\Platform.cs" />
     166    <Compile Include="Query\DataTransfer\Problem.cs" />
     167    <Compile Include="Query\DataTransfer\ProblemClass.cs" />
     168    <Compile Include="Query\DataTransfer\Run.cs" />
     169    <Compile Include="Query\DataTransfer\StringComparison.cs" />
     170    <Compile Include="Query\DataTransfer\StringComparisonAvailableValuesFilter.cs" />
     171    <Compile Include="Query\DataTransfer\StringComparisonFilter.cs" />
     172    <Compile Include="Query\DataTransfer\StringValue.cs" />
     173    <Compile Include="Query\DataTransfer\Value.cs" />
     174    <Compile Include="Query\Filters\AlgorithmClassNameFilter.cs">
     175      <SubType>Code</SubType>
     176    </Compile>
     177    <Compile Include="Query\Filters\AlgorithmDataDataTypeNameFilter.cs">
     178      <SubType>Code</SubType>
     179    </Compile>
     180    <Compile Include="Query\Filters\AlgorithmNameFilter.cs">
     181      <SubType>Code</SubType>
     182    </Compile>
     183    <Compile Include="Query\Filters\AlgorithmParameterBlobValueDataTypeNameFilter.cs">
     184      <SubType>Code</SubType>
     185    </Compile>
     186    <Compile Include="Query\Filters\AlgorithmParameterBlobValueValueFilter.cs">
     187      <SubType>Code</SubType>
     188    </Compile>
     189    <Compile Include="Query\Filters\AlgorithmParameterBoolValueValueFilter.cs">
     190      <SubType>Code</SubType>
     191    </Compile>
     192    <Compile Include="Query\Filters\AlgorithmParameterFloatValueValueFilter.cs">
     193      <SubType>Code</SubType>
     194    </Compile>
     195    <Compile Include="Query\Filters\AlgorithmParameterIntValueValueFilter.cs">
     196      <SubType>Code</SubType>
     197    </Compile>
     198    <Compile Include="Query\Filters\AlgorithmParameterNameFilter.cs">
     199      <SubType>Code</SubType>
     200    </Compile>
     201    <Compile Include="Query\Filters\AlgorithmParameterStringValueValueFilter.cs">
     202      <SubType>Code</SubType>
     203    </Compile>
     204    <Compile Include="Query\Filters\AlgorithmPlatformNameFilter.cs">
     205      <SubType>Code</SubType>
     206    </Compile>
     207    <Compile Include="Query\Filters\AndFilter.cs">
     208      <SubType>Code</SubType>
     209    </Compile>
     210    <Compile Include="Query\Filters\IFilter.cs" />
     211    <Compile Include="Query\Filters\OrFilter.cs">
     212      <SubType>Code</SubType>
     213    </Compile>
     214    <Compile Include="Query\Filters\ProblemClassNameFilter.cs">
     215      <SubType>Code</SubType>
     216    </Compile>
     217    <Compile Include="Query\Filters\ProblemDataDataTypeNameFilter.cs">
     218      <SubType>Code</SubType>
     219    </Compile>
     220    <Compile Include="Query\Filters\ProblemNameFilter.cs">
     221      <SubType>Code</SubType>
     222    </Compile>
     223    <Compile Include="Query\Filters\ProblemParameterBlobValueDataTypeNameFilter.cs">
     224      <SubType>Code</SubType>
     225    </Compile>
     226    <Compile Include="Query\Filters\ProblemParameterBlobValueValueFilter.cs">
     227      <SubType>Code</SubType>
     228    </Compile>
     229    <Compile Include="Query\Filters\ProblemParameterBoolValueValueFilter.cs">
     230      <SubType>Code</SubType>
     231    </Compile>
     232    <Compile Include="Query\Filters\ProblemParameterFloatValueValueFilter.cs">
     233      <SubType>Code</SubType>
     234    </Compile>
     235    <Compile Include="Query\Filters\ProblemParameterIntValueValueFilter.cs">
     236      <SubType>Code</SubType>
     237    </Compile>
     238    <Compile Include="Query\Filters\ProblemParameterNameFilter.cs">
     239      <SubType>Code</SubType>
     240    </Compile>
     241    <Compile Include="Query\Filters\ProblemParameterStringValueValueFilter.cs">
     242      <SubType>Code</SubType>
     243    </Compile>
     244    <Compile Include="Query\Filters\ProblemPlatformNameFilter.cs">
     245      <SubType>Code</SubType>
     246    </Compile>
     247    <Compile Include="Query\Filters\ResultBlobValueDataTypeNameFilter.cs">
     248      <SubType>Code</SubType>
     249    </Compile>
     250    <Compile Include="Query\Filters\ResultBlobValueValueFilter.cs">
     251      <SubType>Code</SubType>
     252    </Compile>
     253    <Compile Include="Query\Filters\ResultBoolValueValueFilter.cs">
     254      <SubType>Code</SubType>
     255    </Compile>
     256    <Compile Include="Query\Filters\ResultFloatValueValueFilter.cs">
     257      <SubType>Code</SubType>
     258    </Compile>
     259    <Compile Include="Query\Filters\ResultIntValueValueFilter.cs">
     260      <SubType>Code</SubType>
     261    </Compile>
     262    <Compile Include="Query\Filters\ResultNameFilter.cs">
     263      <SubType>Code</SubType>
     264    </Compile>
     265    <Compile Include="Query\Filters\ResultStringValueValueFilter.cs">
     266      <SubType>Code</SubType>
     267    </Compile>
     268    <Compile Include="Query\Filters\RunClientNameFilter.cs">
     269      <SubType>Code</SubType>
     270    </Compile>
     271    <Compile Include="Query\Filters\RunCreatedDateFilter.cs">
     272      <SubType>Code</SubType>
     273    </Compile>
     274    <Compile Include="Query\Filters\RunRandomSeedFilter.cs">
     275      <SubType>Code</SubType>
     276    </Compile>
     277    <Compile Include="Query\Filters\RunUserNameFilter.cs">
     278      <SubType>Code</SubType>
     279    </Compile>
    165280    <Compile Include="Query\IQueryService.cs" />
    166281    <Compile Include="Query\QueryService.cs" />
     
    200315    </ProjectReference>
    201316  </ItemGroup>
    202   <ItemGroup>
    203     <Folder Include="Administration\DataTransfer\" />
    204     <Folder Include="Query\DataTransfer\" />
    205   </ItemGroup>
     317  <ItemGroup />
    206318  <ItemGroup>
    207319    <Service Include="{3259AA49-8AA1-44D3-9025-A0B520596A8C}" />
  • branches/OKB (trunk integration)/HeuristicLab.Services.OKB/3.3/Query/Filters/AlgorithmClassNameFilter.cs

    r5378 r5482  
    2424using HeuristicLab.Services.OKB.DataAccess;
    2525
    26 namespace HeuristicLab.Services.OKB {
     26namespace HeuristicLab.Services.OKB.Query.Filters {
    2727  public class AlgorithmClassNameFilter : IFilter {
    2828    public DataTransfer.StringComparison Comparison { get; set; }
  • branches/OKB (trunk integration)/HeuristicLab.Services.OKB/3.3/Query/Filters/AlgorithmDataDataTypeNameFilter.cs

    r5378 r5482  
    2424using HeuristicLab.Services.OKB.DataAccess;
    2525
    26 namespace HeuristicLab.Services.OKB {
     26namespace HeuristicLab.Services.OKB.Query.Filters {
    2727  public class AlgorithmDataDataTypeNameFilter : IFilter {
    2828    public DataTransfer.StringComparison Comparison { get; set; }
  • branches/OKB (trunk integration)/HeuristicLab.Services.OKB/3.3/Query/Filters/AlgorithmNameFilter.cs

    r5378 r5482  
    2424using HeuristicLab.Services.OKB.DataAccess;
    2525
    26 namespace HeuristicLab.Services.OKB {
     26namespace HeuristicLab.Services.OKB.Query.Filters {
    2727  public class AlgorithmNameFilter : IFilter {
    2828    public DataTransfer.StringComparison Comparison { get; set; }
  • branches/OKB (trunk integration)/HeuristicLab.Services.OKB/3.3/Query/Filters/AlgorithmParameterBlobValueDataTypeNameFilter.cs

    r5378 r5482  
    2121
    2222using System;
    23 using System.Linq;
    2423using System.Linq.Expressions;
    2524using HeuristicLab.Services.OKB.DataAccess;
    2625
    27 namespace HeuristicLab.Services.OKB {
     26namespace HeuristicLab.Services.OKB.Query.Filters {
    2827  public class AlgorithmParameterBlobValueDataTypeNameFilter : IFilter {
    2928    public string Name { get; protected set; }
  • branches/OKB (trunk integration)/HeuristicLab.Services.OKB/3.3/Query/Filters/AlgorithmParameterBlobValueValueFilter.cs

    r5286 r5482  
    2121
    2222using System;
    23 using System.Linq;
    2423using System.Linq.Expressions;
    2524using HeuristicLab.Services.OKB.DataAccess;
    2625
    27 namespace HeuristicLab.Services.OKB {
     26namespace HeuristicLab.Services.OKB.Query.Filters {
    2827  public class AlgorithmParameterBlobValueValueFilter : IFilter {
    2928    public string Name { get; protected set; }
  • branches/OKB (trunk integration)/HeuristicLab.Services.OKB/3.3/Query/Filters/AlgorithmParameterBoolValueValueFilter.cs

    r5286 r5482  
    2121
    2222using System;
    23 using System.Linq;
    2423using System.Linq.Expressions;
    2524using HeuristicLab.Services.OKB.DataAccess;
    2625
    27 namespace HeuristicLab.Services.OKB {
     26namespace HeuristicLab.Services.OKB.Query.Filters {
    2827  public class AlgorithmParameterBoolValueValueFilter : IFilter {
    2928    public string Name { get; protected set; }
  • branches/OKB (trunk integration)/HeuristicLab.Services.OKB/3.3/Query/Filters/AlgorithmParameterFloatValueValueFilter.cs

    r5286 r5482  
    2121
    2222using System;
    23 using System.Linq;
    2423using System.Linq.Expressions;
    2524using HeuristicLab.Services.OKB.DataAccess;
    2625
    27 namespace HeuristicLab.Services.OKB {
     26namespace HeuristicLab.Services.OKB.Query.Filters {
    2827  public class AlgorithmParameterFloatValueValueFilter : IFilter {
    2928    public string Name { get; protected set; }
  • branches/OKB (trunk integration)/HeuristicLab.Services.OKB/3.3/Query/Filters/AlgorithmParameterIntValueValueFilter.cs

    r5286 r5482  
    2121
    2222using System;
    23 using System.Linq;
    2423using System.Linq.Expressions;
    2524using HeuristicLab.Services.OKB.DataAccess;
    2625
    27 namespace HeuristicLab.Services.OKB {
     26namespace HeuristicLab.Services.OKB.Query.Filters {
    2827  public class AlgorithmParameterIntValueValueFilter : IFilter {
    2928    public string Name { get; protected set; }
  • branches/OKB (trunk integration)/HeuristicLab.Services.OKB/3.3/Query/Filters/AlgorithmParameterNameFilter.cs

    r5378 r5482  
    2121
    2222using System;
    23 using System.Linq;
    2423using System.Linq.Expressions;
    2524using HeuristicLab.Services.OKB.DataAccess;
    2625
    27 namespace HeuristicLab.Services.OKB {
     26namespace HeuristicLab.Services.OKB.Query.Filters {
    2827  public class AlgorithmParameterNameFilter : IFilter {
    2928    public DataTransfer.StringComparison Comparison { get; set; }
  • branches/OKB (trunk integration)/HeuristicLab.Services.OKB/3.3/Query/Filters/AlgorithmParameterStringValueValueFilter.cs

    r5378 r5482  
    2121
    2222using System;
    23 using System.Linq;
    2423using System.Linq.Expressions;
    2524using HeuristicLab.Services.OKB.DataAccess;
    2625
    27 namespace HeuristicLab.Services.OKB {
     26namespace HeuristicLab.Services.OKB.Query.Filters {
    2827  public class AlgorithmParameterStringValueValueFilter : IFilter {
    2928    public string Name { get; protected set; }
  • branches/OKB (trunk integration)/HeuristicLab.Services.OKB/3.3/Query/Filters/AlgorithmPlatformNameFilter.cs

    r5378 r5482  
    2424using HeuristicLab.Services.OKB.DataAccess;
    2525
    26 namespace HeuristicLab.Services.OKB {
     26namespace HeuristicLab.Services.OKB.Query.Filters {
    2727  public class AlgorithmPlatformNameFilter : IFilter {
    2828    public DataTransfer.StringComparison Comparison { get; set; }
  • branches/OKB (trunk integration)/HeuristicLab.Services.OKB/3.3/Query/Filters/AndFilter.cs

    r5304 r5482  
    2222using System;
    2323using System.Collections.Generic;
    24 using System.Linq;
    2524using System.Linq.Expressions;
    2625using HeuristicLab.Services.OKB.DataAccess;
    2726
    28 namespace HeuristicLab.Services.OKB {
     27namespace HeuristicLab.Services.OKB.Query.Filters {
    2928  public class AndFilter : IFilter {
    3029    public List<IFilter> Filters { get; private set; }
  • branches/OKB (trunk integration)/HeuristicLab.Services.OKB/3.3/Query/Filters/IFilter.cs

    r5480 r5482  
    2424using HeuristicLab.Services.OKB.DataAccess;
    2525
    26 namespace HeuristicLab.Services.OKB.Query {
     26namespace HeuristicLab.Services.OKB.Query.Filters {
    2727  public interface IFilter {
    2828    Expression<Func<Run, bool>> Expression { get; }
  • branches/OKB (trunk integration)/HeuristicLab.Services.OKB/3.3/Query/Filters/OrFilter.cs

    r5304 r5482  
    2222using System;
    2323using System.Collections.Generic;
    24 using System.Linq;
    2524using System.Linq.Expressions;
    2625using HeuristicLab.Services.OKB.DataAccess;
    2726
    28 namespace HeuristicLab.Services.OKB {
     27namespace HeuristicLab.Services.OKB.Query.Filters {
    2928  public class OrFilter : IFilter {
    3029    public List<IFilter> Filters { get; private set; }
  • branches/OKB (trunk integration)/HeuristicLab.Services.OKB/3.3/Query/Filters/ProblemClassNameFilter.cs

    r5378 r5482  
    2424using HeuristicLab.Services.OKB.DataAccess;
    2525
    26 namespace HeuristicLab.Services.OKB {
     26namespace HeuristicLab.Services.OKB.Query.Filters {
    2727  public class ProblemClassNameFilter : IFilter {
    2828    public DataTransfer.StringComparison Comparison { get; set; }
  • branches/OKB (trunk integration)/HeuristicLab.Services.OKB/3.3/Query/Filters/ProblemDataDataTypeNameFilter.cs

    r5378 r5482  
    2424using HeuristicLab.Services.OKB.DataAccess;
    2525
    26 namespace HeuristicLab.Services.OKB {
     26namespace HeuristicLab.Services.OKB.Query.Filters {
    2727  public class ProblemDataDataTypeNameFilter : IFilter {
    2828    public DataTransfer.StringComparison Comparison { get; set; }
  • branches/OKB (trunk integration)/HeuristicLab.Services.OKB/3.3/Query/Filters/ProblemNameFilter.cs

    r5378 r5482  
    2424using HeuristicLab.Services.OKB.DataAccess;
    2525
    26 namespace HeuristicLab.Services.OKB {
     26namespace HeuristicLab.Services.OKB.Query.Filters {
    2727  public class ProblemNameFilter : IFilter {
    2828    public DataTransfer.StringComparison Comparison { get; set; }
  • branches/OKB (trunk integration)/HeuristicLab.Services.OKB/3.3/Query/Filters/ProblemParameterBlobValueDataTypeNameFilter.cs

    r5378 r5482  
    2121
    2222using System;
    23 using System.Linq;
    2423using System.Linq.Expressions;
    2524using HeuristicLab.Services.OKB.DataAccess;
    2625
    27 namespace HeuristicLab.Services.OKB {
     26namespace HeuristicLab.Services.OKB.Query.Filters {
    2827  public class ProblemParameterBlobValueDataTypeNameFilter : IFilter {
    2928    public string Name { get; protected set; }
  • branches/OKB (trunk integration)/HeuristicLab.Services.OKB/3.3/Query/IQueryService.cs

    r5479 r5482  
    2323using System.Net.Security;
    2424using System.ServiceModel;
    25 using HeuristicLab.Services.OKB.DataTransfer;
     25using HeuristicLab.Services.OKB.Query.DataTransfer;
    2626
    2727namespace HeuristicLab.Services.OKB.Query {
     
    3535
    3636    [OperationContract]
    37     long GetNumberOfQueryResults(Filter filter);
     37    long GetNumberOfRuns(Filter filter);
    3838
    3939    [OperationContract]
    40     IEnumerable<long> GetQueryResultIds(Filter filter);
     40    IEnumerable<long> GetRunIds(Filter filter);
    4141
    4242    [OperationContract]
    43     IEnumerable<QueryResult> GetQueryResults(IEnumerable<long> ids);
     43    IEnumerable<Run> GetRuns(IEnumerable<long> ids);
    4444  }
    4545}
  • branches/OKB (trunk integration)/HeuristicLab.Services.OKB/3.3/Query/QueryService.cs

    r5479 r5482  
    2626using System.ServiceModel;
    2727using HeuristicLab.Services.OKB.DataAccess;
    28 using HeuristicLab.Services.OKB.DataTransfer;
     28using HeuristicLab.Services.OKB.Query.DataTransfer;
    2929
    3030namespace HeuristicLab.Services.OKB.Query {
     
    107107    }
    108108
    109     public long GetNumberOfQueryResults(Filter filter) {
     109    public long GetNumberOfRuns(Filter filter) {
    110110      using (OKBDataContext okb = new OKBDataContext()) {
    111111        return FilterRuns(okb.Runs, filter).LongCount();
     
    113113    }
    114114
    115     public IEnumerable<long> GetQueryResultIds(Filter filter) {
     115    public IEnumerable<long> GetRunIds(Filter filter) {
    116116      using (OKBDataContext okb = new OKBDataContext()) {
    117117        return FilterRuns(okb.Runs, filter).Select(x => x.Id).ToArray();
     
    119119    }
    120120
    121     public IEnumerable<QueryResult> GetQueryResults(IEnumerable<long> ids) {
     121    public IEnumerable<DataTransfer.Run> GetRuns(IEnumerable<long> ids) {
    122122      using (OKBDataContext okb = new OKBDataContext()) {
    123123        DataLoadOptions dlo = new DataLoadOptions();
Note: See TracChangeset for help on using the changeset viewer.