- Timestamp:
- 09/08/11 14:37:52 (13 years ago)
- Location:
- branches/HeuristicLab.Hive-3.4/sources
- Files:
-
- 25 edited
- 2 moved
Legend:
- Unmodified
- Added
- Removed
-
branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.ExperimentManager/3.3/Views/HiveExperimentPermissionListView.cs
r6463 r6723 27 27 namespace HeuristicLab.Clients.Hive.ExperimentManager.Views { 28 28 [View("HiveExperimentPermissionList View")] 29 [Content(typeof(HiveItemCollection< HiveExperimentPermission>), false)]30 public partial class HiveExperimentPermissionListView : ItemCollectionView< HiveExperimentPermission> {29 [Content(typeof(HiveItemCollection<JobPermission>), false)] 30 public partial class HiveExperimentPermissionListView : ItemCollectionView<JobPermission> { 31 31 32 32 private Guid hiveExperimentId; … … 40 40 } 41 41 42 protected override HiveExperimentPermission CreateItem() {43 return new HiveExperimentPermission() { HiveExperimentId = this.hiveExperimentId };42 protected override JobPermission CreateItem() { 43 return new JobPermission() { JobId = this.hiveExperimentId }; 44 44 } 45 45 } -
branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.ExperimentManager/3.3/Views/HiveExperimentPermissionView.cs
r6479 r6723 25 25 26 26 namespace HeuristicLab.Clients.Hive.ExperimentManager.Views { 27 [View(" HiveExperimentPermission View")]28 [Content(typeof( HiveExperimentPermission), true)]27 [View("JobPermission View")] 28 [Content(typeof(JobPermission), true)] 29 29 public partial class HiveExperimentPermissionView : HiveItemView { 30 public new HiveExperimentPermission Content {31 get { return ( HiveExperimentPermission)base.Content; }30 public new JobPermission Content { 31 get { return (JobPermission)base.Content; } 32 32 set { base.Content = value; } 33 33 } -
branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive/3.3/HiveClient.cs
r6721 r6723 86 86 var oldExperiments = hiveExperiments ?? new ItemCollection<RefreshableHiveExperiment>(); 87 87 hiveExperiments = new HiveItemCollection<RefreshableHiveExperiment>(); 88 var experimentsLoaded = ServiceLocator.Instance.CallHiveService<IEnumerable< HiveExperiment>>(s => s.GetHiveExperiments());88 var experimentsLoaded = ServiceLocator.Instance.CallHiveService<IEnumerable<Job>>(s => s.GetHiveExperiments()); 89 89 90 90 foreach (var he in experimentsLoaded) { … … 141 141 HiveClient.Instance.UploadExperiment((RefreshableHiveExperiment)item, cancellationToken); 142 142 } 143 if (item is HiveExperimentPermission) {144 var hep = ( HiveExperimentPermission)item;143 if (item is JobPermission) { 144 var hep = (JobPermission)item; 145 145 hep.GrantedUserId = ServiceLocator.Instance.CallHiveService((s) => s.GetUserIdByUsername(hep.GrantedUserName)); 146 146 if (hep.GrantedUserId == Guid.Empty) { 147 147 throw new ArgumentException(string.Format("The user {0} was not found.", hep.GrantedUserName)); 148 148 } 149 ServiceLocator.Instance.CallHiveService((s) => s.GrantPermission(hep. HiveExperimentId, hep.GrantedUserId, hep.Permission));149 ServiceLocator.Instance.CallHiveService((s) => s.GrantPermission(hep.JobId, hep.GrantedUserId, hep.Permission)); 150 150 } 151 151 } else { 152 if (item is HiveExperiment)153 ServiceLocator.Instance.CallHiveService(s => s.UpdateHiveExperiment(( HiveExperiment)item));152 if (item is Job) 153 ServiceLocator.Instance.CallHiveService(s => s.UpdateHiveExperiment((Job)item)); 154 154 } 155 155 } … … 176 176 return; 177 177 178 if (item is HiveExperiment)178 if (item is Job) 179 179 ServiceLocator.Instance.CallHiveService(s => s.DeleteHiveExperiment(item.Id)); 180 180 if (item is RefreshableHiveExperiment) 181 181 ServiceLocator.Instance.CallHiveService(s => s.DeleteHiveExperiment(item.Id)); 182 if (item is HiveExperimentPermission) {183 var hep = ( HiveExperimentPermission)item;184 ServiceLocator.Instance.CallHiveService(s => s.RevokePermission(hep. HiveExperimentId, hep.GrantedUserId));182 if (item is JobPermission) { 183 var hep = (JobPermission)item; 184 ServiceLocator.Instance.CallHiveService(s => s.RevokePermission(hep.JobId, hep.GrantedUserId)); 185 185 } 186 186 item.Id = Guid.Empty; … … 258 258 } 259 259 260 // upload HiveExperiment261 refreshableHiveExperiment.Progress.Status = "Uploading HiveExperiment...";260 // upload Job 261 refreshableHiveExperiment.Progress.Status = "Uploading Job..."; 262 262 refreshableHiveExperiment.HiveExperiment.Id = ServiceLocator.Instance.CallHiveService((s) => s.AddHiveExperiment(refreshableHiveExperiment.HiveExperiment)); 263 263 bool isPrivileged = refreshableHiveExperiment.HiveExperiment.IsPrivileged; … … 365 365 cancellationToken.ThrowIfCancellationRequested(); 366 366 hiveJob.Job.PluginsNeededIds.Add(configPluginId); 367 hiveJob.Job. HiveExperimentId = hiveExperimentId;367 hiveJob.Job.JobId = hiveExperimentId; 368 368 hiveJob.Job.IsPrivileged = isPrivileged; 369 369 … … 506 506 } 507 507 508 public static HiveItemCollection< HiveExperimentPermission> GetHiveExperimentPermissions(Guid hiveExperimentId) {508 public static HiveItemCollection<JobPermission> GetHiveExperimentPermissions(Guid hiveExperimentId) { 509 509 return ServiceLocator.Instance.CallHiveService((service) => { 510 IEnumerable< HiveExperimentPermission> heps = service.GetHiveExperimentPermissions(hiveExperimentId);510 IEnumerable<JobPermission> heps = service.GetHiveExperimentPermissions(hiveExperimentId); 511 511 foreach (var hep in heps) { 512 512 hep.GrantedUserName = service.GetUsernameByUserId(hep.GrantedUserId); 513 513 } 514 return new HiveItemCollection< HiveExperimentPermission>(heps);514 return new HiveItemCollection<JobPermission>(heps); 515 515 }); 516 516 } -
branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive/3.3/RefreshableHiveExperiment.cs
r6721 r6723 35 35 private static object locker = new object(); 36 36 37 private HiveExperimenthiveExperiment;38 public HiveExperimentHiveExperiment {37 private Job hiveExperiment; 38 public Job HiveExperiment { 39 39 get { return hiveExperiment; } 40 40 set { … … 192 192 public RefreshableHiveExperiment() { 193 193 this.refreshAutomatically = true; 194 this.HiveExperiment = new HiveExperiment();194 this.HiveExperiment = new Job(); 195 195 this.log = new ThreadSafeLog(new Log()); 196 196 this.jobDownloader = new ConcurrentJobDownloader<ItemJob>(2, 2); … … 198 198 this.HiveJobs = new ItemCollection<HiveJob>(); 199 199 } 200 public RefreshableHiveExperiment( HiveExperimenthiveExperiment) {200 public RefreshableHiveExperiment(Job hiveExperiment) { 201 201 this.refreshAutomatically = true; 202 202 this.HiveExperiment = hiveExperiment; … … 350 350 #endregion 351 351 352 #region HiveExperimentEvents352 #region Job Events 353 353 private void RegisterHiveExperimentEvents() { 354 354 hiveExperiment.ToStringChanged += new EventHandler(OnToStringChanged); -
branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive/3.3/ServiceClients/HiveExperiment.cs
r6479 r6723 25 25 26 26 namespace HeuristicLab.Clients.Hive { 27 public partial class HiveExperiment: IDeepCloneable, IContent {27 public partial class Job : IDeepCloneable, IContent { 28 28 29 29 private bool isPrivileged; … … 34 34 35 35 #region Constructors and Cloning 36 public HiveExperiment() {36 public Job() { 37 37 this.ResourceNames = "HEAL"; 38 38 this.DateCreated = DateTime.Now; … … 40 40 } 41 41 42 protected HiveExperiment(HiveExperimentoriginal, Cloner cloner) {42 protected Job(Job original, Cloner cloner) { 43 43 cloner.RegisterClonedObject(original, this); 44 44 this.OwnerUserId = original.OwnerUserId; … … 53 53 } 54 54 public override IDeepCloneable Clone(Cloner cloner) { 55 return new HiveExperiment(this, cloner);55 return new Job(this, cloner); 56 56 } 57 57 #endregion -
branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive/3.3/ServiceClients/HiveExperimentPermission.cs
r6479 r6723 24 24 25 25 namespace HeuristicLab.Clients.Hive { 26 public partial class HiveExperimentPermission : IDeepCloneable, IContent {26 public partial class JobPermission : IDeepCloneable, IContent { 27 27 28 28 private string grantedUserName; … … 38 38 39 39 #region Constructors and Cloning 40 public HiveExperimentPermission() {40 public JobPermission() { 41 41 this.Permission = Permission.Read; 42 42 this.PropertyChanged += new PropertyChangedEventHandler(HiveExperimentPermission_PropertyChanged); 43 43 } 44 44 45 protected HiveExperimentPermission(HiveExperimentPermission original, Cloner cloner)45 protected JobPermission(JobPermission original, Cloner cloner) 46 46 : base(original, cloner) { 47 47 this.GrantedByUserId = original.GrantedByUserId; 48 48 this.GrantedUserId = original.GrantedUserId; 49 this. HiveExperimentId = original.HiveExperimentId;49 this.JobId = original.JobId; 50 50 this.Permission = original.Permission; 51 51 } 52 52 public override IDeepCloneable Clone(Cloner cloner) { 53 return new HiveExperimentPermission(this, cloner);53 return new JobPermission(this, cloner); 54 54 } 55 55 #endregion -
branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive/3.3/ServiceClients/HiveServiceClient.cs
r6721 r6723 20 20 [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Task))] 21 21 [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Downtime))] 22 [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive. HiveExperimentPermission))]22 [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.JobPermission))] 23 23 [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.PluginData))] 24 24 [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.NamedHiveItem))] 25 [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive. HiveExperiment))]25 [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Job))] 26 26 [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Plugin))] 27 27 [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Resource))] … … 281 281 282 282 [System.Runtime.Serialization.OptionalFieldAttribute()] 283 private System.Guid HiveExperimentIdField;284 285 [System.Runtime.Serialization.OptionalFieldAttribute()]286 283 private bool IsParentJobField; 287 284 288 285 [System.Runtime.Serialization.OptionalFieldAttribute()] 289 286 private bool IsPrivilegedField; 287 288 [System.Runtime.Serialization.OptionalFieldAttribute()] 289 private System.Guid JobIdField; 290 290 291 291 [System.Runtime.Serialization.OptionalFieldAttribute()] … … 328 328 329 329 [System.Runtime.Serialization.DataMemberAttribute()] 330 public System.Guid HiveExperimentId {331 get {332 return this.HiveExperimentIdField;333 }334 set {335 if ((this.HiveExperimentIdField.Equals(value) != true)) {336 this.HiveExperimentIdField = value;337 this.RaisePropertyChanged("HiveExperimentId");338 }339 }340 }341 342 [System.Runtime.Serialization.DataMemberAttribute()]343 330 public bool IsParentJob { 344 331 get { … … 367 354 368 355 [System.Runtime.Serialization.DataMemberAttribute()] 356 public System.Guid JobId { 357 get { 358 return this.JobIdField; 359 } 360 set { 361 if ((this.JobIdField.Equals(value) != true)) { 362 this.JobIdField = value; 363 this.RaisePropertyChanged("JobId"); 364 } 365 } 366 } 367 368 [System.Runtime.Serialization.DataMemberAttribute()] 369 369 public System.Nullable<System.DateTime> LastHeartbeat { 370 370 get { … … 524 524 [System.Diagnostics.DebuggerStepThroughAttribute()] 525 525 [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")] 526 [System.Runtime.Serialization.DataContractAttribute(Name = " HiveExperimentPermission", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]526 [System.Runtime.Serialization.DataContractAttribute(Name = "JobPermission", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")] 527 527 [System.SerializableAttribute()] 528 public partial class HiveExperimentPermission : HeuristicLab.Clients.Hive.HiveItem {528 public partial class JobPermission : HeuristicLab.Clients.Hive.HiveItem { 529 529 530 530 [System.Runtime.Serialization.OptionalFieldAttribute()] … … 535 535 536 536 [System.Runtime.Serialization.OptionalFieldAttribute()] 537 private System.Guid HiveExperimentIdField;537 private System.Guid JobIdField; 538 538 539 539 [System.Runtime.Serialization.OptionalFieldAttribute()] … … 567 567 568 568 [System.Runtime.Serialization.DataMemberAttribute()] 569 public System.Guid HiveExperimentId {570 get { 571 return this. HiveExperimentIdField;572 } 573 set { 574 if ((this. HiveExperimentIdField.Equals(value) != true)) {575 this. HiveExperimentIdField = value;576 this.RaisePropertyChanged(" HiveExperimentId");569 public System.Guid JobId { 570 get { 571 return this.JobIdField; 572 } 573 set { 574 if ((this.JobIdField.Equals(value) != true)) { 575 this.JobIdField = value; 576 this.RaisePropertyChanged("JobId"); 577 577 } 578 578 } … … 652 652 [System.Runtime.Serialization.DataContractAttribute(Name = "NamedHiveItem", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")] 653 653 [System.SerializableAttribute()] 654 [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive. HiveExperiment))]654 [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Job))] 655 655 [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Plugin))] 656 656 [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Resource))] … … 694 694 [System.Diagnostics.DebuggerStepThroughAttribute()] 695 695 [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")] 696 [System.Runtime.Serialization.DataContractAttribute(Name = " HiveExperiment", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]696 [System.Runtime.Serialization.DataContractAttribute(Name = "Job", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")] 697 697 [System.SerializableAttribute()] 698 public partial class HiveExperiment: HeuristicLab.Clients.Hive.NamedHiveItem {698 public partial class Job : HeuristicLab.Clients.Hive.NamedHiveItem { 699 699 700 700 [System.Runtime.Serialization.OptionalFieldAttribute()] … … 1648 1648 1649 1649 [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GetHiveExperiment", ReplyAction = "http://tempuri.org/IHiveService/GetHiveExperimentResponse")] 1650 HeuristicLab.Clients.Hive. HiveExperimentGetHiveExperiment(System.Guid id);1650 HeuristicLab.Clients.Hive.Job GetHiveExperiment(System.Guid id); 1651 1651 1652 1652 [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GetHiveExperiments", ReplyAction = "http://tempuri.org/IHiveService/GetHiveExperimentsResponse")] 1653 System.Collections.Generic.List<HeuristicLab.Clients.Hive. HiveExperiment> GetHiveExperiments();1653 System.Collections.Generic.List<HeuristicLab.Clients.Hive.Job> GetHiveExperiments(); 1654 1654 1655 1655 [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GetAllHiveExperiments", ReplyAction = "http://tempuri.org/IHiveService/GetAllHiveExperimentsResponse")] 1656 System.Collections.Generic.List<HeuristicLab.Clients.Hive. HiveExperiment> GetAllHiveExperiments();1656 System.Collections.Generic.List<HeuristicLab.Clients.Hive.Job> GetAllHiveExperiments(); 1657 1657 1658 1658 [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/AddHiveExperiment", ReplyAction = "http://tempuri.org/IHiveService/AddHiveExperimentResponse")] 1659 System.Guid AddHiveExperiment(HeuristicLab.Clients.Hive. HiveExperimenthiveExperimentDto);1659 System.Guid AddHiveExperiment(HeuristicLab.Clients.Hive.Job hiveExperimentDto); 1660 1660 1661 1661 [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/UpdateHiveExperiment", ReplyAction = "http://tempuri.org/IHiveService/UpdateHiveExperimentResponse")] 1662 void UpdateHiveExperiment(HeuristicLab.Clients.Hive. HiveExperimenthiveExperimentDto);1662 void UpdateHiveExperiment(HeuristicLab.Clients.Hive.Job hiveExperimentDto); 1663 1663 1664 1664 [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/DeleteHiveExperiment", ReplyAction = "http://tempuri.org/IHiveService/DeleteHiveExperimentResponse")] … … 1672 1672 1673 1673 [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GetHiveExperimentPermissions", ReplyAction = "http://tempuri.org/IHiveService/GetHiveExperimentPermissionsResponse")] 1674 System.Collections.Generic.List<HeuristicLab.Clients.Hive. HiveExperimentPermission> GetHiveExperimentPermissions(System.Guid hiveExperimentId);1674 System.Collections.Generic.List<HeuristicLab.Clients.Hive.JobPermission> GetHiveExperimentPermissions(System.Guid hiveExperimentId); 1675 1675 1676 1676 [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/IsAllowedPrivileged", ReplyAction = "http://tempuri.org/IHiveService/IsAllowedPrivilegedResponse")] … … 1874 1874 } 1875 1875 1876 public HeuristicLab.Clients.Hive. HiveExperimentGetHiveExperiment(System.Guid id) {1876 public HeuristicLab.Clients.Hive.Job GetHiveExperiment(System.Guid id) { 1877 1877 return base.Channel.GetHiveExperiment(id); 1878 1878 } 1879 1879 1880 public System.Collections.Generic.List<HeuristicLab.Clients.Hive. HiveExperiment> GetHiveExperiments() {1880 public System.Collections.Generic.List<HeuristicLab.Clients.Hive.Job> GetHiveExperiments() { 1881 1881 return base.Channel.GetHiveExperiments(); 1882 1882 } 1883 1883 1884 public System.Collections.Generic.List<HeuristicLab.Clients.Hive. HiveExperiment> GetAllHiveExperiments() {1884 public System.Collections.Generic.List<HeuristicLab.Clients.Hive.Job> GetAllHiveExperiments() { 1885 1885 return base.Channel.GetAllHiveExperiments(); 1886 1886 } 1887 1887 1888 public System.Guid AddHiveExperiment(HeuristicLab.Clients.Hive. HiveExperimenthiveExperimentDto) {1888 public System.Guid AddHiveExperiment(HeuristicLab.Clients.Hive.Job hiveExperimentDto) { 1889 1889 return base.Channel.AddHiveExperiment(hiveExperimentDto); 1890 1890 } 1891 1891 1892 public void UpdateHiveExperiment(HeuristicLab.Clients.Hive. HiveExperimenthiveExperimentDto) {1892 public void UpdateHiveExperiment(HeuristicLab.Clients.Hive.Job hiveExperimentDto) { 1893 1893 base.Channel.UpdateHiveExperiment(hiveExperimentDto); 1894 1894 } … … 1906 1906 } 1907 1907 1908 public System.Collections.Generic.List<HeuristicLab.Clients.Hive. HiveExperimentPermission> GetHiveExperimentPermissions(System.Guid hiveExperimentId) {1908 public System.Collections.Generic.List<HeuristicLab.Clients.Hive.JobPermission> GetHiveExperimentPermissions(System.Guid hiveExperimentId) { 1909 1909 return base.Channel.GetHiveExperimentPermissions(hiveExperimentId); 1910 1910 } -
branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive/3.3/ServiceClients/Task.cs
r6721 r6723 38 38 this.IsParentJob = original.IsParentJob; 39 39 this.FinishWhenChildJobsFinished = original.FinishWhenChildJobsFinished; 40 this. HiveExperimentId = original.HiveExperimentId;40 this.JobId = original.JobId; 41 41 this.IsPrivileged = original.IsPrivileged; 42 42 } -
branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive/3.3/Util/PluginUtil.cs
r6452 r6723 36 36 /// <param name="service">An active service-proxy</param> 37 37 /// <param name="onlinePlugins">List of plugins which are available online</param> 38 /// <param name="alreadyUploadedPlugins">List of plugins which have been uploaded from this HiveExperiment</param>38 /// <param name="alreadyUploadedPlugins">List of plugins which have been uploaded from this Job</param> 39 39 /// <param name="neededPlugins">List of plugins which need to be uploaded</param> 40 40 /// <returns></returns> -
branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.HiveEngine/3.3/HiveEngine.cs
r6721 r6723 73 73 } 74 74 75 // HiveExperimentcan't be storable, so RefreshableHiveExperiment can't be stored. But as previous runs are only informative it does not matter (only execution time on hive will be wrong because of that -> Todo)75 // Job can't be storable, so RefreshableHiveExperiment can't be stored. But as previous runs are only informative it does not matter (only execution time on hive will be wrong because of that -> Todo) 76 76 private ItemCollection<RefreshableHiveExperiment> hiveExperiments = new ItemCollection<RefreshableHiveExperiment>(); 77 77 public ItemCollection<RefreshableHiveExperiment> HiveExperiments { … … 296 296 private RefreshableHiveExperiment CreateHiveExperiment() { 297 297 lock (locker) { 298 var hiveExperiment = new HiveExperiment();298 var hiveExperiment = new Job(); 299 299 hiveExperiment.Name = "HiveEngine Run " + hiveExperiments.Count; 300 300 hiveExperiment.DateCreated = DateTime.Now; -
branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive.DataAccess/3.3/HiveDataContext.dbml
r6721 r6723 71 71 <Column Name="FinishWhenChildJobsFinished" Type="System.Boolean" DbType="Bit" CanBeNull="false" /> 72 72 <Column Name="Command" Type="global::HeuristicLab.Services.Hive.DataAccess.Command?" DbType="VarChar(30)" CanBeNull="true" /> 73 <Column Name=" HiveExperimentId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" CanBeNull="false" />73 <Column Name="JobId" Storage="_HiveExperimentId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" CanBeNull="false" /> 74 74 <Column Name="IsPrivileged" Type="System.Boolean" DbType="Bit" CanBeNull="false" /> 75 75 <Association Name="Task_AssignedResource" Member="AssignedResources" ThisKey="TaskId" OtherKey="TaskId" Type="AssignedResource" /> … … 79 79 <Association Name="Task_StateLog" Member="StateLogs" ThisKey="TaskId" OtherKey="TaskId" Type="StateLog" /> 80 80 <Association Name="Task_Task" Member="ParentJob" Storage="_Job1" ThisKey="ParentTaskId" OtherKey="TaskId" Type="Task" IsForeignKey="true" /> 81 <Association Name="HiveExperiment_Task" Member=" HiveExperiment" ThisKey="HiveExperimentId" OtherKey="HiveExperimentId" Type="HiveExperiment" IsForeignKey="true" />81 <Association Name="HiveExperiment_Task" Member="Job" Storage="_HiveExperiment" ThisKey="JobId" OtherKey="JobId" Type="Job" IsForeignKey="true" /> 82 82 </Type> 83 83 </Table> … … 94 94 </Type> 95 95 </Table> 96 <Table Name="dbo. HiveExperiment" Member="HiveExperiments">97 <Type Name=" HiveExperiment">98 <Column Name=" HiveExperimentId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" IsPrimaryKey="true" IsDbGenerated="true" CanBeNull="false" />96 <Table Name="dbo.Job" Member="Jobs"> 97 <Type Name="Job"> 98 <Column Name="JobId" Storage="_HiveExperimentId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" IsPrimaryKey="true" IsDbGenerated="true" CanBeNull="false" /> 99 99 <Column Name="Name" Type="System.String" DbType="VarChar(MAX)" CanBeNull="false" /> 100 100 <Column Name="Description" Type="System.String" DbType="VarChar(MAX)" CanBeNull="true" /> … … 104 104 <Column Name="LastAccessed" Type="System.DateTime" DbType="DateTime" CanBeNull="true" /> 105 105 <Column Name="IsHiveEngine" Type="System.Boolean" DbType="Bit" CanBeNull="false" /> 106 <Association Name="HiveExperiment_Task" Member="Tasks" Storage="_Jobs" ThisKey=" HiveExperimentId" OtherKey="HiveExperimentId" Type="Task" />107 <Association Name="HiveExperiment_HiveExperimentPermission" Member=" HiveExperimentPermissions" ThisKey="HiveExperimentId" OtherKey="HiveExperimentId" Type="HiveExperimentPermission" />106 <Association Name="HiveExperiment_Task" Member="Tasks" Storage="_Jobs" ThisKey="JobId" OtherKey="JobId" Type="Task" /> 107 <Association Name="HiveExperiment_HiveExperimentPermission" Member="JobPermissions" Storage="_HiveExperimentPermissions" ThisKey="JobId" OtherKey="JobId" Type="JobPermission" /> 108 108 </Type> 109 109 </Table> … … 138 138 </Type> 139 139 </Table> 140 <Table Name="dbo. HiveExperimentPermission" Member="HiveExperimentPermissions">141 <Type Name=" HiveExperimentPermission">142 <Column Name=" HiveExperimentId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" IsPrimaryKey="true" CanBeNull="false" />140 <Table Name="dbo.JobPermission" Member="JobPermissions"> 141 <Type Name="JobPermission"> 142 <Column Name="JobId" Storage="_HiveExperimentId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" IsPrimaryKey="true" CanBeNull="false" /> 143 143 <Column Name="GrantedUserId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" IsPrimaryKey="true" CanBeNull="false" /> 144 144 <Column Name="GrantedByUserId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" CanBeNull="false" /> 145 145 <Column Name="Permission" Type="global::HeuristicLab.Services.Hive.DataAccess.Permission" DbType="VarChar(15) NOT NULL" CanBeNull="false" /> 146 <Association Name="HiveExperiment_HiveExperimentPermission" Member=" HiveExperiment" ThisKey="HiveExperimentId" OtherKey="HiveExperimentId" Type="HiveExperiment" IsForeignKey="true" />146 <Association Name="HiveExperiment_HiveExperimentPermission" Member="Job" Storage="_HiveExperiment" ThisKey="JobId" OtherKey="JobId" Type="Job" IsForeignKey="true" /> 147 147 </Type> 148 148 </Table> -
branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive.DataAccess/3.3/HiveDataContext.dbml.layout
r6721 r6723 40 40 </classShape> 41 41 <classShape Id="e6f840cc-2968-4be1-b234-eef624ccacbb" absoluteBounds="4.125, 2.625, 2, 2.3478011067708326"> 42 <DataClassMoniker Name="/HiveDataContext/ HiveExperiment" />42 <DataClassMoniker Name="/HiveDataContext/Job" /> 43 43 <nestedChildShapes> 44 44 <elementListCompartment Id="0c65d4e1-256a-4a91-9a57-392f25e4de7f" absoluteBounds="4.1400000000000006, 3.0850000000000009, 1.9700000000000002, 1.7878011067708333" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" /> … … 116 116 </classShape> 117 117 <classShape Id="4d800dc9-1b18-469f-b02c-d4554757c5e1" absoluteBounds="1.75, 3.625, 2, 1.5785953776041666"> 118 <DataClassMoniker Name="/HiveDataContext/ HiveExperimentPermission" />118 <DataClassMoniker Name="/HiveDataContext/JobPermission" /> 119 119 <nestedChildShapes> 120 120 <elementListCompartment Id="dedd97d3-a9a2-45a2-9b95-d7366fb65a7f" absoluteBounds="1.765, 4.085, 1.9700000000000002, 1.0185953776041665" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" /> … … 129 129 </associationConnector> 130 130 <associationConnector edgePoints="[(4.125 : 4.29890055338542); (3.75 : 4.29890055338542)]" fixedFrom="NotFixed" fixedTo="NotFixed"> 131 <AssociationMoniker Name="/HiveDataContext/ HiveExperiment/HiveExperiment_HiveExperimentPermission" />131 <AssociationMoniker Name="/HiveDataContext/Job/HiveExperiment_HiveExperimentPermission" /> 132 132 <nodes> 133 133 <classShapeMoniker Id="e6f840cc-2968-4be1-b234-eef624ccacbb" /> … … 208 208 </associationConnector> 209 209 <associationConnector edgePoints="[(6.125 : 3.46715413411458); (6.5 : 3.46715413411458)]" fixedFrom="NotFixed" fixedTo="NotFixed"> 210 <AssociationMoniker Name="/HiveDataContext/ HiveExperiment/HiveExperiment_Task" />210 <AssociationMoniker Name="/HiveDataContext/Job/HiveExperiment_Task" /> 211 211 <nodes> 212 212 <classShapeMoniker Id="e6f840cc-2968-4be1-b234-eef624ccacbb" /> -
branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive.DataAccess/3.3/HiveDataContext.designer.cs
r6721 r6723 49 49 partial void UpdateDowntime(Downtime instance); 50 50 partial void DeleteDowntime(Downtime instance); 51 partial void Insert HiveExperiment(HiveExperimentinstance);52 partial void Update HiveExperiment(HiveExperimentinstance);53 partial void Delete HiveExperiment(HiveExperimentinstance);51 partial void InsertJob(Job instance); 52 partial void UpdateJob(Job instance); 53 partial void DeleteJob(Job instance); 54 54 partial void InsertTaskData(TaskData instance); 55 55 partial void UpdateTaskData(TaskData instance); … … 61 61 partial void UpdateStateLog(StateLog instance); 62 62 partial void DeleteStateLog(StateLog instance); 63 partial void Insert HiveExperimentPermission(HiveExperimentPermission instance);64 partial void Update HiveExperimentPermission(HiveExperimentPermission instance);65 partial void Delete HiveExperimentPermission(HiveExperimentPermission instance);63 partial void InsertJobPermission(JobPermission instance); 64 partial void UpdateJobPermission(JobPermission instance); 65 partial void DeleteJobPermission(JobPermission instance); 66 66 partial void InsertLifecycle(Lifecycle instance); 67 67 partial void UpdateLifecycle(Lifecycle instance); … … 159 159 } 160 160 161 public System.Data.Linq.Table< HiveExperiment> HiveExperiments162 { 163 get 164 { 165 return this.GetTable< HiveExperiment>();161 public System.Data.Linq.Table<Job> Jobs 162 { 163 get 164 { 165 return this.GetTable<Job>(); 166 166 } 167 167 } … … 191 191 } 192 192 193 public System.Data.Linq.Table< HiveExperimentPermission> HiveExperimentPermissions194 { 195 get 196 { 197 return this.GetTable< HiveExperimentPermission>();193 public System.Data.Linq.Table<JobPermission> JobPermissions 194 { 195 get 196 { 197 return this.GetTable<JobPermission>(); 198 198 } 199 199 } … … 1490 1490 private EntityRef<Task> _Job1; 1491 1491 1492 private EntityRef< HiveExperiment> _HiveExperiment;1492 private EntityRef<Job> _HiveExperiment; 1493 1493 1494 1494 #region Extensibility Method Definitions … … 1518 1518 partial void OnCommandChanging(global::HeuristicLab.Services.Hive.DataAccess.Command? value); 1519 1519 partial void OnCommandChanged(); 1520 partial void On HiveExperimentIdChanging(System.Guid value);1521 partial void On HiveExperimentIdChanged();1520 partial void OnJobIdChanging(System.Guid value); 1521 partial void OnJobIdChanged(); 1522 1522 partial void OnIsPrivilegedChanging(bool value); 1523 1523 partial void OnIsPrivilegedChanged(); … … 1532 1532 this._StateLogs = new EntitySet<StateLog>(new Action<StateLog>(this.attach_StateLogs), new Action<StateLog>(this.detach_StateLogs)); 1533 1533 this._Job1 = default(EntityRef<Task>); 1534 this._HiveExperiment = default(EntityRef< HiveExperiment>);1534 this._HiveExperiment = default(EntityRef<Job>); 1535 1535 OnCreated(); 1536 1536 } … … 1761 1761 1762 1762 [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_HiveExperimentId", DbType="UniqueIdentifier NOT NULL")] 1763 public System.Guid HiveExperimentId1763 public System.Guid JobId 1764 1764 { 1765 1765 get … … 1775 1775 throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException(); 1776 1776 } 1777 this.On HiveExperimentIdChanging(value);1777 this.OnJobIdChanging(value); 1778 1778 this.SendPropertyChanging(); 1779 1779 this._HiveExperimentId = value; 1780 this.SendPropertyChanged(" HiveExperimentId");1781 this.On HiveExperimentIdChanged();1780 this.SendPropertyChanged("JobId"); 1781 this.OnJobIdChanged(); 1782 1782 } 1783 1783 } … … 1919 1919 } 1920 1920 1921 [global::System.Data.Linq.Mapping.AssociationAttribute(Name="HiveExperiment_Task", Storage="_HiveExperiment", ThisKey=" HiveExperimentId", OtherKey="HiveExperimentId", IsForeignKey=true)]1922 public HiveExperiment HiveExperiment1921 [global::System.Data.Linq.Mapping.AssociationAttribute(Name="HiveExperiment_Task", Storage="_HiveExperiment", ThisKey="JobId", OtherKey="JobId", IsForeignKey=true)] 1922 public Job Job 1923 1923 { 1924 1924 get … … 1928 1928 set 1929 1929 { 1930 HiveExperimentpreviousValue = this._HiveExperiment.Entity;1930 Job previousValue = this._HiveExperiment.Entity; 1931 1931 if (((previousValue != value) 1932 1932 || (this._HiveExperiment.HasLoadedOrAssignedValue == false))) … … 1942 1942 { 1943 1943 value.Tasks.Add(this); 1944 this._HiveExperimentId = value. HiveExperimentId;1944 this._HiveExperimentId = value.JobId; 1945 1945 } 1946 1946 else … … 1948 1948 this._HiveExperimentId = default(System.Guid); 1949 1949 } 1950 this.SendPropertyChanged(" HiveExperiment");1950 this.SendPropertyChanged("Job"); 1951 1951 } 1952 1952 } … … 2269 2269 } 2270 2270 2271 [global::System.Data.Linq.Mapping.TableAttribute(Name="dbo. HiveExperiment")]2272 public partial class HiveExperiment: INotifyPropertyChanging, INotifyPropertyChanged2271 [global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.Job")] 2272 public partial class Job : INotifyPropertyChanging, INotifyPropertyChanged 2273 2273 { 2274 2274 … … 2293 2293 private EntitySet<Task> _Jobs; 2294 2294 2295 private EntitySet< HiveExperimentPermission> _HiveExperimentPermissions;2295 private EntitySet<JobPermission> _HiveExperimentPermissions; 2296 2296 2297 2297 #region Extensibility Method Definitions … … 2299 2299 partial void OnValidate(System.Data.Linq.ChangeAction action); 2300 2300 partial void OnCreated(); 2301 partial void On HiveExperimentIdChanging(System.Guid value);2302 partial void On HiveExperimentIdChanged();2301 partial void OnJobIdChanging(System.Guid value); 2302 partial void OnJobIdChanged(); 2303 2303 partial void OnNameChanging(string value); 2304 2304 partial void OnNameChanged(); … … 2317 2317 #endregion 2318 2318 2319 public HiveExperiment()2319 public Job() 2320 2320 { 2321 2321 this._Jobs = new EntitySet<Task>(new Action<Task>(this.attach_Jobs), new Action<Task>(this.detach_Jobs)); 2322 this._HiveExperimentPermissions = new EntitySet< HiveExperimentPermission>(new Action<HiveExperimentPermission>(this.attach_HiveExperimentPermissions), new Action<HiveExperimentPermission>(this.detach_HiveExperimentPermissions));2322 this._HiveExperimentPermissions = new EntitySet<JobPermission>(new Action<JobPermission>(this.attach_HiveExperimentPermissions), new Action<JobPermission>(this.detach_HiveExperimentPermissions)); 2323 2323 OnCreated(); 2324 2324 } 2325 2325 2326 2326 [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_HiveExperimentId", AutoSync=AutoSync.OnInsert, DbType="UniqueIdentifier NOT NULL", IsPrimaryKey=true, IsDbGenerated=true)] 2327 public System.Guid HiveExperimentId2327 public System.Guid JobId 2328 2328 { 2329 2329 get … … 2335 2335 if ((this._HiveExperimentId != value)) 2336 2336 { 2337 this.On HiveExperimentIdChanging(value);2337 this.OnJobIdChanging(value); 2338 2338 this.SendPropertyChanging(); 2339 2339 this._HiveExperimentId = value; 2340 this.SendPropertyChanged(" HiveExperimentId");2341 this.On HiveExperimentIdChanged();2340 this.SendPropertyChanged("JobId"); 2341 this.OnJobIdChanged(); 2342 2342 } 2343 2343 } … … 2484 2484 } 2485 2485 2486 [global::System.Data.Linq.Mapping.AssociationAttribute(Name="HiveExperiment_Task", Storage="_Jobs", ThisKey=" HiveExperimentId", OtherKey="HiveExperimentId")]2486 [global::System.Data.Linq.Mapping.AssociationAttribute(Name="HiveExperiment_Task", Storage="_Jobs", ThisKey="JobId", OtherKey="JobId")] 2487 2487 public EntitySet<Task> Tasks 2488 2488 { … … 2497 2497 } 2498 2498 2499 [global::System.Data.Linq.Mapping.AssociationAttribute(Name="HiveExperiment_HiveExperimentPermission", Storage="_HiveExperimentPermissions", ThisKey=" HiveExperimentId", OtherKey="HiveExperimentId")]2500 public EntitySet< HiveExperimentPermission> HiveExperimentPermissions2499 [global::System.Data.Linq.Mapping.AssociationAttribute(Name="HiveExperiment_HiveExperimentPermission", Storage="_HiveExperimentPermissions", ThisKey="JobId", OtherKey="JobId")] 2500 public EntitySet<JobPermission> JobPermissions 2501 2501 { 2502 2502 get … … 2533 2533 { 2534 2534 this.SendPropertyChanging(); 2535 entity. HiveExperiment= this;2535 entity.Job = this; 2536 2536 } 2537 2537 … … 2539 2539 { 2540 2540 this.SendPropertyChanging(); 2541 entity. HiveExperiment= null;2542 } 2543 2544 private void attach_HiveExperimentPermissions( HiveExperimentPermission entity)2541 entity.Job = null; 2542 } 2543 2544 private void attach_HiveExperimentPermissions(JobPermission entity) 2545 2545 { 2546 2546 this.SendPropertyChanging(); 2547 entity. HiveExperiment= this;2548 } 2549 2550 private void detach_HiveExperimentPermissions( HiveExperimentPermission entity)2547 entity.Job = this; 2548 } 2549 2550 private void detach_HiveExperimentPermissions(JobPermission entity) 2551 2551 { 2552 2552 this.SendPropertyChanging(); 2553 entity. HiveExperiment= null;2553 entity.Job = null; 2554 2554 } 2555 2555 } … … 3169 3169 } 3170 3170 3171 [global::System.Data.Linq.Mapping.TableAttribute(Name="dbo. HiveExperimentPermission")]3172 public partial class HiveExperimentPermission : INotifyPropertyChanging, INotifyPropertyChanged3171 [global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.JobPermission")] 3172 public partial class JobPermission : INotifyPropertyChanging, INotifyPropertyChanged 3173 3173 { 3174 3174 … … 3183 3183 private global::HeuristicLab.Services.Hive.DataAccess.Permission _Permission; 3184 3184 3185 private EntityRef< HiveExperiment> _HiveExperiment;3185 private EntityRef<Job> _HiveExperiment; 3186 3186 3187 3187 #region Extensibility Method Definitions … … 3189 3189 partial void OnValidate(System.Data.Linq.ChangeAction action); 3190 3190 partial void OnCreated(); 3191 partial void On HiveExperimentIdChanging(System.Guid value);3192 partial void On HiveExperimentIdChanged();3191 partial void OnJobIdChanging(System.Guid value); 3192 partial void OnJobIdChanged(); 3193 3193 partial void OnGrantedUserIdChanging(System.Guid value); 3194 3194 partial void OnGrantedUserIdChanged(); … … 3199 3199 #endregion 3200 3200 3201 public HiveExperimentPermission()3202 { 3203 this._HiveExperiment = default(EntityRef< HiveExperiment>);3201 public JobPermission() 3202 { 3203 this._HiveExperiment = default(EntityRef<Job>); 3204 3204 OnCreated(); 3205 3205 } 3206 3206 3207 3207 [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_HiveExperimentId", DbType="UniqueIdentifier NOT NULL", IsPrimaryKey=true)] 3208 public System.Guid HiveExperimentId3208 public System.Guid JobId 3209 3209 { 3210 3210 get … … 3220 3220 throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException(); 3221 3221 } 3222 this.On HiveExperimentIdChanging(value);3222 this.OnJobIdChanging(value); 3223 3223 this.SendPropertyChanging(); 3224 3224 this._HiveExperimentId = value; 3225 this.SendPropertyChanged(" HiveExperimentId");3226 this.On HiveExperimentIdChanged();3225 this.SendPropertyChanged("JobId"); 3226 this.OnJobIdChanged(); 3227 3227 } 3228 3228 } … … 3289 3289 } 3290 3290 3291 [global::System.Data.Linq.Mapping.AssociationAttribute(Name="HiveExperiment_HiveExperimentPermission", Storage="_HiveExperiment", ThisKey=" HiveExperimentId", OtherKey="HiveExperimentId", IsForeignKey=true)]3292 public HiveExperiment HiveExperiment3291 [global::System.Data.Linq.Mapping.AssociationAttribute(Name="HiveExperiment_HiveExperimentPermission", Storage="_HiveExperiment", ThisKey="JobId", OtherKey="JobId", IsForeignKey=true)] 3292 public Job Job 3293 3293 { 3294 3294 get … … 3298 3298 set 3299 3299 { 3300 HiveExperimentpreviousValue = this._HiveExperiment.Entity;3300 Job previousValue = this._HiveExperiment.Entity; 3301 3301 if (((previousValue != value) 3302 3302 || (this._HiveExperiment.HasLoadedOrAssignedValue == false))) … … 3306 3306 { 3307 3307 this._HiveExperiment.Entity = null; 3308 previousValue. HiveExperimentPermissions.Remove(this);3308 previousValue.JobPermissions.Remove(this); 3309 3309 } 3310 3310 this._HiveExperiment.Entity = value; 3311 3311 if ((value != null)) 3312 3312 { 3313 value. HiveExperimentPermissions.Add(this);3314 this._HiveExperimentId = value. HiveExperimentId;3313 value.JobPermissions.Add(this); 3314 this._HiveExperimentId = value.JobId; 3315 3315 } 3316 3316 else … … 3318 3318 this._HiveExperimentId = default(System.Guid); 3319 3319 } 3320 this.SendPropertyChanged(" HiveExperiment");3320 this.SendPropertyChanged("Job"); 3321 3321 } 3322 3322 } -
branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive.DataAccess/3.3/SQL Scripts/Initialize Hive Database.sql
r6721 r6723 4 4 SET ARITHABORT ON 5 5 CREATE TABLE [dbo].[AssignedResources]( 6 [ResourceId] UniqueIdentifier NOT NULL, 6 [ResourceId] UniqueIdentifier NOT NULL, 7 7 [TaskId] UniqueIdentifier NOT NULL, 8 8 CONSTRAINT [PK_dbo.ResourceIdTaskId] PRIMARY KEY ([ResourceId], [TaskId]) … … 54 54 [FinishWhenChildJobsFinished] Bit, 55 55 [Command] VarChar(30), 56 [ HiveExperimentId] UniqueIdentifier NOT NULL,56 [JobId] UniqueIdentifier NOT NULL, 57 57 [IsPrivileged] Bit, 58 58 CONSTRAINT [PK_dbo.Task] PRIMARY KEY ([TaskId]) … … 68 68 CONSTRAINT [PK_dbo.Downtime] PRIMARY KEY ([DowntimeId]) 69 69 ) 70 CREATE TABLE [dbo].[ HiveExperiment](71 [ HiveExperimentId] UniqueIdentifier NOT NULL,70 CREATE TABLE [dbo].[Job]( 71 [JobId] UniqueIdentifier NOT NULL, 72 72 [Name] VarChar(MAX), 73 73 [Description] VarChar(MAX), … … 77 77 [LastAccessed] DateTime, 78 78 [IsHiveEngine] Bit, 79 CONSTRAINT [PK_dbo. HiveExperiment] PRIMARY KEY ([HiveExperimentId])79 CONSTRAINT [PK_dbo.Job] PRIMARY KEY ([JobId]) 80 80 ) 81 81 CREATE TABLE [dbo].[TaskData]( … … 102 102 CONSTRAINT [PK_dbo.StateLog] PRIMARY KEY ([StateLogId]) 103 103 ) 104 CREATE TABLE [dbo].[ HiveExperimentPermission](105 [ HiveExperimentId] UniqueIdentifier NOT NULL,104 CREATE TABLE [dbo].[JobPermission]( 105 [JobId] UniqueIdentifier NOT NULL, 106 106 [GrantedUserId] UniqueIdentifier NOT NULL, 107 107 [GrantedByUserId] UniqueIdentifier NOT NULL, 108 108 [Permission] VarChar(15) NOT NULL, 109 CONSTRAINT [PK_dbo. HiveExperimentPermission] PRIMARY KEY ([HiveExperimentId], [GrantedUserId])109 CONSTRAINT [PK_dbo.JobPermission] PRIMARY KEY ([JobId], [GrantedUserId]) 110 110 ) 111 111 CREATE TABLE [Lifecycle]( … … 159 159 ADD CONSTRAINT [Task_Task] FOREIGN KEY ([ParentTaskId]) REFERENCES [dbo].[Task]([TaskId]) 160 160 ALTER TABLE [dbo].[Task] 161 ADD CONSTRAINT [ HiveExperiment_Job] FOREIGN KEY ([HiveExperimentId]) REFERENCES [dbo].[HiveExperiment]([HiveExperimentId])161 ADD CONSTRAINT [Job_Job] FOREIGN KEY ([JobId]) REFERENCES [dbo].[Job]([JobId]) 162 162 ALTER TABLE [dbo].[Downtime] 163 163 ADD CONSTRAINT [Resource_Downtime] FOREIGN KEY ([ResourceId]) REFERENCES [dbo].[Resource]([ResourceId]) … … 170 170 ALTER TABLE [dbo].[StateLog] 171 171 ADD CONSTRAINT [Resource_StateLog] FOREIGN KEY ([SlaveId]) REFERENCES [dbo].[Resource]([ResourceId]) 172 ALTER TABLE [dbo].[ HiveExperimentPermission]173 ADD CONSTRAINT [ HiveExperiment_HiveExperimentPermission] FOREIGN KEY ([HiveExperimentId]) REFERENCES [dbo].[HiveExperiment]([HiveExperimentId])172 ALTER TABLE [dbo].[JobPermission] 173 ADD CONSTRAINT [Job_JobPermission] FOREIGN KEY ([JobId]) REFERENCES [dbo].[Job]([JobId]) 174 174 ALTER TABLE [UserStatistics] 175 175 ADD CONSTRAINT [Statistics_UserStatistics] FOREIGN KEY ([StatisticsId]) REFERENCES [Statistics]([StatisticsId]) -
branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive.DataAccess/3.3/SQL Scripts/Prepare Hive Database.sql
r6721 r6723 74 74 ALTER TABLE dbo.Downtime WITH NOCHECK ADD CONSTRAINT [DF_Downtime_DowntimeId] DEFAULT (NEWSEQUENTIALID()) FOR DowntimeId; 75 75 76 ALTER TABLE dbo. HiveExperiment ALTER COLUMN HiveExperimentId ADD ROWGUIDCOL;77 ALTER TABLE dbo. HiveExperiment WITH NOCHECK ADD CONSTRAINT [DF_HiveExperiment_HiveExperimentId] DEFAULT (NEWSEQUENTIALID()) FOR HiveExperimentId;76 ALTER TABLE dbo.Job ALTER COLUMN JobId ADD ROWGUIDCOL; 77 ALTER TABLE dbo.Job WITH NOCHECK ADD CONSTRAINT [DF_Job_JobId] DEFAULT (NEWSEQUENTIALID()) FOR JobId; 78 78 79 79 ALTER TABLE dbo.StateLog ALTER COLUMN StateLogId ADD ROWGUIDCOL; 80 80 ALTER TABLE dbo.StateLog WITH NOCHECK ADD CONSTRAINT [DF_StateLog_StateLogId] DEFAULT (NEWSEQUENTIALID()) FOR StateLogId; 81 81 82 ALTER TABLE [dbo].[ HiveExperimentPermission] DROP CONSTRAINT [HiveExperiment_HiveExperimentPermission]83 ALTER TABLE [dbo].[ HiveExperimentPermission] WITH CHECK ADD CONSTRAINT [HiveExperiment_HiveExperimentPermission] FOREIGN KEY([HiveExperimentId])84 REFERENCES [dbo].[ HiveExperiment] ([HiveExperimentId])82 ALTER TABLE [dbo].[JobPermission] DROP CONSTRAINT [Job_JobPermission] 83 ALTER TABLE [dbo].[JobPermission] WITH CHECK ADD CONSTRAINT [Job_JobPermission] FOREIGN KEY([JobId]) 84 REFERENCES [dbo].[Job] ([JobId]) 85 85 ON UPDATE CASCADE 86 86 ON DELETE CASCADE … … 161 161 /* triggers */ 162 162 GO 163 /****** Object: Trigger [dbo].[tr_ HiveExperimentDeleteCascade] Script Date: 04/19/2011 16:31:53 ******/163 /****** Object: Trigger [dbo].[tr_JobDeleteCascade] Script Date: 04/19/2011 16:31:53 ******/ 164 164 SET ANSI_NULLS ON 165 165 GO … … 174 174 -- is not compatible with cascading deletes. 175 175 -- ============================================= 176 CREATE TRIGGER [dbo].[tr_ HiveExperimentDeleteCascade] ON [dbo].[HiveExperiment] INSTEAD OF DELETE AS176 CREATE TRIGGER [dbo].[tr_JobDeleteCascade] ON [dbo].[Job] INSTEAD OF DELETE AS 177 177 BEGIN 178 DELETE Task FROM deleted, Task WHERE deleted. HiveExperimentId = Task.HiveExperimentId179 DELETE HiveExperiment FROM deleted, HiveExperiment WHERE deleted.HiveExperimentId = HiveExperiment.HiveExperimentId178 DELETE Task FROM deleted, Task WHERE deleted.JobId = Task.JobId 179 DELETE Job FROM deleted, Job WHERE deleted.JobId = Job.JobId 180 180 END 181 181 GO … … 186 186 -- Description: Recursively deletes all child-jobs of a job when it is deleted. (Source: http://devio.wordpress.com/2008/05/23/recursive-delete-in-sql-server/) 187 187 -- ============================================= 188 CREATE TRIGGER [dbo].[tr_ JobDeleteCascade] ON [dbo].[Task] INSTEAD OF DELETE AS188 CREATE TRIGGER [dbo].[tr_TaskDeleteCascade] ON [dbo].[Task] INSTEAD OF DELETE AS 189 189 BEGIN 190 190 -- add statistics … … 197 197 FROM 198 198 deleted j, 199 HiveExperimenthe,199 Job he, 200 200 view_FirstState fs, 201 201 view_LastState ls 202 202 WHERE 203 he. HiveExperimentId = j.HiveExperimentId AND203 he.JobId = j.JobId AND 204 204 fs.TaskId = j.TaskId AND 205 205 ls.TaskId = j.TaskId -
branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive.DataAccess/3.3/SQL Scripts/Query Jobs.sql
r6721 r6723 16 16 ,j.[FinishWhenChildJobsFinished] 17 17 ,j.[ParentTaskId] 18 , he. HiveExperimentId18 , he.JobId 19 19 FROM 20 20 [HeuristicLab.Hive-3.3].[dbo].[Task] j 21 ,[HeuristicLab.Hive-3.3].[dbo].[ HiveExperiment] he21 ,[HeuristicLab.Hive-3.3].[dbo].[Job] he 22 22 ,[HeuristicLab.Authentication].dbo.aspnet_Users u 23 23 ,[HeuristicLab.Hive-3.3].dbo.TaskData jd 24 24 WHERE 25 j. HiveExperimentId = he.HiveExperimentId25 j.JobId = he.JobId 26 26 AND j.TaskId = jd.TaskId 27 27 AND he.OwnerUserId = u.UserId -
branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive.Tests/DaoTests.cs
r6721 r6723 44 44 IHiveDao dao = ServiceLocator.Instance.HiveDao; 45 45 46 DT. HiveExperiment he = new DT.HiveExperiment();46 DT.Job he = new DT.Job(); 47 47 he.DateCreated = DateTime.Now; 48 48 he.Name = "TestExperiment"; … … 55 55 job1.StateLog.Add(new DT.StateLog { State = DT.TaskState.Offline, DateTime = DateTime.Now }); 56 56 job1.Command = DT.Command.Pause; 57 job1. HiveExperimentId = he.Id;57 job1.JobId = he.Id; 58 58 job1.IsPrivileged = true; 59 59 … … 92 92 Assert.AreEqual(job1.StateLog.Count, job1loaded.StateLog.Count); 93 93 Assert.AreEqual(job1.Command, job1loaded.Command); 94 Assert.AreEqual(job1. HiveExperimentId, job1loaded.HiveExperimentId);94 Assert.AreEqual(job1.JobId, job1loaded.JobId); 95 95 Assert.AreEqual(job1.IsPrivileged, job1loaded.IsPrivileged); 96 96 Assert.IsTrue(Math.Abs((job1loaded.LastJobDataUpdate - jobData1.LastUpdate).TotalSeconds) < 1); … … 215 215 IHiveDao dao = ServiceLocator.Instance.HiveDao; 216 216 217 DT. HiveExperiment he = new DT.HiveExperiment();217 DT.Job he = new DT.Job(); 218 218 he.DateCreated = DateTime.Now; 219 219 he.Name = "TestExperiment"; … … 225 225 job.State = DT.TaskState.Offline; 226 226 job.StateLog.Add(new DT.StateLog { State = DT.TaskState.Offline, DateTime = DateTime.Now }); 227 job. HiveExperimentId = he.Id;227 job.JobId = he.Id; 228 228 job.Id = dao.AddJob(job); 229 229 230 DT. HiveExperimentPermission perm = new DT.HiveExperimentPermission();231 perm. HiveExperimentId = he.Id;230 DT.JobPermission perm = new DT.JobPermission(); 231 perm.JobId = he.Id; 232 232 perm.GrantedByUserId = he.OwnerUserId; 233 233 perm.GrantedUserId = Guid.NewGuid(); … … 235 235 dao.AddHiveExperimentPermission(perm); 236 236 237 DT. HiveExperimentheLoaded = dao.GetHiveExperiment(he.Id);237 DT.Job heLoaded = dao.GetHiveExperiment(he.Id); 238 238 Assert.AreEqual(he.Id, heLoaded.Id); 239 239 Assert.AreEqual(he.Name, heLoaded.Name); … … 245 245 Assert.AreEqual(job.Id, jobLoaded.Id); 246 246 Assert.AreEqual(job.State, jobLoaded.State); 247 Assert.AreEqual(job. HiveExperimentId, jobLoaded.HiveExperimentId);248 249 DT. HiveExperimentPermission permLoaded = dao.GetHiveExperimentPermission(he.Id, perm.GrantedUserId);250 Assert.AreEqual(perm. HiveExperimentId, permLoaded.HiveExperimentId);247 Assert.AreEqual(job.JobId, jobLoaded.JobId); 248 249 DT.JobPermission permLoaded = dao.GetHiveExperimentPermission(he.Id, perm.GrantedUserId); 250 Assert.AreEqual(perm.JobId, permLoaded.JobId); 251 251 Assert.AreEqual(perm.GrantedUserId, permLoaded.GrantedUserId); 252 252 Assert.AreEqual(perm.GrantedByUserId, permLoaded.GrantedByUserId); … … 256 256 Assert.AreEqual(null, dao.GetHiveExperiment(he.Id)); 257 257 Assert.AreEqual(null, dao.GetJob(job.Id)); 258 Assert.AreEqual(null, dao.GetHiveExperimentPermission(perm. HiveExperimentId, perm.GrantedUserId));258 Assert.AreEqual(null, dao.GetHiveExperimentPermission(perm.JobId, perm.GrantedUserId)); 259 259 260 260 } -
branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive.Tests/ServiceTests.cs
r6721 r6723 49 49 50 50 // create hive experiment 51 DT. HiveExperiment experiment = new DT.HiveExperiment() { Name = "TestExperiment", Description = "" };51 DT.Job experiment = new DT.Job() { Name = "TestExperiment", Description = "" }; 52 52 53 53 // create job … … 101 101 102 102 // add job 103 job. HiveExperimentId = experiment.Id;103 job.JobId = experiment.Id; 104 104 job.Id = service.AddJob(job, jobData, new List<Guid> { slave.Id }); 105 105 … … 112 112 Assert.AreEqual(DT.TaskState.Waiting, jobLoaded.State); 113 113 Assert.IsTrue(job.PluginsNeededIds.SequenceEqual(jobLoaded.PluginsNeededIds)); 114 Assert.AreEqual(job. HiveExperimentId, jobLoaded.HiveExperimentId);114 Assert.AreEqual(job.JobId, jobLoaded.JobId); 115 115 116 116 DT.TaskData jobDataLoaded = service.GetJobData(job.Id); … … 119 119 120 120 // test hive experiment 121 DT. HiveExperimentexperimentLoaded = service.GetHiveExperiment(experiment.Id);121 DT.Job experimentLoaded = service.GetHiveExperiment(experiment.Id); 122 122 Assert.AreEqual(experiment.Id, experimentLoaded.Id); 123 123 Assert.AreEqual(experiment.Name, experimentLoaded.Name); … … 201 201 202 202 // create hive experiment 203 DT. HiveExperiment experiment = new DT.HiveExperiment() { Name = "TestExperiment", Description = "" };203 DT.Job experiment = new DT.Job() { Name = "TestExperiment", Description = "" }; 204 204 205 205 // create parent job … … 244 244 245 245 // add parent job 246 parentJob. HiveExperimentId = experiment.Id;246 parentJob.JobId = experiment.Id; 247 247 parentJob.Id = service.AddJob(parentJob, parentJobData, new List<Guid> { slave.Id }); 248 248 249 249 // add child job 250 childJob. HiveExperimentId = experiment.Id;250 childJob.JobId = experiment.Id; 251 251 childJob.Id = service.AddChildJob(parentJob.Id, childJob, childJobData); 252 252 childJob.ParentTaskId = parentJob.Id; … … 255 255 var childJobLoaded = service.GetJob(childJob.Id); 256 256 Assert.AreEqual(childJob.ParentTaskId, childJobLoaded.ParentTaskId); 257 Assert.AreEqual(childJob. HiveExperimentId, childJobLoaded.HiveExperimentId);257 Assert.AreEqual(childJob.JobId, childJobLoaded.JobId); 258 258 Assert.AreEqual(DT.TaskState.Waiting, childJobLoaded.State); 259 259 Assert.AreEqual(false, childJobLoaded.FinishWhenChildJobsFinished); … … 262 262 // test parent job 263 263 var parentJobLoaded = service.GetJob(parentJob.Id); 264 Assert.AreEqual(parentJob. HiveExperimentId, parentJobLoaded.HiveExperimentId);264 Assert.AreEqual(parentJob.JobId, parentJobLoaded.JobId); 265 265 Assert.AreEqual(TaskState.Waiting, parentJobLoaded.State); 266 266 Assert.AreEqual(true, parentJobLoaded.FinishWhenChildJobsFinished); … … 304 304 305 305 // create hive experiment 306 DT. HiveExperiment e1 = new DT.HiveExperiment() { Name = "TestExperiment", Description = "" };306 DT.Job e1 = new DT.Job() { Name = "TestExperiment", Description = "" }; 307 307 e1.Id = service.AddHiveExperiment(e1); 308 308 -
branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive/3.3/Convert.cs
r6721 r6723 48 48 Command = Convert.ToDto(source.Command), 49 49 LastJobDataUpdate = (source.JobData == null ? DateTime.MinValue : source.JobData.LastUpdate), 50 HiveExperimentId = source.HiveExperimentId,50 JobId = source.JobId, 51 51 IsPrivileged = source.IsPrivileged 52 52 }; … … 76 76 target.Command = Convert.ToEntity(source.Command); 77 77 // RequiredPlugins are added by Dao 78 target. HiveExperimentId = source.HiveExperimentId;78 target.JobId = source.JobId; 79 79 target.IsPrivileged = source.IsPrivileged; 80 80 } … … 134 134 135 135 #region HiveExperiment 136 public static DT. HiveExperiment ToDto(DB.HiveExperimentsource) {137 if (source == null) return null; 138 return new DT. HiveExperiment { Id = source.HiveExperimentId, Description = source.Description, Name = source.Name, OwnerUserId = source.OwnerUserId, DateCreated = source.DateCreated, ResourceNames = source.ResourceIds, LastAccessed = source.LastAccessed };139 } 140 public static DB. HiveExperiment ToEntity(DT.HiveExperimentsource) {141 if (source == null) return null; 142 var entity = new DB. HiveExperiment(); ToEntity(source, entity);143 return entity; 144 } 145 public static void ToEntity(DT. HiveExperiment source, DB.HiveExperimenttarget) {146 if ((source != null) && (target != null)) { 147 target. HiveExperimentId = source.Id; target.Description = source.Description; target.Name = source.Name; target.OwnerUserId = source.OwnerUserId; target.DateCreated = source.DateCreated; target.ResourceIds = source.ResourceNames; target.LastAccessed = source.LastAccessed;136 public static DT.Job ToDto(DB.Job source) { 137 if (source == null) return null; 138 return new DT.Job { Id = source.JobId, Description = source.Description, Name = source.Name, OwnerUserId = source.OwnerUserId, DateCreated = source.DateCreated, ResourceNames = source.ResourceIds, LastAccessed = source.LastAccessed }; 139 } 140 public static DB.Job ToEntity(DT.Job source) { 141 if (source == null) return null; 142 var entity = new DB.Job(); ToEntity(source, entity); 143 return entity; 144 } 145 public static void ToEntity(DT.Job source, DB.Job target) { 146 if ((source != null) && (target != null)) { 147 target.JobId = source.Id; target.Description = source.Description; target.Name = source.Name; target.OwnerUserId = source.OwnerUserId; target.DateCreated = source.DateCreated; target.ResourceIds = source.ResourceNames; target.LastAccessed = source.LastAccessed; 148 148 } 149 149 } … … 151 151 152 152 #region HiveExperimentPermission 153 public static DT. HiveExperimentPermission ToDto(DB.HiveExperimentPermission source) {154 if (source == null) return null; 155 return new DT. HiveExperimentPermission { HiveExperimentId = source.HiveExperimentId, GrantedUserId = source.GrantedUserId, GrantedByUserId = source.GrantedByUserId, Permission = Convert.ToDto(source.Permission) };156 } 157 public static DB. HiveExperimentPermission ToEntity(DT.HiveExperimentPermission source) {158 if (source == null) return null; 159 var entity = new DB. HiveExperimentPermission(); ToEntity(source, entity);160 return entity; 161 } 162 public static void ToEntity(DT. HiveExperimentPermission source, DB.HiveExperimentPermission target) {163 if ((source != null) && (target != null)) { 164 target. HiveExperimentId = source.HiveExperimentId; target.GrantedUserId = source.GrantedUserId; target.GrantedByUserId = source.GrantedByUserId; target.Permission = Convert.ToEntity(source.Permission);153 public static DT.JobPermission ToDto(DB.JobPermission source) { 154 if (source == null) return null; 155 return new DT.JobPermission { JobId = source.JobId, GrantedUserId = source.GrantedUserId, GrantedByUserId = source.GrantedByUserId, Permission = Convert.ToDto(source.Permission) }; 156 } 157 public static DB.JobPermission ToEntity(DT.JobPermission source) { 158 if (source == null) return null; 159 var entity = new DB.JobPermission(); ToEntity(source, entity); 160 return entity; 161 } 162 public static void ToEntity(DT.JobPermission source, DB.JobPermission target) { 163 if ((source != null) && (target != null)) { 164 target.JobId = source.JobId; target.GrantedUserId = source.GrantedUserId; target.GrantedByUserId = source.GrantedByUserId; target.Permission = Convert.ToEntity(source.Permission); 165 165 } 166 166 } -
branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive/3.3/DataTransfer/Job.cs
r6717 r6723 26 26 [DataContract] 27 27 [Serializable] 28 public class HiveExperiment: NamedHiveItem {28 public class Job : NamedHiveItem { 29 29 [DataMember] 30 30 public Guid OwnerUserId { get; set; } … … 49 49 /* ================================== */ 50 50 51 public HiveExperiment() { }51 public Job() { } 52 52 53 53 public override string ToString() { -
branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive/3.3/DataTransfer/JobPermission.cs
r6717 r6723 26 26 [DataContract] 27 27 [Serializable] 28 public class HiveExperimentPermission : HiveItem {28 public class JobPermission : HiveItem { 29 29 // info: this class is derived from HiveItem to simplify handling on the client side, altough it does not have a Id. 30 30 [DataMember] 31 public Guid HiveExperimentId { get; set; }31 public Guid JobId { get; set; } 32 32 [DataMember] 33 33 public Guid GrantedUserId { get; set; } … … 37 37 public Permission Permission { get; set; } 38 38 39 public HiveExperimentPermission() { }39 public JobPermission() { } 40 40 } 41 41 } -
branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive/3.3/DataTransfer/Task.cs
r6721 r6723 43 43 public bool FinishWhenChildJobsFinished { get; set; } 44 44 [DataMember] 45 public Guid HiveExperimentId { get; set; }45 public Guid JobId { get; set; } 46 46 [DataMember] 47 47 public bool IsPrivileged { get; set; } -
branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive/3.3/HeuristicLab.Services.Hive-3.3.csproj
r6721 r6723 108 108 <Compile Include="DataTransfer\Downtime.cs" /> 109 109 <Compile Include="DataTransfer\Heartbeat.cs" /> 110 <Compile Include="DataTransfer\ HiveExperiment.cs" />111 <Compile Include="DataTransfer\ HiveExperimentPermission.cs" />110 <Compile Include="DataTransfer\Job.cs" /> 111 <Compile Include="DataTransfer\JobPermission.cs" /> 112 112 <Compile Include="DataTransfer\HiveItem.cs" /> 113 113 <Compile Include="DataTransfer\Task.cs" /> -
branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive/3.3/HiveDao.cs
r6721 r6723 231 231 232 232 #region HiveExperiment Methods 233 public DT. HiveExperimentGetHiveExperiment(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.HiveExperimentexp) {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) { 240 240 if (exp == null) 241 241 return null; 242 242 243 var jobs = db.Tasks.Where(j => j. HiveExperimentId == exp.Id);243 var jobs = db.Tasks.Where(j => j.JobId == exp.Id); 244 244 exp.JobCount = jobs.Count(); 245 245 exp.CalculatingCount = jobs.Count(j => j.State == TaskState.Calculating); … … 248 248 } 249 249 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. HiveExperimentdto) {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. HiveExperimentdto) {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)); 269 269 else DT.Convert.ToEntity(dto, entity); 270 270 db.SubmitChanges(); … … 274 274 public void DeleteHiveExperiment(Guid id) { 275 275 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 Methods284 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)); 308 308 else DT.Convert.ToEntity(dto, entity); 309 309 db.SubmitChanges(); … … 313 313 public void DeleteHiveExperimentPermission(Guid hiveExperimentId, Guid grantedUserId) { 314 314 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); 317 317 db.SubmitChanges(); 318 318 } … … 324 324 public void SetHiveExperimentPermission(Guid hiveExperimentId, Guid grantedByUserId, Guid grantedUserId, Permission permission) { 325 325 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); 327 327 if (hiveExperimentPermission != null) { 328 328 if (permission == Permission.NotAllowed) { 329 329 // not allowed, delete 330 db. HiveExperimentPermissions.DeleteOnSubmit(hiveExperimentPermission);330 db.JobPermissions.DeleteOnSubmit(hiveExperimentPermission); 331 331 } else { 332 332 // update … … 337 337 // insert 338 338 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); 341 341 } 342 342 } … … 621 621 public Permission GetPermissionForExperiment(Guid experimentId, Guid userId) { 622 622 using (var db = CreateContext()) { 623 HiveExperiment hiveExperiment = db.HiveExperiments.SingleOrDefault(x => x.HiveExperimentId == experimentId);623 Job hiveExperiment = db.Jobs.SingleOrDefault(x => x.JobId == experimentId); 624 624 if (hiveExperiment == null) return Permission.NotAllowed; 625 625 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); 627 627 return permission != null ? permission.Permission : Permission.NotAllowed; 628 628 } … … 631 631 public Guid GetExperimentForJob(Guid jobId) { 632 632 using (var db = CreateContext()) { 633 return db.Tasks.Single(j => j.TaskId == jobId). HiveExperimentId;633 return db.Tasks.Single(j => j.TaskId == jobId).JobId; 634 634 } 635 635 } … … 745 745 var usedCoresByUser = from job in db.Tasks 746 746 where job.State == TaskState.Calculating 747 group job by job. HiveExperiment.OwnerUserId into g747 group job by job.Job.OwnerUserId into g 748 748 select new { UserId = g.Key, UsedCores = g.Count() }; 749 749 … … 756 756 757 757 var executionTimesByUser = from job in db.Tasks 758 group job by job. HiveExperiment.OwnerUserId into g758 group job by job.Job.OwnerUserId into g 759 759 select new { UserId = g.Key, ExecutionTime = TimeSpan.FromMilliseconds(g.Select(x => x.ExecutionTimeMs).Sum()) }; 760 760 foreach (var item in executionTimesByUser) { … … 768 768 var executionTimesFinishedJobs = from job in db.Tasks 769 769 where job.State == TaskState.Finished 770 group job by job. HiveExperiment.OwnerUserId into g770 group job by job.Job.OwnerUserId into g 771 771 select new { UserId = g.Key, ExecutionTimeFinishedJobs = TimeSpan.FromMilliseconds(g.Select(x => x.ExecutionTimeMs).Sum()) }; 772 772 … … 781 781 var startToEndTimesFinishedJobs = from job in db.Tasks 782 782 where job.State == TaskState.Finished 783 group job by job. HiveExperiment.OwnerUserId into g783 group job by job.Job.OwnerUserId into g 784 784 select new { 785 785 UserId = g.Key, -
branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive/3.3/HiveService.cs
r6721 r6723 117 117 authen.AuthenticateForAnyRole(HiveRoles.Administrator, HiveRoles.Client); 118 118 author.AuthorizeForExperiment(experimentId, Permission.Read); 119 return dao.GetJobs(x => x. HiveExperimentId == experimentId).Select(x => new LightweightTask(x)).ToArray();119 return dao.GetJobs(x => x.JobId == experimentId).Select(x => new LightweightTask(x)).ToArray(); 120 120 } 121 121 … … 239 239 240 240 #region HiveExperiment Methods 241 public HiveExperimentGetHiveExperiment(Guid id) {241 public Job GetHiveExperiment(Guid id) { 242 242 authen.AuthenticateForAnyRole(HiveRoles.Administrator, HiveRoles.Client); 243 243 author.AuthorizeForExperiment(id, Permission.Read); 244 244 var hiveExperiment = dao.GetHiveExperiments(x => 245 x. HiveExperimentId == id246 && (x.OwnerUserId == userManager.CurrentUserId || x. HiveExperimentPermissions.Count(hep => hep.Permission != DA.Permission.NotAllowed && hep.GrantedUserId == userManager.CurrentUserId) > 0)245 x.JobId == id 246 && (x.OwnerUserId == userManager.CurrentUserId || x.JobPermissions.Count(hep => hep.Permission != DA.Permission.NotAllowed && hep.GrantedUserId == userManager.CurrentUserId) > 0) 247 247 ).FirstOrDefault(); 248 248 if (hiveExperiment != null) { … … 253 253 } 254 254 255 public IEnumerable< HiveExperiment> GetHiveExperiments() {256 authen.AuthenticateForAnyRole(HiveRoles.Administrator, HiveRoles.Client); 257 var hiveExperiments = dao.GetHiveExperiments(x => x.OwnerUserId == userManager.CurrentUserId || x. HiveExperimentPermissions.Count(hep => hep.Permission != DA.Permission.NotAllowed && hep.GrantedUserId == userManager.CurrentUserId) > 0);255 public IEnumerable<Job> GetHiveExperiments() { 256 authen.AuthenticateForAnyRole(HiveRoles.Administrator, HiveRoles.Client); 257 var hiveExperiments = dao.GetHiveExperiments(x => x.OwnerUserId == userManager.CurrentUserId || x.JobPermissions.Count(hep => hep.Permission != DA.Permission.NotAllowed && hep.GrantedUserId == userManager.CurrentUserId) > 0); 258 258 foreach (var he in hiveExperiments) { 259 259 author.AuthorizeForExperiment(he.Id, Permission.Read); … … 264 264 } 265 265 266 public IEnumerable< HiveExperiment> GetAllHiveExperiments() {266 public IEnumerable<Job> GetAllHiveExperiments() { 267 267 authen.AuthenticateForAnyRole(HiveRoles.Administrator); 268 268 var hiveExperiments = dao.GetHiveExperiments(x => true); … … 274 274 } 275 275 276 public Guid AddHiveExperiment( HiveExperimenthiveExperimentDto) {276 public Guid AddHiveExperiment(Job hiveExperimentDto) { 277 277 authen.AuthenticateForAnyRole(HiveRoles.Administrator, HiveRoles.Client); 278 278 return trans.UseTransaction(() => { … … 283 283 } 284 284 285 public void UpdateHiveExperiment( HiveExperimenthiveExperimentDto) {285 public void UpdateHiveExperiment(Job hiveExperimentDto) { 286 286 authen.AuthenticateForAnyRole(HiveRoles.Administrator, HiveRoles.Client); 287 287 author.AuthorizeForExperiment(hiveExperimentDto.Id, Permission.Full); … … 304 304 authen.AuthenticateForAnyRole(HiveRoles.Administrator, HiveRoles.Client); 305 305 trans.UseTransaction(() => { 306 HiveExperimenthe = dao.GetHiveExperiment(hiveExperimentId);306 Job he = dao.GetHiveExperiment(hiveExperimentId); 307 307 if (he == null) throw new FaultException<FaultReason>(new FaultReason("Could not find hiveExperiment with id " + hiveExperimentId)); 308 308 Permission perm = DT.Convert.ToDto(dao.GetPermissionForExperiment(he.Id, userManager.CurrentUserId)); … … 315 315 authen.AuthenticateForAnyRole(HiveRoles.Administrator, HiveRoles.Client); 316 316 trans.UseTransaction(() => { 317 HiveExperimenthe = dao.GetHiveExperiment(hiveExperimentId);317 Job he = dao.GetHiveExperiment(hiveExperimentId); 318 318 if (he == null) throw new FaultException<FaultReason>(new FaultReason("Could not find hiveExperiment with id " + hiveExperimentId)); 319 319 DA.Permission perm = dao.GetPermissionForExperiment(he.Id, userManager.CurrentUserId); … … 322 322 }); 323 323 } 324 public IEnumerable< HiveExperimentPermission> GetHiveExperimentPermissions(Guid hiveExperimentId) {324 public IEnumerable<JobPermission> GetHiveExperimentPermissions(Guid hiveExperimentId) { 325 325 authen.AuthenticateForAnyRole(HiveRoles.Administrator, HiveRoles.Client); 326 326 return trans.UseTransaction(() => { 327 327 DA.Permission currentUserPermission = dao.GetPermissionForExperiment(hiveExperimentId, userManager.CurrentUserId); 328 328 if (currentUserPermission != DA.Permission.Full) throw new FaultException<FaultReason>(new FaultReason("Not allowed to list permissions for this experiment")); 329 return dao.GetHiveExperimentPermissions(x => x. HiveExperimentId == hiveExperimentId);329 return dao.GetHiveExperimentPermissions(x => x.JobId == hiveExperimentId); 330 330 }); 331 331 } -
branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive/3.3/Interfaces/IHiveDao.cs
r6721 r6723 56 56 57 57 #region HiveExperiment Methods 58 DT. HiveExperimentGetHiveExperiment(Guid id);59 IEnumerable<DT. HiveExperiment> GetHiveExperiments(Expression<Func<HiveExperiment, bool>> predicate);60 Guid AddHiveExperiment(DT. HiveExperimentdto);61 void UpdateHiveExperiment(DT. HiveExperimentdto);58 DT.Job GetHiveExperiment(Guid id); 59 IEnumerable<DT.Job> GetHiveExperiments(Expression<Func<Job, bool>> predicate); 60 Guid AddHiveExperiment(DT.Job dto); 61 void UpdateHiveExperiment(DT.Job dto); 62 62 void DeleteHiveExperiment(Guid id); 63 63 #endregion 64 64 65 65 #region HiveExperimentPermission Methods 66 DT. HiveExperimentPermission GetHiveExperimentPermission(Guid hiveExperimentId, Guid grantedUserId);67 IEnumerable<DT. HiveExperimentPermission> GetHiveExperimentPermissions(Expression<Func<HiveExperimentPermission, bool>> predicate);68 void AddHiveExperimentPermission(DT. HiveExperimentPermission dto);69 void UpdateHiveExperimentPermission(DT. HiveExperimentPermission dto);66 DT.JobPermission GetHiveExperimentPermission(Guid hiveExperimentId, Guid grantedUserId); 67 IEnumerable<DT.JobPermission> GetHiveExperimentPermissions(Expression<Func<JobPermission, bool>> predicate); 68 void AddHiveExperimentPermission(DT.JobPermission dto); 69 void UpdateHiveExperimentPermission(DT.JobPermission dto); 70 70 void DeleteHiveExperimentPermission(Guid hiveExperimentId, Guid grantedUserId); 71 71 void SetHiveExperimentPermission(Guid hiveExperimentId, Guid grantedByUserId, Guid grantedUserId, Permission permission); -
branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive/3.3/ServiceContracts/IHiveService.cs
r6721 r6723 85 85 #region HiveExperiment Methods 86 86 [OperationContract] 87 HiveExperimentGetHiveExperiment(Guid id);87 Job GetHiveExperiment(Guid id); 88 88 89 89 /// <summary> … … 91 91 /// </summary> 92 92 [OperationContract] 93 IEnumerable< HiveExperiment> GetHiveExperiments();93 IEnumerable<Job> GetHiveExperiments(); 94 94 95 95 /// <summary> … … 98 98 /// <returns></returns> 99 99 [OperationContract] 100 IEnumerable< HiveExperiment> GetAllHiveExperiments();101 102 [OperationContract] 103 Guid AddHiveExperiment( HiveExperimenthiveExperimentDto);104 105 [OperationContract] 106 void UpdateHiveExperiment( HiveExperimenthiveExperimentDto);100 IEnumerable<Job> GetAllHiveExperiments(); 101 102 [OperationContract] 103 Guid AddHiveExperiment(Job hiveExperimentDto); 104 105 [OperationContract] 106 void UpdateHiveExperiment(Job hiveExperimentDto); 107 107 108 108 [OperationContract] … … 118 118 119 119 [OperationContract] 120 IEnumerable< HiveExperimentPermission> GetHiveExperimentPermissions(Guid hiveExperimentId);120 IEnumerable<JobPermission> GetHiveExperimentPermissions(Guid hiveExperimentId); 121 121 122 122 [OperationContract]
Note: See TracChangeset
for help on using the changeset viewer.