diff --git a/src/main/java/com/openshift/internal/restclient/model/KubernetesResource.java b/src/main/java/com/openshift/internal/restclient/model/KubernetesResource.java index 6efe5af1..a6b00504 100644 --- a/src/main/java/com/openshift/internal/restclient/model/KubernetesResource.java +++ b/src/main/java/com/openshift/internal/restclient/model/KubernetesResource.java @@ -118,6 +118,12 @@ public void setAnnotation(String name, String value) { ModelNode annotations = get(ANNOTATIONS); annotations.get(name).set(value); } + + @Override + public void removeAnnotation(String name) { + ModelNode annotations = get(ANNOTATIONS); + annotations.remove(name); + } @Override public boolean isAnnotatedWith(String key) { diff --git a/src/main/java/com/openshift/restclient/model/IResource.java b/src/main/java/com/openshift/restclient/model/IResource.java index cccb3717..3c2514ea 100644 --- a/src/main/java/com/openshift/restclient/model/IResource.java +++ b/src/main/java/com/openshift/restclient/model/IResource.java @@ -102,6 +102,12 @@ public interface IResource extends ICapable { */ void setAnnotation(String key, String value); + /** + * Removes the resource annotation + * @param key + */ + void removeAnnotation(String key); + /** * Retrieves the annotations associated with the resource * @return diff --git a/src/test/java/com/openshift/internal/restclient/model/KubernetesResourceTest.java b/src/test/java/com/openshift/internal/restclient/model/KubernetesResourceTest.java index eb91dd2e..6f28eb84 100644 --- a/src/test/java/com/openshift/internal/restclient/model/KubernetesResourceTest.java +++ b/src/test/java/com/openshift/internal/restclient/model/KubernetesResourceTest.java @@ -12,6 +12,7 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; import static com.openshift.internal.util.JBossDmrExtentions.*; @@ -78,6 +79,12 @@ public void testSetAnnoation() { public void testGetAnnotation() { assertEquals("bar", resource.getAnnotation("foo")); } + + @Test + public void removeAnnotation() { + resource.removeAnnotation("foo"); + assertNull(resource.getAnnotation("foo")); + } @Test public void isAnnotatedReturnsTrueForKnownAnnotation() {