Объективировать группы нагрузок без фильтрации Ref <> данных - PullRequest
0 голосов
/ 12 ноября 2018

Я использую конечные точки Google Cloud с Objectify, чтобы создать бэкэнд Java для моего мобильного приложения.Все прекрасно работает, за исключением того, что полное дерево JSON возвращается, даже когда я использую группы загрузки Objectify.Например, подмножество дерева включает в себя класс Building, который имеет Address и список этажей:

public class Building {

    @Load(Everything.class)
    private Ref<Address> address;

    @Load(Lite.class})
    private List<Ref<Floor>> floors = new ArrayList<Ref<Floor>>();

    public Address getAddress() {
        return Deref.deref(address);
    }

    public List<Floor> getFloors() {
        return Deref.deref(floors);
    }

}

public class BuildingEndpoint {

    @ApiMethod(name = "building.getLite", path = "building_get_lite")
    public Building getLite(@Named("id") Long id) {     

    Building building = ofy().load().group(Lite.class).type(Building.class).id(id).now();

    return building;
    }

}

Согласно документам Objectify, адрес должен загружаться, но НЕ этажи, однако всезагружается (так же как и дочерние классы Пола, вплоть до иерархии объектов).

На всякий случай, если проблема связана с разыменованием, я включаю его здесь:

public class Deref {

    public static class Func<T> implements Function<Ref<T>, T> {
        public static Func<Object> INSTANCE = new Func<Object>();

        @Override
        public T apply(Ref<T> ref) {
            return deref(ref);
        }
    }

    public static <T> T deref(Ref<T> ref) {
        return ref == null ? null : ref.get();
    }

    @SuppressWarnings({ "unchecked", "rawtypes" })
    public static <T> List<T> deref(List<Ref<T>> reflist) {
        return Lists.transform(reflist, (Func)Func.INSTANCE);
    }
}

Любая идея о том, почему группы загрузки не работают, а иерархия объектов ПОЛНАЯ загружается, высоко ценится.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...