Changeset 5106 for branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive/3.4/HiveService.cs
- Timestamp:
- 12/14/10 16:52:55 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive/3.4/HiveService.cs
r5102 r5106 17 17 /// Implementation of the Hive service (interface <see cref="IHiveService"/>). 18 18 /// </summary> 19 [ServiceBehavior(InstanceContextMode =InstanceContextMode.PerCall)]19 [ServiceBehavior(InstanceContextMode = InstanceContextMode.PerCall)] 20 20 public class HiveService : IHiveService { 21 21 private DataAccess.IHiveDao dao { … … 37 37 public Guid AddJob(Job job, JobData jobData) { 38 38 using (trans.OpenTransaction()) { 39 job.UserId = auth.UserId; 40 job.DateCreated = DateTime.Now; 41 job.JobState = JobState.Waiting; 39 42 jobData.JobId = dao.AddJob(job); 43 jobData.LastUpdate = DateTime.Now; 40 44 dao.AddJobData(jobData); 41 45 return jobData.JobId; … … 46 50 using (trans.OpenTransaction()) { 47 51 job.ParentJobId = parentJobId; 52 jobData.LastUpdate = DateTime.Now; 48 53 return AddJob(job, jobData); 49 54 } … … 66 71 } 67 72 68 // formerly GetLastSerializedResult69 73 public JobData GetJobData(Guid jobId) { 70 74 return dao.GetJobData(jobId); 71 75 } 72 76 73 public Stream GetJobDataStreamed(Guid jobId) { 74 throw new NotImplementedException(); 75 } 76 77 public void UpdateJob(Job jobDto, JobData jobDataDto) { 78 using (trans.OpenTransaction()) { 79 dao.UpdateJob(jobDto); 80 dao.UpdateJobData(jobDataDto); 81 } 82 } 83 84 public void UpdateJobDataStreamed(Stream stream) { 85 using (trans.OpenTransaction()) { 86 throw new NotImplementedException(); 87 } 88 } 89 90 public void DeleteChildJobs(Guid jobId) { 91 using (trans.OpenTransaction()) { 92 var jobs = GetChildJobs(jobId, true, false); 77 public void UpdateJob(Job job, JobData jobData) { 78 using (trans.OpenTransaction()) { 79 jobData.LastUpdate = DateTime.Now; 80 dao.UpdateJob(job); 81 dao.UpdateJobData(jobData); 82 } 83 } 84 85 public void DeleteJob(Guid jobId) { 86 using (trans.OpenTransaction()) { 87 dao.DeleteJob(jobId); 88 } 89 } 90 91 public void DeleteChildJobs(Guid parentJobId) { 92 using (trans.OpenTransaction()) { 93 var jobs = GetChildJobs(parentJobId, true, false); 93 94 foreach (var job in jobs) { 94 95 dao.DeleteJob(job.Id); … … 144 145 using (trans.OpenTransaction()) { 145 146 hiveExperimentDto.UserId = auth.UserId; 147 hiveExperimentDto.DateCreated = DateTime.Now; 146 148 return dao.AddHiveExperiment(hiveExperimentDto); 147 149 } … … 157 159 using (trans.OpenTransaction()) { 158 160 HiveExperiment he = dao.GetHiveExperiment(hiveExperimentId); 159 if (he.RootJobId.HasValue) { 160 var jobs = GetChildJobs(he.RootJobId.Value, true, true); 161 foreach (var j in jobs) { 162 dao.DeleteJobData(j.Id); 163 dao.DeleteJob(j.Id); 164 } 165 } 166 dao.DeleteHiveExperiment(hiveExperimentId); 167 } 168 } 169 #endregion 170 161 dao.DeleteHiveExperiment(hiveExperimentId); // child jobs will be deleted by db-trigger 162 } 163 } 164 #endregion 165 171 166 #region Login Methods 172 167 public void Hello(Guid slaveId, string name, int cores, int memory) { … … 208 203 } 209 204 #endregion 210 205 211 206 #region Slave Methods 212 207 public Guid AddSlave(Slave slave) { … … 222 217 } 223 218 219 public Slave GetSlave(Guid slaveId) { 220 return dao.GetSlave(slaveId); 221 } 222 223 public SlaveGroup GetSlaveGroup(Guid slaveGroupId) { 224 return dao.GetSlaveGroup(slaveGroupId); 225 } 226 224 227 public IEnumerable<Slave> GetSlaves() { 225 228 return dao.GetSlaves(x => true); … … 230 233 } 231 234 235 public void UpdateSlave(Slave slave) { 236 using (trans.OpenTransaction()) { 237 dao.UpdateSlave(slave); 238 } 239 } 240 241 public void UpdateSlaveGroup(SlaveGroup slaveGroup) { 242 using (trans.OpenTransaction()) { 243 dao.UpdateSlaveGroup(slaveGroup); 244 } 245 } 246 247 public void DeleteSlave(Guid slaveId) { 248 using (trans.OpenTransaction()) { 249 dao.DeleteSlave(slaveId); 250 } 251 } 252 232 253 public void DeleteSlaveGroup(Guid slaveGroupId) { 233 254 using (trans.OpenTransaction()) { … … 236 257 } 237 258 238 public void AddResourceToGroup(Guid slaveGroupId, Resource resource) { 239 using (trans.OpenTransaction()) { 240 throw new NotImplementedException(); 241 } 242 } 243 244 public void RemoveResourceFromGroup(Guid clientGroupId, Guid resourceId) { 245 using (trans.OpenTransaction()) { 246 throw new NotImplementedException(); 247 } 248 } 249 250 public void UpdateSlave(Slave slave) { 251 using (trans.OpenTransaction()) { 252 dao.UpdateSlave(slave); 253 } 254 } 259 public void AddResourceToGroup(Guid slaveGroupId, Guid resourceId) { 260 using (trans.OpenTransaction()) { 261 var resource = dao.GetResource(resourceId); 262 resource.ParentResourceId = slaveGroupId; 263 dao.UpdateResource(resource); 264 } 265 } 266 267 public void RemoveResourceFromGroup(Guid slaveGroupId, Guid resourceId) { 268 using (trans.OpenTransaction()) { 269 var resource = dao.GetResource(resourceId); 270 resource.ParentResourceId = null; 271 dao.UpdateResource(resource); 272 } 273 } 274 255 275 #endregion 256 276
Note: See TracChangeset
for help on using the changeset viewer.