private Object handleGetterMethodOnProperty( final Object[] args, final NakedObject targetAdapter, final OneToOneAssociation otoa, final String methodName) { if (args.length != 0) { throw new IllegalArgumentException("Invoking a 'get' should have no arguments"); } resolveIfRequired(targetAdapter); final NakedObject currentReferencedAdapter = otoa.get(targetAdapter); final Object currentReferencedObj = NakedObjectUtils.unwrap(currentReferencedAdapter); final PropertyAccessEvent ev = new PropertyAccessEvent(getDelegate(), otoa.getIdentifier(), currentReferencedObj); notifyListeners(ev); return currentReferencedObj; }
@Test public void shouldBeAbleToAddListener() { final Customer proxiedCustRP = getHeadlessViewer().view(custJsDO); final InteractionEvent[] events = { null }; final InteractionListener l = new InteractionAdapter() { @Override public void propertyAccessed(PropertyAccessEvent ev) { events[0] = ev; } }; getHeadlessViewer().addInteractionListener(l); proxiedCustRP.getFirstName(); assertThat(events[0], notNullValue()); final PropertyAccessEvent ev = (PropertyAccessEvent) events[0]; assertThat(ev.getMemberNaturalName(), is("First Name")); }
@Test public void shouldBeAbleToAddListener() { final Customer proxiedCustRP = getHeadlessViewer().view(custJsDO); final InteractionEvent[] events = { null }; final InteractionListener l = new InteractionAdapter() { @Override public void propertyAccessed(PropertyAccessEvent ev) { events[0] = ev; } }; getHeadlessViewer().addInteractionListener(l); proxiedCustRP.getFirstName(); assertThat(events[0], notNullValue()); final PropertyAccessEvent ev = (PropertyAccessEvent) events[0]; assertThat(ev.getMemberNaturalName(), is("First Name")); }
private Object handleGetterMethodOnProperty( final Object[] args, final NakedObject targetAdapter, final OneToOneAssociation otoa, final String methodName) { if (args.length != 0) { throw new IllegalArgumentException("Invoking a 'get' should have no arguments"); } resolveIfRequired(targetAdapter); final NakedObject currentReferencedAdapter = otoa.get(targetAdapter); final Object currentReferencedObj = NakedObjectUtils.unwrap(currentReferencedAdapter); final PropertyAccessEvent ev = new PropertyAccessEvent(getDelegate(), otoa.getIdentifier(), currentReferencedObj); notifyListeners(ev); return currentReferencedObj; }
private Object handleGetterMethodOnProperty( final Object[] args, final NakedObject targetAdapter, final OneToOneAssociation otoa, final String methodName) { if (args.length != 0) { throw new IllegalArgumentException("Invoking a 'get' should have no arguments"); } resolveIfRequired(targetAdapter); final NakedObject currentReferencedAdapter = otoa.get(targetAdapter); final Object currentReferencedObj = NakedObjectUtils.unwrap(currentReferencedAdapter); final PropertyAccessEvent ev = new PropertyAccessEvent(getDelegate(), otoa.getIdentifier(), currentReferencedObj); notifyListeners(ev); return currentReferencedObj; }
@Override public PropertyAccessEvent createInteractionEvent() { return new PropertyAccessEvent(unwrap(getTarget()), getIdentifier(), unwrap(getValue())); }
@Override public PropertyAccessEvent createInteractionEvent() { return new PropertyAccessEvent(unwrap(getTarget()), getIdentifier(), unwrap(getValue())); }