2016-05-19 2 views
0

peut me aider à convertir ce morceau de code dans l'expression lambda, Je suis frappé avec cel'expression à la conversion lambda

Observable.create(new OnSubscribe<User>() { 
     @Override 
     public void call(Subscriber<? super User> arg0) { 
      User updatedUser = userService.updateuser(usermapper.userdtotoentity(user)); 
      arg0.onNext(updatedUser); 
     } 
    }).subscribe(new Action1<User>() { 
     @Override 
     public void call(User user) { 
      if (user != null) { 
       response.resume(user); 
      } else 
       response.resume(Response.status(Status.NOT_FOUND).build()); 
     } 
    }, new Action1<Throwable>() { 
     @Override 
     public void call(Throwable t) { 
      logger.debug("User with email_id:" + email_id + " is not present"); 
      response.resume(t); 
     } 
    }); 
+0

Pourquoi votre environnement de développement ne le faites pas pour vous? – zella

+0

Non je ne pense pas, est-il une option pour le faire dans ide? – Sanket

Répondre

3
Observable.<User>create(subscriber -> { 

     User updatedUser = userService.updateuser(usermapper.userdtotoentity(user)); 
     subscriber.onNext(updatedUser); 

    }).subscribe(

     user -> { 
      if (user != null) { 
       response.resume(user); 
      } else { 
      response.resume(Response.status(Status.NOT_FOUND).build()); 
      } 
     }, 

     error -> { 
      logger.debug("User with email_id:" + email_id + " is not present"); 
      response.resume(error); 
     } 
    ); 
+0

Je reçois une erreur pour ceci comme sur la 4ème ligne: L'utilisateur de paramètre de l'expression Lambda ne peut pas redéclarer une autre variable locale définie dans une portée englobante. – Sanket

+0

il manquait} –

+0

où ajouter le manquant}? – Sanket