diff --git a/id-repository/id-repository-core/src/main/java/io/mosip/idrepository/core/manager/CredentialServiceManager.java b/id-repository/id-repository-core/src/main/java/io/mosip/idrepository/core/manager/CredentialServiceManager.java index a64286b66..f4336e3c2 100644 --- a/id-repository/id-repository-core/src/main/java/io/mosip/idrepository/core/manager/CredentialServiceManager.java +++ b/id-repository/id-repository-core/src/main/java/io/mosip/idrepository/core/manager/CredentialServiceManager.java @@ -1,9 +1,16 @@ package io.mosip.idrepository.core.manager; +import static io.mosip.idrepository.core.constant.IdRepoConstants.SPLITTER; +import static io.mosip.idrepository.core.constant.IdRepoConstants.UIN_REFID; + import java.nio.charset.StandardCharsets; -import java.security.NoSuchAlgorithmException; import java.time.LocalDateTime; -import java.util.*; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; import java.util.function.BiConsumer; import java.util.function.Consumer; import java.util.function.IntFunction; @@ -14,15 +21,6 @@ import javax.annotation.PostConstruct; -import io.mosip.idrepository.core.constant.*; -import io.mosip.idrepository.core.dto.*; -import io.mosip.idrepository.core.entity.Handle; -import io.mosip.idrepository.core.exception.IdRepoAppException; -import io.mosip.idrepository.core.repository.HandleRepo; -import io.mosip.idrepository.core.repository.UinEncryptSaltRepo; -import io.mosip.idrepository.core.repository.UinHashSaltRepo; -import io.mosip.kernel.core.util.CryptoUtil; -import io.mosip.kernel.core.util.HMACUtils2; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.ApplicationContext; @@ -32,13 +30,30 @@ import com.fasterxml.jackson.databind.ObjectMapper; import io.mosip.idrepository.core.builder.RestRequestBuilder; +import io.mosip.idrepository.core.constant.EventType; +import io.mosip.idrepository.core.constant.IDAEventType; +import io.mosip.idrepository.core.constant.IdRepoConstants; +import io.mosip.idrepository.core.constant.IdType; +import io.mosip.idrepository.core.constant.RestServicesConstants; +import io.mosip.idrepository.core.dto.CredentialIssueRequestDto; +import io.mosip.idrepository.core.dto.CredentialIssueRequestWrapperDto; +import io.mosip.idrepository.core.dto.CredentialStatusUpdateEvent; +import io.mosip.idrepository.core.dto.HandleInfoDTO; +import io.mosip.idrepository.core.dto.RestRequestDTO; +import io.mosip.idrepository.core.dto.VidInfoDTO; +import io.mosip.idrepository.core.dto.VidsInfosDTO; import io.mosip.idrepository.core.entity.CredentialRequestStatus; +import io.mosip.idrepository.core.entity.Handle; +import io.mosip.idrepository.core.exception.IdRepoAppException; import io.mosip.idrepository.core.exception.IdRepoDataValidationException; import io.mosip.idrepository.core.exception.RestServiceException; import io.mosip.idrepository.core.helper.IdRepoWebSubHelper; import io.mosip.idrepository.core.helper.RestHelper; import io.mosip.idrepository.core.logger.IdRepoLogger; import io.mosip.idrepository.core.manager.partner.PartnerServiceManager; +import io.mosip.idrepository.core.repository.HandleRepo; +import io.mosip.idrepository.core.repository.UinEncryptSaltRepo; +import io.mosip.idrepository.core.repository.UinHashSaltRepo; import io.mosip.idrepository.core.security.IdRepoSecurityManager; import io.mosip.idrepository.core.util.DummyPartnerCheckUtil; import io.mosip.idrepository.core.util.EnvUtil; @@ -46,13 +61,10 @@ import io.mosip.idrepository.core.util.TokenIDGenerator; import io.mosip.kernel.core.exception.ExceptionUtils; import io.mosip.kernel.core.logger.spi.Logger; +import io.mosip.kernel.core.util.CryptoUtil; import io.mosip.kernel.core.util.DateUtils; import io.mosip.kernel.core.websub.model.EventModel; -import static io.mosip.idrepository.core.constant.IdRepoConstants.SPLITTER; -import static io.mosip.idrepository.core.constant.IdRepoConstants.UIN_REFID; -import static io.mosip.idrepository.core.security.IdRepoSecurityManager.*; - /** * The Class CredentialServiceManager. * diff --git a/id-repository/id-repository-core/src/main/java/io/mosip/idrepository/core/spi/IdRepoService.java b/id-repository/id-repository-core/src/main/java/io/mosip/idrepository/core/spi/IdRepoService.java index 743023422..56facf95d 100644 --- a/id-repository/id-repository-core/src/main/java/io/mosip/idrepository/core/spi/IdRepoService.java +++ b/id-repository/id-repository-core/src/main/java/io/mosip/idrepository/core/spi/IdRepoService.java @@ -4,7 +4,6 @@ import java.util.Map; import io.mosip.idrepository.core.constant.IdType; -import io.mosip.idrepository.core.dto.HandleInfoDTO; import io.mosip.idrepository.core.exception.IdRepoAppException; /** diff --git a/id-repository/id-repository-identity-service/src/main/java/io/mosip/idrepository/identity/helper/IdRepoServiceHelper.java b/id-repository/id-repository-identity-service/src/main/java/io/mosip/idrepository/identity/helper/IdRepoServiceHelper.java index ff56ab8a8..983a855fd 100644 --- a/id-repository/id-repository-identity-service/src/main/java/io/mosip/idrepository/identity/helper/IdRepoServiceHelper.java +++ b/id-repository/id-repository-identity-service/src/main/java/io/mosip/idrepository/identity/helper/IdRepoServiceHelper.java @@ -1,12 +1,37 @@ package io.mosip.idrepository.identity.helper; +import static io.mosip.idrepository.core.constant.IdRepoConstants.ROOT_PATH; +import static io.mosip.idrepository.core.constant.IdRepoConstants.SPLITTER; +import static io.mosip.idrepository.core.constant.IdRepoErrorConstants.INVALID_INPUT_PARAMETER; +import static io.mosip.idrepository.core.constant.IdRepoErrorConstants.MISSING_INPUT_PARAMETER; + +import java.io.IOException; +import java.io.InputStream; +import java.net.URL; +import java.nio.charset.StandardCharsets; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Locale; +import java.util.Map; +import java.util.Objects; +import java.util.stream.Collectors; + +import javax.annotation.PostConstruct; + +import org.apache.commons.io.IOUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Component; +import org.springframework.util.CollectionUtils; + import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; import com.jayway.jsonpath.Configuration; import com.jayway.jsonpath.JsonPath; import com.jayway.jsonpath.Option; import com.jayway.jsonpath.PathNotFoundException; -import io.mosip.idrepository.core.builder.IdentityIssuanceProfileBuilder; + import io.mosip.idrepository.core.builder.RestRequestBuilder; import io.mosip.idrepository.core.constant.IdRepoErrorConstants; import io.mosip.idrepository.core.constant.RestServicesConstants; @@ -20,31 +45,11 @@ import io.mosip.idrepository.core.logger.IdRepoLogger; import io.mosip.idrepository.core.repository.UinHashSaltRepo; import io.mosip.idrepository.core.security.IdRepoSecurityManager; -import io.mosip.idrepository.core.util.EnvUtil; import io.mosip.idrepository.identity.dto.HandleDto; import io.mosip.kernel.core.http.ResponseWrapper; import io.mosip.kernel.core.logger.spi.Logger; import io.mosip.kernel.core.util.CryptoUtil; import io.mosip.kernel.idobjectvalidator.constant.IdObjectValidatorConstant; -import org.apache.commons.io.IOUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.stereotype.Component; -import org.springframework.util.CollectionUtils; -import org.springframework.util.StringUtils; - -import javax.annotation.PostConstruct; -import java.io.IOException; -import java.io.InputStream; -import java.net.URL; -import java.nio.charset.StandardCharsets; -import java.util.*; -import java.util.stream.Collectors; - -import static io.mosip.idrepository.core.constant.IdRepoConstants.ROOT_PATH; -import static io.mosip.idrepository.core.constant.IdRepoConstants.SPLITTER; -import static io.mosip.idrepository.core.constant.IdRepoErrorConstants.INVALID_INPUT_PARAMETER; -import static io.mosip.idrepository.core.constant.IdRepoErrorConstants.MISSING_INPUT_PARAMETER; @Component public class IdRepoServiceHelper { diff --git a/id-repository/id-repository-identity-service/src/main/java/io/mosip/idrepository/identity/repository/UinDraftRepo.java b/id-repository/id-repository-identity-service/src/main/java/io/mosip/idrepository/identity/repository/UinDraftRepo.java index 7c833bf43..576c473e3 100644 --- a/id-repository/id-repository-identity-service/src/main/java/io/mosip/idrepository/identity/repository/UinDraftRepo.java +++ b/id-repository/id-repository-identity-service/src/main/java/io/mosip/idrepository/identity/repository/UinDraftRepo.java @@ -1,6 +1,5 @@ package io.mosip.idrepository.identity.repository; -import java.util.List; import java.util.Optional; import org.springframework.data.jpa.repository.JpaRepository; diff --git a/id-repository/id-repository-identity-service/src/main/java/io/mosip/idrepository/identity/service/impl/IdRepoDraftServiceImpl.java b/id-repository/id-repository-identity-service/src/main/java/io/mosip/idrepository/identity/service/impl/IdRepoDraftServiceImpl.java index d10dd6355..bd45eef19 100644 --- a/id-repository/id-repository-identity-service/src/main/java/io/mosip/idrepository/identity/service/impl/IdRepoDraftServiceImpl.java +++ b/id-repository/id-repository-identity-service/src/main/java/io/mosip/idrepository/identity/service/impl/IdRepoDraftServiceImpl.java @@ -41,12 +41,6 @@ import java.util.stream.Collectors; import java.util.stream.IntStream; -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.ObjectMapper; -import io.mosip.idrepository.core.constant.IdRepoConstants; -import io.mosip.idrepository.core.dto.DraftResponseDto; -import io.mosip.idrepository.core.dto.DraftUinResponseDto; import org.hibernate.exception.JDBCConnectionException; import org.json.JSONException; import org.skyscreamer.jsonassert.JSONCompare; @@ -62,7 +56,10 @@ import org.springframework.validation.BeanPropertyBindingResult; import org.springframework.validation.Errors; +import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.node.ObjectNode; import com.jayway.jsonpath.Configuration; import com.jayway.jsonpath.DocumentContext; @@ -74,6 +71,8 @@ import io.mosip.idrepository.core.builder.RestRequestBuilder; import io.mosip.idrepository.core.constant.RestServicesConstants; import io.mosip.idrepository.core.dto.DocumentsDTO; +import io.mosip.idrepository.core.dto.DraftResponseDto; +import io.mosip.idrepository.core.dto.DraftUinResponseDto; import io.mosip.idrepository.core.dto.IdRequestDTO; import io.mosip.idrepository.core.dto.IdResponseDTO; import io.mosip.idrepository.core.dto.RequestDTO; diff --git a/id-repository/id-repository-identity-service/src/main/java/io/mosip/idrepository/identity/validator/IdRequestValidator.java b/id-repository/id-repository-identity-service/src/main/java/io/mosip/idrepository/identity/validator/IdRequestValidator.java index 8c1bb2640..209a69935 100644 --- a/id-repository/id-repository-identity-service/src/main/java/io/mosip/idrepository/identity/validator/IdRequestValidator.java +++ b/id-repository/id-repository-identity-service/src/main/java/io/mosip/idrepository/identity/validator/IdRequestValidator.java @@ -217,7 +217,7 @@ public void validateRegId(String registrationId, Errors errors) { * @param errors the errors * @param method the method */ - @SuppressWarnings({ "rawtypes", "unchecked" }) + @SuppressWarnings("rawtypes") public void validateRequest(Object request, Errors errors, String method) { try { if (Objects.nonNull(request)) { @@ -238,15 +238,12 @@ public void validateRequest(Object request, Errors errors, String method) { validateDocuments(requestMap, errors); requestMap.keySet().parallelStream().filter(key -> !key.contentEquals(ROOT_PATH)).forEach(requestMap::remove); if (!errors.hasErrors()) { - String schemaVersion; if (requestMap.get(ROOT_PATH) != null) { - schemaVersion = String - .valueOf(((Map) requestMap.get(ROOT_PATH)) - .get(idRepoServiceHelper.getIdentityMapping().getIdentity().getIDSchemaVersion().getValue())); + String schema = fetchSchemaJson(requestMap); if (method.equals(CREATE)) { - idObjectValidator.validateIdObject(idRepoServiceHelper.getSchema(schemaVersion), requestMap, newRegistrationFields); + idObjectValidator.validateIdObject(schema, requestMap, newRegistrationFields); } else { - idObjectValidator.validateIdObject(idRepoServiceHelper.getSchema(schemaVersion), requestMap, updateUinFields); + idObjectValidator.validateIdObject(schema, requestMap, updateUinFields); } } } @@ -286,6 +283,14 @@ public void validateRequest(Object request, Errors errors, String method) { } } + @SuppressWarnings("unchecked") + public String fetchSchemaJson(Map requestMap) { + String schemaVersion = String + .valueOf(((Map) requestMap.get(ROOT_PATH)) + .get(idRepoServiceHelper.getIdentityMapping().getIdentity().getIDSchemaVersion().getValue())); + return idRepoServiceHelper.getSchema(schemaVersion); + } + /** * Validate documents. * diff --git a/id-repository/id-repository-vid-service/src/main/java/io/mosip/idrepository/vid/service/impl/VidServiceImpl.java b/id-repository/id-repository-vid-service/src/main/java/io/mosip/idrepository/vid/service/impl/VidServiceImpl.java index 99d8e6275..4c5449d70 100644 --- a/id-repository/id-repository-vid-service/src/main/java/io/mosip/idrepository/vid/service/impl/VidServiceImpl.java +++ b/id-repository/id-repository-vid-service/src/main/java/io/mosip/idrepository/vid/service/impl/VidServiceImpl.java @@ -17,13 +17,11 @@ import static io.mosip.idrepository.core.constant.IdRepoErrorConstants.VID_GENERATION_FAILED; import static io.mosip.idrepository.core.constant.IdRepoErrorConstants.VID_POLICY_FAILED; -import java.io.Serializable; import java.security.MessageDigest; import java.time.LocalDateTime; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; -import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Objects; @@ -32,13 +30,10 @@ import javax.annotation.Resource; import org.hibernate.exception.JDBCConnectionException; -import org.mvel2.MVEL; import org.mvel2.integration.VariableResolverFactory; -import org.mvel2.integration.impl.MapVariableResolverFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.beans.factory.annotation.Value; -import org.springframework.core.env.Environment; import org.springframework.dao.DataAccessException; import org.springframework.stereotype.Component; import org.springframework.transaction.TransactionException; @@ -173,9 +168,6 @@ public class VidServiceImpl implements VidService context = new HashMap<>(); - context.put("maskData", maskData); - VariableResolverFactory myVarFactory = new MapVariableResolverFactory(context); - myVarFactory.setNextFactory(functionFactory); - Serializable serializable = MVEL.compileExpression(identityAttribute + "(maskData);"); - return MVEL.executeExpression(serializable, context, myVarFactory, String.class); - } }