polish parameters retrival
authorEugene.Petrenko <eugene.petrenko@gmail.com>
Tue, 23 Aug 2011 18:33:04 +0000 (20:33 +0200)
committerEugene.Petrenko <eugene.petrenko@gmail.com>
Tue, 23 Aug 2011 18:33:04 +0000 (20:33 +0200)
nuget-agent/src/jetbrains/buildServer/nuget/agent/parameters/NuGetPackParameters.java
nuget-agent/src/jetbrains/buildServer/nuget/agent/parameters/impl/PackagesParametersFactoryImpl.java

index df0321d381ed6ea51fe3375992fc80a478e9fdd2..e9fe6dfa717c1346bc203dd38768f2ed7b79b4cb 100644 (file)
@@ -47,7 +47,7 @@ public interface NuGetPackParameters extends NuGetParameters {
   File getBaseDirectory() throws RunBuildException;\r
 \r
   @NotNull\r
-  String getVersion();\r
+  String getVersion() throws RunBuildException;\r
 \r
   boolean packSymbols();\r
   boolean packTool();\r
index 8e82ce07b17ac229bc0072ac0be826eef4721cd2..bfc008f70fe01be336d174d37293296e0d080f52 100644 (file)
@@ -25,6 +25,7 @@ import jetbrains.buildServer.nuget.common.PackagesUpdateMode;
 import jetbrains.buildServer.util.FileUtil;\r
 import jetbrains.buildServer.util.StringUtil;\r
 import org.jetbrains.annotations.NotNull;\r
+import org.jetbrains.annotations.Nullable;\r
 \r
 import java.io.File;\r
 import java.util.ArrayList;\r
@@ -71,8 +72,9 @@ public class PackagesParametersFactoryImpl implements PackagesParametersFactory
 \r
   private File getPathToNuGet(BuildRunnerContext context) throws RunBuildException {\r
     String path = getParameter(context, NUGET_PATH);\r
-    if (StringUtil.isEmptyOrSpaces(path))\r
+    if (path == null || StringUtil.isEmptyOrSpaces(path)) {\r
       throw new RunBuildException("Runner parameter '" + NUGET_PATH + "' was not found");\r
+    }\r
 \r
     if (path.startsWith("?")) {\r
       final BundledTool tool = myBundledTools.findTool(path.substring(1));\r
@@ -121,7 +123,7 @@ public class PackagesParametersFactoryImpl implements PackagesParametersFactory
   private File resolveParameterPath(@NotNull final BuildRunnerContext context,\r
                                     @NotNull final String runnerParameter) throws RunBuildException {\r
     String path = getParameter(context, runnerParameter);\r
-    if (StringUtil.isEmptyOrSpaces(path))\r
+    if (path == null || StringUtil.isEmptyOrSpaces(path))\r
       throw new RunBuildException("Runner parameter '" + runnerParameter + "' was not found");\r
 \r
     return FileUtil.resolvePath(context.getBuild().getCheckoutDirectory(), path);\r
@@ -149,10 +151,20 @@ public class PackagesParametersFactoryImpl implements PackagesParametersFactory
     return !StringUtil.isEmptyOrSpaces(getParameter(context, key));\r
   }\r
 \r
+  @Nullable\r
   private String getParameter(@NotNull BuildRunnerContext context, @NotNull String key) {\r
     return context.getRunnerParameters().get(key);\r
   }\r
 \r
+  @NotNull\r
+  private String getParameter(@NotNull BuildRunnerContext context, @NotNull String key, @NotNull String errorMessage) throws RunBuildException {\r
+    final String value = getParameter(context, key);\r
+    if (value == null || StringUtil.isEmptyOrSpaces(value)) {\r
+      throw new RunBuildException("Parameter '" + key + "' is not found. " + errorMessage);\r
+    }\r
+    return value;\r
+  }\r
+\r
 \r
   public PackagesInstallParameters loadInstallPackagesParameters(@NotNull final BuildRunnerContext context,\r
                                                                  @NotNull final NuGetFetchParameters nuget) throws RunBuildException {\r
@@ -204,7 +216,7 @@ public class PackagesParametersFactoryImpl implements PackagesParametersFactory
 \r
       @NotNull\r
       public String getApiKey() throws RunBuildException {\r
-        return getParameter(context, NUGET_API_KEY);\r
+        return getParameter(context, NUGET_API_KEY, "NuGet Api key must be specified");\r
       }\r
 \r
       @NotNull\r
@@ -254,7 +266,7 @@ public class PackagesParametersFactoryImpl implements PackagesParametersFactory
       @NotNull\r
       public File getBaseDirectory() throws RunBuildException {\r
         String path = getParameter(context, NUGET_PACK_BASE_DIR);\r
-        if (StringUtil.isEmptyOrSpaces(path)) {\r
+        if (path == null || StringUtil.isEmptyOrSpaces(path)) {\r
           return context.getBuild().getCheckoutDirectory();\r
         }\r
 \r
@@ -272,8 +284,8 @@ public class PackagesParametersFactoryImpl implements PackagesParametersFactory
       }\r
 \r
       @NotNull\r
-      public String getVersion() {\r
-        return getParameter(context, NUGET_PACK_VERSION);\r
+      public String getVersion() throws RunBuildException {\r
+        return getParameter(context, NUGET_PACK_VERSION, "Version must be specified");\r
       }\r
 \r
       public boolean packSymbols() {\r