Convertir condición Scala de Java predicado

Cassie:

Estoy utilizando la biblioteca de Java fabric8io para trabajar con Kubernetes en Scala. Me gustaría utilizar la función waitUntilCondition que recibió java.util.Predicate como primer argumento. Sin embargo, en Scala predicado está formado en una forma diferente. Y me sale un error de compilación:

Type mismatch, expected: Predicate[Pod], actual: Nothing => Any

¿Cómo puedo definir este predicado en Scala? Aquí está el código que utilicé:

client.pods()
    .inNamespace("default")
    .withName("app-driver")
    .waitUntilCondition(condition => condition.getStatus().getPhase().equals("Running"), 15, TimeUnit.MINUTES)
Mario Galic:

Scala 2.12 parece compilarse bien fuera de la caja en mi máquina, sin embargo, en Scala 2.11 tuve que usar Scala-java8-compat asJavaPredicatesegún lo sugerido por @KrzysztofAtlasik (sólo escriba adscripción no funcionó para mí).

Si la actualización a Scala 2,12 o importar scala-java8-compat no son una opción, a continuación, tratar instanciar Predicate[Pod]y override testmétodo como tal

waitUntilCondition(
  new Predicate[Pod] { def test(pod: Pod): Boolean = pod.getStatus.getPhase.equals("Running") }, 
  15, 
  TimeUnit.MINUTES
)

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=224137&siteId=1
Recomendado
Clasificación