public ActionInvocationFacetWrapProxy(final ActionInvocationFacet underlyingFacet, final ServerFacade connection, final ObjectEncoderDecoder encoder, final ObjectAction objectAction) { super(underlyingFacet.getFacetHolder()); this.underlyingFacet = underlyingFacet; this.serverFacade = connection; this.encoder = encoder; this.objectAction = objectAction; }
@Override public ObjectSpecification getOnType() { return underlyingFacet.getOnType(); }
@Override public ObjectSpecification getReturnType() { return underlyingFacet.getReturnType(); }
@Override public ObjectAdapter execute() { return underlyingFacet.invoke(targetAdapter, parameterAdapters); } });
@Override public ObjectAdapter execute(final ObjectAdapter object, final ObjectAdapter[] parameters) { LOG.debug("execute action " + object + "." + getId()); final ObjectAdapter[] params = realParameters(object, parameters); final ObjectAdapter target = realTarget(object); final ActionInvocationFacet facet = getFacet(ActionInvocationFacet.class); return facet.invoke(target, params); }
@Override public ObjectSpecification getOnType() { return underlyingFacet.getOnType(); }
@Override public ObjectSpecification getReturnType() { return underlyingFacet.getReturnType(); }
@Override public ObjectAdapter invoke(final ObjectAdapter target, final ObjectAdapter[] parameters) { if (isToBeExecutedRemotely(target)) { /* * NOTE - only remotely executing actions on objects not collection * - due to collections not having OIDs yet */ return executeRemotely(target, parameters); } else { LOG.debug(debug("execute locally", getIdentifier(), target, parameters)); return underlyingFacet.invoke(target, parameters); } }
public ActionInvocationFacetWrapTransaction(final ActionInvocationFacet underlyingFacet) { super(underlyingFacet.getFacetHolder()); this.underlyingFacet = underlyingFacet; }
@Override public ObjectSpecification getOnType() { final ActionInvocationFacet facet = getActionInvocationFacet(); return facet.getOnType(); }
@Override public ObjectSpecification getReturnType() { final ActionInvocationFacet facet = getActionInvocationFacet(); return facet.getReturnType(); }
@Before public void setUp() throws Exception { BasicConfigurator.configure(); LogManager.getRootLogger().setLevel(Level.OFF); system = new TestProxySystem(); system.init(); mockObjectAction = mockery.mock(ObjectAction.class); mockEncoder = mockery.mock(ObjectEncoderDecoder.class); mockDistribution = mockery.mock(ServerFacade.class); mockActionInvocationFacet = mockery.mock(ActionInvocationFacet.class); mockFacetHolder = mockery.mock(FacetHolder.class); identifier = Identifier.classIdentifier(""); target = system.createTransientTestObject(); mockery.checking(new Expectations() { { one(mockActionInvocationFacet).getFacetHolder(); will(returnValue(mockFacetHolder)); allowing(mockObjectAction).getIdentifier(); will(returnValue((identifier))); allowing(mockObjectAction).execute(with(equalTo(target)), with(any(ObjectAdapter[].class))); will(returnValue(null)); } }); proxy = new ActionInvocationFacetWrapProxy(mockActionInvocationFacet, mockDistribution, mockEncoder, mockObjectAction); }