diff --git a/manager/api/beans/src/main/java/io/apiman/manager/api/beans/services/UpdateServiceVersionBean.java b/manager/api/beans/src/main/java/io/apiman/manager/api/beans/services/UpdateServiceVersionBean.java index 16f9e3e0dc..9c86b0111d 100644 --- a/manager/api/beans/src/main/java/io/apiman/manager/api/beans/services/UpdateServiceVersionBean.java +++ b/manager/api/beans/src/main/java/io/apiman/manager/api/beans/services/UpdateServiceVersionBean.java @@ -35,7 +35,7 @@ public class UpdateServiceVersionBean implements Serializable { private String endpoint; private EndpointType endpointType; private Set gateways; - private boolean publicService; + private Boolean publicService; private Set plans; /** @@ -89,14 +89,14 @@ public void setGateways(Set gateways) { /** * @return the publicService */ - public boolean isPublicService() { + public Boolean getPublicService() { return publicService; } /** * @param publicService the publicService to set */ - public void setPublicService(boolean publicService) { + public void setPublicService(Boolean publicService) { this.publicService = publicService; } diff --git a/manager/api/rest-impl/src/main/java/io/apiman/manager/api/rest/impl/OrganizationResourceImpl.java b/manager/api/rest-impl/src/main/java/io/apiman/manager/api/rest/impl/OrganizationResourceImpl.java index 464def0ccb..6a0b9d462c 100644 --- a/manager/api/rest-impl/src/main/java/io/apiman/manager/api/rest/impl/OrganizationResourceImpl.java +++ b/manager/api/rest-impl/src/main/java/io/apiman/manager/api/rest/impl/OrganizationResourceImpl.java @@ -1346,9 +1346,9 @@ public void updateServiceVersion(String organizationId, String serviceId, String data.addChange("endpointType", svb.getEndpointType(), bean.getEndpointType()); //$NON-NLS-1$ svb.setEndpointType(bean.getEndpointType()); } - if (AuditUtils.valueChanged(String.valueOf(svb.isPublicService()), String.valueOf(bean.isPublicService()))) { - data.addChange("publicService", String.valueOf(svb.isPublicService()), String.valueOf(bean.isPublicService())); //$NON-NLS-1$ - svb.setPublicService(bean.isPublicService()); + if (AuditUtils.valueChanged(svb.isPublicService(), bean.getPublicService())) { + data.addChange("publicService", String.valueOf(svb.isPublicService()), String.valueOf(bean.getPublicService())); //$NON-NLS-1$ + svb.setPublicService(bean.getPublicService()); } try { diff --git a/manager/api/rest-impl/src/main/java/io/apiman/manager/api/rest/impl/audit/AuditUtils.java b/manager/api/rest-impl/src/main/java/io/apiman/manager/api/rest/impl/audit/AuditUtils.java index fca7e16b7d..b539a2bb22 100644 --- a/manager/api/rest-impl/src/main/java/io/apiman/manager/api/rest/impl/audit/AuditUtils.java +++ b/manager/api/rest-impl/src/main/java/io/apiman/manager/api/rest/impl/audit/AuditUtils.java @@ -69,6 +69,24 @@ public static boolean valueChanged(String before, String after) { return !before.trim().equals(after.trim()); } + /** + * Returns true only if the value changed. + * @param before + * @param after + */ + public static boolean valueChanged(Boolean before, Boolean after) { + if (before == null && after == null) { + return false; + } + if (after == null) { + return false; + } + if (before == null && after != null) { + return true; + } + return !before.equals(after); + } + /** * Returns true only if the set has changed. * @param before