Skip to content

Commit

Permalink
Merge pull request #201 from KostyaSha/upstream-master
Browse files Browse the repository at this point in the history
Make DockerJobProperty optional
  • Loading branch information
KostyaSha committed Apr 9, 2015
2 parents 5483fee + f24b1c4 commit 824c92a
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 19 deletions.
Original file line number Diff line number Diff line change
@@ -1,22 +1,17 @@
package com.nirima.jenkins.plugins.docker;

import hudson.Extension;
import hudson.model.AbstractBuild;
import hudson.model.AbstractProject;
import hudson.model.BuildListener;
import hudson.model.Descriptor;
import hudson.model.Job;
import hudson.model.JobProperty;
import hudson.model.JobPropertyDescriptor;
import hudson.tasks.Publisher;
import net.sf.json.JSONObject;
import org.kohsuke.stapler.DataBoundConstructor;
import org.kohsuke.stapler.StaplerRequest;
import org.kohsuke.stapler.export.Exported;

import java.util.Map;


public class DockerJobProperty extends hudson.model.JobProperty<AbstractProject<?, ?>> {
public class DockerJobProperty extends JobProperty<AbstractProject<?, ?>> {

/**
* Tag on completion (commit).
Expand Down Expand Up @@ -70,12 +65,16 @@ public boolean isApplicable(Class<? extends Job> jobType) {
}

@Override
public DockerJobProperty newInstance(StaplerRequest sr, JSONObject formData) throws hudson.model.Descriptor.FormException {
return new DockerJobProperty(
(Boolean)formData.get("tagOnCompletion"),
(String)formData.get("additionalTag"),
(Boolean)formData.get("pushOnSuccess"),
(Boolean)formData.get("cleanImages"));
public JobProperty<?> newInstance(StaplerRequest req, JSONObject formData) throws FormException {
DockerJobProperty dockerJobProperty;

if (req.hasParameter("hasDockerContainer")) {
dockerJobProperty = req.bindJSON(DockerJobProperty.class, formData);
} else {
dockerJobProperty = null;
}

return dockerJobProperty;
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import java.io.IOException;
import java.net.Socket;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
Expand Down Expand Up @@ -53,13 +54,13 @@ public static Map<String, List<Integer>> parsePorts(String waitPorts) throws Ill
for (String container : containerPorts) {
String[] idPorts = container.split(" ", 2);
if (idPorts.length < 2)
throw new IllegalArgumentException("Cannot parse " + idPorts + " as '[conainerId] [port1],[port2],...'");
throw new IllegalArgumentException("Cannot parse " + Arrays.toString(idPorts) + " as '[conainerId] [port1],[port2],...'");
String containerId = idPorts[0].trim();
String portsStr = idPorts[1].trim();

List<Integer> ports = new ArrayList<Integer>();
for (String port : portsStr.split(",")) {
ports.add(new Integer(port));
ports.add(Integer.valueOf(port));
}
containers.put(containerId, ports);
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?jelly escape-by-default='true'?>
<j:jelly xmlns:j="jelly:core" xmlns:st="jelly:stapler" xmlns:d="jelly:define" xmlns:l="/lib/layout" xmlns:t="/lib/hudson" xmlns:f="/lib/form">

<f:section title="Docker Container">
<f:optionalBlock title="Docker Container" name="hasDockerContainer" inline="true" checked="${instance!=null}" >
<f:entry title="${%Commit on successful build}" field="tagOnCompletion">
<f:checkbox default="false"/>
</f:entry>
Expand All @@ -17,6 +17,6 @@
<f:entry title="${%Clean local images}" field="cleanImages">
<f:checkbox default="true"/>
</f:entry>
</f:section>
</f:optionalBlock>

</j:jelly>
</j:jelly>

0 comments on commit 824c92a

Please sign in to comment.