Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
09/08/11 14:37:52 (13 years ago)
Author:
ascheibe
Message:

#1233 Review comments: renamed HiveEperiment to Job

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive/3.3/HiveDao.cs

    r6721 r6723  
    231231
    232232    #region HiveExperiment Methods
    233     public DT.HiveExperiment GetHiveExperiment(Guid id) {
    234       using (var db = CreateContext()) {
    235         return AddStatsToExperiment(db, DT.Convert.ToDto(db.HiveExperiments.SingleOrDefault(x => x.HiveExperimentId == id)));
    236       }
    237     }
    238 
    239     private DT.HiveExperiment AddStatsToExperiment(HiveDataContext db, DT.HiveExperiment exp) {
     233    public DT.Job GetHiveExperiment(Guid id) {
     234      using (var db = CreateContext()) {
     235        return AddStatsToExperiment(db, DT.Convert.ToDto(db.Jobs.SingleOrDefault(x => x.JobId == id)));
     236      }
     237    }
     238
     239    private DT.Job AddStatsToExperiment(HiveDataContext db, DT.Job exp) {
    240240      if (exp == null)
    241241        return null;
    242242
    243       var jobs = db.Tasks.Where(j => j.HiveExperimentId == exp.Id);
     243      var jobs = db.Tasks.Where(j => j.JobId == exp.Id);
    244244      exp.JobCount = jobs.Count();
    245245      exp.CalculatingCount = jobs.Count(j => j.State == TaskState.Calculating);
     
    248248    }
    249249
    250     public IEnumerable<DT.HiveExperiment> GetHiveExperiments(Expression<Func<HiveExperiment, bool>> predicate) {
    251       using (var db = CreateContext()) {
    252         return db.HiveExperiments.Where(predicate).Select(x => AddStatsToExperiment(db, DT.Convert.ToDto(x))).ToArray();
    253       }
    254     }
    255 
    256     public Guid AddHiveExperiment(DT.HiveExperiment dto) {
    257       using (var db = CreateContext()) {
    258         var entity = DT.Convert.ToEntity(dto);
    259         db.HiveExperiments.InsertOnSubmit(entity);
    260         db.SubmitChanges();
    261         return entity.HiveExperimentId;
    262       }
    263     }
    264 
    265     public void UpdateHiveExperiment(DT.HiveExperiment dto) {
    266       using (var db = CreateContext()) {
    267         var entity = db.HiveExperiments.FirstOrDefault(x => x.HiveExperimentId == dto.Id);
    268         if (entity == null) db.HiveExperiments.InsertOnSubmit(DT.Convert.ToEntity(dto));
     250    public IEnumerable<DT.Job> GetHiveExperiments(Expression<Func<Job, bool>> predicate) {
     251      using (var db = CreateContext()) {
     252        return db.Jobs.Where(predicate).Select(x => AddStatsToExperiment(db, DT.Convert.ToDto(x))).ToArray();
     253      }
     254    }
     255
     256    public Guid AddHiveExperiment(DT.Job dto) {
     257      using (var db = CreateContext()) {
     258        var entity = DT.Convert.ToEntity(dto);
     259        db.Jobs.InsertOnSubmit(entity);
     260        db.SubmitChanges();
     261        return entity.JobId;
     262      }
     263    }
     264
     265    public void UpdateHiveExperiment(DT.Job dto) {
     266      using (var db = CreateContext()) {
     267        var entity = db.Jobs.FirstOrDefault(x => x.JobId == dto.Id);
     268        if (entity == null) db.Jobs.InsertOnSubmit(DT.Convert.ToEntity(dto));
    269269        else DT.Convert.ToEntity(dto, entity);
    270270        db.SubmitChanges();
     
    274274    public void DeleteHiveExperiment(Guid id) {
    275275      using (var db = CreateContext()) {
    276         var entity = db.HiveExperiments.FirstOrDefault(x => x.HiveExperimentId == id);
    277         if (entity != null) db.HiveExperiments.DeleteOnSubmit(entity);
    278         db.SubmitChanges();
    279       }
    280     }
    281     #endregion
    282 
    283     #region HiveExperimentPermission Methods
    284     public DT.HiveExperimentPermission GetHiveExperimentPermission(Guid hiveExperimentId, Guid grantedUserId) {
    285       using (var db = CreateContext()) {
    286         return DT.Convert.ToDto(db.HiveExperimentPermissions.SingleOrDefault(x => x.HiveExperimentId == hiveExperimentId && x.GrantedUserId == grantedUserId));
    287       }
    288     }
    289 
    290     public IEnumerable<DT.HiveExperimentPermission> GetHiveExperimentPermissions(Expression<Func<HiveExperimentPermission, bool>> predicate) {
    291       using (var db = CreateContext()) {
    292         return db.HiveExperimentPermissions.Where(predicate).Select(x => DT.Convert.ToDto(x)).ToArray();
    293       }
    294     }
    295 
    296     public void AddHiveExperimentPermission(DT.HiveExperimentPermission dto) {
    297       using (var db = CreateContext()) {
    298         var entity = DT.Convert.ToEntity(dto);
    299         db.HiveExperimentPermissions.InsertOnSubmit(entity);
    300         db.SubmitChanges();
    301       }
    302     }
    303 
    304     public void UpdateHiveExperimentPermission(DT.HiveExperimentPermission dto) {
    305       using (var db = CreateContext()) {
    306         var entity = db.HiveExperimentPermissions.FirstOrDefault(x => x.HiveExperimentId == dto.HiveExperimentId && x.GrantedUserId == dto.GrantedUserId);
    307         if (entity == null) db.HiveExperimentPermissions.InsertOnSubmit(DT.Convert.ToEntity(dto));
     276        var entity = db.Jobs.FirstOrDefault(x => x.JobId == id);
     277        if (entity != null) db.Jobs.DeleteOnSubmit(entity);
     278        db.SubmitChanges();
     279      }
     280    }
     281    #endregion
     282
     283    #region JobPermission Methods
     284    public DT.JobPermission GetHiveExperimentPermission(Guid hiveExperimentId, Guid grantedUserId) {
     285      using (var db = CreateContext()) {
     286        return DT.Convert.ToDto(db.JobPermissions.SingleOrDefault(x => x.JobId == hiveExperimentId && x.GrantedUserId == grantedUserId));
     287      }
     288    }
     289
     290    public IEnumerable<DT.JobPermission> GetHiveExperimentPermissions(Expression<Func<JobPermission, bool>> predicate) {
     291      using (var db = CreateContext()) {
     292        return db.JobPermissions.Where(predicate).Select(x => DT.Convert.ToDto(x)).ToArray();
     293      }
     294    }
     295
     296    public void AddHiveExperimentPermission(DT.JobPermission dto) {
     297      using (var db = CreateContext()) {
     298        var entity = DT.Convert.ToEntity(dto);
     299        db.JobPermissions.InsertOnSubmit(entity);
     300        db.SubmitChanges();
     301      }
     302    }
     303
     304    public void UpdateHiveExperimentPermission(DT.JobPermission dto) {
     305      using (var db = CreateContext()) {
     306        var entity = db.JobPermissions.FirstOrDefault(x => x.JobId == dto.JobId && x.GrantedUserId == dto.GrantedUserId);
     307        if (entity == null) db.JobPermissions.InsertOnSubmit(DT.Convert.ToEntity(dto));
    308308        else DT.Convert.ToEntity(dto, entity);
    309309        db.SubmitChanges();
     
    313313    public void DeleteHiveExperimentPermission(Guid hiveExperimentId, Guid grantedUserId) {
    314314      using (var db = CreateContext()) {
    315         var entity = db.HiveExperimentPermissions.FirstOrDefault(x => x.HiveExperimentId == hiveExperimentId && x.GrantedUserId == grantedUserId);
    316         if (entity != null) db.HiveExperimentPermissions.DeleteOnSubmit(entity);
     315        var entity = db.JobPermissions.FirstOrDefault(x => x.JobId == hiveExperimentId && x.GrantedUserId == grantedUserId);
     316        if (entity != null) db.JobPermissions.DeleteOnSubmit(entity);
    317317        db.SubmitChanges();
    318318      }
     
    324324    public void SetHiveExperimentPermission(Guid hiveExperimentId, Guid grantedByUserId, Guid grantedUserId, Permission permission) {
    325325      using (var db = CreateContext()) {
    326         HiveExperimentPermission hiveExperimentPermission = db.HiveExperimentPermissions.SingleOrDefault(x => x.HiveExperimentId == hiveExperimentId && x.GrantedUserId == grantedUserId);
     326        JobPermission hiveExperimentPermission = db.JobPermissions.SingleOrDefault(x => x.JobId == hiveExperimentId && x.GrantedUserId == grantedUserId);
    327327        if (hiveExperimentPermission != null) {
    328328          if (permission == Permission.NotAllowed) {
    329329            // not allowed, delete
    330             db.HiveExperimentPermissions.DeleteOnSubmit(hiveExperimentPermission);
     330            db.JobPermissions.DeleteOnSubmit(hiveExperimentPermission);
    331331          } else {
    332332            // update
     
    337337          // insert
    338338          if (permission != Permission.NotAllowed) {
    339             hiveExperimentPermission = new HiveExperimentPermission() { HiveExperimentId = hiveExperimentId, GrantedByUserId = grantedByUserId, GrantedUserId = grantedUserId, Permission = permission };
    340             db.HiveExperimentPermissions.InsertOnSubmit(hiveExperimentPermission);
     339            hiveExperimentPermission = new JobPermission() { JobId = hiveExperimentId, GrantedByUserId = grantedByUserId, GrantedUserId = grantedUserId, Permission = permission };
     340            db.JobPermissions.InsertOnSubmit(hiveExperimentPermission);
    341341          }
    342342        }
     
    621621    public Permission GetPermissionForExperiment(Guid experimentId, Guid userId) {
    622622      using (var db = CreateContext()) {
    623         HiveExperiment hiveExperiment = db.HiveExperiments.SingleOrDefault(x => x.HiveExperimentId == experimentId);
     623        Job hiveExperiment = db.Jobs.SingleOrDefault(x => x.JobId == experimentId);
    624624        if (hiveExperiment == null) return Permission.NotAllowed;
    625625        if (hiveExperiment.OwnerUserId == userId) return Permission.Full;
    626         HiveExperimentPermission permission = db.HiveExperimentPermissions.SingleOrDefault(p => p.HiveExperimentId == experimentId && p.GrantedUserId == userId);
     626        JobPermission permission = db.JobPermissions.SingleOrDefault(p => p.JobId == experimentId && p.GrantedUserId == userId);
    627627        return permission != null ? permission.Permission : Permission.NotAllowed;
    628628      }
     
    631631    public Guid GetExperimentForJob(Guid jobId) {
    632632      using (var db = CreateContext()) {
    633         return db.Tasks.Single(j => j.TaskId == jobId).HiveExperimentId;
     633        return db.Tasks.Single(j => j.TaskId == jobId).JobId;
    634634      }
    635635    }
     
    745745        var usedCoresByUser = from job in db.Tasks
    746746                              where job.State == TaskState.Calculating
    747                               group job by job.HiveExperiment.OwnerUserId into g
     747                              group job by job.Job.OwnerUserId into g
    748748                              select new { UserId = g.Key, UsedCores = g.Count() };
    749749
     
    756756
    757757        var executionTimesByUser = from job in db.Tasks
    758                                    group job by job.HiveExperiment.OwnerUserId into g
     758                                   group job by job.Job.OwnerUserId into g
    759759                                   select new { UserId = g.Key, ExecutionTime = TimeSpan.FromMilliseconds(g.Select(x => x.ExecutionTimeMs).Sum()) };
    760760        foreach (var item in executionTimesByUser) {
     
    768768        var executionTimesFinishedJobs = from job in db.Tasks
    769769                                         where job.State == TaskState.Finished
    770                                          group job by job.HiveExperiment.OwnerUserId into g
     770                                         group job by job.Job.OwnerUserId into g
    771771                                         select new { UserId = g.Key, ExecutionTimeFinishedJobs = TimeSpan.FromMilliseconds(g.Select(x => x.ExecutionTimeMs).Sum()) };
    772772
     
    781781        var startToEndTimesFinishedJobs = from job in db.Tasks
    782782                                          where job.State == TaskState.Finished
    783                                           group job by job.HiveExperiment.OwnerUserId into g
     783                                          group job by job.Job.OwnerUserId into g
    784784                                          select new {
    785785                                            UserId = g.Key,
Note: See TracChangeset for help on using the changeset viewer.