Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
05/29/09 13:42:05 (15 years ago)
Author:
svonolfe
Message:

Added assigned resources to job adapter (#372)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Hive.Server.ADODataAccess/3.2/JobAdapter.cs

    r1944 r1947  
    4242    private ManyToManyRelationHelper<
    4343      dsHiveServerTableAdapters.RequiredPluginsTableAdapter,
    44       dsHiveServer.RequiredPluginsRow> manyToManyRelationHelper = null;
     44      dsHiveServer.RequiredPluginsRow> pluginsManyToManyRelationHelper = null;
    4545
    4646    private ManyToManyRelationHelper<
    4747      dsHiveServerTableAdapters.RequiredPluginsTableAdapter,
    48       dsHiveServer.RequiredPluginsRow> ManyToManyRelationHelper {
    49       get {
    50         if (manyToManyRelationHelper == null) {
    51           manyToManyRelationHelper =
     48      dsHiveServer.RequiredPluginsRow> PluginsManyToManyRelationHelper {
     49      get {
     50        if (pluginsManyToManyRelationHelper == null) {
     51          pluginsManyToManyRelationHelper =
    5252            new ManyToManyRelationHelper<dsHiveServerTableAdapters.RequiredPluginsTableAdapter,
    5353              dsHiveServer.RequiredPluginsRow>(new RequiredPluginsAdapterWrapper(), 1);
    5454        }
    5555
    56         manyToManyRelationHelper.Session = Session as Session;
    57 
    58         return manyToManyRelationHelper;
     56        pluginsManyToManyRelationHelper.Session = Session as Session;
     57
     58        return pluginsManyToManyRelationHelper;
     59      }
     60    }
     61
     62    private ManyToManyRelationHelper<
     63      dsHiveServerTableAdapters.AssignedResourcesTableAdapter,
     64      dsHiveServer.AssignedResourcesRow> assignedManyToManyRelationHelper = null;
     65
     66    private ManyToManyRelationHelper<
     67      dsHiveServerTableAdapters.AssignedResourcesTableAdapter,
     68      dsHiveServer.AssignedResourcesRow> AssignedManyToManyRelationHelper {
     69      get {
     70        if (assignedManyToManyRelationHelper == null) {
     71          assignedManyToManyRelationHelper =
     72            new ManyToManyRelationHelper<dsHiveServerTableAdapters.AssignedResourcesTableAdapter,
     73              dsHiveServer.AssignedResourcesRow>(new AssignedResourcesAdapterWrapper(), 0);
     74        }
     75
     76        assignedManyToManyRelationHelper.Session = Session as Session;
     77
     78        return assignedManyToManyRelationHelper;
    5979      }
    6080    }
     
    95115
    96116        return pluginInfoAdapter;
     117      }
     118    }
     119
     120    private IProjectAdapter projectAdapter = null;
     121
     122    private IProjectAdapter ProjectAdapter {
     123      get {
     124        if (projectAdapter == null) {
     125          projectAdapter =
     126            this.Session.GetDataAdapter<Project, IProjectAdapter>();
     127        }
     128
     129        return projectAdapter;
    97130      }
    98131    }
     
    163196          job.MemoryNeeded = default(int);
    164197
     198        if (!row.IsProjectIdNull())
     199          job.Project = ProjectAdapter.GetById(
     200            row.ProjectId);
     201        else
     202          job.Project = null;
     203
    165204        ICollection<Guid> requiredPlugins =
    166           ManyToManyRelationHelper.GetRelationships(job.Id);
     205          PluginsManyToManyRelationHelper.GetRelationships(job.Id);
    167206       
    168207        job.PluginsNeeded.Clear();
     
    173212          job.PluginsNeeded.Add(pluginInfo);
    174213        }
     214
     215        job.AssignedResourceIds =
     216          new List<Guid>(
     217            AssignedManyToManyRelationHelper.GetRelationships(job.Id));
    175218
    176219        return job;
     
    234277
    235278        row.MemoryNeeded = job.MemoryNeeded;
     279
     280        if (job.Project != null)
     281          row.ProjectId = job.Project.Id;
     282        else
     283          row.SetProjectIdNull();
    236284      }
    237285
     
    303351
    304352    public ICollection<Job> GetJobsByProject(Guid projectId) {
    305       throw new NotImplementedException();
     353      return
     354         base.FindMultiple(
     355           delegate() {
     356             return Adapter.GetDataByProjectId(projectId);
     357           });
    306358    }
    307359
    308360    protected override void doUpdate(Job obj) {
     361      ProjectAdapter.Update(obj.Project);
     362     
    309363      base.doUpdate(obj);
    310364
     
    324378      }
    325379
    326       ManyToManyRelationHelper.UpdateRelationships(
     380      PluginsManyToManyRelationHelper.UpdateRelationships(
    327381        obj.Id, relationships);
     382
     383      AssignedManyToManyRelationHelper.UpdateRelationships(
     384        obj.Id, obj.AssignedResourceIds);
    328385    }
    329386
     
    343400
    344401          //delete all relationships
    345           ManyToManyRelationHelper.UpdateRelationships(job.Id,
     402          PluginsManyToManyRelationHelper.UpdateRelationships(job.Id,
    346403            new List<Guid>());
    347404
Note: See TracChangeset for help on using the changeset viewer.