Как сопоставить список с его размером - PullRequest
1 голос
/ 18 марта 2019

В моих сущностях у меня есть объект Shelf с коллекцией книг

public class Shelf{
  ...
  private List<Book> books;
}

В моем ShelfDTO мне нужно только количество книг

public class ShelfDTO{
  ...
  private int booksNumber;
}

Я пробовалс:

modelMapper.addMappings(new PropertyMap<Shelf, ShelfDTO>() {
        protected void configure() {
            map().setBooksNumber(source.getBooks().size());
        }
    });

Но я получаю исключение при попытке запустить приложение:

Caused by: java.lang.NullPointerException: null
    at org.modelmapper.internal.ExplicitMappingBuilder$ExplicitMappingInterceptor.access$000(ExplicitMappingBuilder.java:304) ~[modelmapper-2.3.0.jar:na]
    at org.modelmapper.internal.ExplicitMappingBuilder.createAccessorProxies(ExplicitMappingBuilder.java:287) ~[modelmapper-2.3.0.jar:na]
    at org.modelmapper.internal.ExplicitMappingBuilder.createProxies(ExplicitMappingBuilder.java:277) ~[modelmapper-2.3.0.jar:na]

Есть ли способ сделать это с сопоставлением свойств, или я должен использовать пользователяконвертер?

...