Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
import org.apache.commons.lang.StringUtils;
import org.jboss.dmr.ModelNode;

import com.openshift.restclient.ResourceKind;
import com.openshift.restclient.images.DockerImageURI;
import com.openshift.restclient.model.deploy.IDeploymentImageChangeTrigger;

Expand All @@ -29,6 +30,7 @@ public class ImageChangeTrigger extends DeploymentTrigger implements IDeployment
private static final String DEPLOYMENTCONFIG_TRIGGER_CONTAINERS = "imageChangeParams.containerNames";
private static final String DEPLOYMENTCONFIG_TRIGGER_FROM = "imageChangeParams.from.name";
private static final String DEPLOYMENTCONFIG_TRIGGER_FROM_KIND = "imageChangeParams.from.kind";
private static final String FROM_NAMESPACE = "imageChangeParams.from.namespace";

public ImageChangeTrigger(ModelNode node, Map<String, String[]> propertyKeys) {
super(node, propertyKeys);
Expand All @@ -42,11 +44,21 @@ public DockerImageURI getFrom() {
@Override
public void setFrom(DockerImageURI fromImage) {
if(StringUtils.isBlank(asString(getNode(), getPropertyKeys(), DEPLOYMENTCONFIG_TRIGGER_FROM_KIND))) {
setKind("ImageStreamTag");
setKind(ResourceKind.IMAGE_STREAM_TAG);
}
set(getNode(), getPropertyKeys(), DEPLOYMENTCONFIG_TRIGGER_FROM, fromImage.getAbsoluteUri());
}

@Override
public void setNamespace(String namespace) {
set(getNode(), getPropertyKeys(), FROM_NAMESPACE, namespace);
}

@Override
public String getNamespace() {
return asString(getNode(), getPropertyKeys(), FROM_NAMESPACE);
}

@Override
public void setKind(String kind) {
set(getNode(), getPropertyKeys(), DEPLOYMENTCONFIG_TRIGGER_FROM_KIND, kind);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,18 @@ public interface IDeploymentImageChangeTrigger extends IDeploymentTrigger {
*/
void setFrom(DockerImageURI fromImage);

/**
* The namespace of the ImageStreamTag
* @param namespace
*/
void setNamespace(String namespace);

/**
* @return The namespace of the ImageStreamTag
*
*/
String getNamespace();

void setKind(String kind);

String getKind();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,8 @@ public void getConfigChangeTrigger() {
assertTrue("Expected to find a config change trigger", IDeploymentConfigChangeTrigger.class.isAssignableFrom(trigger.get(0).getClass()));
assertTrue("Expected to find a config change trigger", IDeploymentImageChangeTrigger.class.isAssignableFrom(trigger.get(1).getClass()));

IDeploymentImageChangeTrigger ict = (IDeploymentImageChangeTrigger) trigger.get(1);
assertEquals("foo", ict.getNamespace());
}

@Test
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,8 @@
],
"from": {
"kind": "ImageStreamTag",
"name": "logging-auth-proxy:latest"
"name": "logging-auth-proxy:latest",
"namespace" : "foo"
},
"lastTriggeredImage": "172.30.224.48:5000/logging/logging-auth-proxy@sha256:936876650f76e76da8205a25b558c7178e046c1451adb117b3ab0ffe9e3e20ce"
}
Expand Down