From 2a38fa0b125ebc2c6658dc449ae031e8c8d1269a Mon Sep 17 00:00:00 2001 From: Kenji Nagahashi Date: Mon, 25 Aug 2014 13:36:25 -0700 Subject: [PATCH] =?UTF-8?q?Don=E2=80=99t=20let=20exception=20from=20proper?= =?UTF-8?q?ty=20getter=20fail=20entire=20bean-browser.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../archive/crawler/restlet/JobRelatedResource.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/engine/src/main/java/org/archive/crawler/restlet/JobRelatedResource.java b/engine/src/main/java/org/archive/crawler/restlet/JobRelatedResource.java index 911a86e8..f033395d 100644 --- a/engine/src/main/java/org/archive/crawler/restlet/JobRelatedResource.java +++ b/engine/src/main/java/org/archive/crawler/restlet/JobRelatedResource.java @@ -44,6 +44,7 @@ import org.restlet.data.Response; import org.restlet.resource.ResourceException; import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanWrapperImpl; +import org.springframework.beans.BeansException; /** * Shared superclass for resources that represent functional aspects @@ -118,8 +119,13 @@ public abstract class JobRelatedResource extends BaseResource { for (PropertyDescriptor pd : getPropertyDescriptors(bwrap)) { if (pd.getReadMethod() != null) { String propName = pd.getName(); - Object propValue = bwrap.getPropertyValue(propName); - addPresentableNestedNames(namedBeans, propValue, alreadyWritten); + try { + Object propValue = bwrap.getPropertyValue(propName); + addPresentableNestedNames(namedBeans, propValue, alreadyWritten); + } catch (BeansException ex) { + // getter may throw UnsupportedOperationException, for ex. + // ignore such properties. + } } } if (obj.getClass().isArray()) {