diff --git a/src/main/java/it/enea/xlab/GECORegistration/config/SpringFoxConfig.java b/src/main/java/it/enea/xlab/GECORegistration/config/SpringFoxConfig.java index 84e8171a40f2de58f7d3a6ab25387d232834543f..caf357b3e7a3f18d21a6f83444259a5ea7f06b64 100644 --- a/src/main/java/it/enea/xlab/GECORegistration/config/SpringFoxConfig.java +++ b/src/main/java/it/enea/xlab/GECORegistration/config/SpringFoxConfig.java @@ -40,7 +40,8 @@ public class SpringFoxConfig { .ignoredParameterTypes(Device.class) .ignoredParameterTypes(ElectricMeterReading.class) .ignoredParameterTypes(Role.class) - .ignoredParameterTypes(User.class); + .ignoredParameterTypes(User.class) + ; } private ApiInfo apiInfo() { diff --git a/src/main/java/it/enea/xlab/GECORegistration/controller/UserController.java b/src/main/java/it/enea/xlab/GECORegistration/controller/UserController.java index f8dc7df4eae08d1368710b8ae07f424b45f0e119..7cef321620b8ffd31d2bf4a1ccaca7934ce4fb25 100644 --- a/src/main/java/it/enea/xlab/GECORegistration/controller/UserController.java +++ b/src/main/java/it/enea/xlab/GECORegistration/controller/UserController.java @@ -85,7 +85,7 @@ public class UserController { @Autowired RoleInterface roleInterface; - + @Autowired TableMetadataInterface tmInterface; @@ -97,8 +97,8 @@ public class UserController { @Autowired IEncryptionManager encryptionManager; - - @Autowired + + @Autowired DTOManager dTOManager; @Value("${keycloak.auth-server-url}") @@ -163,8 +163,7 @@ public class UserController { @PostMapping("/userFromToken") @Deprecated public ResponseEntity manageUserFromToken( - @ApiParam(name = "token", type = "String", value = "JWT Token of the user", example = "", required = true) - @RequestParam("token") String token) { + @ApiParam(name = "token", type = "String", value = "JWT Token of the user", example = "", required = true) @RequestParam("token") String token) { User userTemp = new User(); User userTempFromDB = new User(); @@ -261,15 +260,15 @@ public class UserController { public ResponseEntity getUserDTOFromSubject( @ApiParam(name = "subject", type = "String", value = "Subject string", example = "", required = true) @RequestParam("subject") String subject) { User user; - LocalUserDTO lUserDTO = new LocalUserDTO(); + LocalUserDTO lUserDTO = new LocalUserDTO(); try { user = userInterface.findBySubject(subject); String email = encryptionManager.decrypt(user.getSubject()); UserDto userDto = idpClientManager.getUser(email); user.mergeWithDto(userDto); - + lUserDTO = dTOManager.userDTO(user); - + } catch (Exception e) { log.info(e.getLocalizedMessage()); return new ResponseEntity("User does not exist in DB", @@ -292,64 +291,63 @@ public class UserController { */ // @ApiOperation(value = "Register a user from form data", response = // User.class, tags = "") - @PostMapping("/user/register") - public ResponseEntity registerFromForm( - @ApiParam(name = "user", type = "User", value = "User representation from theinput form", example = "", required = true) - @RequestBody LocalUserDTO user) { - String subject = encryptionManager.encrypt(user.getEmail()); - User users = userInterface.findBySubject(subject); - if (users == null) { - User tmpUser = new User(); - tmpUser.setSubject(subject); - - //Inserisco le comunita - for (CommunityDTO cDto : user.getUsercommunities()) { - Community c = communityInterface.findByCommunityid(cDto.getCommunityid()); - UserCommunity uc1 = new UserCommunity(); - uc1.setCommunity(c); - uc1.setUser(tmpUser); - uc1.setWallet(cDto.getWallet()); - - tmpUser.setSingleUsercommunity(uc1); - Role tmpRole = roleInterface.getById(new Long(2)); - UserRole ur = new UserRole(); - ur.setCommunity(c); - ur.setUser(tmpUser); - ur.setRole(tmpRole); - tmpUser.setSingleUserRole(ur); - } - - tmpUser = userInterface.save(tmpUser); - log.info("user saved, probably... the number of available users is " + userInterface.count()); - - - - user.setUserid(tmpUser.getUserid()); - - UserDto uDto = new UserDto(); - uDto.setEmail(user.getEmail()); - uDto.setName(user.getName()); - uDto.setSurname(user.getSurname()); - uDto.setPassword(user.getPassword()); - uDto.setPasswordConfirm(user.getPassword()); - uDto.setRole("Citizen"); - uDto.setOrganization("EnergyCommunity"); - - Boolean registerdonIDP = idpClientManager.createUser(uDto); - if (!registerdonIDP) { - log.info("Error on registering on IDP"); - return new ResponseEntity (new LocalUserDTO(), HttpStatus.CONFLICT); - } - - //Boolean unRegisterdonIDP = idpClientManager.deleteUser(uDto.getEmail()); - - // Community c = communityInterface.findByCommunityid(user); - }else { - log.info("User with email " + user.getEmail() + " already exists"); - return new ResponseEntity (new LocalUserDTO(), HttpStatus.CONFLICT); - } - return new ResponseEntity (user, HttpStatus.CREATED); - } + @PostMapping("/user/register") + public ResponseEntity registerFromForm( + @ApiParam(name = "user", type = "User", value = "User representation from theinput form", example = "", required = true) + @RequestBody LocalUserDTO user) { + String subject = encryptionManager.encrypt(user.getEmail()); + User users = userInterface.findBySubject(subject); + if (users == null) { + User tmpUser = new User(); + tmpUser.setSubject(subject); + + // Inserisco le comunita + for (CommunityDTO cDto : user.getUsercommunities()) { + Community c = communityInterface.findByCommunityid(cDto.getCommunityid()); + UserCommunity uc1 = new UserCommunity(); + uc1.setCommunity(c); + uc1.setUser(tmpUser); + uc1.setWallet(cDto.getWallet()); + + tmpUser.setSingleUsercommunity(uc1); + Role tmpRole = roleInterface.getById(new Long(2)); + UserRole ur = new UserRole(); + ur.setCommunity(c); + ur.setUser(tmpUser); + ur.setRole(tmpRole); + tmpUser.setSingleUserRole(ur); + } + + tmpUser = userInterface.save(tmpUser); + log.info("user saved, probably... the number of available users is " + userInterface.count()); + + user.setUserid(tmpUser.getUserid()); + + UserDto uDto = new UserDto(); + uDto.setEmail(user.getEmail()); + uDto.setName(user.getName()); + uDto.setSurname(user.getSurname()); + uDto.setPassword(user.getPassword()); + uDto.setPasswordConfirm(user.getPassword()); + uDto.setEmailConfirmed(true); + uDto.setRole("Citizen"); + uDto.setOrganization("EnergyCommunity"); + + Boolean registerdonIDP = idpClientManager.createUser(uDto); + if (!registerdonIDP) { + log.info("Error on registering on IDP"); + return new ResponseEntity(new LocalUserDTO(), HttpStatus.CONFLICT); + } + + // Boolean unRegisterdonIDP = idpClientManager.deleteUser(uDto.getEmail()); + + // Community c = communityInterface.findByCommunityid(user); + } else { + log.info("User with email " + user.getEmail() + " already exists"); + return new ResponseEntity(new LocalUserDTO(), HttpStatus.CONFLICT); + } + return new ResponseEntity(user, HttpStatus.CREATED); + } /** * Returns the list of communities the user belongs to It uses the Keycloak @@ -446,13 +444,15 @@ public class UserController { HttpStatus.OK); } -//@ApiOperation(value = "Get all users as the requester is a platform admin", response = User.class, tags = "") -//@GetMapping("/getusers") -//ResponseEntity> getgetUsers( -// @ApiParam(name = "token", type = "String", value = "The administrator's token", example = "", required = true) -// @RequestParam String token) { -// return getUsers(token, ""); -//} + // @ApiOperation(value = "Get all users as the requester is a platform admin", + // response = User.class, tags = "") + // @GetMapping("/getusers") + // ResponseEntity> getgetUsers( + // @ApiParam(name = "token", type = "String", value = "The administrator's + // token", example = "", required = true) + // @RequestParam String token) { + // return getUsers(token, ""); + // } /** * Returns the list of users belonging to a community @@ -481,24 +481,23 @@ public class UserController { @ApiResponse(code = 403, message = "Token is null or not valid"), @ApiResponse(code = 500, message = "User cannot delete from DBs"), }) public ResponseEntity deleteUser( - @ApiParam(name = "userToken", type = "String", value = "The user's IDP token or email", example = "", required = true) - @RequestBody String userToken - ) { + @ApiParam(name = "userToken", type = "String", value = "The user's IDP token or email", example = "", required = true) @RequestBody String userToken) { - //log.info("Deleting user with token = {} ", userToken); + // log.info("Deleting user with token = {} ", userToken); if (userToken == null || userToken == "") { log.info("Input is null "); return new ResponseEntity(false, HttpStatus.FORBIDDEN); } - Pattern VALID_EMAIL_ADDRESS_REGEX = Pattern.compile("^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,6}$", Pattern.CASE_INSENSITIVE); + Pattern VALID_EMAIL_ADDRESS_REGEX = Pattern.compile("^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,6}$", + Pattern.CASE_INSENSITIVE); Matcher matcher = VALID_EMAIL_ADDRESS_REGEX.matcher(userToken); UserDto userdto = new UserDto(); Boolean isEmail = false; if (matcher.find()) { log.info("Deleting user with email = {} ", userToken); userdto = idpClientManager.getUser(userToken); - isEmail = true; - + isEmail = true; + } if (idpClientManager.isValid(userToken)) { log.info("Deleting user with token = {} ", userToken); @@ -511,7 +510,7 @@ public class UserController { log.info("Failed to delete user from ID-Provider"); return new ResponseEntity(false, HttpStatus.INTERNAL_SERVER_ERROR); } - + String subject = encryptionManager.encrypt(userdto.getEmail()); User user = userInterface.findBySubject(subject); @@ -521,8 +520,7 @@ public class UserController { } userInterface.delete(user); - } else - if (isEmail){ + } else if (isEmail) { String subject = encryptionManager.encrypt(userToken); User user = userInterface.findBySubject(subject); if (user == null) { @@ -530,8 +528,7 @@ public class UserController { return new ResponseEntity(false, HttpStatus.INTERNAL_SERVER_ERROR); } userInterface.delete(user); - } - else { + } else { log.info("Provided input is not valid or user not present in IDP", userToken); return new ResponseEntity(false, HttpStatus.FORBIDDEN); } @@ -539,7 +536,8 @@ public class UserController { } /** - * Login the user by providing user's details if username and password are correct. + * Login the user by providing user's details if username and password are + * correct. * * @param: Username: the user's username * @param: Password: the user's password @@ -573,16 +571,14 @@ public class UserController { for (Device d : user.getDevices()) { log.info(d.getDevicename()); } - + user.merge(userdto); - - - + LocalUserDTO lUserDTO = dTOManager.userDTO(user); log.info(lUserDTO); ResponseEntity response = null; try { -// response = new ResponseEntity(user, HttpStatus.OK); + // response = new ResponseEntity(user, HttpStatus.OK); response = new ResponseEntity(lUserDTO, HttpStatus.OK); } catch (Exception e) { @@ -590,9 +586,7 @@ public class UserController { } return response; } - - - + /** * Logout the user using the token * @@ -624,7 +618,6 @@ public class UserController { } - /** * Check if the token is valid and alive * @@ -657,7 +650,7 @@ public class UserController { * * @return: A list of Roles */ - + @ApiOperation(value = "Return the list of the roles active on the platform", response = Role.class, tags = "") @GetMapping("/role/listRoles") @ApiResponses(value = { @ApiResponse(code = 200, message = "Success"), @@ -684,8 +677,7 @@ public class UserController { @ApiResponse(code = 500, message = "Token is null") }) @PostMapping("/user/getUserFromToken") ResponseEntity getUserFromToken( - @ApiParam(name = "token", type = "String", value = "The user's ID-Provider token", example = "", required = true) - @RequestParam String token) { + @ApiParam(name = "token", type = "String", value = "The user's ID-Provider token", example = "", required = true) @RequestParam String token) { User result = new User(); if (token == null || token == "") { @@ -707,18 +699,16 @@ public class UserController { return new ResponseEntity(new LocalUserDTO(), HttpStatus.FORBIDDEN); } user.mergeWithDto(userdto); - + LocalUserDTO lUserDTO = dTOManager.userDTO(user); - - + log.info(lUserDTO); -// return new ResponseEntity(user, HttpStatus.OK); + // return new ResponseEntity(user, HttpStatus.OK); return new ResponseEntity(lUserDTO, HttpStatus.OK); } - /** * Check if the token is valid and returns the user's id code * @@ -731,8 +721,7 @@ public class UserController { @ApiResponse(code = 500, message = "Token is null") }) @PostMapping("/user/getUserIdFromToken") ResponseEntity getUserFromIdToken( - @ApiParam(name = "Authorization", type = "String", value = "The user's ID-Provider token", example = "", required = true) - @RequestHeader(name = "Authorization", required = true) String token) { + @ApiParam(name = "Authorization", type = "String", value = "The user's ID-Provider token", example = "", required = true) @RequestHeader(name = "Authorization", required = true) String token) { User result = new User(); if (token == null || token == "") { @@ -759,7 +748,6 @@ public class UserController { } - /** * List the devices associated to a user * @@ -772,8 +760,7 @@ public class UserController { @ApiResponse(code = 500, message = "Token is null") }) @PostMapping("/user/getDevices") ResponseEntity getDevices( - @ApiParam(name = "token", type = "String", value = "The user's ID-Provider token", example = "", required = true) - @RequestParam String token) { + @ApiParam(name = "token", type = "String", value = "The user's ID-Provider token", example = "", required = true) @RequestParam String token) { List result = new ArrayList(); @@ -889,12 +876,13 @@ public class UserController { return u; } + public User getUserFromSubject(String subject) { User user = new User(); - LocalUserDTO lUserDTO = new LocalUserDTO(); + LocalUserDTO lUserDTO = new LocalUserDTO(); try { user = userInterface.findBySubject(subject); - + } catch (Exception e) { log.info(e.getLocalizedMessage()); return user; diff --git a/src/main/java/it/enea/xlab/GECORegistration/controller/dynamicInputController.java b/src/main/java/it/enea/xlab/GECORegistration/controller/dynamicInputController.java new file mode 100644 index 0000000000000000000000000000000000000000..444f8d1ba3392af58e3fe88140445403bbdcf701 --- /dev/null +++ b/src/main/java/it/enea/xlab/GECORegistration/controller/dynamicInputController.java @@ -0,0 +1,103 @@ +package it.enea.xlab.GECORegistration.controller; + +import java.util.ArrayList; +import java.util.List; + +import javax.ws.rs.GET; +import javax.ws.rs.POST; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestHeader; + +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.ObjectMapper; + +import it.enea.xlab.GECORegistration.dto.MetadataDTO; +import it.enea.xlab.GECORegistration.dto.TableMetadataDTO; +import it.enea.xlab.GECORegistration.model.data.VwTableMetadata; +import it.enea.xlab.GECORegistration.model.parametricQuery.ParametricQuery; +import it.enea.xlab.GECORegistration.service.data.TableMetadataInterface; +import it.enea.xlab.GECORegistration.service.user.DTOManager; +import lombok.extern.log4j.Log4j2; + +@Controller +@Log4j2 +public class dynamicInputController { + + @Autowired + TableMetadataInterface tmInterface; + + @Autowired + DTOManager dtoManager; + + @POST + @PostMapping("/getTableMetadata") + public ResponseEntity listOfFuncionts( + @RequestHeader(name = "Authorization", required = false) String token, + @RequestHeader(name = "Content-Language", required = false, defaultValue = "it_IT") String language, + @RequestBody String tableName) { + + List tmData1 = tmInterface.findByTableName(tableName); + + TableMetadataDTO tDTO = new TableMetadataDTO(); + + List tmDataDTO = new ArrayList(); + + for (VwTableMetadata tempData : tmData1) { + MetadataDTO mDto = dtoManager.mtDataDTO(tempData, language); + tmDataDTO.add(mDto); + tDTO.setTableName(tempData.getTableName()); + tDTO.setTableDescription(getDescription(tempData.getTableDescription(), language)); + } + + tDTO.setMetadata(tmDataDTO); + log.info(tmDataDTO); + ObjectMapper objectMapper = new ObjectMapper(); + try { + log.info(objectMapper.writeValueAsString(tmDataDTO)); + } catch (JsonProcessingException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + + return new ResponseEntity(tDTO, HttpStatus.OK); + } + + + @GET + @GetMapping("listManagedEntities") + public ResponseEntity > listManagedEneities ( + @RequestHeader(name = "Authorization", required = false) String token, + @RequestHeader(name = "Content-Language", required = false, defaultValue = "it_IT") String language) + { + List result = new ArrayList(); + result.add("flows"); + result.add("users"); + result.add("communities"); + return new ResponseEntity> (result, HttpStatus.OK); + } + + public String getDescription(String cComment, String language) { + if (cComment != null) { + log.info("working with: " + cComment); + String[] result = cComment.contains("|") ? cComment.split(" \\| ") : null; + if (result != null) { + if (language.contains("it")) { + return (result[2] + " | " + result[3]); + } else { + if (result.length > 1) { + return (result[0] + " | " + result[1]); + } else + return (result[0] + " | " + result[1]); + } + } else + return cComment; + } else return ""; + } +} diff --git a/src/main/java/it/enea/xlab/GECORegistration/dto/MetadataDTO.java b/src/main/java/it/enea/xlab/GECORegistration/dto/MetadataDTO.java index adab80db7f592a5c1081a8a23a4ee3101b35ed57..06517c43014c2e02de131f1350b96756b233dbb3 100644 --- a/src/main/java/it/enea/xlab/GECORegistration/dto/MetadataDTO.java +++ b/src/main/java/it/enea/xlab/GECORegistration/dto/MetadataDTO.java @@ -2,6 +2,7 @@ package it.enea.xlab.GECORegistration.dto; import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreType; +import com.fasterxml.jackson.annotation.JsonInclude; import lombok.Getter; import lombok.NoArgsConstructor; @@ -16,6 +17,7 @@ import lombok.extern.log4j.Log4j2; @NoArgsConstructor @JsonIgnoreType @Log4j2 +//@JsonInclude(JsonInclude.Include.NON_NULL) public class MetadataDTO { private String columnName; @@ -28,120 +30,46 @@ public class MetadataDTO { private String example; + //private String tableDescription; + @JsonIgnore private String language; public void setColumnComment(String cComment) { columnComment = getDescription(cComment, language); - + example = getExample(cComment); }; +// public void setTableDescription(String cComment) { +// tableDescription = getDescription(cComment, language); +// +// }; + public String getDescription(String cComment, String language) { if (cComment != null) { - log.info("working with: " + cComment); - example = cComment.contains("ex:") ? cComment.split(" \\|ex: ")[1] : "" ; - String[] result = cComment.split(" \\| "); - if (language.contains("it")) { - return (result[0] + " | " + result[1]); - }else { - if (result.length > 2) { - return (result[2] + " | " + result[3]); - }else - return (result[0] + " | " + result[1]); - } - }else return ""; + log.info("working with: " + cComment); + String[] result = cComment.contains("|") ? cComment.split(" \\| ") : null; + if (result != null) { + if (language.contains("it")) { + return (result[2] + " | " + result[3]); + } else { + if (result.length > 2) { + return (result[0] + " | " + result[1]); + } else + return (result[0] + " | " + result[1]); + } + } else + return cComment; + } else return ""; } + public String getExample (String cComment) { + String ex = cComment.contains("ex:") ? cComment.split(" \\|.+ex: ")[1] : ""; + + return ex; + } + -// private String characterMaximumLength; -// -// private String characterOctetLength; -// -// private String characterSetCatalog; -// -// private String characterSetName; -// -// private String characterSetSchema; -// -// private String collationCatalog; -// -// private String collationName; -// -// private String collationSchema; -// -// -// -// -// -// -// -// private String datetimePrecision; -// -// private String domainCatalog; -// -// private String domainName; -// -// private String domainSchema; -// -// private String dtdIdentifier; -// -// private String generationExpression; -// -// private String identityCycle; -// -// private String identityGeneration; -// -// private String identityIncrement; -// -// private String identityMaximum; -// -// private String identityMinimum; -// -// private String identityStart; -// -// private String intervalPrecision; -// -// private String intervalType; -// -// private String isGenerated; -// -// private String isIdentity; -// -// private String isNullable; -// -// private String isSelfReferencing; -// -// private String isUpdatable; -// -// private String maximumCardinality; -// -// private String numericPrecision; -// -// private String numericPrecisionRadix; -// -// private String numericScale; -// -// private String ordinalPosition; -// -// private String scopeCatalog; -// -// private String scopeName; -// -// private String scopeSchema; -// -// private String tableCatalog; -// -// private String tableName; -// -// private String tableSchema; -// -// private String udtCatalog; -// -// private String udtName; -// -// private String udtSchema; -// -// private Integer ctid; } \ No newline at end of file diff --git a/src/main/java/it/enea/xlab/GECORegistration/dto/TableMetadataDTO.java b/src/main/java/it/enea/xlab/GECORegistration/dto/TableMetadataDTO.java new file mode 100644 index 0000000000000000000000000000000000000000..d478980c6e48f0e5dd2bdb9643b8e0d47fa5dad7 --- /dev/null +++ b/src/main/java/it/enea/xlab/GECORegistration/dto/TableMetadataDTO.java @@ -0,0 +1,21 @@ +package it.enea.xlab.GECORegistration.dto; + +import java.util.List; + +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import lombok.extern.log4j.Log4j2; + +@Getter +@Setter +@NoArgsConstructor +public class TableMetadataDTO { + + private String tableName; + + private String tableDescription; + + private List metadata; + +} diff --git a/src/main/java/it/enea/xlab/GECORegistration/model/data/VwTableMetadata.java b/src/main/java/it/enea/xlab/GECORegistration/model/data/VwTableMetadata.java index e3200060f0eb1e30cece5185f181adef6e15d0a8..a17533e7514440207ea589ad0344410d3da4272c 100644 --- a/src/main/java/it/enea/xlab/GECORegistration/model/data/VwTableMetadata.java +++ b/src/main/java/it/enea/xlab/GECORegistration/model/data/VwTableMetadata.java @@ -162,5 +162,8 @@ public class VwTableMetadata implements Serializable { @Column(name="udt_schema") private String udtSchema; + + @Column(name="table_description") + private String tableDescription; } \ No newline at end of file diff --git a/src/main/java/it/enea/xlab/GECORegistration/service/identityManager/IdpClientManager.java b/src/main/java/it/enea/xlab/GECORegistration/service/identityManager/IdpClientManager.java index bea0d026ebdbe2ab1a33330620a83024f555742d..73d19b73680f894d10c96d48271f464ccd57d800 100644 --- a/src/main/java/it/enea/xlab/GECORegistration/service/identityManager/IdpClientManager.java +++ b/src/main/java/it/enea/xlab/GECORegistration/service/identityManager/IdpClientManager.java @@ -147,7 +147,12 @@ public class IdpClientManager implements IIdpClientManager{ dur.setEmail(email); IdpResponse lResponse = idpm.deleteUser(dur); - + + if(!lResponse.getCode().equals("00")) { + log.info("Error on getting the user: " + lResponse.getMessage()); + return false; + } + return lResponse.getPayload(); } @@ -161,7 +166,10 @@ public class IdpClientManager implements IIdpClientManager{ newUser.setClients(listClient); IdpResponse lResponse = idpm.createUser(newUser); - + if(!lResponse.getCode().equals("00")) { + log.info("Error on getting the user: " + lResponse.getMessage()); + return false; + } return lResponse.getPayload(); } @@ -170,7 +178,7 @@ public class IdpClientManager implements IIdpClientManager{ IdpManager idpm = ic.getIdpManagerLocal(); IdpResponse lResponse = idpm.getUser(email); - if(lResponse.getCode() != "00") { + if(!lResponse.getCode().equals("00")) { log.info("Error on getting the user: " + lResponse.getMessage()); } return lResponse.getPayload(); diff --git a/src/main/java/it/enea/xlab/GECORegistration/service/user/DTOManager.java b/src/main/java/it/enea/xlab/GECORegistration/service/user/DTOManager.java index 8a85514d072be6bab7f0f569c8e5befe1f3497fe..b582186ba23b2cf7534f5221765e87e1cb238493 100644 --- a/src/main/java/it/enea/xlab/GECORegistration/service/user/DTOManager.java +++ b/src/main/java/it/enea/xlab/GECORegistration/service/user/DTOManager.java @@ -126,6 +126,7 @@ public class DTOManager { mtDataDTO.setColumnDefault(mData.getColumnDefault()); mtDataDTO.setColumnComment(mData.getColumnComment()); mtDataDTO.setDataType(mData.getDataType()); + //mtDataDTO.setTableDescription(mData.getTableDescription()); return mtDataDTO; } diff --git a/src/test/java/it/enea/xlab/GECORegistration/GecoRegistrationSpringApplicationTests.java b/src/test/java/it/enea/xlab/GECORegistration/GecoRegistrationSpringApplicationTests.java index d730c38939fcbbcc5d955703b11678fa6c0751e0..a518aef5d0e7e7c42dc31b92e3471ab552dab0a2 100644 --- a/src/test/java/it/enea/xlab/GECORegistration/GecoRegistrationSpringApplicationTests.java +++ b/src/test/java/it/enea/xlab/GECORegistration/GecoRegistrationSpringApplicationTests.java @@ -269,7 +269,51 @@ class GecoRegistrationSpringApplicationTests { .param("password", testUserPwd)) .andExpect(status().isForbidden()) .andDo(print()); - + + String userContent ="{\n" + + " \"name\": \"Gianluca\",\n" + + " \"surname\": \"D'Agosta\",\n" + + " \"organization\": \"EnergyCommunity\",\n" + + " \"email\": \"gianluca.dagosta@cancellamiAppenaPuoi.it\",\n" + + " \"password\": \"cancellami!\",\n" + + " \"userroles\": [\n" + + " {\n" + + " \"role\": {\n" + + " \"roleID\": 2,\n" + + " \"communityID\": 4,\n" + + " \"roleName\": \"registered\",\n" + + " \"description\": \"registered\"\n" + + " }\n" + + " }\n" + + " ],\n" + + " \"usercommunities\": [\n" + + " {\n" + + " \"community\": {\n" + + " \"communityid\": 4,\n" + + " \"communityName\": \"Farlock\",\n" + + " \"description\": \"Comunita' di test\",\n" + + " \"wallet\": \"dhòljhà jpeoqàjàpjfaàkàhlkanhàlkjàoiteàih\"\n" + + " }\n" + + " }\n" + + " ]\n" + + "}"; + + mvc.perform( + post("/user/register") + .contentType(MediaType.APPLICATION_JSON) + .content(userContent)) + .andExpect(status().isCreated()) + .andDo(print()); + + String deleteContent = "gianluca.dagosta@cancellamiAppenaPuoi.it"; + + mvc.perform( + delete("/user/delete") + .contentType(MediaType.APPLICATION_JSON) + .content(deleteContent)) + .andExpect(status().isOk()) + .andDo(print()); + } @Test