You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@olingo.apache.org by ch...@apache.org on 2014/08/24 18:12:01 UTC
git commit: [OLINGO-415] Java client-proxy code getter method has
performane issue: invoke() checks get- before isSelfMethods().
Repository: olingo-odata4
Updated Branches:
refs/heads/master 58619c966 -> 9c78784de
[OLINGO-415] Java client-proxy code getter method has performane issue: invoke() checks get- before isSelfMethods().
Project: http://git-wip-us.apache.org/repos/asf/olingo-odata4/repo
Commit: http://git-wip-us.apache.org/repos/asf/olingo-odata4/commit/9c78784d
Tree: http://git-wip-us.apache.org/repos/asf/olingo-odata4/tree/9c78784d
Diff: http://git-wip-us.apache.org/repos/asf/olingo-odata4/diff/9c78784d
Branch: refs/heads/master
Commit: 9c78784deea668e2e2999141569fa1450bd498a2
Parents: 58619c9
Author: challenh <ch...@microsoft.com>
Authored: Mon Aug 25 00:10:52 2014 +0800
Committer: challenh <ch...@microsoft.com>
Committed: Mon Aug 25 00:10:52 2014 +0800
----------------------------------------------------------------------
.../olingo/ext/proxy/api/AbstractOpenType.java | 6 +-
.../olingo/ext/proxy/api/Annotatable.java | 6 +-
.../apache/olingo/ext/proxy/api/EntityType.java | 3 +-
.../AbstractStructuredInvocationHandler.java | 75 +++++++++++---------
.../commons/AnnotatableInvocationHandler.java | 4 +-
.../proxy/commons/EntityInvocationHandler.java | 7 +-
.../olingo/fit/proxy/v3/OpenTypeTestITCase.java | 18 ++---
.../fit/proxy/v4/APIBasicDesignTestITCase.java | 4 +-
.../olingo/fit/proxy/v4/OpenTypeTestITCase.java | 30 ++++----
.../fit/proxy/v4/SingletonTestITCase.java | 12 ++--
10 files changed, 88 insertions(+), 77 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/9c78784d/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/api/AbstractOpenType.java
----------------------------------------------------------------------
diff --git a/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/api/AbstractOpenType.java b/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/api/AbstractOpenType.java
index a4d9bf2..b28ced9 100644
--- a/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/api/AbstractOpenType.java
+++ b/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/api/AbstractOpenType.java
@@ -26,7 +26,9 @@ public interface AbstractOpenType {
void removeAdditionalProperty(String name);
- Object getAdditionalProperty(String name);
+ // use read- instead of get- for .invoke() to distinguish it from entity property getter.
+ Object readAdditionalProperty(String name);
- Collection<String> getAdditionalPropertyNames();
+ // use read- instead of get- for .invoke() to distinguish it from entity property getter.
+ Collection<String> readAdditionalPropertyNames();
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/9c78784d/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/api/Annotatable.java
----------------------------------------------------------------------
diff --git a/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/api/Annotatable.java b/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/api/Annotatable.java
index 08af72b..70048ba 100644
--- a/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/api/Annotatable.java
+++ b/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/api/Annotatable.java
@@ -27,8 +27,10 @@ public interface Annotatable extends Serializable {
void removeAnnotation(Class<? extends AbstractTerm> term);
- Object getAnnotation(Class<? extends AbstractTerm> term);
+ // use read- instead of get- for .invoke() to distinguish it from entity property getter.
+ Object readAnnotation(Class<? extends AbstractTerm> term);
- Collection<Class<? extends AbstractTerm>> getAnnotationTerms();
+ // use read- instead of get- for .invoke() to distinguish it from entity property getter.
+ Collection<Class<? extends AbstractTerm>> readAnnotationTerms();
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/9c78784d/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/api/EntityType.java
----------------------------------------------------------------------
diff --git a/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/api/EntityType.java b/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/api/EntityType.java
index 891b2db..e68eab9 100644
--- a/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/api/EntityType.java
+++ b/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/api/EntityType.java
@@ -32,5 +32,6 @@ public interface EntityType<T extends StructuredType<?>> extends StructuredType<
*
* @return entity reference ID.
*/
- String getEntityReferenceID();
+ // use read- instead of get- for .invoke() to distinguish it from entity property getter.
+ String readEntityReferenceID();
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/9c78784d/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/AbstractStructuredInvocationHandler.java
----------------------------------------------------------------------
diff --git a/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/AbstractStructuredInvocationHandler.java b/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/AbstractStructuredInvocationHandler.java
index 43c161f..aaae42c 100644
--- a/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/AbstractStructuredInvocationHandler.java
+++ b/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/AbstractStructuredInvocationHandler.java
@@ -158,41 +158,13 @@ public abstract class AbstractStructuredInvocationHandler extends AbstractInvoca
@Override
public Object invoke(final Object proxy, final Method method, final Object[] args) throws Throwable {
- if ("expand".equals(method.getName())
- || "select".equals(method.getName())
- || "refs".equals(method.getName())) {
- invokeSelfMethod(method, args);
- return proxy;
- } else if (isSelfMethod(method, args)) {
- return invokeSelfMethod(method, args);
- } else if ("load".equals(method.getName()) && ArrayUtils.isEmpty(args)) {
- load();
- return proxy;
- } else if ("loadAsync".equals(method.getName()) && ArrayUtils.isEmpty(args)) {
- return service.getClient().getConfiguration().getExecutor().submit(new Callable<Object>() {
- @Override
- public Object call() throws Exception {
- load();
- return proxy;
- }
- });
- } else if ("operations".equals(method.getName()) && ArrayUtils.isEmpty(args)) {
- final Class<?> returnType = method.getReturnType();
+ if (method.getName().startsWith("get")) {
+ // Here need check "get"/"set" first for better get-/set- performance because
+ // the below if-statements are really time-consuming, even twice slower than "get" body.
- return Proxy.newProxyInstance(
- Thread.currentThread().getContextClassLoader(),
- new Class<?>[] {returnType},
- OperationInvocationHandler.getInstance(getEntityHandler()));
- } else if ("annotations".equals(method.getName()) && ArrayUtils.isEmpty(args)) {
- final Class<?> returnType = method.getReturnType();
-
- return Proxy.newProxyInstance(
- Thread.currentThread().getContextClassLoader(),
- new Class<?>[] {returnType},
- AnnotatationsInvocationHandler.getInstance(getEntityHandler(), this));
- } else if (method.getName().startsWith("get")) {
- // Assumption: for each getter will always exist a setter and viceversa.
+ // Assumption: for each getter will always exist a setter and viceversa.
// get method annotation and check if it exists as expected
+
final Object res;
final Method getter = typeRef.getMethod(method.getName());
@@ -234,6 +206,38 @@ public abstract class AbstractStructuredInvocationHandler extends AbstractInvoca
}
return ClassUtils.returnVoid();
+ } else if ("expand".equals(method.getName())
+ || "select".equals(method.getName())
+ || "refs".equals(method.getName())) {
+ invokeSelfMethod(method, args);
+ return proxy;
+ } else if (isSelfMethod(method, args)) {
+ return invokeSelfMethod(method, args);
+ } else if ("load".equals(method.getName()) && ArrayUtils.isEmpty(args)) {
+ load();
+ return proxy;
+ } else if ("loadAsync".equals(method.getName()) && ArrayUtils.isEmpty(args)) {
+ return service.getClient().getConfiguration().getExecutor().submit(new Callable<Object>() {
+ @Override
+ public Object call() throws Exception {
+ load();
+ return proxy;
+ }
+ });
+ } else if ("operations".equals(method.getName()) && ArrayUtils.isEmpty(args)) {
+ final Class<?> returnType = method.getReturnType();
+
+ return Proxy.newProxyInstance(
+ Thread.currentThread().getContextClassLoader(),
+ new Class<?>[] {returnType},
+ OperationInvocationHandler.getInstance(getEntityHandler()));
+ } else if ("annotations".equals(method.getName()) && ArrayUtils.isEmpty(args)) {
+ final Class<?> returnType = method.getReturnType();
+
+ return Proxy.newProxyInstance(
+ Thread.currentThread().getContextClassLoader(),
+ new Class<?>[] {returnType},
+ AnnotatationsInvocationHandler.getInstance(getEntityHandler(), this));
} else {
throw new NoSuchMethodException(method.getName());
}
@@ -517,7 +521,8 @@ public abstract class AbstractStructuredInvocationHandler extends AbstractInvoca
return navPropValue;
}
- public Object getAdditionalProperty(final String name) {
+ // use read- instead of get- for .invoke() to distinguish it from entity property getter.
+ public Object readAdditionalProperty(final String name) {
return getPropertyValue(name, null);
}
@@ -525,7 +530,7 @@ public abstract class AbstractStructuredInvocationHandler extends AbstractInvoca
return propertyChanges;
}
- public Collection<String> getAdditionalPropertyNames() {
+ public Collection<String> readAdditionalPropertyNames() {
final Set<String> res = new HashSet<String>(propertyChanges.keySet());
final Set<String> propertyNames = new HashSet<String>();
for (Method method : typeRef.getMethods()) {
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/9c78784d/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/AnnotatableInvocationHandler.java
----------------------------------------------------------------------
diff --git a/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/AnnotatableInvocationHandler.java b/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/AnnotatableInvocationHandler.java
index 6409d24..a219cdc 100644
--- a/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/AnnotatableInvocationHandler.java
+++ b/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/AnnotatableInvocationHandler.java
@@ -141,7 +141,7 @@ public class AnnotatableInvocationHandler extends AbstractInvocationHandler impl
}
@Override
- public Object getAnnotation(final Class<? extends AbstractTerm> term) {
+ public Object readAnnotation(final Class<? extends AbstractTerm> term) {
Object res = null;
if (annotations.containsKey(term)) {
@@ -171,7 +171,7 @@ public class AnnotatableInvocationHandler extends AbstractInvocationHandler impl
}
@Override
- public Collection<Class<? extends AbstractTerm>> getAnnotationTerms() {
+ public Collection<Class<? extends AbstractTerm>> readAnnotationTerms() {
return entityHandler.getEntity() instanceof ODataEntity
? CoreUtils.getAnnotationTerms(service, internalAnnotations())
: Collections.<Class<? extends AbstractTerm>>emptyList();
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/9c78784d/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/EntityInvocationHandler.java
----------------------------------------------------------------------
diff --git a/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/EntityInvocationHandler.java b/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/EntityInvocationHandler.java
index 32d3b26..2a23b11 100644
--- a/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/EntityInvocationHandler.java
+++ b/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/EntityInvocationHandler.java
@@ -406,7 +406,7 @@ public class EntityInvocationHandler extends AbstractStructuredInvocationHandler
}
@Override
- public Object getAnnotation(final Class<? extends AbstractTerm> term) {
+ public Object readAnnotation(final Class<? extends AbstractTerm> term) {
Object res = null;
if (annotations.containsKey(term)) {
@@ -436,7 +436,7 @@ public class EntityInvocationHandler extends AbstractStructuredInvocationHandler
}
@Override
- public Collection<Class<? extends AbstractTerm>> getAnnotationTerms() {
+ public Collection<Class<? extends AbstractTerm>> readAnnotationTerms() {
return getEntity() instanceof ODataEntity
? CoreUtils.getAnnotationTerms(service, ((ODataEntity) getEntity()).getAnnotations())
: Collections.<Class<? extends AbstractTerm>>emptyList();
@@ -493,7 +493,8 @@ public class EntityInvocationHandler extends AbstractStructuredInvocationHandler
return getEntity() == null ? null : getEntity().getProperty(name);
}
- public String getEntityReferenceID() {
+ // use read- instead of get- for .invoke() to distinguish it from entity property getter.
+ public String readEntityReferenceID() {
URI id = getEntity() == null ? null
: getClient().getServiceVersion().compareTo(ODataServiceVersion.V30) <= 0
? ((org.apache.olingo.commons.api.domain.v3.ODataEntity) getEntity()).getLink()
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/9c78784d/fit/src/test/java/org/apache/olingo/fit/proxy/v3/OpenTypeTestITCase.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/OpenTypeTestITCase.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/OpenTypeTestITCase.java
index a0e8b99..5e51ad6 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/OpenTypeTestITCase.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/OpenTypeTestITCase.java
@@ -72,11 +72,11 @@ public class OpenTypeTestITCase extends AbstractTestITCase {
@Test
public void read() {
Row row = otcontainer.getRow().getByKey(UUID.fromString("71f7d0dc-ede4-45eb-b421-555a2aa1e58f")).load();
- assertEquals(Double.class, row.getAdditionalProperty("Double").getClass());
+ assertEquals(Double.class, row.readAdditionalProperty("Double").getClass());
assertEquals("71f7d0dc-ede4-45eb-b421-555a2aa1e58f", row.getId().toString());
row = otcontainer.getRow().getByKey(UUID.fromString("672b8250-1e6e-4785-80cf-b94b572e42b3")).load();
- assertEquals(BigDecimal.class, row.getAdditionalProperty("Decimal").getClass());
+ assertEquals(BigDecimal.class, row.readAdditionalProperty("Decimal").getClass());
}
@Test
@@ -119,13 +119,13 @@ public class OpenTypeTestITCase extends AbstractTestITCase {
otcontainer.flush();
rowIndex = otcontainer.getRowIndex().getByKey(id).load();
- assertEquals(String.class, rowIndex.getAdditionalProperty("aString").getClass());
- assertEquals(Boolean.class, rowIndex.getAdditionalProperty("aBoolean").getClass());
- assertEquals(Double.class, rowIndex.getAdditionalProperty("aDouble").getClass());
- assertEquals(Byte.class, rowIndex.getAdditionalProperty("aByte").getClass());
- assertEquals(Byte.MAX_VALUE, rowIndex.getAdditionalProperty("aByte"));
- assertTrue(Timestamp.class.isAssignableFrom(rowIndex.getAdditionalProperty("aDate").getClass()));
- assertEquals(ContactDetails.class, rowIndex.getAdditionalProperty("aContact").getClass().getInterfaces()[0]);
+ assertEquals(String.class, rowIndex.readAdditionalProperty("aString").getClass());
+ assertEquals(Boolean.class, rowIndex.readAdditionalProperty("aBoolean").getClass());
+ assertEquals(Double.class, rowIndex.readAdditionalProperty("aDouble").getClass());
+ assertEquals(Byte.class, rowIndex.readAdditionalProperty("aByte").getClass());
+ assertEquals(Byte.MAX_VALUE, rowIndex.readAdditionalProperty("aByte"));
+ assertTrue(Timestamp.class.isAssignableFrom(rowIndex.readAdditionalProperty("aDate").getClass()));
+ assertEquals(ContactDetails.class, rowIndex.readAdditionalProperty("aContact").getClass().getInterfaces()[0]);
otservice.getContext().detachAll();
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/9c78784d/fit/src/test/java/org/apache/olingo/fit/proxy/v4/APIBasicDesignTestITCase.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/APIBasicDesignTestITCase.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/APIBasicDesignTestITCase.java
index 2a7d612..2f91916 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/APIBasicDesignTestITCase.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/APIBasicDesignTestITCase.java
@@ -100,11 +100,11 @@ public class APIBasicDesignTestITCase extends AbstractTestITCase {
public void readWithReferences() {
final Person person = container.getOrders().getByKey(8).getCustomerForOrder().refs().load();
assertEquals("http://localhost:9080/stub/StaticService/V40/Static.svc/Customers(PersonID=1)",
- person.getEntityReferenceID());
+ person.readEntityReferenceID());
final OrderCollection orders = container.getCustomers().getByKey(1).getOrders().refs().execute();
assertEquals("http://localhost:9080/stub/StaticService/V40/Static.svc/Orders(7)",
- orders.iterator().next().getEntityReferenceID());
+ orders.iterator().next().readEntityReferenceID());
}
@Test
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/9c78784d/fit/src/test/java/org/apache/olingo/fit/proxy/v4/OpenTypeTestITCase.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/OpenTypeTestITCase.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/OpenTypeTestITCase.java
index 2cbd7bd..082331e 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/OpenTypeTestITCase.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/OpenTypeTestITCase.java
@@ -72,11 +72,11 @@ public class OpenTypeTestITCase extends AbstractTestITCase {
@Test
public void read() {
Row row = otcontainer.getRow().getByKey(UUID.fromString("71f7d0dc-ede4-45eb-b421-555a2aa1e58f")).load();
- assertEquals(Double.class, row.getAdditionalProperty("Double").getClass());
+ assertEquals(Double.class, row.readAdditionalProperty("Double").getClass());
assertEquals("71f7d0dc-ede4-45eb-b421-555a2aa1e58f", row.getId().toString());
row = otcontainer.getRow().getByKey(UUID.fromString("672b8250-1e6e-4785-80cf-b94b572e42b3")).load();
- assertEquals(BigDecimal.class, row.getAdditionalProperty("Decimal").getClass());
+ assertEquals(BigDecimal.class, row.readAdditionalProperty("Decimal").getClass());
}
@Test
@@ -126,19 +126,19 @@ public class OpenTypeTestITCase extends AbstractTestITCase {
otcontainer.flush();
rowIndex = otcontainer.getRowIndex().getByKey(id).load();
- assertEquals(String.class, rowIndex.getAdditionalProperty("aString").getClass());
- assertEquals(Boolean.class, rowIndex.getAdditionalProperty("aBoolean").getClass());
- assertEquals(Double.class, rowIndex.getAdditionalProperty("aDouble").getClass());
- assertEquals(Byte.class, rowIndex.getAdditionalProperty("aByte").getClass());
- assertEquals(Byte.MAX_VALUE, rowIndex.getAdditionalProperty("aByte"));
- assertTrue(Calendar.class.isAssignableFrom(rowIndex.getAdditionalProperty("aDate").getClass()));
- assertEquals(ContactDetails.class, rowIndex.getAdditionalProperty("aContact").getClass().getInterfaces()[0]);
- assertEquals(Color.class, rowIndex.getAdditionalProperty("aColor").getClass());
- assertEquals(Color.Green, rowIndex.getAdditionalProperty("aColor"));
- assertEquals("Fabio", AccountInfo.class.cast(rowIndex.getAdditionalProperty("info")).getFirstName());
- assertEquals("Martelli", AccountInfo.class.cast(rowIndex.getAdditionalProperty("info")).getLastName());
- assertEquals("fabio.martelli@tirasa.net", AccountInfo.class.cast(rowIndex.getAdditionalProperty("info")).
- getAdditionalProperty("email"));
+ assertEquals(String.class, rowIndex.readAdditionalProperty("aString").getClass());
+ assertEquals(Boolean.class, rowIndex.readAdditionalProperty("aBoolean").getClass());
+ assertEquals(Double.class, rowIndex.readAdditionalProperty("aDouble").getClass());
+ assertEquals(Byte.class, rowIndex.readAdditionalProperty("aByte").getClass());
+ assertEquals(Byte.MAX_VALUE, rowIndex.readAdditionalProperty("aByte"));
+ assertTrue(Calendar.class.isAssignableFrom(rowIndex.readAdditionalProperty("aDate").getClass()));
+ assertEquals(ContactDetails.class, rowIndex.readAdditionalProperty("aContact").getClass().getInterfaces()[0]);
+ assertEquals(Color.class, rowIndex.readAdditionalProperty("aColor").getClass());
+ assertEquals(Color.Green, rowIndex.readAdditionalProperty("aColor"));
+ assertEquals("Fabio", AccountInfo.class.cast(rowIndex.readAdditionalProperty("info")).getFirstName());
+ assertEquals("Martelli", AccountInfo.class.cast(rowIndex.readAdditionalProperty("info")).getLastName());
+ assertEquals("fabio.martelli@tirasa.net", AccountInfo.class.cast(rowIndex.readAdditionalProperty("info")).
+ readAdditionalProperty("email"));
otservice.getContext().detachAll();
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/9c78784d/fit/src/test/java/org/apache/olingo/fit/proxy/v4/SingletonTestITCase.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/SingletonTestITCase.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/SingletonTestITCase.java
index 5c0b8c6..f3ab08f 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/SingletonTestITCase.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/SingletonTestITCase.java
@@ -51,26 +51,26 @@ public class SingletonTestITCase extends AbstractTestITCase {
@Test
public void readWithAnnotations() {
final Company company = container.getCompany().load();
- assertTrue(company.getAnnotationTerms().isEmpty());
+ assertTrue(company.readAnnotationTerms().isEmpty());
final Person boss = container.getBoss().load();
assertEquals(2, boss.getPersonID(), 0);
- assertEquals(1, boss.getAnnotationTerms().size());
- Object isBoss = boss.getAnnotation(IsBoss.class);
+ assertEquals(1, boss.readAnnotationTerms().size());
+ Object isBoss = boss.readAnnotation(IsBoss.class);
assertTrue(isBoss instanceof Boolean);
assertTrue((Boolean) isBoss);
Annotatable annotations = boss.annotations().getFirstNameAnnotations();
- assertTrue(annotations.getAnnotationTerms().isEmpty());
+ assertTrue(annotations.readAnnotationTerms().isEmpty());
annotations = boss.annotations().getLastNameAnnotations();
- isBoss = annotations.getAnnotation(IsBoss.class);
+ isBoss = annotations.readAnnotation(IsBoss.class);
assertTrue(isBoss instanceof Boolean);
assertFalse((Boolean) isBoss);
annotations = boss.annotations().getParentAnnotations();
- isBoss = annotations.getAnnotation(IsBoss.class);
+ isBoss = annotations.readAnnotation(IsBoss.class);
assertTrue(isBoss instanceof Boolean);
assertFalse((Boolean) isBoss);
}