- Timestamp:
- 07/08/15 15:32:12 (9 years ago)
- Location:
- branches/HiveStatistics/sources
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HiveStatistics/sources
-
branches/HiveStatistics/sources/HeuristicLab.Clients.Hive/3.3/Util/PluginUtil.cs
r12012 r12689 26 26 using System.Security.Cryptography; 27 27 using System.ServiceModel; 28 using HeuristicLab.Core; 28 29 using HeuristicLab.PluginInfrastructure; 29 30 … … 39 40 /// <param name="neededPlugins">List of plugins which need to be uploaded</param> 40 41 /// <returns></returns> 41 public static List<Guid> GetPluginDependencies(IHiveService service, List<Plugin> onlinePlugins, List<Plugin> alreadyUploadedPlugins, IEnumerable<IPluginDescription> neededPlugins) { 42 public static List<Guid> GetPluginDependencies(IHiveService service, List<Plugin> onlinePlugins, List<Plugin> alreadyUploadedPlugins, 43 IEnumerable<IPluginDescription> neededPlugins) { 42 44 var pluginIds = new List<Guid>(); 43 45 Dictionary<IPluginDescription, byte[]> checksumsNeededPlugins = CalcChecksumsForPlugins(neededPlugins); … … 61 63 alreadyUploadedPlugins.Add(p); 62 64 pluginIds.Add(p.Id); 63 } 64 catch (FaultException<PluginAlreadyExistsFault> fault) { 65 } catch (FaultException<PluginAlreadyExistsFault> fault) { 65 66 onlinePlugins.Add(service.GetPlugin(fault.Detail.Id)); 66 67 } … … 79 80 } 80 81 81 public static Plugin CreatePlugin(IPluginDescription plugin) {82 return new Plugin() { Name = plugin.Name, Version = plugin.Version };83 }84 85 82 public static List<PluginData> CreatePluginDatas(IPluginDescription plugin) { 86 83 List<PluginData> pluginDatas = new List<PluginData>(); … … 96 93 } 97 94 98 public static void CollectDeclaringPlugins(List<IPluginDescription> plugins, IEnumerable<Type> usedTypes) { 95 public static List<IPluginDescription> GetPluginsForTask(IEnumerable<Type> usedTypes, object task) { 96 if (usedTypes.Any(x => typeof(IProgrammableItem).IsAssignableFrom(x))) { 97 //when a programmable item is used all plugins that are currently loaded need to be sent to Hive 98 return ApplicationManager.Manager.Plugins.ToList(); 99 } else { 100 return CollectDeclaringPlugins(usedTypes); 101 } 102 } 103 104 private static List<IPluginDescription> CollectDeclaringPlugins(IEnumerable<Type> usedTypes) { 105 List<IPluginDescription> plugins = new List<IPluginDescription>(); 99 106 foreach (Type type in usedTypes) { 100 107 var plugin = ApplicationManager.Manager.GetDeclaringPlugin(type); … … 104 111 } 105 112 } 113 return plugins; 106 114 } 107 115 108 p ublicstatic void CollectPluginDependencies(List<IPluginDescription> plugins, IPluginDescription plugin) {116 private static void CollectPluginDependencies(List<IPluginDescription> plugins, IPluginDescription plugin) { 109 117 if (plugin == null) return; 110 118 foreach (var dependency in plugin.Dependencies) {
Note: See TracChangeset
for help on using the changeset viewer.