Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
03/11/10 18:23:52 (15 years ago)
Author:
gkronber
Message:

Implemented deployment service on servdev.heuristiclab.com and changed all service references and configurations to point to the service address. Improved GUI of installation manager. Implemented user name authentication and authorization for the deployment service. #860 (Deployment server for plugin installation from web locations)

Location:
trunk/sources/HeuristicLab.PluginInfrastructure
Files:
19 added
15 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.PluginInfrastructure/Advanced/DeploymentService/RegenerateServiceClasses.cmd

    r2812 r3006  
    11#
    2 svcutil http://localhost:8731/Design_Time_Addresses/HeuristicLab.Services.Deployment/Update/mex http://localhost:8731/Design_Time_Addresses/HeuristicLab.Services.Deployment/Admin/mex  /language:C# /targetClientVersion:Version35 /out:DeploymentService /namespace:*,HeuristicLab.PluginInfrastructure.Advanced.DeploymentService /mergeConfig /config:../../app.config
     2svcutil http://servdev.heuristiclab.com/Deployment/Update.svc/mex http://servdev.heuristiclab.com/Deployment/Admin.svc/mex  /language:C# /targetClientVersion:Version35 /out:DeploymentService /namespace:*,HeuristicLab.PluginInfrastructure.Advanced.DeploymentService /mergeConfig /config:../../app.config
  • trunk/sources/HeuristicLab.PluginInfrastructure/Advanced/InstallationManager.cs

    r2922 r3006  
    2929using System.Reflection;
    3030using ICSharpCode.SharpZipLib.Zip;
     31using System.ServiceModel;
    3132
    3233namespace HeuristicLab.PluginInfrastructure.Advanced {
     
    129130    /// <param name="connectionString"></param>
    130131    /// <returns></returns>
    131     public IEnumerable<IPluginDescription> GetRemotePluginList(string connectionString) {
    132       using (var client = new DeploymentService.UpdateClient()) {
    133         return client.GetPlugins();
     132    public IEnumerable<IPluginDescription> GetRemotePluginList() {
     133      var client = DeploymentService.UpdateClientFactory.CreateClient();
     134      try {
     135        List<IPluginDescription> plugins = new List<IPluginDescription>(client.GetPlugins());
     136        client.Close();
     137        return plugins;
     138      }
     139      catch (FaultException) {
     140        client.Abort();
     141        return new IPluginDescription[] { };
    134142      }
    135143    }
     
    140148    /// <param name="connectionString"></param>
    141149    /// <returns></returns>
    142     public IEnumerable<DeploymentService.ProductDescription> GetRemoteProductList(string connectionString) {
    143       using (var client = new DeploymentService.UpdateClient()) {
    144         return client.GetProducts();
     150    public IEnumerable<DeploymentService.ProductDescription> GetRemoteProductList() {
     151      var client = DeploymentService.UpdateClientFactory.CreateClient();
     152      try {
     153        List<DeploymentService.ProductDescription> products = new List<DeploymentService.ProductDescription>(client.GetProducts());
     154        client.Close();
     155        return products;
     156      }
     157      catch (FaultException) {
     158        client.Abort();
     159        return new DeploymentService.ProductDescription[] { };
    145160      }
    146161    }
     
    151166    /// <param name="connectionString"></param>
    152167    /// <param name="pluginNames"></param>
    153     public void Install(string connectionString, IEnumerable<IPluginDescription> plugins) {
    154       using (var client = new DeploymentService.UpdateClient()) {
    155         var args = new PluginInfrastructureCancelEventArgs(plugins.Select(x => x.Name + " " + x.Version));
    156         OnPreInstall(args);
    157         foreach (DeploymentService.PluginDescription plugin in plugins) {
    158           byte[] zippedPackage = client.GetPlugin(plugin);
    159           Unpack(zippedPackage);
    160           OnInstalled(new PluginInfrastructureEventArgs(plugin));
     168    public void Install(IEnumerable<IPluginDescription> plugins) {
     169      var args = new PluginInfrastructureCancelEventArgs(plugins);
     170      OnPreInstall(args);
     171      if (!args.Cancel) {
     172        var client = DeploymentService.UpdateClientFactory.CreateClient();
     173        try {
     174          foreach (DeploymentService.PluginDescription plugin in plugins) {
     175            byte[] zippedPackage = client.GetPlugin(plugin);
     176            Unpack(zippedPackage);
     177            OnInstalled(new PluginInfrastructureEventArgs(plugin));
     178          }
     179          client.Close();
     180        }
     181        catch (FaultException) {
     182          client.Abort();
    161183        }
    162184      }
     
    167189    /// </summary>
    168190    /// <param name="pluginNames"></param>
    169     public void Update(string connectionString, IEnumerable<IPluginDescription> plugins) {
    170       PluginInfrastructureCancelEventArgs args = new PluginInfrastructureCancelEventArgs(plugins.Select(x => x.Name + " " + x.Version));
     191    public void Update(IEnumerable<IPluginDescription> plugins) {
     192      PluginInfrastructureCancelEventArgs args = new PluginInfrastructureCancelEventArgs(plugins);
    171193      OnPreUpdate(args);
    172194      if (!args.Cancel) {
    173         using (var client = new DeploymentService.UpdateClient()) {
     195        var client = DeploymentService.UpdateClientFactory.CreateClient();
     196        try {
    174197          foreach (DeploymentService.PluginDescription plugin in plugins) {
    175198            byte[] zippedPackage = client.GetPlugin(plugin);
     
    177200            OnUpdated(new PluginInfrastructureEventArgs(plugin));
    178201          }
     202          client.Close();
     203        }
     204        catch (FaultException) {
     205          client.Abort();
    179206        }
    180207      }
     
    189216                      from file in pluginToDelete.Files
    190217                      select Path.Combine(pluginDir, file.Name);
    191       var args = new PluginInfrastructureCancelEventArgs(fileNames);
     218      var args = new PluginInfrastructureCancelEventArgs(plugins);
    192219      OnPreDelete(args);
    193220      if (!args.Cancel) {
  • trunk/sources/HeuristicLab.PluginInfrastructure/Advanced/InstallationManagerConsole.cs

    r2922 r3006  
    5252    void installManager_PreUpdatePlugin(object sender, PluginInfrastructureCancelEventArgs e) {
    5353      Console.WriteLine("Following plugins are updated:");
    54       foreach (var info in e.Entities) {
     54      foreach (var info in e.Plugins) {
    5555        Console.WriteLine(e);
    5656      }
     
    6767    void installManager_PreRemovePlugin(object sender, PluginInfrastructureCancelEventArgs e) {
    6868      Console.WriteLine("Following files are deleted:");
    69       foreach (string fileName in e.Entities) {
    70         Console.WriteLine(fileName);
     69      foreach (var plugin in e.Plugins) {
     70        foreach (var file in plugin.Files)
     71          Console.WriteLine(file);
    7172      }
    7273      if (GetUserConfirmation()) e.Cancel = false;
  • trunk/sources/HeuristicLab.PluginInfrastructure/Advanced/InstallationManagerForm.Designer.cs

    r2922 r3006  
    2828      this.toolStripStatusLabel = new System.Windows.Forms.ToolStripStatusLabel();
    2929      this.removeButton = new System.Windows.Forms.Button();
    30       this.serverUrlLabel = new System.Windows.Forms.Label();
    31       this.serverUrlTextBox = new System.Windows.Forms.TextBox();
    32       this.refreshButton = new System.Windows.Forms.Button();
    3330      this.installButton = new System.Windows.Forms.Button();
    3431      this.tabControl = new System.Windows.Forms.TabControl();
     
    3936      this.logTabPage = new System.Windows.Forms.TabPage();
    4037      this.logTextBox = new System.Windows.Forms.TextBox();
     38      this.refreshButton = new System.Windows.Forms.Button();
     39      this.editConnectionButton = new System.Windows.Forms.Button();
    4140      this.statusStrip.SuspendLayout();
    4241      this.tabControl.SuspendLayout();
     
    8180      this.removeButton.Click += new System.EventHandler(this.removeButton_Click);
    8281      //
    83       // serverUrlLabel
    84       //
    85       this.serverUrlLabel.AutoSize = true;
    86       this.serverUrlLabel.Location = new System.Drawing.Point(9, 11);
    87       this.serverUrlLabel.Name = "serverUrlLabel";
    88       this.serverUrlLabel.Size = new System.Drawing.Size(73, 13);
    89       this.serverUrlLabel.TabIndex = 13;
    90       this.serverUrlLabel.Text = "Plugin Server:";
    91       //
    92       // serverUrlTextBox
    93       //
    94       this.serverUrlTextBox.Location = new System.Drawing.Point(88, 8);
    95       this.serverUrlTextBox.Name = "serverUrlTextBox";
    96       this.serverUrlTextBox.Size = new System.Drawing.Size(264, 20);
    97       this.serverUrlTextBox.TabIndex = 12;
    98       //
    99       // refreshButton
    100       //
    101       this.refreshButton.Location = new System.Drawing.Point(358, 6);
    102       this.refreshButton.Name = "refreshButton";
    103       this.refreshButton.Size = new System.Drawing.Size(75, 23);
    104       this.refreshButton.TabIndex = 11;
    105       this.refreshButton.Text = "Refresh";
    106       this.refreshButton.UseVisualStyleBackColor = true;
    107       this.refreshButton.Click += new System.EventHandler(this.refreshButton_Click);
    108       //
    10982      // installButton
    11083      //
     
    157130      // remotePluginsTabPage
    158131      //
    159       this.remotePluginsTabPage.Controls.Add(this.serverUrlLabel);
     132      this.remotePluginsTabPage.Controls.Add(this.editConnectionButton);
    160133      this.remotePluginsTabPage.Controls.Add(this.remotePluginInstaller);
    161       this.remotePluginsTabPage.Controls.Add(this.serverUrlTextBox);
    162134      this.remotePluginsTabPage.Controls.Add(this.refreshButton);
    163135      this.remotePluginsTabPage.Controls.Add(this.installButton);
     
    204176      this.logTextBox.Size = new System.Drawing.Size(598, 586);
    205177      this.logTextBox.TabIndex = 0;
     178      //
     179      // refreshButton
     180      //
     181      this.refreshButton.Location = new System.Drawing.Point(8, 6);
     182      this.refreshButton.Name = "refreshButton";
     183      this.refreshButton.Size = new System.Drawing.Size(75, 23);
     184      this.refreshButton.TabIndex = 11;
     185      this.refreshButton.Text = "Refresh";
     186      this.refreshButton.UseVisualStyleBackColor = true;
     187      this.refreshButton.Click += new System.EventHandler(this.refreshButton_Click);
     188      //
     189      // editConnectionButton
     190      //
     191      this.editConnectionButton.Location = new System.Drawing.Point(89, 6);
     192      this.editConnectionButton.Name = "editConnectionButton";
     193      this.editConnectionButton.Size = new System.Drawing.Size(108, 23);
     194      this.editConnectionButton.TabIndex = 16;
     195      this.editConnectionButton.Text = "Edit Connection...";
     196      this.editConnectionButton.UseVisualStyleBackColor = true;
     197      this.editConnectionButton.Click += new System.EventHandler(this.editConnectionButton_Click);
    206198      //
    207199      // InstallationManagerForm
     
    219211      this.localPluginsTabPage.ResumeLayout(false);
    220212      this.remotePluginsTabPage.ResumeLayout(false);
    221       this.remotePluginsTabPage.PerformLayout();
    222213      this.logTabPage.ResumeLayout(false);
    223214      this.logTabPage.PerformLayout();
     
    232223    private System.Windows.Forms.ToolStripProgressBar toolStripProgressBar;
    233224    private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabel;
    234     private System.Windows.Forms.Label serverUrlLabel;
    235     private System.Windows.Forms.TextBox serverUrlTextBox;
    236     private System.Windows.Forms.Button refreshButton;
    237225    private LocalPluginManager localPluginManager;
    238226    private RemotePluginInstaller remotePluginInstaller;
     
    244232    private System.Windows.Forms.TabPage logTabPage;
    245233    private System.Windows.Forms.TextBox logTextBox;
     234    private System.Windows.Forms.Button editConnectionButton;
     235    private System.Windows.Forms.Button refreshButton;
    246236  }
    247237}
  • trunk/sources/HeuristicLab.PluginInfrastructure/Advanced/InstallationManagerForm.cs

    r2922 r3006  
    1313  public partial class InstallationManagerForm : Form {
    1414    private class UpdateOrInstallPluginsBackgroundWorkerArgument {
    15       public string ConnectionString { get; set; }
    1615      public IEnumerable<IPluginDescription> PluginsToUpdate { get; set; }
    1716      public IEnumerable<IPluginDescription> PluginsToInstall { get; set; }
     
    5655      refreshLocalPluginsBackgroundWorker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(refreshLocalPluginsBackgroundWorker_RunWorkerCompleted);
    5756      #endregion
    58 
    59       // get default connection string
    60       using (var client = new DeploymentService.UpdateClient()) {
    61         serverUrlTextBox.Text = client.Endpoint.Address.ToString();
    62       }
    6357
    6458      installationManager = new InstallationManager(pluginDir);
     
    130124    void updateOrInstallPluginsBackgroundWorker_DoWork(object sender, DoWorkEventArgs e) {
    131125      UpdateOrInstallPluginsBackgroundWorkerArgument info = (UpdateOrInstallPluginsBackgroundWorkerArgument)e.Argument;
    132       installationManager.Install(info.ConnectionString, info.PluginsToInstall);
    133       installationManager.Update(info.ConnectionString, info.PluginsToUpdate);
     126      installationManager.Install(info.PluginsToInstall);
     127      installationManager.Update(info.PluginsToUpdate);
    134128    }
    135129    #endregion
     
    147141
    148142    void refreshServerPluginsBackgroundWorker_DoWork(object sender, DoWorkEventArgs e) {
    149       string connectionString = (string)e.Argument;
    150 
    151143      RefreshBackgroundWorkerResult result = new RefreshBackgroundWorkerResult();
    152       result.RemotePlugins = installationManager.GetRemotePluginList(connectionString);
    153       result.RemoteProducts = installationManager.GetRemoteProductList(connectionString);
     144      result.RemotePlugins = installationManager.GetRemotePluginList();
     145      result.RemoteProducts = installationManager.GetRemoteProductList();
    154146      e.Cancel = false;
    155147      e.Result = result;
     
    180172    #region installation manager event handlers
    181173    void installationManager_PreUpdatePlugin(object sender, PluginInfrastructureCancelEventArgs e) {
    182       if (ConfirmUpdateAction(e.Entities) == true) e.Cancel = false;
    183       else e.Cancel = true;
     174      if (e.Plugins.Count() > 0) {
     175        e.Cancel = ConfirmUpdateAction(e.Plugins) == false;
     176      }
    184177    }
    185178
    186179    void installationManager_PreRemovePlugin(object sender, PluginInfrastructureCancelEventArgs e) {
    187       if (ConfirmRemoveAction(e.Entities) == true) e.Cancel = false;
    188       else e.Cancel = true;
     180      if (e.Plugins.Count() > 0) {
     181        e.Cancel = ConfirmRemoveAction(e.Plugins) == false;
     182      }
    189183    }
    190184
    191185    void installationManager_PreInstallPlugin(object sender, PluginInfrastructureCancelEventArgs e) {
    192       if (e.Entities.Count() > 0)
    193         SetStatusStrip("Installing " + e.Entities.Aggregate((a, b) => a + Environment.NewLine + b));
     186      if (e.Plugins.Count() > 0)
     187        if (ConfirmInstallAction(e.Plugins) == true) {
     188          SetStatusStrip("Installing " + e.Plugins.Aggregate("", (a, b) => a.ToString() + "; " + b.ToString()));
     189          e.Cancel = false;
     190        } else {
     191          e.Cancel = true;
     192          SetStatusStrip("Install canceled");
     193        }
    194194    }
    195195
     
    239239      var pluginsToInstall = remotePluginInstaller.CheckedPlugins.Except(pluginsToUpdate);
    240240
    241       updateOrInstallInfo.ConnectionString = serverUrlTextBox.Text;
    242241      updateOrInstallInfo.PluginsToInstall = pluginsToInstall;
    243242      updateOrInstallInfo.PluginsToUpdate = pluginsToUpdate;
     
    255254
    256255    #region confirmation dialogs
    257     private bool ConfirmRemoveAction(IEnumerable<string> fileNames) {
     256    private bool ConfirmRemoveAction(IEnumerable<IPluginDescription> plugins) {
    258257      StringBuilder strBuilder = new StringBuilder();
    259258      strBuilder.AppendLine("Delete files:");
    260       foreach (var fileName in fileNames) {
    261         strBuilder.AppendLine(fileName);
     259      foreach (var plugin in plugins) {
     260        foreach (var file in plugin.Files) {
     261          strBuilder.AppendLine(file.ToString());
     262        }
    262263      }
    263264      return MessageBox.Show(strBuilder.ToString(), "Confirm Delete", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning) == DialogResult.OK;
    264265    }
    265266
    266     private bool ConfirmUpdateAction(IEnumerable<string> plugins) {
     267    private bool ConfirmUpdateAction(IEnumerable<IPluginDescription> plugins) {
    267268      StringBuilder strBuilder = new StringBuilder();
    268269      strBuilder.AppendLine("Update plugins:");
    269270      foreach (var plugin in plugins) {
    270         strBuilder.AppendLine(plugin);
     271        strBuilder.AppendLine(plugin.ToString());
    271272      }
    272273      return MessageBox.Show(strBuilder.ToString(), "Confirm Update", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning) == DialogResult.OK;
    273274    }
     275
     276    private bool ConfirmInstallAction(IEnumerable<IPluginDescription> plugins) {
     277      foreach (var plugin in plugins) {
     278        if (!string.IsNullOrEmpty(plugin.LicenseText)) {
     279          var licenseConfirmationBox = new LicenseConfirmationBox(plugin);
     280          if (licenseConfirmationBox.ShowDialog() != DialogResult.OK)
     281            return false;
     282        }
     283      }
     284      return true;
     285    }
     286
    274287
    275288    #endregion
     
    306319      toolStripProgressBar.Visible = true;
    307320      DisableControls();
    308       refreshServerPluginsBackgroundWorker.RunWorkerAsync(serverUrlTextBox.Text);
     321      refreshServerPluginsBackgroundWorker.RunWorkerAsync();
    309322    }
    310323
     
    320333      //ClearPluginsList(remotePluginsListView);
    321334      refreshButton.Enabled = true;
    322       serverUrlTextBox.Enabled = true;
    323335      toolStripProgressBar.Visible = false;
    324336      Cursor = Cursors.Default;
     
    327339    private void UpdateControlsConnected() {
    328340      refreshButton.Enabled = true;
    329       serverUrlTextBox.Enabled = true;
    330341      toolStripProgressBar.Visible = false;
    331342      Cursor = Cursors.Default;
     
    345356      installButton.Enabled = remotePluginInstaller.CheckedPlugins.Count() > 0;
    346357    }
     358
     359    private void editConnectionButton_Click(object sender, EventArgs e) {
     360      (new ConnectionSetupView()).ShowInForm();
     361    }
    347362  }
    348363}
  • trunk/sources/HeuristicLab.PluginInfrastructure/Advanced/LocalPluginManager.Designer.cs

    r2922 r3006  
    5757      this.localPluginsListView.UseCompatibleStateImageBehavior = false;
    5858      this.localPluginsListView.View = System.Windows.Forms.View.Details;
     59      this.localPluginsListView.ItemActivate += new System.EventHandler(this.localPluginsListView_ItemActivate);
    5960      this.localPluginsListView.ItemChecked += new System.Windows.Forms.ItemCheckedEventHandler(this.pluginsListView_ItemChecked);
    6061      //
  • trunk/sources/HeuristicLab.PluginInfrastructure/Advanced/LocalPluginManager.cs

    r2922 r3006  
    9292      if (ItemChecked != null) ItemChecked(this, e);
    9393    }
     94
     95    private void localPluginsListView_ItemActivate(object sender, EventArgs e) {
     96      if (localPluginsListView.SelectedItems.Count > 0) {
     97        var plugin = (PluginDescription)localPluginsListView.SelectedItems[0].Tag;
     98        PluginView pluginView = new PluginView(plugin);
     99        pluginView.ShowInForm();
     100      }
     101    }
    94102  }
    95103}
  • trunk/sources/HeuristicLab.PluginInfrastructure/HeuristicLab.PluginInfrastructure.csproj

    r2922 r3006  
    9393  </ItemGroup>
    9494  <ItemGroup>
     95    <Compile Include="Advanced\ConnectionSetupView.cs">
     96      <SubType>UserControl</SubType>
     97    </Compile>
     98    <Compile Include="Advanced\ConnectionSetupView.Designer.cs">
     99      <DependentUpon>ConnectionSetupView.cs</DependentUpon>
     100    </Compile>
     101    <Compile Include="Advanced\DeploymentService\AdminClientFactory.cs" />
    95102    <Compile Include="Advanced\DeploymentService\DeploymentService.cs" />
     103    <Compile Include="Advanced\DeploymentService\UpdateClientFactory.cs" />
    96104    <Compile Include="Advanced\InstallationManagerConsole.cs" />
    97105    <Compile Include="Advanced\InstallationManager.cs" />
     
    108116      <SubType>Code</SubType>
    109117    </Compile>
     118    <Compile Include="Advanced\LicenseConfirmationBox.cs">
     119      <SubType>Form</SubType>
     120    </Compile>
     121    <Compile Include="Advanced\LicenseConfirmationBox.Designer.cs">
     122      <DependentUpon>LicenseConfirmationBox.cs</DependentUpon>
     123    </Compile>
     124    <Compile Include="Advanced\LicenseView.cs">
     125      <SubType>UserControl</SubType>
     126    </Compile>
     127    <Compile Include="Advanced\LicenseView.Designer.cs">
     128      <DependentUpon>LicenseView.cs</DependentUpon>
     129    </Compile>
    110130    <Compile Include="Advanced\LocalPluginManager.cs">
    111131      <SubType>UserControl</SubType>
     
    113133    <Compile Include="Advanced\LocalPluginManager.Designer.cs">
    114134      <DependentUpon>LocalPluginManager.cs</DependentUpon>
     135    </Compile>
     136    <Compile Include="Advanced\InstallationManagerControl.cs">
     137      <SubType>UserControl</SubType>
     138    </Compile>
     139    <Compile Include="Advanced\InstallationManagerControl.Designer.cs">
     140      <DependentUpon>InstallationManagerControl.cs</DependentUpon>
     141    </Compile>
     142    <Compile Include="Advanced\PluginView.cs">
     143      <SubType>UserControl</SubType>
     144    </Compile>
     145    <Compile Include="Advanced\PluginView.Designer.cs">
     146      <DependentUpon>PluginView.cs</DependentUpon>
    115147    </Compile>
    116148    <Compile Include="Advanced\RemotePluginInstaller.cs">
     
    221253    <Content Include="Resources\List.gif" />
    222254    <Content Include="Resources\Logo_white.gif" />
     255    <EmbeddedResource Include="Advanced\ConnectionSetupView.resx">
     256      <DependentUpon>ConnectionSetupView.cs</DependentUpon>
     257    </EmbeddedResource>
     258    <EmbeddedResource Include="Advanced\DeploymentService\servdev.cer" />
     259    <EmbeddedResource Include="Advanced\LicenseConfirmationBox.resx">
     260      <DependentUpon>LicenseConfirmationBox.cs</DependentUpon>
     261    </EmbeddedResource>
     262    <EmbeddedResource Include="Advanced\LicenseView.resx">
     263      <DependentUpon>LicenseView.cs</DependentUpon>
     264    </EmbeddedResource>
     265    <EmbeddedResource Include="Advanced\PluginView.resx">
     266      <DependentUpon>PluginView.cs</DependentUpon>
     267    </EmbeddedResource>
    223268    <None Include="Resources\VS2008ImageLibrary_Actions_Delete.png" />
    224269    <None Include="Resources\VS2008ImageLibrary_CommonElements_Actions_Remove.png" />
    225270    <Content Include="Resources\VS2008ImageLibrary_CommonElements_Objects_Arrow_Down.png" />
     271    <None Include="Resources\VS2008ImageLibrary_Objects_File.png" />
     272    <None Include="Resources\VS2008ImageLibrary_Objects_Document.png" />
    226273    <None Include="Resources\VS2008ImageLibrary_Objects_Internet.png" />
    227274    <None Include="Resources\VS2008ImageLibrary_Objects_Install.png" />
  • trunk/sources/HeuristicLab.PluginInfrastructure/Manager/PluginFile.cs

    r2790 r3006  
    4747      this.type = type;
    4848    }
     49
     50    public override string ToString() {
     51      return name;
     52    }
    4953  }
    5054}
  • trunk/sources/HeuristicLab.PluginInfrastructure/Manager/PluginInfrastructureCancelEventArgs.cs

    r2922 r3006  
    2929  [Serializable]
    3030  internal sealed class PluginInfrastructureCancelEventArgs : CancelEventArgs {
    31     internal IEnumerable<string> Entities { get; private set; }
    32     internal PluginInfrastructureCancelEventArgs(IEnumerable<string> entities)
     31    internal IEnumerable<IPluginDescription> Plugins { get; private set; }
     32    internal PluginInfrastructureCancelEventArgs(IEnumerable<IPluginDescription> plugins)
    3333      : base() {
    34       this.Entities = entities;
     34      this.Plugins = plugins;
    3535    }
    3636  }
  • trunk/sources/HeuristicLab.PluginInfrastructure/Properties/Settings.Designer.cs

    r2597 r3006  
    4242        }
    4343       
    44         [global::System.Configuration.ApplicationScopedSettingAttribute()]
     44        [global::System.Configuration.UserScopedSettingAttribute()]
    4545        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
    46         [global::System.Configuration.DefaultSettingValueAttribute("<?xml version=\"1.0\" encoding=\"utf-16\"?>\r\n<ArrayOfString xmlns:xsi=\"http://www.w3." +
    47             "org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\">\r\n  <s" +
    48             "tring>http://localhost:59253/UpdateLocation.svc</string>\r\n</ArrayOfString>")]
    49         public global::System.Collections.Specialized.StringCollection UpdateLocations {
     46        [global::System.Configuration.DefaultSettingValueAttribute("http://servdev.heuristiclab.com/Deployment/Update.svc")]
     47        public string UpdateLocation {
    5048            get {
    51                 return ((global::System.Collections.Specialized.StringCollection)(this["UpdateLocations"]));
     49                return ((string)(this["UpdateLocation"]));
     50            }
     51            set {
     52                this["UpdateLocation"] = value;
     53            }
     54        }
     55       
     56        [global::System.Configuration.UserScopedSettingAttribute()]
     57        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     58        [global::System.Configuration.DefaultSettingValueAttribute("")]
     59        public string UpdateLocationUserName {
     60            get {
     61                return ((string)(this["UpdateLocationUserName"]));
     62            }
     63            set {
     64                this["UpdateLocationUserName"] = value;
     65            }
     66        }
     67       
     68        [global::System.Configuration.UserScopedSettingAttribute()]
     69        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     70        [global::System.Configuration.DefaultSettingValueAttribute("")]
     71        public string UpdateLocationPassword {
     72            get {
     73                return ((string)(this["UpdateLocationPassword"]));
     74            }
     75            set {
     76                this["UpdateLocationPassword"] = value;
     77            }
     78        }
     79       
     80        [global::System.Configuration.UserScopedSettingAttribute()]
     81        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     82        [global::System.Configuration.DefaultSettingValueAttribute("http://servdev.heuristiclab.com/Deployment/Admin.svc")]
     83        public string UpdateLocationAdministrationAddress {
     84            get {
     85                return ((string)(this["UpdateLocationAdministrationAddress"]));
     86            }
     87            set {
     88                this["UpdateLocationAdministrationAddress"] = value;
    5289            }
    5390        }
  • trunk/sources/HeuristicLab.PluginInfrastructure/Properties/Settings.settings

    r2597 r3006  
    99      <Value Profile="(Default)">-</Value>
    1010    </Setting>
    11     <Setting Name="UpdateLocations" Type="System.Collections.Specialized.StringCollection" Scope="Application">
    12       <Value Profile="(Default)">&lt;?xml version="1.0" encoding="utf-16"?&gt;
    13 &lt;ArrayOfString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"&gt;
    14   &lt;string&gt;http://localhost:59253/UpdateLocation.svc&lt;/string&gt;
    15 &lt;/ArrayOfString&gt;</Value>
     11    <Setting Name="UpdateLocation" Type="System.String" Scope="User">
     12      <Value Profile="(Default)">http://servdev.heuristiclab.com/Deployment/Update.svc</Value>
     13    </Setting>
     14    <Setting Name="UpdateLocationUserName" Type="System.String" Scope="User">
     15      <Value Profile="(Default)" />
     16    </Setting>
     17    <Setting Name="UpdateLocationPassword" Type="System.String" Scope="User">
     18      <Value Profile="(Default)" />
     19    </Setting>
     20    <Setting Name="UpdateLocationAdministrationAddress" Type="System.String" Scope="User">
     21      <Value Profile="(Default)">http://servdev.heuristiclab.com/Deployment/Admin.svc</Value>
    1622    </Setting>
    1723  </Settings>
  • trunk/sources/HeuristicLab.PluginInfrastructure/Resources/Resources.Designer.cs

    r2922 r3006  
    7575        }
    7676       
     77        internal static System.Drawing.Bitmap Document {
     78            get {
     79                object obj = ResourceManager.GetObject("Document", resourceCulture);
     80                return ((System.Drawing.Bitmap)(obj));
     81            }
     82        }
     83       
     84        internal static System.Drawing.Bitmap File {
     85            get {
     86                object obj = ResourceManager.GetObject("File", resourceCulture);
     87                return ((System.Drawing.Bitmap)(obj));
     88            }
     89        }
     90       
    7791        internal static System.Drawing.Bitmap Install {
    7892            get {
  • trunk/sources/HeuristicLab.PluginInfrastructure/Resources/Resources.resx

    r2922 r3006  
    125125    <value>vs2008imagelibrary_objects_assembly.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
    126126  </data>
     127  <data name="Document" type="System.Resources.ResXFileRef, System.Windows.Forms">
     128    <value>VS2008ImageLibrary_Objects_Document.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
     129  </data>
     130  <data name="File" type="System.Resources.ResXFileRef, System.Windows.Forms">
     131    <value>VS2008ImageLibrary_Objects_File.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
     132  </data>
    127133  <data name="Install" type="System.Resources.ResXFileRef, System.Windows.Forms">
    128134    <value>vs2008imagelibrary_objects_install.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
  • trunk/sources/HeuristicLab.PluginInfrastructure/app.config

    r2922 r3006  
    44        <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
    55            <section name="HeuristicLab.PluginInfrastructure.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
     6        </sectionGroup>
     7        <sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
     8            <section name="HeuristicLab.PluginInfrastructure.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
    69        </sectionGroup>
    710    </configSections>
     
    1316            <setting name="Organization" serializeAs="String">
    1417                <value>-</value>
    15             </setting>
    16             <setting name="UpdateLocations" serializeAs="Xml">
    17                 <value>
    18                     <ArrayOfString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    19                         xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    20                         <string>http://localhost:59253/UpdateLocation.svc</string>
    21                     </ArrayOfString>
    22                 </value>
    2318            </setting>
    2419        </HeuristicLab.PluginInfrastructure.Properties.Settings>
     
    4035                        <transport clientCredentialType="Windows" proxyCredentialType="None"
    4136                            realm="" />
    42                         <message clientCredentialType="Windows" negotiateServiceCredential="true"
     37                        <message clientCredentialType="UserName" negotiateServiceCredential="true"
    4338                            algorithmSuite="Default" establishSecurityContext="true" />
    4439                    </security>
     
    5752                        <transport clientCredentialType="Windows" proxyCredentialType="None"
    5853                            realm="" />
    59                         <message clientCredentialType="Windows" negotiateServiceCredential="true"
     54                        <message clientCredentialType="UserName" negotiateServiceCredential="true"
    6055                            algorithmSuite="Default" establishSecurityContext="true" />
    6156                    </security>
     
    6459        </bindings>
    6560        <client>
    66             <endpoint address="http://localhost:8731/Design_Time_Addresses/HeuristicLab.Services.Deployment/Update/"
     61            <endpoint address="http://servdev.heuristiclab.com/Deployment/Update.svc"
    6762                binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_IUpdate"
    6863                contract="HeuristicLab.PluginInfrastructure.Advanced.DeploymentService.IUpdate"
    6964                name="WSHttpBinding_IUpdate">
    7065                <identity>
    71                     <dns value="localhost" />
     66                    <certificate encodedValue="AwAAAAEAAAAUAAAAFhNc5P5CrrUsDAETV1gq2wDRXQ0gAAAAAQAAACcCAAAwggIjMIIBjKADAgECAhCnTkk2TwtajEKLiJLyjCpwMA0GCSqGSIb3DQEBBAUAMCMxITAfBgNVBAMTGHNlcnZkZXYuaGV1cmlzdGljbGFiLmNvbTAeFw0xMDAzMTAxNTI4MTJaFw0zOTEyMzEyMzU5NTlaMCMxITAfBgNVBAMTGHNlcnZkZXYuaGV1cmlzdGljbGFiLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEArJSMi2lAXj/Z9sMiLjiUmqUfNSfozaio/mjR6PxbDPBWZp6xTFdDLnBx+kHMBp+gc75hMI6wCFHB8PYud8tHMgJFDssGBUZkEN2vFZ0h41efyXo9U0o90KVFWFBQWOz+Opnalqohh8qHnOczo1zabeLFf79pC81Y6QGNkSyQcikCAwEAAaNYMFYwVAYDVR0BBE0wS4AQ1x+ArbPOrv0XwUivnGidCKElMCMxITAfBgNVBAMTGHNlcnZkZXYuaGV1cmlzdGljbGFiLmNvbYIQp05JNk8LWoxCi4iS8owqcDANBgkqhkiG9w0BAQQFAAOBgQBU8cGNgEnkWLs3v433WBC2Sl6BiPk6IchsqfxECp1Q4j/gqsIe9xRNnjxD5YEj0HGdqjrKBwF8XrOXPgyXQXfM4ju3INGLSJ1WH/oODbgbKnqQ/7TSJ++y1x0lnDgh+ibqjchsrBrqzKfkBNOa4B3g1M9q1eNVDOyGWu7GiZAUTA==" />
    7267                </identity>
    7368            </endpoint>
    74             <endpoint address="http://localhost:8731/Design_Time_Addresses/HeuristicLab.Services.Deployment/Admin/"
     69            <endpoint address="http://servdev.heuristiclab.com/Deployment/Admin.svc"
    7570                binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_IAdmin"
    7671                contract="HeuristicLab.PluginInfrastructure.Advanced.DeploymentService.IAdmin"
    7772                name="WSHttpBinding_IAdmin">
    7873                <identity>
    79                     <dns value="localhost" />
     74                    <certificate encodedValue="AwAAAAEAAAAUAAAAFhNc5P5CrrUsDAETV1gq2wDRXQ0gAAAAAQAAACcCAAAwggIjMIIBjKADAgECAhCnTkk2TwtajEKLiJLyjCpwMA0GCSqGSIb3DQEBBAUAMCMxITAfBgNVBAMTGHNlcnZkZXYuaGV1cmlzdGljbGFiLmNvbTAeFw0xMDAzMTAxNTI4MTJaFw0zOTEyMzEyMzU5NTlaMCMxITAfBgNVBAMTGHNlcnZkZXYuaGV1cmlzdGljbGFiLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEArJSMi2lAXj/Z9sMiLjiUmqUfNSfozaio/mjR6PxbDPBWZp6xTFdDLnBx+kHMBp+gc75hMI6wCFHB8PYud8tHMgJFDssGBUZkEN2vFZ0h41efyXo9U0o90KVFWFBQWOz+Opnalqohh8qHnOczo1zabeLFf79pC81Y6QGNkSyQcikCAwEAAaNYMFYwVAYDVR0BBE0wS4AQ1x+ArbPOrv0XwUivnGidCKElMCMxITAfBgNVBAMTGHNlcnZkZXYuaGV1cmlzdGljbGFiLmNvbYIQp05JNk8LWoxCi4iS8owqcDANBgkqhkiG9w0BAQQFAAOBgQBU8cGNgEnkWLs3v433WBC2Sl6BiPk6IchsqfxECp1Q4j/gqsIe9xRNnjxD5YEj0HGdqjrKBwF8XrOXPgyXQXfM4ju3INGLSJ1WH/oODbgbKnqQ/7TSJ++y1x0lnDgh+ibqjchsrBrqzKfkBNOa4B3g1M9q1eNVDOyGWu7GiZAUTA==" />
    8075                </identity>
    8176            </endpoint>
    8277        </client>
    8378    </system.serviceModel>
     79    <userSettings>
     80        <HeuristicLab.PluginInfrastructure.Properties.Settings>
     81            <setting name="UpdateLocation" serializeAs="String">
     82                <value>http://servdev.heuristiclab.com/Deployment/Update.svc</value>
     83            </setting>
     84            <setting name="UpdateLocationUserName" serializeAs="String">
     85                <value />
     86            </setting>
     87            <setting name="UpdateLocationPassword" serializeAs="String">
     88                <value />
     89            </setting>
     90            <setting name="UpdateLocationAdministrationAddress" serializeAs="String">
     91                <value>http://servdev.heuristiclab.com/Deployment/Admin.svc</value>
     92            </setting>
     93        </HeuristicLab.PluginInfrastructure.Properties.Settings>
     94    </userSettings>
    8495</configuration>
Note: See TracChangeset for help on using the changeset viewer.