changeset 22:6bc398d2279d

edit build feature parameters page added
author Evgeniy.Koshkin
date Mon, 05 Aug 2013 14:40:39 +0400
parents d7e0f085b4ea
children 7bd8a756aa78
files server/resources/editSymbolsBuildFeatureParams.jsp server/resources/sample.jsp server/src/jetbrains/buildServer/symbols/IndexSymbolsBuildFeature.java
diffstat 3 files changed, 32 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/server/resources/editSymbolsBuildFeatureParams.jsp	Mon Aug 05 14:40:39 2013 +0400
@@ -0,0 +1,2 @@
+<%@ include file="/include-internal.jsp"%>
+<em>Symbols and sources indexing will be performed for all symbol files (.pdb) appeared among build artifacts.</em>
\ No newline at end of file
--- a/server/resources/sample.jsp	Mon Aug 05 13:37:18 2013 +0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-<%@ include file="/include-internal.jsp"%>
-
-<!-- this page supports .jsp resources resolving -->
\ No newline at end of file
--- a/server/src/jetbrains/buildServer/symbols/IndexSymbolsBuildFeature.java	Mon Aug 05 13:37:18 2013 +0400
+++ b/server/src/jetbrains/buildServer/symbols/IndexSymbolsBuildFeature.java	Mon Aug 05 14:40:39 2013 +0400
@@ -1,14 +1,37 @@
 package jetbrains.buildServer.symbols;
 
+import jetbrains.buildServer.controllers.BaseController;
 import jetbrains.buildServer.serverSide.BuildFeature;
+import jetbrains.buildServer.web.openapi.PluginDescriptor;
+import jetbrains.buildServer.web.openapi.WebControllerManager;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
+import org.springframework.web.servlet.ModelAndView;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 
 /**
  * @author Evgeniy.Koshkin
  */
 public class IndexSymbolsBuildFeature extends BuildFeature {
 
+  private String myEditParametersUrl;
+
+  public IndexSymbolsBuildFeature(PluginDescriptor pluginDescriptor, WebControllerManager web) {
+    final String jsp = pluginDescriptor.getPluginResourcesPath("editSymbolsBuildFeatureParams.jsp");
+    final String html = pluginDescriptor.getPluginResourcesPath("symbolIndexerSettings.html");
+
+    web.registerController(html, new BaseController() {
+      @Override
+      protected ModelAndView doHandle(final HttpServletRequest request, final HttpServletResponse response) throws Exception {
+        return new ModelAndView(jsp);
+      }
+    });
+
+    myEditParametersUrl = html;
+  }
+
   @NotNull
   @Override
   public String getType() {
@@ -18,12 +41,17 @@
   @NotNull
   @Override
   public String getDisplayName() {
-    return "Symbol files (.pdb) indexer";
+    return "Symbol Files Indexer";
   }
 
   @Nullable
   @Override
   public String getEditParametersUrl() {
-    return null;
+    return myEditParametersUrl;
+  }
+
+  @Override
+  public boolean isMultipleFeaturesPerBuildTypeAllowed() {
+    return false;
   }
 }