From 2e516c8c4377f59dcddbde758c9f179b024a27da Mon Sep 17 00:00:00 2001 From: Rakshitha650 <76676196+Rakshitha650@users.noreply.github.com> Date: Tue, 12 Apr 2022 16:24:08 +0530 Subject: [PATCH 01/74] updated the pom version --- biosdk-services/pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/biosdk-services/pom.xml b/biosdk-services/pom.xml index 28b7d7ad..cd37bcbf 100644 --- a/biosdk-services/pom.xml +++ b/biosdk-services/pom.xml @@ -6,7 +6,7 @@ biosdk-services io.mosip.biosdk - 1.2.0.1-SNAPSHOT + 1.2.1-SNAPSHOT biosdk-services Sample implementation of biometrics SDK services @@ -213,4 +213,4 @@ - \ No newline at end of file + From c753bfe4a62b56a9cdbb354a7ba9c6dd774dba88 Mon Sep 17 00:00:00 2001 From: kameshsr Date: Wed, 25 May 2022 11:02:20 +0530 Subject: [PATCH 02/74] Added swagger base url --- biosdk-services/src/main/resources/bootstrap.properties | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 biosdk-services/src/main/resources/bootstrap.properties diff --git a/biosdk-services/src/main/resources/bootstrap.properties b/biosdk-services/src/main/resources/bootstrap.properties new file mode 100644 index 00000000..adec8b25 --- /dev/null +++ b/biosdk-services/src/main/resources/bootstrap.properties @@ -0,0 +1,4 @@ +server.port=9099 +server.servlet.context-path=/biosdk-service +mosipbox.public.url=http://localhost:${server.port} +swagger.base-url=${mosipbox.public.url}${server.servlet.context-path} \ No newline at end of file From 15dfe9ba9af186407997d5ecdedd81a23e51c601 Mon Sep 17 00:00:00 2001 From: kameshsr Date: Wed, 25 May 2022 14:35:20 +0530 Subject: [PATCH 03/74] Upgraded swagger to openapi --- biosdk-services/pom.xml | 6 ++ .../services/config/OpenApiProperties.java | 47 +++++++++++ .../biosdk/services/config/SwaggerConfig.java | 54 +++++++++++-- .../services/controller/MainController.java | 77 +++++++++++++------ .../src/main/resources/bootstrap.properties | 14 +++- 5 files changed, 168 insertions(+), 30 deletions(-) create mode 100644 biosdk-services/src/main/java/io/mosip/biosdk/services/config/OpenApiProperties.java diff --git a/biosdk-services/pom.xml b/biosdk-services/pom.xml index cd37bcbf..ed75318d 100644 --- a/biosdk-services/pom.xml +++ b/biosdk-services/pom.xml @@ -25,6 +25,7 @@ 2.9.2 + 1.5.10 1.2.0-rc2-SNAPSHOT @@ -89,6 +90,11 @@ ${swagger.version} compile + + org.springdoc + springdoc-openapi-ui + ${springdoc.version} + io.mosip.kernel kernel-biometrics-api diff --git a/biosdk-services/src/main/java/io/mosip/biosdk/services/config/OpenApiProperties.java b/biosdk-services/src/main/java/io/mosip/biosdk/services/config/OpenApiProperties.java new file mode 100644 index 00000000..09e784d9 --- /dev/null +++ b/biosdk-services/src/main/java/io/mosip/biosdk/services/config/OpenApiProperties.java @@ -0,0 +1,47 @@ +package io.mosip.biosdk.services.config; + +import lombok.Data; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.context.annotation.Configuration; + +import java.util.List; + +@Configuration +@ConfigurationProperties(prefix = "openapi") +@Data +public class OpenApiProperties { + private InfoProperty info; + private Service service; + private Group group; +} + +@Data +class InfoProperty { + private String title; + private String description; + private String version; + private LicenseProperty license; +} + +@Data +class LicenseProperty { + private String name; + private String url; +} + +@Data +class Service { + private List servers; +} + +@Data +class Server { + private String description; + private String url; +} + +@Data +class Group { + private String name; + private List paths; +} diff --git a/biosdk-services/src/main/java/io/mosip/biosdk/services/config/SwaggerConfig.java b/biosdk-services/src/main/java/io/mosip/biosdk/services/config/SwaggerConfig.java index ec6c7231..8af00308 100644 --- a/biosdk-services/src/main/java/io/mosip/biosdk/services/config/SwaggerConfig.java +++ b/biosdk-services/src/main/java/io/mosip/biosdk/services/config/SwaggerConfig.java @@ -1,5 +1,9 @@ package io.mosip.biosdk.services.config; +import io.swagger.v3.oas.models.Components; +import io.swagger.v3.oas.models.OpenAPI; +import org.springdoc.core.GroupedOpenApi; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -9,14 +13,19 @@ import springfox.documentation.builders.RequestHandlerSelectors; import springfox.documentation.spi.DocumentationType; import springfox.documentation.spring.web.plugins.Docket; -import springfox.documentation.swagger2.annotations.EnableSwagger2; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import io.swagger.v3.oas.models.Components; +import io.swagger.v3.oas.models.OpenAPI; +import io.swagger.v3.oas.models.info.Info; +import io.swagger.v3.oas.models.info.License; +import io.swagger.v3.oas.models.servers.Server; import java.util.HashSet; import java.util.Set; @Configuration -@EnableSwagger2 public class SwaggerConfig extends WebMvcConfigurationSupport { @Value("${application.env.local:false}") private Boolean localEnv; @@ -32,12 +41,43 @@ public class SwaggerConfig extends WebMvcConfigurationSupport { int port = -1; String hostWithPort = "localhost:9092"; + private static final Logger logger = LoggerFactory.getLogger(SwaggerConfig.class); + + @Autowired + private OpenApiProperties openApiProperties; + +// @Bean +// public Docket api() { +// return new Docket(DocumentationType.SWAGGER_2) +// .select() +// .apis(RequestHandlerSelectors.any()) +// .paths(PathSelectors.any()) +// .build(); +// } + + @Bean + public OpenAPI openApi() { + OpenAPI api = new OpenAPI() + .components(new Components()) + .info(new Info() + .title(openApiProperties.getInfo().getTitle()) + .version(openApiProperties.getInfo().getVersion()) + .description(openApiProperties.getInfo().getDescription()) + .license(new License() + .name(openApiProperties.getInfo().getLicense().getName()) + .url(openApiProperties.getInfo().getLicense().getUrl()))); + + openApiProperties.getService().getServers().forEach(server -> { + api.addServersItem(new Server().description(server.getDescription()).url(server.getUrl())); + }); + logger.info("swagger open api bean is ready"); + return api; + } + @Bean - public Docket api() { - return new Docket(DocumentationType.SWAGGER_2) - .select() - .apis(RequestHandlerSelectors.any()) - .paths(PathSelectors.any()) + public GroupedOpenApi groupedOpenApi() { + return GroupedOpenApi.builder().group(openApiProperties.getGroup().getName()) + .pathsToMatch(openApiProperties.getGroup().getPaths().stream().toArray(String[]::new)) .build(); } diff --git a/biosdk-services/src/main/java/io/mosip/biosdk/services/controller/MainController.java b/biosdk-services/src/main/java/io/mosip/biosdk/services/controller/MainController.java index 752b87be..1bceb6fd 100644 --- a/biosdk-services/src/main/java/io/mosip/biosdk/services/controller/MainController.java +++ b/biosdk-services/src/main/java/io/mosip/biosdk/services/controller/MainController.java @@ -11,10 +11,12 @@ import io.mosip.biosdk.services.utils.Utils; import io.mosip.kernel.biometrics.spi.IBioApi; import io.mosip.kernel.core.logger.spi.Logger; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import io.swagger.annotations.ApiResponse; -import io.swagger.annotations.ApiResponses; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Content; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.responses.ApiResponse; +import io.swagger.v3.oas.annotations.responses.ApiResponses; +import io.swagger.v3.oas.annotations.tags.Tag; import org.json.simple.JSONObject; import org.json.simple.parser.JSONParser; import org.json.simple.parser.ParseException; @@ -36,7 +38,7 @@ @RestController @RequestMapping("/") -@Api(tags = "Sdk") +@Tag(name = "Sdk", description = "Sdk") @CrossOrigin("*") public class MainController { @@ -54,8 +56,12 @@ public class MainController { private Gson gson = new GsonBuilder().serializeNulls().create();; @GetMapping(path = "/") - @ApiOperation(value = "Service status") - @ApiResponses(value = { @ApiResponse(code = 200, message = "Service is running...") }) + @Operation(summary = "Service status", description = "Service status", tags = { "Sdk" }) + @ApiResponses(value = { @ApiResponse(responseCode = "200", description = "OK"), + @ApiResponse(responseCode = "201", description = "Service is running...", content = @Content(schema = @Schema(hidden = true))), + @ApiResponse(responseCode = "401", description = "Unauthorized", content = @Content(schema = @Schema(hidden = true))), + @ApiResponse(responseCode = "403", description = "Forbidden", content = @Content(schema = @Schema(hidden = true))), + @ApiResponse(responseCode = "404", description = "Not Found", content = @Content(schema = @Schema(hidden = true))) }) public ResponseEntity status() { Date d = new Date(); return ResponseEntity.status(HttpStatus.OK).body("Service is running... "+d.toString()); @@ -64,16 +70,24 @@ public ResponseEntity status() { //@PreAuthorize("hasAnyRole('REGISTRATION_PROCESSOR')") @PreAuthorize("hasAnyRole(@authorizedRoles.getGetservicestatus())") @GetMapping(path = "/s") - @ApiOperation(value = "Service status 1") - @ApiResponses(value = { @ApiResponse(code = 200, message = "Service is running...") }) + @Operation(summary = "Service status 1", description = "Service status 1", tags = { "Sdk" }) + @ApiResponses(value = { @ApiResponse(responseCode = "200", description = "OK"), + @ApiResponse(responseCode = "201", description = "Service is running...", content = @Content(schema = @Schema(hidden = true))), + @ApiResponse(responseCode = "401", description = "Unauthorized", content = @Content(schema = @Schema(hidden = true))), + @ApiResponse(responseCode = "403", description = "Forbidden", content = @Content(schema = @Schema(hidden = true))), + @ApiResponse(responseCode = "404", description = "Not Found", content = @Content(schema = @Schema(hidden = true))) }) public ResponseEntity status1() { Date d = new Date(); return ResponseEntity.status(HttpStatus.OK).body("Service is running... "+d.toString()); } @PostMapping(path = "/init", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) - @ApiOperation(value = "Initialization") - @ApiResponses(value = { @ApiResponse(code = 200, message = "Initialization successful") }) + @Operation(summary = "Initialization", description = "Initialization", tags = { "Sdk" }) + @ApiResponses(value = { @ApiResponse(responseCode = "200", description = "OK"), + @ApiResponse(responseCode = "201", description = "Initialization successful", content = @Content(schema = @Schema(hidden = true))), + @ApiResponse(responseCode = "401", description = "Unauthorized", content = @Content(schema = @Schema(hidden = true))), + @ApiResponse(responseCode = "403", description = "Forbidden", content = @Content(schema = @Schema(hidden = true))), + @ApiResponse(responseCode = "404", description = "Not Found", content = @Content(schema = @Schema(hidden = true))) }) public ResponseEntity init( @Validated @RequestBody(required = true) RequestDto request, @ApiIgnore Errors errors) { @@ -93,8 +107,12 @@ public ResponseEntity init( } @PostMapping(path = "/match", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) - @ApiOperation(value = "Match") - @ApiResponses(value = { @ApiResponse(code = 200, message = "Match successful") }) + @Operation(summary = "Match", description = "Match", tags = { "Sdk" }) + @ApiResponses(value = { @ApiResponse(responseCode = "200", description = "OK"), + @ApiResponse(responseCode = "201", description = "Match successful", content = @Content(schema = @Schema(hidden = true))), + @ApiResponse(responseCode = "401", description = "Unauthorized", content = @Content(schema = @Schema(hidden = true))), + @ApiResponse(responseCode = "403", description = "Forbidden", content = @Content(schema = @Schema(hidden = true))), + @ApiResponse(responseCode = "404", description = "Not Found", content = @Content(schema = @Schema(hidden = true))) }) public ResponseEntity match( @Validated @RequestBody(required = true) RequestDto request, @ApiIgnore Errors errors) { @@ -114,8 +132,12 @@ public ResponseEntity match( } @PostMapping(path = "/check-quality", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) - @ApiOperation(value = "Check quality") - @ApiResponses(value = { @ApiResponse(code = 200, message = "Check successful") }) + @Operation(summary = "Check quality", description = "Check quality", tags = { "Sdk" }) + @ApiResponses(value = { @ApiResponse(responseCode = "200", description = "OK"), + @ApiResponse(responseCode = "201", description = "Check successful", content = @Content(schema = @Schema(hidden = true))), + @ApiResponse(responseCode = "401", description = "Unauthorized", content = @Content(schema = @Schema(hidden = true))), + @ApiResponse(responseCode = "403", description = "Forbidden", content = @Content(schema = @Schema(hidden = true))), + @ApiResponse(responseCode = "404", description = "Not Found", content = @Content(schema = @Schema(hidden = true))) }) public ResponseEntity checkQuality( @Validated @RequestBody(required = true) RequestDto request, @ApiIgnore Errors errors) { @@ -134,9 +156,12 @@ public ResponseEntity checkQuality( return ResponseEntity.status(HttpStatus.OK).body(gson.toJson(responseDto)); } - @PostMapping(path = "/extract-template", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) - @ApiOperation(value = "Extract template") - @ApiResponses(value = { @ApiResponse(code = 200, message = "Extract successful") }) + @Operation(summary = "extract-template", description = "extract-template", tags = { "Sdk" }) + @ApiResponses(value = { @ApiResponse(responseCode = "200", description = "OK"), + @ApiResponse(responseCode = "201", description = "Extract successful", content = @Content(schema = @Schema(hidden = true))), + @ApiResponse(responseCode = "401", description = "Unauthorized", content = @Content(schema = @Schema(hidden = true))), + @ApiResponse(responseCode = "403", description = "Forbidden", content = @Content(schema = @Schema(hidden = true))), + @ApiResponse(responseCode = "404", description = "Not Found", content = @Content(schema = @Schema(hidden = true))) }) public ResponseEntity extractTemplate( @Validated @RequestBody(required = true) RequestDto request, @ApiIgnore Errors errors) { @@ -156,8 +181,12 @@ public ResponseEntity extractTemplate( } @PostMapping(path = "/convert-format", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) - @ApiOperation(value = "Convert format") - @ApiResponses(value = { @ApiResponse(code = 200, message = "Convert successful") }) + @Operation(summary = "Convert format", description = "Convert format", tags = { "Sdk" }) + @ApiResponses(value = { @ApiResponse(responseCode = "200", description = "OK"), + @ApiResponse(responseCode = "201", description = "Convert successful", content = @Content(schema = @Schema(hidden = true))), + @ApiResponse(responseCode = "401", description = "Unauthorized", content = @Content(schema = @Schema(hidden = true))), + @ApiResponse(responseCode = "403", description = "Forbidden", content = @Content(schema = @Schema(hidden = true))), + @ApiResponse(responseCode = "404", description = "Not Found", content = @Content(schema = @Schema(hidden = true))) }) public ResponseEntity convertFormat( @Validated @RequestBody(required = true) RequestDto request, @ApiIgnore Errors errors) { @@ -177,8 +206,12 @@ public ResponseEntity convertFormat( } @PostMapping(path = "/segment", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) - @ApiOperation(value = "Segment") - @ApiResponses(value = { @ApiResponse(code = 200, message = "Segment successful") }) + @Operation(summary = "Segment", description = "Segment", tags = { "Sdk" }) + @ApiResponses(value = { @ApiResponse(responseCode = "200", description = "OK"), + @ApiResponse(responseCode = "201", description = "Segment successful", content = @Content(schema = @Schema(hidden = true))), + @ApiResponse(responseCode = "401", description = "Unauthorized", content = @Content(schema = @Schema(hidden = true))), + @ApiResponse(responseCode = "403", description = "Forbidden", content = @Content(schema = @Schema(hidden = true))), + @ApiResponse(responseCode = "404", description = "Not Found", content = @Content(schema = @Schema(hidden = true))) }) public ResponseEntity segment( @Validated @RequestBody(required = true) RequestDto request, @ApiIgnore Errors errors) { diff --git a/biosdk-services/src/main/resources/bootstrap.properties b/biosdk-services/src/main/resources/bootstrap.properties index adec8b25..97d72561 100644 --- a/biosdk-services/src/main/resources/bootstrap.properties +++ b/biosdk-services/src/main/resources/bootstrap.properties @@ -1,4 +1,16 @@ server.port=9099 server.servlet.context-path=/biosdk-service +spring.application.name=biosdk-service +openapi.info.title=${spring.application.name} +openapi.info.description=${spring.application.name} +openapi.info.version=1.0 +openapi.info.license.name=Mosip +openapi.info.license.url=https://docs.mosip.io/platform/license mosipbox.public.url=http://localhost:${server.port} -swagger.base-url=${mosipbox.public.url}${server.servlet.context-path} \ No newline at end of file +openapi.service.servers[0].url=${mosipbox.public.url}${server.servlet.context-path} +openapi.service.servers[0].description=${spring.application.name} +openapi.group.name=${openapi.info.title} +openapi.group.paths[0]=/** +springdoc.swagger-ui.disable-swagger-default-url=true +springdoc.swagger-ui.tagsSorter=alpha +springdoc.swagger-ui.operationsSorter=alpha \ No newline at end of file From 8a4065751b486372488f50d8c7e124a44ebff06d Mon Sep 17 00:00:00 2001 From: kameshsr Date: Wed, 25 May 2022 16:34:19 +0530 Subject: [PATCH 04/74] Upgraded swagger to openapi --- biosdk-services/src/main/resources/bootstrap.properties | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/biosdk-services/src/main/resources/bootstrap.properties b/biosdk-services/src/main/resources/bootstrap.properties index 97d72561..69c3f878 100644 --- a/biosdk-services/src/main/resources/bootstrap.properties +++ b/biosdk-services/src/main/resources/bootstrap.properties @@ -11,6 +11,8 @@ openapi.service.servers[0].url=${mosipbox.public.url}${server.servlet.context-pa openapi.service.servers[0].description=${spring.application.name} openapi.group.name=${openapi.info.title} openapi.group.paths[0]=/** -springdoc.swagger-ui.disable-swagger-default-url=true +//springdoc.swagger-ui.disable-swagger-default-url=true springdoc.swagger-ui.tagsSorter=alpha -springdoc.swagger-ui.operationsSorter=alpha \ No newline at end of file +springdoc.swagger-ui.operationsSorter=alpha + +spring.mvc.servlet.path=${server.servlet.context-path} \ No newline at end of file From 8ae3be67f622d109df92041f456a89f44682e6a6 Mon Sep 17 00:00:00 2001 From: kameshsr Date: Wed, 25 May 2022 16:35:50 +0530 Subject: [PATCH 05/74] Upgraded swagger to openapi --- biosdk-services/src/main/resources/bootstrap.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/biosdk-services/src/main/resources/bootstrap.properties b/biosdk-services/src/main/resources/bootstrap.properties index 69c3f878..33e431d5 100644 --- a/biosdk-services/src/main/resources/bootstrap.properties +++ b/biosdk-services/src/main/resources/bootstrap.properties @@ -11,7 +11,7 @@ openapi.service.servers[0].url=${mosipbox.public.url}${server.servlet.context-pa openapi.service.servers[0].description=${spring.application.name} openapi.group.name=${openapi.info.title} openapi.group.paths[0]=/** -//springdoc.swagger-ui.disable-swagger-default-url=true +#springdoc.swagger-ui.disable-swagger-default-url=true springdoc.swagger-ui.tagsSorter=alpha springdoc.swagger-ui.operationsSorter=alpha From 83e9779d044de357fbff2c775b0031a6ef6f91fb Mon Sep 17 00:00:00 2001 From: kameshsr Date: Wed, 25 May 2022 17:48:54 +0530 Subject: [PATCH 06/74] Fixed swagger-ui issue. --- .../src/main/resources/application.properties | 18 ++++++++++++++++++ .../src/main/resources/bootstrap.properties | 5 +++-- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/biosdk-services/src/main/resources/application.properties b/biosdk-services/src/main/resources/application.properties index 137e258c..319e3c34 100644 --- a/biosdk-services/src/main/resources/application.properties +++ b/biosdk-services/src/main/resources/application.properties @@ -4,3 +4,21 @@ security.basic.enabled=false #server.servlet.context-path=/biosdk-service #logging.level.org.springframework=DEBUG mosip.role.biosdk.getservicestatus=REGISTRATION_PROCESSOR + +server.servlet.context-path=/biosdk-service +spring.application.name=biosdk-service +openapi.info.title=${spring.application.name} +openapi.info.description=${spring.application.name} +openapi.info.version=1.0 +openapi.info.license.name=Mosip +openapi.info.license.url=https://docs.mosip.io/platform/license +mosipbox.public.url=http://localhost:${server.port} +openapi.service.servers[0].url=${mosipbox.public.url}${server.servlet.context-path} +openapi.service.servers[0].description=${spring.application.name} +openapi.group.name=${openapi.info.title} +openapi.group.paths[0]=/** +#springdoc.swagger-ui.disable-swagger-default-url=true +springdoc.swagger-ui.tagsSorter=alpha +springdoc.swagger-ui.operationsSorter=alpha +spring.mvc.servlet.path=${server.servlet.context-path} + diff --git a/biosdk-services/src/main/resources/bootstrap.properties b/biosdk-services/src/main/resources/bootstrap.properties index 33e431d5..b2b2f076 100644 --- a/biosdk-services/src/main/resources/bootstrap.properties +++ b/biosdk-services/src/main/resources/bootstrap.properties @@ -14,5 +14,6 @@ openapi.group.paths[0]=/** #springdoc.swagger-ui.disable-swagger-default-url=true springdoc.swagger-ui.tagsSorter=alpha springdoc.swagger-ui.operationsSorter=alpha - -spring.mvc.servlet.path=${server.servlet.context-path} \ No newline at end of file +spring.mvc.servlet.path=${server.servlet.context-path} +#springdoc.swagger-ui.path=/swagger-ui.html +#springdoc.api-docs.path= /v3/api-docs From c71849c3a357f30770df20345957aea7f3254d69 Mon Sep 17 00:00:00 2001 From: kameshsr Date: Thu, 26 May 2022 10:06:44 +0530 Subject: [PATCH 07/74] Fixed swagger-ui issue. --- .../java/io/mosip/biosdk/services/config/SwaggerConfig.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/biosdk-services/src/main/java/io/mosip/biosdk/services/config/SwaggerConfig.java b/biosdk-services/src/main/java/io/mosip/biosdk/services/config/SwaggerConfig.java index ec6c7231..38e262f8 100644 --- a/biosdk-services/src/main/java/io/mosip/biosdk/services/config/SwaggerConfig.java +++ b/biosdk-services/src/main/java/io/mosip/biosdk/services/config/SwaggerConfig.java @@ -34,6 +34,10 @@ public class SwaggerConfig extends WebMvcConfigurationSupport { @Bean public Docket api() { + if(swaggerBaseUrl !=null){ + String newSwaggerBaseUrl=swaggerBaseUrl.replace(":80", ""); + swaggerBaseUrl = newSwaggerBaseUrl; + } return new Docket(DocumentationType.SWAGGER_2) .select() .apis(RequestHandlerSelectors.any()) From 5a253cb744f312e63b14458ee84e87f224321f2f Mon Sep 17 00:00:00 2001 From: kameshsr Date: Fri, 27 May 2022 09:05:04 +0530 Subject: [PATCH 08/74] Fixed swagger-ui issue. --- biosdk-services/pom.xml | 6 -- .../services/config/OpenApiProperties.java | 47 ----------- .../biosdk/services/config/SwaggerConfig.java | 56 +------------ .../services/controller/MainController.java | 80 ++++++------------- .../src/main/resources/application.properties | 22 +---- .../src/main/resources/bootstrap.properties | 19 ----- 6 files changed, 27 insertions(+), 203 deletions(-) delete mode 100644 biosdk-services/src/main/java/io/mosip/biosdk/services/config/OpenApiProperties.java delete mode 100644 biosdk-services/src/main/resources/bootstrap.properties diff --git a/biosdk-services/pom.xml b/biosdk-services/pom.xml index ed75318d..cd37bcbf 100644 --- a/biosdk-services/pom.xml +++ b/biosdk-services/pom.xml @@ -25,7 +25,6 @@ 2.9.2 - 1.5.10 1.2.0-rc2-SNAPSHOT @@ -90,11 +89,6 @@ ${swagger.version} compile - - org.springdoc - springdoc-openapi-ui - ${springdoc.version} - io.mosip.kernel kernel-biometrics-api diff --git a/biosdk-services/src/main/java/io/mosip/biosdk/services/config/OpenApiProperties.java b/biosdk-services/src/main/java/io/mosip/biosdk/services/config/OpenApiProperties.java deleted file mode 100644 index 09e784d9..00000000 --- a/biosdk-services/src/main/java/io/mosip/biosdk/services/config/OpenApiProperties.java +++ /dev/null @@ -1,47 +0,0 @@ -package io.mosip.biosdk.services.config; - -import lombok.Data; -import org.springframework.boot.context.properties.ConfigurationProperties; -import org.springframework.context.annotation.Configuration; - -import java.util.List; - -@Configuration -@ConfigurationProperties(prefix = "openapi") -@Data -public class OpenApiProperties { - private InfoProperty info; - private Service service; - private Group group; -} - -@Data -class InfoProperty { - private String title; - private String description; - private String version; - private LicenseProperty license; -} - -@Data -class LicenseProperty { - private String name; - private String url; -} - -@Data -class Service { - private List servers; -} - -@Data -class Server { - private String description; - private String url; -} - -@Data -class Group { - private String name; - private List paths; -} diff --git a/biosdk-services/src/main/java/io/mosip/biosdk/services/config/SwaggerConfig.java b/biosdk-services/src/main/java/io/mosip/biosdk/services/config/SwaggerConfig.java index d02afd3f..ec6c7231 100644 --- a/biosdk-services/src/main/java/io/mosip/biosdk/services/config/SwaggerConfig.java +++ b/biosdk-services/src/main/java/io/mosip/biosdk/services/config/SwaggerConfig.java @@ -1,9 +1,5 @@ package io.mosip.biosdk.services.config; -import io.swagger.v3.oas.models.Components; -import io.swagger.v3.oas.models.OpenAPI; -import org.springdoc.core.GroupedOpenApi; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -13,19 +9,14 @@ import springfox.documentation.builders.RequestHandlerSelectors; import springfox.documentation.spi.DocumentationType; import springfox.documentation.spring.web.plugins.Docket; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import io.swagger.v3.oas.models.Components; -import io.swagger.v3.oas.models.OpenAPI; -import io.swagger.v3.oas.models.info.Info; -import io.swagger.v3.oas.models.info.License; -import io.swagger.v3.oas.models.servers.Server; +import springfox.documentation.swagger2.annotations.EnableSwagger2; import java.util.HashSet; import java.util.Set; @Configuration +@EnableSwagger2 public class SwaggerConfig extends WebMvcConfigurationSupport { @Value("${application.env.local:false}") private Boolean localEnv; @@ -41,55 +32,12 @@ public class SwaggerConfig extends WebMvcConfigurationSupport { int port = -1; String hostWithPort = "localhost:9092"; - private static final Logger logger = LoggerFactory.getLogger(SwaggerConfig.class); - - @Autowired - private OpenApiProperties openApiProperties; - -// @Bean -// public Docket api() { -// return new Docket(DocumentationType.SWAGGER_2) -// .select() -// .apis(RequestHandlerSelectors.any()) -// .paths(PathSelectors.any()) -// .build(); -// } - - @Bean - public OpenAPI openApi() { - OpenAPI api = new OpenAPI() - .components(new Components()) - .info(new Info() - .title(openApiProperties.getInfo().getTitle()) - .version(openApiProperties.getInfo().getVersion()) - .description(openApiProperties.getInfo().getDescription()) - .license(new License() - .name(openApiProperties.getInfo().getLicense().getName()) - .url(openApiProperties.getInfo().getLicense().getUrl()))); - - openApiProperties.getService().getServers().forEach(server -> { - api.addServersItem(new Server().description(server.getDescription()).url(server.getUrl())); - }); - logger.info("swagger open api bean is ready"); - return api; - } - @Bean - public Docket api() { - if(swaggerBaseUrl !=null){ - String newSwaggerBaseUrl=swaggerBaseUrl.replace(":80", ""); - swaggerBaseUrl = newSwaggerBaseUrl; - } return new Docket(DocumentationType.SWAGGER_2) .select() .apis(RequestHandlerSelectors.any()) .paths(PathSelectors.any()) - - public GroupedOpenApi groupedOpenApi() { - return GroupedOpenApi.builder().group(openApiProperties.getGroup().getName()) - .pathsToMatch(openApiProperties.getGroup().getPaths().stream().toArray(String[]::new)) - .build(); } diff --git a/biosdk-services/src/main/java/io/mosip/biosdk/services/controller/MainController.java b/biosdk-services/src/main/java/io/mosip/biosdk/services/controller/MainController.java index 1bceb6fd..61ac20ee 100644 --- a/biosdk-services/src/main/java/io/mosip/biosdk/services/controller/MainController.java +++ b/biosdk-services/src/main/java/io/mosip/biosdk/services/controller/MainController.java @@ -11,12 +11,10 @@ import io.mosip.biosdk.services.utils.Utils; import io.mosip.kernel.biometrics.spi.IBioApi; import io.mosip.kernel.core.logger.spi.Logger; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.media.Content; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.responses.ApiResponse; -import io.swagger.v3.oas.annotations.responses.ApiResponses; -import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiResponse; +import io.swagger.annotations.ApiResponses; import org.json.simple.JSONObject; import org.json.simple.parser.JSONParser; import org.json.simple.parser.ParseException; @@ -38,7 +36,7 @@ @RestController @RequestMapping("/") -@Tag(name = "Sdk", description = "Sdk") +@Api(tags = "Sdk") @CrossOrigin("*") public class MainController { @@ -56,38 +54,25 @@ public class MainController { private Gson gson = new GsonBuilder().serializeNulls().create();; @GetMapping(path = "/") - @Operation(summary = "Service status", description = "Service status", tags = { "Sdk" }) - @ApiResponses(value = { @ApiResponse(responseCode = "200", description = "OK"), - @ApiResponse(responseCode = "201", description = "Service is running...", content = @Content(schema = @Schema(hidden = true))), - @ApiResponse(responseCode = "401", description = "Unauthorized", content = @Content(schema = @Schema(hidden = true))), - @ApiResponse(responseCode = "403", description = "Forbidden", content = @Content(schema = @Schema(hidden = true))), - @ApiResponse(responseCode = "404", description = "Not Found", content = @Content(schema = @Schema(hidden = true))) }) + @ApiOperation(value = "Service status") + @ApiResponses(value = { @ApiResponse(code = 200, message = "Service is running...") }) public ResponseEntity status() { Date d = new Date(); return ResponseEntity.status(HttpStatus.OK).body("Service is running... "+d.toString()); } - //@PreAuthorize("hasAnyRole('REGISTRATION_PROCESSOR')") - @PreAuthorize("hasAnyRole(@authorizedRoles.getGetservicestatus())") + @PreAuthorize("hasAnyRole('REGISTRATION_PROCESSOR')") @GetMapping(path = "/s") - @Operation(summary = "Service status 1", description = "Service status 1", tags = { "Sdk" }) - @ApiResponses(value = { @ApiResponse(responseCode = "200", description = "OK"), - @ApiResponse(responseCode = "201", description = "Service is running...", content = @Content(schema = @Schema(hidden = true))), - @ApiResponse(responseCode = "401", description = "Unauthorized", content = @Content(schema = @Schema(hidden = true))), - @ApiResponse(responseCode = "403", description = "Forbidden", content = @Content(schema = @Schema(hidden = true))), - @ApiResponse(responseCode = "404", description = "Not Found", content = @Content(schema = @Schema(hidden = true))) }) + @ApiOperation(value = "Service status 1") + @ApiResponses(value = { @ApiResponse(code = 200, message = "Service is running...") }) public ResponseEntity status1() { Date d = new Date(); return ResponseEntity.status(HttpStatus.OK).body("Service is running... "+d.toString()); } @PostMapping(path = "/init", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) - @Operation(summary = "Initialization", description = "Initialization", tags = { "Sdk" }) - @ApiResponses(value = { @ApiResponse(responseCode = "200", description = "OK"), - @ApiResponse(responseCode = "201", description = "Initialization successful", content = @Content(schema = @Schema(hidden = true))), - @ApiResponse(responseCode = "401", description = "Unauthorized", content = @Content(schema = @Schema(hidden = true))), - @ApiResponse(responseCode = "403", description = "Forbidden", content = @Content(schema = @Schema(hidden = true))), - @ApiResponse(responseCode = "404", description = "Not Found", content = @Content(schema = @Schema(hidden = true))) }) + @ApiOperation(value = "Initialization") + @ApiResponses(value = { @ApiResponse(code = 200, message = "Initialization successful") }) public ResponseEntity init( @Validated @RequestBody(required = true) RequestDto request, @ApiIgnore Errors errors) { @@ -107,12 +92,8 @@ public ResponseEntity init( } @PostMapping(path = "/match", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) - @Operation(summary = "Match", description = "Match", tags = { "Sdk" }) - @ApiResponses(value = { @ApiResponse(responseCode = "200", description = "OK"), - @ApiResponse(responseCode = "201", description = "Match successful", content = @Content(schema = @Schema(hidden = true))), - @ApiResponse(responseCode = "401", description = "Unauthorized", content = @Content(schema = @Schema(hidden = true))), - @ApiResponse(responseCode = "403", description = "Forbidden", content = @Content(schema = @Schema(hidden = true))), - @ApiResponse(responseCode = "404", description = "Not Found", content = @Content(schema = @Schema(hidden = true))) }) + @ApiOperation(value = "Match") + @ApiResponses(value = { @ApiResponse(code = 200, message = "Match successful") }) public ResponseEntity match( @Validated @RequestBody(required = true) RequestDto request, @ApiIgnore Errors errors) { @@ -132,12 +113,8 @@ public ResponseEntity match( } @PostMapping(path = "/check-quality", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) - @Operation(summary = "Check quality", description = "Check quality", tags = { "Sdk" }) - @ApiResponses(value = { @ApiResponse(responseCode = "200", description = "OK"), - @ApiResponse(responseCode = "201", description = "Check successful", content = @Content(schema = @Schema(hidden = true))), - @ApiResponse(responseCode = "401", description = "Unauthorized", content = @Content(schema = @Schema(hidden = true))), - @ApiResponse(responseCode = "403", description = "Forbidden", content = @Content(schema = @Schema(hidden = true))), - @ApiResponse(responseCode = "404", description = "Not Found", content = @Content(schema = @Schema(hidden = true))) }) + @ApiOperation(value = "Check quality") + @ApiResponses(value = { @ApiResponse(code = 200, message = "Check successful") }) public ResponseEntity checkQuality( @Validated @RequestBody(required = true) RequestDto request, @ApiIgnore Errors errors) { @@ -156,12 +133,9 @@ public ResponseEntity checkQuality( return ResponseEntity.status(HttpStatus.OK).body(gson.toJson(responseDto)); } - @Operation(summary = "extract-template", description = "extract-template", tags = { "Sdk" }) - @ApiResponses(value = { @ApiResponse(responseCode = "200", description = "OK"), - @ApiResponse(responseCode = "201", description = "Extract successful", content = @Content(schema = @Schema(hidden = true))), - @ApiResponse(responseCode = "401", description = "Unauthorized", content = @Content(schema = @Schema(hidden = true))), - @ApiResponse(responseCode = "403", description = "Forbidden", content = @Content(schema = @Schema(hidden = true))), - @ApiResponse(responseCode = "404", description = "Not Found", content = @Content(schema = @Schema(hidden = true))) }) + @PostMapping(path = "/extract-template", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) + @ApiOperation(value = "Extract template") + @ApiResponses(value = { @ApiResponse(code = 200, message = "Extract successful") }) public ResponseEntity extractTemplate( @Validated @RequestBody(required = true) RequestDto request, @ApiIgnore Errors errors) { @@ -181,12 +155,8 @@ public ResponseEntity extractTemplate( } @PostMapping(path = "/convert-format", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) - @Operation(summary = "Convert format", description = "Convert format", tags = { "Sdk" }) - @ApiResponses(value = { @ApiResponse(responseCode = "200", description = "OK"), - @ApiResponse(responseCode = "201", description = "Convert successful", content = @Content(schema = @Schema(hidden = true))), - @ApiResponse(responseCode = "401", description = "Unauthorized", content = @Content(schema = @Schema(hidden = true))), - @ApiResponse(responseCode = "403", description = "Forbidden", content = @Content(schema = @Schema(hidden = true))), - @ApiResponse(responseCode = "404", description = "Not Found", content = @Content(schema = @Schema(hidden = true))) }) + @ApiOperation(value = "Convert format") + @ApiResponses(value = { @ApiResponse(code = 200, message = "Convert successful") }) public ResponseEntity convertFormat( @Validated @RequestBody(required = true) RequestDto request, @ApiIgnore Errors errors) { @@ -206,12 +176,8 @@ public ResponseEntity convertFormat( } @PostMapping(path = "/segment", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) - @Operation(summary = "Segment", description = "Segment", tags = { "Sdk" }) - @ApiResponses(value = { @ApiResponse(responseCode = "200", description = "OK"), - @ApiResponse(responseCode = "201", description = "Segment successful", content = @Content(schema = @Schema(hidden = true))), - @ApiResponse(responseCode = "401", description = "Unauthorized", content = @Content(schema = @Schema(hidden = true))), - @ApiResponse(responseCode = "403", description = "Forbidden", content = @Content(schema = @Schema(hidden = true))), - @ApiResponse(responseCode = "404", description = "Not Found", content = @Content(schema = @Schema(hidden = true))) }) + @ApiOperation(value = "Segment") + @ApiResponses(value = { @ApiResponse(code = 200, message = "Segment successful") }) public ResponseEntity segment( @Validated @RequestBody(required = true) RequestDto request, @ApiIgnore Errors errors) { diff --git a/biosdk-services/src/main/resources/application.properties b/biosdk-services/src/main/resources/application.properties index 319e3c34..be82d170 100644 --- a/biosdk-services/src/main/resources/application.properties +++ b/biosdk-services/src/main/resources/application.properties @@ -1,24 +1,6 @@ server.port=9099 spring.cloud.config.enabled=false security.basic.enabled=false -#server.servlet.context-path=/biosdk-service -#logging.level.org.springframework=DEBUG -mosip.role.biosdk.getservicestatus=REGISTRATION_PROCESSOR - server.servlet.context-path=/biosdk-service -spring.application.name=biosdk-service -openapi.info.title=${spring.application.name} -openapi.info.description=${spring.application.name} -openapi.info.version=1.0 -openapi.info.license.name=Mosip -openapi.info.license.url=https://docs.mosip.io/platform/license -mosipbox.public.url=http://localhost:${server.port} -openapi.service.servers[0].url=${mosipbox.public.url}${server.servlet.context-path} -openapi.service.servers[0].description=${spring.application.name} -openapi.group.name=${openapi.info.title} -openapi.group.paths[0]=/** -#springdoc.swagger-ui.disable-swagger-default-url=true -springdoc.swagger-ui.tagsSorter=alpha -springdoc.swagger-ui.operationsSorter=alpha -spring.mvc.servlet.path=${server.servlet.context-path} - +biosdk_class=io.mosip.mock.sdk.impl.SampleSDK +#logging.level.org.springframework=DEBUG \ No newline at end of file diff --git a/biosdk-services/src/main/resources/bootstrap.properties b/biosdk-services/src/main/resources/bootstrap.properties deleted file mode 100644 index b2b2f076..00000000 --- a/biosdk-services/src/main/resources/bootstrap.properties +++ /dev/null @@ -1,19 +0,0 @@ -server.port=9099 -server.servlet.context-path=/biosdk-service -spring.application.name=biosdk-service -openapi.info.title=${spring.application.name} -openapi.info.description=${spring.application.name} -openapi.info.version=1.0 -openapi.info.license.name=Mosip -openapi.info.license.url=https://docs.mosip.io/platform/license -mosipbox.public.url=http://localhost:${server.port} -openapi.service.servers[0].url=${mosipbox.public.url}${server.servlet.context-path} -openapi.service.servers[0].description=${spring.application.name} -openapi.group.name=${openapi.info.title} -openapi.group.paths[0]=/** -#springdoc.swagger-ui.disable-swagger-default-url=true -springdoc.swagger-ui.tagsSorter=alpha -springdoc.swagger-ui.operationsSorter=alpha -spring.mvc.servlet.path=${server.servlet.context-path} -#springdoc.swagger-ui.path=/swagger-ui.html -#springdoc.api-docs.path= /v3/api-docs From 891c2e28b5dd1809480aa273919a12ca8bdd265f Mon Sep 17 00:00:00 2001 From: Rakshitha650 <76676196+Rakshitha650@users.noreply.github.com> Date: Tue, 28 Jun 2022 17:08:42 +0530 Subject: [PATCH 09/74] updated the kernel versions --- biosdk-services/pom.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/biosdk-services/pom.xml b/biosdk-services/pom.xml index cd37bcbf..4b199046 100644 --- a/biosdk-services/pom.xml +++ b/biosdk-services/pom.xml @@ -27,9 +27,9 @@ 2.9.2 - 1.2.0-rc2-SNAPSHOT - 1.2.0-rc2-SNAPSHOT - 1.2.0-rc2-SNAPSHOT + 1.2.1-SNAPSHOT + 1.2.1-SNAPSHOT + 1.2.1-SNAPSHOT From 15378c9aac0d1682854c5bf5d5f42f8525fb8730 Mon Sep 17 00:00:00 2001 From: Shilpa M Date: Wed, 27 Jul 2022 18:59:06 +0530 Subject: [PATCH 10/74] Mosip-19163 provide health check to biosdk --- biosdk-services/pom.xml | 7 ++++++- .../src/main/resources/application.properties | 10 +++++++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/biosdk-services/pom.xml b/biosdk-services/pom.xml index cd37bcbf..a7d67d75 100644 --- a/biosdk-services/pom.xml +++ b/biosdk-services/pom.xml @@ -77,6 +77,11 @@ spring-boot-starter-security ${spring.boot.version} + + org.springframework.boot + spring-boot-starter-actuator + ${spring.boot.version} + io.springfox springfox-swagger2 @@ -121,7 +126,7 @@ 2.8.6 - + diff --git a/biosdk-services/src/main/resources/application.properties b/biosdk-services/src/main/resources/application.properties index 137e258c..66f0ffe9 100644 --- a/biosdk-services/src/main/resources/application.properties +++ b/biosdk-services/src/main/resources/application.properties @@ -1,6 +1,14 @@ server.port=9099 spring.cloud.config.enabled=false security.basic.enabled=false -#server.servlet.context-path=/biosdk-service +server.servlet.context-path=/biosdk-service #logging.level.org.springframework=DEBUG mosip.role.biosdk.getservicestatus=REGISTRATION_PROCESSOR +health.config.enabled=false +management.security.enable=false +management.endpoint.health.show-details=always +management.endpoints.web.exposure.include=info,health,refresh,mappings +management.endpoint.metrics.enabled=true +management.endpoint.prometheus.enabled=true +management.metrics.export.prometheus.enabled=true + From 03e862e419893d9c00674172fa7c9183afdcb925 Mon Sep 17 00:00:00 2001 From: Manoj SP Date: Wed, 10 Aug 2022 11:46:27 +0530 Subject: [PATCH 11/74] [MOSIP-22919] updated kernel core version in dep management --- biosdk-services/pom.xml | 414 ++++++++++++++++++++-------------------- 1 file changed, 210 insertions(+), 204 deletions(-) diff --git a/biosdk-services/pom.xml b/biosdk-services/pom.xml index b5fa0fee..519dbabf 100644 --- a/biosdk-services/pom.xml +++ b/biosdk-services/pom.xml @@ -1,221 +1,227 @@ - 4.0.0 + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + 4.0.0 - biosdk-services - io.mosip.biosdk - 1.2.1-SNAPSHOT - biosdk-services + biosdk-services + io.mosip.biosdk + 1.2.1-SNAPSHOT + biosdk-services - Sample implementation of biometrics SDK services - https://github.com/mosip/mosip-ref-impl + Sample implementation of biometrics SDK services + https://github.com/mosip/mosip-ref-impl - - - 2.0.2.RELEASE - 2.0.2.RELEASE - 2.22.0 - 0.8.5 - 3.7.0.1746 + + + 2.0.2.RELEASE + 2.0.2.RELEASE + 2.22.0 + 0.8.5 + 3.7.0.1746 - - 1.18.8 + + 1.18.8 - - 2.9.2 + + 2.9.2 - - 1.2.1-SNAPSHOT - 1.2.1-SNAPSHOT - 1.2.1-SNAPSHOT - + + 1.2.1-SNAPSHOT + 1.2.1-SNAPSHOT + 1.2.1-SNAPSHOT + - - - - org.springframework.boot - spring-boot-dependencies - ${spring.boot.version} - pom - import - - - org.springframework.boot - spring-boot-starter-json - - - - - + + + + io.mosip.kernel + kernel-core + ${kernel.core.version} + + + org.springframework.boot + spring-boot-dependencies + ${spring.boot.version} + pom + import + + + org.springframework.boot + spring-boot-starter-json + + + + + - - - org.springframework.cloud - spring-cloud-starter-config - ${spring-cloud-config.version} - - - org.springframework.boot - spring-boot-devtools - runtime - - - org.springframework.boot - spring-boot-starter-web - ${spring.boot.version} - - - org.springframework.boot - spring-boot-starter-json - - - - - org.springframework.boot - spring-boot-starter-security - ${spring.boot.version} - - + + + org.springframework.cloud + spring-cloud-starter-config + ${spring-cloud-config.version} + + + org.springframework.boot + spring-boot-devtools + runtime + + + org.springframework.boot + spring-boot-starter-web + ${spring.boot.version} + + + org.springframework.boot + spring-boot-starter-json + + + + + org.springframework.boot + spring-boot-starter-security + ${spring.boot.version} + + org.springframework.boot spring-boot-starter-actuator ${spring.boot.version} - - io.springfox - springfox-swagger2 - ${swagger.version} - compile - - - io.springfox - springfox-swagger-ui - ${swagger.version} - compile - - - io.mosip.kernel - kernel-biometrics-api - ${kernel.biometricsdk.version} - - - io.mosip.kernel - kernel-logger-logback - ${kernel.logger.logback.version} - - - io.mosip.kernel - kernel-core - ${kernel.core.version} - - - org.projectlombok - lombok - ${lombok.version} - compile - - - com.googlecode.json-simple - json-simple - 1.1.1 - - - com.google.code.gson - gson - 2.8.6 - + + io.springfox + springfox-swagger2 + ${swagger.version} + compile + + + io.springfox + springfox-swagger-ui + ${swagger.version} + compile + + + io.mosip.kernel + kernel-biometrics-api + ${kernel.biometricsdk.version} + + + io.mosip.kernel + kernel-logger-logback + ${kernel.logger.logback.version} + + + io.mosip.kernel + kernel-core + ${kernel.core.version} + + + org.projectlombok + lombok + ${lombok.version} + compile + + + com.googlecode.json-simple + json-simple + 1.1.1 + + + com.google.code.gson + gson + 2.8.6 + - + - - - - org.apache.maven.plugins - maven-surefire-plugin - ${maven.surefire.plugin.version} - - ${skipTests} - false - - ${argLine} --add-opens java.xml/jdk.xml.internal=ALL-UNNAMED --illegal-access=permit - - - - - org.jacoco - jacoco-maven-plugin - ${maven.jacoco.plugin.version} - - - - prepare-agent - - - - report - prepare-package - - report - - - - - - org.apache.maven.plugins - maven-compiler-plugin - - 11 - 11 - - - - org.springframework.boot - spring-boot-maven-plugin - - ZIP - true - - - - - build-info - repackage - - - - - - - - - sonar - - . - src/main/java/**,src/main/resources/** - ${sonar.coverage.exclusions} - https://sonarcloud.io - - - false - - - - - org.sonarsource.scanner.maven - sonar-maven-plugin - ${maven.sonar.plugin.version} - - - verify - - sonar - - - - - - - - + + + + org.apache.maven.plugins + maven-surefire-plugin + ${maven.surefire.plugin.version} + + ${skipTests} + false + + ${argLine} --add-opens java.xml/jdk.xml.internal=ALL-UNNAMED + --illegal-access=permit + + + + + org.jacoco + jacoco-maven-plugin + ${maven.jacoco.plugin.version} + + + + prepare-agent + + + + report + prepare-package + + report + + + + + + org.apache.maven.plugins + maven-compiler-plugin + + 11 + 11 + + + + org.springframework.boot + spring-boot-maven-plugin + + ZIP + true + + + + + build-info + repackage + + + + + + + + + sonar + + . + src/main/java/**,src/main/resources/** + ${sonar.coverage.exclusions} + https://sonarcloud.io + + + false + + + + + org.sonarsource.scanner.maven + sonar-maven-plugin + ${maven.sonar.plugin.version} + + + verify + + sonar + + + + + + + + From 7c9c4cdaf59e28c2d39fd0acaaa12e77b8e22fbd Mon Sep 17 00:00:00 2001 From: Manoj SP Date: Thu, 11 Aug 2022 15:23:50 +0530 Subject: [PATCH 12/74] [MOSIP-22919] updated transitive dependency for object mapper --- biosdk-services/pom.xml | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/biosdk-services/pom.xml b/biosdk-services/pom.xml index 519dbabf..39d4bbb9 100644 --- a/biosdk-services/pom.xml +++ b/biosdk-services/pom.xml @@ -34,11 +34,6 @@ - - io.mosip.kernel - kernel-core - ${kernel.core.version} - org.springframework.boot spring-boot-dependencies @@ -52,6 +47,16 @@ + + com.fasterxml.jackson.core + jackson-databind + 2.11.0 + + + com.fasterxml.jackson.core + jackson-core + 2.11.0 + @@ -143,7 +148,8 @@ ${skipTests} false - ${argLine} --add-opens java.xml/jdk.xml.internal=ALL-UNNAMED + ${argLine} --add-opens + java.xml/jdk.xml.internal=ALL-UNNAMED --illegal-access=permit From fff7c7e9533110372bec0b6ba2005744cac3d7a4 Mon Sep 17 00:00:00 2001 From: Manoj SP Date: Thu, 11 Aug 2022 15:25:15 +0530 Subject: [PATCH 13/74] [MOSIP-22919] updated transitive dependency for kernel core --- biosdk-services/pom.xml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/biosdk-services/pom.xml b/biosdk-services/pom.xml index 39d4bbb9..6a03d6ab 100644 --- a/biosdk-services/pom.xml +++ b/biosdk-services/pom.xml @@ -34,6 +34,11 @@ + + io.mosip.kernel + kernel-core + ${kernel.core.version} + org.springframework.boot spring-boot-dependencies From 0c7d4e1c50979efd18ef0cbef2dcf7e39880e415 Mon Sep 17 00:00:00 2001 From: ckm007 Date: Thu, 10 Feb 2022 06:38:41 +0000 Subject: [PATCH 14/74] [MOSIP-19910] updated badges --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 3e3e2023..cc56b89e 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ -[![Maven Package upon a push](https://github.com/mosip/biosdk-services/actions/workflows/push_trigger.yml/badge.svg?branch=release-1.2.0)](https://github.com/mosip/biosdk-services/actions/workflows/push_trigger.yml) -[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?branch=release-1.2.0&project=mosip_biosdk-services&metric=alert_status)](https://sonarcloud.io/dashboard?branch=release-1.2.0&id=mosip_biosdk-services) +[![Maven Package upon a push](https://github.com/mosip/biosdk-services/actions/workflows/push_trigger.yml/badge.svg?branch=master)](https://github.com/mosip/biosdk-services/actions/workflows/push_trigger.yml) +[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?branch=master&project=mosip_biosdk-services&metric=alert_status)](https://sonarcloud.io/dashboard?branch=master&id=mosip_biosdk-services) # Bio-SDK Service From 268055a7ea45abaa166ea4577059431d81ea14ce Mon Sep 17 00:00:00 2001 From: Keshav Mishra Date: Mon, 18 Jul 2022 12:13:16 +0530 Subject: [PATCH 15/74] [MOSIP-20028] added action for tagging --- .github/workflows/tag.yaml | 43 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 .github/workflows/tag.yaml diff --git a/.github/workflows/tag.yaml b/.github/workflows/tag.yaml new file mode 100644 index 00000000..e9bba0e6 --- /dev/null +++ b/.github/workflows/tag.yaml @@ -0,0 +1,43 @@ +name: Tagging of repos + +env: + tag: v1.2.3 + +on: + workflow_dispatch: + inputs: + tag: + description: 'Tag to be published' + required: true + default: 'v1.2.3' + type: string + body: + description: 'Release body message' + required: true + default: 'Changes in this Release' + type: string + pre-release: + description: 'Pre-release? True/False' + required: true + default: False + type: string + +jobs: + build: + name: Create Release + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v2 + - name: Create Release + id: create_release + uses: actions/create-release@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # This token is provided by Actions, you do not need to create your own token + with: + tag_name: ${{ github.event.inputs.tag }} + release_name: ${{ github.event.inputs.tag }} + body: | + ${{ github.event.inputs.body }} + draft: false + prerelease: ${{fromJSON(github.event.inputs.pre-release)}} From 0e79bd5d690cc58f242e25ee8dede71b36d51b4e Mon Sep 17 00:00:00 2001 From: JanardhanBS-SyncByte Date: Fri, 23 Sep 2022 16:34:26 +0530 Subject: [PATCH 16/74] convertFormat api changes --- biosdk-services/pom.xml | 13 +++++++------ .../io/mosip/biosdk/services/SdkApplication.java | 8 ++++---- .../spec_1_0/BioSdkServiceProviderImpl_V_1_0.java | 10 +++------- 3 files changed, 14 insertions(+), 17 deletions(-) diff --git a/biosdk-services/pom.xml b/biosdk-services/pom.xml index 6a03d6ab..d9cdaeb0 100644 --- a/biosdk-services/pom.xml +++ b/biosdk-services/pom.xml @@ -28,17 +28,13 @@ 1.2.1-SNAPSHOT + 1.2.1-SNAPSHOT 1.2.1-SNAPSHOT 1.2.1-SNAPSHOT - - io.mosip.kernel - kernel-core - ${kernel.core.version} - org.springframework.boot spring-boot-dependencies @@ -140,7 +136,12 @@ gson 2.8.6 - + + + com.github.jai-imageio + jai-imageio-jpeg2000 + 1.3.0 + diff --git a/biosdk-services/src/main/java/io/mosip/biosdk/services/SdkApplication.java b/biosdk-services/src/main/java/io/mosip/biosdk/services/SdkApplication.java index f7fecd6b..e76c245b 100644 --- a/biosdk-services/src/main/java/io/mosip/biosdk/services/SdkApplication.java +++ b/biosdk-services/src/main/java/io/mosip/biosdk/services/SdkApplication.java @@ -3,9 +3,9 @@ import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; -@SpringBootApplication() +@SpringBootApplication public class SdkApplication { - public static void main(String[] args) { - SpringApplication.run(SdkApplication.class, args); - } + public static void main(String[] args) { + SpringApplication.run(SdkApplication.class, args); + } } diff --git a/biosdk-services/src/main/java/io/mosip/biosdk/services/impl/spec_1_0/BioSdkServiceProviderImpl_V_1_0.java b/biosdk-services/src/main/java/io/mosip/biosdk/services/impl/spec_1_0/BioSdkServiceProviderImpl_V_1_0.java index 3e3a28ad..38583d5b 100644 --- a/biosdk-services/src/main/java/io/mosip/biosdk/services/impl/spec_1_0/BioSdkServiceProviderImpl_V_1_0.java +++ b/biosdk-services/src/main/java/io/mosip/biosdk/services/impl/spec_1_0/BioSdkServiceProviderImpl_V_1_0.java @@ -4,14 +4,11 @@ import com.google.gson.GsonBuilder; import io.mosip.biosdk.services.config.LoggerConfig; import io.mosip.biosdk.services.constants.ErrorMessages; -import io.mosip.biosdk.services.dto.ErrorDto; import io.mosip.biosdk.services.dto.RequestDto; -import io.mosip.biosdk.services.dto.ResponseDto; import io.mosip.biosdk.services.exceptions.BioSDKException; import io.mosip.biosdk.services.impl.spec_1_0.dto.request.*; import io.mosip.biosdk.services.spi.BioSdkServiceProvider; import io.mosip.biosdk.services.utils.Utils; -import io.mosip.kernel.biometrics.entities.BiometricRecord; import io.mosip.kernel.biometrics.model.Response; import io.mosip.kernel.biometrics.model.SDKInfo; import io.mosip.kernel.biometrics.spi.IBioApi; @@ -19,7 +16,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; -import java.util.ArrayList; import static io.mosip.biosdk.services.constants.AppConstants.LOGGER_IDTYPE; import static io.mosip.biosdk.services.constants.AppConstants.LOGGER_SESSIONID; @@ -151,13 +147,13 @@ public Object segment(RequestDto request) { @Override public Object convertFormat(RequestDto request) { - BiometricRecord biometricRecord; + Response response; String decryptedRequest = decode(request.getRequest()); logger.debug(LOGGER_SESSIONID, LOGGER_IDTYPE,"convertFormat: ", "decoding successful"); ConvertFormatRequestDto convertFormatRequestDto = gson.fromJson(decryptedRequest, ConvertFormatRequestDto.class); logger.debug(LOGGER_SESSIONID, LOGGER_IDTYPE,"convertFormat: ", "json to dto successful"); try { - biometricRecord = iBioApi.convertFormat( + response = iBioApi.convertFormat( convertFormatRequestDto.getSample(), convertFormatRequestDto.getSourceFormat(), convertFormatRequestDto.getTargetFormat(), @@ -170,7 +166,7 @@ public Object convertFormat(RequestDto request) { logger.error(LOGGER_SESSIONID, LOGGER_IDTYPE,"convertFormat: ", e.toString()+" "+e.getMessage()); throw new BioSDKException(ErrorMessages.BIOSDK_LIB_EXCEPTION.toString(), ErrorMessages.BIOSDK_LIB_EXCEPTION.getMessage()+": "+e.toString()+" "+e.getMessage()); } - return biometricRecord; + return response; } private String decode(String data){ From 68d65c363fe74f4489a5e7c50efa126edc208175 Mon Sep 17 00:00:00 2001 From: JanardhanBS-SyncByte Date: Fri, 23 Sep 2022 16:37:05 +0530 Subject: [PATCH 17/74] convertFormat api changes --- biosdk-services/pom.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/biosdk-services/pom.xml b/biosdk-services/pom.xml index d9cdaeb0..9e262eed 100644 --- a/biosdk-services/pom.xml +++ b/biosdk-services/pom.xml @@ -28,7 +28,6 @@ 1.2.1-SNAPSHOT - 1.2.1-SNAPSHOT 1.2.1-SNAPSHOT 1.2.1-SNAPSHOT From 482fd8f06a79eda04b7ce72539219e29f1753377 Mon Sep 17 00:00:00 2001 From: Sasikumar Ganesan Date: Mon, 26 Sep 2022 15:48:25 +0530 Subject: [PATCH 18/74] Delete tag.yaml --- .github/workflows/tag.yaml | 43 -------------------------------------- 1 file changed, 43 deletions(-) delete mode 100644 .github/workflows/tag.yaml diff --git a/.github/workflows/tag.yaml b/.github/workflows/tag.yaml deleted file mode 100644 index e9bba0e6..00000000 --- a/.github/workflows/tag.yaml +++ /dev/null @@ -1,43 +0,0 @@ -name: Tagging of repos - -env: - tag: v1.2.3 - -on: - workflow_dispatch: - inputs: - tag: - description: 'Tag to be published' - required: true - default: 'v1.2.3' - type: string - body: - description: 'Release body message' - required: true - default: 'Changes in this Release' - type: string - pre-release: - description: 'Pre-release? True/False' - required: true - default: False - type: string - -jobs: - build: - name: Create Release - runs-on: ubuntu-latest - steps: - - name: Checkout code - uses: actions/checkout@v2 - - name: Create Release - id: create_release - uses: actions/create-release@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # This token is provided by Actions, you do not need to create your own token - with: - tag_name: ${{ github.event.inputs.tag }} - release_name: ${{ github.event.inputs.tag }} - body: | - ${{ github.event.inputs.body }} - draft: false - prerelease: ${{fromJSON(github.event.inputs.pre-release)}} From 43f2b1e89d127a71244abc01d37f88dcfd36861f Mon Sep 17 00:00:00 2001 From: Sasikumar Ganesan Date: Mon, 26 Sep 2022 15:49:15 +0530 Subject: [PATCH 19/74] Delete README.md --- README.md | 12 ------------ 1 file changed, 12 deletions(-) delete mode 100644 README.md diff --git a/README.md b/README.md deleted file mode 100644 index cc56b89e..00000000 --- a/README.md +++ /dev/null @@ -1,12 +0,0 @@ -[![Maven Package upon a push](https://github.com/mosip/biosdk-services/actions/workflows/push_trigger.yml/badge.svg?branch=master)](https://github.com/mosip/biosdk-services/actions/workflows/push_trigger.yml) -[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?branch=master&project=mosip_biosdk-services&metric=alert_status)](https://sonarcloud.io/dashboard?branch=master&id=mosip_biosdk-services) - -# Bio-SDK Service - -## Overview -This service provides a mock implementation of Bio-SDK REST Service. It by default loads [Mock BIO SDK](https://github.com/mosip/mosip-mock-services/tree/master/mock-sdk) internally on the startup and exposes the endpoints to perform 1:N match, segmentation, extraction as per the [IBioAPI](https://github.com/mosip/commons/blob/master/kernel/kernel-biometrics-api/src/main/java/io/mosip/kernel/biometrics/spi/IBioApi.java). - -To know more about Biometric SDK, refer [biometric-sdk](https://docs.mosip.io/1.2.0/biometrics/biometric-sdk). - -### License -This project is licensed under the terms of [Mozilla Public License 2.0](LICENSE). From 8b8eea6384623ca032bb268a12126d82f49ed0bc Mon Sep 17 00:00:00 2001 From: Sasikumar Ganesan Date: Mon, 26 Sep 2022 15:56:12 +0530 Subject: [PATCH 20/74] Updated readme --- README.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 00000000..572a7cce --- /dev/null +++ b/README.md @@ -0,0 +1,12 @@ +[![Maven Package upon a push](https://github.com/mosip/biosdk-services/actions/workflows/push_trigger.yml/badge.svg?branch=master)](https://github.com/mosip/biosdk-services/actions/workflows/push_trigger.yml) +[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?branch=master&project=mosip_biosdk-services&metric=alert_status)](https://sonarcloud.io/dashboard?branch=master&id=mosip_biosdk-services) + +# Bio-SDK Service + +## Overview +This is reference service and provides a mock implementation of Bio-SDK REST Service. By default loads [Mock BIO SDK](https://github.com/mosip/mosip-mock-services/tree/master/mock-sdk) internally on the startup and exposes the endpoints to perform 1:1 match, extraction as per the [IBioAPI](https://github.com/mosip/commons/blob/master/kernel/kernel-biometrics-api/src/main/java/io/mosip/kernel/biometrics/spi/IBioApi.java). + +To know more about Biometric SDK, refer [biometric-sdk](https://docs.mosip.io/1.2.0/biometrics/biometric-sdk). + +### License +This project is licensed under the terms of [Mozilla Public License 2.0](LICENSE). From 9c90cc17cfb19e994e7741203f58a77b9e79c338 Mon Sep 17 00:00:00 2001 From: Keshav Mishra Date: Wed, 26 Oct 2022 14:43:09 +0530 Subject: [PATCH 21/74] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 572a7cce..f97b522f 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ [![Maven Package upon a push](https://github.com/mosip/biosdk-services/actions/workflows/push_trigger.yml/badge.svg?branch=master)](https://github.com/mosip/biosdk-services/actions/workflows/push_trigger.yml) -[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?branch=master&project=mosip_biosdk-services&metric=alert_status)](https://sonarcloud.io/dashboard?branch=master&id=mosip_biosdk-services) +[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?branch=develop&project=mosip_biosdk-services&metric=alert_status)](https://sonarcloud.io/dashboard?branch=develop&id=mosip_biosdk-services) # Bio-SDK Service From 96a2ccca44da9d7051beaf4a2d9d0706443cc05a Mon Sep 17 00:00:00 2001 From: JanardhanBS-SyncByte Date: Mon, 5 Dec 2022 20:24:04 +0530 Subject: [PATCH 22/74] MOSIP-24448 --- biosdk-services/pom.xml | 41 +++++++++++++++++++++++++---------------- 1 file changed, 25 insertions(+), 16 deletions(-) diff --git a/biosdk-services/pom.xml b/biosdk-services/pom.xml index 9e262eed..fb0cc66e 100644 --- a/biosdk-services/pom.xml +++ b/biosdk-services/pom.xml @@ -6,13 +6,17 @@ biosdk-services io.mosip.biosdk - 1.2.1-SNAPSHOT + 1.2.0.1-SNAPSHOT biosdk-services Sample implementation of biometrics SDK services https://github.com/mosip/mosip-ref-impl + 11 + + 11 + 11 2.0.2.RELEASE 2.0.2.RELEASE @@ -27,9 +31,11 @@ 2.9.2 - 1.2.1-SNAPSHOT - 1.2.1-SNAPSHOT - 1.2.1-SNAPSHOT + 1.2.0.1-SNAPSHOT + 1.2.0.1-SNAPSHOT + 1.2.0.1-SNAPSHOT + + 2.0.2.RELEASE @@ -135,12 +141,7 @@ gson 2.8.6 - - - com.github.jai-imageio - jai-imageio-jpeg2000 - 1.3.0 - + @@ -179,20 +180,27 @@ - org.apache.maven.plugins - maven-compiler-plugin - - 11 - 11 - + org.apache.maven.plugins + maven-compiler-plugin + 3.8.0 + + ${maven.compiler.source} + ${maven.compiler.target} + org.springframework.boot spring-boot-maven-plugin + ${spring.boot.version} ZIP true + + ${maven.compiler.source} + ${maven.compiler.target} + + @@ -201,6 +209,7 @@ + From d12c736167cfd767bf6302d691ad936880862c04 Mon Sep 17 00:00:00 2001 From: JanardhanBS-SyncByte <72377118+JanardhanBS-SyncByte@users.noreply.github.com> Date: Fri, 3 Feb 2023 20:26:02 +0530 Subject: [PATCH 23/74] Update Pom.xml --- biosdk-services/pom.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/biosdk-services/pom.xml b/biosdk-services/pom.xml index fb0cc66e..92e6f67c 100644 --- a/biosdk-services/pom.xml +++ b/biosdk-services/pom.xml @@ -6,7 +6,7 @@ biosdk-services io.mosip.biosdk - 1.2.0.1-SNAPSHOT + 1.2.1-SNAPSHOT biosdk-services Sample implementation of biometrics SDK services @@ -31,9 +31,9 @@ 2.9.2 - 1.2.0.1-SNAPSHOT - 1.2.0.1-SNAPSHOT - 1.2.0.1-SNAPSHOT + 1.2.1-SNAPSHOT + 1.2.1-SNAPSHOT + 1.2.1-SNAPSHOT 2.0.2.RELEASE From 5c3649b6f8dd578f59abdc26e55df87ddc64583c Mon Sep 17 00:00:00 2001 From: JanardhanBS-SyncByte Date: Tue, 7 Mar 2023 16:00:46 +0530 Subject: [PATCH 24/74] MOSIP-26485 --- .../impl/spec_1_0/BioSdkServiceProviderImpl_V_1_0.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/biosdk-services/src/main/java/io/mosip/biosdk/services/impl/spec_1_0/BioSdkServiceProviderImpl_V_1_0.java b/biosdk-services/src/main/java/io/mosip/biosdk/services/impl/spec_1_0/BioSdkServiceProviderImpl_V_1_0.java index 38583d5b..16f4d033 100644 --- a/biosdk-services/src/main/java/io/mosip/biosdk/services/impl/spec_1_0/BioSdkServiceProviderImpl_V_1_0.java +++ b/biosdk-services/src/main/java/io/mosip/biosdk/services/impl/spec_1_0/BioSdkServiceProviderImpl_V_1_0.java @@ -11,7 +11,7 @@ import io.mosip.biosdk.services.utils.Utils; import io.mosip.kernel.biometrics.model.Response; import io.mosip.kernel.biometrics.model.SDKInfo; -import io.mosip.kernel.biometrics.spi.IBioApi; +import io.mosip.kernel.biometrics.spi.IBioApiV2; import io.mosip.kernel.core.logger.spi.Logger; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @@ -31,7 +31,7 @@ public class BioSdkServiceProviderImpl_V_1_0 implements BioSdkServiceProvider { private static final String privateKey = ""; @Autowired - private IBioApi iBioApi; + private IBioApiV2 iBioApi; @Autowired private Utils serviceUtil; @@ -153,7 +153,7 @@ public Object convertFormat(RequestDto request) { ConvertFormatRequestDto convertFormatRequestDto = gson.fromJson(decryptedRequest, ConvertFormatRequestDto.class); logger.debug(LOGGER_SESSIONID, LOGGER_IDTYPE,"convertFormat: ", "json to dto successful"); try { - response = iBioApi.convertFormat( + response = iBioApi.convertFormatV2( convertFormatRequestDto.getSample(), convertFormatRequestDto.getSourceFormat(), convertFormatRequestDto.getTargetFormat(), From 59d4663d00cf0d036fdba56f85dff0f018fb8b2b Mon Sep 17 00:00:00 2001 From: JanardhanBS-SyncByte <72377118+JanardhanBS-SyncByte@users.noreply.github.com> Date: Tue, 7 Mar 2023 16:38:38 +0530 Subject: [PATCH 25/74] MOSIP-26485 (#43) --- .../impl/spec_1_0/BioSdkServiceProviderImpl_V_1_0.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/biosdk-services/src/main/java/io/mosip/biosdk/services/impl/spec_1_0/BioSdkServiceProviderImpl_V_1_0.java b/biosdk-services/src/main/java/io/mosip/biosdk/services/impl/spec_1_0/BioSdkServiceProviderImpl_V_1_0.java index 38583d5b..16f4d033 100644 --- a/biosdk-services/src/main/java/io/mosip/biosdk/services/impl/spec_1_0/BioSdkServiceProviderImpl_V_1_0.java +++ b/biosdk-services/src/main/java/io/mosip/biosdk/services/impl/spec_1_0/BioSdkServiceProviderImpl_V_1_0.java @@ -11,7 +11,7 @@ import io.mosip.biosdk.services.utils.Utils; import io.mosip.kernel.biometrics.model.Response; import io.mosip.kernel.biometrics.model.SDKInfo; -import io.mosip.kernel.biometrics.spi.IBioApi; +import io.mosip.kernel.biometrics.spi.IBioApiV2; import io.mosip.kernel.core.logger.spi.Logger; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @@ -31,7 +31,7 @@ public class BioSdkServiceProviderImpl_V_1_0 implements BioSdkServiceProvider { private static final String privateKey = ""; @Autowired - private IBioApi iBioApi; + private IBioApiV2 iBioApi; @Autowired private Utils serviceUtil; @@ -153,7 +153,7 @@ public Object convertFormat(RequestDto request) { ConvertFormatRequestDto convertFormatRequestDto = gson.fromJson(decryptedRequest, ConvertFormatRequestDto.class); logger.debug(LOGGER_SESSIONID, LOGGER_IDTYPE,"convertFormat: ", "json to dto successful"); try { - response = iBioApi.convertFormat( + response = iBioApi.convertFormatV2( convertFormatRequestDto.getSample(), convertFormatRequestDto.getSourceFormat(), convertFormatRequestDto.getTargetFormat(), From 28728cea515f5549c59685295c82843199e997b1 Mon Sep 17 00:00:00 2001 From: Keshav Mishra Date: Thu, 9 Mar 2023 17:38:50 +0530 Subject: [PATCH 26/74] Update pom.xml (#44) --- biosdk-services/pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/biosdk-services/pom.xml b/biosdk-services/pom.xml index b33cefd6..5d24095d 100644 --- a/biosdk-services/pom.xml +++ b/biosdk-services/pom.xml @@ -32,7 +32,7 @@ - 1.2.0.1-B1-SNAPSHOT + 1.2.0.1-B2-SNAPSHOT 1.2.0.1-B1 1.2.0.1-B1 @@ -115,7 +115,7 @@ io.mosip.kernel kernel-biometrics-api - ${kernel.biometricsdk.version} + ${kernel.biometrics.api.version} io.mosip.kernel From 52447e75e1f503437b94faad53386bdf34dfcf5a Mon Sep 17 00:00:00 2001 From: Keshav Mishra Date: Sat, 15 Apr 2023 11:56:06 +0530 Subject: [PATCH 27/74] [DSD-2478] pom validation changes --- biosdk-services/pom.xml | 50 +++++++++++++++++++++++++++++++++++++++-- 1 file changed, 48 insertions(+), 2 deletions(-) diff --git a/biosdk-services/pom.xml b/biosdk-services/pom.xml index 5d24095d..460c39ab 100644 --- a/biosdk-services/pom.xml +++ b/biosdk-services/pom.xml @@ -6,8 +6,34 @@ biosdk-services io.mosip.biosdk - 1.2.0.1-B1-SNAPSHOT + 1.2.1-SNAPSHOT biosdk-services + + + + MPL 2.0 + https://www.mozilla.org/en-US/MPL/2.0/ + + + + + scm:git:git://github.com/mosip/biosdk-services.git + scm:git:ssh://github.com:mosip/biosdk-services.git + https://github.com/mosip/biosdk-services + HEAD + + + + + Mosip + mosip.emailnotifier@gmail.com + io.mosip + https://mosip.io + + + + Sample implementation of biometrics SDK services + https://github.com/mosip/mosip-ref-impl Sample implementation of biometrics SDK services https://github.com/mosip/mosip-ref-impl @@ -32,7 +58,7 @@ - 1.2.0.1-B2-SNAPSHOT + 1.2.0.1-B2 1.2.0.1-B1 1.2.0.1-B1 @@ -181,6 +207,26 @@ + + org.apache.maven.plugins + maven-gpg-plugin + 1.5 + + + sign-artifacts + verify + + sign + + + + --pinentry-mode + loopback + + + + + org.apache.maven.plugins maven-compiler-plugin From 7e8fbe8cce20e1727250933a02a1af1fe9a2a9e8 Mon Sep 17 00:00:00 2001 From: JanardhanBS-SyncByte <72377118+JanardhanBS-SyncByte@users.noreply.github.com> Date: Thu, 20 Apr 2023 17:28:43 +0530 Subject: [PATCH 28/74] Update pom.xml --- biosdk-services/pom.xml | 3 --- 1 file changed, 3 deletions(-) diff --git a/biosdk-services/pom.xml b/biosdk-services/pom.xml index 460c39ab..938e9294 100644 --- a/biosdk-services/pom.xml +++ b/biosdk-services/pom.xml @@ -35,9 +35,6 @@ Sample implementation of biometrics SDK services https://github.com/mosip/mosip-ref-impl - Sample implementation of biometrics SDK services - https://github.com/mosip/mosip-ref-impl - 11 From ba50da3c1927a147f40afdcad62a4c936a507c8d Mon Sep 17 00:00:00 2001 From: JanardhanBS-SyncByte <72377118+JanardhanBS-SyncByte@users.noreply.github.com> Date: Thu, 20 Apr 2023 17:34:14 +0530 Subject: [PATCH 29/74] [DSD-2448]Fixed Duplication Tag Error in POM file (#50) * MOSIP-26485 * Update pom.xml --- biosdk-services/pom.xml | 3 --- 1 file changed, 3 deletions(-) diff --git a/biosdk-services/pom.xml b/biosdk-services/pom.xml index 460c39ab..938e9294 100644 --- a/biosdk-services/pom.xml +++ b/biosdk-services/pom.xml @@ -35,9 +35,6 @@ Sample implementation of biometrics SDK services https://github.com/mosip/mosip-ref-impl - Sample implementation of biometrics SDK services - https://github.com/mosip/mosip-ref-impl - 11 From b025b12b05d61bb1fafedcbf9791f86b88e61e73 Mon Sep 17 00:00:00 2001 From: JanardhanBS-SyncByte Date: Wed, 3 May 2023 16:08:18 +0530 Subject: [PATCH 30/74] Readme example changed --- biosdk-services/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/biosdk-services/README.md b/biosdk-services/README.md index d5dae3cb..ae9737b5 100644 --- a/biosdk-services/README.md +++ b/biosdk-services/README.md @@ -23,7 +23,7 @@ java -Dloader.path= -Dbiosdk_bioapi_ For example: ```text -java -Dloader.path=mock-sdk.jar -Dbiosdk_bioapi_impl=io.mosip.mock.sdk.impl.SampleSDK -jar biosdk-services-1.1.3.jar +java -Dloader.path=mock-sdk-1.2.1-SNAPSHOT-jar-with-dependencies.jar -Dbiosdk_bioapi_impl=io.mosip.mock.sdk.impl.SampleSDKV2 -jar biosdk-services-1.2.1-SNAPSHOT.jar ``` ### Check service status From d0b9efdf03f8c3bc6efc55d5bd5672ea112f4643 Mon Sep 17 00:00:00 2001 From: JanardhanBS-SyncByte <72377118+JanardhanBS-SyncByte@users.noreply.github.com> Date: Wed, 3 May 2023 16:11:24 +0530 Subject: [PATCH 31/74] Update README.md --- biosdk-services/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/biosdk-services/README.md b/biosdk-services/README.md index d5dae3cb..ae9737b5 100644 --- a/biosdk-services/README.md +++ b/biosdk-services/README.md @@ -23,7 +23,7 @@ java -Dloader.path= -Dbiosdk_bioapi_ For example: ```text -java -Dloader.path=mock-sdk.jar -Dbiosdk_bioapi_impl=io.mosip.mock.sdk.impl.SampleSDK -jar biosdk-services-1.1.3.jar +java -Dloader.path=mock-sdk-1.2.1-SNAPSHOT-jar-with-dependencies.jar -Dbiosdk_bioapi_impl=io.mosip.mock.sdk.impl.SampleSDKV2 -jar biosdk-services-1.2.1-SNAPSHOT.jar ``` ### Check service status From fc3c9e3bfe2cd4e8bf5d024c9243908b766f0ba7 Mon Sep 17 00:00:00 2001 From: dhanendra06 <60607841+dhanendra06@users.noreply.github.com> Date: Tue, 25 Jul 2023 17:00:29 +0530 Subject: [PATCH 32/74] Update pom.xml Signed-off-by: dhanendra06 <60607841+dhanendra06@users.noreply.github.com> --- biosdk-services/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/biosdk-services/pom.xml b/biosdk-services/pom.xml index 938e9294..d4d7760e 100644 --- a/biosdk-services/pom.xml +++ b/biosdk-services/pom.xml @@ -55,7 +55,7 @@ - 1.2.0.1-B2 + 1.2.1-SNAPSHOT 1.2.0.1-B1 1.2.0.1-B1 From ff2c0c1b882f441ef41cb7293da45abf0e11cb35 Mon Sep 17 00:00:00 2001 From: JanardhanBS-SyncByte Date: Thu, 10 Aug 2023 12:12:01 +0530 Subject: [PATCH 33/74] MOSIP-28840 --- biosdk-services/pom.xml | 114 +++++++++--------- biosdk-services/run.bat | 1 + .../src/main/resources/application.properties | 6 +- .../src/main/resources/bootstrap.properties | 8 ++ 4 files changed, 66 insertions(+), 63 deletions(-) create mode 100644 biosdk-services/run.bat create mode 100644 biosdk-services/src/main/resources/bootstrap.properties diff --git a/biosdk-services/pom.xml b/biosdk-services/pom.xml index 938e9294..eae741fb 100644 --- a/biosdk-services/pom.xml +++ b/biosdk-services/pom.xml @@ -1,45 +1,43 @@ - + 4.0.0 biosdk-services io.mosip.biosdk 1.2.1-SNAPSHOT biosdk-services - + - - MPL 2.0 - https://www.mozilla.org/en-US/MPL/2.0/ - - + + MPL 2.0 + https://www.mozilla.org/en-US/MPL/2.0/ + + - - scm:git:git://github.com/mosip/biosdk-services.git - scm:git:ssh://github.com:mosip/biosdk-services.git - https://github.com/mosip/biosdk-services - HEAD - + + scm:git:git://github.com/mosip/biosdk-services.git + scm:git:ssh://github.com:mosip/biosdk-services.git + https://github.com/mosip/biosdk-services + HEAD + - - - Mosip - mosip.emailnotifier@gmail.com - io.mosip - https://mosip.io - - + + + Mosip + mosip.emailnotifier@gmail.com + io.mosip + https://mosip.io + + Sample implementation of biometrics SDK services https://github.com/mosip/mosip-ref-impl 11 - + 11 - 11 + 11 2.0.2.RELEASE 2.0.2.RELEASE @@ -90,7 +88,6 @@ - org.springframework.cloud @@ -127,13 +124,11 @@ io.springfox springfox-swagger2 ${swagger.version} - compile io.springfox springfox-swagger-ui ${swagger.version} - compile io.mosip.kernel @@ -166,7 +161,7 @@ gson 2.8.6 - + @@ -205,33 +200,34 @@ - org.apache.maven.plugins - maven-gpg-plugin - 1.5 - - - sign-artifacts - verify - - sign - - - - --pinentry-mode - loopback - - - - - + org.apache.maven.plugins + maven-gpg-plugin + 1.5 + + + + sign-artifacts + verify + + sign + + + + --pinentry-mode + loopback + + + + + - org.apache.maven.plugins - maven-compiler-plugin - 3.8.0 - - ${maven.compiler.source} - ${maven.compiler.target} - + org.apache.maven.plugins + maven-compiler-plugin + 3.8.0 + + ${maven.compiler.source} + ${maven.compiler.target} + org.springframework.boot @@ -241,11 +237,11 @@ ZIP true - ${maven.compiler.source} - ${maven.compiler.target} + ${maven.compiler.source} + ${maven.compiler.target} - + @@ -254,7 +250,7 @@ - + diff --git a/biosdk-services/run.bat b/biosdk-services/run.bat new file mode 100644 index 00000000..9f103883 --- /dev/null +++ b/biosdk-services/run.bat @@ -0,0 +1 @@ +java -Dloader.path=target/mock-sdk-1.2.1-SNAPSHOT-jar-with-dependencies.jar -Dbiosdk_bioapi_impl=io.mosip.mock.sdk.impl.SampleSDKV2 -jar target/biosdk-services-1.2.1-SNAPSHOT.jar \ No newline at end of file diff --git a/biosdk-services/src/main/resources/application.properties b/biosdk-services/src/main/resources/application.properties index 12d984a1..bc6a4dac 100644 --- a/biosdk-services/src/main/resources/application.properties +++ b/biosdk-services/src/main/resources/application.properties @@ -2,7 +2,7 @@ server.port=9099 spring.cloud.config.enabled=false security.basic.enabled=false server.servlet.context-path=/biosdk-service -biosdk_class=io.mosip.mock.sdk.impl.SampleSDK +biosdk_class=io.mosip.mock.sdk.impl.SampleSDKV2 #logging.level.org.springframework=DEBUG mosip.role.biosdk.getservicestatus=REGISTRATION_PROCESSOR health.config.enabled=false @@ -11,6 +11,4 @@ management.endpoint.health.show-details=always management.endpoints.web.exposure.include=info,health,refresh,mappings management.endpoint.metrics.enabled=true management.endpoint.prometheus.enabled=true -management.metrics.export.prometheus.enabled=true - - +management.metrics.export.prometheus.enabled=true \ No newline at end of file diff --git a/biosdk-services/src/main/resources/bootstrap.properties b/biosdk-services/src/main/resources/bootstrap.properties new file mode 100644 index 00000000..36e0f79a --- /dev/null +++ b/biosdk-services/src/main/resources/bootstrap.properties @@ -0,0 +1,8 @@ +spring.cloud.config.uri=http://localhost:51000/config +spring.cloud.config.label=master +spring.profiles.active=default +spring.application.name=mock-biosdk +spring.cloud.config.name=mock-biosdk + +#iam mock-sdk config +sdk_check_iso_timestamp_format=false \ No newline at end of file From fa5a2cfb29d6619e4173e202f388a58d42bba967 Mon Sep 17 00:00:00 2001 From: Sowmya Ujjappa Banakar Date: Tue, 22 Aug 2023 17:05:14 +0530 Subject: [PATCH 34/74] MOSIP-28840 docker changes to read from config server --- biosdk-services/Dockerfile | 151 +++++++++++++++++++------------------ 1 file changed, 79 insertions(+), 72 deletions(-) diff --git a/biosdk-services/Dockerfile b/biosdk-services/Dockerfile index 82d81ec3..4c8efd38 100644 --- a/biosdk-services/Dockerfile +++ b/biosdk-services/Dockerfile @@ -1,72 +1,79 @@ -FROM openjdk:11 - -ARG biosdk_zip_url - -ENV biosdk_zip_file_path=${biosdk_zip_url} - -ARG biosdk_local_dir=biosdk-client - -ENV biosdk_local_dir_name=${biosdk_local_dir} - -ARG sdk_impl - -ARG service_context=/biosdk-service - -ENV service_context_env=${service_context} - -#ENV biosdk_zip_url=$biosdk_zip_url -ENV biosdk_bioapi_impl=${sdk_impl} - -# can be passed during Docker build as build time environment for github branch to pickup configuration from. -ARG container_user=mosip - -# can be passed during Docker build as build time environment for github branch to pickup configuration from. -ARG container_user_group=mosip - -# can be passed during Docker build as build time environment for github branch to pickup configuration from. -ARG container_user_uid=1001 - -# can be passed during Docker build as build time environment for github branch to pickup configuration from. -ARG container_user_gid=1001 - -# install packages and create user -RUN apt-get -y update \ -&& apt-get install -y unzip sudo\ -&& groupadd -g ${container_user_gid} ${container_user_group} \ -&& useradd -u ${container_user_uid} -g ${container_user_group} -s /bin/sh -m ${container_user} - -# set working directory for the user -WORKDIR /home/${container_user} - -ENV work_dir=/home/${container_user} - -ARG loader_path=${work_dir}/additional_jars/ - -RUN mkdir -p ${loader_path} - -ENV loader_path_env=${loader_path} - -ARG logging_level_root=INFO - -ENV logging_level_root_env=${logging_level_root} - -ADD ./target/biosdk-services-*.jar biosdk-services.jar - -ADD ./configure_biosdk.sh configure_biosdk.sh - -RUN chmod 775 biosdk-services.jar - -RUN chmod +x configure_biosdk.sh - -# change permissions of file inside working dir -RUN chown -R ${container_user}:${container_user} /home/${container_user} - -# select container user for all tasks -USER ${container_user_uid}:${container_user_gid} - -EXPOSE 9099 - -ENTRYPOINT [ "./configure_biosdk.sh" ] - -CMD echo $biosdk_bioapi_impl ; \ -java -Dloader.path="${loader_path_env}" -Dbiosdk_bioapi_impl="${biosdk_bioapi_impl}" -Dserver.servlet.context-path="${service_context_env}" -Dlogging.level.root=${logging_level_root_env} -jar biosdk-services.jar +FROM openjdk:11 + +# environment variable to pass github branch to pickup configuration from, at docker runtime +ENV spring_config_label_env=${spring_config_label} +# environment variable to pass active profile such as DEV, QA etc at docker runtime +ENV active_profile_env=${active_profile} +# environment variable to pass spring configuration url, at docker runtime +ENV spring_config_url_env=${spring_config_url} + +ARG biosdk_zip_url + +ENV biosdk_zip_file_path=${biosdk_zip_url} + +ARG biosdk_local_dir=biosdk-client + +ENV biosdk_local_dir_name=${biosdk_local_dir} + +ARG sdk_impl + +ARG service_context=/biosdk-service + +ENV service_context_env=${service_context} + +#ENV biosdk_zip_url=$biosdk_zip_url +ENV biosdk_bioapi_impl=${sdk_impl} + +# can be passed during Docker build as build time environment for github branch to pickup configuration from. +ARG container_user=mosip + +# can be passed during Docker build as build time environment for github branch to pickup configuration from. +ARG container_user_group=mosip + +# can be passed during Docker build as build time environment for github branch to pickup configuration from. +ARG container_user_uid=1001 + +# can be passed during Docker build as build time environment for github branch to pickup configuration from. +ARG container_user_gid=1001 + +# install packages and create user +RUN apt-get -y update \ +&& apt-get install -y unzip sudo\ +&& groupadd -g ${container_user_gid} ${container_user_group} \ +&& useradd -u ${container_user_uid} -g ${container_user_group} -s /bin/sh -m ${container_user} + +# set working directory for the user +WORKDIR /home/${container_user} + +ENV work_dir=/home/${container_user} + +ARG loader_path=${work_dir}/additional_jars/ + +RUN mkdir -p ${loader_path} + +ENV loader_path_env=${loader_path} + +ARG logging_level_root=INFO + +ENV logging_level_root_env=${logging_level_root} + +ADD ./target/biosdk-services-*.jar biosdk-services.jar + +ADD ./configure_biosdk.sh configure_biosdk.sh + +RUN chmod 775 biosdk-services.jar + +RUN chmod +x configure_biosdk.sh + +# change permissions of file inside working dir +RUN chown -R ${container_user}:${container_user} /home/${container_user} + +# select container user for all tasks +USER ${container_user_uid}:${container_user_gid} + +EXPOSE 9099 + +ENTRYPOINT [ "./configure_biosdk.sh" ] + +CMD echo $biosdk_bioapi_impl ; \ +java -Dloader.path="${loader_path_env}" -Dbiosdk_bioapi_impl="${biosdk_bioapi_impl}" -Dserver.servlet.context-path="${service_context_env}" -Dlogging.level.root=${logging_level_root_env} -jar -Dspring.cloud.config.label="${spring_config_label_env}" -Dspring.profiles.active="${active_profile_env}" -Dspring.cloud.config.uri="${spring_config_url_env}" biosdk-services.jar From dd4c8181d496bea17da5d9b4011d626752b90488 Mon Sep 17 00:00:00 2001 From: Sowmya Ujjappa Banakar Date: Wed, 23 Aug 2023 14:22:01 +0530 Subject: [PATCH 35/74] MOSIP-28840 config fix --- .../src/main/resources/application.properties | 14 -------------- .../src/main/resources/bootstrap.properties | 13 ++++++++++--- 2 files changed, 10 insertions(+), 17 deletions(-) delete mode 100644 biosdk-services/src/main/resources/application.properties diff --git a/biosdk-services/src/main/resources/application.properties b/biosdk-services/src/main/resources/application.properties deleted file mode 100644 index bc6a4dac..00000000 --- a/biosdk-services/src/main/resources/application.properties +++ /dev/null @@ -1,14 +0,0 @@ -server.port=9099 -spring.cloud.config.enabled=false -security.basic.enabled=false -server.servlet.context-path=/biosdk-service -biosdk_class=io.mosip.mock.sdk.impl.SampleSDKV2 -#logging.level.org.springframework=DEBUG -mosip.role.biosdk.getservicestatus=REGISTRATION_PROCESSOR -health.config.enabled=false -management.security.enable=false -management.endpoint.health.show-details=always -management.endpoints.web.exposure.include=info,health,refresh,mappings -management.endpoint.metrics.enabled=true -management.endpoint.prometheus.enabled=true -management.metrics.export.prometheus.enabled=true \ No newline at end of file diff --git a/biosdk-services/src/main/resources/bootstrap.properties b/biosdk-services/src/main/resources/bootstrap.properties index 36e0f79a..b026a18a 100644 --- a/biosdk-services/src/main/resources/bootstrap.properties +++ b/biosdk-services/src/main/resources/bootstrap.properties @@ -3,6 +3,13 @@ spring.cloud.config.label=master spring.profiles.active=default spring.application.name=mock-biosdk spring.cloud.config.name=mock-biosdk - -#iam mock-sdk config -sdk_check_iso_timestamp_format=false \ No newline at end of file +server.port=9099 +security.basic.enabled=false +server.servlet.context-path=/biosdk-service +health.config.enabled=false +management.security.enable=false +management.endpoint.health.show-details=always +management.endpoints.web.exposure.include=info,health,refresh,mappings +management.endpoint.metrics.enabled=true +management.endpoint.prometheus.enabled=true +management.metrics.export.prometheus.enabled=true \ No newline at end of file From 0326e079b8950857026c1e09709371b8d2c41e75 Mon Sep 17 00:00:00 2001 From: Sowmya Ujjappa Banakar Date: Wed, 23 Aug 2023 14:59:53 +0530 Subject: [PATCH 36/74] MOSIP-28840 config fix --- biosdk-services/Dockerfile | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/biosdk-services/Dockerfile b/biosdk-services/Dockerfile index 4c8efd38..59d7f290 100644 --- a/biosdk-services/Dockerfile +++ b/biosdk-services/Dockerfile @@ -1,5 +1,14 @@ FROM openjdk:11 +# can be passed during Docker build as build time environment for github branch to pickup configuration from. +ARG spring_config_label + +# can be passed during Docker build as build time environment for spring profiles active +ARG active_profile + +# can be passed during Docker build as build time environment for config server URL +ARG spring_config_url + # environment variable to pass github branch to pickup configuration from, at docker runtime ENV spring_config_label_env=${spring_config_label} # environment variable to pass active profile such as DEV, QA etc at docker runtime From 5222762b1ecdd21a589fb8d06eb3d9e62636f3d5 Mon Sep 17 00:00:00 2001 From: Sowmya Ujjappa Banakar Date: Wed, 23 Aug 2023 16:16:21 +0530 Subject: [PATCH 37/74] MOSIP-28840_develop name changes --- biosdk-services/src/main/resources/bootstrap.properties | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/biosdk-services/src/main/resources/bootstrap.properties b/biosdk-services/src/main/resources/bootstrap.properties index b026a18a..71a9d8c9 100644 --- a/biosdk-services/src/main/resources/bootstrap.properties +++ b/biosdk-services/src/main/resources/bootstrap.properties @@ -1,8 +1,8 @@ spring.cloud.config.uri=http://localhost:51000/config spring.cloud.config.label=master spring.profiles.active=default -spring.application.name=mock-biosdk -spring.cloud.config.name=mock-biosdk +spring.application.name=biosdk-service +spring.cloud.config.name=biosdk-service server.port=9099 security.basic.enabled=false server.servlet.context-path=/biosdk-service From a74e343889c322ae8e8b583564f9e8e685ce517d Mon Sep 17 00:00:00 2001 From: Sowmya Ujjappa Banakar <43202851+sowmya695@users.noreply.github.com> Date: Wed, 23 Aug 2023 16:42:14 +0530 Subject: [PATCH 38/74] MOSIP-28840_develop name changes (#63) Co-authored-by: Sowmya Ujjappa Banakar --- biosdk-services/src/main/resources/bootstrap.properties | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/biosdk-services/src/main/resources/bootstrap.properties b/biosdk-services/src/main/resources/bootstrap.properties index b026a18a..71a9d8c9 100644 --- a/biosdk-services/src/main/resources/bootstrap.properties +++ b/biosdk-services/src/main/resources/bootstrap.properties @@ -1,8 +1,8 @@ spring.cloud.config.uri=http://localhost:51000/config spring.cloud.config.label=master spring.profiles.active=default -spring.application.name=mock-biosdk -spring.cloud.config.name=mock-biosdk +spring.application.name=biosdk-service +spring.cloud.config.name=biosdk-service server.port=9099 security.basic.enabled=false server.servlet.context-path=/biosdk-service From 94ab2fa0e8687599fedc4b11298ecb3a70892e6f Mon Sep 17 00:00:00 2001 From: Sowmya Ujjappa Banakar Date: Wed, 23 Aug 2023 17:22:46 +0530 Subject: [PATCH 39/74] MOSIP-28840_develop name changes --- .../io/mosip/biosdk/services/config/BioSdkLibConfig.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/biosdk-services/src/main/java/io/mosip/biosdk/services/config/BioSdkLibConfig.java b/biosdk-services/src/main/java/io/mosip/biosdk/services/config/BioSdkLibConfig.java index c6fdd7ae..33457d0b 100644 --- a/biosdk-services/src/main/java/io/mosip/biosdk/services/config/BioSdkLibConfig.java +++ b/biosdk-services/src/main/java/io/mosip/biosdk/services/config/BioSdkLibConfig.java @@ -1,6 +1,7 @@ package io.mosip.biosdk.services.config; -import io.mosip.kernel.biometrics.spi.IBioApi; +import javax.annotation.PostConstruct; + import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -8,11 +9,13 @@ import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Lazy; +import org.springframework.context.annotation.PropertySource; import org.springframework.core.env.Environment; -import javax.annotation.PostConstruct; +import io.mosip.kernel.biometrics.spi.IBioApi; @Configuration +@PropertySource("classpath:bootstrap.properties") public class BioSdkLibConfig { private static final Logger logger = LoggerFactory.getLogger(BioSdkLibConfig.class); @Autowired From c60b0c18aa308c8db5ff2a18ee0f522df38f7087 Mon Sep 17 00:00:00 2001 From: Sowmya Ujjappa Banakar <43202851+sowmya695@users.noreply.github.com> Date: Wed, 23 Aug 2023 18:54:12 +0530 Subject: [PATCH 40/74] Mosip 28840 develop (#64) * MOSIP-28840_develop name changes * MOSIP-28840_develop name changes --------- Co-authored-by: Sowmya Ujjappa Banakar --- .../io/mosip/biosdk/services/config/BioSdkLibConfig.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/biosdk-services/src/main/java/io/mosip/biosdk/services/config/BioSdkLibConfig.java b/biosdk-services/src/main/java/io/mosip/biosdk/services/config/BioSdkLibConfig.java index c6fdd7ae..33457d0b 100644 --- a/biosdk-services/src/main/java/io/mosip/biosdk/services/config/BioSdkLibConfig.java +++ b/biosdk-services/src/main/java/io/mosip/biosdk/services/config/BioSdkLibConfig.java @@ -1,6 +1,7 @@ package io.mosip.biosdk.services.config; -import io.mosip.kernel.biometrics.spi.IBioApi; +import javax.annotation.PostConstruct; + import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -8,11 +9,13 @@ import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Lazy; +import org.springframework.context.annotation.PropertySource; import org.springframework.core.env.Environment; -import javax.annotation.PostConstruct; +import io.mosip.kernel.biometrics.spi.IBioApi; @Configuration +@PropertySource("classpath:bootstrap.properties") public class BioSdkLibConfig { private static final Logger logger = LoggerFactory.getLogger(BioSdkLibConfig.class); @Autowired From b83b8bf44ea67d642bffe2834c089ad87ab0e644 Mon Sep 17 00:00:00 2001 From: Sowmya Ujjappa Banakar Date: Thu, 24 Aug 2023 12:09:16 +0530 Subject: [PATCH 41/74] MOSIP-28840_develop --- .../src/main/java/io/mosip/biosdk/services/SdkApplication.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/biosdk-services/src/main/java/io/mosip/biosdk/services/SdkApplication.java b/biosdk-services/src/main/java/io/mosip/biosdk/services/SdkApplication.java index e76c245b..f602ec9b 100644 --- a/biosdk-services/src/main/java/io/mosip/biosdk/services/SdkApplication.java +++ b/biosdk-services/src/main/java/io/mosip/biosdk/services/SdkApplication.java @@ -2,7 +2,9 @@ import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.context.annotation.ComponentScan; +@ComponentScan(basePackages = { "io.mosip.biosdk.services.*" }) @SpringBootApplication public class SdkApplication { public static void main(String[] args) { From 6bdc8056a4d9703c2803b685bfaa5a57dc62ccb3 Mon Sep 17 00:00:00 2001 From: Sowmya Ujjappa Banakar Date: Mon, 28 Aug 2023 11:32:00 +0530 Subject: [PATCH 42/74] MOSIP-28840 code fix --- .../java/io/mosip/biosdk/services/config/BioSdkLibConfig.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/biosdk-services/src/main/java/io/mosip/biosdk/services/config/BioSdkLibConfig.java b/biosdk-services/src/main/java/io/mosip/biosdk/services/config/BioSdkLibConfig.java index 33457d0b..ba1c669e 100644 --- a/biosdk-services/src/main/java/io/mosip/biosdk/services/config/BioSdkLibConfig.java +++ b/biosdk-services/src/main/java/io/mosip/biosdk/services/config/BioSdkLibConfig.java @@ -9,13 +9,11 @@ import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Lazy; -import org.springframework.context.annotation.PropertySource; import org.springframework.core.env.Environment; import io.mosip.kernel.biometrics.spi.IBioApi; @Configuration -@PropertySource("classpath:bootstrap.properties") public class BioSdkLibConfig { private static final Logger logger = LoggerFactory.getLogger(BioSdkLibConfig.class); @Autowired From 79e1e5f5d46fa913232fa37ae8cf23e7e4d427fd Mon Sep 17 00:00:00 2001 From: Rakshithb1 <79500257+Rakshithb1@users.noreply.github.com> Date: Wed, 6 Sep 2023 17:49:28 +0530 Subject: [PATCH 43/74] [MOSIP-29095]Updated pom.xml (#70) Signed-off-by: Rakshithb1 <79500257+Rakshithb1@users.noreply.github.com> --- biosdk-services/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/biosdk-services/pom.xml b/biosdk-services/pom.xml index fd50e016..eae741fb 100644 --- a/biosdk-services/pom.xml +++ b/biosdk-services/pom.xml @@ -53,7 +53,7 @@ - 1.2.1-SNAPSHOT + 1.2.0.1-B2 1.2.0.1-B1 1.2.0.1-B1 From d52bd76be61eae02b9480680912f98326a3318c9 Mon Sep 17 00:00:00 2001 From: JanardhanBS-SyncByte <72377118+JanardhanBS-SyncByte@users.noreply.github.com> Date: Thu, 7 Sep 2023 19:45:29 +0530 Subject: [PATCH 44/74] MOSIP-28840 (#72) --- biosdk-services/pom.xml | 46 ++++++++++--------- .../mosip/biosdk/services/SdkApplication.java | 2 +- .../services/config/BioSdkLibConfig.java | 4 +- .../services/controller/MainController.java | 13 ++++++ .../BioSdkServiceProviderImpl_V_1_0.java | 5 +- .../src/main/resources/bootstrap.properties | 7 +-- 6 files changed, 47 insertions(+), 30 deletions(-) diff --git a/biosdk-services/pom.xml b/biosdk-services/pom.xml index eae741fb..bea8ea42 100644 --- a/biosdk-services/pom.xml +++ b/biosdk-services/pom.xml @@ -88,6 +88,7 @@ + org.springframework.cloud @@ -124,11 +125,13 @@ io.springfox springfox-swagger2 ${swagger.version} + compile io.springfox springfox-swagger-ui ${swagger.version} + compile io.mosip.kernel @@ -166,6 +169,26 @@ + + org.apache.maven.plugins + maven-gpg-plugin + 1.5 + + + sign-artifacts + verify + + sign + + + + --pinentry-mode + loopback + + + + + org.apache.maven.plugins maven-surefire-plugin @@ -199,27 +222,6 @@ - - org.apache.maven.plugins - maven-gpg-plugin - 1.5 - - - - sign-artifacts - verify - - sign - - - - --pinentry-mode - loopback - - - - - org.apache.maven.plugins maven-compiler-plugin @@ -285,4 +287,4 @@ - + \ No newline at end of file diff --git a/biosdk-services/src/main/java/io/mosip/biosdk/services/SdkApplication.java b/biosdk-services/src/main/java/io/mosip/biosdk/services/SdkApplication.java index f602ec9b..c2accfc3 100644 --- a/biosdk-services/src/main/java/io/mosip/biosdk/services/SdkApplication.java +++ b/biosdk-services/src/main/java/io/mosip/biosdk/services/SdkApplication.java @@ -10,4 +10,4 @@ public class SdkApplication { public static void main(String[] args) { SpringApplication.run(SdkApplication.class, args); } -} +} \ No newline at end of file diff --git a/biosdk-services/src/main/java/io/mosip/biosdk/services/config/BioSdkLibConfig.java b/biosdk-services/src/main/java/io/mosip/biosdk/services/config/BioSdkLibConfig.java index ba1c669e..e0012d94 100644 --- a/biosdk-services/src/main/java/io/mosip/biosdk/services/config/BioSdkLibConfig.java +++ b/biosdk-services/src/main/java/io/mosip/biosdk/services/config/BioSdkLibConfig.java @@ -27,7 +27,7 @@ public void validateBioSdkLib() throws ClassNotFoundException { String sdkClass = this.env.getProperty("biosdk_bioapi_impl"); logger.info("Biosdk class: " + sdkClass); if (StringUtils.isNotBlank(sdkClass)) { - logger.debug("validating Bio SDK Class is present or not"); + logger.info("validating Bio SDK Class is present or not"); Class.forName(this.env.getProperty("biosdk_bioapi_impl")); } @@ -40,7 +40,7 @@ public IBioApi iBioApi() throws ClassNotFoundException, InstantiationException, String sdkClass = this.env.getProperty("biosdk_bioapi_impl"); logger.info("Biosdk class: " + sdkClass); if (StringUtils.isNotBlank(sdkClass)) { - logger.debug("instance of Bio SDK is created"); + logger.info("instance of Bio SDK is created"); return (IBioApi)Class.forName(sdkClass).newInstance(); } else { logger.debug("no Bio SDK is provided"); diff --git a/biosdk-services/src/main/java/io/mosip/biosdk/services/controller/MainController.java b/biosdk-services/src/main/java/io/mosip/biosdk/services/controller/MainController.java index 61ac20ee..2b48b53a 100644 --- a/biosdk-services/src/main/java/io/mosip/biosdk/services/controller/MainController.java +++ b/biosdk-services/src/main/java/io/mosip/biosdk/services/controller/MainController.java @@ -97,18 +97,31 @@ public ResponseEntity init( public ResponseEntity match( @Validated @RequestBody(required = true) RequestDto request, @ApiIgnore Errors errors) { + System.out.println(LOGGER_SESSIONID + LOGGER_IDTYPE+ "Match: Started"); + System.out.println("-------------------------------------------------------------------------------------------"); + System.out.println("-------------------------------------------------------------------------------------------"); + System.out.println("-------------------------------------------------------------------------------------------"); + System.out.println("-------------------------------------------------------------------------------------------"); + System.out.println("-------------------------------------------------------------------------------------------"); ResponseDto responseDto = generateResponseTemplate(request.getVersion()); try { responseDto.setVersion(request.getVersion()); BioSdkServiceProvider bioSdkServiceProviderImpl = null; bioSdkServiceProviderImpl = bioSdkServiceFactory.getBioSdkServiceProvider(request.getVersion()); + logger.info(LOGGER_SESSIONID, LOGGER_IDTYPE, "Match: call"); responseDto.setResponse(bioSdkServiceProviderImpl.match(request)); + logger.error(LOGGER_SESSIONID, LOGGER_IDTYPE, "Match: call ended"); } catch (BioSDKException e) { logger.error(LOGGER_SESSIONID, LOGGER_IDTYPE, "BioSDKException: ", e.getMessage()); ErrorDto errorDto = new ErrorDto(e.getErrorCode(), e.getErrorText()); responseDto.getErrors().add(errorDto); return ResponseEntity.status(HttpStatus.OK).body(gson.toJson(responseDto)); } + System.out.println("-------------------------------------------------------------------------------------------"); + System.out.println("-------------------------------------------------------------------------------------------"); + System.out.println("-------------------------------------------------------------------------------------------"); + System.out.println("-------------------------------------------------------------------------------------------"); + System.out.println("-------------------------------------------------------------------------------------------"); return ResponseEntity.status(HttpStatus.OK).body(gson.toJson(responseDto)); } diff --git a/biosdk-services/src/main/java/io/mosip/biosdk/services/impl/spec_1_0/BioSdkServiceProviderImpl_V_1_0.java b/biosdk-services/src/main/java/io/mosip/biosdk/services/impl/spec_1_0/BioSdkServiceProviderImpl_V_1_0.java index 16f4d033..bf10b446 100644 --- a/biosdk-services/src/main/java/io/mosip/biosdk/services/impl/spec_1_0/BioSdkServiceProviderImpl_V_1_0.java +++ b/biosdk-services/src/main/java/io/mosip/biosdk/services/impl/spec_1_0/BioSdkServiceProviderImpl_V_1_0.java @@ -11,6 +11,7 @@ import io.mosip.biosdk.services.utils.Utils; import io.mosip.kernel.biometrics.model.Response; import io.mosip.kernel.biometrics.model.SDKInfo; +//import io.mosip.kernel.biometrics.spi.IBioApi; import io.mosip.kernel.biometrics.spi.IBioApiV2; import io.mosip.kernel.core.logger.spi.Logger; import org.springframework.beans.factory.annotation.Autowired; @@ -22,7 +23,6 @@ @Component public class BioSdkServiceProviderImpl_V_1_0 implements BioSdkServiceProvider { - private Logger logger = LoggerConfig.logConfig(BioSdkServiceProviderImpl_V_1_0.class); private static final String BIOSDK_SERVICE_SPEC_VERSION = "1.0"; @@ -95,6 +95,7 @@ public Object match(RequestDto request) { matchRequestDto.getModalitiesToMatch(), matchRequestDto.getFlags() ); + System.out.println(LOGGER_SESSIONID + LOGGER_IDTYPE + "match response: "+ response.toString()); } catch (Throwable e){ e.printStackTrace(); logger.error(LOGGER_SESSIONID, LOGGER_IDTYPE,"match: ", e.toString()+" "+e.getMessage()); @@ -147,7 +148,7 @@ public Object segment(RequestDto request) { @Override public Object convertFormat(RequestDto request) { - Response response; + Response response = null; String decryptedRequest = decode(request.getRequest()); logger.debug(LOGGER_SESSIONID, LOGGER_IDTYPE,"convertFormat: ", "decoding successful"); ConvertFormatRequestDto convertFormatRequestDto = gson.fromJson(decryptedRequest, ConvertFormatRequestDto.class); diff --git a/biosdk-services/src/main/resources/bootstrap.properties b/biosdk-services/src/main/resources/bootstrap.properties index 71a9d8c9..fc1521da 100644 --- a/biosdk-services/src/main/resources/bootstrap.properties +++ b/biosdk-services/src/main/resources/bootstrap.properties @@ -1,10 +1,10 @@ spring.cloud.config.uri=http://localhost:51000/config spring.cloud.config.label=master -spring.profiles.active=default +spring.profiles.active=local spring.application.name=biosdk-service spring.cloud.config.name=biosdk-service -server.port=9099 security.basic.enabled=false +server.port=9099 server.servlet.context-path=/biosdk-service health.config.enabled=false management.security.enable=false @@ -12,4 +12,5 @@ management.endpoint.health.show-details=always management.endpoints.web.exposure.include=info,health,refresh,mappings management.endpoint.metrics.enabled=true management.endpoint.prometheus.enabled=true -management.metrics.export.prometheus.enabled=true \ No newline at end of file +management.metrics.export.prometheus.enabled=true +#logging.level.org.springframework=DEBUG \ No newline at end of file From 83424e29cd99009faa26153f5849bcee454f4ae4 Mon Sep 17 00:00:00 2001 From: syed salman <72004356+syedsalman3753@users.noreply.github.com> Date: Fri, 8 Sep 2023 12:36:34 +0530 Subject: [PATCH 45/74] [MOSIP-29207] Updated workflows as per reusable workflows templates (#73) [MOSIP-25631] Co-authored-by: syed-salman-technoforte --- .github/workflows/build.yml | 109 ------- .github/workflows/push-trigger.yml | 90 ++++++ .github/workflows/push_trigger.yml | 258 ---------------- .github/workflows/release-changes.yml | 28 ++ .github/workflows/release_changes.yml | 61 ---- .github/workflows/release_trigger.yml | 407 -------------------------- .github/workflows/tag.yml | 35 +++ .gitignore | 3 + biosdk-services/pom.xml | 26 ++ 9 files changed, 182 insertions(+), 835 deletions(-) delete mode 100644 .github/workflows/build.yml create mode 100644 .github/workflows/push-trigger.yml delete mode 100644 .github/workflows/push_trigger.yml create mode 100644 .github/workflows/release-changes.yml delete mode 100644 .github/workflows/release_changes.yml delete mode 100644 .github/workflows/release_trigger.yml create mode 100644 .github/workflows/tag.yml create mode 100644 .gitignore diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml deleted file mode 100644 index 5e2f3397..00000000 --- a/.github/workflows/build.yml +++ /dev/null @@ -1,109 +0,0 @@ -# This is a basic workflow to help you get started with Actions - -name: Build npm - -# Controls when the action will run. Triggers the workflow on push or pull request -# events but only for the master branch -on: - push: - branches: [ master, 1.0.* ] - pull_request: - branches: [ master, 1.0.* ] - -# A workflow run is made up of one or more jobs that can run sequentially or in parallel -jobs: - # This workflow contains a single job called "build" - build-admin-ui: - runs-on: ubuntu-latest - env: - NAMESPACE: ${{ secrets. dev_namespace_docker_hub }} - SERVICE_NAME: admin-ui - SERVICE_LOCATION: admin-ui - - # Steps represent a sequence of tasks that will be executed as part of the job - steps: - # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - - uses: actions/checkout@v2 - - uses: actions/setup-node@v1 - - - name: npm install - run: cd ${{ env.SERVICE_LOCATION }} && npm install --ignore-scripts - - - name: npm build - run: cd ${{ env.SERVICE_LOCATION }} && npm run-script build -- --prod --base-href . --output-path=dist - - - name: setup environment - run: | - # Strip git ref prefix from version - echo "::set-env name=BRANCH_NAME::$(echo ${{ github.ref }} | sed -e 's,.*/\(.*\),\1,')" - echo ${{ env.BRANCH_NAME }} - - - name: Build image - run: | - cd "./${{env.SERVICE_LOCATION}}" - docker build . --file Dockerfile --tag ${{ env.SERVICE_NAME }} - - - name: Log into registry - run: echo "${{ secrets.release_docker_hub }}" | docker login -u ${{ secrets.actor_docker_hub }} --password-stdin - - - name: Push image - run: | - IMAGE_ID=$NAMESPACE/$SERVICE_NAME - - # Change all uppercase to lowercase - IMAGE_ID=$(echo $IMAGE_ID | tr '[A-Z]' '[a-z]') - VERSION=$BRANCH_NAME - echo "push version $VERSION" - echo IMAGE_ID=$IMAGE_ID - echo VERSION=$VERSION - docker tag $SERVICE_NAME $IMAGE_ID:$VERSION - docker push $IMAGE_ID:$VERSION - - -# This workflow contains a single job called "build" - build-pre-registration-ui: - runs-on: ubuntu-latest - env: - NAMESPACE: ${{ secrets. dev_namespace_docker_hub }} - SERVICE_NAME: pre-registration-ui - SERVICE_LOCATION: pre-registration-ui - - # Steps represent a sequence of tasks that will be executed as part of the job - steps: - # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - - uses: actions/checkout@v2 - - uses: actions/setup-node@v1 - - - name: npm install - run: cd ${{ env.SERVICE_LOCATION }} && npm install --ignore-scripts - - - name: npm build - run: cd ${{ env.SERVICE_LOCATION }} && npm run-script build -- --prod --base-href . --output-path=dist - - - name: setup environment - run: | - # Strip git ref prefix from version - echo "::set-env name=BRANCH_NAME::$(echo ${{ github.ref }} | sed -e 's,.*/\(.*\),\1,')" - echo ${{ env.BRANCH_NAME }} - - - name: Build image - run: | - cd "./${{env.SERVICE_LOCATION}}" - docker build . --file Dockerfile --tag ${{ env.SERVICE_NAME }} - - - name: Log into registry - run: echo "${{ secrets.release_docker_hub }}" | docker login -u ${{ secrets.actor_docker_hub }} --password-stdin - - - name: Push image - run: | - IMAGE_ID=$NAMESPACE/$SERVICE_NAME - - # Change all uppercase to lowercase - IMAGE_ID=$(echo $IMAGE_ID | tr '[A-Z]' '[a-z]') - VERSION=$BRANCH_NAME - echo "push version $VERSION" - echo IMAGE_ID=$IMAGE_ID - echo VERSION=$VERSION - docker tag $SERVICE_NAME $IMAGE_ID:$VERSION - docker push $IMAGE_ID:$VERSION - diff --git a/.github/workflows/push-trigger.yml b/.github/workflows/push-trigger.yml new file mode 100644 index 00000000..fa19af2c --- /dev/null +++ b/.github/workflows/push-trigger.yml @@ -0,0 +1,90 @@ +name: Maven Package upon a push + +on: + release: + types: [published] + pull_request: + types: [opened] + branches: + - '!release-branch' + - release-1* + - 1.* + - develop + - MOSIP* + workflow_dispatch: + inputs: + message: + description: 'Message for manually triggering' + required: false + default: 'Triggered for Updates' + type: string + push: + branches: + - '!release-branch' + - release-1* + - master + - 1.* + - develop + +jobs: + build-biosdk-services: + uses: mosip/kattu/.github/workflows/maven-build.yml@master + with: + SERVICE_LOCATION: ./biosdk-services + BUILD_ARTIFACT: biosdk-services + secrets: + OSSRH_USER: ${{ secrets.OSSRH_USER }} + OSSRH_SECRET: ${{ secrets.OSSRH_SECRET }} + OSSRH_TOKEN: ${{ secrets.OSSRH_TOKEN }} + GPG_SECRET: ${{ secrets.GPG_SECRET }} + SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK }} + + publish_to_nexus: + if: "${{ !contains(github.ref, 'master') && github.event_name != 'pull_request' }}" + needs: build-biosdk-services + uses: mosip/kattu/.github/workflows/maven-publish-to-nexus.yml@master + with: + SERVICE_LOCATION: ./biosdk-services + secrets: + OSSRH_URL: ${{ secrets.OSSRH_SNAPSHOT_URL }} + OSSRH_USER: ${{ secrets.OSSRH_USER }} + OSSRH_SECRET: ${{ secrets.OSSRH_SECRET }} + OSSRH_TOKEN: ${{ secrets.OSSRH_TOKEN }} + GPG_SECRET: ${{ secrets.GPG_SECRET }} + SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK }} + + sonar_analysis: + needs: build-biosdk-services + if: "${{ github.event_name != 'pull_request' }}" + uses: mosip/kattu/.github/workflows/maven-sonar-analysis.yml@master + with: + SERVICE_LOCATION: ./biosdk-services + secrets: + SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + ORG_KEY: ${{ secrets.ORG_KEY }} + OSSRH_USER: ${{ secrets.OSSRH_USER }} + OSSRH_SECRET: ${{ secrets.OSSRH_SECRET }} + OSSRH_TOKEN: ${{ secrets.OSSRH_TOKEN }} + GPG_SECRET: ${{ secrets.GPG_SECRET }} + SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK }} + + build-dockers: + needs: build-biosdk-services + strategy: + matrix: + include: + - SERVICE_LOCATION: 'biosdk-services' + SERVICE_NAME: 'biosdk-server' + BUILD_ARTIFACT: 'biosdk-services' + fail-fast: false + uses: mosip/kattu/.github/workflows/docker-build.yml@master + name: ${{ matrix.SERVICE_NAME }} + with: + SERVICE_LOCATION: ${{ matrix.SERVICE_LOCATION }} + SERVICE_NAME: ${{ matrix.SERVICE_NAME }} + BUILD_ARTIFACT: ${{ matrix.BUILD_ARTIFACT }} + secrets: + DEV_NAMESPACE_DOCKER_HUB: ${{ secrets.DEV_NAMESPACE_DOCKER_HUB }} + ACTOR_DOCKER_HUB: ${{ secrets.ACTOR_DOCKER_HUB }} + RELEASE_DOCKER_HUB: ${{ secrets.RELEASE_DOCKER_HUB }} + SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK }} \ No newline at end of file diff --git a/.github/workflows/push_trigger.yml b/.github/workflows/push_trigger.yml deleted file mode 100644 index d2bb9ac9..00000000 --- a/.github/workflows/push_trigger.yml +++ /dev/null @@ -1,258 +0,0 @@ - -name: Maven Package upon a push - -on: - push: - branches: - - '!release-branch' - - release-1* - - master - - 1.* - - develop - - MOSIP-11719 - -jobs: - build: - runs-on: ubuntu-latest - # Steps represent a sequence of tasks that will be executed as part of the job - steps: - # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - - uses: actions/checkout@v2 - - uses: actions/setup-node@v1 - - - name: Setup branch and env - run: | - # Strip git ref prefix from version - echo "BRANCH_NAME=$(echo ${{ github.ref }} | sed -e 's,.*/\(.*\),\1,')" >> $GITHUB_ENV - echo "GPG_TTY=$(tty)" >> $GITHUB_ENV - - - name: setup environment - run: | - # Strip git ref prefix from version - echo "BRANCH_NAME=$(echo ${{ github.ref }} | sed -e 's,.*/\(.*\),\1,')" >> $GITHUB_ENV - - - name: Set up JDK 11 - uses: actions/setup-java@v1 - with: - ref: ${{ github.ref }} - java-version: 11 - server-id: ossrh # Value of the distributionManagement/repository/id field of the pom.xml - settings-path: ${{ github.workspace }} # location for the settings.xml file - - - name: Setup branch and GPG public key - run: | - # Strip git ref prefix from version - echo ${{ env.BRANCH_NAME }} - echo ${{ env.GPG_TTY }} - sudo apt-get --yes install gnupg2 - gpg2 --import ./.github/keys/mosipgpgkey_pub.gpg - gpg2 --quiet --batch --passphrase=${{secrets.gpg_secret}} --allow-secret-key-import --import ./.github/keys/mosipgpgkey_sec.gpg - - - uses: actions/cache@v1 - with: - path: ~/.m2/repository - key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} - restore-keys: | - ${{ runner.os }}-maven-${{ env.BRANCH_NAME }} - - - name: Install xmllint - run: | - sudo apt-get update - sudo apt-get install libxml2-utils - - - name: Setup the settings file for ossrh server - run: echo " ossrh ${{secrets.ossrh_user}} ${{secrets.ossrh_secret}} ossrh true gpg2 ${{secrets.gpg_secret}} allow-snapshots true snapshots-repo https://oss.sonatype.org/content/repositories/snapshots false true releases-repo https://oss.sonatype.org/service/local/staging/deploy/maven2 true false sonar . https://sonarcloud.io false " > $GITHUB_WORKSPACE/settings.xml - - - name: Build with Maven - run: | - cd biosdk-services - mvn -B package -s $GITHUB_WORKSPACE/settings.xml --file pom.xml - - - name: Ready the springboot artifacts - run: find -name '*.jar' -executable -type f -exec zip release.zip {} + - - - name: Upload the springboot jars - uses: actions/upload-artifact@v1 - with: - name: release - path: ./release.zip - - - uses: 8398a7/action-slack@v3 - with: - status: ${{ job.status }} - fields: repo,message,commit,author,action,eventName,ref,workflow,job,took # selectable (default: repo,message) - env: - SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK }} # required - if: failure() # Pick up events even if the job fails or is canceled. - - - docker-biosdk-server: - needs: build - runs-on: ubuntu-latest - env: - NAMESPACE: ${{ secrets. dev_namespace_docker_hub }} - SERVICE_NAME: biosdk-server - SERVICE_LOCATION: biosdk-services - - steps: - - uses: actions/checkout@v2 - - uses: actions/download-artifact@v1 - with: - name: release - path: ./ - - - name: Setup branch name - run: | - # Strip git ref prefix from version - echo "BRANCH_NAME=$(echo ${{ github.ref }} | sed -e 's,.*/\(.*\),\1,')" >> $GITHUB_ENV - echo ${{ env.BRANCH_NAME }} - - - name: Get version info from pom - id: getPomVersion - uses: mavrosxristoforos/get-xml-info@1.0 - with: - xml-file: ./${{ env.SERVICE_LOCATION }}/pom.xml - xpath: /*[local-name()="project"]/*[local-name()="version"] - - - name: Unzip and extract the biosdk-server - run: unzip -uj "release.zip" "${{ env.SERVICE_LOCATION }}/target/*" -d "./${{ env.SERVICE_LOCATION }}/target" - - - name: Get current date - id: date - run: echo "::set-output name=date::$(date +'%Y-%m-%d')" - - - name: Build image - run: | - cd "./${{env.SERVICE_LOCATION}}" - docker build . --build-arg SOURCE=mosip --build-arg COMMIT_HASH=$(git rev-parse HEAD) --build-arg COMMIT_ID=$(git rev-parse --short HEAD) --build-arg BUILD_TIME=${{steps.date.outputs.date}} --file Dockerfile --tag ${{ env.SERVICE_NAME }} - - - name: Log into registry - run: echo "${{ secrets.release_docker_hub }}" | docker login -u ${{ secrets.actor_docker_hub }} --password-stdin - - - name: Push image - run: | - IMAGE_ID=$NAMESPACE/$SERVICE_NAME - # Change all uppercase to lowercase - IMAGE_ID=$(echo $IMAGE_ID | tr '[A-Z]' '[a-z]') - echo "push version ${{steps.getPomVersion.outputs.info}}" - if [[ $BRANCH_NAME == master ]]; then - VERSION=latest - else - VERSION=$BRANCH_NAME - fi - echo IMAGE_ID=$IMAGE_ID - echo VERSION=$VERSION - docker tag $SERVICE_NAME $IMAGE_ID:$VERSION - docker push $IMAGE_ID:$VERSION - - uses: 8398a7/action-slack@v3 - with: - status: ${{ job.status }} - fields: repo,message,commit,author,action,eventName,ref,workflow,job,took # selectable (default: repo,message) - env: - SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK }} # required - if: failure() # Pick up events even if the job fails or is canceled. - - - sonar_analysis: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - name: Set up JDK 11 - uses: actions/setup-java@v1 - with: - ref: ${{ github.ref }} - java-version: 11 - server-id: ossrh # Value of the distributionManagement/repository/id field of the pom.xml - settings-path: ${{ github.workspace }} # location for the settings.xml file - - - name: Setup branch and env - run: | - # Strip git ref prefix from version - echo "BRANCH_NAME=$(echo ${{ github.ref }} | sed -e 's,.*/\(.*\),\1,')" >> $GITHUB_ENV - echo "GPG_TTY=$(tty)" >> $GITHUB_ENV - - uses: actions/cache@v1 - with: - path: ~/.m2/repository - key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} - restore-keys: | - ${{ runner.os }}-maven-${{ env.BRANCH_NAME }} - - - name: Setup the settings file for ossrh server - run: echo " ossrh ${{secrets.ossrh_user}} ${{secrets.ossrh_secret}} ossrh true gpg2 ${{secrets.gpg_secret}} allow-snapshots true snapshots-repo https://oss.sonatype.org/content/repositories/snapshots false true releases-repo https://oss.sonatype.org/service/local/staging/deploy/maven2 true false sonar . https://sonarcloud.io false " > $GITHUB_WORKSPACE/settings.xml - - - name: Build with Maven - run: | - cd biosdk-services - mvn -B package -s $GITHUB_WORKSPACE/settings.xml --file pom.xml - - - name: Analyze with SonarCloud - run: | - cd biosdk-services - mvn -B -Dgpg.skip verify sonar:sonar -Dsonar.projectKey=mosip_${{ github.event.repository.name }} -Dsonar.organization=${{ secrets.ORG_KEY }} -Dsonar.host.url=https://sonarcloud.io -Dsonar.login=${{ secrets.SONAR_TOKEN }} - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} - - uses: 8398a7/action-slack@v3 - with: - status: ${{ job.status }} - fields: repo,message,commit,workflow,job # selectable (default: repo,message) - env: - SLACK_WEBHOOK_URL: ${{ secrets.SLACK_DEVOPS_WEBHOOK }} # required - if: failure() # Pick up events even if the job fails or is canceled. - - publish_to_nexus: - if: "!contains(github.ref, 'master')" - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - name: Set up JDK 11 - uses: actions/setup-java@v1 - with: - ref: ${{ github.ref }} - java-version: 11 - server-id: ossrh # Value of the distributionManagement/repository/id field of the pom.xml - settings-path: ${{ github.workspace }} # location for the settings.xml file - - - uses: actions/checkout@v2 - - - name: Setup branch and env - run: | - # Strip git ref prefix from version - echo "BRANCH_NAME=$(echo ${{ github.ref }} | sed -e 's,.*/\(.*\),\1,')" >> $GITHUB_ENV - echo "GPG_TTY=$(tty)" >> $GITHUB_ENV - - - name: Setup branch and GPG public key - run: | - # Strip git ref prefix from version - echo ${{ env.BRANCH_NAME }} - echo ${{ env.GPG_TTY }} - sudo apt-get --yes install gnupg2 - gpg2 --import ./.github/keys/mosipgpgkey_pub.gpg - gpg2 --quiet --batch --passphrase=${{secrets.gpg_secret}} --allow-secret-key-import --import ./.github/keys/mosipgpgkey_sec.gpg - - - uses: actions/cache@v1 - with: - path: ~/.m2/repository - key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} - restore-keys: | - ${{ runner.os }}-maven-${{ env.BRANCH_NAME }} - - - name: Install xmllint - run: | - sudo apt-get update - sudo apt-get install libxml2-utils - - name: Setup the settings file for ossrh server - run: echo " ossrh ${{secrets.RELEASE_USER}} ${{secrets.RELEASE_TOKEN}} ossrh true gpg2 ${{secrets.gpg_secret}} allow-snapshots true snapshots-repo https://oss.sonatype.org/content/repositories/snapshots false true releases-repo https://oss.sonatype.org/service/local/staging/deploy/maven2 true false sonar . https://sonarcloud.io false " > $GITHUB_WORKSPACE/settings.xml - - - name: Build with Maven - run: | - cd biosdk-services - mvn -B package -s $GITHUB_WORKSPACE/settings.xml --file pom.xml - - - name: Publish the maven package - run: | - cd biosdk-services - mvn deploy -DaltDeploymentRepository=ossrh::default::${{ secrets.OSSRH_SNAPSHOT_URL }} -s $GITHUB_WORKSPACE/settings.xml -f pom.xml - env: - GITHUB_TOKEN: ${{ secrets.RELEASE_TOKEN }} - GPG_TTY: $(tty) diff --git a/.github/workflows/release-changes.yml b/.github/workflows/release-changes.yml new file mode 100644 index 00000000..cd2ad961 --- /dev/null +++ b/.github/workflows/release-changes.yml @@ -0,0 +1,28 @@ +name: Release/pre-release Preparation. + +on: + workflow_dispatch: + inputs: + MESSAGE: + description: 'Triggered for release or pe-release' + required: false + default: 'Release Preparation' + RELEASE_TAG: + description: 'tag to update' + required: true + SNAPSHOT_TAG: + description: 'tag to be replaced' + required: true + BASE: + description: 'base branch for PR' + required: true +jobs: + maven-release-preparation: + uses: mosip/kattu/.github/workflows/release-changes.yml@master + with: + MESSAGE: ${{ inputs.MESSAGE }} + RELEASE_TAG: ${{ inputs.RELEASE_TAG }} + SNAPSHOT_TAG: ${{ inputs.SNAPSHOT_TAG }} + BASE: ${{ inputs.BASE }} + secrets: + SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK }} \ No newline at end of file diff --git a/.github/workflows/release_changes.yml b/.github/workflows/release_changes.yml deleted file mode 100644 index 5d8e1a32..00000000 --- a/.github/workflows/release_changes.yml +++ /dev/null @@ -1,61 +0,0 @@ -name: Release/pre-release Preparation. - -on: - workflow_dispatch: - inputs: - message: - description: 'Triggered for release or pe-release' - required: false - default: 'Release Preparation' - releaseTags: - description: 'tag to update' - required: true - snapshotTags: - description: 'tag to be replaced' - required: true - base: - description: 'base branch for PR' - required: true -jobs: - build: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - name: Setup branch and env - run: | - # Strip git ref prefix from version - echo "BRANCH_NAME=$(echo ${{ github.ref }} | sed -e 's,.*/\(.*\),\1,')" >> $GITHUB_ENV - echo "GPG_TTY=$(tty)" >> $GITHUB_ENV - - - name: update Branch name in badges - run: | - sed -i 's/branch=.*)]/branch=${{ env.BRANCH_NAME }}\)]/g' README.md - sed -i 's/branch=.*\&/branch=${{ env.BRANCH_NAME }}\&/g' README.md - - - name: Mannualy changing the pom versions - run: find . -type f -name "*pom.xml" -print0 | xargs -0 sed -i "s/${{ github.event.inputs.snapshotTags }}/${{ github.event.inputs.releaseTags }}/g" - - - name: Updating the Release URL in POM - run: | - cd .github/workflows - sed -i 's/OSSRH_SNAPSHOT_URL/RELEASE_URL/g' push_trigger.yml - - - name: Updating libs-snapshot-local to libs-release local for artifactory URL's. - run: find . -type f -name "*Dockerfile" -print0 | xargs -0 sed -i "s/libs-snapshot-local/libs-release-local/g" - - - name: removing -DskipTests - run: find . -type f -name "*push_trigger.yml" -print0 | xargs -0 sed -i "s/"-DskipTests"//g" - -# - name: removing --Dgpg.skip -# run: find . -type f -name "*push_trigger.yml" -print0 | xargs -0 sed -i "s/"-Dgpg.skip"//g" - - - name: Create Pull Request - uses: peter-evans/create-pull-request@v3 - with: - token: ${{ secrets.ACTION_PAT }} - commit-message: Release Bot Pre-release changes - title: Release changes - body: Automated PR for ${{ github.event.inputs.releaseTags }} release. - branch: release-branch - delete-branch: true - base: ${{ github.event.inputs.base }} diff --git a/.github/workflows/release_trigger.yml b/.github/workflows/release_trigger.yml deleted file mode 100644 index 9b2e24a0..00000000 --- a/.github/workflows/release_trigger.yml +++ /dev/null @@ -1,407 +0,0 @@ -name: Release maven packages and docker upon a release - -on: - release: - types: [published] - -jobs: - build-kernel-ref-idobjectvalidator: - - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v2 - - name: Set up JDK 1.8 - uses: actions/setup-java@v1 - with: - ref: ${{ github.ref }} - java-version: 1.8 - server-id: ossrh # Value of the distributionManagement/repository/id field of the pom.xml - settings-path: ${{ github.workspace }} # location for the settings.xml file - - - name: Setup branch and GPG public key - run: | - # Strip git ref prefix from version - echo "::set-env name=BRANCH_NAME::$(echo ${{ github.ref }} | sed -e 's,.*/\(.*\),\1,')" - echo ${{ env.BRANCH_NAME }} - echo "::set-env name=GPG_TTY::$(tty)" - echo ${{ env.GPG_TTY }} - sudo apt-get --yes install gnupg2 - gpg2 --import ./.github/keys/mosipgpgkey_pub.gpg - gpg2 --quiet --batch --passphrase=${{secrets.gpg_secret}} --allow-secret-key-import --import ./.github/keys/mosipgpgkey_sec.gpg - - - uses: actions/cache@v1 - with: - path: ~/.m2/repository - key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} - restore-keys: | - ${{ runner.os }}-maven-${{ env.BRANCH_NAME }} - - - name: Setup the settings file for ossrh server - run: echo " ossrh ${{secrets.ossrh_user}} ${{secrets.ossrh_secret}} ossrh true gpg2 ${{secrets.gpg_secret}} allow-snapshots true snapshots-repo https://oss.sonatype.org/content/repositories/snapshots false true releases-repo https://oss.sonatype.org/service/local/staging/deploy/maven2 true false sonar . https://sonarcloud.io false " > $GITHUB_WORKSPACE/settings.xml - - - - name: Build with Maven - run: | - cd kernel - mvn -B package -s $GITHUB_WORKSPACE/settings.xml --file pom.xml - - - name: Ready the springboot artifacts - run: find -name '*.jar' -executable -type f -exec zip release.zip {} + - - - name: Upload the springboot jars - uses: actions/upload-artifact@v1 - with: - name: release - path: ./release.zip - - publish_to_nexus: - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v2 - - name: Set up JDK 1.8 - uses: actions/setup-java@v1 - with: - ref: ${{ github.ref }} - java-version: 1.8 - server-id: ossrh # Value of the distributionManagement/repository/id field of the pom.xml - settings-path: ${{ github.workspace }} # location for the settings.xml file - - - name: Setup branch and GPG public key - run: | - # Strip git ref prefix from version - echo "::set-env name=BRANCH_NAME::$(echo ${{ github.ref }} | sed -e 's,.*/\(.*\),\1,')" - echo ${{ env.BRANCH_NAME }} - echo "::set-env name=GPG_TTY::$(tty)" - echo ${{ env.GPG_TTY }} - sudo apt-get --yes install gnupg2 - gpg2 --import ./.github/keys/mosipgpgkey_pub.gpg - gpg2 --quiet --batch --passphrase=${{secrets.gpg_secret}} --allow-secret-key-import --import ./.github/keys/mosipgpgkey_sec.gpg - - - uses: actions/cache@v1 - with: - path: ~/.m2/repository - key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} - restore-keys: | - ${{ runner.os }}-maven-${{ env.BRANCH_NAME }} - - name: Install xmllint - run: | - sudo apt-get update - sudo apt-get install libxml2-utils - - name: Setup the settings file for ossrh server - run: echo " ossrh ${{secrets.ossrh_user}} ${{secrets.ossrh_secret}} ossrh true gpg2 ${{secrets.gpg_secret}} allow-snapshots true snapshots-repo https://oss.sonatype.org/content/repositories/snapshots false true releases-repo https://oss.sonatype.org/service/local/staging/deploy/maven2 true false sonar . https://sonarcloud.io false " > $GITHUB_WORKSPACE/settings.xml - - - name: Build with Maven - run: | - cd kernel - mvn -B package -s $GITHUB_WORKSPACE/settings.xml --file pom.xml - - - name: Publish the maven package - run: | - chmod +x ./deploy.sh - ./deploy.sh kernel $GITHUB_WORKSPACE/settings.xml .* - env: - GPG_TTY: $(tty) - - name: Analyze with SonarCloud - run: | - cd kernel - mvn -B verify sonar:sonar -Dsonar.projectKey=${{ secrets.PROJECT_KEY }} -Dsonar.organization=${{ secrets.ORG_KEY }} -Dsonar.host.url=https://sonarcloud.io -Dsonar.login=${{ secrets.SONAR_TOKEN }} - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} - # This workflow contains a single job called "build" - - docker-registration-processor-external-integration-service: - - runs-on: ubuntu-latest - env: - NAMESPACE: mosipdev - SERVICE_NAME: registration-processor-external-integration-service - SERVICE_LOCATION: registration-processor/registration-processor-external-integration-service - - steps: - - uses: actions/checkout@v2 - - name: Set up JDK 11 - uses: actions/setup-java@v1 - with: - ref: ${{ github.ref }} - java-version: 11 - server-id: ossrh # Value of the distributionManagement/repository/id field of the pom.xml - settings-path: ${{ github.workspace }} # location for the settings.xml file - - name: Setup branch and env - run: | - # Strip git ref prefix from version - echo "BRANCH_NAME=$(echo ${{ github.ref }} | sed -e 's,.*/\(.*\),\1,')" >> $GITHUB_ENV - echo "GPG_TTY=$(tty)" >> $GITHUB_ENV - - - name: Setup branch and GPG public key - run: | - # Strip git ref prefix from version - echo "BRANCH_NAME=$(echo ${{ github.ref }} | sed -e 's,.*/\(.*\),\1,')" >> $GITHUB_ENV - echo ${{ env.GPG_TTY }} - sudo apt-get --yes install gnupg2 - gpg2 --import ./.github/keys/mosipgpgkey_pub.gpg - gpg2 --quiet --batch --passphrase=${{secrets.gpg_secret}} --allow-secret-key-import --import ./.github/keys/mosipgpgkey_sec.gpg - - - - name: Setup the settings file for ossrh server - run: echo " ossrh ${{secrets.ossrh_user}} ${{secrets.ossrh_secret}} ossrh true gpg2 ${{secrets.gpg_secret}} allow-snapshots true snapshots-repo https://oss.sonatype.org/content/repositories/snapshots false true releases-repo https://oss.sonatype.org/service/local/staging/deploy/maven2 true false sonar . https://sonarcloud.io false " > $GITHUB_WORKSPACE/settings.xml - - - - name: Build with Maven - run: | - cd registration-processor/registration-processor-external-integration-service - mvn -B package -s $GITHUB_WORKSPACE/settings.xml --file pom.xml - - - name: Ready the springboot artifacts - run: find -name '*.jar' -executable -type f -exec zip release.zip {} + - - - - name: Setup branch and GPG public key - run: | - # Strip git ref prefix from version - - echo "BRANCH_NAME=$(echo ${{ github.ref }} | sed -e 's,.*/\(.*\),\1,')" >> $GITHUB_ENV - echo ${{ env.GPG_TTY }} - sudo apt-get --yes install gnupg2 - gpg2 --import ./.github/keys/mosipgpgkey_pub.gpg - gpg2 --quiet --batch --passphrase=${{secrets.gpg_secret}} --allow-secret-key-import --import ./.github/keys/mosipgpgkey_sec.gpg - - - uses: actions/cache@v1 - with: - path: ~/.m2/repository - key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} - restore-keys: | - ${{ runner.os }}-maven-${{ env.BRANCH_NAME }} - - name: Install xmllint - run: | - sudo apt-get update - sudo apt-get install libxml2-utils - - name: Setup the settings file for ossrh server - run: echo " ossrh ${{secrets.RELEASE_USER}} ${{secrets.RELEASE_TOKEN}} ossrh true gpg2 ${{secrets.gpg_secret}} allow-snapshots true snapshots-repo https://oss.sonatype.org/content/repositories/snapshots false true releases-repo https://oss.sonatype.org/service/local/staging/deploy/maven2 true false sonar . https://sonarcloud.io false " > $GITHUB_WORKSPACE/settings.xml - - -# - name: Analyze with SonarCloud -# run: | -# cd pre-registration-booking-service -# mvn -B verify sonar:sonar -Dsonar.projectKey=${{ secrets.PROJECT_KEY }} -Dsonar.organization=${{ secrets.ORG_KEY }} -Dsonar.host.url=https://sonarcloud.io -Dsonar.login=${{ secrets.SONAR_TOKEN }} -# env: -# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} -# SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} - - - name: Build image - run: | - cd "./${{env.SERVICE_LOCATION}}" - docker build . --file Dockerfile --tag ${{ env.SERVICE_NAME }} - - - name: Log into registry - run: echo "${{ secrets.release_docker_hub }}" | docker login -u ${{ secrets.actor_docker_hub }} --password-stdin - - - name: Push image - run: | - IMAGE_ID=$NAMESPACE/$SERVICE_NAME - - # Change all uppercase to lowercase - IMAGE_ID=$(echo $IMAGE_ID | tr '[A-Z]' '[a-z]') - VERSION=$BRANCH_NAME - echo "push version $VERSION" - echo IMAGE_ID=$IMAGE_ID - echo VERSION=$VERSION - docker tag $SERVICE_NAME $IMAGE_ID:$VERSION - docker push $IMAGE_ID:$VERSION - - build-admin-ui: - runs-on: ubuntu-latest - env: - NAMESPACE: ${{ secrets. dev_namespace_docker_hub }} - SERVICE_NAME: admin-ui - SERVICE_LOCATION: admin-ui - - # Steps represent a sequence of tasks that will be executed as part of the job - steps: - # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - - uses: actions/checkout@v2 - - uses: actions/setup-node@v1 - - - name: npm install - run: cd ${{ env.SERVICE_LOCATION }} && npm install --ignore-scripts - - - name: npm build - run: cd ${{ env.SERVICE_LOCATION }} && npm run-script build -- --prod --base-href . --output-path=dist - - - name: setup environment - run: | - # Strip git ref prefix from version - echo "::set-env name=BRANCH_NAME::$(echo ${{ github.ref }} | sed -e 's,.*/\(.*\),\1,')" - echo ${{ env.BRANCH_NAME }} - - - name: Build image - run: | - cd "./${{env.SERVICE_LOCATION}}" - docker build . --file Dockerfile --tag ${{ env.SERVICE_NAME }} - - - name: Log into registry - run: echo "${{ secrets.release_docker_hub }}" | docker login -u ${{ secrets.actor_docker_hub }} --password-stdin - - - name: Push image - run: | - IMAGE_ID=$NAMESPACE/$SERVICE_NAME - - # Change all uppercase to lowercase - IMAGE_ID=$(echo $IMAGE_ID | tr '[A-Z]' '[a-z]') - VERSION=$BRANCH_NAME - echo "push version $VERSION" - echo IMAGE_ID=$IMAGE_ID - echo VERSION=$VERSION - docker tag $SERVICE_NAME $IMAGE_ID:$VERSION - docker push $IMAGE_ID:$VERSION - -# This workflow contains a single job called "build" - build-pre-registration-ui: - - runs-on: ubuntu-latest - env: - NAMESPACE: ${{ secrets. dev_namespace_docker_hub }} - SERVICE_NAME: pre-registration-ui - SERVICE_LOCATION: pre-registration-ui - - # Steps represent a sequence of tasks that will be executed as part of the job - steps: - # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - - uses: actions/checkout@v2 - - uses: actions/setup-node@v1 - - - name: npm install - run: cd ${{ env.SERVICE_LOCATION }} && npm install --ignore-scripts - - - name: npm build - run: cd ${{ env.SERVICE_LOCATION }} && npm run-script build -- --prod --base-href . --output-path=dist - - - name: setup environment - run: | - # Strip git ref prefix from version - echo "::set-env name=BRANCH_NAME::$(echo ${{ github.ref }} | sed -e 's,.*/\(.*\),\1,')" - echo ${{ env.BRANCH_NAME }} - - - name: Build image - run: | - cd "./${{env.SERVICE_LOCATION}}" - docker build . --file Dockerfile --tag ${{ env.SERVICE_NAME }} - - - name: Log into registry - run: echo "${{ secrets.release_docker_hub }}" | docker login -u ${{ secrets.actor_docker_hub }} --password-stdin - - - name: Push image - run: | - IMAGE_ID=$NAMESPACE/$SERVICE_NAME - - # Change all uppercase to lowercase - IMAGE_ID=$(echo $IMAGE_ID | tr '[A-Z]' '[a-z]') - VERSION=$BRANCH_NAME - echo "push version $VERSION" - echo IMAGE_ID=$IMAGE_ID - echo VERSION=$VERSION - docker tag $SERVICE_NAME $IMAGE_ID:$VERSION - docker push $IMAGE_ID:$VERSION - - build-demosdk: - - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v2 - - name: Set up JDK 1.8 - uses: actions/setup-java@v1 - with: - ref: ${{ github.ref }} - java-version: 1.8 - server-id: ossrh # Value of the distributionManagement/repository/id field of the pom.xml - settings-path: ${{ github.workspace }} # location for the settings.xml file - - - name: Setup branch and GPG public key - run: | - # Strip git ref prefix from version - echo "::set-env name=BRANCH_NAME::$(echo ${{ github.ref }} | sed -e 's,.*/\(.*\),\1,')" - echo ${{ env.BRANCH_NAME }} - echo "::set-env name=GPG_TTY::$(tty)" - echo ${{ env.GPG_TTY }} - sudo apt-get --yes install gnupg2 - gpg2 --import ./.github/keys/mosipgpgkey_pub.gpg - gpg2 --quiet --batch --passphrase=${{secrets.gpg_secret}} --allow-secret-key-import --import ./.github/keys/mosipgpgkey_sec.gpg - - - uses: actions/cache@v1 - with: - path: ~/.m2/repository - key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} - restore-keys: | - ${{ runner.os }}-maven-${{ env.BRANCH_NAME }} - - - name: Setup the settings file for ossrh server - run: echo " ossrh ${{secrets.ossrh_user}} ${{secrets.ossrh_secret}} ossrh true gpg2 ${{secrets.gpg_secret}} allow-snapshots true snapshots-repo https://oss.sonatype.org/content/repositories/snapshots false true releases-repo https://oss.sonatype.org/service/local/staging/deploy/maven2 true false sonar . https://sonarcloud.io false " > $GITHUB_WORKSPACE/settings.xml - - - - name: Build with Maven - run: | - cd demosdk - mvn -B package -s $GITHUB_WORKSPACE/settings.xml --file pom.xml - - - name: Ready the springboot artifacts - run: find -name '*.jar' -executable -type f -exec zip release.zip {} + - - - name: Upload the springboot jars - uses: actions/upload-artifact@v1 - with: - name: release - path: ./release.zip - - build-authentication-ref-impl: - - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v2 - - name: Set up JDK 1.8 - uses: actions/setup-java@v1 - with: - ref: ${{ github.ref }} - java-version: 1.8 - server-id: ossrh # Value of the distributionManagement/repository/id field of the pom.xml - settings-path: ${{ github.workspace }} # location for the settings.xml file - - - name: Setup branch and GPG public key - run: | - # Strip git ref prefix from version - echo "::set-env name=BRANCH_NAME::$(echo ${{ github.ref }} | sed -e 's,.*/\(.*\),\1,')" - echo ${{ env.BRANCH_NAME }} - echo "::set-env name=GPG_TTY::$(tty)" - echo ${{ env.GPG_TTY }} - sudo apt-get --yes install gnupg2 - gpg2 --import ./.github/keys/mosipgpgkey_pub.gpg - gpg2 --quiet --batch --passphrase=${{secrets.gpg_secret}} --allow-secret-key-import --import ./.github/keys/mosipgpgkey_sec.gpg - - - uses: actions/cache@v1 - with: - path: ~/.m2/repository - key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} - restore-keys: | - ${{ runner.os }}-maven-${{ env.BRANCH_NAME }} - - - name: Setup the settings file for ossrh server - run: echo " ossrh ${{secrets.ossrh_user}} ${{secrets.ossrh_secret}} ossrh true gpg2 ${{secrets.gpg_secret}} allow-snapshots true snapshots-repo https://oss.sonatype.org/content/repositories/snapshots false true releases-repo https://oss.sonatype.org/service/local/staging/deploy/maven2 true false sonar . https://sonarcloud.io false " > $GITHUB_WORKSPACE/settings.xml - - - - name: Build with Maven - run: | - cd authentication - mvn -B package -s $GITHUB_WORKSPACE/settings.xml --file pom.xml - - - name: Ready the springboot artifacts - run: find -name '*.jar' -executable -type f -exec zip release.zip {} + - - - name: Upload the springboot jars - uses: actions/upload-artifact@v1 - with: - name: release - path: ./release.zip - diff --git a/.github/workflows/tag.yml b/.github/workflows/tag.yml new file mode 100644 index 00000000..9a5b079f --- /dev/null +++ b/.github/workflows/tag.yml @@ -0,0 +1,35 @@ +name: Tagging of repos + +on: + workflow_dispatch: + inputs: + TAG: + description: 'Tag to be published' + required: true + type: string + BODY: + description: 'Release body message' + required: true + default: 'Changes in this Release' + type: string + PRE_RELEASE: + description: 'Pre-release? True/False' + required: true + default: False + type: string + DRAFT: + description: 'Draft? True/False' + required: false + default: False + type: string + +jobs: + tag-branch: + uses: mosip/kattu/.github/workflows/tag.yml@master + with: + TAG: ${{ inputs.TAG }} + BODY: ${{ inputs.BODY }} + PRE_RELEASE: ${{ inputs.PRE_RELEASE }} + DRAFT: ${{ inputs.DRAFT }} + secrets: + SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK }} \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..41f8135e --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +.idea +*/target* +*/logs \ No newline at end of file diff --git a/biosdk-services/pom.xml b/biosdk-services/pom.xml index bea8ea42..8f79e748 100644 --- a/biosdk-services/pom.xml +++ b/biosdk-services/pom.xml @@ -254,6 +254,32 @@ + + + pl.project13.maven + git-commit-id-plugin + 3.0.1 + + + get-the-git-infos + + revision + + validate + + + + true + ${project.build.outputDirectory}/git.properties + + ^git.build.(time|version)$ + ^git.commit.id.(abbrev|full)$ + + full + ${project.basedir}/.git + + + From cf947b9823a677a3a58a6871240c9ab15a747ce8 Mon Sep 17 00:00:00 2001 From: Keshav Mishra Date: Fri, 8 Sep 2023 19:37:45 +0530 Subject: [PATCH 46/74] Create temp-push-trigger.yml Signed-off-by: Keshav Mishra --- .github/workflows/temp-push-trigger.yml | 258 ++++++++++++++++++++++++ 1 file changed, 258 insertions(+) create mode 100644 .github/workflows/temp-push-trigger.yml diff --git a/.github/workflows/temp-push-trigger.yml b/.github/workflows/temp-push-trigger.yml new file mode 100644 index 00000000..d2bb9ac9 --- /dev/null +++ b/.github/workflows/temp-push-trigger.yml @@ -0,0 +1,258 @@ + +name: Maven Package upon a push + +on: + push: + branches: + - '!release-branch' + - release-1* + - master + - 1.* + - develop + - MOSIP-11719 + +jobs: + build: + runs-on: ubuntu-latest + # Steps represent a sequence of tasks that will be executed as part of the job + steps: + # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it + - uses: actions/checkout@v2 + - uses: actions/setup-node@v1 + + - name: Setup branch and env + run: | + # Strip git ref prefix from version + echo "BRANCH_NAME=$(echo ${{ github.ref }} | sed -e 's,.*/\(.*\),\1,')" >> $GITHUB_ENV + echo "GPG_TTY=$(tty)" >> $GITHUB_ENV + + - name: setup environment + run: | + # Strip git ref prefix from version + echo "BRANCH_NAME=$(echo ${{ github.ref }} | sed -e 's,.*/\(.*\),\1,')" >> $GITHUB_ENV + + - name: Set up JDK 11 + uses: actions/setup-java@v1 + with: + ref: ${{ github.ref }} + java-version: 11 + server-id: ossrh # Value of the distributionManagement/repository/id field of the pom.xml + settings-path: ${{ github.workspace }} # location for the settings.xml file + + - name: Setup branch and GPG public key + run: | + # Strip git ref prefix from version + echo ${{ env.BRANCH_NAME }} + echo ${{ env.GPG_TTY }} + sudo apt-get --yes install gnupg2 + gpg2 --import ./.github/keys/mosipgpgkey_pub.gpg + gpg2 --quiet --batch --passphrase=${{secrets.gpg_secret}} --allow-secret-key-import --import ./.github/keys/mosipgpgkey_sec.gpg + + - uses: actions/cache@v1 + with: + path: ~/.m2/repository + key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} + restore-keys: | + ${{ runner.os }}-maven-${{ env.BRANCH_NAME }} + + - name: Install xmllint + run: | + sudo apt-get update + sudo apt-get install libxml2-utils + + - name: Setup the settings file for ossrh server + run: echo " ossrh ${{secrets.ossrh_user}} ${{secrets.ossrh_secret}} ossrh true gpg2 ${{secrets.gpg_secret}} allow-snapshots true snapshots-repo https://oss.sonatype.org/content/repositories/snapshots false true releases-repo https://oss.sonatype.org/service/local/staging/deploy/maven2 true false sonar . https://sonarcloud.io false " > $GITHUB_WORKSPACE/settings.xml + + - name: Build with Maven + run: | + cd biosdk-services + mvn -B package -s $GITHUB_WORKSPACE/settings.xml --file pom.xml + + - name: Ready the springboot artifacts + run: find -name '*.jar' -executable -type f -exec zip release.zip {} + + + - name: Upload the springboot jars + uses: actions/upload-artifact@v1 + with: + name: release + path: ./release.zip + + - uses: 8398a7/action-slack@v3 + with: + status: ${{ job.status }} + fields: repo,message,commit,author,action,eventName,ref,workflow,job,took # selectable (default: repo,message) + env: + SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK }} # required + if: failure() # Pick up events even if the job fails or is canceled. + + + docker-biosdk-server: + needs: build + runs-on: ubuntu-latest + env: + NAMESPACE: ${{ secrets. dev_namespace_docker_hub }} + SERVICE_NAME: biosdk-server + SERVICE_LOCATION: biosdk-services + + steps: + - uses: actions/checkout@v2 + - uses: actions/download-artifact@v1 + with: + name: release + path: ./ + + - name: Setup branch name + run: | + # Strip git ref prefix from version + echo "BRANCH_NAME=$(echo ${{ github.ref }} | sed -e 's,.*/\(.*\),\1,')" >> $GITHUB_ENV + echo ${{ env.BRANCH_NAME }} + + - name: Get version info from pom + id: getPomVersion + uses: mavrosxristoforos/get-xml-info@1.0 + with: + xml-file: ./${{ env.SERVICE_LOCATION }}/pom.xml + xpath: /*[local-name()="project"]/*[local-name()="version"] + + - name: Unzip and extract the biosdk-server + run: unzip -uj "release.zip" "${{ env.SERVICE_LOCATION }}/target/*" -d "./${{ env.SERVICE_LOCATION }}/target" + + - name: Get current date + id: date + run: echo "::set-output name=date::$(date +'%Y-%m-%d')" + + - name: Build image + run: | + cd "./${{env.SERVICE_LOCATION}}" + docker build . --build-arg SOURCE=mosip --build-arg COMMIT_HASH=$(git rev-parse HEAD) --build-arg COMMIT_ID=$(git rev-parse --short HEAD) --build-arg BUILD_TIME=${{steps.date.outputs.date}} --file Dockerfile --tag ${{ env.SERVICE_NAME }} + + - name: Log into registry + run: echo "${{ secrets.release_docker_hub }}" | docker login -u ${{ secrets.actor_docker_hub }} --password-stdin + + - name: Push image + run: | + IMAGE_ID=$NAMESPACE/$SERVICE_NAME + # Change all uppercase to lowercase + IMAGE_ID=$(echo $IMAGE_ID | tr '[A-Z]' '[a-z]') + echo "push version ${{steps.getPomVersion.outputs.info}}" + if [[ $BRANCH_NAME == master ]]; then + VERSION=latest + else + VERSION=$BRANCH_NAME + fi + echo IMAGE_ID=$IMAGE_ID + echo VERSION=$VERSION + docker tag $SERVICE_NAME $IMAGE_ID:$VERSION + docker push $IMAGE_ID:$VERSION + - uses: 8398a7/action-slack@v3 + with: + status: ${{ job.status }} + fields: repo,message,commit,author,action,eventName,ref,workflow,job,took # selectable (default: repo,message) + env: + SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK }} # required + if: failure() # Pick up events even if the job fails or is canceled. + + + sonar_analysis: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Set up JDK 11 + uses: actions/setup-java@v1 + with: + ref: ${{ github.ref }} + java-version: 11 + server-id: ossrh # Value of the distributionManagement/repository/id field of the pom.xml + settings-path: ${{ github.workspace }} # location for the settings.xml file + + - name: Setup branch and env + run: | + # Strip git ref prefix from version + echo "BRANCH_NAME=$(echo ${{ github.ref }} | sed -e 's,.*/\(.*\),\1,')" >> $GITHUB_ENV + echo "GPG_TTY=$(tty)" >> $GITHUB_ENV + - uses: actions/cache@v1 + with: + path: ~/.m2/repository + key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} + restore-keys: | + ${{ runner.os }}-maven-${{ env.BRANCH_NAME }} + + - name: Setup the settings file for ossrh server + run: echo " ossrh ${{secrets.ossrh_user}} ${{secrets.ossrh_secret}} ossrh true gpg2 ${{secrets.gpg_secret}} allow-snapshots true snapshots-repo https://oss.sonatype.org/content/repositories/snapshots false true releases-repo https://oss.sonatype.org/service/local/staging/deploy/maven2 true false sonar . https://sonarcloud.io false " > $GITHUB_WORKSPACE/settings.xml + + - name: Build with Maven + run: | + cd biosdk-services + mvn -B package -s $GITHUB_WORKSPACE/settings.xml --file pom.xml + + - name: Analyze with SonarCloud + run: | + cd biosdk-services + mvn -B -Dgpg.skip verify sonar:sonar -Dsonar.projectKey=mosip_${{ github.event.repository.name }} -Dsonar.organization=${{ secrets.ORG_KEY }} -Dsonar.host.url=https://sonarcloud.io -Dsonar.login=${{ secrets.SONAR_TOKEN }} + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + - uses: 8398a7/action-slack@v3 + with: + status: ${{ job.status }} + fields: repo,message,commit,workflow,job # selectable (default: repo,message) + env: + SLACK_WEBHOOK_URL: ${{ secrets.SLACK_DEVOPS_WEBHOOK }} # required + if: failure() # Pick up events even if the job fails or is canceled. + + publish_to_nexus: + if: "!contains(github.ref, 'master')" + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Set up JDK 11 + uses: actions/setup-java@v1 + with: + ref: ${{ github.ref }} + java-version: 11 + server-id: ossrh # Value of the distributionManagement/repository/id field of the pom.xml + settings-path: ${{ github.workspace }} # location for the settings.xml file + + - uses: actions/checkout@v2 + + - name: Setup branch and env + run: | + # Strip git ref prefix from version + echo "BRANCH_NAME=$(echo ${{ github.ref }} | sed -e 's,.*/\(.*\),\1,')" >> $GITHUB_ENV + echo "GPG_TTY=$(tty)" >> $GITHUB_ENV + + - name: Setup branch and GPG public key + run: | + # Strip git ref prefix from version + echo ${{ env.BRANCH_NAME }} + echo ${{ env.GPG_TTY }} + sudo apt-get --yes install gnupg2 + gpg2 --import ./.github/keys/mosipgpgkey_pub.gpg + gpg2 --quiet --batch --passphrase=${{secrets.gpg_secret}} --allow-secret-key-import --import ./.github/keys/mosipgpgkey_sec.gpg + + - uses: actions/cache@v1 + with: + path: ~/.m2/repository + key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} + restore-keys: | + ${{ runner.os }}-maven-${{ env.BRANCH_NAME }} + + - name: Install xmllint + run: | + sudo apt-get update + sudo apt-get install libxml2-utils + - name: Setup the settings file for ossrh server + run: echo " ossrh ${{secrets.RELEASE_USER}} ${{secrets.RELEASE_TOKEN}} ossrh true gpg2 ${{secrets.gpg_secret}} allow-snapshots true snapshots-repo https://oss.sonatype.org/content/repositories/snapshots false true releases-repo https://oss.sonatype.org/service/local/staging/deploy/maven2 true false sonar . https://sonarcloud.io false " > $GITHUB_WORKSPACE/settings.xml + + - name: Build with Maven + run: | + cd biosdk-services + mvn -B package -s $GITHUB_WORKSPACE/settings.xml --file pom.xml + + - name: Publish the maven package + run: | + cd biosdk-services + mvn deploy -DaltDeploymentRepository=ossrh::default::${{ secrets.OSSRH_SNAPSHOT_URL }} -s $GITHUB_WORKSPACE/settings.xml -f pom.xml + env: + GITHUB_TOKEN: ${{ secrets.RELEASE_TOKEN }} + GPG_TTY: $(tty) From eeaa5c30178793ae816fd14f6bd0216eccfd2449 Mon Sep 17 00:00:00 2001 From: Keshav Mishra Date: Mon, 11 Sep 2023 08:44:51 +0530 Subject: [PATCH 47/74] Update temp-push-trigger.yml Signed-off-by: Keshav Mishra --- .github/workflows/temp-push-trigger.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/temp-push-trigger.yml b/.github/workflows/temp-push-trigger.yml index d2bb9ac9..98221c4c 100644 --- a/.github/workflows/temp-push-trigger.yml +++ b/.github/workflows/temp-push-trigger.yml @@ -140,6 +140,7 @@ jobs: else VERSION=$BRANCH_NAME fi + VERSION=temp echo IMAGE_ID=$IMAGE_ID echo VERSION=$VERSION docker tag $SERVICE_NAME $IMAGE_ID:$VERSION From 2b0e73f4baef2177ecb8f6c0349990766602035c Mon Sep 17 00:00:00 2001 From: Keshav Mishra Date: Mon, 11 Sep 2023 20:08:06 +0530 Subject: [PATCH 48/74] removed cache for maven build Signed-off-by: Keshav Mishra --- .github/workflows/temp-push-trigger.yml | 7 ------- 1 file changed, 7 deletions(-) diff --git a/.github/workflows/temp-push-trigger.yml b/.github/workflows/temp-push-trigger.yml index 98221c4c..52e25dd3 100644 --- a/.github/workflows/temp-push-trigger.yml +++ b/.github/workflows/temp-push-trigger.yml @@ -48,13 +48,6 @@ jobs: gpg2 --import ./.github/keys/mosipgpgkey_pub.gpg gpg2 --quiet --batch --passphrase=${{secrets.gpg_secret}} --allow-secret-key-import --import ./.github/keys/mosipgpgkey_sec.gpg - - uses: actions/cache@v1 - with: - path: ~/.m2/repository - key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} - restore-keys: | - ${{ runner.os }}-maven-${{ env.BRANCH_NAME }} - - name: Install xmllint run: | sudo apt-get update From d73a9ca2e1a95ab9e22c427147f30244a6991221 Mon Sep 17 00:00:00 2001 From: syed salman <72004356+syedsalman3753@users.noreply.github.com> Date: Tue, 26 Sep 2023 18:46:07 +0530 Subject: [PATCH 49/74] [MOSIP-29207] Updated workflows as per reusable workflows templates (#78) [MOSIP-25631] Co-authored-by: syed-salman-technoforte --- .github/workflows/push-trigger.yml | 9 ++------- .github/workflows/release-changes.yml | 1 + 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/.github/workflows/push-trigger.yml b/.github/workflows/push-trigger.yml index fa19af2c..697e44a0 100644 --- a/.github/workflows/push-trigger.yml +++ b/.github/workflows/push-trigger.yml @@ -5,12 +5,6 @@ on: types: [published] pull_request: types: [opened] - branches: - - '!release-branch' - - release-1* - - 1.* - - develop - - MOSIP* workflow_dispatch: inputs: message: @@ -21,10 +15,11 @@ on: push: branches: - '!release-branch' - - release-1* + - release* - master - 1.* - develop + - MOSIP* jobs: build-biosdk-services: diff --git a/.github/workflows/release-changes.yml b/.github/workflows/release-changes.yml index cd2ad961..56f3842b 100644 --- a/.github/workflows/release-changes.yml +++ b/.github/workflows/release-changes.yml @@ -25,4 +25,5 @@ jobs: SNAPSHOT_TAG: ${{ inputs.SNAPSHOT_TAG }} BASE: ${{ inputs.BASE }} secrets: + ACTION_PAT: ${{ secrets.ACTION_PAT }} SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK }} \ No newline at end of file From 4789dfef42a93b55b692ccc22d58c4ae0c2c11b0 Mon Sep 17 00:00:00 2001 From: Keshav Mishra Date: Thu, 28 Sep 2023 09:12:23 +0530 Subject: [PATCH 50/74] Delete .github/workflows/temp-push-trigger.yml Signed-off-by: Keshav Mishra --- .github/workflows/temp-push-trigger.yml | 252 ------------------------ 1 file changed, 252 deletions(-) delete mode 100644 .github/workflows/temp-push-trigger.yml diff --git a/.github/workflows/temp-push-trigger.yml b/.github/workflows/temp-push-trigger.yml deleted file mode 100644 index 52e25dd3..00000000 --- a/.github/workflows/temp-push-trigger.yml +++ /dev/null @@ -1,252 +0,0 @@ - -name: Maven Package upon a push - -on: - push: - branches: - - '!release-branch' - - release-1* - - master - - 1.* - - develop - - MOSIP-11719 - -jobs: - build: - runs-on: ubuntu-latest - # Steps represent a sequence of tasks that will be executed as part of the job - steps: - # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - - uses: actions/checkout@v2 - - uses: actions/setup-node@v1 - - - name: Setup branch and env - run: | - # Strip git ref prefix from version - echo "BRANCH_NAME=$(echo ${{ github.ref }} | sed -e 's,.*/\(.*\),\1,')" >> $GITHUB_ENV - echo "GPG_TTY=$(tty)" >> $GITHUB_ENV - - - name: setup environment - run: | - # Strip git ref prefix from version - echo "BRANCH_NAME=$(echo ${{ github.ref }} | sed -e 's,.*/\(.*\),\1,')" >> $GITHUB_ENV - - - name: Set up JDK 11 - uses: actions/setup-java@v1 - with: - ref: ${{ github.ref }} - java-version: 11 - server-id: ossrh # Value of the distributionManagement/repository/id field of the pom.xml - settings-path: ${{ github.workspace }} # location for the settings.xml file - - - name: Setup branch and GPG public key - run: | - # Strip git ref prefix from version - echo ${{ env.BRANCH_NAME }} - echo ${{ env.GPG_TTY }} - sudo apt-get --yes install gnupg2 - gpg2 --import ./.github/keys/mosipgpgkey_pub.gpg - gpg2 --quiet --batch --passphrase=${{secrets.gpg_secret}} --allow-secret-key-import --import ./.github/keys/mosipgpgkey_sec.gpg - - - name: Install xmllint - run: | - sudo apt-get update - sudo apt-get install libxml2-utils - - - name: Setup the settings file for ossrh server - run: echo " ossrh ${{secrets.ossrh_user}} ${{secrets.ossrh_secret}} ossrh true gpg2 ${{secrets.gpg_secret}} allow-snapshots true snapshots-repo https://oss.sonatype.org/content/repositories/snapshots false true releases-repo https://oss.sonatype.org/service/local/staging/deploy/maven2 true false sonar . https://sonarcloud.io false " > $GITHUB_WORKSPACE/settings.xml - - - name: Build with Maven - run: | - cd biosdk-services - mvn -B package -s $GITHUB_WORKSPACE/settings.xml --file pom.xml - - - name: Ready the springboot artifacts - run: find -name '*.jar' -executable -type f -exec zip release.zip {} + - - - name: Upload the springboot jars - uses: actions/upload-artifact@v1 - with: - name: release - path: ./release.zip - - - uses: 8398a7/action-slack@v3 - with: - status: ${{ job.status }} - fields: repo,message,commit,author,action,eventName,ref,workflow,job,took # selectable (default: repo,message) - env: - SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK }} # required - if: failure() # Pick up events even if the job fails or is canceled. - - - docker-biosdk-server: - needs: build - runs-on: ubuntu-latest - env: - NAMESPACE: ${{ secrets. dev_namespace_docker_hub }} - SERVICE_NAME: biosdk-server - SERVICE_LOCATION: biosdk-services - - steps: - - uses: actions/checkout@v2 - - uses: actions/download-artifact@v1 - with: - name: release - path: ./ - - - name: Setup branch name - run: | - # Strip git ref prefix from version - echo "BRANCH_NAME=$(echo ${{ github.ref }} | sed -e 's,.*/\(.*\),\1,')" >> $GITHUB_ENV - echo ${{ env.BRANCH_NAME }} - - - name: Get version info from pom - id: getPomVersion - uses: mavrosxristoforos/get-xml-info@1.0 - with: - xml-file: ./${{ env.SERVICE_LOCATION }}/pom.xml - xpath: /*[local-name()="project"]/*[local-name()="version"] - - - name: Unzip and extract the biosdk-server - run: unzip -uj "release.zip" "${{ env.SERVICE_LOCATION }}/target/*" -d "./${{ env.SERVICE_LOCATION }}/target" - - - name: Get current date - id: date - run: echo "::set-output name=date::$(date +'%Y-%m-%d')" - - - name: Build image - run: | - cd "./${{env.SERVICE_LOCATION}}" - docker build . --build-arg SOURCE=mosip --build-arg COMMIT_HASH=$(git rev-parse HEAD) --build-arg COMMIT_ID=$(git rev-parse --short HEAD) --build-arg BUILD_TIME=${{steps.date.outputs.date}} --file Dockerfile --tag ${{ env.SERVICE_NAME }} - - - name: Log into registry - run: echo "${{ secrets.release_docker_hub }}" | docker login -u ${{ secrets.actor_docker_hub }} --password-stdin - - - name: Push image - run: | - IMAGE_ID=$NAMESPACE/$SERVICE_NAME - # Change all uppercase to lowercase - IMAGE_ID=$(echo $IMAGE_ID | tr '[A-Z]' '[a-z]') - echo "push version ${{steps.getPomVersion.outputs.info}}" - if [[ $BRANCH_NAME == master ]]; then - VERSION=latest - else - VERSION=$BRANCH_NAME - fi - VERSION=temp - echo IMAGE_ID=$IMAGE_ID - echo VERSION=$VERSION - docker tag $SERVICE_NAME $IMAGE_ID:$VERSION - docker push $IMAGE_ID:$VERSION - - uses: 8398a7/action-slack@v3 - with: - status: ${{ job.status }} - fields: repo,message,commit,author,action,eventName,ref,workflow,job,took # selectable (default: repo,message) - env: - SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK }} # required - if: failure() # Pick up events even if the job fails or is canceled. - - - sonar_analysis: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - name: Set up JDK 11 - uses: actions/setup-java@v1 - with: - ref: ${{ github.ref }} - java-version: 11 - server-id: ossrh # Value of the distributionManagement/repository/id field of the pom.xml - settings-path: ${{ github.workspace }} # location for the settings.xml file - - - name: Setup branch and env - run: | - # Strip git ref prefix from version - echo "BRANCH_NAME=$(echo ${{ github.ref }} | sed -e 's,.*/\(.*\),\1,')" >> $GITHUB_ENV - echo "GPG_TTY=$(tty)" >> $GITHUB_ENV - - uses: actions/cache@v1 - with: - path: ~/.m2/repository - key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} - restore-keys: | - ${{ runner.os }}-maven-${{ env.BRANCH_NAME }} - - - name: Setup the settings file for ossrh server - run: echo " ossrh ${{secrets.ossrh_user}} ${{secrets.ossrh_secret}} ossrh true gpg2 ${{secrets.gpg_secret}} allow-snapshots true snapshots-repo https://oss.sonatype.org/content/repositories/snapshots false true releases-repo https://oss.sonatype.org/service/local/staging/deploy/maven2 true false sonar . https://sonarcloud.io false " > $GITHUB_WORKSPACE/settings.xml - - - name: Build with Maven - run: | - cd biosdk-services - mvn -B package -s $GITHUB_WORKSPACE/settings.xml --file pom.xml - - - name: Analyze with SonarCloud - run: | - cd biosdk-services - mvn -B -Dgpg.skip verify sonar:sonar -Dsonar.projectKey=mosip_${{ github.event.repository.name }} -Dsonar.organization=${{ secrets.ORG_KEY }} -Dsonar.host.url=https://sonarcloud.io -Dsonar.login=${{ secrets.SONAR_TOKEN }} - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} - - uses: 8398a7/action-slack@v3 - with: - status: ${{ job.status }} - fields: repo,message,commit,workflow,job # selectable (default: repo,message) - env: - SLACK_WEBHOOK_URL: ${{ secrets.SLACK_DEVOPS_WEBHOOK }} # required - if: failure() # Pick up events even if the job fails or is canceled. - - publish_to_nexus: - if: "!contains(github.ref, 'master')" - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - name: Set up JDK 11 - uses: actions/setup-java@v1 - with: - ref: ${{ github.ref }} - java-version: 11 - server-id: ossrh # Value of the distributionManagement/repository/id field of the pom.xml - settings-path: ${{ github.workspace }} # location for the settings.xml file - - - uses: actions/checkout@v2 - - - name: Setup branch and env - run: | - # Strip git ref prefix from version - echo "BRANCH_NAME=$(echo ${{ github.ref }} | sed -e 's,.*/\(.*\),\1,')" >> $GITHUB_ENV - echo "GPG_TTY=$(tty)" >> $GITHUB_ENV - - - name: Setup branch and GPG public key - run: | - # Strip git ref prefix from version - echo ${{ env.BRANCH_NAME }} - echo ${{ env.GPG_TTY }} - sudo apt-get --yes install gnupg2 - gpg2 --import ./.github/keys/mosipgpgkey_pub.gpg - gpg2 --quiet --batch --passphrase=${{secrets.gpg_secret}} --allow-secret-key-import --import ./.github/keys/mosipgpgkey_sec.gpg - - - uses: actions/cache@v1 - with: - path: ~/.m2/repository - key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} - restore-keys: | - ${{ runner.os }}-maven-${{ env.BRANCH_NAME }} - - - name: Install xmllint - run: | - sudo apt-get update - sudo apt-get install libxml2-utils - - name: Setup the settings file for ossrh server - run: echo " ossrh ${{secrets.RELEASE_USER}} ${{secrets.RELEASE_TOKEN}} ossrh true gpg2 ${{secrets.gpg_secret}} allow-snapshots true snapshots-repo https://oss.sonatype.org/content/repositories/snapshots false true releases-repo https://oss.sonatype.org/service/local/staging/deploy/maven2 true false sonar . https://sonarcloud.io false " > $GITHUB_WORKSPACE/settings.xml - - - name: Build with Maven - run: | - cd biosdk-services - mvn -B package -s $GITHUB_WORKSPACE/settings.xml --file pom.xml - - - name: Publish the maven package - run: | - cd biosdk-services - mvn deploy -DaltDeploymentRepository=ossrh::default::${{ secrets.OSSRH_SNAPSHOT_URL }} -s $GITHUB_WORKSPACE/settings.xml -f pom.xml - env: - GITHUB_TOKEN: ${{ secrets.RELEASE_TOKEN }} - GPG_TTY: $(tty) From eceb8a730e3cc7fa4a3b91611fc645ea951ea427 Mon Sep 17 00:00:00 2001 From: JanardhanBS-SyncByte <72377118+JanardhanBS-SyncByte@users.noreply.github.com> Date: Fri, 29 Sep 2023 12:32:41 +0530 Subject: [PATCH 51/74] MOSIP-29095 (#82) * MOSIP-29095 * MOSIP-29095 * MOSIP-29095 --- README.md | 4 ++-- biosdk-services/Dockerfile | 2 +- biosdk-services/pom.xml | 7 ------- biosdk-services/run.bat | 2 +- .../mosip/biosdk/services/SdkApplication.java | 12 +++++------ .../services/config/BioSdkLibConfig.java | 13 ++++++------ .../services/controller/MainController.java | 17 ++------------- .../BioSdkServiceProviderImpl_V_1_0.java | 5 ++--- .../resources/application-local.properties | 10 +++++++++ .../src/main/resources/application.properties | 0 .../src/main/resources/bootstrap.properties | 21 ++++++++++++++++--- 11 files changed, 47 insertions(+), 46 deletions(-) create mode 100644 biosdk-services/src/main/resources/application-local.properties create mode 100644 biosdk-services/src/main/resources/application.properties diff --git a/README.md b/README.md index 42b90f43..0b1ef516 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ -[![Maven Package upon a push](https://github.com/mosip/biosdk-services/actions/workflows/push_trigger.yml/badge.svg?branch=master)](https://github.com/mosip/biosdk-services/actions/workflows/push_trigger.yml) -[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?branch=develop&project=mosip_biosdk-services&metric=alert_status)](https://sonarcloud.io/dashboard?branch=develop&id=mosip_biosdk-services) +[![Maven Package upon a push](https://github.com/mosip/biosdk-services/actions/workflows/push_trigger.yml/badge.svg?branch=release-1.2.0.1)](https://github.com/mosip/biosdk-services/actions/workflows/push_trigger.yml) +[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?branch=release-1.2.0.1&project=mosip_biosdk-services&metric=alert_status)](https://sonarcloud.io/dashboard?branch=release-1.2.0.1&id=mosip_biosdk-services) # Bio-SDK Service diff --git a/biosdk-services/Dockerfile b/biosdk-services/Dockerfile index 59d7f290..d26deaf7 100644 --- a/biosdk-services/Dockerfile +++ b/biosdk-services/Dockerfile @@ -85,4 +85,4 @@ EXPOSE 9099 ENTRYPOINT [ "./configure_biosdk.sh" ] CMD echo $biosdk_bioapi_impl ; \ -java -Dloader.path="${loader_path_env}" -Dbiosdk_bioapi_impl="${biosdk_bioapi_impl}" -Dserver.servlet.context-path="${service_context_env}" -Dlogging.level.root=${logging_level_root_env} -jar -Dspring.cloud.config.label="${spring_config_label_env}" -Dspring.profiles.active="${active_profile_env}" -Dspring.cloud.config.uri="${spring_config_url_env}" biosdk-services.jar +java -Dloader.path="${loader_path_env}" -Dbiosdk_bioapi_impl="${biosdk_bioapi_impl}" -Dserver.servlet.context-path="${service_context_env}" -Dlogging.level.root=${logging_level_root_env} -jar -Dspring.cloud.config.label="${spring_config_label_env}" -Dspring.profiles.active="${active_profile_env}" -Dspring.cloud.config.uri="${spring_config_url_env}" biosdk-services.jar \ No newline at end of file diff --git a/biosdk-services/pom.xml b/biosdk-services/pom.xml index 8f79e748..3479ad9e 100644 --- a/biosdk-services/pom.xml +++ b/biosdk-services/pom.xml @@ -6,21 +6,18 @@ io.mosip.biosdk 1.2.1-SNAPSHOT biosdk-services - MPL 2.0 https://www.mozilla.org/en-US/MPL/2.0/ - scm:git:git://github.com/mosip/biosdk-services.git scm:git:ssh://github.com:mosip/biosdk-services.git https://github.com/mosip/biosdk-services HEAD - Mosip @@ -29,10 +26,8 @@ https://mosip.io - Sample implementation of biometrics SDK services https://github.com/mosip/mosip-ref-impl - 11 @@ -51,7 +46,6 @@ 2.9.2 - 1.2.0.1-B2 1.2.0.1-B1 @@ -243,7 +237,6 @@ ${maven.compiler.target} - diff --git a/biosdk-services/run.bat b/biosdk-services/run.bat index 9f103883..297b7f17 100644 --- a/biosdk-services/run.bat +++ b/biosdk-services/run.bat @@ -1 +1 @@ -java -Dloader.path=target/mock-sdk-1.2.1-SNAPSHOT-jar-with-dependencies.jar -Dbiosdk_bioapi_impl=io.mosip.mock.sdk.impl.SampleSDKV2 -jar target/biosdk-services-1.2.1-SNAPSHOT.jar \ No newline at end of file +java -Dloader.path=mock-sdk-1.2.1-SNAPSHOT-jar-with-dependencies.jar -Dbiosdk_bioapi_impl=io.mosip.mock.sdk.impl.SampleSDKV2 -jar target/biosdk-services-1.2.1-SNAPSHOT.jar \ No newline at end of file diff --git a/biosdk-services/src/main/java/io/mosip/biosdk/services/SdkApplication.java b/biosdk-services/src/main/java/io/mosip/biosdk/services/SdkApplication.java index c2accfc3..f7fecd6b 100644 --- a/biosdk-services/src/main/java/io/mosip/biosdk/services/SdkApplication.java +++ b/biosdk-services/src/main/java/io/mosip/biosdk/services/SdkApplication.java @@ -2,12 +2,10 @@ import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.context.annotation.ComponentScan; -@ComponentScan(basePackages = { "io.mosip.biosdk.services.*" }) -@SpringBootApplication +@SpringBootApplication() public class SdkApplication { - public static void main(String[] args) { - SpringApplication.run(SdkApplication.class, args); - } -} \ No newline at end of file + public static void main(String[] args) { + SpringApplication.run(SdkApplication.class, args); + } +} diff --git a/biosdk-services/src/main/java/io/mosip/biosdk/services/config/BioSdkLibConfig.java b/biosdk-services/src/main/java/io/mosip/biosdk/services/config/BioSdkLibConfig.java index e0012d94..a099b9f1 100644 --- a/biosdk-services/src/main/java/io/mosip/biosdk/services/config/BioSdkLibConfig.java +++ b/biosdk-services/src/main/java/io/mosip/biosdk/services/config/BioSdkLibConfig.java @@ -1,7 +1,6 @@ package io.mosip.biosdk.services.config; -import javax.annotation.PostConstruct; - +import io.mosip.kernel.biometrics.spi.IBioApiV2; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -11,7 +10,7 @@ import org.springframework.context.annotation.Lazy; import org.springframework.core.env.Environment; -import io.mosip.kernel.biometrics.spi.IBioApi; +import javax.annotation.PostConstruct; @Configuration public class BioSdkLibConfig { @@ -27,7 +26,7 @@ public void validateBioSdkLib() throws ClassNotFoundException { String sdkClass = this.env.getProperty("biosdk_bioapi_impl"); logger.info("Biosdk class: " + sdkClass); if (StringUtils.isNotBlank(sdkClass)) { - logger.info("validating Bio SDK Class is present or not"); + logger.debug("validating Bio SDK Class is present or not"); Class.forName(this.env.getProperty("biosdk_bioapi_impl")); } @@ -36,12 +35,12 @@ public void validateBioSdkLib() throws ClassNotFoundException { @Bean @Lazy - public IBioApi iBioApi() throws ClassNotFoundException, InstantiationException, IllegalAccessException { + public IBioApiV2 iBioApi() throws ClassNotFoundException, InstantiationException, IllegalAccessException { String sdkClass = this.env.getProperty("biosdk_bioapi_impl"); logger.info("Biosdk class: " + sdkClass); if (StringUtils.isNotBlank(sdkClass)) { - logger.info("instance of Bio SDK is created"); - return (IBioApi)Class.forName(sdkClass).newInstance(); + logger.debug("instance of Bio SDK is created"); + return (IBioApiV2)Class.forName(sdkClass).newInstance(); } else { logger.debug("no Bio SDK is provided"); throw new RuntimeException("No Bio SDK is provided"); diff --git a/biosdk-services/src/main/java/io/mosip/biosdk/services/controller/MainController.java b/biosdk-services/src/main/java/io/mosip/biosdk/services/controller/MainController.java index 2b48b53a..b1c478ff 100644 --- a/biosdk-services/src/main/java/io/mosip/biosdk/services/controller/MainController.java +++ b/biosdk-services/src/main/java/io/mosip/biosdk/services/controller/MainController.java @@ -9,7 +9,7 @@ import io.mosip.biosdk.services.factory.BioSdkServiceFactory; import io.mosip.biosdk.services.spi.BioSdkServiceProvider; import io.mosip.biosdk.services.utils.Utils; -import io.mosip.kernel.biometrics.spi.IBioApi; +import io.mosip.kernel.biometrics.spi.IBioApiV2; import io.mosip.kernel.core.logger.spi.Logger; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -46,7 +46,7 @@ public class MainController { private Utils serviceUtil; @Autowired - private IBioApi iBioApi; + private IBioApiV2 iBioApi; @Autowired private BioSdkServiceFactory bioSdkServiceFactory; @@ -97,31 +97,18 @@ public ResponseEntity init( public ResponseEntity match( @Validated @RequestBody(required = true) RequestDto request, @ApiIgnore Errors errors) { - System.out.println(LOGGER_SESSIONID + LOGGER_IDTYPE+ "Match: Started"); - System.out.println("-------------------------------------------------------------------------------------------"); - System.out.println("-------------------------------------------------------------------------------------------"); - System.out.println("-------------------------------------------------------------------------------------------"); - System.out.println("-------------------------------------------------------------------------------------------"); - System.out.println("-------------------------------------------------------------------------------------------"); ResponseDto responseDto = generateResponseTemplate(request.getVersion()); try { responseDto.setVersion(request.getVersion()); BioSdkServiceProvider bioSdkServiceProviderImpl = null; bioSdkServiceProviderImpl = bioSdkServiceFactory.getBioSdkServiceProvider(request.getVersion()); - logger.info(LOGGER_SESSIONID, LOGGER_IDTYPE, "Match: call"); responseDto.setResponse(bioSdkServiceProviderImpl.match(request)); - logger.error(LOGGER_SESSIONID, LOGGER_IDTYPE, "Match: call ended"); } catch (BioSDKException e) { logger.error(LOGGER_SESSIONID, LOGGER_IDTYPE, "BioSDKException: ", e.getMessage()); ErrorDto errorDto = new ErrorDto(e.getErrorCode(), e.getErrorText()); responseDto.getErrors().add(errorDto); return ResponseEntity.status(HttpStatus.OK).body(gson.toJson(responseDto)); } - System.out.println("-------------------------------------------------------------------------------------------"); - System.out.println("-------------------------------------------------------------------------------------------"); - System.out.println("-------------------------------------------------------------------------------------------"); - System.out.println("-------------------------------------------------------------------------------------------"); - System.out.println("-------------------------------------------------------------------------------------------"); return ResponseEntity.status(HttpStatus.OK).body(gson.toJson(responseDto)); } diff --git a/biosdk-services/src/main/java/io/mosip/biosdk/services/impl/spec_1_0/BioSdkServiceProviderImpl_V_1_0.java b/biosdk-services/src/main/java/io/mosip/biosdk/services/impl/spec_1_0/BioSdkServiceProviderImpl_V_1_0.java index bf10b446..d3a689d9 100644 --- a/biosdk-services/src/main/java/io/mosip/biosdk/services/impl/spec_1_0/BioSdkServiceProviderImpl_V_1_0.java +++ b/biosdk-services/src/main/java/io/mosip/biosdk/services/impl/spec_1_0/BioSdkServiceProviderImpl_V_1_0.java @@ -9,20 +9,20 @@ import io.mosip.biosdk.services.impl.spec_1_0.dto.request.*; import io.mosip.biosdk.services.spi.BioSdkServiceProvider; import io.mosip.biosdk.services.utils.Utils; +import io.mosip.kernel.biometrics.entities.BiometricRecord; import io.mosip.kernel.biometrics.model.Response; import io.mosip.kernel.biometrics.model.SDKInfo; -//import io.mosip.kernel.biometrics.spi.IBioApi; import io.mosip.kernel.biometrics.spi.IBioApiV2; import io.mosip.kernel.core.logger.spi.Logger; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; - import static io.mosip.biosdk.services.constants.AppConstants.LOGGER_IDTYPE; import static io.mosip.biosdk.services.constants.AppConstants.LOGGER_SESSIONID; @Component public class BioSdkServiceProviderImpl_V_1_0 implements BioSdkServiceProvider { + private Logger logger = LoggerConfig.logConfig(BioSdkServiceProviderImpl_V_1_0.class); private static final String BIOSDK_SERVICE_SPEC_VERSION = "1.0"; @@ -95,7 +95,6 @@ public Object match(RequestDto request) { matchRequestDto.getModalitiesToMatch(), matchRequestDto.getFlags() ); - System.out.println(LOGGER_SESSIONID + LOGGER_IDTYPE + "match response: "+ response.toString()); } catch (Throwable e){ e.printStackTrace(); logger.error(LOGGER_SESSIONID, LOGGER_IDTYPE,"match: ", e.toString()+" "+e.getMessage()); diff --git a/biosdk-services/src/main/resources/application-local.properties b/biosdk-services/src/main/resources/application-local.properties new file mode 100644 index 00000000..f8651016 --- /dev/null +++ b/biosdk-services/src/main/resources/application-local.properties @@ -0,0 +1,10 @@ +#iam mock-sdk config +sdk_check_iso_timestamp_format=true +biosdk_class=io.mosip.mock.sdk.impl.SampleSDKV2 +mosip.role.biosdk.getservicestatus=REGISTRATION_PROCESSOR +biosdk_bioapi_impl=io.mosip.mock.sdk.impl.SampleSDKV2 + +#iam image-compressor config +mosip.bio.image.compressor.resize.factor.fx=0.25 +mosip.bio.image.compressor.resize.factor.fy=0.25 +mosip.bio.image.compressor.compression.ratio=50 \ No newline at end of file diff --git a/biosdk-services/src/main/resources/application.properties b/biosdk-services/src/main/resources/application.properties new file mode 100644 index 00000000..e69de29b diff --git a/biosdk-services/src/main/resources/bootstrap.properties b/biosdk-services/src/main/resources/bootstrap.properties index fc1521da..f5eb1c94 100644 --- a/biosdk-services/src/main/resources/bootstrap.properties +++ b/biosdk-services/src/main/resources/bootstrap.properties @@ -1,10 +1,13 @@ spring.cloud.config.uri=http://localhost:51000/config spring.cloud.config.label=master -spring.profiles.active=local +spring.profiles.active=default spring.application.name=biosdk-service spring.cloud.config.name=biosdk-service -security.basic.enabled=false server.port=9099 +security.basic.enabled=false +server.servlet.context-path=/biosdk-service + +spring.cloud.config.enabled=true server.servlet.context-path=/biosdk-service health.config.enabled=false management.security.enable=false @@ -13,4 +16,16 @@ management.endpoints.web.exposure.include=info,health,refresh,mappings management.endpoint.metrics.enabled=true management.endpoint.prometheus.enabled=true management.metrics.export.prometheus.enabled=true -#logging.level.org.springframework=DEBUG \ No newline at end of file + +#logging.level.org.springframework=DEBUG + +#iam mock-sdk config +sdk_check_iso_timestamp_format=true +biosdk_class=io.mosip.mock.sdk.impl.SampleSDKV2 +mosip.role.biosdk.getservicestatus=REGISTRATION_PROCESSOR +biosdk_bioapi_impl=io.mosip.mock.sdk.impl.SampleSDKV2 + +#iam image-compressor config +mosip.bio.image.compressor.resize.factor.fx=0.25 +mosip.bio.image.compressor.resize.factor.fy=0.25 +mosip.bio.image.compressor.compression.ratio=50 \ No newline at end of file From 215206332dbe4194f5a1f2ad4997da642bed5a1e Mon Sep 17 00:00:00 2001 From: Keshav Mishra Date: Fri, 29 Sep 2023 13:56:34 +0530 Subject: [PATCH 52/74] [MOSIP-29095] Signed-off-by: Keshav Mishra --- biosdk-services/Dockerfile | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/biosdk-services/Dockerfile b/biosdk-services/Dockerfile index d26deaf7..ba287a1c 100644 --- a/biosdk-services/Dockerfile +++ b/biosdk-services/Dockerfile @@ -9,13 +9,33 @@ ARG active_profile # can be passed during Docker build as build time environment for config server URL ARG spring_config_url +# can be passed during Docker build as build time environment for application name +ARG spring_application_name + +# can be passed during Docker build as build time environment for config name +ARG spring_cloud_config_name + +# can be passed during Docker build as build time environment for context path +ARG server_servlet_context-path + # environment variable to pass github branch to pickup configuration from, at docker runtime ENV spring_config_label_env=${spring_config_label} + # environment variable to pass active profile such as DEV, QA etc at docker runtime ENV active_profile_env=${active_profile} + # environment variable to pass spring configuration url, at docker runtime ENV spring_config_url_env=${spring_config_url} +# environment variable to pass spring application name, at docker runtime +ENV spring_application_name_env=${spring_application_name} + +# environment variable to pass spring config name, at docker runtime +ENV spring_cloud_config_name_env=${spring_cloud_config_name} + +# environment variable to pass spring context path , at docker runtime +ENV server_servlet_context-path_env=${server_servlet_context-path} + ARG biosdk_zip_url ENV biosdk_zip_file_path=${biosdk_zip_url} @@ -85,4 +105,4 @@ EXPOSE 9099 ENTRYPOINT [ "./configure_biosdk.sh" ] CMD echo $biosdk_bioapi_impl ; \ -java -Dloader.path="${loader_path_env}" -Dbiosdk_bioapi_impl="${biosdk_bioapi_impl}" -Dserver.servlet.context-path="${service_context_env}" -Dlogging.level.root=${logging_level_root_env} -jar -Dspring.cloud.config.label="${spring_config_label_env}" -Dspring.profiles.active="${active_profile_env}" -Dspring.cloud.config.uri="${spring_config_url_env}" biosdk-services.jar \ No newline at end of file +java -Dloader.path="${loader_path_env}" -Dbiosdk_bioapi_impl="${biosdk_bioapi_impl}" -Dserver.servlet.context-path="${service_context_env}" -Dlogging.level.root=${logging_level_root_env} -jar -Dspring.cloud.config.label="${spring_config_label_env}" -Dspring.profiles.active="${active_profile_env}" -Dspring.application.name="${spring_application_name_env}" -Dspring.cloud.config.name=${spring_cloud_config_name_env} -Dserver.servlet.context-path=${server_servlet_context-path_env} -Dspring.cloud.config.uri="${spring_config_url_env}" biosdk-services.jar From 843ebac0b52dad84006214a40ad58ee5f05335a1 Mon Sep 17 00:00:00 2001 From: Keshav Mishra Date: Fri, 29 Sep 2023 14:05:57 +0530 Subject: [PATCH 53/74] Update Dockerfile Signed-off-by: Keshav Mishra --- biosdk-services/Dockerfile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/biosdk-services/Dockerfile b/biosdk-services/Dockerfile index ba287a1c..21cb69ad 100644 --- a/biosdk-services/Dockerfile +++ b/biosdk-services/Dockerfile @@ -16,7 +16,7 @@ ARG spring_application_name ARG spring_cloud_config_name # can be passed during Docker build as build time environment for context path -ARG server_servlet_context-path +ARG server_servlet_context # environment variable to pass github branch to pickup configuration from, at docker runtime ENV spring_config_label_env=${spring_config_label} @@ -34,7 +34,7 @@ ENV spring_application_name_env=${spring_application_name} ENV spring_cloud_config_name_env=${spring_cloud_config_name} # environment variable to pass spring context path , at docker runtime -ENV server_servlet_context-path_env=${server_servlet_context-path} +ENV server_servlet_context_env=${server_servlet_context} ARG biosdk_zip_url @@ -105,4 +105,4 @@ EXPOSE 9099 ENTRYPOINT [ "./configure_biosdk.sh" ] CMD echo $biosdk_bioapi_impl ; \ -java -Dloader.path="${loader_path_env}" -Dbiosdk_bioapi_impl="${biosdk_bioapi_impl}" -Dserver.servlet.context-path="${service_context_env}" -Dlogging.level.root=${logging_level_root_env} -jar -Dspring.cloud.config.label="${spring_config_label_env}" -Dspring.profiles.active="${active_profile_env}" -Dspring.application.name="${spring_application_name_env}" -Dspring.cloud.config.name=${spring_cloud_config_name_env} -Dserver.servlet.context-path=${server_servlet_context-path_env} -Dspring.cloud.config.uri="${spring_config_url_env}" biosdk-services.jar +java -Dloader.path="${loader_path_env}" -Dbiosdk_bioapi_impl="${biosdk_bioapi_impl}" -Dserver.servlet.context-path="${service_context_env}" -Dlogging.level.root=${logging_level_root_env} -jar -Dspring.cloud.config.label="${spring_config_label_env}" -Dspring.profiles.active="${active_profile_env}" -Dspring.application.name="${spring_application_name_env}" -Dspring.cloud.config.name=${spring_cloud_config_name_env} -Dserver.servlet.context-path=${server_servlet_context_env} -Dspring.cloud.config.uri="${spring_config_url_env}" biosdk-services.jar From cfdedc8dad990e28c44942c94fa96716f82601a4 Mon Sep 17 00:00:00 2001 From: Keshav Mishra Date: Fri, 29 Sep 2023 14:14:22 +0530 Subject: [PATCH 54/74] [MOSIP-29095] Update Dockerfile Signed-off-by: Keshav Mishra --- biosdk-services/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/biosdk-services/Dockerfile b/biosdk-services/Dockerfile index 21cb69ad..d74f1651 100644 --- a/biosdk-services/Dockerfile +++ b/biosdk-services/Dockerfile @@ -105,4 +105,4 @@ EXPOSE 9099 ENTRYPOINT [ "./configure_biosdk.sh" ] CMD echo $biosdk_bioapi_impl ; \ -java -Dloader.path="${loader_path_env}" -Dbiosdk_bioapi_impl="${biosdk_bioapi_impl}" -Dserver.servlet.context-path="${service_context_env}" -Dlogging.level.root=${logging_level_root_env} -jar -Dspring.cloud.config.label="${spring_config_label_env}" -Dspring.profiles.active="${active_profile_env}" -Dspring.application.name="${spring_application_name_env}" -Dspring.cloud.config.name=${spring_cloud_config_name_env} -Dserver.servlet.context-path=${server_servlet_context_env} -Dspring.cloud.config.uri="${spring_config_url_env}" biosdk-services.jar +java -Dloader.path="${loader_path_env}" -Dbiosdk_bioapi_impl="${biosdk_bioapi_impl}" -Dlogging.level.root=${logging_level_root_env} -jar -Dspring.cloud.config.label="${spring_config_label_env}" -Dspring.profiles.active="${active_profile_env}" -Dspring.application.name="${spring_application_name_env}" -Dspring.cloud.config.name=${spring_cloud_config_name_env} -Dserver.servlet.context-path=${server_servlet_context_env} -Dspring.cloud.config.uri="${spring_config_url_env}" biosdk-services.jar From d02889eeb27abb7edb29ce4b541f25798dd3e58b Mon Sep 17 00:00:00 2001 From: Keshav Mishra Date: Fri, 29 Sep 2023 14:15:23 +0530 Subject: [PATCH 55/74] [MOSIP-29095] Signed-off-by: Keshav Mishra --- biosdk-services/Dockerfile | 4 ---- 1 file changed, 4 deletions(-) diff --git a/biosdk-services/Dockerfile b/biosdk-services/Dockerfile index d74f1651..c4c4c000 100644 --- a/biosdk-services/Dockerfile +++ b/biosdk-services/Dockerfile @@ -46,10 +46,6 @@ ENV biosdk_local_dir_name=${biosdk_local_dir} ARG sdk_impl -ARG service_context=/biosdk-service - -ENV service_context_env=${service_context} - #ENV biosdk_zip_url=$biosdk_zip_url ENV biosdk_bioapi_impl=${sdk_impl} From 11b114288886f1f3b8db90df6641982541f47051 Mon Sep 17 00:00:00 2001 From: Keshav Mishra Date: Fri, 29 Sep 2023 14:35:42 +0530 Subject: [PATCH 56/74] Update bootstrap.properties Signed-off-by: Keshav Mishra --- .../src/main/resources/bootstrap.properties | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/biosdk-services/src/main/resources/bootstrap.properties b/biosdk-services/src/main/resources/bootstrap.properties index f5eb1c94..0ac7860b 100644 --- a/biosdk-services/src/main/resources/bootstrap.properties +++ b/biosdk-services/src/main/resources/bootstrap.properties @@ -16,16 +16,3 @@ management.endpoints.web.exposure.include=info,health,refresh,mappings management.endpoint.metrics.enabled=true management.endpoint.prometheus.enabled=true management.metrics.export.prometheus.enabled=true - -#logging.level.org.springframework=DEBUG - -#iam mock-sdk config -sdk_check_iso_timestamp_format=true -biosdk_class=io.mosip.mock.sdk.impl.SampleSDKV2 -mosip.role.biosdk.getservicestatus=REGISTRATION_PROCESSOR -biosdk_bioapi_impl=io.mosip.mock.sdk.impl.SampleSDKV2 - -#iam image-compressor config -mosip.bio.image.compressor.resize.factor.fx=0.25 -mosip.bio.image.compressor.resize.factor.fy=0.25 -mosip.bio.image.compressor.compression.ratio=50 \ No newline at end of file From 4b4b36f932624a0edf5a159f84359e5fa5e67b28 Mon Sep 17 00:00:00 2001 From: Keshav Mishra Date: Fri, 29 Sep 2023 15:45:46 +0530 Subject: [PATCH 57/74] Update bootstrap.properties Signed-off-by: Keshav Mishra --- biosdk-services/src/main/resources/bootstrap.properties | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/biosdk-services/src/main/resources/bootstrap.properties b/biosdk-services/src/main/resources/bootstrap.properties index 0ac7860b..48453691 100644 --- a/biosdk-services/src/main/resources/bootstrap.properties +++ b/biosdk-services/src/main/resources/bootstrap.properties @@ -5,11 +5,10 @@ spring.application.name=biosdk-service spring.cloud.config.name=biosdk-service server.port=9099 security.basic.enabled=false -server.servlet.context-path=/biosdk-service +server.servlet.context-path= spring.cloud.config.enabled=true -server.servlet.context-path=/biosdk-service -health.config.enabled=false +health.config.enabled=true management.security.enable=false management.endpoint.health.show-details=always management.endpoints.web.exposure.include=info,health,refresh,mappings From bfd3ecd69baafa48b063fb912bce6895d0adfd09 Mon Sep 17 00:00:00 2001 From: Keshav Mishra Date: Fri, 29 Sep 2023 16:09:35 +0530 Subject: [PATCH 58/74] [MOSIP-29095] reverted changes to make bottstrap params dynamic --- biosdk-services/Dockerfile | 2 +- biosdk-services/src/main/resources/bootstrap.properties | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/biosdk-services/Dockerfile b/biosdk-services/Dockerfile index c4c4c000..21bc1b48 100644 --- a/biosdk-services/Dockerfile +++ b/biosdk-services/Dockerfile @@ -101,4 +101,4 @@ EXPOSE 9099 ENTRYPOINT [ "./configure_biosdk.sh" ] CMD echo $biosdk_bioapi_impl ; \ -java -Dloader.path="${loader_path_env}" -Dbiosdk_bioapi_impl="${biosdk_bioapi_impl}" -Dlogging.level.root=${logging_level_root_env} -jar -Dspring.cloud.config.label="${spring_config_label_env}" -Dspring.profiles.active="${active_profile_env}" -Dspring.application.name="${spring_application_name_env}" -Dspring.cloud.config.name=${spring_cloud_config_name_env} -Dserver.servlet.context-path=${server_servlet_context_env} -Dspring.cloud.config.uri="${spring_config_url_env}" biosdk-services.jar +java -Dloader.path="${loader_path_env}" -Dbiosdk_bioapi_impl="${biosdk_bioapi_impl}" -Dlogging.level.root=${logging_level_root_env} -jar -Dspring.cloud.config.label="${spring_config_label_env}" -Dspring.profiles.active="${active_profile_env}" -Dspring.cloud.config.uri="${spring_config_url_env}" biosdk-services.jar diff --git a/biosdk-services/src/main/resources/bootstrap.properties b/biosdk-services/src/main/resources/bootstrap.properties index 48453691..2e9f2b26 100644 --- a/biosdk-services/src/main/resources/bootstrap.properties +++ b/biosdk-services/src/main/resources/bootstrap.properties @@ -5,7 +5,7 @@ spring.application.name=biosdk-service spring.cloud.config.name=biosdk-service server.port=9099 security.basic.enabled=false -server.servlet.context-path= +server.servlet.context-path=/biosdk-services spring.cloud.config.enabled=true health.config.enabled=true From c247f7c89134e37af1b2f78061ae7d71a1dee95e Mon Sep 17 00:00:00 2001 From: Keshav Mishra Date: Fri, 29 Sep 2023 16:27:01 +0530 Subject: [PATCH 59/74] [MOSIP-29095] Update bootstrap.properties Signed-off-by: Keshav Mishra --- biosdk-services/src/main/resources/bootstrap.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/biosdk-services/src/main/resources/bootstrap.properties b/biosdk-services/src/main/resources/bootstrap.properties index 2e9f2b26..6e149835 100644 --- a/biosdk-services/src/main/resources/bootstrap.properties +++ b/biosdk-services/src/main/resources/bootstrap.properties @@ -5,7 +5,7 @@ spring.application.name=biosdk-service spring.cloud.config.name=biosdk-service server.port=9099 security.basic.enabled=false -server.servlet.context-path=/biosdk-services +server.servlet.context-path=/biosdk-service spring.cloud.config.enabled=true health.config.enabled=true From 128cb415175ac15d281d000d311d9bc92f89fa7b Mon Sep 17 00:00:00 2001 From: Keshav Mishra Date: Fri, 29 Sep 2023 16:37:12 +0530 Subject: [PATCH 60/74] [MOSIP-29095] --- biosdk-services/Dockerfile | 2 +- biosdk-services/src/main/resources/bootstrap.properties | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/biosdk-services/Dockerfile b/biosdk-services/Dockerfile index 21bc1b48..55a10a43 100644 --- a/biosdk-services/Dockerfile +++ b/biosdk-services/Dockerfile @@ -101,4 +101,4 @@ EXPOSE 9099 ENTRYPOINT [ "./configure_biosdk.sh" ] CMD echo $biosdk_bioapi_impl ; \ -java -Dloader.path="${loader_path_env}" -Dbiosdk_bioapi_impl="${biosdk_bioapi_impl}" -Dlogging.level.root=${logging_level_root_env} -jar -Dspring.cloud.config.label="${spring_config_label_env}" -Dspring.profiles.active="${active_profile_env}" -Dspring.cloud.config.uri="${spring_config_url_env}" biosdk-services.jar +java -Dloader.path="${loader_path_env}" -Dbiosdk_bioapi_impl="${biosdk_bioapi_impl}" -Dlogging.level.root=${logging_level_root_env} -jar -Dspring.cloud.config.label="${spring_config_label_env}" -Dspring.profiles.active="${active_profile_env}" -Dspring.cloud.config.uri="${spring_config_url_env}" -Dspring.application.name="${spring_application_name_env}" -Dspring.cloud.config.name=${spring_cloud_config_name_env} biosdk-services.jar diff --git a/biosdk-services/src/main/resources/bootstrap.properties b/biosdk-services/src/main/resources/bootstrap.properties index 6e149835..52e61ac8 100644 --- a/biosdk-services/src/main/resources/bootstrap.properties +++ b/biosdk-services/src/main/resources/bootstrap.properties @@ -1,8 +1,8 @@ spring.cloud.config.uri=http://localhost:51000/config spring.cloud.config.label=master spring.profiles.active=default -spring.application.name=biosdk-service -spring.cloud.config.name=biosdk-service +spring.application.name= +spring.cloud.config.name= server.port=9099 security.basic.enabled=false server.servlet.context-path=/biosdk-service From f59032606eaae85bf8512b51a90b69ee3b535022 Mon Sep 17 00:00:00 2001 From: Keshav Mishra Date: Fri, 29 Sep 2023 16:46:52 +0530 Subject: [PATCH 61/74] [MOSIP-29095] --- biosdk-services/Dockerfile | 2 +- biosdk-services/src/main/resources/bootstrap.properties | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/biosdk-services/Dockerfile b/biosdk-services/Dockerfile index 55a10a43..cb167333 100644 --- a/biosdk-services/Dockerfile +++ b/biosdk-services/Dockerfile @@ -101,4 +101,4 @@ EXPOSE 9099 ENTRYPOINT [ "./configure_biosdk.sh" ] CMD echo $biosdk_bioapi_impl ; \ -java -Dloader.path="${loader_path_env}" -Dbiosdk_bioapi_impl="${biosdk_bioapi_impl}" -Dlogging.level.root=${logging_level_root_env} -jar -Dspring.cloud.config.label="${spring_config_label_env}" -Dspring.profiles.active="${active_profile_env}" -Dspring.cloud.config.uri="${spring_config_url_env}" -Dspring.application.name="${spring_application_name_env}" -Dspring.cloud.config.name=${spring_cloud_config_name_env} biosdk-services.jar +java -Dloader.path="${loader_path_env}" -Dbiosdk_bioapi_impl="${biosdk_bioapi_impl}" -Dlogging.level.root=${logging_level_root_env} -jar -Dspring.cloud.config.label="${spring_config_label_env}" -Dspring.profiles.active="${active_profile_env}" -Dspring.cloud.config.uri="${spring_config_url_env}" -Dspring.application.name="${spring_application_name_env}" -Dspring.cloud.config.name=${spring_cloud_config_name_env} -Dserver.servlet.context-path=${server_servlet_context_env} biosdk-services.jar diff --git a/biosdk-services/src/main/resources/bootstrap.properties b/biosdk-services/src/main/resources/bootstrap.properties index 52e61ac8..dfc7b852 100644 --- a/biosdk-services/src/main/resources/bootstrap.properties +++ b/biosdk-services/src/main/resources/bootstrap.properties @@ -5,7 +5,7 @@ spring.application.name= spring.cloud.config.name= server.port=9099 security.basic.enabled=false -server.servlet.context-path=/biosdk-service +#server.servlet.context-path=/biosdk-service spring.cloud.config.enabled=true health.config.enabled=true From 4b8eca2f4e4e9a957a6ae8d4fd217b690921cb14 Mon Sep 17 00:00:00 2001 From: Keshav Mishra Date: Fri, 29 Sep 2023 17:31:14 +0530 Subject: [PATCH 62/74] [MOSIP-29095] --- .../src/main/resources/application-local.properties | 4 ++++ biosdk-services/src/main/resources/bootstrap.properties | 3 --- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/biosdk-services/src/main/resources/application-local.properties b/biosdk-services/src/main/resources/application-local.properties index f8651016..36cb544a 100644 --- a/biosdk-services/src/main/resources/application-local.properties +++ b/biosdk-services/src/main/resources/application-local.properties @@ -1,3 +1,7 @@ +server.servlet.context-path= +spring.application.name= +spring.cloud.config.name= + #iam mock-sdk config sdk_check_iso_timestamp_format=true biosdk_class=io.mosip.mock.sdk.impl.SampleSDKV2 diff --git a/biosdk-services/src/main/resources/bootstrap.properties b/biosdk-services/src/main/resources/bootstrap.properties index dfc7b852..aef5f33f 100644 --- a/biosdk-services/src/main/resources/bootstrap.properties +++ b/biosdk-services/src/main/resources/bootstrap.properties @@ -1,11 +1,8 @@ spring.cloud.config.uri=http://localhost:51000/config spring.cloud.config.label=master spring.profiles.active=default -spring.application.name= -spring.cloud.config.name= server.port=9099 security.basic.enabled=false -#server.servlet.context-path=/biosdk-service spring.cloud.config.enabled=true health.config.enabled=true From cf16c67a96563a747faa246f27153deb8296c8ad Mon Sep 17 00:00:00 2001 From: shubham_G <88794020+shubham17998@users.noreply.github.com> Date: Tue, 21 Nov 2023 12:51:27 +0530 Subject: [PATCH 63/74] Update tag.yml (#89) Signed-off-by: shubham_G <88794020+shubham17998@users.noreply.github.com> --- .github/workflows/tag.yml | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/.github/workflows/tag.yml b/.github/workflows/tag.yml index 9a5b079f..155452ef 100644 --- a/.github/workflows/tag.yml +++ b/.github/workflows/tag.yml @@ -14,14 +14,28 @@ on: type: string PRE_RELEASE: description: 'Pre-release? True/False' - required: true - default: False + required: false + default: 'false' type: string DRAFT: description: 'Draft? True/False' required: false - default: False + default: 'false' + type: string + ONLY_TAG: + description: "Only Tag" + required: false + type: string + default: 'false' + BRANCH: + description: 'Branch name' + required: true + type: string + LATEST: + description: 'Latest release' + required: false type: string + default: 'true' jobs: tag-branch: @@ -31,5 +45,9 @@ jobs: BODY: ${{ inputs.BODY }} PRE_RELEASE: ${{ inputs.PRE_RELEASE }} DRAFT: ${{ inputs.DRAFT }} + ONLY_TAG: ${{ inputs.ONLY_TAG }} + BRANCH: ${{ inputs.BRANCH }} + LATEST: ${{ inputs.LATEST }} secrets: - SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK }} \ No newline at end of file + SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK }} + TOKEN: ${{ secrets.ACTION_PAT }} From 330b565f38d9efb02628a905a9e43d20f586e71d Mon Sep 17 00:00:00 2001 From: Rakshith B <79500257+Rakshithb1@users.noreply.github.com> Date: Wed, 13 Dec 2023 10:14:06 +0530 Subject: [PATCH 64/74] [MOSIP-29961] Updated push-trigger.yml (#98) Signed-off-by: Rakshith B <79500257+Rakshithb1@users.noreply.github.com> --- .github/workflows/push-trigger.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/push-trigger.yml b/.github/workflows/push-trigger.yml index 697e44a0..bed8de63 100644 --- a/.github/workflows/push-trigger.yml +++ b/.github/workflows/push-trigger.yml @@ -4,7 +4,7 @@ on: release: types: [published] pull_request: - types: [opened] + types: [opened, reopened, synchronize] workflow_dispatch: inputs: message: @@ -82,4 +82,4 @@ jobs: DEV_NAMESPACE_DOCKER_HUB: ${{ secrets.DEV_NAMESPACE_DOCKER_HUB }} ACTOR_DOCKER_HUB: ${{ secrets.ACTOR_DOCKER_HUB }} RELEASE_DOCKER_HUB: ${{ secrets.RELEASE_DOCKER_HUB }} - SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK }} \ No newline at end of file + SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK }} From 038efdbc904eaea8f83dd68a14f2f983ae4ed44c Mon Sep 17 00:00:00 2001 From: PRAFUL RAKHADE <99539100+Prafulrakhade@users.noreply.github.com> Date: Wed, 20 Dec 2023 18:25:23 +0530 Subject: [PATCH 65/74] [DSD-3932] removed release-changes.yml, tag.yml and updated push-trigger.yml file (#101) Signed-off-by: techno-467 --- .github/workflows/push-trigger.yml | 2 +- .github/workflows/release-changes.yml | 29 --------------- .github/workflows/tag.yml | 53 --------------------------- 3 files changed, 1 insertion(+), 83 deletions(-) delete mode 100644 .github/workflows/release-changes.yml delete mode 100644 .github/workflows/tag.yml diff --git a/.github/workflows/push-trigger.yml b/.github/workflows/push-trigger.yml index bed8de63..39818168 100644 --- a/.github/workflows/push-trigger.yml +++ b/.github/workflows/push-trigger.yml @@ -35,7 +35,7 @@ jobs: SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK }} publish_to_nexus: - if: "${{ !contains(github.ref, 'master') && github.event_name != 'pull_request' }}" + if: "${{ !contains(github.ref, 'master') && github.event_name != 'pull_request' && github.event_name != 'release' && github.event_name != 'prerelease' && github.event_name != 'publish' }}" needs: build-biosdk-services uses: mosip/kattu/.github/workflows/maven-publish-to-nexus.yml@master with: diff --git a/.github/workflows/release-changes.yml b/.github/workflows/release-changes.yml deleted file mode 100644 index 56f3842b..00000000 --- a/.github/workflows/release-changes.yml +++ /dev/null @@ -1,29 +0,0 @@ -name: Release/pre-release Preparation. - -on: - workflow_dispatch: - inputs: - MESSAGE: - description: 'Triggered for release or pe-release' - required: false - default: 'Release Preparation' - RELEASE_TAG: - description: 'tag to update' - required: true - SNAPSHOT_TAG: - description: 'tag to be replaced' - required: true - BASE: - description: 'base branch for PR' - required: true -jobs: - maven-release-preparation: - uses: mosip/kattu/.github/workflows/release-changes.yml@master - with: - MESSAGE: ${{ inputs.MESSAGE }} - RELEASE_TAG: ${{ inputs.RELEASE_TAG }} - SNAPSHOT_TAG: ${{ inputs.SNAPSHOT_TAG }} - BASE: ${{ inputs.BASE }} - secrets: - ACTION_PAT: ${{ secrets.ACTION_PAT }} - SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK }} \ No newline at end of file diff --git a/.github/workflows/tag.yml b/.github/workflows/tag.yml deleted file mode 100644 index 155452ef..00000000 --- a/.github/workflows/tag.yml +++ /dev/null @@ -1,53 +0,0 @@ -name: Tagging of repos - -on: - workflow_dispatch: - inputs: - TAG: - description: 'Tag to be published' - required: true - type: string - BODY: - description: 'Release body message' - required: true - default: 'Changes in this Release' - type: string - PRE_RELEASE: - description: 'Pre-release? True/False' - required: false - default: 'false' - type: string - DRAFT: - description: 'Draft? True/False' - required: false - default: 'false' - type: string - ONLY_TAG: - description: "Only Tag" - required: false - type: string - default: 'false' - BRANCH: - description: 'Branch name' - required: true - type: string - LATEST: - description: 'Latest release' - required: false - type: string - default: 'true' - -jobs: - tag-branch: - uses: mosip/kattu/.github/workflows/tag.yml@master - with: - TAG: ${{ inputs.TAG }} - BODY: ${{ inputs.BODY }} - PRE_RELEASE: ${{ inputs.PRE_RELEASE }} - DRAFT: ${{ inputs.DRAFT }} - ONLY_TAG: ${{ inputs.ONLY_TAG }} - BRANCH: ${{ inputs.BRANCH }} - LATEST: ${{ inputs.LATEST }} - secrets: - SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK }} - TOKEN: ${{ secrets.ACTION_PAT }} From 0d84bb3e02512ae47b0d197882d97d80396d7175 Mon Sep 17 00:00:00 2001 From: Jaya Sai Krishna <138590923+JayaSaiKrishna11@users.noreply.github.com> Date: Wed, 14 Feb 2024 12:24:06 +0530 Subject: [PATCH 66/74] Sonar analysis in biosdk fixed in develop Signed-off-by: Jaya Sai Krishna <138590923+JayaSaiKrishna11@users.noreply.github.com> --- .../io/mosip/biosdk/services/config/SecurityConfig.java | 2 +- .../impl/spec_1_0/BioSdkServiceProviderImpl_V_1_0.java | 7 ------- 2 files changed, 1 insertion(+), 8 deletions(-) diff --git a/biosdk-services/src/main/java/io/mosip/biosdk/services/config/SecurityConfig.java b/biosdk-services/src/main/java/io/mosip/biosdk/services/config/SecurityConfig.java index d0bf63d7..927a1348 100644 --- a/biosdk-services/src/main/java/io/mosip/biosdk/services/config/SecurityConfig.java +++ b/biosdk-services/src/main/java/io/mosip/biosdk/services/config/SecurityConfig.java @@ -13,7 +13,7 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter { protected void configure(HttpSecurity security) throws Exception { security.httpBasic().disable(); - security.csrf().disable(); + //security.csrf().disable(); } } \ No newline at end of file diff --git a/biosdk-services/src/main/java/io/mosip/biosdk/services/impl/spec_1_0/BioSdkServiceProviderImpl_V_1_0.java b/biosdk-services/src/main/java/io/mosip/biosdk/services/impl/spec_1_0/BioSdkServiceProviderImpl_V_1_0.java index d3a689d9..cca6f094 100644 --- a/biosdk-services/src/main/java/io/mosip/biosdk/services/impl/spec_1_0/BioSdkServiceProviderImpl_V_1_0.java +++ b/biosdk-services/src/main/java/io/mosip/biosdk/services/impl/spec_1_0/BioSdkServiceProviderImpl_V_1_0.java @@ -53,7 +53,6 @@ public Object init(RequestDto request){ try { sdkInfo = iBioApi.init(initRequestDto.getInitParams()); } catch (Throwable e){ - e.printStackTrace(); logger.error(LOGGER_SESSIONID, LOGGER_IDTYPE,"init: ", e.toString()+" "+e.getMessage()); throw new BioSDKException(ErrorMessages.BIOSDK_LIB_EXCEPTION.toString(), ErrorMessages.BIOSDK_LIB_EXCEPTION.getMessage()+": "+e.getMessage()); } @@ -74,7 +73,6 @@ public Object checkQuality(RequestDto request) { checkQualityRequestDto.getFlags() ); } catch (Throwable e){ - e.printStackTrace(); logger.error(LOGGER_SESSIONID, LOGGER_IDTYPE,"checkQuality: ", e.toString()+" "+e.getMessage()); throw new BioSDKException(ErrorMessages.BIOSDK_LIB_EXCEPTION.toString(), ErrorMessages.BIOSDK_LIB_EXCEPTION.getMessage()+": "+e.toString()+" "+e.getMessage()); } @@ -96,7 +94,6 @@ public Object match(RequestDto request) { matchRequestDto.getFlags() ); } catch (Throwable e){ - e.printStackTrace(); logger.error(LOGGER_SESSIONID, LOGGER_IDTYPE,"match: ", e.toString()+" "+e.getMessage()); throw new BioSDKException(ErrorMessages.BIOSDK_LIB_EXCEPTION.toString(), ErrorMessages.BIOSDK_LIB_EXCEPTION.getMessage()+": "+e.toString()+" "+e.getMessage()); } @@ -117,7 +114,6 @@ public Object extractTemplate(RequestDto request) { extractTemplateRequestDto.getFlags() ); } catch (Throwable e){ - e.printStackTrace(); logger.error(LOGGER_SESSIONID, LOGGER_IDTYPE,"extractTemplate: ", e.toString()+" "+e.getMessage()); throw new BioSDKException(ErrorMessages.BIOSDK_LIB_EXCEPTION.toString(), ErrorMessages.BIOSDK_LIB_EXCEPTION.getMessage()+": "+e.toString()+" "+e.getMessage()); } @@ -138,7 +134,6 @@ public Object segment(RequestDto request) { segmentRequestDto.getFlags() ); } catch (Throwable e){ - e.printStackTrace(); logger.error(LOGGER_SESSIONID, LOGGER_IDTYPE,"segment: ", e.toString()+" "+e.getMessage()); throw new BioSDKException(ErrorMessages.BIOSDK_LIB_EXCEPTION.toString(), ErrorMessages.BIOSDK_LIB_EXCEPTION.getMessage()+": "+e.toString()+" "+e.getMessage()); } @@ -162,7 +157,6 @@ public Object convertFormat(RequestDto request) { convertFormatRequestDto.getModalitiesToConvert() ); } catch (Throwable e){ - e.printStackTrace(); logger.error(LOGGER_SESSIONID, LOGGER_IDTYPE,"convertFormat: ", e.toString()+" "+e.getMessage()); throw new BioSDKException(ErrorMessages.BIOSDK_LIB_EXCEPTION.toString(), ErrorMessages.BIOSDK_LIB_EXCEPTION.getMessage()+": "+e.toString()+" "+e.getMessage()); } @@ -173,7 +167,6 @@ private String decode(String data){ try { return Utils.base64Decode(data); } catch (RuntimeException e){ - e.printStackTrace(); logger.error(LOGGER_SESSIONID, LOGGER_IDTYPE,ErrorMessages.INVALID_REQUEST_BODY.toString(), e.toString()+" "+e.getMessage()); throw new BioSDKException(ErrorMessages.INVALID_REQUEST_BODY.toString(), ErrorMessages.INVALID_REQUEST_BODY.getMessage()+": "+e.toString()+" "+e.getMessage()); } From a93dc42971479594cfb7ca4f8314d6e96fa778eb Mon Sep 17 00:00:00 2001 From: Jaya Sai Krishna <138590923+JayaSaiKrishna11@users.noreply.github.com> Date: Thu, 15 Feb 2024 15:53:23 +0530 Subject: [PATCH 67/74] Sonar analysis bug fixed according to the report Signed-off-by: Jaya Sai Krishna <138590923+JayaSaiKrishna11@users.noreply.github.com> --- .../java/io/mosip/biosdk/services/controller/MainController.java | 1 - 1 file changed, 1 deletion(-) diff --git a/biosdk-services/src/main/java/io/mosip/biosdk/services/controller/MainController.java b/biosdk-services/src/main/java/io/mosip/biosdk/services/controller/MainController.java index b1c478ff..021bf169 100644 --- a/biosdk-services/src/main/java/io/mosip/biosdk/services/controller/MainController.java +++ b/biosdk-services/src/main/java/io/mosip/biosdk/services/controller/MainController.java @@ -37,7 +37,6 @@ @RestController @RequestMapping("/") @Api(tags = "Sdk") -@CrossOrigin("*") public class MainController { private Logger logger = LoggerConfig.logConfig(MainController.class); From 38a61410452c333aa6346334ece191a8b99df624 Mon Sep 17 00:00:00 2001 From: Jaya Sai Krishna <138590923+JayaSaiKrishna11@users.noreply.github.com> Date: Mon, 19 Feb 2024 15:10:36 +0530 Subject: [PATCH 68/74] MOSIP-31264 fixed in develop Signed-off-by: Jaya Sai Krishna <138590923+JayaSaiKrishna11@users.noreply.github.com> --- .../BioSdkServiceProviderImpl_V_1_0.java | 87 +++++- .../io/mosip/biosdk/services/utils/Utils.java | 293 +++++++++++++++++- 2 files changed, 368 insertions(+), 12 deletions(-) diff --git a/biosdk-services/src/main/java/io/mosip/biosdk/services/impl/spec_1_0/BioSdkServiceProviderImpl_V_1_0.java b/biosdk-services/src/main/java/io/mosip/biosdk/services/impl/spec_1_0/BioSdkServiceProviderImpl_V_1_0.java index cca6f094..bf8625ff 100644 --- a/biosdk-services/src/main/java/io/mosip/biosdk/services/impl/spec_1_0/BioSdkServiceProviderImpl_V_1_0.java +++ b/biosdk-services/src/main/java/io/mosip/biosdk/services/impl/spec_1_0/BioSdkServiceProviderImpl_V_1_0.java @@ -1,5 +1,10 @@ package io.mosip.biosdk.services.impl.spec_1_0; +import static io.mosip.biosdk.services.constants.AppConstants.LOGGER_IDTYPE; +import static io.mosip.biosdk.services.constants.AppConstants.LOGGER_SESSIONID; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Component; import com.google.gson.Gson; import com.google.gson.GsonBuilder; import io.mosip.biosdk.services.config.LoggerConfig; @@ -14,11 +19,6 @@ import io.mosip.kernel.biometrics.model.SDKInfo; import io.mosip.kernel.biometrics.spi.IBioApiV2; import io.mosip.kernel.core.logger.spi.Logger; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; - -import static io.mosip.biosdk.services.constants.AppConstants.LOGGER_IDTYPE; -import static io.mosip.biosdk.services.constants.AppConstants.LOGGER_SESSIONID; @Component public class BioSdkServiceProviderImpl_V_1_0 implements BioSdkServiceProvider { @@ -38,6 +38,9 @@ public class BioSdkServiceProviderImpl_V_1_0 implements BioSdkServiceProvider { private Gson gson = new GsonBuilder().serializeNulls().create(); + @Value("${mosip.biosdk.log-request-response-enabled:false}") + private boolean isLogRequestResponse; + @Override public String getSpecVersion() { return BIOSDK_SERVICE_SPEC_VERSION; @@ -51,7 +54,9 @@ public Object init(RequestDto request){ InitRequestDto initRequestDto = gson.fromJson(decryptedRequest, InitRequestDto.class); logger.debug(LOGGER_SESSIONID, LOGGER_IDTYPE,"init: ", "json to dto successful"); try { + logRequest(initRequestDto); sdkInfo = iBioApi.init(initRequestDto.getInitParams()); + logObject(sdkInfo); } catch (Throwable e){ logger.error(LOGGER_SESSIONID, LOGGER_IDTYPE,"init: ", e.toString()+" "+e.getMessage()); throw new BioSDKException(ErrorMessages.BIOSDK_LIB_EXCEPTION.toString(), ErrorMessages.BIOSDK_LIB_EXCEPTION.getMessage()+": "+e.getMessage()); @@ -67,11 +72,13 @@ public Object checkQuality(RequestDto request) { CheckQualityRequestDto checkQualityRequestDto = gson.fromJson(decryptedRequest, CheckQualityRequestDto.class); logger.debug(LOGGER_SESSIONID, LOGGER_IDTYPE,"checkQuality: ", "json to dto successful"); try { + logRequest(checkQualityRequestDto); response = iBioApi.checkQuality( checkQualityRequestDto.getSample(), checkQualityRequestDto.getModalitiesToCheck(), checkQualityRequestDto.getFlags() ); + logResponse(response); } catch (Throwable e){ logger.error(LOGGER_SESSIONID, LOGGER_IDTYPE,"checkQuality: ", e.toString()+" "+e.getMessage()); throw new BioSDKException(ErrorMessages.BIOSDK_LIB_EXCEPTION.toString(), ErrorMessages.BIOSDK_LIB_EXCEPTION.getMessage()+": "+e.toString()+" "+e.getMessage()); @@ -87,12 +94,14 @@ public Object match(RequestDto request) { MatchRequestDto matchRequestDto = gson.fromJson(decryptedRequest, MatchRequestDto.class); logger.debug(LOGGER_SESSIONID, LOGGER_IDTYPE,"match: ", "json to dto successful"); try { + logRequest(matchRequestDto); response = iBioApi.match( matchRequestDto.getSample(), matchRequestDto.getGallery(), matchRequestDto.getModalitiesToMatch(), matchRequestDto.getFlags() ); + logResponse(response); } catch (Throwable e){ logger.error(LOGGER_SESSIONID, LOGGER_IDTYPE,"match: ", e.toString()+" "+e.getMessage()); throw new BioSDKException(ErrorMessages.BIOSDK_LIB_EXCEPTION.toString(), ErrorMessages.BIOSDK_LIB_EXCEPTION.getMessage()+": "+e.toString()+" "+e.getMessage()); @@ -108,11 +117,13 @@ public Object extractTemplate(RequestDto request) { ExtractTemplateRequestDto extractTemplateRequestDto = gson.fromJson(decryptedRequest, ExtractTemplateRequestDto.class); logger.debug(LOGGER_SESSIONID, LOGGER_IDTYPE,"extractTemplate: ", "json to dto successful"); try { + logRequest(extractTemplateRequestDto); response = iBioApi.extractTemplate( extractTemplateRequestDto.getSample(), extractTemplateRequestDto.getModalitiesToExtract(), extractTemplateRequestDto.getFlags() ); + logResponse(response); } catch (Throwable e){ logger.error(LOGGER_SESSIONID, LOGGER_IDTYPE,"extractTemplate: ", e.toString()+" "+e.getMessage()); throw new BioSDKException(ErrorMessages.BIOSDK_LIB_EXCEPTION.toString(), ErrorMessages.BIOSDK_LIB_EXCEPTION.getMessage()+": "+e.toString()+" "+e.getMessage()); @@ -128,11 +139,13 @@ public Object segment(RequestDto request) { SegmentRequestDto segmentRequestDto = gson.fromJson(decryptedRequest, SegmentRequestDto.class); logger.debug(LOGGER_SESSIONID, LOGGER_IDTYPE,"segment: ", "json to dto successful"); try { + logRequest(segmentRequestDto); response = iBioApi.segment( segmentRequestDto.getSample(), segmentRequestDto.getModalitiesToSegment(), segmentRequestDto.getFlags() ); + logResponse(response); } catch (Throwable e){ logger.error(LOGGER_SESSIONID, LOGGER_IDTYPE,"segment: ", e.toString()+" "+e.getMessage()); throw new BioSDKException(ErrorMessages.BIOSDK_LIB_EXCEPTION.toString(), ErrorMessages.BIOSDK_LIB_EXCEPTION.getMessage()+": "+e.toString()+" "+e.getMessage()); @@ -142,12 +155,13 @@ public Object segment(RequestDto request) { @Override public Object convertFormat(RequestDto request) { - Response response = null; + Response response; String decryptedRequest = decode(request.getRequest()); logger.debug(LOGGER_SESSIONID, LOGGER_IDTYPE,"convertFormat: ", "decoding successful"); ConvertFormatRequestDto convertFormatRequestDto = gson.fromJson(decryptedRequest, ConvertFormatRequestDto.class); logger.debug(LOGGER_SESSIONID, LOGGER_IDTYPE,"convertFormat: ", "json to dto successful"); try { + logRequest(convertFormatRequestDto); response = iBioApi.convertFormatV2( convertFormatRequestDto.getSample(), convertFormatRequestDto.getSourceFormat(), @@ -156,12 +170,73 @@ public Object convertFormat(RequestDto request) { convertFormatRequestDto.getTargetParams(), convertFormatRequestDto.getModalitiesToConvert() ); + logResponse(response); } catch (Throwable e){ logger.error(LOGGER_SESSIONID, LOGGER_IDTYPE,"convertFormat: ", e.toString()+" "+e.getMessage()); throw new BioSDKException(ErrorMessages.BIOSDK_LIB_EXCEPTION.toString(), ErrorMessages.BIOSDK_LIB_EXCEPTION.getMessage()+": "+e.toString()+" "+e.getMessage()); } return response; } +private void logRequest(ExtractTemplateRequestDto extractTemplateRequestDto) { + if(isLogRequestResponse) { + logger.debug("REQUEST: " + serviceUtil.toString(extractTemplateRequestDto)); + } + } + + private void logRequest(MatchRequestDto matchRequestDto) { + if(isLogRequestResponse) { + logger.debug("REQUEST: " + serviceUtil.toString(matchRequestDto)); + } + } + + private void logRequest(InitRequestDto initRequestDto) { + if(isLogRequestResponse) { + logger.debug("REQUEST: " + serviceUtil.toString(initRequestDto)); + } + } + + private void logRequest(CheckQualityRequestDto checkQualityRequestDto) { + if(isLogRequestResponse) { + logger.debug("REQUEST: " + serviceUtil.toString(checkQualityRequestDto)); + } + } + + private void logRequest(SegmentRequestDto segmentRequestDto) { + if(isLogRequestResponse) { + logger.debug("REQUEST: " + serviceUtil.toString(segmentRequestDto)); + } + } + + private void logRequest(ConvertFormatRequestDto convertFormatRequestDto) { + if(isLogRequestResponse) { + logger.debug("REQUEST: " + serviceUtil.toString(convertFormatRequestDto)); + } + } + + private void logObject(T response) { + if(isLogRequestResponse) { + logger.debug(response.getClass() + ": " + gson.toJson(response)); + } + } + + private void logResponse(Response response) { + if(isLogRequestResponse) { + Object resp = response.getResponse(); + if(resp instanceof BiometricRecord) { + BiometricRecord biometricRecord = (BiometricRecord) resp; + logBiometricRecord("Response BiometricRecord: ", biometricRecord); + } else { + logger.debug("Response: " + gson.toJson(resp)); + } + } + } + + private void logBiometricRecord(String prefix, BiometricRecord biometricRecord) { + if(isLogRequestResponse) { + logger.debug(prefix + serviceUtil.toString(biometricRecord)); + } + } + private String decode(String data){ try { diff --git a/biosdk-services/src/main/java/io/mosip/biosdk/services/utils/Utils.java b/biosdk-services/src/main/java/io/mosip/biosdk/services/utils/Utils.java index cf46a6f9..b418f077 100644 --- a/biosdk-services/src/main/java/io/mosip/biosdk/services/utils/Utils.java +++ b/biosdk-services/src/main/java/io/mosip/biosdk/services/utils/Utils.java @@ -1,16 +1,32 @@ package io.mosip.biosdk.services.utils; +import java.nio.charset.StandardCharsets; +import java.time.LocalDateTime; +import java.util.Arrays; +import java.util.Base64; +import java.util.Date; +import java.util.Iterator; +import java.util.List; +import java.util.function.BiConsumer; -import com.google.gson.Gson; -import io.mosip.biosdk.services.dto.RequestDto; -import io.mosip.kernel.core.util.DateUtils; +import org.apache.commons.codec.digest.DigestUtils; import org.json.simple.parser.ParseException; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; -import java.nio.charset.StandardCharsets; -import java.util.Base64; -import java.util.Date; +import com.google.gson.Gson; +import io.mosip.biosdk.services.dto.RequestDto; +import io.mosip.biosdk.services.impl.spec_1_0.dto.request.CheckQualityRequestDto; +import io.mosip.biosdk.services.impl.spec_1_0.dto.request.ConvertFormatRequestDto; +import io.mosip.biosdk.services.impl.spec_1_0.dto.request.ExtractTemplateRequestDto; +import io.mosip.biosdk.services.impl.spec_1_0.dto.request.InitRequestDto; +import io.mosip.biosdk.services.impl.spec_1_0.dto.request.MatchRequestDto; +import io.mosip.biosdk.services.impl.spec_1_0.dto.request.SegmentRequestDto; +import io.mosip.kernel.biometrics.entities.BDBInfo; +import io.mosip.kernel.biometrics.entities.BIR; +import io.mosip.kernel.biometrics.entities.BIRInfo; +import io.mosip.kernel.biometrics.entities.BiometricRecord; +import io.mosip.kernel.core.util.DateUtils; @Component public class Utils { @Autowired @@ -29,4 +45,269 @@ public RequestDto getRequestInfo(String request) throws ParseException { public static String base64Decode(String data){ return new String(Base64.getDecoder().decode(data), StandardCharsets.UTF_8); } + +public String toString(BiometricRecord biometricRecord) { + if(biometricRecord == null) { + return "null"; + } + + StringBuilder stringBuilder = new StringBuilder(); + appendString(biometricRecord, stringBuilder); + return stringBuilder.toString(); + } + + private void appendString(BiometricRecord biometricRecord, StringBuilder stringBuilder) { + if(biometricRecord == null) { + stringBuilder.append("null"); + } else { + stringBuilder.append("{"); + stringBuilder.append(" \"_modelClass\": \"BiometricRecord\""); + stringBuilder.append(", \"birInfo\": "); + stringBuilder.append(toString(biometricRecord.getBirInfo())); + stringBuilder.append(", \"cbeffversion\":"); + stringBuilder.append(stringOf(biometricRecord.getCbeffversion())); + stringBuilder.append(", \"version\":"); + stringBuilder.append(stringOf(biometricRecord.getVersion())); + stringBuilder.append(", \"segments\":"); + List segments = biometricRecord.getSegments(); + if(segments == null) { + stringBuilder.append("null"); + } else { + appendString(segments.stream().iterator(), stringBuilder, this::appendString); + } + stringBuilder.append(" }"); + } + } + + private String stringOf(Object obj) { + return obj == null ? "null" : gson.toJson(obj); + } + + private void appendString(Iterator iterator, StringBuilder stringBuilder, BiConsumer appendBiConsumer) { + stringBuilder.append("[ "); + while (iterator.hasNext()) { + T element = iterator.next(); + appendBiConsumer.accept(element, stringBuilder); + if(iterator.hasNext()) { + stringBuilder.append(", "); + } + } + stringBuilder.append(" ]"); + } + + private void appendString(BIR bir, StringBuilder stringBuilder) { + if(bir == null) { + stringBuilder.append("null"); + } else { + stringBuilder.append("{"); + stringBuilder.append(" \"_modelClass\": \"BIR\""); + stringBuilder.append(", \"bdbInfo\": "); + stringBuilder.append(toString(bir.getBdbInfo())); + stringBuilder.append(", \"birInfo\": "); + stringBuilder.append(toString(bir.getBirInfo())); + stringBuilder.append(", \"cbeffversion\": "); + stringBuilder.append(stringOf(bir.getCbeffversion())); + stringBuilder.append(", \"others\": "); + stringBuilder.append(stringOf(bir.getOthers())); + stringBuilder.append(", \"sbHash\": "); + stringBuilder.append(getHashOfBytes(bir.getSb())); + stringBuilder.append(", \"sbInfo\": "); + stringBuilder.append(stringOf(bir.getSbInfo())); + stringBuilder.append(", \"version\": "); + stringBuilder.append(stringOf(bir.getVersion())); + stringBuilder.append(", \"bdbHash\": "); + stringBuilder.append(getHashOfBytes(bir.getBdb())); + stringBuilder.append(" }"); + } + } + + private static String getHashOfBytes(byte[] byteArray) { + return byteArray == null ? "null" : "\""+ DigestUtils.sha256Hex(byteArray) + "\""; + } + + public String toString(ExtractTemplateRequestDto extractTemplateRequestDto) { + if(extractTemplateRequestDto == null) { + return "null"; + } + StringBuilder stringBuilder = new StringBuilder(); + stringBuilder.append("{"); + stringBuilder.append(" \"_modelClass\": \"ExtractTemplateRequestDto\""); + stringBuilder.append(", \"flags\":"); + stringBuilder.append(stringOf(extractTemplateRequestDto.getFlags())); + stringBuilder.append(", \"modalitiesToExtract\": "); + stringBuilder.append(stringOf(extractTemplateRequestDto.getModalitiesToExtract())); + stringBuilder.append(", \"sample\": "); + appendString(extractTemplateRequestDto.getSample(), stringBuilder); + stringBuilder.append(" }"); + return stringBuilder.toString(); + } + + public String toString(MatchRequestDto matchRequestDto) { + if(matchRequestDto == null) { + return "null"; + } + StringBuilder stringBuilder = new StringBuilder(); + stringBuilder.append("{"); + stringBuilder.append(" \"_modelClass\": \"MatchRequestDto\""); + stringBuilder.append(", \"flags\":"); + stringBuilder.append(stringOf(matchRequestDto.getFlags())); + stringBuilder.append(", \"modalitiesToMatch\": "); + stringBuilder.append(stringOf(matchRequestDto.getModalitiesToMatch())); + stringBuilder.append(", \"sample\": "); + appendString(matchRequestDto.getSample(), stringBuilder); + stringBuilder.append(", \"gallery\": "); + appendString(Arrays.stream(matchRequestDto.getGallery()).iterator(), stringBuilder, this::appendString); + stringBuilder.append(" }"); + return stringBuilder.toString(); + } + + public String toString(InitRequestDto initRequestDto) { + if(initRequestDto == null) { + return "null"; + } + StringBuilder stringBuilder = new StringBuilder(); + stringBuilder.append("{"); + stringBuilder.append(" \"_modelClass\": \"InitRequestDto\""); + stringBuilder.append(", \"initParams\":"); + stringBuilder.append(stringOf(initRequestDto)); + stringBuilder.append(" }"); + return stringBuilder.toString(); + } + + public String toString(CheckQualityRequestDto checkQualityRequestDto) { + if(checkQualityRequestDto == null) { + return "null"; + } + StringBuilder stringBuilder = new StringBuilder(); + stringBuilder.append("{"); + stringBuilder.append(" \"_modelClass\": \"CheckQualityRequestDto\""); + stringBuilder.append(", \"flags\":"); + stringBuilder.append(stringOf(checkQualityRequestDto.getFlags())); + stringBuilder.append(", \"modalitiesToCheck\": "); + stringBuilder.append(stringOf(checkQualityRequestDto.getModalitiesToCheck())); + stringBuilder.append(", \"sample\": "); + appendString(checkQualityRequestDto.getSample(), stringBuilder); + stringBuilder.append(" }"); + return stringBuilder.toString(); + } + + public String toString(SegmentRequestDto segmentRequestDto) { + if(segmentRequestDto == null) { + return "null"; + } + StringBuilder stringBuilder = new StringBuilder(); + stringBuilder.append("{"); + stringBuilder.append(" \"_modelClass\": \"SegmentRequestDto\""); + stringBuilder.append(", \"flags\":"); + stringBuilder.append(stringOf(segmentRequestDto.getFlags())); + stringBuilder.append(", \"modalitiesToSegment\": "); + stringBuilder.append(stringOf(segmentRequestDto.getModalitiesToSegment())); + stringBuilder.append(", \"sample\": "); + appendString(segmentRequestDto.getSample(), stringBuilder); + stringBuilder.append(" }"); + return stringBuilder.toString(); + } + + public String toString(ConvertFormatRequestDto convertFormatRequestDto) { + if(convertFormatRequestDto == null) { + return "null"; + } + StringBuilder stringBuilder = new StringBuilder(); + stringBuilder.append("{"); + stringBuilder.append(" \"_modelClass\": \"ConvertFormatRequestDto\""); + stringBuilder.append(", \"sourceFormat\":"); + stringBuilder.append(stringOf(convertFormatRequestDto.getSourceFormat())); + stringBuilder.append(", \"targetFormat\": "); + stringBuilder.append(stringOf(convertFormatRequestDto.getTargetFormat())); + stringBuilder.append(", \"modalitiesToConvert\": "); + stringBuilder.append(stringOf(convertFormatRequestDto.getModalitiesToConvert())); + stringBuilder.append(", \"sample\": "); + appendString(convertFormatRequestDto.getSample(), stringBuilder); + stringBuilder.append(", \"sourceParams\":"); + stringBuilder.append(stringOf(convertFormatRequestDto.getSourceParams())); + stringBuilder.append(", \"targetParams\": "); + stringBuilder.append(stringOf(convertFormatRequestDto.getTargetParams())); + appendString(convertFormatRequestDto.getSample(), stringBuilder); + stringBuilder.append(" }"); + return stringBuilder.toString(); + } + + public String toString(BDBInfo bdbInfo) { + if(bdbInfo == null) { + return "null"; + } + StringBuilder stringBuilder = new StringBuilder(); + stringBuilder.append("{"); + stringBuilder.append(" \"_modelClass\": \"BDBInfo\""); + stringBuilder.append(", \"challengeResponseHash\":"); + stringBuilder.append(getHashOfBytes(bdbInfo.getChallengeResponse())); + stringBuilder.append(", \"index\": "); + stringBuilder.append(stringOf(bdbInfo.getIndex())); + stringBuilder.append(", \"format\": "); + stringBuilder.append(stringOf(bdbInfo.getFormat())); + stringBuilder.append(", \"encryption\":"); + stringBuilder.append(booleanAsString(bdbInfo.getEncryption())); + stringBuilder.append(", \"creationDate\": "); + stringBuilder.append(stringOf(dateAsString(bdbInfo.getCreationDate()))); + stringBuilder.append(", \"notValidBefore\": "); + stringBuilder.append(stringOf(dateAsString(bdbInfo.getNotValidBefore()))); + stringBuilder.append(", \"notValidAfter\": "); + stringBuilder.append(stringOf(dateAsString(bdbInfo.getNotValidAfter()))); + stringBuilder.append(", \"type\": "); + stringBuilder.append(stringOf(bdbInfo.getType())); + stringBuilder.append(", \"subtype\": "); + stringBuilder.append(stringOf(bdbInfo.getSubtype())); + stringBuilder.append(", \"level\": "); + stringBuilder.append(stringOf(bdbInfo.getLevel())); + stringBuilder.append(", \"product\": "); + stringBuilder.append(stringOf(bdbInfo.getProduct())); + stringBuilder.append(", \"captureDevice\": "); + stringBuilder.append(stringOf(bdbInfo.getCaptureDevice())); + stringBuilder.append(", \"featureExtractionAlgorithm\": "); + stringBuilder.append(stringOf(bdbInfo.getFeatureExtractionAlgorithm())); + stringBuilder.append(", \"comparisonAlgorithm\": "); + stringBuilder.append(stringOf(bdbInfo.getComparisonAlgorithm())); + stringBuilder.append(", \"compressionAlgorithm\": "); + stringBuilder.append(stringOf(bdbInfo.getCompressionAlgorithm())); + stringBuilder.append(", \"purpose\": "); + stringBuilder.append(stringOf(bdbInfo.getPurpose())); + stringBuilder.append(", \"quality\": "); + stringBuilder.append(stringOf(bdbInfo.getQuality())); + stringBuilder.append(" }"); + return stringBuilder.toString(); + } + + public String toString(BIRInfo birInfo) { + if(birInfo == null) { + return "null"; + } + StringBuilder stringBuilder = new StringBuilder(); + stringBuilder.append("{"); + stringBuilder.append(" \"_modelClass\": \"BIRInfo\""); + stringBuilder.append(", \"creator\": "); + stringBuilder.append(stringOf(birInfo.getCreator())); + stringBuilder.append(", \"index\": "); + stringBuilder.append(stringOf(birInfo.getIndex())); + stringBuilder.append(", \"payloadHash\":"); + stringBuilder.append(getHashOfBytes(birInfo.getPayload())); + stringBuilder.append(", \"integrity\":"); + stringBuilder.append(booleanAsString(birInfo.getIntegrity())); + stringBuilder.append(", \"creationDate\": "); + stringBuilder.append(stringOf(dateAsString(birInfo.getCreationDate()))); + stringBuilder.append(", \"notValidBefore\": "); + stringBuilder.append(stringOf(dateAsString(birInfo.getNotValidBefore()))); + stringBuilder.append(", \"notValidAfter\": "); + stringBuilder.append(stringOf(dateAsString(birInfo.getNotValidAfter()))); + stringBuilder.append(" }"); + return stringBuilder.toString(); + } + + private String dateAsString(LocalDateTime localDateTime) { + return localDateTime == null ? "null" : DateUtils.formatToISOString(localDateTime); + } + + private static String booleanAsString(Boolean bool) { + return bool == null ? "null" : Boolean.toString(bool); + } } + From 6b6e4980d249739bec209f691a7701fdbcec4e5a Mon Sep 17 00:00:00 2001 From: Jaya Sai Krishna <138590923+JayaSaiKrishna11@users.noreply.github.com> Date: Mon, 19 Feb 2024 15:32:54 +0530 Subject: [PATCH 69/74] Revert sonar changes Signed-off-by: Jaya Sai Krishna <138590923+JayaSaiKrishna11@users.noreply.github.com> --- .../java/io/mosip/biosdk/services/controller/MainController.java | 1 + 1 file changed, 1 insertion(+) diff --git a/biosdk-services/src/main/java/io/mosip/biosdk/services/controller/MainController.java b/biosdk-services/src/main/java/io/mosip/biosdk/services/controller/MainController.java index 021bf169..b1c478ff 100644 --- a/biosdk-services/src/main/java/io/mosip/biosdk/services/controller/MainController.java +++ b/biosdk-services/src/main/java/io/mosip/biosdk/services/controller/MainController.java @@ -37,6 +37,7 @@ @RestController @RequestMapping("/") @Api(tags = "Sdk") +@CrossOrigin("*") public class MainController { private Logger logger = LoggerConfig.logConfig(MainController.class); From f7041ef92700e8024903d0392a93266d81d2dff4 Mon Sep 17 00:00:00 2001 From: Jaya Sai Krishna <138590923+JayaSaiKrishna11@users.noreply.github.com> Date: Mon, 19 Feb 2024 15:39:23 +0530 Subject: [PATCH 70/74] Sonar changes regarding the DSD-4595 Signed-off-by: Jaya Sai Krishna <138590923+JayaSaiKrishna11@users.noreply.github.com> --- .../java/io/mosip/biosdk/services/controller/MainController.java | 1 - 1 file changed, 1 deletion(-) diff --git a/biosdk-services/src/main/java/io/mosip/biosdk/services/controller/MainController.java b/biosdk-services/src/main/java/io/mosip/biosdk/services/controller/MainController.java index b1c478ff..021bf169 100644 --- a/biosdk-services/src/main/java/io/mosip/biosdk/services/controller/MainController.java +++ b/biosdk-services/src/main/java/io/mosip/biosdk/services/controller/MainController.java @@ -37,7 +37,6 @@ @RestController @RequestMapping("/") @Api(tags = "Sdk") -@CrossOrigin("*") public class MainController { private Logger logger = LoggerConfig.logConfig(MainController.class); From 20758b6c725a9dfd7d96c23bcb8a39af8dfe7783 Mon Sep 17 00:00:00 2001 From: Loganathan Sekar Date: Thu, 22 Feb 2024 18:15:00 +0530 Subject: [PATCH 71/74] Revert csrf fix Signed-off-by: Loganathan Sekar --- .../java/io/mosip/biosdk/services/config/SecurityConfig.java | 2 +- .../io/mosip/biosdk/services/controller/MainController.java | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/biosdk-services/src/main/java/io/mosip/biosdk/services/config/SecurityConfig.java b/biosdk-services/src/main/java/io/mosip/biosdk/services/config/SecurityConfig.java index 927a1348..d0bf63d7 100644 --- a/biosdk-services/src/main/java/io/mosip/biosdk/services/config/SecurityConfig.java +++ b/biosdk-services/src/main/java/io/mosip/biosdk/services/config/SecurityConfig.java @@ -13,7 +13,7 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter { protected void configure(HttpSecurity security) throws Exception { security.httpBasic().disable(); - //security.csrf().disable(); + security.csrf().disable(); } } \ No newline at end of file diff --git a/biosdk-services/src/main/java/io/mosip/biosdk/services/controller/MainController.java b/biosdk-services/src/main/java/io/mosip/biosdk/services/controller/MainController.java index 021bf169..b1c478ff 100644 --- a/biosdk-services/src/main/java/io/mosip/biosdk/services/controller/MainController.java +++ b/biosdk-services/src/main/java/io/mosip/biosdk/services/controller/MainController.java @@ -37,6 +37,7 @@ @RestController @RequestMapping("/") @Api(tags = "Sdk") +@CrossOrigin("*") public class MainController { private Logger logger = LoggerConfig.logConfig(MainController.class); From 5715e7c231823bce607425aad53216052803c9f9 Mon Sep 17 00:00:00 2001 From: Jaya Sai Krishna <138590923+JayaSaiKrishna11@users.noreply.github.com> Date: Thu, 29 Feb 2024 14:03:19 +0530 Subject: [PATCH 72/74] MOSIP-31264: BioSDK changes has fixed Signed-off-by: Jaya Sai Krishna <138590923+JayaSaiKrishna11@users.noreply.github.com> --- biosdk-services/.classpath | 32 +++++++++++++++++ biosdk-services/.project | 23 ++++++++++++ .../.settings/org.eclipse.jdt.core.prefs | 8 +++++ .../.settings/org.eclipse.m2e.core.prefs | 4 +++ biosdk-services/Dockerfile | 6 +++- .../biosdk/services/config/LoggerConfig.java | 21 ++--------- .../BioSdkServiceProviderImpl_V_1_0.java | 36 ++++++++++--------- .../io/mosip/biosdk/services/utils/Utils.java | 11 +++--- .../resources/application-local.properties | 4 --- .../src/main/resources/application.properties | 33 +++++++++++++++++ .../src/main/resources/bootstrap.properties | 20 +++++++++-- 11 files changed, 150 insertions(+), 48 deletions(-) create mode 100644 biosdk-services/.classpath create mode 100644 biosdk-services/.project create mode 100644 biosdk-services/.settings/org.eclipse.jdt.core.prefs create mode 100644 biosdk-services/.settings/org.eclipse.m2e.core.prefs diff --git a/biosdk-services/.classpath b/biosdk-services/.classpath new file mode 100644 index 00000000..234db15b --- /dev/null +++ b/biosdk-services/.classpath @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/biosdk-services/.project b/biosdk-services/.project new file mode 100644 index 00000000..f8fcdc4b --- /dev/null +++ b/biosdk-services/.project @@ -0,0 +1,23 @@ + + + biosdk-services + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.m2e.core.maven2Builder + + + + + + org.eclipse.jdt.core.javanature + org.eclipse.m2e.core.maven2Nature + + diff --git a/biosdk-services/.settings/org.eclipse.jdt.core.prefs b/biosdk-services/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 00000000..2af1e7b9 --- /dev/null +++ b/biosdk-services/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,8 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=11 +org.eclipse.jdt.core.compiler.compliance=11 +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled +org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=ignore +org.eclipse.jdt.core.compiler.release=disabled +org.eclipse.jdt.core.compiler.source=11 diff --git a/biosdk-services/.settings/org.eclipse.m2e.core.prefs b/biosdk-services/.settings/org.eclipse.m2e.core.prefs new file mode 100644 index 00000000..f897a7f1 --- /dev/null +++ b/biosdk-services/.settings/org.eclipse.m2e.core.prefs @@ -0,0 +1,4 @@ +activeProfiles= +eclipse.preferences.version=1 +resolveWorkspaceProjects=true +version=1 diff --git a/biosdk-services/Dockerfile b/biosdk-services/Dockerfile index cb167333..e802cfd0 100644 --- a/biosdk-services/Dockerfile +++ b/biosdk-services/Dockerfile @@ -46,6 +46,10 @@ ENV biosdk_local_dir_name=${biosdk_local_dir} ARG sdk_impl +ARG service_context=/biosdk-service + +ENV service_context_env=${service_context} + #ENV biosdk_zip_url=$biosdk_zip_url ENV biosdk_bioapi_impl=${sdk_impl} @@ -101,4 +105,4 @@ EXPOSE 9099 ENTRYPOINT [ "./configure_biosdk.sh" ] CMD echo $biosdk_bioapi_impl ; \ -java -Dloader.path="${loader_path_env}" -Dbiosdk_bioapi_impl="${biosdk_bioapi_impl}" -Dlogging.level.root=${logging_level_root_env} -jar -Dspring.cloud.config.label="${spring_config_label_env}" -Dspring.profiles.active="${active_profile_env}" -Dspring.cloud.config.uri="${spring_config_url_env}" -Dspring.application.name="${spring_application_name_env}" -Dspring.cloud.config.name=${spring_cloud_config_name_env} -Dserver.servlet.context-path=${server_servlet_context_env} biosdk-services.jar +java -Dloader.path="${loader_path_env}" -Dspring.cloud.config.label="${spring_config_label_env}" -Dspring.profiles.active="${active_profile_env}" -Dspring.cloud.config.uri="${spring_config_url_env}" -jar biosdk-services.jar diff --git a/biosdk-services/src/main/java/io/mosip/biosdk/services/config/LoggerConfig.java b/biosdk-services/src/main/java/io/mosip/biosdk/services/config/LoggerConfig.java index 0e700fa1..e40bbab9 100644 --- a/biosdk-services/src/main/java/io/mosip/biosdk/services/config/LoggerConfig.java +++ b/biosdk-services/src/main/java/io/mosip/biosdk/services/config/LoggerConfig.java @@ -1,7 +1,6 @@ package io.mosip.biosdk.services.config; import io.mosip.kernel.core.logger.spi.Logger; -import io.mosip.kernel.logger.logback.appender.RollingFileAppender; import io.mosip.kernel.logger.logback.factory.Logfactory; public final class LoggerConfig { @@ -13,24 +12,8 @@ private LoggerConfig() { } - - /** The mosip rolling file appender. */ - private final static RollingFileAppender MOSIP_ROLLING_APPENDER = new RollingFileAppender(); - - static { - MOSIP_ROLLING_APPENDER.setAppend(true); - MOSIP_ROLLING_APPENDER.setAppenderName("org.apache.log4j.RollingFileAppender"); - MOSIP_ROLLING_APPENDER.setFileName("./logs/biosdk-service.log"); - MOSIP_ROLLING_APPENDER.setFileNamePattern("./logs/biosdk-service-%d{yyyy-MM-dd}-%i.log"); - MOSIP_ROLLING_APPENDER.setImmediateFlush(true); - MOSIP_ROLLING_APPENDER.setMaxFileSize("50mb"); -// mosipRollingFileAppender.setMaxHistory(3); - MOSIP_ROLLING_APPENDER.setPrudent(false); -// mosipRollingFileAppender.setTotalCap("50mb"); - } - public static Logger logConfig(Class clazz) { - return Logfactory.getDefaultRollingFileLogger(MOSIP_ROLLING_APPENDER, clazz); + return Logfactory.getSlf4jLogger(clazz); } -} +} \ No newline at end of file diff --git a/biosdk-services/src/main/java/io/mosip/biosdk/services/impl/spec_1_0/BioSdkServiceProviderImpl_V_1_0.java b/biosdk-services/src/main/java/io/mosip/biosdk/services/impl/spec_1_0/BioSdkServiceProviderImpl_V_1_0.java index bf8625ff..7e9f1760 100644 --- a/biosdk-services/src/main/java/io/mosip/biosdk/services/impl/spec_1_0/BioSdkServiceProviderImpl_V_1_0.java +++ b/biosdk-services/src/main/java/io/mosip/biosdk/services/impl/spec_1_0/BioSdkServiceProviderImpl_V_1_0.java @@ -1,10 +1,5 @@ package io.mosip.biosdk.services.impl.spec_1_0; -import static io.mosip.biosdk.services.constants.AppConstants.LOGGER_IDTYPE; -import static io.mosip.biosdk.services.constants.AppConstants.LOGGER_SESSIONID; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.stereotype.Component; import com.google.gson.Gson; import com.google.gson.GsonBuilder; import io.mosip.biosdk.services.config.LoggerConfig; @@ -19,6 +14,12 @@ import io.mosip.kernel.biometrics.model.SDKInfo; import io.mosip.kernel.biometrics.spi.IBioApiV2; import io.mosip.kernel.core.logger.spi.Logger; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Component; + +import static io.mosip.biosdk.services.constants.AppConstants.LOGGER_IDTYPE; +import static io.mosip.biosdk.services.constants.AppConstants.LOGGER_SESSIONID; @Component public class BioSdkServiceProviderImpl_V_1_0 implements BioSdkServiceProvider { @@ -37,7 +38,7 @@ public class BioSdkServiceProviderImpl_V_1_0 implements BioSdkServiceProvider { private Utils serviceUtil; private Gson gson = new GsonBuilder().serializeNulls().create(); - + @Value("${mosip.biosdk.log-request-response-enabled:false}") private boolean isLogRequestResponse; @@ -54,17 +55,18 @@ public Object init(RequestDto request){ InitRequestDto initRequestDto = gson.fromJson(decryptedRequest, InitRequestDto.class); logger.debug(LOGGER_SESSIONID, LOGGER_IDTYPE,"init: ", "json to dto successful"); try { - logRequest(initRequestDto); + logRequest(initRequestDto); sdkInfo = iBioApi.init(initRequestDto.getInitParams()); logObject(sdkInfo); } catch (Throwable e){ + e.printStackTrace(); logger.error(LOGGER_SESSIONID, LOGGER_IDTYPE,"init: ", e.toString()+" "+e.getMessage()); throw new BioSDKException(ErrorMessages.BIOSDK_LIB_EXCEPTION.toString(), ErrorMessages.BIOSDK_LIB_EXCEPTION.getMessage()+": "+e.getMessage()); } return sdkInfo; } - @Override + @Override public Object checkQuality(RequestDto request) { Response response; String decryptedRequest = decode(request.getRequest()); @@ -72,7 +74,7 @@ public Object checkQuality(RequestDto request) { CheckQualityRequestDto checkQualityRequestDto = gson.fromJson(decryptedRequest, CheckQualityRequestDto.class); logger.debug(LOGGER_SESSIONID, LOGGER_IDTYPE,"checkQuality: ", "json to dto successful"); try { - logRequest(checkQualityRequestDto); + logRequest(checkQualityRequestDto); response = iBioApi.checkQuality( checkQualityRequestDto.getSample(), checkQualityRequestDto.getModalitiesToCheck(), @@ -94,7 +96,7 @@ public Object match(RequestDto request) { MatchRequestDto matchRequestDto = gson.fromJson(decryptedRequest, MatchRequestDto.class); logger.debug(LOGGER_SESSIONID, LOGGER_IDTYPE,"match: ", "json to dto successful"); try { - logRequest(matchRequestDto); + logRequest(matchRequestDto); response = iBioApi.match( matchRequestDto.getSample(), matchRequestDto.getGallery(), @@ -117,7 +119,7 @@ public Object extractTemplate(RequestDto request) { ExtractTemplateRequestDto extractTemplateRequestDto = gson.fromJson(decryptedRequest, ExtractTemplateRequestDto.class); logger.debug(LOGGER_SESSIONID, LOGGER_IDTYPE,"extractTemplate: ", "json to dto successful"); try { - logRequest(extractTemplateRequestDto); + logRequest(extractTemplateRequestDto); response = iBioApi.extractTemplate( extractTemplateRequestDto.getSample(), extractTemplateRequestDto.getModalitiesToExtract(), @@ -131,7 +133,7 @@ public Object extractTemplate(RequestDto request) { return response; } - @Override + @Override public Object segment(RequestDto request) { Response response; String decryptedRequest = decode(request.getRequest()); @@ -139,7 +141,7 @@ public Object segment(RequestDto request) { SegmentRequestDto segmentRequestDto = gson.fromJson(decryptedRequest, SegmentRequestDto.class); logger.debug(LOGGER_SESSIONID, LOGGER_IDTYPE,"segment: ", "json to dto successful"); try { - logRequest(segmentRequestDto); + logRequest(segmentRequestDto); response = iBioApi.segment( segmentRequestDto.getSample(), segmentRequestDto.getModalitiesToSegment(), @@ -153,7 +155,7 @@ public Object segment(RequestDto request) { return response; } - @Override + @Override public Object convertFormat(RequestDto request) { Response response; String decryptedRequest = decode(request.getRequest()); @@ -177,7 +179,8 @@ public Object convertFormat(RequestDto request) { } return response; } -private void logRequest(ExtractTemplateRequestDto extractTemplateRequestDto) { + + private void logRequest(ExtractTemplateRequestDto extractTemplateRequestDto) { if(isLogRequestResponse) { logger.debug("REQUEST: " + serviceUtil.toString(extractTemplateRequestDto)); } @@ -237,7 +240,6 @@ private void logBiometricRecord(String prefix, BiometricRecord biometricRecord) } } - private String decode(String data){ try { return Utils.base64Decode(data); @@ -246,4 +248,4 @@ private String decode(String data){ throw new BioSDKException(ErrorMessages.INVALID_REQUEST_BODY.toString(), ErrorMessages.INVALID_REQUEST_BODY.getMessage()+": "+e.toString()+" "+e.getMessage()); } } -} +} \ No newline at end of file diff --git a/biosdk-services/src/main/java/io/mosip/biosdk/services/utils/Utils.java b/biosdk-services/src/main/java/io/mosip/biosdk/services/utils/Utils.java index b418f077..f6eea9d4 100644 --- a/biosdk-services/src/main/java/io/mosip/biosdk/services/utils/Utils.java +++ b/biosdk-services/src/main/java/io/mosip/biosdk/services/utils/Utils.java @@ -1,4 +1,5 @@ package io.mosip.biosdk.services.utils; + import java.nio.charset.StandardCharsets; import java.time.LocalDateTime; import java.util.Arrays; @@ -27,6 +28,7 @@ import io.mosip.kernel.biometrics.entities.BIRInfo; import io.mosip.kernel.biometrics.entities.BiometricRecord; import io.mosip.kernel.core.util.DateUtils; + @Component public class Utils { @Autowired @@ -42,11 +44,11 @@ public RequestDto getRequestInfo(String request) throws ParseException { return gson.fromJson(request, RequestDto.class); } - public static String base64Decode(String data){ + public static String base64Decode(String data){ return new String(Base64.getDecoder().decode(data), StandardCharsets.UTF_8); } - -public String toString(BiometricRecord biometricRecord) { + + public String toString(BiometricRecord biometricRecord) { if(biometricRecord == null) { return "null"; } @@ -309,5 +311,4 @@ private String dateAsString(LocalDateTime localDateTime) { private static String booleanAsString(Boolean bool) { return bool == null ? "null" : Boolean.toString(bool); } -} - +} \ No newline at end of file diff --git a/biosdk-services/src/main/resources/application-local.properties b/biosdk-services/src/main/resources/application-local.properties index 36cb544a..f8651016 100644 --- a/biosdk-services/src/main/resources/application-local.properties +++ b/biosdk-services/src/main/resources/application-local.properties @@ -1,7 +1,3 @@ -server.servlet.context-path= -spring.application.name= -spring.cloud.config.name= - #iam mock-sdk config sdk_check_iso_timestamp_format=true biosdk_class=io.mosip.mock.sdk.impl.SampleSDKV2 diff --git a/biosdk-services/src/main/resources/application.properties b/biosdk-services/src/main/resources/application.properties index e69de29b..60c3d459 100644 --- a/biosdk-services/src/main/resources/application.properties +++ b/biosdk-services/src/main/resources/application.properties @@ -0,0 +1,33 @@ +server.port=9099 +spring.cloud.config.enabled=true +security.basic.enabled=false +server.servlet.context-path=/biosdk-service +biosdk_bioapi_impl=io.mosip.mock.sdk.impl.SampleSDKV2 +#logging.level.org.springframework=DEBUG +spring.application.name=biosdk-service +spring.cloud.config.name=application,biosdk-service +spring.profiles.active=default +spring.cloud.config.label=master + + +## Tomcat access logs +server.tomcat.accesslog.enabled=true +server.tomcat.accesslog.directory=/dev +server.tomcat.accesslog.prefix=stdout +server.tomcat.accesslog.buffered=false +server.tomcat.accesslog.suffix= +server.tomcat.accesslog.file-date-format= +server.tomcat.accesslog.pattern={"@timestamp":"%{yyyy-MM-dd'T'HH:mm:ss.SSS'Z'}t","level":"ACCESS","level_value":70000,"traceId":"%{X-B3-TraceId}i","statusCode":%s,"req.requestURI":"%U","bytesSent":%b,"timeTaken":%T,"appName":"${spring.application.name}","req.userAgent":"%{User-Agent}i","req.xForwardedFor":"%{X-Forwarded-For}i","req.referer":"%{Referer}i","req.method":"%m","req.remoteHost":"%a"} +server.tomcat.accesslog.className=io.mosip.kernel.core.logger.config.SleuthValve + + +mosip.role.biosdk.getservicestatus=REGISTRATION_PROCESSOR +health.config.enabled=false +management.security.enable=false +management.endpoint.health.show-details=always +management.endpoints.web.exposure.include=info,health,refresh,mappings,env +management.endpoint.metrics.enabled=true +management.endpoint.prometheus.enabled=true +management.metrics.export.prometheus.enabled=true + +logging.level.root=INFO \ No newline at end of file diff --git a/biosdk-services/src/main/resources/bootstrap.properties b/biosdk-services/src/main/resources/bootstrap.properties index aef5f33f..d30aa7d5 100644 --- a/biosdk-services/src/main/resources/bootstrap.properties +++ b/biosdk-services/src/main/resources/bootstrap.properties @@ -1,14 +1,30 @@ spring.cloud.config.uri=http://localhost:51000/config spring.cloud.config.label=master spring.profiles.active=default +spring.application.name=biosdk-service +spring.cloud.config.name=application,biosdk-service server.port=9099 security.basic.enabled=false +server.servlet.context-path=/biosdk-service spring.cloud.config.enabled=true -health.config.enabled=true +server.servlet.context-path=/biosdk-service +health.config.enabled=false management.security.enable=false management.endpoint.health.show-details=always -management.endpoints.web.exposure.include=info,health,refresh,mappings +management.endpoints.web.exposure.include=info,health,refresh,mappings,env management.endpoint.metrics.enabled=true management.endpoint.prometheus.enabled=true management.metrics.export.prometheus.enabled=true + +#logging.level.org.springframework=DEBUG + +#iam mock-sdk config +sdk_check_iso_timestamp_format=true +mosip.role.biosdk.getservicestatus=REGISTRATION_PROCESSOR +biosdk_bioapi_impl=io.mosip.mock.sdk.impl.SampleSDKV2 + +#iam image-compressor config +mosip.bio.image.compressor.resize.factor.fx=0.25 +mosip.bio.image.compressor.resize.factor.fy=0.25 +mosip.bio.image.compressor.compression.ratio=50 From 16d9f38229669c78cab1348eced7a68fc4f0dac9 Mon Sep 17 00:00:00 2001 From: Jaya Sai Krishna <138590923+JayaSaiKrishna11@users.noreply.github.com> Date: Mon, 4 Mar 2024 13:05:37 +0530 Subject: [PATCH 73/74] Revert "MOSIP-31264: BioSDK changes has fixed" This reverts commit 5715e7c231823bce607425aad53216052803c9f9. --- biosdk-services/.classpath | 32 ----------------- biosdk-services/.project | 23 ------------ .../.settings/org.eclipse.jdt.core.prefs | 8 ----- .../.settings/org.eclipse.m2e.core.prefs | 4 --- biosdk-services/Dockerfile | 6 +--- .../biosdk/services/config/LoggerConfig.java | 21 +++++++++-- .../BioSdkServiceProviderImpl_V_1_0.java | 36 +++++++++---------- .../io/mosip/biosdk/services/utils/Utils.java | 11 +++--- .../resources/application-local.properties | 4 +++ .../src/main/resources/application.properties | 33 ----------------- .../src/main/resources/bootstrap.properties | 20 ++--------- 11 files changed, 48 insertions(+), 150 deletions(-) delete mode 100644 biosdk-services/.classpath delete mode 100644 biosdk-services/.project delete mode 100644 biosdk-services/.settings/org.eclipse.jdt.core.prefs delete mode 100644 biosdk-services/.settings/org.eclipse.m2e.core.prefs diff --git a/biosdk-services/.classpath b/biosdk-services/.classpath deleted file mode 100644 index 234db15b..00000000 --- a/biosdk-services/.classpath +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/biosdk-services/.project b/biosdk-services/.project deleted file mode 100644 index f8fcdc4b..00000000 --- a/biosdk-services/.project +++ /dev/null @@ -1,23 +0,0 @@ - - - biosdk-services - - - - - - org.eclipse.jdt.core.javabuilder - - - - - org.eclipse.m2e.core.maven2Builder - - - - - - org.eclipse.jdt.core.javanature - org.eclipse.m2e.core.maven2Nature - - diff --git a/biosdk-services/.settings/org.eclipse.jdt.core.prefs b/biosdk-services/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index 2af1e7b9..00000000 --- a/biosdk-services/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,8 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.targetPlatform=11 -org.eclipse.jdt.core.compiler.compliance=11 -org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled -org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning -org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=ignore -org.eclipse.jdt.core.compiler.release=disabled -org.eclipse.jdt.core.compiler.source=11 diff --git a/biosdk-services/.settings/org.eclipse.m2e.core.prefs b/biosdk-services/.settings/org.eclipse.m2e.core.prefs deleted file mode 100644 index f897a7f1..00000000 --- a/biosdk-services/.settings/org.eclipse.m2e.core.prefs +++ /dev/null @@ -1,4 +0,0 @@ -activeProfiles= -eclipse.preferences.version=1 -resolveWorkspaceProjects=true -version=1 diff --git a/biosdk-services/Dockerfile b/biosdk-services/Dockerfile index e802cfd0..cb167333 100644 --- a/biosdk-services/Dockerfile +++ b/biosdk-services/Dockerfile @@ -46,10 +46,6 @@ ENV biosdk_local_dir_name=${biosdk_local_dir} ARG sdk_impl -ARG service_context=/biosdk-service - -ENV service_context_env=${service_context} - #ENV biosdk_zip_url=$biosdk_zip_url ENV biosdk_bioapi_impl=${sdk_impl} @@ -105,4 +101,4 @@ EXPOSE 9099 ENTRYPOINT [ "./configure_biosdk.sh" ] CMD echo $biosdk_bioapi_impl ; \ -java -Dloader.path="${loader_path_env}" -Dspring.cloud.config.label="${spring_config_label_env}" -Dspring.profiles.active="${active_profile_env}" -Dspring.cloud.config.uri="${spring_config_url_env}" -jar biosdk-services.jar +java -Dloader.path="${loader_path_env}" -Dbiosdk_bioapi_impl="${biosdk_bioapi_impl}" -Dlogging.level.root=${logging_level_root_env} -jar -Dspring.cloud.config.label="${spring_config_label_env}" -Dspring.profiles.active="${active_profile_env}" -Dspring.cloud.config.uri="${spring_config_url_env}" -Dspring.application.name="${spring_application_name_env}" -Dspring.cloud.config.name=${spring_cloud_config_name_env} -Dserver.servlet.context-path=${server_servlet_context_env} biosdk-services.jar diff --git a/biosdk-services/src/main/java/io/mosip/biosdk/services/config/LoggerConfig.java b/biosdk-services/src/main/java/io/mosip/biosdk/services/config/LoggerConfig.java index e40bbab9..0e700fa1 100644 --- a/biosdk-services/src/main/java/io/mosip/biosdk/services/config/LoggerConfig.java +++ b/biosdk-services/src/main/java/io/mosip/biosdk/services/config/LoggerConfig.java @@ -1,6 +1,7 @@ package io.mosip.biosdk.services.config; import io.mosip.kernel.core.logger.spi.Logger; +import io.mosip.kernel.logger.logback.appender.RollingFileAppender; import io.mosip.kernel.logger.logback.factory.Logfactory; public final class LoggerConfig { @@ -12,8 +13,24 @@ private LoggerConfig() { } + + /** The mosip rolling file appender. */ + private final static RollingFileAppender MOSIP_ROLLING_APPENDER = new RollingFileAppender(); + + static { + MOSIP_ROLLING_APPENDER.setAppend(true); + MOSIP_ROLLING_APPENDER.setAppenderName("org.apache.log4j.RollingFileAppender"); + MOSIP_ROLLING_APPENDER.setFileName("./logs/biosdk-service.log"); + MOSIP_ROLLING_APPENDER.setFileNamePattern("./logs/biosdk-service-%d{yyyy-MM-dd}-%i.log"); + MOSIP_ROLLING_APPENDER.setImmediateFlush(true); + MOSIP_ROLLING_APPENDER.setMaxFileSize("50mb"); +// mosipRollingFileAppender.setMaxHistory(3); + MOSIP_ROLLING_APPENDER.setPrudent(false); +// mosipRollingFileAppender.setTotalCap("50mb"); + } + public static Logger logConfig(Class clazz) { - return Logfactory.getSlf4jLogger(clazz); + return Logfactory.getDefaultRollingFileLogger(MOSIP_ROLLING_APPENDER, clazz); } -} \ No newline at end of file +} diff --git a/biosdk-services/src/main/java/io/mosip/biosdk/services/impl/spec_1_0/BioSdkServiceProviderImpl_V_1_0.java b/biosdk-services/src/main/java/io/mosip/biosdk/services/impl/spec_1_0/BioSdkServiceProviderImpl_V_1_0.java index 7e9f1760..bf8625ff 100644 --- a/biosdk-services/src/main/java/io/mosip/biosdk/services/impl/spec_1_0/BioSdkServiceProviderImpl_V_1_0.java +++ b/biosdk-services/src/main/java/io/mosip/biosdk/services/impl/spec_1_0/BioSdkServiceProviderImpl_V_1_0.java @@ -1,5 +1,10 @@ package io.mosip.biosdk.services.impl.spec_1_0; +import static io.mosip.biosdk.services.constants.AppConstants.LOGGER_IDTYPE; +import static io.mosip.biosdk.services.constants.AppConstants.LOGGER_SESSIONID; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Component; import com.google.gson.Gson; import com.google.gson.GsonBuilder; import io.mosip.biosdk.services.config.LoggerConfig; @@ -14,12 +19,6 @@ import io.mosip.kernel.biometrics.model.SDKInfo; import io.mosip.kernel.biometrics.spi.IBioApiV2; import io.mosip.kernel.core.logger.spi.Logger; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.stereotype.Component; - -import static io.mosip.biosdk.services.constants.AppConstants.LOGGER_IDTYPE; -import static io.mosip.biosdk.services.constants.AppConstants.LOGGER_SESSIONID; @Component public class BioSdkServiceProviderImpl_V_1_0 implements BioSdkServiceProvider { @@ -38,7 +37,7 @@ public class BioSdkServiceProviderImpl_V_1_0 implements BioSdkServiceProvider { private Utils serviceUtil; private Gson gson = new GsonBuilder().serializeNulls().create(); - + @Value("${mosip.biosdk.log-request-response-enabled:false}") private boolean isLogRequestResponse; @@ -55,18 +54,17 @@ public Object init(RequestDto request){ InitRequestDto initRequestDto = gson.fromJson(decryptedRequest, InitRequestDto.class); logger.debug(LOGGER_SESSIONID, LOGGER_IDTYPE,"init: ", "json to dto successful"); try { - logRequest(initRequestDto); + logRequest(initRequestDto); sdkInfo = iBioApi.init(initRequestDto.getInitParams()); logObject(sdkInfo); } catch (Throwable e){ - e.printStackTrace(); logger.error(LOGGER_SESSIONID, LOGGER_IDTYPE,"init: ", e.toString()+" "+e.getMessage()); throw new BioSDKException(ErrorMessages.BIOSDK_LIB_EXCEPTION.toString(), ErrorMessages.BIOSDK_LIB_EXCEPTION.getMessage()+": "+e.getMessage()); } return sdkInfo; } - @Override + @Override public Object checkQuality(RequestDto request) { Response response; String decryptedRequest = decode(request.getRequest()); @@ -74,7 +72,7 @@ public Object checkQuality(RequestDto request) { CheckQualityRequestDto checkQualityRequestDto = gson.fromJson(decryptedRequest, CheckQualityRequestDto.class); logger.debug(LOGGER_SESSIONID, LOGGER_IDTYPE,"checkQuality: ", "json to dto successful"); try { - logRequest(checkQualityRequestDto); + logRequest(checkQualityRequestDto); response = iBioApi.checkQuality( checkQualityRequestDto.getSample(), checkQualityRequestDto.getModalitiesToCheck(), @@ -96,7 +94,7 @@ public Object match(RequestDto request) { MatchRequestDto matchRequestDto = gson.fromJson(decryptedRequest, MatchRequestDto.class); logger.debug(LOGGER_SESSIONID, LOGGER_IDTYPE,"match: ", "json to dto successful"); try { - logRequest(matchRequestDto); + logRequest(matchRequestDto); response = iBioApi.match( matchRequestDto.getSample(), matchRequestDto.getGallery(), @@ -119,7 +117,7 @@ public Object extractTemplate(RequestDto request) { ExtractTemplateRequestDto extractTemplateRequestDto = gson.fromJson(decryptedRequest, ExtractTemplateRequestDto.class); logger.debug(LOGGER_SESSIONID, LOGGER_IDTYPE,"extractTemplate: ", "json to dto successful"); try { - logRequest(extractTemplateRequestDto); + logRequest(extractTemplateRequestDto); response = iBioApi.extractTemplate( extractTemplateRequestDto.getSample(), extractTemplateRequestDto.getModalitiesToExtract(), @@ -133,7 +131,7 @@ public Object extractTemplate(RequestDto request) { return response; } - @Override + @Override public Object segment(RequestDto request) { Response response; String decryptedRequest = decode(request.getRequest()); @@ -141,7 +139,7 @@ public Object segment(RequestDto request) { SegmentRequestDto segmentRequestDto = gson.fromJson(decryptedRequest, SegmentRequestDto.class); logger.debug(LOGGER_SESSIONID, LOGGER_IDTYPE,"segment: ", "json to dto successful"); try { - logRequest(segmentRequestDto); + logRequest(segmentRequestDto); response = iBioApi.segment( segmentRequestDto.getSample(), segmentRequestDto.getModalitiesToSegment(), @@ -155,7 +153,7 @@ public Object segment(RequestDto request) { return response; } - @Override + @Override public Object convertFormat(RequestDto request) { Response response; String decryptedRequest = decode(request.getRequest()); @@ -179,8 +177,7 @@ public Object convertFormat(RequestDto request) { } return response; } - - private void logRequest(ExtractTemplateRequestDto extractTemplateRequestDto) { +private void logRequest(ExtractTemplateRequestDto extractTemplateRequestDto) { if(isLogRequestResponse) { logger.debug("REQUEST: " + serviceUtil.toString(extractTemplateRequestDto)); } @@ -240,6 +237,7 @@ private void logBiometricRecord(String prefix, BiometricRecord biometricRecord) } } + private String decode(String data){ try { return Utils.base64Decode(data); @@ -248,4 +246,4 @@ private String decode(String data){ throw new BioSDKException(ErrorMessages.INVALID_REQUEST_BODY.toString(), ErrorMessages.INVALID_REQUEST_BODY.getMessage()+": "+e.toString()+" "+e.getMessage()); } } -} \ No newline at end of file +} diff --git a/biosdk-services/src/main/java/io/mosip/biosdk/services/utils/Utils.java b/biosdk-services/src/main/java/io/mosip/biosdk/services/utils/Utils.java index f6eea9d4..b418f077 100644 --- a/biosdk-services/src/main/java/io/mosip/biosdk/services/utils/Utils.java +++ b/biosdk-services/src/main/java/io/mosip/biosdk/services/utils/Utils.java @@ -1,5 +1,4 @@ package io.mosip.biosdk.services.utils; - import java.nio.charset.StandardCharsets; import java.time.LocalDateTime; import java.util.Arrays; @@ -28,7 +27,6 @@ import io.mosip.kernel.biometrics.entities.BIRInfo; import io.mosip.kernel.biometrics.entities.BiometricRecord; import io.mosip.kernel.core.util.DateUtils; - @Component public class Utils { @Autowired @@ -44,11 +42,11 @@ public RequestDto getRequestInfo(String request) throws ParseException { return gson.fromJson(request, RequestDto.class); } - public static String base64Decode(String data){ + public static String base64Decode(String data){ return new String(Base64.getDecoder().decode(data), StandardCharsets.UTF_8); } - - public String toString(BiometricRecord biometricRecord) { + +public String toString(BiometricRecord biometricRecord) { if(biometricRecord == null) { return "null"; } @@ -311,4 +309,5 @@ private String dateAsString(LocalDateTime localDateTime) { private static String booleanAsString(Boolean bool) { return bool == null ? "null" : Boolean.toString(bool); } -} \ No newline at end of file +} + diff --git a/biosdk-services/src/main/resources/application-local.properties b/biosdk-services/src/main/resources/application-local.properties index f8651016..36cb544a 100644 --- a/biosdk-services/src/main/resources/application-local.properties +++ b/biosdk-services/src/main/resources/application-local.properties @@ -1,3 +1,7 @@ +server.servlet.context-path= +spring.application.name= +spring.cloud.config.name= + #iam mock-sdk config sdk_check_iso_timestamp_format=true biosdk_class=io.mosip.mock.sdk.impl.SampleSDKV2 diff --git a/biosdk-services/src/main/resources/application.properties b/biosdk-services/src/main/resources/application.properties index 60c3d459..e69de29b 100644 --- a/biosdk-services/src/main/resources/application.properties +++ b/biosdk-services/src/main/resources/application.properties @@ -1,33 +0,0 @@ -server.port=9099 -spring.cloud.config.enabled=true -security.basic.enabled=false -server.servlet.context-path=/biosdk-service -biosdk_bioapi_impl=io.mosip.mock.sdk.impl.SampleSDKV2 -#logging.level.org.springframework=DEBUG -spring.application.name=biosdk-service -spring.cloud.config.name=application,biosdk-service -spring.profiles.active=default -spring.cloud.config.label=master - - -## Tomcat access logs -server.tomcat.accesslog.enabled=true -server.tomcat.accesslog.directory=/dev -server.tomcat.accesslog.prefix=stdout -server.tomcat.accesslog.buffered=false -server.tomcat.accesslog.suffix= -server.tomcat.accesslog.file-date-format= -server.tomcat.accesslog.pattern={"@timestamp":"%{yyyy-MM-dd'T'HH:mm:ss.SSS'Z'}t","level":"ACCESS","level_value":70000,"traceId":"%{X-B3-TraceId}i","statusCode":%s,"req.requestURI":"%U","bytesSent":%b,"timeTaken":%T,"appName":"${spring.application.name}","req.userAgent":"%{User-Agent}i","req.xForwardedFor":"%{X-Forwarded-For}i","req.referer":"%{Referer}i","req.method":"%m","req.remoteHost":"%a"} -server.tomcat.accesslog.className=io.mosip.kernel.core.logger.config.SleuthValve - - -mosip.role.biosdk.getservicestatus=REGISTRATION_PROCESSOR -health.config.enabled=false -management.security.enable=false -management.endpoint.health.show-details=always -management.endpoints.web.exposure.include=info,health,refresh,mappings,env -management.endpoint.metrics.enabled=true -management.endpoint.prometheus.enabled=true -management.metrics.export.prometheus.enabled=true - -logging.level.root=INFO \ No newline at end of file diff --git a/biosdk-services/src/main/resources/bootstrap.properties b/biosdk-services/src/main/resources/bootstrap.properties index d30aa7d5..aef5f33f 100644 --- a/biosdk-services/src/main/resources/bootstrap.properties +++ b/biosdk-services/src/main/resources/bootstrap.properties @@ -1,30 +1,14 @@ spring.cloud.config.uri=http://localhost:51000/config spring.cloud.config.label=master spring.profiles.active=default -spring.application.name=biosdk-service -spring.cloud.config.name=application,biosdk-service server.port=9099 security.basic.enabled=false -server.servlet.context-path=/biosdk-service spring.cloud.config.enabled=true -server.servlet.context-path=/biosdk-service -health.config.enabled=false +health.config.enabled=true management.security.enable=false management.endpoint.health.show-details=always -management.endpoints.web.exposure.include=info,health,refresh,mappings,env +management.endpoints.web.exposure.include=info,health,refresh,mappings management.endpoint.metrics.enabled=true management.endpoint.prometheus.enabled=true management.metrics.export.prometheus.enabled=true - -#logging.level.org.springframework=DEBUG - -#iam mock-sdk config -sdk_check_iso_timestamp_format=true -mosip.role.biosdk.getservicestatus=REGISTRATION_PROCESSOR -biosdk_bioapi_impl=io.mosip.mock.sdk.impl.SampleSDKV2 - -#iam image-compressor config -mosip.bio.image.compressor.resize.factor.fx=0.25 -mosip.bio.image.compressor.resize.factor.fy=0.25 -mosip.bio.image.compressor.compression.ratio=50 From 826dff35d4125b0430c15fae84b14d677d171a52 Mon Sep 17 00:00:00 2001 From: Jaya Sai Krishna <138590923+JayaSaiKrishna11@users.noreply.github.com> Date: Mon, 4 Mar 2024 13:21:06 +0530 Subject: [PATCH 74/74] MOSIP-31264: BioSDK changes has fixed Signed-off-by: Jaya Sai Krishna <138590923+JayaSaiKrishna11@users.noreply.github.com> --- biosdk-services/Dockerfile | 6 +- .../biosdk/services/config/LoggerConfig.java | 21 +- .../BioSdkServiceProviderImpl_V_1_0.java | 219 ++++++++++++------ .../io/mosip/biosdk/services/utils/Utils.java | 86 +++---- .../resources/application-local.properties | 4 - .../src/main/resources/application.properties | 33 +++ .../src/main/resources/bootstrap.properties | 20 +- 7 files changed, 253 insertions(+), 136 deletions(-) diff --git a/biosdk-services/Dockerfile b/biosdk-services/Dockerfile index cb167333..e802cfd0 100644 --- a/biosdk-services/Dockerfile +++ b/biosdk-services/Dockerfile @@ -46,6 +46,10 @@ ENV biosdk_local_dir_name=${biosdk_local_dir} ARG sdk_impl +ARG service_context=/biosdk-service + +ENV service_context_env=${service_context} + #ENV biosdk_zip_url=$biosdk_zip_url ENV biosdk_bioapi_impl=${sdk_impl} @@ -101,4 +105,4 @@ EXPOSE 9099 ENTRYPOINT [ "./configure_biosdk.sh" ] CMD echo $biosdk_bioapi_impl ; \ -java -Dloader.path="${loader_path_env}" -Dbiosdk_bioapi_impl="${biosdk_bioapi_impl}" -Dlogging.level.root=${logging_level_root_env} -jar -Dspring.cloud.config.label="${spring_config_label_env}" -Dspring.profiles.active="${active_profile_env}" -Dspring.cloud.config.uri="${spring_config_url_env}" -Dspring.application.name="${spring_application_name_env}" -Dspring.cloud.config.name=${spring_cloud_config_name_env} -Dserver.servlet.context-path=${server_servlet_context_env} biosdk-services.jar +java -Dloader.path="${loader_path_env}" -Dspring.cloud.config.label="${spring_config_label_env}" -Dspring.profiles.active="${active_profile_env}" -Dspring.cloud.config.uri="${spring_config_url_env}" -jar biosdk-services.jar diff --git a/biosdk-services/src/main/java/io/mosip/biosdk/services/config/LoggerConfig.java b/biosdk-services/src/main/java/io/mosip/biosdk/services/config/LoggerConfig.java index 0e700fa1..e40bbab9 100644 --- a/biosdk-services/src/main/java/io/mosip/biosdk/services/config/LoggerConfig.java +++ b/biosdk-services/src/main/java/io/mosip/biosdk/services/config/LoggerConfig.java @@ -1,7 +1,6 @@ package io.mosip.biosdk.services.config; import io.mosip.kernel.core.logger.spi.Logger; -import io.mosip.kernel.logger.logback.appender.RollingFileAppender; import io.mosip.kernel.logger.logback.factory.Logfactory; public final class LoggerConfig { @@ -13,24 +12,8 @@ private LoggerConfig() { } - - /** The mosip rolling file appender. */ - private final static RollingFileAppender MOSIP_ROLLING_APPENDER = new RollingFileAppender(); - - static { - MOSIP_ROLLING_APPENDER.setAppend(true); - MOSIP_ROLLING_APPENDER.setAppenderName("org.apache.log4j.RollingFileAppender"); - MOSIP_ROLLING_APPENDER.setFileName("./logs/biosdk-service.log"); - MOSIP_ROLLING_APPENDER.setFileNamePattern("./logs/biosdk-service-%d{yyyy-MM-dd}-%i.log"); - MOSIP_ROLLING_APPENDER.setImmediateFlush(true); - MOSIP_ROLLING_APPENDER.setMaxFileSize("50mb"); -// mosipRollingFileAppender.setMaxHistory(3); - MOSIP_ROLLING_APPENDER.setPrudent(false); -// mosipRollingFileAppender.setTotalCap("50mb"); - } - public static Logger logConfig(Class clazz) { - return Logfactory.getDefaultRollingFileLogger(MOSIP_ROLLING_APPENDER, clazz); + return Logfactory.getSlf4jLogger(clazz); } -} +} \ No newline at end of file diff --git a/biosdk-services/src/main/java/io/mosip/biosdk/services/impl/spec_1_0/BioSdkServiceProviderImpl_V_1_0.java b/biosdk-services/src/main/java/io/mosip/biosdk/services/impl/spec_1_0/BioSdkServiceProviderImpl_V_1_0.java index bf8625ff..86a43185 100644 --- a/biosdk-services/src/main/java/io/mosip/biosdk/services/impl/spec_1_0/BioSdkServiceProviderImpl_V_1_0.java +++ b/biosdk-services/src/main/java/io/mosip/biosdk/services/impl/spec_1_0/BioSdkServiceProviderImpl_V_1_0.java @@ -1,10 +1,5 @@ package io.mosip.biosdk.services.impl.spec_1_0; -import static io.mosip.biosdk.services.constants.AppConstants.LOGGER_IDTYPE; -import static io.mosip.biosdk.services.constants.AppConstants.LOGGER_SESSIONID; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.stereotype.Component; import com.google.gson.Gson; import com.google.gson.GsonBuilder; import io.mosip.biosdk.services.config.LoggerConfig; @@ -19,14 +14,17 @@ import io.mosip.kernel.biometrics.model.SDKInfo; import io.mosip.kernel.biometrics.spi.IBioApiV2; import io.mosip.kernel.core.logger.spi.Logger; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Component; +import static io.mosip.biosdk.services.constanimport tati @Component public class BioSdkServiceProviderImpl_V_1_0 implements BioSdkServiceProvider { private Logger logger = LoggerConfig.logConfig(BioSdkServiceProviderImpl_V_1_0.class); - private static final String BIOSDK_SERVICE_SPEC_VERSION = "1.0"; - private static final String BIOSDK_SPEC_VERSION = "0.9"; + private static final String BIOSDK_SERVICE_SPEC_VERSION = "1.0"; priate staic final Strig BIOSDK_SPEC_VERSION = "0.9"; private static final String publicKey = ""; private static final String privateKey = ""; @@ -37,7 +35,7 @@ public class BioSdkServiceProviderImpl_V_1_0 implements BioSdkServiceProvider { private Utils serviceUtil; private Gson gson = new GsonBuilder().serializeNulls().create(); - + @Value("${mosip.biosdk.log-request-response-enabled:false}") private boolean isLogRequestResponse; @@ -54,17 +52,18 @@ public Object init(RequestDto request){ InitRequestDto initRequestDto = gson.fromJson(decryptedRequest, InitRequestDto.class); logger.debug(LOGGER_SESSIONID, LOGGER_IDTYPE,"init: ", "json to dto successful"); try { - logRequest(initRequestDto); + logRequest(initRequestDto); sdkInfo = iBioApi.init(initRequestDto.getInitParams()); logObject(sdkInfo); } catch (Throwable e){ + e.printStackTrace(); logger.error(LOGGER_SESSIONID, LOGGER_IDTYPE,"init: ", e.toString()+" "+e.getMessage()); throw new BioSDKException(ErrorMessages.BIOSDK_LIB_EXCEPTION.toString(), ErrorMessages.BIOSDK_LIB_EXCEPTION.getMessage()+": "+e.getMessage()); } return sdkInfo; } - @Override + @Override public Object checkQuality(RequestDto request) { Response response; String decryptedRequest = decode(request.getRequest()); @@ -72,14 +71,14 @@ public Object checkQuality(RequestDto request) { CheckQualityRequestDto checkQualityRequestDto = gson.fromJson(decryptedRequest, CheckQualityRequestDto.class); logger.debug(LOGGER_SESSIONID, LOGGER_IDTYPE,"checkQuality: ", "json to dto successful"); try { - logRequest(checkQualityRequestDto); + logRequest(checkQualityRequestDto); response = iBioApi.checkQuality( checkQualityRequestDto.getSample(), checkQualityRequestDto.getModalitiesToCheck(), checkQualityRequestDto.getFlags() - ); - logResponse(response); - } catch (Throwable e){ + + + } catch (Throwable e){ logger.error(LOGGER_SESSIONID, LOGGER_IDTYPE,"checkQuality: ", e.toString()+" "+e.getMessage()); throw new BioSDKException(ErrorMessages.BIOSDK_LIB_EXCEPTION.toString(), ErrorMessages.BIOSDK_LIB_EXCEPTION.getMessage()+": "+e.toString()+" "+e.getMessage()); } @@ -94,7 +93,7 @@ public Object match(RequestDto request) { MatchRequestDto matchRequestDto = gson.fromJson(decryptedRequest, MatchRequestDto.class); logger.debug(LOGGER_SESSIONID, LOGGER_IDTYPE,"match: ", "json to dto successful"); try { - logRequest(matchRequestDto); + logRequest(matchRequestDto); response = iBioApi.match( matchRequestDto.getSample(), matchRequestDto.getGallery(), @@ -117,7 +116,7 @@ public Object extractTemplate(RequestDto request) { ExtractTemplateRequestDto extractTemplateRequestDto = gson.fromJson(decryptedRequest, ExtractTemplateRequestDto.class); logger.debug(LOGGER_SESSIONID, LOGGER_IDTYPE,"extractTemplate: ", "json to dto successful"); try { - logRequest(extractTemplateRequestDto); + logRequest(extractTemplateRequestDto); response = iBioApi.extractTemplate( extractTemplateRequestDto.getSample(), extractTemplateRequestDto.getModalitiesToExtract(), @@ -131,7 +130,7 @@ public Object extractTemplate(RequestDto request) { return response; } - @Override + @Override public Object segment(RequestDto request) { Response response; String decryptedRequest = decode(request.getRequest()); @@ -139,7 +138,7 @@ public Object segment(RequestDto request) { SegmentRequestDto segmentRequestDto = gson.fromJson(decryptedRequest, SegmentRequestDto.class); logger.debug(LOGGER_SESSIONID, LOGGER_IDTYPE,"segment: ", "json to dto successful"); try { - logRequest(segmentRequestDto); + logRequest(segmentRequestDto); response = iBioApi.segment( segmentRequestDto.getSample(), segmentRequestDto.getModalitiesToSegment(), @@ -153,12 +152,12 @@ public Object segment(RequestDto request) { return response; } - @Override + @Override public Object convertFormat(RequestDto request) { Response response; - String decryptedRequest = decode(request.getRequest()); - logger.debug(LOGGER_SESSIONID, LOGGER_IDTYPE,"convertFormat: ", "decoding successful"); - ConvertFormatRequestDto convertFormatRequestDto = gson.fromJson(decryptedRequest, ConvertFormatRequestDto.class); + + + ConvertFormatRequestDto convertFormatRequestDto = gson.fromJson(decryptedRequest, ConvertFormatRequestDto.class); logger.debug(LOGGER_SESSIONID, LOGGER_IDTYPE,"convertFormat: ", "json to dto successful"); try { logRequest(convertFormatRequestDto); @@ -177,73 +176,157 @@ public Object convertFormat(RequestDto request) { } return response; } -private void logRequest(ExtractTemplateRequestDto extractTemplateRequestDto) { + + private void logRequest(ExtractTemplateRequestDto extractTemplateRequestDto) { if(isLogRequestResponse) { logger.debug("REQUEST: " + serviceUtil.toString(extractTemplateRequestDto)); } } - - private void logRequest(MatchRequestDto matchRequestDto) { + + private void logRequest(MatchRequestDto matchRequestDto) { if(isLogRequestResponse) { - logger.debug("REQUEST: " + serviceUtil.toString(matchRequestDto)); + gger.debug("REQUEST: " + serviceUtil.toString(matchRequestDto)); } - } + } - private void logRequest(InitRequestDto initRequestDto) { - if(isLogRequestResponse) { - logger.debug("REQUEST: " + serviceUtil.toString(initRequestDto)); - } + + private void logRequest(InitRequestDto initReques tDto) { + if(isLog + .debug("REQUEST: " + serviceUtil.toS + } private void logRequest(CheckQualityRequestDto checkQualityRequestDto) { if(isLogRequestResponse) { logger.debug("REQUEST: " + serviceUtil.toString(checkQualityRequestDto)); } - } - - private void logRequest(SegmentRequestDto segmentRequestDto) { - if(isLogRequestResponse) { + + private void logRequest(S egmentRequestDto segmentRequestDto) { + if(isLogRequestResponse) { logger.debug("REQUEST: " + serviceUtil.toString(segmentRequestDto)); + } } - private void logRequest(ConvertFormatRequestDto convertFormatRequestDto) { - if(isLogRequestResponse) { - logger.debug("REQUEST: " + serviceUtil.toString(convertFormatRequestDto)); - } - } - + + private void logRequest(ConvertFormatRequestDto convertFormatRequestDto) { + if(isLogRequestResponse + logger.debug("REQUEST: " + serviceUtil.toString(convertFormatRequestDto)); + } + } + private void logObject(T response) { - if(isLogRequestResponse) { - logger.debug(response.getClass() + ": " + gson.toJson(response)); - } - } - + if(isLogRequestResponse + logger.debug(response.getClass() + ": " + gson.toJson(response)); + + } + private void logResponse(Response response) { - if(isLogRequestResponse) { - Object resp = response.getResponse(); - if(resp instanceof BiometricRecord) { - BiometricRecord biometricRecord = (BiometricRecord) resp; - logBiometricRecord("Response BiometricRecord: ", biometricRecord); + if (isLogRequestResponse) { + Object resp = response.getResponse(); + + + } else { - logger.debug("Response: " + gson.toJson(resp)); - } - } - } - - private void logBiometricRecord(String prefix, BiometricRecord biometricRecord) { - if(isLogRequestResponse) { - logger.debug(prefix + serviceUtil.toString(biometricRecord)); - } - } + logger.debug("Respons + } + + } + private void logBiometricRecord(String prefix, BiometricRecord + if (isLogRequestResponse) { + logger.debug(prefix + serviceUtil.toString(biometricRecord)); + + } private String decode(String data){ - try { - return Utils.base64Decode(data); - } catch (RuntimeException e){ - logger.error(LOGGER_SESSIONID, LOGGER_IDTYPE,ErrorMessages.INVALID_REQUEST_BODY.toString(), e.toString()+" "+e.getMessage()); - throw new BioSDKException(ErrorMessages.INVALID_REQUEST_BODY.toString(), ErrorMessages.INVALID_REQUEST_BODY.getMessage()+": "+e.toString()+" "+e.getMessage()); + try { + return Utils.base64Decode(data); + + + } - } -} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/biosdk-services/src/main/java/io/mosip/biosdk/services/utils/Utils.java b/biosdk-services/src/main/java/io/mosip/biosdk/services/utils/Utils.java index b418f077..76ffcca9 100644 --- a/biosdk-services/src/main/java/io/mosip/biosdk/services/utils/Utils.java +++ b/biosdk-services/src/main/java/io/mosip/biosdk/services/utils/Utils.java @@ -1,4 +1,5 @@ package io.mosip.biosdk.services.utils; + import java.nio.charset.StandardCharsets; import java.time.LocalDateTime; import java.util.Arrays; @@ -27,38 +28,39 @@ import io.mosip.kernel.biometrics.entities.BIRInfo; import io.mosip.kernel.biometrics.entities.BiometricRecord; import io.mosip.kernel.core.util.DateUtils; + @Component public class Utils { - @Autowired - private Gson gson; + @Autowired + private Gson gson; - private String utcDateTimePattern = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"; + private String utcDateTimePattern = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"; - public String getCurrentResponseTime() { - return DateUtils.formatDate(new Date(System.currentTimeMillis()), utcDateTimePattern); - } + public String getCurrentResponseTime() { + return DateUtils.formatDate(new Date(System.currentTimeMillis()), utcDateTimePattern); + } - public RequestDto getRequestInfo(String request) throws ParseException { - return gson.fromJson(request, RequestDto.class); - } + public RequestDto getRequestInfo(String request) throws ParseException { + return gson.fromJson(request, RequestDto.class); + } - public static String base64Decode(String data){ - return new String(Base64.getDecoder().decode(data), StandardCharsets.UTF_8); - } + public static String base64Decode(String data) { + return new String(Base64.getDecoder().decode(data), StandardCharsets.UTF_8); + } -public String toString(BiometricRecord biometricRecord) { - if(biometricRecord == null) { + public String toString(BiometricRecord biometricRecord) { + if (biometricRecord == null) { return "null"; } - + StringBuilder stringBuilder = new StringBuilder(); appendString(biometricRecord, stringBuilder); return stringBuilder.toString(); } - private void appendString(BiometricRecord biometricRecord, StringBuilder stringBuilder) { - if(biometricRecord == null) { - stringBuilder.append("null"); + private void appendString(BiometricRecord biometricRecord, StringBuilder stringBuilder) { + if (biometricRecord == null) { + stringBuilder.append("null"); } else { stringBuilder.append("{"); stringBuilder.append(" \"_modelClass\": \"BiometricRecord\""); @@ -70,25 +72,26 @@ private void appendString(BiometricRecord biometricRecord, StringBuilder stringB stringBuilder.append(stringOf(biometricRecord.getVersion())); stringBuilder.append(", \"segments\":"); List segments = biometricRecord.getSegments(); - if(segments == null) { - stringBuilder.append("null"); + if (segments == null) { + stringBuilder.append("null"); } else { appendString(segments.stream().iterator(), stringBuilder, this::appendString); } stringBuilder.append(" }"); } } - - private String stringOf(Object obj) { - return obj == null ? "null" : gson.toJson(obj); - } - private void appendString(Iterator iterator, StringBuilder stringBuilder, BiConsumer appendBiConsumer) { + private String stringOf(Object obj) { + return obj == null ? "null" : gson.toJson(obj); + } + + private void appendString(Iterator iterator, StringBuilder stringBuilder, + BiConsumer appendBiConsumer) { stringBuilder.append("[ "); while (iterator.hasNext()) { T element = iterator.next(); appendBiConsumer.accept(element, stringBuilder); - if(iterator.hasNext()) { + if (iterator.hasNext()) { stringBuilder.append(", "); } } @@ -96,8 +99,8 @@ private void appendString(Iterator iterator, StringBuilder stringBuilder, } private void appendString(BIR bir, StringBuilder stringBuilder) { - if(bir == null) { - stringBuilder.append("null"); + if (bir == null) { + stringBuilder.append("null"); } else { stringBuilder.append("{"); stringBuilder.append(" \"_modelClass\": \"BIR\""); @@ -122,11 +125,11 @@ private void appendString(BIR bir, StringBuilder stringBuilder) { } private static String getHashOfBytes(byte[] byteArray) { - return byteArray == null ? "null" : "\""+ DigestUtils.sha256Hex(byteArray) + "\""; + return byteArray == null ? "null" : "\"" + DigestUtils.sha256Hex(byteArray) + "\""; } - + public String toString(ExtractTemplateRequestDto extractTemplateRequestDto) { - if(extractTemplateRequestDto == null) { + if (extractTemplateRequestDto == null) { return "null"; } StringBuilder stringBuilder = new StringBuilder(); @@ -143,7 +146,7 @@ public String toString(ExtractTemplateRequestDto extractTemplateRequestDto) { } public String toString(MatchRequestDto matchRequestDto) { - if(matchRequestDto == null) { + if (matchRequestDto == null) { return "null"; } StringBuilder stringBuilder = new StringBuilder(); @@ -162,7 +165,7 @@ public String toString(MatchRequestDto matchRequestDto) { } public String toString(InitRequestDto initRequestDto) { - if(initRequestDto == null) { + if (initRequestDto == null) { return "null"; } StringBuilder stringBuilder = new StringBuilder(); @@ -175,7 +178,7 @@ public String toString(InitRequestDto initRequestDto) { } public String toString(CheckQualityRequestDto checkQualityRequestDto) { - if(checkQualityRequestDto == null) { + if (checkQualityRequestDto == null) { return "null"; } StringBuilder stringBuilder = new StringBuilder(); @@ -192,7 +195,7 @@ public String toString(CheckQualityRequestDto checkQualityRequestDto) { } public String toString(SegmentRequestDto segmentRequestDto) { - if(segmentRequestDto == null) { + if (segmentRequestDto == null) { return "null"; } StringBuilder stringBuilder = new StringBuilder(); @@ -209,7 +212,7 @@ public String toString(SegmentRequestDto segmentRequestDto) { } public String toString(ConvertFormatRequestDto convertFormatRequestDto) { - if(convertFormatRequestDto == null) { + if (convertFormatRequestDto == null) { return "null"; } StringBuilder stringBuilder = new StringBuilder(); @@ -231,9 +234,9 @@ public String toString(ConvertFormatRequestDto convertFormatRequestDto) { stringBuilder.append(" }"); return stringBuilder.toString(); } - + public String toString(BDBInfo bdbInfo) { - if(bdbInfo == null) { + if (bdbInfo == null) { return "null"; } StringBuilder stringBuilder = new StringBuilder(); @@ -276,9 +279,9 @@ public String toString(BDBInfo bdbInfo) { stringBuilder.append(" }"); return stringBuilder.toString(); } - + public String toString(BIRInfo birInfo) { - if(birInfo == null) { + if (birInfo == null) { return "null"; } StringBuilder stringBuilder = new StringBuilder(); @@ -309,5 +312,4 @@ private String dateAsString(LocalDateTime localDateTime) { private static String booleanAsString(Boolean bool) { return bool == null ? "null" : Boolean.toString(bool); } -} - +} \ No newline at end of file diff --git a/biosdk-services/src/main/resources/application-local.properties b/biosdk-services/src/main/resources/application-local.properties index 36cb544a..f8651016 100644 --- a/biosdk-services/src/main/resources/application-local.properties +++ b/biosdk-services/src/main/resources/application-local.properties @@ -1,7 +1,3 @@ -server.servlet.context-path= -spring.application.name= -spring.cloud.config.name= - #iam mock-sdk config sdk_check_iso_timestamp_format=true biosdk_class=io.mosip.mock.sdk.impl.SampleSDKV2 diff --git a/biosdk-services/src/main/resources/application.properties b/biosdk-services/src/main/resources/application.properties index e69de29b..60c3d459 100644 --- a/biosdk-services/src/main/resources/application.properties +++ b/biosdk-services/src/main/resources/application.properties @@ -0,0 +1,33 @@ +server.port=9099 +spring.cloud.config.enabled=true +security.basic.enabled=false +server.servlet.context-path=/biosdk-service +biosdk_bioapi_impl=io.mosip.mock.sdk.impl.SampleSDKV2 +#logging.level.org.springframework=DEBUG +spring.application.name=biosdk-service +spring.cloud.config.name=application,biosdk-service +spring.profiles.active=default +spring.cloud.config.label=master + + +## Tomcat access logs +server.tomcat.accesslog.enabled=true +server.tomcat.accesslog.directory=/dev +server.tomcat.accesslog.prefix=stdout +server.tomcat.accesslog.buffered=false +server.tomcat.accesslog.suffix= +server.tomcat.accesslog.file-date-format= +server.tomcat.accesslog.pattern={"@timestamp":"%{yyyy-MM-dd'T'HH:mm:ss.SSS'Z'}t","level":"ACCESS","level_value":70000,"traceId":"%{X-B3-TraceId}i","statusCode":%s,"req.requestURI":"%U","bytesSent":%b,"timeTaken":%T,"appName":"${spring.application.name}","req.userAgent":"%{User-Agent}i","req.xForwardedFor":"%{X-Forwarded-For}i","req.referer":"%{Referer}i","req.method":"%m","req.remoteHost":"%a"} +server.tomcat.accesslog.className=io.mosip.kernel.core.logger.config.SleuthValve + + +mosip.role.biosdk.getservicestatus=REGISTRATION_PROCESSOR +health.config.enabled=false +management.security.enable=false +management.endpoint.health.show-details=always +management.endpoints.web.exposure.include=info,health,refresh,mappings,env +management.endpoint.metrics.enabled=true +management.endpoint.prometheus.enabled=true +management.metrics.export.prometheus.enabled=true + +logging.level.root=INFO \ No newline at end of file diff --git a/biosdk-services/src/main/resources/bootstrap.properties b/biosdk-services/src/main/resources/bootstrap.properties index aef5f33f..d30aa7d5 100644 --- a/biosdk-services/src/main/resources/bootstrap.properties +++ b/biosdk-services/src/main/resources/bootstrap.properties @@ -1,14 +1,30 @@ spring.cloud.config.uri=http://localhost:51000/config spring.cloud.config.label=master spring.profiles.active=default +spring.application.name=biosdk-service +spring.cloud.config.name=application,biosdk-service server.port=9099 security.basic.enabled=false +server.servlet.context-path=/biosdk-service spring.cloud.config.enabled=true -health.config.enabled=true +server.servlet.context-path=/biosdk-service +health.config.enabled=false management.security.enable=false management.endpoint.health.show-details=always -management.endpoints.web.exposure.include=info,health,refresh,mappings +management.endpoints.web.exposure.include=info,health,refresh,mappings,env management.endpoint.metrics.enabled=true management.endpoint.prometheus.enabled=true management.metrics.export.prometheus.enabled=true + +#logging.level.org.springframework=DEBUG + +#iam mock-sdk config +sdk_check_iso_timestamp_format=true +mosip.role.biosdk.getservicestatus=REGISTRATION_PROCESSOR +biosdk_bioapi_impl=io.mosip.mock.sdk.impl.SampleSDKV2 + +#iam image-compressor config +mosip.bio.image.compressor.resize.factor.fx=0.25 +mosip.bio.image.compressor.resize.factor.fy=0.25 +mosip.bio.image.compressor.compression.ratio=50