You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@juneau.apache.org by ja...@apache.org on 2019/11/20 12:39:24 UTC
[juneau] branch master updated: Rename
@Bean(properties/excludeProperties) to bpi/bpx.
This is an automated email from the ASF dual-hosted git repository.
jamesbognar pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/juneau.git
View the commit online:
https://github.com/apache/juneau/commit/1ca63267c26ca8b18e83380cade1c160fdba93d8
The following commit(s) were added to refs/heads/master by this push:
new 1ca6326 Rename @Bean(properties/excludeProperties) to bpi/bpx.
1ca6326 is described below
commit 1ca63267c26ca8b18e83380cade1c160fdba93d8
Author: JamesBognar <ja...@apache.org>
AuthorDate: Wed Nov 20 07:39:11 2019 -0500
Rename @Bean(properties/excludeProperties) to bpi/bpx.
---
.../java/org/apache/juneau/AnnotationsTest.java | 2 +-
.../java/org/apache/juneau/BeanConfigTest.java | 2 +-
.../java/org/apache/juneau/BeanMapErrorsTest.java | 4 +-
.../test/java/org/apache/juneau/BeanMapTest.java | 2 +-
.../juneau/a/rttests/RoundTripBeanMapsTest.java | 4 +-
.../juneau/a/rttests/RoundTripGenericsTest.java | 2 +-
.../java/org/apache/juneau/html/BasicHtmlTest.java | 4 +-
.../juneau/html/HtmlSchemaSerializerTest.java | 4 +-
.../apache/juneau/transforms/BeanFilterTest.java | 2 +-
.../java/org/apache/juneau/utils/PojoRestTest.java | 4 +-
.../java/org/apache/juneau/xml/BasicXmlTest.java | 6 +--
.../java/org/apache/juneau/xml/CommonXmlTest.java | 2 +-
.../org/apache/juneau/xml/XmlCollapsedTest.java | 4 +-
.../test/java/org/apache/juneau/xml/XmlTest.java | 8 ++--
.../main/java/org/apache/juneau/BeanContext.java | 4 +-
.../src/main/java/org/apache/juneau/ClassMeta.java | 2 +-
.../java/org/apache/juneau/annotation/Bean.java | 54 ++++++++++++++++++++++
.../transform/AnnotationBeanFilterBuilder.java | 6 +++
.../apache/juneau/transform/BeanFilterBuilder.java | 4 +-
.../transform/InterfaceBeanFilterBuilder.java | 6 +++
.../java/org/apache/juneau/utils/BeanDiff.java | 2 +-
21 files changed, 97 insertions(+), 31 deletions(-)
diff --git a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/AnnotationsTest.java b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/AnnotationsTest.java
index a9b4a8b..3ea278d 100755
--- a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/AnnotationsTest.java
+++ b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/AnnotationsTest.java
@@ -44,7 +44,7 @@ public class AnnotationsTest {
}
/** Class with explicitly specified properties */
- @Bean(properties="age,name")
+ @Bean(bpi="age,name")
public static class Person1 {
public int age;
private String name;
diff --git a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/BeanConfigTest.java b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/BeanConfigTest.java
index f4ba0b4..be02bdc 100755
--- a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/BeanConfigTest.java
+++ b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/BeanConfigTest.java
@@ -406,7 +406,7 @@ public class BeanConfigTest {
}
- @Bean(properties="name,age")
+ @Bean(bpi="name,age")
public static class ReadOnlyPerson {
private final String name;
private final int age;
diff --git a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/BeanMapErrorsTest.java b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/BeanMapErrorsTest.java
index dfc659f..34d0df0 100644
--- a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/BeanMapErrorsTest.java
+++ b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/BeanMapErrorsTest.java
@@ -37,7 +37,7 @@ public class BeanMapErrorsTest {
}
}
- @Bean(properties="f1")
+ @Bean(bpi="f1")
public static class A1 {
public int f1;
@@ -61,7 +61,7 @@ public class BeanMapErrorsTest {
assertEquals("org.apache.juneau.BeanMapErrorsTest$A2: Found @Beanp(\"f2\") but name was not found in @Bean(properties)", e.getMessage());
}
}
- @Bean(properties="f1")
+ @Bean(bpi="f1")
public static class A2 {
public int f1;
diff --git a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/BeanMapTest.java b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/BeanMapTest.java
index cafb3a2..b37c760 100755
--- a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/BeanMapTest.java
+++ b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/BeanMapTest.java
@@ -529,7 +529,7 @@ public class BeanMapTest {
assertEquals("{s:['foo'],s2:[['foo']],i:[0,0,0],i2:[[0,0,0],[0,0,0]]}", SimpleJsonSerializer.DEFAULT.serialize(t));
}
- @Bean(properties="s,s2,i,i2")
+ @Bean(bpi="s,s2,i,i2")
public static class E {
public String[] s;
public String[][] s2;
diff --git a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/a/rttests/RoundTripBeanMapsTest.java b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/a/rttests/RoundTripBeanMapsTest.java
index 5fa5126..3a30de1 100755
--- a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/a/rttests/RoundTripBeanMapsTest.java
+++ b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/a/rttests/RoundTripBeanMapsTest.java
@@ -476,7 +476,7 @@ public class RoundTripBeanMapsTest extends RoundTripTest {
assertObjectEquals("{f3:'f3',f2:'f2'}", d);
}
- @Bean(properties="f3,f2")
+ @Bean(bpi="f3,f2")
public static class D1 {
public String f1, f2, f3;
public D1 init() {
@@ -541,7 +541,7 @@ public class RoundTripBeanMapsTest extends RoundTripTest {
assertObjectEquals("{f1:'f1',f3:'f3'}", e);
}
- @Bean(excludeProperties="f2")
+ @Bean(bpx="f2")
public static class E1 {
public String f1, f2, f3;
public E1 init() {
diff --git a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/a/rttests/RoundTripGenericsTest.java b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/a/rttests/RoundTripGenericsTest.java
index 2840104..f1ea7f1 100755
--- a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/a/rttests/RoundTripGenericsTest.java
+++ b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/a/rttests/RoundTripGenericsTest.java
@@ -57,7 +57,7 @@ public class RoundTripGenericsTest extends RoundTripTest {
}
// Class with unbound type variables.
- @Bean(properties="s,t")
+ @Bean(bpi="s,t")
public static class Pair<S,T> {
private S s;
private T t;
diff --git a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/html/BasicHtmlTest.java b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/html/BasicHtmlTest.java
index 49fc93c..d39c3b6 100644
--- a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/html/BasicHtmlTest.java
+++ b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/html/BasicHtmlTest.java
@@ -2891,7 +2891,7 @@ public class BasicHtmlTest {
public String[] b;
}
- @Bean(dictionary={A.class},properties="a,ia,aa,o")
+ @Bean(dictionary={A.class},bpi="a,ia,aa,o")
public static class BeanWithAbstractFields {
public A a;
public IA ia;
@@ -2907,7 +2907,7 @@ public class BasicHtmlTest {
}
}
- @Bean(dictionary={A.class},properties="a,ia1,ia2,aa1,aa2,o1,o2")
+ @Bean(dictionary={A.class},bpi="a,ia1,ia2,aa1,aa2,o1,o2")
public static class BeanWithAbstractArrayFields {
public A[] a;
public IA[] ia1, ia2;
diff --git a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/html/HtmlSchemaSerializerTest.java b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/html/HtmlSchemaSerializerTest.java
index bdb2ba4..7886783 100755
--- a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/html/HtmlSchemaSerializerTest.java
+++ b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/html/HtmlSchemaSerializerTest.java
@@ -53,14 +53,14 @@ public class HtmlSchemaSerializerTest {
// Documentation examples
//====================================================================================================
- @Bean(properties="name,birthDate,addresses")
+ @Bean(bpi="name,birthDate,addresses")
public static class Person {
public String name;
public Calendar birthDate;
public List<Address> addresses;
}
- @Bean(properties="street,city,state,zip,isCurrent")
+ @Bean(bpi="street,city,state,zip,isCurrent")
public static class Address {
public String street, city;
public StateEnum state;
diff --git a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/transforms/BeanFilterTest.java b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/transforms/BeanFilterTest.java
index cbc73f2..b0adb1b 100755
--- a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/transforms/BeanFilterTest.java
+++ b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/transforms/BeanFilterTest.java
@@ -173,7 +173,7 @@ public class BeanFilterTest {
public int getP2() { return 2; }
}
- @Bean(excludeProperties="foo")
+ @Bean(bpx="foo")
public class E3 extends E2 {
public int f3 = 3;
public int getP3() { return 3; }
diff --git a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/utils/PojoRestTest.java b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/utils/PojoRestTest.java
index 6390405..722a55b 100755
--- a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/utils/PojoRestTest.java
+++ b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/utils/PojoRestTest.java
@@ -220,7 +220,7 @@ public class PojoRestTest {
}
}
- @Bean(properties="street,city,state,zip,isCurrent")
+ @Bean(bpi="street,city,state,zip,isCurrent")
public static class Address {
public String street;
public String city;
@@ -243,7 +243,7 @@ public class PojoRestTest {
}
}
- @Bean(typeName="Person",properties="name,age,addresses")
+ @Bean(typeName="Person",bpi="name,age,addresses")
public static class Person {
public String name;
public int age;
diff --git a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/xml/BasicXmlTest.java b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/xml/BasicXmlTest.java
index 7018fc4..e1911ad 100644
--- a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/xml/BasicXmlTest.java
+++ b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/xml/BasicXmlTest.java
@@ -1558,7 +1558,7 @@ public class BasicXmlTest {
public String[] b;
}
- @Bean(dictionary={A.class},properties="a,ia,aa,o")
+ @Bean(dictionary={A.class},bpi="a,ia,aa,o")
public static class BeanWithAbstractFields {
public A a;
public IA ia;
@@ -1574,7 +1574,7 @@ public class BasicXmlTest {
}
}
- @Bean(dictionary={A.class},properties="a,ia1,ia2,aa1,aa2,o1,o2")
+ @Bean(dictionary={A.class},bpi="a,ia1,ia2,aa1,aa2,o1,o2")
public static class BeanWithAbstractArrayFields {
public A[] a;
public IA[] ia1, ia2;
@@ -1610,7 +1610,7 @@ public class BasicXmlTest {
}
}
- @Bean(dictionary={A.class},properties="a,ia,aa,o")
+ @Bean(dictionary={A.class},bpi="a,ia,aa,o")
public static class BeanWithAbstractMapArrayFields {
public Map<String,A[]> a;
public Map<String,IA[]> ia;
diff --git a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/xml/CommonXmlTest.java b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/xml/CommonXmlTest.java
index 994ca32..3b2e360 100755
--- a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/xml/CommonXmlTest.java
+++ b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/xml/CommonXmlTest.java
@@ -44,7 +44,7 @@ public class CommonXmlTest {
validateXml(t, s);
}
- @Bean(properties="url,id,name")
+ @Bean(bpi="url,id,name")
public static class A {
@Xml(format=XmlFormat.ATTR) public URL url;
@Xml(format=ATTR) public int id;
diff --git a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/xml/XmlCollapsedTest.java b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/xml/XmlCollapsedTest.java
index 0d53d00..f1bc5b6 100755
--- a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/xml/XmlCollapsedTest.java
+++ b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/xml/XmlCollapsedTest.java
@@ -179,7 +179,7 @@ public class XmlCollapsedTest {
validateXml(t, s);
}
- @Bean(properties="f1,f2,f3,f4")
+ @Bean(bpi="f1,f2,f3,f4")
public static class D {
private List<String> f1 = new LinkedList<>(), f3 = new LinkedList<>();
@@ -235,7 +235,7 @@ public class XmlCollapsedTest {
validateXml(t, s);
}
- @Bean(properties="f1,f2")
+ @Bean(bpi="f1,f2")
public static class E {
private LinkedList<String> f1, f2;
diff --git a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/xml/XmlTest.java b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/xml/XmlTest.java
index 63aeffb..1821365 100755
--- a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/xml/XmlTest.java
+++ b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/xml/XmlTest.java
@@ -158,7 +158,7 @@ public class XmlTest {
}
/** Class with explicitly specified properties */
- @Bean(typeName="Person1", properties="name,age")
+ @Bean(typeName="Person1", bpi="name,age")
public static class Person1 {
public int age;
private String name;
@@ -440,7 +440,7 @@ public class XmlTest {
validateXml(t, s);
}
- @Bean(properties="url,id,name")
+ @Bean(bpi="url,id,name")
public static class N {
@Rdf(beanUri=true) @Xml(format=ELEMENT) public URL url;
public int id;
@@ -473,7 +473,7 @@ public class XmlTest {
validateXml(t, s);
}
- @Bean(properties="url2,id2,name")
+ @Bean(bpi="url2,id2,name")
public static class O {
@Beanp(name="url2") @Xml(format=ELEMENT) public URL url;
@Beanp(name="id2") public int id;
@@ -506,7 +506,7 @@ public class XmlTest {
validateXml(t, s);
}
- @Bean(properties="url2,id2,name")
+ @Bean(bpi="url2,id2,name")
public static class P {
@Beanp(name="url2") @Xml(format=ATTR) public URL url;
@Beanp(name="id2") @Xml(format=ATTR) public int id;
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContext.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContext.java
index 1690ed2..f8991a9 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContext.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContext.java
@@ -859,7 +859,7 @@ public class BeanContext extends Context {
* <li><b>Session property:</b> <jk>false</jk>
* <li><b>Annotations:</b>
* <ul>
- * <li class='ja'>{@link Bean#excludeProperties()}
+ * <li class='ja'>{@link Bean#bpx()}
* </ul>
* <li><b>Methods:</b>
* <ul>
@@ -1199,7 +1199,7 @@ public class BeanContext extends Context {
* <li><b>Session property:</b> <jk>false</jk>
* <li><b>Annotations:</b>
* <ul>
- * <li class='ja'>{@link Bean#properties()}
+ * <li class='ja'>{@link Bean#bpi()}
* <li class='ja'>{@link Beanp#bpi()}
* </ul>
* <li><b>Methods:</b>
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/ClassMeta.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/ClassMeta.java
index 985cd07..385b703 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/ClassMeta.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/ClassMeta.java
@@ -55,7 +55,7 @@ import org.apache.juneau.utils.*;
*
* @param <T> The class type of the wrapped class.
*/
-@Bean(properties="innerClass,classCategory,elementType,keyType,valueType,notABeanReason,initException,beanMeta")
+@Bean(bpi="innerClass,classCategory,elementType,keyType,valueType,notABeanReason,initException,beanMeta")
public final class ClassMeta<T> implements Type {
/** Class categories. */
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Bean.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Bean.java
index bb6efc1..86fb575 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Bean.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Bean.java
@@ -52,6 +52,56 @@ public @interface Bean {
Class<?>[] beanDictionary() default {};
/**
+ * Bean property includes.
+ *
+ * <p>
+ * The set and order of names of properties associated with a bean class.
+ *
+ * <p>
+ * The order specified is the same order that the entries will be returned by the {@link BeanMap#entrySet()} and
+ * related methods.
+ *
+ * <p>
+ * This value is entirely optional if you simply want to expose all the getters and public fields on
+ * a class as bean properties.
+ * <br>However, it's useful if you want certain getters to be ignored or you want the properties to be
+ * serialized in a particular order.
+ * <br>Note that on IBM JREs, the property order is the same as the order in the source code,
+ * whereas on Oracle JREs, the order is entirely random.
+ *
+ * <h5 class='section'>Example:</h5>
+ * <p class='bcode w800'>
+ * <jc>// Address class with only street/city/state properties (in that order).</jc>
+ * <ja>@Bean</ja>(bpi=<js>"street,city,state"</js>)
+ * <jk>public class</jk> Address {...}
+ * </p>
+ *
+ * <ul class='seealso'>
+ * <li class='jf'>{@link BeanContext#BEAN_includeProperties}
+ * </ul>
+ */
+ String bpi() default "";
+
+ /**
+ * Bean property excludes
+ *
+ * <p>
+ * Specifies a list of properties that should be excluded from {@link BeanMap#entrySet()}.
+ *
+ * <h5 class='section'>Example:</h5>
+ * <p class='bcode w800'>
+ * <jc>// Exclude the 'city' and 'state' properties from the Address class.</jc>
+ * <ja>@Bean</ja>(bpx=<js>"city,state"</js>})
+ * <jk>public class</jk> Address {...}
+ * </p>
+ *
+ * <ul class='seealso'>
+ * <li class='jf'>{@link BeanContext#BEAN_excludeProperties}
+ * </ul>
+ */
+ String bpx() default "";
+
+ /**
* Bean dictionary.
*
* <p>
@@ -76,7 +126,9 @@ public @interface Bean {
* <ul class='seealso'>
* <li class='jf'>{@link BeanContext#BEAN_excludeProperties}
* </ul>
+ * @deprecated Use {@link #bpx()}
*/
+ @Deprecated
String excludeProperties() default "";
/**
@@ -170,7 +222,9 @@ public @interface Bean {
* <ul class='seealso'>
* <li class='jf'>{@link BeanContext#BEAN_includeProperties}
* </ul>
+ * @deprecated Use {@link #bpi()}
*/
+ @Deprecated
String properties() default "";
/**
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/transform/AnnotationBeanFilterBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/transform/AnnotationBeanFilterBuilder.java
index f587fc4..2a919cc 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/transform/AnnotationBeanFilterBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/transform/AnnotationBeanFilterBuilder.java
@@ -48,6 +48,9 @@ public final class AnnotationBeanFilterBuilder<T> extends BeanFilterBuilder<T> {
if (! b.properties().isEmpty())
properties(split(b.properties()));
+ if (! b.bpi().isEmpty())
+ properties(split(b.bpi()));
+
if (! b.typeName().isEmpty())
typeName(b.typeName());
@@ -60,6 +63,9 @@ public final class AnnotationBeanFilterBuilder<T> extends BeanFilterBuilder<T> {
if (! b.excludeProperties().isEmpty())
excludeProperties(split(b.excludeProperties()));
+ if (! b.bpx().isEmpty())
+ excludeProperties(split(b.bpx()));
+
if (b.propertyNamer() != PropertyNamerDefault.class)
propertyNamer(b.propertyNamer());
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/transform/BeanFilterBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/transform/BeanFilterBuilder.java
index 66e6829..85b0a03 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/transform/BeanFilterBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/transform/BeanFilterBuilder.java
@@ -147,7 +147,7 @@ public class BeanFilterBuilder<T> {
* </p>
*
* <ul class='seealso'>
- * <li class='ja'>{@link Bean#properties()}
+ * <li class='ja'>{@link Bean#bpi()}
* <li class='jf'>{@link BeanContext#BEAN_includeProperties}
* </ul>
*
@@ -187,7 +187,7 @@ public class BeanFilterBuilder<T> {
* </p>
*
* <ul class='seealso'>
- * <li class='ja'>{@link Bean#excludeProperties()}
+ * <li class='ja'>{@link Bean#bpx()}
* <li class='jf'>{@link BeanContext#BEAN_excludeProperties}
* </ul>
*
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/transform/InterfaceBeanFilterBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/transform/InterfaceBeanFilterBuilder.java
index 36ddeaf..73c7c5c 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/transform/InterfaceBeanFilterBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/transform/InterfaceBeanFilterBuilder.java
@@ -63,6 +63,9 @@ public class InterfaceBeanFilterBuilder<T> extends BeanFilterBuilder<T> {
if (! b.properties().isEmpty())
properties(split(b.properties()));
+ if (! b.bpi().isEmpty())
+ properties(split(b.bpi()));
+
if (! b.typeName().isEmpty())
typeName(b.typeName());
@@ -75,6 +78,9 @@ public class InterfaceBeanFilterBuilder<T> extends BeanFilterBuilder<T> {
if (! b.excludeProperties().isEmpty())
excludeProperties(split(b.excludeProperties()));
+ if (! b.bpx().isEmpty())
+ excludeProperties(split(b.bpx()));
+
try {
if (b.propertyNamer() != PropertyNamerDefault.class)
propertyNamer(b.propertyNamer());
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/utils/BeanDiff.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/utils/BeanDiff.java
index eeb792b..3cb3e4f 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/utils/BeanDiff.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/utils/BeanDiff.java
@@ -39,7 +39,7 @@ import org.apache.juneau.marshall.SimpleJson;
* System.<jsf>err</jsf>.println(bf);
* </p>
*/
-@Bean(properties="v1,v2")
+@Bean(bpi="v1,v2")
public class BeanDiff {
private ObjectMap v1 = new ObjectMap(), v2 = new ObjectMap();