Ich nutze die Interoperabilität zwischen Scala und Java und habe den folgenden Code, der Scala verwendet, um eine Klasse in demselben Projekt zu erstellen, die in Java geschrieben wurde. Der CommandExecutor
Parameter wird von einer übergeordneten Klasse geerbt.Scala kann Konstruktor nicht auflösen
class IdmIdentityServiceImpl extends ServiceImpl with IdmIdentityService {
override def createNativeUserQuery: NativeUserQuery = {
new NativeUserQueryImpl(commandExecutor)
}
}
Ich erhalte eine Fehlermeldung, NativeUserQueryImpl
in instanziieren, der sagt cannot resolve constructor
NativeUserQueryImpl
wurde in Java geschrieben, aber ich habe über die Interoperabilität zwischen Java und Scala zu lesen und fühlen, wie es funktionieren sollte.
Dies ist die NativeUserQueryImpl
Klasse, die in diesem Konstruktor CommandExecutor
Typ einnimmt. Die Klasse stammt aus der Bibliothek für fließfähige Module.
public class NativeUserQueryImpl extends AbstractNativeQuery<NativeUserQuery, User> implements NativeUserQuery {
private static final long serialVersionUID = 1L;
public NativeUserQueryImpl(CommandContext commandContext) {
super(commandContext);
}
public NativeUserQueryImpl(CommandExecutor commandExecutor) {
super(commandExecutor);
}
// results ////////////////////////////////////////////////////////////////
public List<User> executeList(CommandContext commandContext, Map<String, Object> parameterMap, int firstResult, int maxResults) {
return commandContext.getUserEntityManager().findUsersByNativeQuery(parameterMap, firstResult, maxResults);
}
public long executeCount(CommandContext commandContext, Map<String, Object> parameterMap) {
return commandContext.getUserEntityManager().findUserCountByNativeQuery(parameterMap);
}
}
EDIT:
Voll Fehler
Error:(31, 5) overloaded method constructor NativeUserQueryImpl with alternatives:
(x$1: org.flowable.idm.engine.impl.interceptor.CommandExecutor)org.flowable.idm.engine.impl.NativeUserQueryImpl <and>
(x$1: org.flowable.idm.engine.impl.interceptor.CommandContext)org.flowable.idm.engine.impl.NativeUserQueryImpl
cannot be applied to (org.flowable.engine.impl.interceptor.CommandExecutor)
new NativeUserQueryImpl(commandExecutor)
Wo ist 'commandExecutor' definiert? – nmat
@nmat im selben Projekt – Rafa
Es ist von einer Elternklasse geerbt. Ich füge die vollständige Klassensignatur hinzu, in der dies enthalten ist. Es ist in 'ServiceImpl' – Rafa