1

Estoy intentando que me valide si existe un item pero me devuelve un nullPointerException, sé que es un error común pero el problema es que no se porque al hacer la validación en el condicional es null no me funciona siendo que ya lo instancié, ya cambie el código pero me sigue apareciendo el mismo error, si alguien conoce donde puede estar el error y como lo puedo mejorar me seria de gran utilidad.

try {
    S3Object s3object = s3Client.getObject(bucketName, keyName);
    InputStream stream = s3object.getObjectContent();
    menu = securityAuthentication.getMenu(application, user, stream);
    
    System.out.println(new Gson().toJson(menu));
    menuWSDL = mapMenu(menu, menuWSDL);
    System.out.println(new Gson().toJson(menuWSDL));
    response.setMenu(menuWSDL);

} catch (Exception e) {
    this.logException(e, response);
    logger.info("getUserMenu fail");
    return response;
}

    response.setCode(CODE_SUCCESS);
    logger.info("getUserMenu ok");
    return response;
}

private co.com.grporg.entappwss.wse.Menu mapMenu(co.com.grporg.menus.Menu menu, co.com.grpor.entappwss.wse.Menu menuWSDL) {
    MenuItems menuItems = getMenuItem(menu.getMenuItems());
    menuWSDL.setMenuItems(menuItems);
    return menuWSDL;
}

private MenuItems getMenuItem(List<co.com.grporg.menus.MenuItem> menuItems) {
    MenuItem[] response = new MenuItem[menuItems.size()];
    MenuItems helper = getMenuItems();

    for (int i = 0; i < menuItems.size(); i++) {
        response[i] = new MenuItem(menuItems.get(i).getTipo(),
                menuItems.get(i).getTitulo(),
                menuItems.get(i).getUrl(),
                menuItems.get(i).getResource(),
                menuItems.get(i).getSubItems() != null ? getMenuItem(menuItems.get(i).getSubItems()) : helper);
    }

    MenuItems itemsResponse = new MenuItems();
    itemsResponse.setItem(response);
    return itemsResponse;
}

private MenuItems getMenuItems() {
    MenuItems helper = new MenuItems();
    MenuItem emptyNull = new MenuItem("tipo", "titulo","url", "resource", helper);
    helper.setItem(1, emptyNull);
    return helper;
}

Adjunto captura del error generado, las lineas que muestra el log son la parte de codigo que agregue en la parte superior, si estoy haciendo algo mal en mi codigo me puedes dar tu comentario Imagen Del Problema

** Soy nuevo en Java

  • 2
    Supongamos que el método donde está el try-catch es getUserMenu. ¿Seguro que `securityAuthentication` no esta nulo? No sabemos mucho y no se ve que hayas hecho debug del código para ver qué contienen las variables al entrar a esas líneas... – Alfabravo Sep 16 '21 at 05:57
  • 1
    menuItems viene nulo y eso no lo tomas en cuenta. saludos – Ruslan López Sep 17 '21 at 16:47

0 Answers0