RequestFactoryでエンティティプロキシのフィールドも入力することができますか教えてください。あなたはそれをフィールドとして別のプロキシが含まれて見ることができるようにここでRequestFactoryが自分のエンティティプロキシのすべてのフィールドに値を設定しない
は親プロキシ
@ProxyFor(value = Organization.class, locator = PojoLocator.class)
public interface OrganizationProxy extends EntityProxy
{
public String getName();
public void setName(String name);
public String getAddress();
public void setAddress(String address);
public PersonProxy getContactPerson();
public void setContactPerson(PersonProxy contactPerson);
}
です。 PersonProxyが、私は方法Request<OrganizationProxy> findOrganizationById(long id)
を持っている私のRequestContext
インタフェースで
@ProxyFor(value = Person.class, locator = PojoLocator.class)
public interface PersonProxy extends EntityProxy
{
public String getName();
public void setName(String name);
public String getPhoneNumber();
public void setPhoneNumber(String phoneNumber);
public String getEmail();
public void setEmail(String email);
public OrganizationProxy getOrganization();
public void setOrganization(OrganizationProxy organization);
}
どのように見えるかをここにあります。実際の組織をデータストアからフェッチするDAOクラスは、contactPerson
フィールドを設定しますが、クライアントでは常にnull
です。実際、RequestFactoryはOrganization.getContactPerson()を呼び出すことさえありません。私のクライアントの呼び出しがこの
createFactory().contextOrder().findOrganizationById(1).fire(new Receiver<OrganizationProxy>()
{
@Override
public void onSuccess(OrganizationProxy response)
{
if (response == null)
{
organizationProxy = orderRequestContext.create(OrganizationProxy.class);
organizationProxy.setContactPerson(orderRequestContext.create(PersonProxy.class));
} else
organizationProxy = orderRequestContext.edit(response);
// Copy the data in the object into the UI
driver.edit(organizationProxy);
}
@Override
public void onFailure(ServerFailure error)
{
createConfirmationDialogBox(error.getMessage()).center();
}
});
のように見えます
私はここで何をしないのですか?手動でどこかで何かしなければならないのですか? RequestFactoryはグラフ全体に値を設定するのではないですか?