Как использовать OData4J с неизвестным количеством дочерних объектов?

Я пытаюсь создать createEntity OEntity для объекта, в котором есть несколько дочерних коллекций.

Я просмотрел множество примеров проектов, но все они, похоже, предполагают, что у вас есть известное количество дочерних объектов в коллекции, поэтому вы можете использовать .inLine(“ObjectName”, ObjectOEntity1, ObjecteOEntity2…)

Я попытался просмотреть документацию и не нашел ничего, что заставило бы меня думать, что я могу создать коллекцию объектов OEntity, которые затем можно добавить к моему родительскому объекту с помощью встроенного.

Самым близким, который я нашел, был пример, указанный в:

http://code.google.com/p/odata4j/source/browse/odata4j-fit/src/test/java/org/odata4j/producer/jpa/northwind/test/CreateTest.java?name=0.6

Кто-нибудь еще сталкивался с этой проблемой?
Если да, то как вы ее обошли?


person ewjames    schedule 23.05.2012    source источник


Ответы (1)


Вы можете передать массив из OEntity объектов. Библиотека core4j, используемая odata4j, содержит несколько вспомогательных методов, которые можно, например, использовать для получения массива из Iterable:

OEntity[] entitiesArray = Enumerable.create(entitiesIterable)
    .toArray(OEntity.class);

Но так как есть еще два варианта метода свойств...

OCreateRequest<T> properties(OProperty<?>... props);
OCreateRequest<T> properties(Iterable<OProperty<?>> props);

... может иметь смысл добавить метод inline, который напрямую принимает Iterable<OEntity>.

person Philipp Thun    schedule 29.05.2012
comment
Спасибо. Я посмотрю на это. В методе inLine, который принимает Iterable<OEntity>, я ожидал увидеть, но не смог найти. - person ewjames; 29.05.2012
comment
@ewjames — я добавил этот второй метод inline в кодовую базу odata4j: ‹code.google.com/p/odata4j/source/ - person Philipp Thun; 31.05.2012
comment
Спасибо, я проверю это на следующей неделе, сейчас я работаю над другим проектом. - person ewjames; 14.06.2012