ClassCastException с использованием Primefaces PickList - PullRequest
0 голосов
/ 08 января 2020

Я получил следующий объект DTO

public class ToManyAssociationModel<T> implements Serializable {
    private DualListModel<String> assigned;
    ...
    public ToManyAssociationModel() {
                ...
                source.add("FOO");
                source.add("BAR");
                ...
                assigned = new DualListModel<String>(source,target
                        );
        }
}

Мой интерфейс выглядит следующим образом:

<p:pickList id="pickList" value="#{benutzerkontoModel.availableBenutzergruppen}" var="cities" itemLabel="#{cities}" itemValue="#{cities}" />

, а модель BenutzerkontoModel выглядит следующим образом:

 public BenutzerkontoDTO(Benutzerkonto benutzerkonto, ToManyAssociationModel<Long> benutzergruppen) {
        assert benutzerkonto != null : "benutzerkonto must not be null";
        assert benutzergruppen != null : "benutzergruppen must not be null";

        this.benutzerkonto = benutzerkonto;
        this.benutzergruppen = benutzergruppen;
    }

Однако Я получаю следующую ошибку:

java.lang.ClassCastException: cannot assign instance of org.primefaces.model.DualListModel to field de.db.udg.diagnose.udgdiag.domain.base.ToManyAssociationModel.assigned of type org.primefaces.model.DualListModel in instance of de.db.udg.diagnose.udgdiag.domain.base.ToManyAssociationModel

POM домена (где вложена модель ToManyAssociationModel): (только соответствующие части)

<dependency>
      <groupId>org.primefaces</groupId>
      <artifactId>primefaces</artifactId>
      <version>7.0</version>
      <scope>provided</scope>
</dependency>

WAR POM: (только соответствующие части)

<dependency>
      <groupId>org.primefaces</groupId>
      <artifactId>primefaces</artifactId>
      <version>7.0</version>
      <scope>compile</scope>
</dependency>

 <!-- PrimeFaces File Upload utils -->
    <dependency>
      <groupId>commons-fileupload</groupId>
      <artifactId>commons-fileupload</artifactId>
      <version>1.2.1</version>
      <scope>compile</scope>
    </dependency>
...