Changeset 6000 for branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive/3.4/PluginUtil.cs
- Timestamp:
- 04/11/11 15:32:27 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive/3.4/PluginUtil.cs
r5958 r6000 24 24 using System.IO; 25 25 using System.Linq; 26 using System.ServiceModel; 26 27 using HeuristicLab.PluginInfrastructure; 27 28 … … 38 39 /// <param name="useLocalPlugins">If true, the plugins which are already online are ignored. All local plugins are uploaded, but only once.</param> 39 40 /// <returns></returns> 40 public static List<Guid> GetPluginDependencies(IHiveService service, IEnumerable<Plugin> onlinePlugins, List<Plugin> alreadyUploadedPlugins, IEnumerable<IPluginDescription> neededPlugins, bool useLocalPlugins) {41 public static List<Guid> GetPluginDependencies(IHiveService service, List<Plugin> onlinePlugins, List<Plugin> alreadyUploadedPlugins, IEnumerable<IPluginDescription> neededPlugins, bool useLocalPlugins) { 41 42 var pluginIds = new List<Guid>(); 42 43 foreach (var neededPlugin in neededPlugins) { 43 Plugin foundPlugin = alreadyUploadedPlugins. SingleOrDefault(p => p.Name == neededPlugin.Name && p.Version == neededPlugin.Version);44 Plugin foundPlugin = alreadyUploadedPlugins.FirstOrDefault(p => p.Name == neededPlugin.Name && p.Version == neededPlugin.Version); 44 45 if (foundPlugin == null) { 45 foundPlugin = onlinePlugins. SingleOrDefault(p => p.Name == neededPlugin.Name && p.Version == neededPlugin.Version);46 foundPlugin = onlinePlugins.FirstOrDefault(p => p.Name == neededPlugin.Name && p.Version == neededPlugin.Version); 46 47 if (useLocalPlugins || foundPlugin == null) { 47 48 Plugin p = CreatePlugin(neededPlugin, useLocalPlugins); 48 49 List<PluginData> pd = CreatePluginDatas(neededPlugin); 49 p.Id = service.AddPlugin(p, pd); 50 alreadyUploadedPlugins.Add(p); 51 pluginIds.Add(p.Id); 50 try { 51 p.Id = service.AddPlugin(p, pd); 52 alreadyUploadedPlugins.Add(p); 53 pluginIds.Add(p.Id); 54 } 55 catch (FaultException<PluginAlreadyExistsFault> fault) { 56 onlinePlugins.Add(service.GetPlugin(fault.Detail.Id)); 57 } 52 58 } else { 53 59 pluginIds.Add(foundPlugin.Id);
Note: See TracChangeset
for help on using the changeset viewer.