diff --git a/src/main/java/org/fenixedu/academic/service/services/person/ManageUser.java b/src/main/java/org/fenixedu/academic/service/services/person/ManageUser.java index e81ee46b930..4c8b3146822 100644 --- a/src/main/java/org/fenixedu/academic/service/services/person/ManageUser.java +++ b/src/main/java/org/fenixedu/academic/service/services/person/ManageUser.java @@ -17,21 +17,26 @@ public class ManageUser { private static final Logger LOGGER = LoggerFactory.getLogger(ManageUser.class); - + public static boolean isPasswordDefined(String username) { final HttpResponse response = Unirest.get(FenixEduAcademicConfiguration.getConfiguration().getWebServicesManageUserUrl() + username) .header("Authorization", getServiceAuth()) .asString(); LOGGER.info("Checking if password is defined for user -> " + username + " -> with response status -> " + response.getStatus()); if (response.getStatus() == 200) { - JsonObject body = new JsonParser().parse(response.getBody()).getAsJsonObject(); - boolean isPasswordSet = body.get("isPasswordSet").getAsBoolean(); - LOGGER.info("isPasswordSet -> " + isPasswordSet + " -> for user " + username); - return isPasswordSet; + try { + final JsonObject body = new JsonParser().parse(response.getBody()).getAsJsonObject(); + final boolean isPasswordSet = body.get("isPasswordSet").getAsBoolean(); + LOGGER.info("isPasswordSet -> " + isPasswordSet + " -> for user " + username); + return isPasswordSet; + } catch (final IllegalStateException ex) { + LOGGER.error("bad response checking if isPasswordSet"); + return false; + } } return false; } - + public static boolean isUserExported(String username) { final HttpResponse response = Unirest.get(FenixEduAcademicConfiguration.getConfiguration().getWebServicesManageUserUrl() + username) .header("Authorization", getServiceAuth()) @@ -42,7 +47,7 @@ public static boolean isUserExported(String username) { // NOT_FOUND return response.getStatus() != 404; } - + public static boolean exportUser(String username) { final HttpResponse response = Unirest.post(FenixEduAcademicConfiguration.getConfiguration().getWebServicesManageUserUrl() + username) .header("Authorization", getServiceAuth()) @@ -54,7 +59,7 @@ public static boolean exportUser(String username) { // SC_CONFLICT -> user already exists return response.getStatus() == HttpStatus.SC_CONFLICT || response.getStatus() == HttpStatus.SC_CREATED; } - + private static String getServiceAuth() { final String userpass = FenixEduAcademicConfiguration.getConfiguration().getWebServicesManageUserUsername() + ":" + FenixEduAcademicConfiguration.getConfiguration().getWebServicesManageUserPassword();