Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
02/17/11 14:47:56 (13 years ago)
Author:
cneumuel
Message:

#1233

  • added StateLog to log state transitions of hive jobs
  • added permissions to hive experiments (in data access layer, no UI for that yet)
  • extended unit tests
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive.DataAccess/3.4/Convert.cs

    r5458 r5511  
    3333        Id = source.JobId,
    3434        CoresNeeded = source.CoresNeeded,
    35         DateCalculated = source.DateCalculated,
    36         DateCreated = source.DateCreated,
    37         DateFinished = source.DateFinished,
    38         Exception = source.Exception,
    39         ExecutionTime = source.ExecutionTime,
     35        ExecutionTime = string.IsNullOrEmpty(source.ExecutionTime) ? TimeSpan.Zero : TimeSpan.Parse(source.ExecutionTime),
    4036        MemoryNeeded = source.MemoryNeeded,
    4137        ParentJobId = source.ParentJobId,
    4238        Priority = source.Priority,
    43         SlaveId = source.SlaveId,
    44         JobState = source.JobState,
    45         UserId = source.UserId,
    4639        PluginsNeededIds = source.RequiredPlugins.Select(x => x.PluginId).ToList(),
    47         LastHeartbeat = source.LastHeartbeat       
     40        LastHeartbeat = source.LastHeartbeat,
     41        State = source.State,
     42        StateLog = source.StateLogs.Select(x => Convert.ToDto(x)).OrderBy(x => x.DateTime).ToList()
    4843      };
    4944    }
     
    5752        target.JobId = source.Id;
    5853        target.CoresNeeded = source.CoresNeeded;
    59         target.DateCalculated = source.DateCalculated;
    60         target.DateCreated = source.DateCreated;
    61         target.DateFinished = source.DateFinished;
    62         target.Exception = source.Exception;
    63         target.ExecutionTime = source.ExecutionTime;
     54        target.ExecutionTime = source.ExecutionTime.ToString();
    6455        target.MemoryNeeded = source.MemoryNeeded;
    6556        target.ParentJobId = source.ParentJobId;
    6657        target.Priority = source.Priority;
    67         target.SlaveId = source.SlaveId;
    68         target.JobState = source.JobState;
    69         target.UserId = source.UserId;
    7058        target.LastHeartbeat = source.LastHeartbeat;
     59        target.State = source.State;
     60        if (target.StateLogs == null) target.StateLogs = new EntitySet<StateLog>();
     61        target.StateLogs.AddRange(source.StateLog.Select(x => Convert.ToEntity(x)).OrderBy(x => x.DateTime));
    7162        // RequiredPlugins are added by Dao
    7263      }
     
    9182    #endregion
    9283
     84    #region StateLog
     85    public static DT.StateLog ToDto(StateLog source) {
     86      if (source == null) return null;
     87      return new DT.StateLog { Id = source.StateLogId, DateTime = source.DateTime, Exception = source.Exception, JobId = source.JobId, SlaveId = source.SlaveId, State = source.State, UserId = source.UserId };
     88    }
     89    public static StateLog ToEntity(DT.StateLog source) {
     90      if (source == null) return null;
     91      var entity = new StateLog(); ToEntity(source, entity);
     92      return entity;
     93    }
     94    public static void ToEntity(DT.StateLog source, StateLog target) {
     95      if ((source != null) && (target != null)) {
     96        target.StateLogId = source.Id; target.DateTime = source.DateTime; target.Exception = source.Exception; target.JobId = source.JobId; target.SlaveId = source.SlaveId; target.State = source.State; target.UserId = source.UserId;
     97      }
     98    }
     99    #endregion
     100
    93101    #region HiveExperiment
    94102    public static DT.HiveExperiment ToDto(HiveExperiment source) {
    95103      if (source == null) return null;
    96       return new DT.HiveExperiment { Id = source.HiveExperimentId, Description = source.Description, Name = source.Name, RootJobId = source.RootJobId, UserId = source.UserId, DateCreated = source.DateCreated, ResourceNames = source.ResourceIds };
     104      return new DT.HiveExperiment { Id = source.HiveExperimentId, Description = source.Description, Name = source.Name, RootJobId = source.RootJobId, OwnerUserId = source.OwnerUserId, DateCreated = source.DateCreated, ResourceNames = source.ResourceIds, LastAccessed = source.LastAccessed };
    97105    }
    98106    public static HiveExperiment ToEntity(DT.HiveExperiment source) {
     
    103111    public static void ToEntity(DT.HiveExperiment source, HiveExperiment target) {
    104112      if ((source != null) && (target != null)) {
    105         target.HiveExperimentId = source.Id; target.Description = source.Description; target.Name = source.Name; target.RootJobId = source.RootJobId; target.UserId = source.UserId; target.DateCreated = source.DateCreated; target.ResourceIds = source.ResourceNames;
     113        target.HiveExperimentId = source.Id; target.Description = source.Description; target.Name = source.Name; target.RootJobId = source.RootJobId; target.OwnerUserId = source.OwnerUserId; target.DateCreated = source.DateCreated; target.ResourceIds = source.ResourceNames; target.LastAccessed = source.LastAccessed;
     114      }
     115    }
     116    #endregion
     117
     118    #region HiveExperimentPermission
     119    public static DT.HiveExperimentPermission ToDto(HiveExperimentPermission source) {
     120      if (source == null) return null;
     121      return new DT.HiveExperimentPermission { HiveExperimentId = source.HiveExperimentId, GrantedUserId = source.GrantedUserId, GrantedByUserId = source.GrantedByUserId, Permission = source.Permission };
     122    }
     123    public static HiveExperimentPermission ToEntity(DT.HiveExperimentPermission source) {
     124      if (source == null) return null;
     125      var entity = new HiveExperimentPermission(); ToEntity(source, entity);
     126      return entity;
     127    }
     128    public static void ToEntity(DT.HiveExperimentPermission source, HiveExperimentPermission target) {
     129      if ((source != null) && (target != null)) {
     130        target.HiveExperimentId = source.HiveExperimentId; target.GrantedUserId = source.GrantedUserId; target.GrantedByUserId = source.GrantedByUserId; target.Permission = source.Permission;
    106131      }
    107132    }
     
    145170    public static DT.Slave ToDto(Slave source) {
    146171      if (source == null) return null;
    147       return new DT.Slave { 
    148         Id = source.ResourceId, 
    149         ParentResourceId = source.ParentResourceId, 
     172      return new DT.Slave {
     173        Id = source.ResourceId,
     174        ParentResourceId = source.ParentResourceId,
    150175        Cores = source.Cores,
    151         CpuSpeed = source.CpuSpeed, 
    152         FreeCores = source.FreeCores, 
    153         FreeMemory = source.FreeMemory, 
    154         IsAllowedToCalculate = source.IsAllowedToCalculate, 
    155         Memory = source.Memory, 
    156         Name = source.Name, 
    157         SlaveState = source.SlaveState, 
    158         CpuArchitecture = source.CpuArchitecture, 
     176        CpuSpeed = source.CpuSpeed,
     177        FreeCores = source.FreeCores,
     178        FreeMemory = source.FreeMemory,
     179        IsAllowedToCalculate = source.IsAllowedToCalculate,
     180        Memory = source.Memory,
     181        Name = source.Name,
     182        SlaveState = source.SlaveState,
     183        CpuArchitecture = source.CpuArchitecture,
    159184        OperatingSystem = source.OperatingSystem,
    160185        LastHeartbeat = source.LastHeartbeat
     
    170195        target.ResourceId = source.Id;
    171196        target.ParentResourceId = source.ParentResourceId;
    172         target.Cores = source.Cores; 
     197        target.Cores = source.Cores;
    173198        target.CpuSpeed = source.CpuSpeed;
    174199        target.FreeCores = source.FreeCores;
    175         target.FreeMemory = source.FreeMemory; 
     200        target.FreeMemory = source.FreeMemory;
    176201        target.IsAllowedToCalculate = source.IsAllowedToCalculate;
    177202        target.Memory = source.Memory;
    178         target.Name = source.Name; 
    179         target.SlaveState = source.SlaveState; 
    180         target.CpuArchitecture = source.CpuArchitecture; 
     203        target.Name = source.Name;
     204        target.SlaveState = source.SlaveState;
     205        target.CpuArchitecture = source.CpuArchitecture;
    181206        target.OperatingSystem = source.OperatingSystem;
    182207        target.LastHeartbeat = source.LastHeartbeat;
Note: See TracChangeset for help on using the changeset viewer.