diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index fbc099ad9b3..214951e4701 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,47 +1,47 @@ -name: Build and Push Docker Images +# name: Build and Push Docker Images -on: - push: - branches: - - githubactions-deploy +# on: +# push: +# branches: +# - githubactions-deploy -jobs: - build: - runs-on: ubuntu-latest +# jobs: +# build: +# runs-on: ubuntu-latest - steps: - - name: Checkout Repository - uses: actions/checkout@v2 +# steps: +# - name: Checkout Repository +# uses: actions/checkout@v2 - - name: Set up JDK 8 - uses: actions/setup-java@v2 - with: - java-version: '8' - distribution: 'adopt' - - name: Set up Kaniko - uses: GoogleContainerTools/kaniko-action@v0.1 - with: - image: gcr.io/kaniko-project/executor:debug - args: > - --context "${{ github.workspace }}" - --dockerfile "${{ github.workspace }}/Dockerfile" - --destination "${{ env.REGISTRY_IMAGE }}:${{ matrix.ARCH }}" +# - name: Set up JDK 8 +# uses: actions/setup-java@v2 +# with: +# java-version: '8' +# distribution: 'adopt' +# - name: Set up Kaniko +# uses: GoogleContainerTools/kaniko-action@v0.1 +# with: +# image: gcr.io/kaniko-project/executor:debug +# args: > +# --context "${{ github.workspace }}" +# --dockerfile "${{ github.workspace }}/Dockerfile" +# --destination "${{ env.REGISTRY_IMAGE }}:${{ matrix.ARCH }}" - # - name: Cache Maven Packages - # uses: actions/cache@v2 - # with: - # path: ~/.m2 - # key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }} - # restore-keys: ${{ runner.os }}-m2 +# # - name: Cache Maven Packages +# # uses: actions/cache@v2 +# # with: +# # path: ~/.m2 +# # key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }} +# # restore-keys: ${{ runner.os }}-m2 - # - name: Maven Build - # run: mvn -B package --file pom.xml +# # - name: Maven Build +# # run: mvn -B package --file pom.xml - # - name: Build and Push Docker Image - # uses: docker/build-push-action@v2 - # with: - # context: . - # file: build/maven/Dockerfile - # push: true - # tags: user/repo:tag +# # - name: Build and Push Docker Image +# # uses: docker/build-push-action@v2 +# # with: +# # context: . +# # file: build/maven/Dockerfile +# # push: true +# # tags: user/repo:tag diff --git a/.github/workflows/runner.yml b/.github/workflows/runner.yml new file mode 100644 index 00000000000..16838075ec6 --- /dev/null +++ b/.github/workflows/runner.yml @@ -0,0 +1,10 @@ +name: Actions Runner Controller Demo +on: + workflow_dispatch: + +jobs: + Explore-GitHub-Actions: + # You need to use the INSTALLATION_NAME from the previous step + runs-on: arc-runner-set + steps: + - run: echo "🎉 This job uses runner scale set runners!" diff --git a/accelerators/codegen/target/classes/JavaSpringBoot/api.mustache b/accelerators/codegen/target/classes/JavaSpringBoot/api.mustache new file mode 100644 index 00000000000..cd7f261f981 --- /dev/null +++ b/accelerators/codegen/target/classes/JavaSpringBoot/api.mustache @@ -0,0 +1,135 @@ +/** + * NOTE: This class is auto generated by the swagger code generator program ({{{generatorVersion}}}). + * https://github.com/swagger-api/swagger-codegen + * Do not edit the class manually. + */ +package {{package}}; + +{{#imports}}import {{import}}; +{{/imports}} +{{#jdk8-no-delegate}} +import com.fasterxml.jackson.databind.ObjectMapper; +{{/jdk8-no-delegate}} +import io.swagger.annotations.*; +{{#jdk8-no-delegate}} +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.http.HttpStatus; +{{/jdk8-no-delegate}} +import org.springframework.http.ResponseEntity; +{{#useBeanValidation}} +import org.springframework.validation.annotation.Validated; +{{/useBeanValidation}} +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestHeader; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RequestPart; +import org.springframework.web.multipart.MultipartFile; + +{{#jdk8-no-delegate}} +import javax.servlet.http.HttpServletRequest; +{{/jdk8-no-delegate}} +{{#useBeanValidation}} +import javax.validation.Valid; +import javax.validation.constraints.*; +{{/useBeanValidation}} +{{#jdk8-no-delegate}} +import java.io.IOException; +{{/jdk8-no-delegate}} +import java.util.List; +{{#jdk8-no-delegate}} +import java.util.Optional; +{{/jdk8-no-delegate}} +{{^jdk8-no-delegate}} + {{#useOptional}} +import java.util.Optional; + {{/useOptional}} +{{/jdk8-no-delegate}} +{{#async}} +import java.util.concurrent.{{^jdk8}}Callable{{/jdk8}}{{#jdk8}}CompletableFuture{{/jdk8}}; +{{/async}} +{{>generatedAnnotation}} +@Api(value = "{{{baseName}}}", description = "the {{{baseName}}} API") +{{#operations}} +public interface {{classname}} { +{{#jdk8}} + + {{^isDelegate}} + Logger log = LoggerFactory.getLogger({{classname}}.class); + + default Optional getObjectMapper() { + return Optional.empty(); + } + + default Optional getRequest() { + return Optional.empty(); + } + + default Optional getAcceptHeader() { + return getRequest().map(r -> r.getHeader("Accept")); + } + {{/isDelegate}} + {{#isDelegate}} + {{classname}}Delegate getDelegate(); + {{/isDelegate}} +{{/jdk8}} +{{#operation}} + + @ApiOperation(value = "{{{summary}}}", nickname = "{{{operationId}}}", notes = "{{{notes}}}"{{#returnBaseType}}, response = {{{returnBaseType}}}.class{{/returnBaseType}}{{#returnContainer}}, responseContainer = "{{{returnContainer}}}"{{/returnContainer}}{{#hasAuthMethods}}, authorizations = { + {{#authMethods}}@Authorization(value = "{{name}}"{{#isOAuth}}, scopes = { + {{#scopes}}@AuthorizationScope(scope = "{{scope}}", description = "{{description}}"){{#hasMore}}, + {{/hasMore}}{{/scopes}} + }{{/isOAuth}}){{#hasMore}}, + {{/hasMore}}{{/authMethods}} + }{{/hasAuthMethods}}, tags={ {{#vendorExtensions.x-tags}}"{{tag}}",{{/vendorExtensions.x-tags}} }) + @ApiResponses(value = { {{#responses}} + @ApiResponse(code = {{{code}}}, message = "{{{message}}}"{{#baseType}}, response = {{{baseType}}}.class{{/baseType}}{{#containerType}}, responseContainer = "{{{containerType}}}"{{/containerType}}){{#hasMore}},{{/hasMore}}{{/responses}} }) + {{#implicitHeaders}} + @ApiImplicitParams({ + {{#headerParams}} + {{>implicitHeader}} + {{/headerParams}} + }) + {{/implicitHeaders}} + @RequestMapping(value = "{{{path}}}",{{#singleContentTypes}}{{#hasProduces}} + produces = "{{{vendorExtensions.x-accepts}}}", {{/hasProduces}}{{#hasConsumes}} + consumes = "{{{vendorExtensions.x-contentType}}}",{{/hasConsumes}}{{/singleContentTypes}}{{^singleContentTypes}}{{#hasProduces}} + produces = { {{#produces}}"{{{mediaType}}}"{{#hasMore}}, {{/hasMore}}{{/produces}} }, {{/hasProduces}}{{#hasConsumes}} + consumes = { {{#consumes}}"{{{mediaType}}}"{{#hasMore}}, {{/hasMore}}{{/consumes}} },{{/hasConsumes}}{{/singleContentTypes}} + method = RequestMethod.{{httpMethod}}) + {{#jdk8}}default {{/jdk8}}{{#responseWrapper}}{{.}}<{{/responseWrapper}}ResponseEntity<{{>returnTypes}}>{{#responseWrapper}}>{{/responseWrapper}} {{#delegate-method}}_{{/delegate-method}}{{operationId}}({{#allParams}}{{>queryParams}}{{>pathParams}}{{>headerParams}}{{>bodyParams}}{{>formParams}}{{#hasMore}},{{/hasMore}}{{/allParams}}){{^jdk8}};{{/jdk8}}{{#jdk8}} { + {{#delegate-method}} + return {{operationId}}({{#allParams}}{{paramName}}{{#hasMore}}, {{/hasMore}}{{/allParams}}); + } + + // Override this method + default {{#responseWrapper}}{{.}}<{{/responseWrapper}}ResponseEntity<{{>returnTypes}}>{{#responseWrapper}}>{{/responseWrapper}} {{operationId}}({{#allParams}}{{^isFile}}{{{dataType}}}{{/isFile}}{{#isFile}}MultipartFile{{/isFile}} {{paramName}}{{#hasMore}},{{/hasMore}}{{/allParams}}) { + {{/delegate-method}} + {{^isDelegate}} + if(getObjectMapper().isPresent() && getAcceptHeader().isPresent()) { + {{#examples}} + if (getAcceptHeader().get().contains("{{{contentType}}}")) { + try { + return {{#async}}CompletableFuture.completedFuture({{/async}}new ResponseEntity<>(getObjectMapper().get().readValue("{{#lambdaRemoveLineBreak}}{{#lambdaEscapeDoubleQuote}}{{{example}}}{{/lambdaEscapeDoubleQuote}}{{/lambdaRemoveLineBreak}}", {{>exampleReturnTypes}}.class), HttpStatus.NOT_IMPLEMENTED){{#async}}){{/async}}; + } catch (IOException e) { + log.error("Couldn't serialize response for content type {{{contentType}}}", e); + return {{#async}}CompletableFuture.completedFuture({{/async}}new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR){{#async}}){{/async}}; + } + } + {{/examples}} + } else { + log.warn("ObjectMapper or HttpServletRequest not configured in default {{classname}} interface so no example is generated"); + } + return {{#async}}CompletableFuture.completedFuture({{/async}}new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED){{#async}}){{/async}}; + {{/isDelegate}} + {{#isDelegate}} + return getDelegate().{{operationId}}({{#allParams}}{{paramName}}{{#hasMore}}, {{/hasMore}}{{/allParams}}); + {{/isDelegate}} + }{{/jdk8}} + +{{/operation}} +} +{{/operations}} \ No newline at end of file diff --git a/accelerators/codegen/target/classes/JavaSpringBoot/apiController.mustache b/accelerators/codegen/target/classes/JavaSpringBoot/apiController.mustache new file mode 100644 index 00000000000..4d56cdab40a --- /dev/null +++ b/accelerators/codegen/target/classes/JavaSpringBoot/apiController.mustache @@ -0,0 +1,147 @@ +package {{package}}; + +{{^jdk8}} +{{#imports}}import {{import}}; +{{/imports}} +{{/jdk8}} +{{^isDelegate}} +import com.fasterxml.jackson.databind.ObjectMapper; +{{/isDelegate}} +{{^jdk8}} +import io.swagger.annotations.*; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +{{/jdk8}} +import org.springframework.stereotype.Controller; +{{^jdk8}} +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestHeader; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RequestPart; +import org.springframework.web.multipart.MultipartFile; + + {{#useBeanValidation}} +import javax.validation.constraints.*; +import javax.validation.Valid; + {{/useBeanValidation}} +{{/jdk8}} +{{^isDelegate}} +import javax.servlet.http.HttpServletRequest; + {{#jdk8}} +import java.util.Optional; + {{/jdk8}} +{{/isDelegate}} +{{^jdk8-no-delegate}} + {{#useOptional}} +import java.util.Optional; + {{/useOptional}} +{{/jdk8-no-delegate}} +{{^jdk8}} + {{^isDelegate}} +import java.io.IOException; + {{/isDelegate}} +import java.util.List; + {{#async}} +import java.util.concurrent.Callable; + {{/async}} +{{/jdk8}} +{{>generatedAnnotation}} +@Controller +{{#operations}} +public class {{classname}}Controller implements {{classname}} { + +{{#isDelegate}} + private final {{classname}}Delegate delegate; + + @org.springframework.beans.factory.annotation.Autowired + public {{classname}}Controller({{classname}}Delegate delegate) { + this.delegate = delegate; + } + {{#jdk8}} + + @Override + public {{classname}}Delegate getDelegate() { + return delegate; + } + {{/jdk8}} +{{/isDelegate}} +{{^isDelegate}} + {{^jdk8}} + private static final Logger log = LoggerFactory.getLogger({{classname}}Controller.class); + + {{/jdk8}} + private final ObjectMapper objectMapper; + + private final HttpServletRequest request; + + @org.springframework.beans.factory.annotation.Autowired + public {{classname}}Controller(ObjectMapper objectMapper, HttpServletRequest request) { + this.objectMapper = objectMapper; + this.request = request; + } + {{#jdk8}} + + @Override + public Optional getObjectMapper() { + return Optional.ofNullable(objectMapper); + } + + @Override + public Optional getRequest() { + return Optional.ofNullable(request); + } + {{/jdk8}} + +{{/isDelegate}} +{{^jdk8}} +{{#operation}} + public {{#async}}Callable<{{/async}}ResponseEntity<{{>returnTypes}}>{{#async}}>{{/async}} {{operationId}}({{#allParams}}{{>queryParams}}{{>pathParams}}{{>headerParams}}{{>bodyParams}}{{>formParams}}{{#hasMore}},{{/hasMore}}{{/allParams}}) { + {{^isDelegate}} + {{^async}} + String accept = request.getHeader("Accept"); + {{#examples}} + if (accept != null && accept.contains("{{{contentType}}}")) { + try { + return new ResponseEntity<{{>returnTypes}}>(objectMapper.readValue("{{#lambdaRemoveLineBreak}}{{#lambdaEscapeDoubleQuote}}{{{example}}}{{/lambdaEscapeDoubleQuote}}{{/lambdaRemoveLineBreak}}", {{>exampleReturnTypes}}.class), HttpStatus.NOT_IMPLEMENTED); + } catch (IOException e) { + log.error("Couldn't serialize response for content type {{{contentType}}}", e); + return new ResponseEntity<{{>returnTypes}}>(HttpStatus.INTERNAL_SERVER_ERROR); + } + } + + {{/examples}} + return new ResponseEntity<{{>returnTypes}}>(HttpStatus.NOT_IMPLEMENTED); + {{/async}} + {{#async}} + return new CallablereturnTypes}}>>() { + @Override + public ResponseEntity<{{>returnTypes}}> call() { + String accept = request.getHeader("Accept"); + {{#examples}} + if (accept != null && accept.contains("{{{contentType}}}")) { + try { + return new ResponseEntity<{{>returnTypes}}>(objectMapper.readValue("{{#lambdaRemoveLineBreak}}{{#lambdaEscapeDoubleQuote}}{{{example}}}{{/lambdaEscapeDoubleQuote}}{{/lambdaRemoveLineBreak}}", {{>exampleReturnTypes}}.class), HttpStatus.NOT_IMPLEMENTED); + } catch (IOException e) { + log.error("Couldn't serialize response for content type {{{contentType}}}", e); + return new ResponseEntity<{{>returnTypes}}>(HttpStatus.INTERNAL_SERVER_ERROR); + } + } + + {{/examples}} + return new ResponseEntity<{{>returnTypes}}>(HttpStatus.NOT_IMPLEMENTED); + } + }; + {{/async}} + {{/isDelegate}} + {{#isDelegate}} + return delegate.{{operationId}}({{#allParams}}{{paramName}}{{#hasMore}}, {{/hasMore}}{{/allParams}}); + {{/isDelegate}} + } + +{{/operation}} +{{/jdk8}} +} +{{/operations}} diff --git a/accelerators/codegen/target/classes/JavaSpringBoot/apiDelegate.mustache b/accelerators/codegen/target/classes/JavaSpringBoot/apiDelegate.mustache new file mode 100644 index 00000000000..cde9a5d81a6 --- /dev/null +++ b/accelerators/codegen/target/classes/JavaSpringBoot/apiDelegate.mustache @@ -0,0 +1,85 @@ +package {{package}}; + +{{#imports}}import {{import}}; +{{/imports}} +{{#jdk8}} +import com.fasterxml.jackson.databind.ObjectMapper; +{{/jdk8}} +import io.swagger.annotations.*; +{{#jdk8}} +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.http.HttpStatus; +{{/jdk8}} +import org.springframework.http.ResponseEntity; +import org.springframework.web.multipart.MultipartFile; +{{#jdk8}} +import java.io.IOException; +{{/jdk8}} + +{{#jdk8}} +import javax.servlet.http.HttpServletRequest; +{{/jdk8}} +import java.util.List; +{{#jdk8}} +import java.util.Optional; +{{/jdk8}} +{{^jdk8}} + {{#useOptional}} +import java.util.Optional; + {{/useOptional}} +{{/jdk8}} +{{#async}} +import java.util.concurrent.{{^jdk8}}Callable{{/jdk8}}{{#jdk8}}CompletableFuture{{/jdk8}}; +{{/async}} + +{{#operations}} +/** + * A delegate to be called by the {@link {{classname}}Controller}}. + * Implement this interface with a {@link org.springframework.stereotype.Service} annotated class. + */ +{{>generatedAnnotation}} +public interface {{classname}}Delegate { +{{#jdk8}} + + Logger log = LoggerFactory.getLogger({{classname}}.class); + + default Optional getObjectMapper() { + return Optional.empty(); + } + + default Optional getRequest() { + return Optional.empty(); + } + + default Optional getAcceptHeader() { + return getRequest().map(r -> r.getHeader("Accept")); + } +{{/jdk8}} + +{{#operation}} + /** + * @see {{classname}}#{{operationId}} + */ + {{#jdk8}}default {{/jdk8}}{{#responseWrapper}}{{.}}<{{/responseWrapper}}ResponseEntity<{{>returnTypes}}>{{#responseWrapper}}>{{/responseWrapper}} {{operationId}}({{#allParams}}{{^isFile}} {{>optionalDataType}} {{/isFile}}{{#isFile}}MultipartFile{{/isFile}} {{paramName}}{{#hasMore}}, + {{/hasMore}}{{/allParams}}){{^jdk8}};{{/jdk8}}{{#jdk8}} { + if(getObjectMapper().isPresent() && getAcceptHeader().isPresent()) { + {{#examples}} + if (getAcceptHeader().get().contains("{{{contentType}}}")) { + try { + return {{#async}}CompletableFuture.completedFuture({{/async}}new ResponseEntity<>(getObjectMapper().get().readValue("{{#lambdaRemoveLineBreak}}{{#lambdaEscapeDoubleQuote}}{{{example}}}{{/lambdaEscapeDoubleQuote}}{{/lambdaRemoveLineBreak}}", {{>exampleReturnTypes}}.class), HttpStatus.NOT_IMPLEMENTED){{#async}}){{/async}}; + } catch (IOException e) { + log.error("Couldn't serialize response for content type {{{contentType}}}", e); + return {{#async}}CompletableFuture.completedFuture({{/async}}new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR){{#async}}){{/async}}; + } + } + {{/examples}} + } else { + log.warn("ObjectMapper or HttpServletRequest not configured in default {{classname}} interface so no example is generated"); + } + return {{#async}}CompletableFuture.completedFuture({{/async}}new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED){{#async}}){{/async}}; + }{{/jdk8}} + +{{/operation}} +} +{{/operations}} diff --git a/accelerators/codegen/target/classes/JavaSpringBoot/apiException.mustache b/accelerators/codegen/target/classes/JavaSpringBoot/apiException.mustache new file mode 100644 index 00000000000..f6161147700 --- /dev/null +++ b/accelerators/codegen/target/classes/JavaSpringBoot/apiException.mustache @@ -0,0 +1,10 @@ +package {{apiPackage}}; + +{{>generatedAnnotation}} +public class ApiException extends Exception{ + private int code; + public ApiException (int code, String msg) { + super(msg); + this.code = code; + } +} diff --git a/accelerators/codegen/target/classes/JavaSpringBoot/apiOriginFilter.mustache b/accelerators/codegen/target/classes/JavaSpringBoot/apiOriginFilter.mustache new file mode 100644 index 00000000000..5cf72a7dc42 --- /dev/null +++ b/accelerators/codegen/target/classes/JavaSpringBoot/apiOriginFilter.mustache @@ -0,0 +1,27 @@ +package {{apiPackage}}; + +import java.io.IOException; + +import javax.servlet.*; +import javax.servlet.http.HttpServletResponse; + +{{>generatedAnnotation}} +public class ApiOriginFilter implements javax.servlet.Filter { + @Override + public void doFilter(ServletRequest request, ServletResponse response, + FilterChain chain) throws IOException, ServletException { + HttpServletResponse res = (HttpServletResponse) response; + res.addHeader("Access-Control-Allow-Origin", "*"); + res.addHeader("Access-Control-Allow-Methods", "GET, POST, DELETE, PUT"); + res.addHeader("Access-Control-Allow-Headers", "Content-Type"); + chain.doFilter(request, response); + } + + @Override + public void destroy() { + } + + @Override + public void init(FilterConfig filterConfig) throws ServletException { + } +} diff --git a/accelerators/codegen/target/classes/JavaSpringBoot/apiResponseMessage.mustache b/accelerators/codegen/target/classes/JavaSpringBoot/apiResponseMessage.mustache new file mode 100644 index 00000000000..17b155f3b69 --- /dev/null +++ b/accelerators/codegen/target/classes/JavaSpringBoot/apiResponseMessage.mustache @@ -0,0 +1,69 @@ +package {{apiPackage}}; + +import javax.xml.bind.annotation.XmlTransient; + +{{>generatedAnnotation}} +@javax.xml.bind.annotation.XmlRootElement +public class ApiResponseMessage { + public static final int ERROR = 1; + public static final int WARNING = 2; + public static final int INFO = 3; + public static final int OK = 4; + public static final int TOO_BUSY = 5; + + int code; + String type; + String message; + + public ApiResponseMessage(){} + + public ApiResponseMessage(int code, String message){ + this.code = code; + switch(code){ + case ERROR: + setType("error"); + break; + case WARNING: + setType("warning"); + break; + case INFO: + setType("info"); + break; + case OK: + setType("ok"); + break; + case TOO_BUSY: + setType("too busy"); + break; + default: + setType("unknown"); + break; + } + this.message = message; + } + + @XmlTransient + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } +} diff --git a/accelerators/codegen/target/classes/JavaSpringBoot/application.mustache b/accelerators/codegen/target/classes/JavaSpringBoot/application.mustache new file mode 100644 index 00000000000..db995b674fe --- /dev/null +++ b/accelerators/codegen/target/classes/JavaSpringBoot/application.mustache @@ -0,0 +1,85 @@ +server.contextPath=/{{artifactId}} +server.port={{serverPort}} +app.timezone=UTC + +#DATABASE CONFIGURATION +spring.datasource.driver-class-name=org.postgresql.Driver +spring.datasource.url=jdbc:postgresql://localhost:5432/postgres +spring.datasource.username=postgres +spring.datasource.password=postgres + +#FLYWAY CONFIGURATION +spring.flyway.url=jdbc:postgresql://localhost:5432/postgres +spring.flyway.user=postgres +spring.flyway.password=postgres +spring.flyway.table=public +spring.flyway.baseline-on-migrate=true +spring.flyway.outOfOrder=true +spring.flyway.locations=classpath:/db/migration/main +spring.flyway.enabled=true + +{{#useTracer}} +# KAFKA SERVER CONFIGURATIONS +kafka.config.bootstrap_server_config=localhost:9092 +spring.kafka.consumer.value-deserializer=org.egov.tracer.kafka.deserializer.HashMapDeserializer +spring.kafka.consumer.key-deserializer=org.apache.kafka.common.serialization.StringDeserializer +spring.kafka.consumer.group-id={{artifactId}} +spring.kafka.producer.key-serializer=org.apache.kafka.common.serialization.StringSerializer +spring.kafka.producer.value-serializer=org.springframework.kafka.support.serializer.JsonSerializer +spring.kafka.listener.missing-topics-fatal=false +spring.kafka.consumer.properties.spring.json.use.type.headers=false + +# KAFKA CONSUMER CONFIGURATIONS +kafka.consumer.config.auto_commit=true +kafka.consumer.config.auto_commit_interval=100 +kafka.consumer.config.session_timeout=15000 +kafka.consumer.config.auto_offset_reset=earliest +# KAFKA PRODUCER CONFIGURATIONS +kafka.producer.config.retries_config=0 +kafka.producer.config.batch_size_config=16384 +kafka.producer.config.linger_ms_config=1 +kafka.producer.config.buffer_memory_config=33554432 +{{/useTracer}} + +#Localization config +egov.localization.host=https://dev.digit.org +egov.localization.workDir.path=/localization/messages/v1 +egov.localization.context.path=/localization/messages/v1 +egov.localization.search.endpoint=/_search +egov.localization.statelevel=true + +#mdms urls +egov.mdms.host=https://dev.digit.org +egov.mdms.search.endpoint=/egov-mdms-service/v1/_search + +#hrms urls +egov.hrms.host=https://dev.digit.org +egov.hrms.search.endpoint=/egov-hrms/employees/_search + +#User config +egov.user.host=https://dev.digit.org +egov.user.context.path=/user/users +egov.user.create.path=/_createnovalidate +egov.user.search.path=/user/_search +egov.user.update.path=/_updatenovalidate + +#Idgen Config +egov.idgen.host=https://dev.digit.org/ +egov.idgen.path=egov-idgen/id/_generate + +#Workflow config +is.workflow.enabled=true +egov.workflow.host=https://dev.digit.org +egov.workflow.transition.path=/egov-workflow-v2/egov-wf/process/_transition +egov.workflow.businessservice.search.path=/egov-workflow-v2/egov-wf/businessservice/_search +egov.workflow.processinstance.search.path=/egov-workflow-v2/egov-wf/process/_search + +#url shortner +egov.url.shortner.host=https://dev.digit.org +egov.url.shortner.endpoint=/egov-url-shortening/shortener + +egov.sms.notification.topic=egov.core.notification.sms +kafka.topics.receipt.create=dss-collection + +# The value of the following field should be changed to service specific name +kafka.topics.consumer=service-consumer-topic \ No newline at end of file diff --git a/accelerators/codegen/target/classes/JavaSpringBoot/application.properties b/accelerators/codegen/target/classes/JavaSpringBoot/application.properties new file mode 100644 index 00000000000..8d3a7a8292b --- /dev/null +++ b/accelerators/codegen/target/classes/JavaSpringBoot/application.properties @@ -0,0 +1,2 @@ +springfox.documentation.swagger.v2.path=/api-docs +#server.port=8090 diff --git a/accelerators/codegen/target/classes/JavaSpringBoot/beanValidation.mustache b/accelerators/codegen/target/classes/JavaSpringBoot/beanValidation.mustache new file mode 100644 index 00000000000..3e4ef612a4c --- /dev/null +++ b/accelerators/codegen/target/classes/JavaSpringBoot/beanValidation.mustache @@ -0,0 +1,6 @@ +{{#required}} + @NotNull +{{/required}}{{#isContainer}}{{^isPrimitiveType}}{{^isEnum}} + @Valid{{/isEnum}}{{/isPrimitiveType}}{{/isContainer}}{{#isNotContainer}}{{^isPrimitiveType}} + @Valid{{/isPrimitiveType}}{{/isNotContainer}} +{{>beanValidationCore}} diff --git a/accelerators/codegen/target/classes/JavaSpringBoot/beanValidationCore.mustache b/accelerators/codegen/target/classes/JavaSpringBoot/beanValidationCore.mustache new file mode 100644 index 00000000000..4b7b561ce70 --- /dev/null +++ b/accelerators/codegen/target/classes/JavaSpringBoot/beanValidationCore.mustache @@ -0,0 +1,20 @@ +{{#pattern}}@Pattern(regexp="{{{pattern}}}") {{/pattern}}{{! +minLength && maxLength set +}}{{#minLength}}{{#maxLength}}@Size(min={{minLength}},max={{maxLength}}) {{/maxLength}}{{/minLength}}{{! +minLength set, maxLength not +}}{{#minLength}}{{^maxLength}}@Size(min={{minLength}}) {{/maxLength}}{{/minLength}}{{! +minLength not set, maxLength set +}}{{^minLength}}{{#maxLength}}@Size(max={{maxLength}}) {{/maxLength}}{{/minLength}}{{! +@Size: minItems && maxItems set +}}{{#minItems}}{{#maxItems}}@Size(min={{minItems}},max={{maxItems}}) {{/maxItems}}{{/minItems}}{{! +@Size: minItems set, maxItems not +}}{{#minItems}}{{^maxItems}}@Size(min={{minItems}}) {{/maxItems}}{{/minItems}}{{! +@Size: minItems not set && maxItems set +}}{{^minItems}}{{#maxItems}}@Size(max={{maxItems}}) {{/maxItems}}{{/minItems}}{{! +check for integer or long / all others=decimal type with @Decimal* +isInteger set +}}{{#isInteger}}{{#minimum}}@Min({{minimum}}){{/minimum}}{{#maximum}} @Max({{maximum}}) {{/maximum}}{{/isInteger}}{{! +isLong set +}}{{#isLong}}{{#minimum}}@Min({{minimum}}L){{/minimum}}{{#maximum}} @Max({{maximum}}L) {{/maximum}}{{/isLong}}{{! +Not Integer, not Long => we have a decimal value! +}}{{^isInteger}}{{^isLong}}{{#minimum}}@DecimalMin("{{minimum}}"){{/minimum}}{{#maximum}} @DecimalMax("{{maximum}}") {{/maximum}}{{/isLong}}{{/isInteger}} \ No newline at end of file diff --git a/accelerators/codegen/target/classes/JavaSpringBoot/beanValidationPathParams.mustache b/accelerators/codegen/target/classes/JavaSpringBoot/beanValidationPathParams.mustache new file mode 100644 index 00000000000..051bd53c0a5 --- /dev/null +++ b/accelerators/codegen/target/classes/JavaSpringBoot/beanValidationPathParams.mustache @@ -0,0 +1 @@ +{{! PathParam is always required, no @NotNull necessary }}{{>beanValidationCore}} \ No newline at end of file diff --git a/accelerators/codegen/target/classes/JavaSpringBoot/beanValidationQueryParams.mustache b/accelerators/codegen/target/classes/JavaSpringBoot/beanValidationQueryParams.mustache new file mode 100644 index 00000000000..9cca8cb8874 --- /dev/null +++ b/accelerators/codegen/target/classes/JavaSpringBoot/beanValidationQueryParams.mustache @@ -0,0 +1 @@ +{{#required}}@NotNull {{/required}}{{>beanValidationCore}} \ No newline at end of file diff --git a/accelerators/codegen/target/classes/JavaSpringBoot/bodyParams.mustache b/accelerators/codegen/target/classes/JavaSpringBoot/bodyParams.mustache new file mode 100644 index 00000000000..9bf23e308eb --- /dev/null +++ b/accelerators/codegen/target/classes/JavaSpringBoot/bodyParams.mustache @@ -0,0 +1 @@ +{{#isBodyParam}}{{#useOas2}}@ApiParam(value = "{{{description}}}"{{#required}}, required=true{{/required}} {{^isContainer}}{{#allowableValues}}, {{> allowableValues }}{{/allowableValues}}{{/isContainer}}{{#defaultValue}}, defaultValue="{{{defaultValue}}}"{{/defaultValue}}){{/useOas2}}{{^useOas2}}@Parameter(in = ParameterIn.DEFAULT, description = "{{{description}}}"{{#required}}, required=true{{/required}}, schema=@Schema({{#allowableValues}}{{> allowableValues }}{{/allowableValues}}{{#defaultValue}}{{#allowableValues}},{{/allowableValues}} defaultValue="{{{defaultValue}}}"{{/defaultValue}})){{/useOas2}} {{#useBeanValidation}}@Valid{{/useBeanValidation}} @RequestBody {{{dataType}}} {{paramName}}{{/isBodyParam}} \ No newline at end of file diff --git a/accelerators/codegen/target/classes/JavaSpringBoot/configuration.mustache b/accelerators/codegen/target/classes/JavaSpringBoot/configuration.mustache new file mode 100644 index 00000000000..90c194e1c6c --- /dev/null +++ b/accelerators/codegen/target/classes/JavaSpringBoot/configuration.mustache @@ -0,0 +1,92 @@ +package {{configPackage}}; + +import com.fasterxml.jackson.databind.ObjectMapper; +import lombok.*; +import org.egov.tracer.config.TracerConfiguration; +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.Import; +import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; +import org.springframework.stereotype.Component; + +import javax.annotation.PostConstruct; +import java.util.TimeZone; + +@Component +@Data +@Import({TracerConfiguration.class}) +@NoArgsConstructor +@AllArgsConstructor +@Setter +@Getter +public class Configuration { + + + // User Config + @Value("${egov.user.host}") + private String userHost; + + @Value("${egov.user.context.path}") + private String userContextPath; + + @Value("${egov.user.create.path}") + private String userCreateEndpoint; + + @Value("${egov.user.search.path}") + private String userSearchEndpoint; + + @Value("${egov.user.update.path}") + private String userUpdateEndpoint; + + + //Idgen Config + @Value("${egov.idgen.host}") + private String idGenHost; + + @Value("${egov.idgen.path}") + private String idGenPath; + + + //Workflow Config + @Value("${egov.workflow.host}") + private String wfHost; + + @Value("${egov.workflow.transition.path}") + private String wfTransitionPath; + + @Value("${egov.workflow.businessservice.search.path}") + private String wfBusinessServiceSearchPath; + + @Value("${egov.workflow.processinstance.search.path}") + private String wfProcessInstanceSearchPath; + + + //MDMS + @Value("${egov.mdms.host}") + private String mdmsHost; + + @Value("${egov.mdms.search.endpoint}") + private String mdmsEndPoint; + + + //HRMS + @Value("${egov.hrms.host}") + private String hrmsHost; + + @Value("${egov.hrms.search.endpoint}") + private String hrmsEndPoint; + + + //URLShortening + @Value("${egov.url.shortner.host}") + private String urlShortnerHost; + + @Value("${egov.url.shortner.endpoint}") + private String urlShortnerEndpoint; + + + //SMSNotification + @Value("${egov.sms.notification.topic}") + private String smsNotificationTopic; +} diff --git a/accelerators/codegen/target/classes/JavaSpringBoot/consumer.mustache b/accelerators/codegen/target/classes/JavaSpringBoot/consumer.mustache new file mode 100644 index 00000000000..73fff142606 --- /dev/null +++ b/accelerators/codegen/target/classes/JavaSpringBoot/consumer.mustache @@ -0,0 +1,21 @@ +package {{kafkaPackage}}; + +import org.springframework.kafka.annotation.KafkaListener; +import org.springframework.stereotype.Component; + +import java.util.HashMap; + +@Component +public class Consumer { + + /* + * Uncomment the below line to start consuming record from kafka.topics.consumer + * Value of the variable kafka.topics.consumer should be overwritten in application.properties + */ + //@KafkaListener(topics = {"kafka.topics.consumer"}) + public void listen(final HashMap record) { + + //TODO + + } +} diff --git a/accelerators/codegen/target/classes/JavaSpringBoot/controller.mustache b/accelerators/codegen/target/classes/JavaSpringBoot/controller.mustache new file mode 100644 index 00000000000..5c595fbbc9d --- /dev/null +++ b/accelerators/codegen/target/classes/JavaSpringBoot/controller.mustache @@ -0,0 +1,138 @@ +package {{package}}; + + +{{#imports}}import {{import}}; +{{/imports}} +{{^isDelegate}} + import com.fasterxml.jackson.databind.ObjectMapper; +{{/isDelegate}} +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.enums.ParameterIn; +import io.swagger.v3.oas.annotations.media.Schema; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestHeader; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RequestPart; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.bind.annotation.RequestMapping; +import java.io.IOException; +import java.util.*; + +{{#useBeanValidation}} + import javax.validation.constraints.*; + import javax.validation.Valid; +{{/useBeanValidation}} +{{^isDelegate}} + import javax.servlet.http.HttpServletRequest; + {{#jdk8}} + import java.util.Optional; + {{/jdk8}} +{{/isDelegate}} +{{^jdk8-no-delegate}} + {{#useOptional}} + import java.util.Optional; + {{/useOptional}} +{{/jdk8-no-delegate}} +{{^jdk8}} + {{^isDelegate}} + import java.io.IOException; + {{/isDelegate}} + import java.util.List; + {{#async}} + import java.util.concurrent.Callable; + {{/async}} +{{/jdk8}} +{{>generatedAnnotation}} +@Controller +{{#operations}} + @RequestMapping("{{basePathWithoutHost}}") + public class {{classname}}Controller{ + + {{#isDelegate}} + private final {{classname}}Delegate delegate; + + @org.springframework.beans.factory.annotation.Autowired + public {{classname}}Controller({{classname}}Delegate delegate) { + this.delegate = delegate; + } + {{#jdk8}} + + @Override + public {{classname}}Delegate getDelegate() { + return delegate; + } + {{/jdk8}} + {{/isDelegate}} + {{^isDelegate}} + {{^jdk8}} + private static final Logger log = LoggerFactory.getLogger({{classname}}Controller.class); + + {{/jdk8}} + private final ObjectMapper objectMapper; + + private final HttpServletRequest request; + + @Autowired + public {{classname}}Controller(ObjectMapper objectMapper, HttpServletRequest request) { + this.objectMapper = objectMapper; + this.request = request; + } + + {{/isDelegate}} + {{#jdk8}} + {{#operation}} + @RequestMapping(value="{{path}}", method = RequestMethod.{{httpMethod}}) + public {{#async}}Callable<{{/async}}ResponseEntity<{{>returnTypes}}>{{#async}}>{{/async}} {{operationId}}({{#allParams}}{{>queryParams}}{{>pathParams}}{{>headerParams}}{{>bodyParams}}{{>formParams}}{{#hasMore}},{{/hasMore}}{{/allParams}}) { + {{^isDelegate}} + {{^async}} + String accept = request.getHeader("Accept"); + {{#examples}} + if (accept != null && accept.contains("{{{contentType}}}")) { + try { + return new ResponseEntity<{{>returnTypes}}>(objectMapper.readValue("{{#lambdaRemoveLineBreak}}{{#lambdaEscapeDoubleQuote}}{{{example}}}{{/lambdaEscapeDoubleQuote}}{{/lambdaRemoveLineBreak}}", {{>exampleReturnTypes}}.class), HttpStatus.NOT_IMPLEMENTED); + } catch (IOException e) { + return new ResponseEntity<{{>returnTypes}}>(HttpStatus.INTERNAL_SERVER_ERROR); + } + } + + {{/examples}} + return new ResponseEntity<{{>returnTypes}}>(HttpStatus.NOT_IMPLEMENTED); + {{/async}} + {{#async}} + return new CallablereturnTypes}}>>() { + @Override + public ResponseEntity<{{>returnTypes}}> call() { + String accept = request.getHeader("Accept"); + {{#examples}} + if (accept != null && accept.contains("{{{contentType}}}")) { + try { + return new ResponseEntity<{{>returnTypes}}>(objectMapper.readValue("{{#lambdaRemoveLineBreak}}{{#lambdaEscapeDoubleQuote}}{{{example}}}{{/lambdaEscapeDoubleQuote}}{{/lambdaRemoveLineBreak}}", {{>exampleReturnTypes}}.class), HttpStatus.NOT_IMPLEMENTED); + } catch (IOException e) { + log.error("Couldn't serialize response for content type {{{contentType}}}", e); + return new ResponseEntity<{{>returnTypes}}>(HttpStatus.INTERNAL_SERVER_ERROR); + } + } + + {{/examples}} + return new ResponseEntity<{{>returnTypes}}>(HttpStatus.NOT_IMPLEMENTED); + } + }; + {{/async}} + {{/isDelegate}} + {{#isDelegate}} + return delegate.{{operationId}}({{#allParams}}{{paramName}}{{#hasMore}}, {{/hasMore}}{{/allParams}}); + {{/isDelegate}} + } + + {{/operation}} + {{/jdk8}} + } +{{/operations}} \ No newline at end of file diff --git a/accelerators/codegen/target/classes/JavaSpringBoot/controller_test.mustache b/accelerators/codegen/target/classes/JavaSpringBoot/controller_test.mustache new file mode 100644 index 00000000000..cb9be89bfeb --- /dev/null +++ b/accelerators/codegen/target/classes/JavaSpringBoot/controller_test.mustache @@ -0,0 +1,59 @@ +package {{package}}; + +{{#imports}}import {{import}}; +{{/imports}} +import org.junit.Test; +import org.junit.Ignore; +import org.junit.runner.RunWith; +import org.springframework.test.context.junit4.SpringRunner; +import org.springframework.test.web.servlet.MockMvc; +import org.springframework.context.annotation.Import; +import org.springframework.http.HttpStatus; +import org.springframework.http.MediaType; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; +{{#useTracer}}import {{basePackage}}.TestConfiguration;{{/useTracer}} + +{{^fullJavaUtil}} + import java.util.ArrayList; + import java.util.HashMap; + import java.util.List; + import java.util.Map; +{{/fullJavaUtil}} + +import static org.mockito.Matchers.any; +import static org.mockito.Mockito.when; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; + +/** +* API tests for {{classname}}Controller +*/ +@Ignore +@RunWith(SpringRunner.class) +@WebMvcTest({{classname}}Controller.class) +{{#useTracer}}@Import(TestConfiguration.class){{/useTracer}} +{{#operations}} +public class {{classname}}ControllerTest { + + @Autowired + private MockMvc mockMvc; + +{{#operation}} + @Test + public void {{operationId}}Success() throws Exception { + mockMvc.perform(post("{{basePathWithoutHost}}{{path}}").contentType(MediaType + .APPLICATION_JSON_UTF8)) + .andExpect(status().isOk()); + } + + @Test + public void {{operationId}}Failure() throws Exception { + mockMvc.perform(post("{{basePathWithoutHost}}{{path}}").contentType(MediaType + .APPLICATION_JSON_UTF8)) + .andExpect(status().isBadRequest()); + } + +{{/operation}} +} +{{/operations}} \ No newline at end of file diff --git a/accelerators/codegen/target/classes/JavaSpringBoot/customInstantDeserializer.mustache b/accelerators/codegen/target/classes/JavaSpringBoot/customInstantDeserializer.mustache new file mode 100644 index 00000000000..b7b8e251bdb --- /dev/null +++ b/accelerators/codegen/target/classes/JavaSpringBoot/customInstantDeserializer.mustache @@ -0,0 +1,232 @@ +package {{configPackage}}; + +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.core.JsonTokenId; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.DeserializationFeature; +import com.fasterxml.jackson.databind.JsonDeserializer; +import com.fasterxml.jackson.datatype.threetenbp.DateTimeUtils; +import com.fasterxml.jackson.datatype.threetenbp.DecimalUtils; +import com.fasterxml.jackson.datatype.threetenbp.deser.ThreeTenDateTimeDeserializerBase; +import com.fasterxml.jackson.datatype.threetenbp.function.BiFunction; +import com.fasterxml.jackson.datatype.threetenbp.function.Function; +import org.threeten.bp.DateTimeException; +import org.threeten.bp.Instant; +import org.threeten.bp.OffsetDateTime; +import org.threeten.bp.ZoneId; +import org.threeten.bp.ZonedDateTime; +import org.threeten.bp.format.DateTimeFormatter; +import org.threeten.bp.temporal.Temporal; +import org.threeten.bp.temporal.TemporalAccessor; + +import java.io.IOException; +import java.math.BigDecimal; + +/** + * Deserializer for ThreeTen temporal {@link Instant}s, {@link OffsetDateTime}, and {@link ZonedDateTime}s. + * Adapted from the jackson threetenbp InstantDeserializer to add support for deserializing rfc822 format. + * + * @author Nick Williams + */ +public class CustomInstantDeserializer + extends ThreeTenDateTimeDeserializerBase { + private static final long serialVersionUID = 1L; + + public static final CustomInstantDeserializer INSTANT = new CustomInstantDeserializer( + Instant.class, DateTimeFormatter.ISO_INSTANT, + new Function() { + @Override + public Instant apply(TemporalAccessor temporalAccessor) { + return Instant.from(temporalAccessor); + } + }, + new Function() { + @Override + public Instant apply(FromIntegerArguments a) { + return Instant.ofEpochMilli(a.value); + } + }, + new Function() { + @Override + public Instant apply(FromDecimalArguments a) { + return Instant.ofEpochSecond(a.integer, a.fraction); + } + }, + null + ); + + public static final CustomInstantDeserializer OFFSET_DATE_TIME = new CustomInstantDeserializer( + OffsetDateTime.class, DateTimeFormatter.ISO_OFFSET_DATE_TIME, + new Function() { + @Override + public OffsetDateTime apply(TemporalAccessor temporalAccessor) { + return OffsetDateTime.from(temporalAccessor); + } + }, + new Function() { + @Override + public OffsetDateTime apply(FromIntegerArguments a) { + return OffsetDateTime.ofInstant(Instant.ofEpochMilli(a.value), a.zoneId); + } + }, + new Function() { + @Override + public OffsetDateTime apply(FromDecimalArguments a) { + return OffsetDateTime.ofInstant(Instant.ofEpochSecond(a.integer, a.fraction), a.zoneId); + } + }, + new BiFunction() { + @Override + public OffsetDateTime apply(OffsetDateTime d, ZoneId z) { + return d.withOffsetSameInstant(z.getRules().getOffset(d.toLocalDateTime())); + } + } + ); + + public static final CustomInstantDeserializer ZONED_DATE_TIME = new CustomInstantDeserializer( + ZonedDateTime.class, DateTimeFormatter.ISO_ZONED_DATE_TIME, + new Function() { + @Override + public ZonedDateTime apply(TemporalAccessor temporalAccessor) { + return ZonedDateTime.from(temporalAccessor); + } + }, + new Function() { + @Override + public ZonedDateTime apply(FromIntegerArguments a) { + return ZonedDateTime.ofInstant(Instant.ofEpochMilli(a.value), a.zoneId); + } + }, + new Function() { + @Override + public ZonedDateTime apply(FromDecimalArguments a) { + return ZonedDateTime.ofInstant(Instant.ofEpochSecond(a.integer, a.fraction), a.zoneId); + } + }, + new BiFunction() { + @Override + public ZonedDateTime apply(ZonedDateTime zonedDateTime, ZoneId zoneId) { + return zonedDateTime.withZoneSameInstant(zoneId); + } + } + ); + + protected final Function fromMilliseconds; + + protected final Function fromNanoseconds; + + protected final Function parsedToValue; + + protected final BiFunction adjust; + + protected CustomInstantDeserializer(Class supportedType, + DateTimeFormatter parser, + Function parsedToValue, + Function fromMilliseconds, + Function fromNanoseconds, + BiFunction adjust) { + super(supportedType, parser); + this.parsedToValue = parsedToValue; + this.fromMilliseconds = fromMilliseconds; + this.fromNanoseconds = fromNanoseconds; + this.adjust = adjust == null ? new BiFunction() { + @Override + public T apply(T t, ZoneId zoneId) { + return t; + } + } : adjust; + } + + @SuppressWarnings("unchecked") + protected CustomInstantDeserializer(CustomInstantDeserializer base, DateTimeFormatter f) { + super((Class) base.handledType(), f); + parsedToValue = base.parsedToValue; + fromMilliseconds = base.fromMilliseconds; + fromNanoseconds = base.fromNanoseconds; + adjust = base.adjust; + } + + @Override + protected JsonDeserializer withDateFormat(DateTimeFormatter dtf) { + if (dtf == _formatter) { + return this; + } + return new CustomInstantDeserializer(this, dtf); + } + + @Override + public T deserialize(JsonParser parser, DeserializationContext context) throws IOException { + //NOTE: Timestamps contain no timezone info, and are always in configured TZ. Only + //string values have to be adjusted to the configured TZ. + switch (parser.getCurrentTokenId()) { + case JsonTokenId.ID_NUMBER_FLOAT: { + BigDecimal value = parser.getDecimalValue(); + long seconds = value.longValue(); + int nanoseconds = DecimalUtils.extractNanosecondDecimal(value, seconds); + return fromNanoseconds.apply(new FromDecimalArguments( + seconds, nanoseconds, getZone(context))); + } + + case JsonTokenId.ID_NUMBER_INT: { + long timestamp = parser.getLongValue(); + if (context.isEnabled(DeserializationFeature.READ_DATE_TIMESTAMPS_AS_NANOSECONDS)) { + return this.fromNanoseconds.apply(new FromDecimalArguments( + timestamp, 0, this.getZone(context) + )); + } + return this.fromMilliseconds.apply(new FromIntegerArguments( + timestamp, this.getZone(context) + )); + } + + case JsonTokenId.ID_STRING: { + String string = parser.getText().trim(); + if (string.length() == 0) { + return null; + } + if (string.endsWith("+0000")) { + string = string.substring(0, string.length() - 5) + "Z"; + } + T value; + try { + TemporalAccessor acc = _formatter.parse(string); + value = parsedToValue.apply(acc); + if (context.isEnabled(DeserializationFeature.ADJUST_DATES_TO_CONTEXT_TIME_ZONE)) { + return adjust.apply(value, this.getZone(context)); + } + } catch (DateTimeException e) { + throw _peelDTE(e); + } + return value; + } + } + throw context.mappingException("Expected type float, integer, or string."); + } + + private ZoneId getZone(DeserializationContext context) { + // Instants are always in UTC, so don't waste compute cycles + return (_valueClass == Instant.class) ? null : DateTimeUtils.timeZoneToZoneId(context.getTimeZone()); + } + + private static class FromIntegerArguments { + public final long value; + public final ZoneId zoneId; + + private FromIntegerArguments(long value, ZoneId zoneId) { + this.value = value; + this.zoneId = zoneId; + } + } + + private static class FromDecimalArguments { + public final long integer; + public final int fraction; + public final ZoneId zoneId; + + private FromDecimalArguments(long integer, int fraction, ZoneId zoneId) { + this.integer = integer; + this.fraction = fraction; + this.zoneId = zoneId; + } + } +} diff --git a/accelerators/codegen/target/classes/JavaSpringBoot/enumClass.mustache b/accelerators/codegen/target/classes/JavaSpringBoot/enumClass.mustache new file mode 100644 index 00000000000..2dfaa2c64b3 --- /dev/null +++ b/accelerators/codegen/target/classes/JavaSpringBoot/enumClass.mustache @@ -0,0 +1,44 @@ +/** +* {{^description}}Gets or Sets {{{name}}}{{/description}}{{#description}}{{{description}}}{{/description}} +*/ +public enum {{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{classname}}{{/datatypeWithEnum}} { +{{#gson}} + {{#allowableValues}} + {{#enumVars}} + @SerializedName({{#isInteger}}"{{/isInteger}}{{#isDouble}}"{{/isDouble}}{{#isLong}}"{{/isLong}}{{#isFloat}}"{{/isFloat}}{{{value}}}{{#isInteger}}"{{/isInteger}}{{#isDouble}}"{{/isDouble}}{{#isLong}}"{{/isLong}}{{#isFloat}}"{{/isFloat}}) + {{{name}}}({{#value}}{{{value}}}{{/value}}{{^value}}null{{/value}}){{^@last}}, + {{/@last}}{{#@last}};{{/@last}} + {{/enumVars}} + {{/allowableValues}} +{{/gson}} +{{^gson}} + {{#allowableValues}} + {{#enumVars}} + {{{name}}}({{#value}}{{{value}}}{{/value}}{{^value}}null{{/value}}){{^@last}}, + {{/@last}}{{#@last}};{{/@last}} + {{/enumVars}} + {{/allowableValues}} +{{/gson}} + +private {{{datatype}}} value; + +{{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{classname}}{{/datatypeWithEnum}}({{{datatype}}} value) { +this.value = value; +} + +@Override +@JsonValue +public String toString() { +return String.valueOf(value); +} + +@JsonCreator +public static {{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}} fromValue(String text) { +for ({{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}} b : {{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}}.values()) { +if (String.valueOf(b.value).equals(text)) { +return b; +} +} +{{^errorOnUnknownEnum}}return null;{{/errorOnUnknownEnum}}{{#errorOnUnknownEnum}}throw new IllegalArgumentException("Unexpected value '" + text + "' for '{{{classname}}}' enum.");{{/errorOnUnknownEnum}} +} +} \ No newline at end of file diff --git a/accelerators/codegen/target/classes/JavaSpringBoot/enumOuterClass.mustache b/accelerators/codegen/target/classes/JavaSpringBoot/enumOuterClass.mustache new file mode 100644 index 00000000000..e50dddf6b86 --- /dev/null +++ b/accelerators/codegen/target/classes/JavaSpringBoot/enumOuterClass.mustache @@ -0,0 +1,40 @@ +{{#jackson}} +import com.fasterxml.jackson.annotation.JsonCreator; +{{/jackson}} + +/** + * {{^description}}Gets or Sets {{{name}}}{{/description}}{{#description}}{{{description}}}{{/description}} + */ +public enum {{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}} { + {{#gson}} + {{#allowableValues}}{{#enumVars}} + @SerializedName({{#isInteger}}"{{/isInteger}}{{#isDouble}}"{{/isDouble}}{{#isLong}}"{{/isLong}}{{#isFloat}}"{{/isFloat}}{{{value}}}{{#isInteger}}"{{/isInteger}}{{#isDouble}}"{{/isDouble}}{{#isLong}}"{{/isLong}}{{#isFloat}}"{{/isFloat}}) + {{{name}}}({{#value}}{{{value}}}{{/value}}{{^value}}null{{/value}}){{^@last}},{{/@last}}{{#@last}};{{/@last}}{{/enumVars}}{{/allowableValues}} + {{/gson}} + {{^gson}} + {{#allowableValues}}{{#enumVars}} + {{{name}}}({{#value}}{{{value}}}{{/value}}{{^value}}null{{/value}}){{^@last}},{{/@last}}{{#@last}};{{/@last}}{{/enumVars}}{{/allowableValues}} + {{/gson}} + + private {{{dataType}}} value; + + {{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}}({{{dataType}}} value) { + this.value = value; + } + + @Override + @JsonValue + public String toString() { + return String.valueOf(value); + } + + @JsonCreator + public static {{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}} fromValue(String text) { + for ({{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}} b : {{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}}.values()) { + if (String.valueOf(b.value).equals(text)) { + return b; + } + } + return null; + } +} diff --git a/accelerators/codegen/target/classes/JavaSpringBoot/exampleReturnTypes.mustache b/accelerators/codegen/target/classes/JavaSpringBoot/exampleReturnTypes.mustache new file mode 100644 index 00000000000..395e3889c20 --- /dev/null +++ b/accelerators/codegen/target/classes/JavaSpringBoot/exampleReturnTypes.mustache @@ -0,0 +1 @@ +{{#returnContainer}}{{#isMapContainer}}Map{{/isMapContainer}}{{#isListContainer}}List{{/isListContainer}}{{/returnContainer}}{{^returnContainer}}{{{returnType}}}{{/returnContainer}} \ No newline at end of file diff --git a/accelerators/codegen/target/classes/JavaSpringBoot/formParams.mustache b/accelerators/codegen/target/classes/JavaSpringBoot/formParams.mustache new file mode 100644 index 00000000000..72949e8e5be --- /dev/null +++ b/accelerators/codegen/target/classes/JavaSpringBoot/formParams.mustache @@ -0,0 +1 @@ +{{#isFormParam}}{{^isBinary}}{{#useOas2}}@ApiParam(value = "{{{description}}}"{{#required}}, required=true{{/required}}{{#allowableValues}}, {{> allowableValues }}{{/allowableValues}}{{#defaultValue}}, defaultValue="{{{defaultValue}}}"{{/defaultValue}}){{/useOas2}}{{^useOas2}}@Parameter(in = ParameterIn.DEFAULT, description = "{{{description}}}"{{#required}}, required=true{{/required}},schema=@Schema({{#allowableValues}}{{> allowableValues }}{{/allowableValues}}{{#defaultValue}}{{#allowableValues}},{{/allowableValues}} defaultValue="{{{defaultValue}}}"{{/defaultValue}})){{/useOas2}} @RequestParam(value="{{baseName}}"{{#required}}, required=true{{/required}}{{^required}}, required=false{{/required}}) {{{dataType}}} {{paramName}}{{/isBinary}}{{#isBinary}}{{#useOas2}}@ApiParam(value = "file detail"){{/useOas2}}{{^useOas2}}@Parameter(description = "file detail"){{/useOas2}} {{#useBeanValidation}}@Valid{{/useBeanValidation}} @RequestPart("file") MultipartFile {{baseName}}{{/isBinary}}{{/isFormParam}} \ No newline at end of file diff --git a/accelerators/codegen/target/classes/JavaSpringBoot/generatedAnnotation.mustache b/accelerators/codegen/target/classes/JavaSpringBoot/generatedAnnotation.mustache new file mode 100644 index 00000000000..ad17a426e96 --- /dev/null +++ b/accelerators/codegen/target/classes/JavaSpringBoot/generatedAnnotation.mustache @@ -0,0 +1,3 @@ +{{^hideGenerationTimestamp}} +@javax.annotation.Generated(value = "{{generatorClass}}", date = "{{generatedDate}}") +{{/hideGenerationTimestamp}} \ No newline at end of file diff --git a/accelerators/codegen/target/classes/JavaSpringBoot/headerParams.mustache b/accelerators/codegen/target/classes/JavaSpringBoot/headerParams.mustache new file mode 100644 index 00000000000..38cfd8aa8aa --- /dev/null +++ b/accelerators/codegen/target/classes/JavaSpringBoot/headerParams.mustache @@ -0,0 +1 @@ +{{#isHeaderParam}}{{#useOas2}}@ApiParam(value = "{{{description}}}" {{#required}},required=true{{/required}}{{#allowableValues}}, {{> allowableValues }}{{/allowableValues}}{{#defaultValue}}, defaultValue="{{{defaultValue}}}"{{/defaultValue}}){{/useOas2}}{{^useOas2}}@Parameter(in = ParameterIn.HEADER, description = "{{{description}}}" {{#required}},required=true{{/required}},schema=@Schema({{#allowableValues}}{{> allowableValues }}{{/allowableValues}}{{#defaultValue}}{{#allowableValues}},{{/allowableValues}} defaultValue="{{{defaultValue}}}"{{/defaultValue}})){{/useOas2}} @RequestHeader(value="{{baseName}}", required={{#required}}true{{/required}}{{^required}}false{{/required}}) {{>optionalDataType}} {{paramName}}{{/isHeaderParam}} \ No newline at end of file diff --git a/accelerators/codegen/target/classes/JavaSpringBoot/idgenUtil.mustache b/accelerators/codegen/target/classes/JavaSpringBoot/idgenUtil.mustache new file mode 100644 index 00000000000..2671b26c42e --- /dev/null +++ b/accelerators/codegen/target/classes/JavaSpringBoot/idgenUtil.mustache @@ -0,0 +1,51 @@ +package {{utilPackage}}; + +import com.fasterxml.jackson.databind.ObjectMapper; +import {{basePackage}}.repository.ServiceRequestRepository; +import {{basePackage}}.config.Configuration; +import digit.models.coremodels.IdGenerationRequest; +import digit.models.coremodels.IdGenerationResponse; +import digit.models.coremodels.IdRequest; +import digit.models.coremodels.IdResponse; +import org.egov.common.contract.request.RequestInfo; +import org.egov.tracer.model.CustomException; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; +import org.springframework.util.CollectionUtils; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +import static {{basePackage}}.config.ServiceConstants.*; + +@Component +public class IdgenUtil { + + @Autowired + private ObjectMapper mapper; + + @Autowired + private ServiceRequestRepository restRepo; + + @Autowired + private Configuration configs; + + public List getIdList(RequestInfo requestInfo, String tenantId, String idName, String idformat, Integer count) { + List reqList = new ArrayList<>(); + for (int i = 0; i < count; i++) { + reqList.add(IdRequest.builder().idName(idName).format(idformat).tenantId(tenantId).build()); + } + + IdGenerationRequest request = IdGenerationRequest.builder().idRequests(reqList).requestInfo(requestInfo).build(); + StringBuilder uri = new StringBuilder(configs.getIdGenHost()).append(configs.getIdGenPath()); + IdGenerationResponse response = mapper.convertValue(restRepo.fetchResult(uri, request), IdGenerationResponse.class); + + List idResponses = response.getIdResponses(); + + if (CollectionUtils.isEmpty(idResponses)) + throw new CustomException(IDGEN_ERROR, NO_IDS_FOUND_ERROR); + + return idResponses.stream().map(IdResponse::getId).collect(Collectors.toList()); + } +} \ No newline at end of file diff --git a/accelerators/codegen/target/classes/JavaSpringBoot/implicitHeader.mustache b/accelerators/codegen/target/classes/JavaSpringBoot/implicitHeader.mustache new file mode 100644 index 00000000000..64d7af20808 --- /dev/null +++ b/accelerators/codegen/target/classes/JavaSpringBoot/implicitHeader.mustache @@ -0,0 +1 @@ +{{#isHeaderParam}}@ApiImplicitParam(name = "{{{paramName}}}", value = "{{{description}}}", {{#required}}required=true,{{/required}} dataType = "{{{dataType}}}", paramType = "header"){{#hasMore}},{{/hasMore}}{{/isHeaderParam}} \ No newline at end of file diff --git a/accelerators/codegen/target/classes/JavaSpringBoot/libraries/spring-boot/README.mustache b/accelerators/codegen/target/classes/JavaSpringBoot/libraries/spring-boot/README.mustache new file mode 100644 index 00000000000..02d932b8aca --- /dev/null +++ b/accelerators/codegen/target/classes/JavaSpringBoot/libraries/spring-boot/README.mustache @@ -0,0 +1,45 @@ +{{^interfaceOnly}}# Swagger generated server + +Spring Boot Server + + +## Overview +This server was generated by the [swagger-codegen](https://github.com/swagger-api/swagger-codegen) project. +By using the [OpenAPI-Spec](https://github.com/swagger-api/swagger-core), you can easily generate a server stub. +This is an example of building a swagger-enabled server in Java using the SpringBoot framework. + +The underlying library integrating swagger to SpringBoot is [springfox](https://github.com/springfox/springfox) + +Start your server as an simple java application + +You can view the api documentation in swagger-ui by pointing to +http://localhost:8080/ + +Change default port value in application.properties{{/interfaceOnly}}{{#interfaceOnly}} +# Swagger generated API stub + +Spring Framework stub + + +## Overview +This code was generated by the [swagger-codegen](https://github.com/swagger-api/swagger-codegen) project. +By using the [OpenAPI-Spec](https://github.com/swagger-api/swagger-core), you can easily generate an API stub. +This is an example of building API stub interfaces in Java using the Spring framework. + +The stubs generated can be used in your existing Spring-MVC or Spring-Boot application to create controller endpoints +by adding ```@Controller``` classes that implement the interface. Eg: +```java +@Controller +public class PetController implements PetApi { +// implement all PetApi methods +} +``` + +You can also use the interface to create [Spring-Cloud Feign clients](http://projects.spring.io/spring-cloud/spring-cloud.html#spring-cloud-feign-inheritance).Eg: +```java +@FeignClient(name="pet", url="http://petstore.swagger.io/v2") +public interface PetClient extends PetApi { + +} +``` +{{/interfaceOnly}} \ No newline at end of file diff --git a/accelerators/codegen/target/classes/JavaSpringBoot/libraries/spring-boot/RFC3339DateFormat.mustache b/accelerators/codegen/target/classes/JavaSpringBoot/libraries/spring-boot/RFC3339DateFormat.mustache new file mode 100644 index 00000000000..d5dff8ac631 --- /dev/null +++ b/accelerators/codegen/target/classes/JavaSpringBoot/libraries/spring-boot/RFC3339DateFormat.mustache @@ -0,0 +1,22 @@ +package {{basePackage}}; + +import com.fasterxml.jackson.databind.util.ISO8601DateFormat; +import com.fasterxml.jackson.databind.util.ISO8601Utils; + +import java.text.FieldPosition; +import java.util.Date; + + +public class RFC3339DateFormat extends ISO8601DateFormat { + + private static final long serialVersionUID = 1L; + + // Same as ISO8601DateFormat but serializing milliseconds. + @Override + public StringBuffer format(Date date, StringBuffer toAppendTo, FieldPosition fieldPosition) { + String value = ISO8601Utils.format(date, true); + toAppendTo.append(value); + return toAppendTo; + } + +} \ No newline at end of file diff --git a/accelerators/codegen/target/classes/JavaSpringBoot/libraries/spring-boot/homeController.mustache b/accelerators/codegen/target/classes/JavaSpringBoot/libraries/spring-boot/homeController.mustache new file mode 100644 index 00000000000..91a07d5efb7 --- /dev/null +++ b/accelerators/codegen/target/classes/JavaSpringBoot/libraries/spring-boot/homeController.mustache @@ -0,0 +1,16 @@ +package {{configPackage}}; + +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; + +/** + * Home redirection to swagger api documentation + */ +@Controller +public class HomeController { + @RequestMapping(value = "/") + public String index() { + System.out.println("swagger-ui.html"); + return "redirect:swagger-ui.html"; + } +} diff --git a/accelerators/codegen/target/classes/JavaSpringBoot/libraries/spring-boot/jacksonConfiguration.mustache b/accelerators/codegen/target/classes/JavaSpringBoot/libraries/spring-boot/jacksonConfiguration.mustache new file mode 100644 index 00000000000..e96aa772c68 --- /dev/null +++ b/accelerators/codegen/target/classes/JavaSpringBoot/libraries/spring-boot/jacksonConfiguration.mustache @@ -0,0 +1,23 @@ +package {{configPackage}}; + +import com.fasterxml.jackson.datatype.threetenbp.ThreeTenModule; +import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.threeten.bp.Instant; +import org.threeten.bp.OffsetDateTime; +import org.threeten.bp.ZonedDateTime; + +@Configuration +public class JacksonConfiguration { + + @Bean + @ConditionalOnMissingBean(ThreeTenModule.class) + ThreeTenModule threeTenModule() { + ThreeTenModule module = new ThreeTenModule(); + module.addDeserializer(Instant.class, CustomInstantDeserializer.INSTANT); + module.addDeserializer(OffsetDateTime.class, CustomInstantDeserializer.OFFSET_DATE_TIME); + module.addDeserializer(ZonedDateTime.class, CustomInstantDeserializer.ZONED_DATE_TIME); + return module; + } +} diff --git a/accelerators/codegen/target/classes/JavaSpringBoot/libraries/spring-boot/main.mustache b/accelerators/codegen/target/classes/JavaSpringBoot/libraries/spring-boot/main.mustache new file mode 100644 index 00000000000..3d79257a553 --- /dev/null +++ b/accelerators/codegen/target/classes/JavaSpringBoot/libraries/spring-boot/main.mustache @@ -0,0 +1,22 @@ +package {{basePackage}}; + + +import org.egov.tracer.config.TracerConfiguration; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.context.annotation.ComponentScan; +import org.springframework.context.annotation.Import; + +{{#useTracer}} +@Import({ TracerConfiguration.class }) +{{/useTracer}} +@SpringBootApplication +@ComponentScan(basePackages = { "{{basePackage}}", "{{apiPackage}}" , "{{configPackage}}"}) +public class Main { + + + public static void main(String[] args) throws Exception { + SpringApplication.run(Main.class, args); + } + +} diff --git a/accelerators/codegen/target/classes/JavaSpringBoot/libraries/spring-boot/mainConfiguration.mustache b/accelerators/codegen/target/classes/JavaSpringBoot/libraries/spring-boot/mainConfiguration.mustache new file mode 100644 index 00000000000..764d23c15c4 --- /dev/null +++ b/accelerators/codegen/target/classes/JavaSpringBoot/libraries/spring-boot/mainConfiguration.mustache @@ -0,0 +1,43 @@ +package {{configPackage}}; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Import; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.http.MediaType; +import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; +import java.util.TimeZone; +import javax.annotation.PostConstruct; +{{#jackson}} + import com.fasterxml.jackson.databind.DeserializationFeature; + import com.fasterxml.jackson.databind.ObjectMapper; +{{/jackson}} +{{#useTracer}}import org.egov.tracer.config.TracerConfiguration;{{/useTracer}} + + +{{#useTracer}}@Import({TracerConfiguration.class}){{/useTracer}} +public class MainConfiguration { + + @Value("${app.timezone}") + private String timeZone; + + @PostConstruct + public void initialize() { + TimeZone.setDefault(TimeZone.getTimeZone(timeZone)); + } + +{{#jackson}} + @Bean + public ObjectMapper objectMapper(){ + return new ObjectMapper().disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES).setTimeZone(TimeZone.getTimeZone(timeZone)); + } + + @Bean + @Autowired + public MappingJackson2HttpMessageConverter jacksonConverter(ObjectMapper objectMapper) { + MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter(); + converter.setObjectMapper(objectMapper); + return converter; + } +{{/jackson}} +} \ No newline at end of file diff --git a/accelerators/codegen/target/classes/JavaSpringBoot/libraries/spring-boot/pom.mustache b/accelerators/codegen/target/classes/JavaSpringBoot/libraries/spring-boot/pom.mustache new file mode 100644 index 00000000000..08be2657193 --- /dev/null +++ b/accelerators/codegen/target/classes/JavaSpringBoot/libraries/spring-boot/pom.mustache @@ -0,0 +1,158 @@ + + 4.0.0 + {{groupId}} + {{artifactId}} + jar + {{artifactId}} + {{artifactVersion}} + + {{#java8}}1.8{{/java8}}{{^java8}}1.7{{/java8}} + ${java.version} + ${java.version} + + + org.springframework.boot + spring-boot-starter-parent + 2.2.6.RELEASE + + + src/main/java + {{^interfaceOnly}} + + + org.springframework.boot + spring-boot-maven-plugin + + + + repackage + + + + + + {{/interfaceOnly}} + + + + org.springframework.boot + spring-boot-starter-web + + + org.springframework.boot + spring-boot-starter-jdbc + + + org.flywaydb + flyway-core + + + org.postgresql + postgresql + 42.2.2.jre7 + + + org.springframework.boot + spring-boot-starter-test + test + + + + io.swagger + swagger-core + 1.5.18 + + + io.swagger.core.v3 + swagger-annotations + 2.2.8 + + + +{{#useTracer}} + + org.egov.services + tracer + 2.1.2-SNAPSHOT + + + org.egov.services + digit-models + 1.0.0-SNAPSHOT + + + org.egov + mdms-client + 0.0.2-SNAPSHOT + compile + +{{/useTracer}} +{{#useLombok}} + + org.projectlombok + lombok + true + +{{/useLombok}} + {{#withXml}} + + + + com.fasterxml.jackson.dataformat + jackson-dataformat-xml + + + {{/withXml}} + {{#java8}} + + + com.fasterxml.jackson.datatype + jackson-datatype-jsr310 + + {{/java8}} + {{#joda}} + + + com.fasterxml.jackson.datatype + jackson-datatype-joda + + {{/joda}} + {{#threetenbp}} + + + com.github.joschi.jackson + jackson-datatype-threetenbp + 2.6.4 + + {{/threetenbp}} +{{#useBeanValidation}} + + + javax.validation + validation-api + +{{/useBeanValidation}} + + + + repo.egovernments.org + eGov ERP Releases Repository + https://nexus-repo.egovernments.org/nexus/content/repositories/releases/ + + + repo.egovernments.org.snapshots + eGov ERP Releases Repository + https://nexus-repo.egovernments.org/nexus/content/repositories/snapshots/ + + + repo.egovernments.org.public + eGov Public Repository Group + https://nexus-repo.egovernments.org/nexus/content/groups/public/ + + + repo.digit.org + eGov DIGIT Releases Repository + https://nexus-repo.digit.org/nexus/content/repositories/snapshots/ + + + diff --git a/accelerators/codegen/target/classes/JavaSpringBoot/libraries/spring-boot/testConfiguration.mustache b/accelerators/codegen/target/classes/JavaSpringBoot/libraries/spring-boot/testConfiguration.mustache new file mode 100644 index 00000000000..cdfdd00274f --- /dev/null +++ b/accelerators/codegen/target/classes/JavaSpringBoot/libraries/spring-boot/testConfiguration.mustache @@ -0,0 +1,16 @@ +package {{basePackage}}; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.kafka.core.KafkaTemplate; + +import static org.mockito.Mockito.mock; + +@Configuration +public class TestConfiguration { + @Bean + @SuppressWarnings("unchecked") + public KafkaTemplate kafkaTemplate() { + return mock(KafkaTemplate.class); + } +} \ No newline at end of file diff --git a/accelerators/codegen/target/classes/JavaSpringBoot/libraries/spring-cloud/README.mustache b/accelerators/codegen/target/classes/JavaSpringBoot/libraries/spring-cloud/README.mustache new file mode 100644 index 00000000000..3130b070174 --- /dev/null +++ b/accelerators/codegen/target/classes/JavaSpringBoot/libraries/spring-cloud/README.mustache @@ -0,0 +1,83 @@ +{{^interfaceOnly}} +# {{artifactId}} + +## Requirements + +Building the API client library requires [Maven](https://maven.apache.org/) to be installed. + +## Installation + +To install the API client library to your local Maven repository, simply execute: + +```shell +mvn install +``` + +To deploy it to a remote Maven repository instead, configure the settings of the repository and execute: + +```shell +mvn deploy +``` + +Refer to the [official documentation](https://maven.apache.org/plugins/maven-deploy-plugin/usage.html) for more information. + +### Maven users + +Add this dependency to your project's POM: + +```xml + + {{{groupId}}} + {{{artifactId}}} + {{{artifactVersion}}} + compile + +``` + +### Gradle users + +Add this dependency to your project's build file: + +```groovy +compile "{{{groupId}}}:{{{artifactId}}}:{{{artifactVersion}}}" +``` + +### Others + +At first generate the JAR by executing: + +mvn package + +Then manually install the following JARs: + +* target/{{{artifactId}}}-{{{artifactVersion}}}.jar +* target/lib/*.jar +{{/interfaceOnly}} +{{#interfaceOnly}} +# Swagger generated API stub + +Spring Framework stub + + +## Overview +This code was generated by the [swagger-codegen](https://github.com/swagger-api/swagger-codegen) project. +By using the [OpenAPI-Spec](https://github.com/swagger-api/swagger-core), you can easily generate an API stub. +This is an example of building API stub interfaces in Java using the Spring framework. + +The stubs generated can be used in your existing Spring-MVC or Spring-Boot application to create controller endpoints +by adding ```@Controller``` classes that implement the interface. Eg: +```java +@Controller +public class PetController implements PetApi { +// implement all PetApi methods +} +``` + +You can also use the interface to create [Spring-Cloud Feign clients](http://projects.spring.io/spring-cloud/spring-cloud.html#spring-cloud-feign-inheritance).Eg: +```java +@FeignClient(name="pet", url="http://petstore.swagger.io/v2") +public interface PetClient extends PetApi { + +} +``` +{{/interfaceOnly}} \ No newline at end of file diff --git a/accelerators/codegen/target/classes/JavaSpringBoot/libraries/spring-cloud/apiClient.mustache b/accelerators/codegen/target/classes/JavaSpringBoot/libraries/spring-cloud/apiClient.mustache new file mode 100644 index 00000000000..52fedbea776 --- /dev/null +++ b/accelerators/codegen/target/classes/JavaSpringBoot/libraries/spring-cloud/apiClient.mustache @@ -0,0 +1,10 @@ +package {{package}}; + +import org.springframework.cloud.netflix.feign.FeignClient; +import {{configPackage}}.ClientConfiguration; + +{{=<% %>=}} +@FeignClient(name="${<%title%>.name:<%title%>}", url="${<%title%>.url:<%basePath%>}", configuration = ClientConfiguration.class) +<%={{ }}=%> +public interface {{classname}}Client extends {{classname}} { +} \ No newline at end of file diff --git a/accelerators/codegen/target/classes/JavaSpringBoot/libraries/spring-cloud/apiKeyRequestInterceptor.mustache b/accelerators/codegen/target/classes/JavaSpringBoot/libraries/spring-cloud/apiKeyRequestInterceptor.mustache new file mode 100644 index 00000000000..a7835fc983d --- /dev/null +++ b/accelerators/codegen/target/classes/JavaSpringBoot/libraries/spring-cloud/apiKeyRequestInterceptor.mustache @@ -0,0 +1,31 @@ +package {{configPackage}}; + +import feign.RequestInterceptor; +import feign.RequestTemplate; +import feign.Util; + + +public class ApiKeyRequestInterceptor implements RequestInterceptor { + private final String location; + private final String name; + private String value; + + public ApiKeyRequestInterceptor(String location, String name, String value) { + Util.checkNotNull(location, "location", new Object[0]); + Util.checkNotNull(name, "name", new Object[0]); + Util.checkNotNull(value, "value", new Object[0]); + this.location = location; + this.name = name; + this.value = value; + } + + @Override + public void apply(RequestTemplate requestTemplate) { + if(location.equals("header")) { + requestTemplate.header(name, value); + } else if(location.equals("query")) { + requestTemplate.query(name, value); + } + } + +} diff --git a/accelerators/codegen/target/classes/JavaSpringBoot/libraries/spring-cloud/clientConfiguration.mustache b/accelerators/codegen/target/classes/JavaSpringBoot/libraries/spring-cloud/clientConfiguration.mustache new file mode 100644 index 00000000000..3e86330c91b --- /dev/null +++ b/accelerators/codegen/target/classes/JavaSpringBoot/libraries/spring-cloud/clientConfiguration.mustache @@ -0,0 +1,105 @@ +package {{configPackage}}; + +import feign.Logger; +import feign.auth.BasicAuthRequestInterceptor; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.boot.context.properties.EnableConfigurationProperties; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.cloud.security.oauth2.client.feign.OAuth2FeignRequestInterceptor; +import org.springframework.security.oauth2.client.DefaultOAuth2ClientContext; +import org.springframework.security.oauth2.client.resource.BaseOAuth2ProtectedResourceDetails; +import org.springframework.security.oauth2.client.token.grant.client.ClientCredentialsResourceDetails; +import org.springframework.security.oauth2.client.token.grant.code.AuthorizationCodeResourceDetails; +import org.springframework.security.oauth2.client.token.grant.implicit.ImplicitResourceDetails; +import org.springframework.security.oauth2.client.token.grant.password.ResourceOwnerPasswordResourceDetails; +import org.springframework.security.oauth2.common.exceptions.InvalidGrantException; +import org.springframework.security.oauth2.common.exceptions.OAuth2Exception; + +@Configuration +@EnableConfigurationProperties +public class ClientConfiguration { + +{{#authMethods}} + {{#isBasic}} + {{=<% %>=}}@Value("${<%title%>.security.<%name%>.username:}")<%={{ }}=%> + private String {{{name}}}Username; + + {{=<% %>=}}@Value("${<%title%>.security.<%name%>.password:}")<%={{ }}=%> + private String {{{name}}}Password; + + @Bean + @ConditionalOnProperty(name = "{{{title}}}.security.{{{name}}}.username") + public BasicAuthRequestInterceptor {{{name}}}RequestInterceptor() { + return new BasicAuthRequestInterceptor(this.{{{name}}}Username, this.{{{name}}}Password); + } + + {{/isBasic}} + {{#isApiKey}} + {{=<% %>=}}@Value("${<%title%>.security.<%name%>.key:}")<%={{ }}=%> + private String {{{name}}}Key; + + @Bean + @ConditionalOnProperty(name = "{{{title}}}.security.{{{name}}}.key") + public ApiKeyRequestInterceptor {{{name}}}RequestInterceptor() { + return new ApiKeyRequestInterceptor({{#isKeyInHeader}}"header"{{/isKeyInHeader}}{{^isKeyInHeader}}"query"{{/isKeyInHeader}}, "{{{keyParamName}}}", this.{{{name}}}Key); + } + + {{/isApiKey}} + {{#isOAuth}} + @Bean + @ConditionalOnProperty("{{{title}}}.security.{{{name}}}.client-id") + public OAuth2FeignRequestInterceptor {{{name}}}RequestInterceptor() { + return new OAuth2FeignRequestInterceptor(new DefaultOAuth2ClientContext(), {{{name}}}ResourceDetails()); + } + + {{#isCode}} + @Bean + @ConditionalOnProperty("{{{title}}}.security.{{{name}}}.client-id") + @ConfigurationProperties("{{{title}}}.security.{{{name}}}") + public AuthorizationCodeResourceDetails {{{name}}}ResourceDetails() { + AuthorizationCodeResourceDetails details = new AuthorizationCodeResourceDetails(); + details.setAccessTokenUri("{{{tokenUrl}}}"); + details.setUserAuthorizationUri("{{{authorizationUrl}}}"); + return details; + } + + {{/isCode}} + {{#isPassword}} + @Bean + @ConditionalOnProperty("{{{title}}}.security.{{{name}}}.client-id") + @ConfigurationProperties("{{{title}}}.security.{{{name}}}") + public ResourceOwnerPasswordResourceDetails {{{name}}}ResourceDetails() { + ResourceOwnerPasswordResourceDetails details = new ResourceOwnerPasswordResourceDetails(); + details.setAccessTokenUri("{{{tokenUrl}}}"); + return details; + } + + {{/isPassword}} + {{#isApplication}} + @Bean + @ConditionalOnProperty("{{{title}}}.security.{{{name}}}.client-id") + @ConfigurationProperties("{{{title}}}.security.{{{name}}}") + public ClientCredentialsResourceDetails {{{name}}}ResourceDetails() { + ClientCredentialsResourceDetails details = new ClientCredentialsResourceDetails(); + details.setAccessTokenUri("{{{tokenUrl}}}"); + return details; + } + + {{/isApplication}} + {{#isImplicit}} + @Bean + @ConditionalOnProperty("{{{title}}}.security.{{{name}}}.client-id") + @ConfigurationProperties("{{{title}}}.security.{{{name}}}") + public ImplicitResourceDetails {{{name}}}ResourceDetails() { + ImplicitResourceDetails details = new ImplicitResourceDetails(); + details.setUserAuthorizationUri("{{{authorizationUrl}}}"); + return details; + } + + {{/isImplicit}} + {{/isOAuth}} +{{/authMethods}} +} diff --git a/accelerators/codegen/target/classes/JavaSpringBoot/libraries/spring-cloud/formParams.mustache b/accelerators/codegen/target/classes/JavaSpringBoot/libraries/spring-cloud/formParams.mustache new file mode 100644 index 00000000000..bd2cb8bb640 --- /dev/null +++ b/accelerators/codegen/target/classes/JavaSpringBoot/libraries/spring-cloud/formParams.mustache @@ -0,0 +1 @@ +{{#isFormParam}}{{#notFile}}@ApiParam(value = "{{{description}}}"{{#required}}, required=true{{/required}} {{#allowableValues}}, allowableValues="{{{allowableValues}}}"{{/allowableValues}}{{#defaultValue}}, defaultValue="{{{defaultValue}}}"{{/defaultValue}}) @RequestParam(value="{{baseName}}"{{#required}}, required=true{{/required}}{{^required}}, required=false{{/required}}) {{{dataType}}} {{paramName}}{{/notFile}}{{#isFile}}@ApiParam(value = "file detail") @RequestParam("{{baseName}}") MultipartFile {{paramName}}{{/isFile}}{{/isFormParam}} \ No newline at end of file diff --git a/accelerators/codegen/target/classes/JavaSpringBoot/libraries/spring-cloud/jacksonConfiguration.mustache b/accelerators/codegen/target/classes/JavaSpringBoot/libraries/spring-cloud/jacksonConfiguration.mustache new file mode 100644 index 00000000000..e96aa772c68 --- /dev/null +++ b/accelerators/codegen/target/classes/JavaSpringBoot/libraries/spring-cloud/jacksonConfiguration.mustache @@ -0,0 +1,23 @@ +package {{configPackage}}; + +import com.fasterxml.jackson.datatype.threetenbp.ThreeTenModule; +import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.threeten.bp.Instant; +import org.threeten.bp.OffsetDateTime; +import org.threeten.bp.ZonedDateTime; + +@Configuration +public class JacksonConfiguration { + + @Bean + @ConditionalOnMissingBean(ThreeTenModule.class) + ThreeTenModule threeTenModule() { + ThreeTenModule module = new ThreeTenModule(); + module.addDeserializer(Instant.class, CustomInstantDeserializer.INSTANT); + module.addDeserializer(OffsetDateTime.class, CustomInstantDeserializer.OFFSET_DATE_TIME); + module.addDeserializer(ZonedDateTime.class, CustomInstantDeserializer.ZONED_DATE_TIME); + return module; + } +} diff --git a/accelerators/codegen/target/classes/JavaSpringBoot/libraries/spring-cloud/pom.mustache b/accelerators/codegen/target/classes/JavaSpringBoot/libraries/spring-cloud/pom.mustache new file mode 100644 index 00000000000..9efcee55a51 --- /dev/null +++ b/accelerators/codegen/target/classes/JavaSpringBoot/libraries/spring-cloud/pom.mustache @@ -0,0 +1,99 @@ + + 4.0.0 + {{groupId}} + {{artifactId}} + jar + {{artifactId}} + {{artifactVersion}} + + {{#java8}}1.8{{/java8}}{{^java8}}1.7{{/java8}} + ${java.version} + ${java.version} + 1.5.18 + + + org.springframework.boot + spring-boot-starter-parent + 1.5.4.RELEASE + + + src/main/java + + + + + + org.springframework.cloud + spring-cloud-starter-parent + Dalston.SR1 + pom + import + + + + + + + io.swagger + swagger-annotations + ${swagger-core-version} + + + org.springframework.cloud + spring-cloud-starter-feign + + + org.springframework.cloud + spring-cloud-security + + + org.springframework.security.oauth + spring-security-oauth2 + + {{#withXml}} + + + + com.fasterxml.jackson.dataformat + jackson-dataformat-xml + + + {{/withXml}} + {{#java8}} + + + com.fasterxml.jackson.datatype + jackson-datatype-jsr310 + + {{/java8}} + {{#joda}} + + + com.fasterxml.jackson.datatype + jackson-datatype-joda + + {{/joda}} + {{#threetenbp}} + + + com.github.joschi.jackson + jackson-datatype-threetenbp + 2.6.4 + + {{/threetenbp}} +{{#useBeanValidation}} + + + javax.validation + validation-api + 1.1.0.Final + provided + +{{/useBeanValidation}} + + org.springframework.boot + spring-boot-starter-test + test + + + diff --git a/accelerators/codegen/target/classes/JavaSpringBoot/libraries/spring-mvc/README.mustache b/accelerators/codegen/target/classes/JavaSpringBoot/libraries/spring-mvc/README.mustache new file mode 100644 index 00000000000..1354151afbb --- /dev/null +++ b/accelerators/codegen/target/classes/JavaSpringBoot/libraries/spring-mvc/README.mustache @@ -0,0 +1,12 @@ +# Swagger generated server + +Spring MVC Server + + +## Overview +This server was generated by the [swagger-codegen](https://github.com/swagger-api/swagger-codegen) project. By using the [OpenAPI-Spec](https://github.com/swagger-api/swagger-core), you can easily generate a server stub. This is an example of building a swagger-enabled server in Java using the Spring MVC framework. + +The underlying library integrating swagger to Spring-MVC is [springfox](https://github.com/springfox/springfox) + +You can view the server in swagger-ui by pointing to +http://localhost:8002{{^contextPath}}/{{/contextPath}}{{#contextPath}}{{contextPath}}{{/contextPath}}/swagger-ui.html \ No newline at end of file diff --git a/accelerators/codegen/target/classes/JavaSpringBoot/libraries/spring-mvc/RFC3339DateFormat.mustache b/accelerators/codegen/target/classes/JavaSpringBoot/libraries/spring-mvc/RFC3339DateFormat.mustache new file mode 100644 index 00000000000..597120b5b23 --- /dev/null +++ b/accelerators/codegen/target/classes/JavaSpringBoot/libraries/spring-mvc/RFC3339DateFormat.mustache @@ -0,0 +1,22 @@ +package {{configPackage}}; + +import com.fasterxml.jackson.databind.util.ISO8601DateFormat; +import com.fasterxml.jackson.databind.util.ISO8601Utils; + +import java.text.FieldPosition; +import java.util.Date; + + +public class RFC3339DateFormat extends ISO8601DateFormat { + + private static final long serialVersionUID = 1L; + + // Same as ISO8601DateFormat but serializing milliseconds. + @Override + public StringBuffer format(Date date, StringBuffer toAppendTo, FieldPosition fieldPosition) { + String value = ISO8601Utils.format(date, true); + toAppendTo.append(value); + return toAppendTo; + } + +} \ No newline at end of file diff --git a/accelerators/codegen/target/classes/JavaSpringBoot/libraries/spring-mvc/pom.mustache b/accelerators/codegen/target/classes/JavaSpringBoot/libraries/spring-mvc/pom.mustache new file mode 100644 index 00000000000..7bae0894a1c --- /dev/null +++ b/accelerators/codegen/target/classes/JavaSpringBoot/libraries/spring-mvc/pom.mustache @@ -0,0 +1,177 @@ + + 4.0.0 + {{groupId}} + {{artifactId}} + jar + {{artifactId}} + {{artifactVersion}} + + src/main/java + + + org.apache.maven.plugins + maven-war-plugin + 3.1.0 + + + maven-failsafe-plugin + 2.6 + + + + integration-test + verify + + + + + + org.eclipse.jetty + jetty-maven-plugin + ${jetty-version} + + + {{^contextPath}}/{{/contextPath}}{{#contextPath}}{{contextPath}}{{/contextPath}} + + target/${project.artifactId}-${project.version} + 8079 + stopit + + 8002 + 60000 + + + + + start-jetty + pre-integration-test + + start + + + 0 + true + + + + stop-jetty + post-integration-test + + stop + + + + + + + + + org.slf4j + slf4j-log4j12 + ${slf4j-version} + + + + + org.springframework + spring-core + ${spring-version} + + + org.springframework + spring-webmvc + ${spring-version} + + + org.springframework + spring-web + ${spring-version} + + + + + io.springfox + springfox-swagger2 + ${springfox-version} + + + com.fasterxml.jackson.core + jackson-annotations + + + + + io.springfox + springfox-swagger-ui + ${springfox-version} + + {{#withXml}} + + + + com.fasterxml.jackson.dataformat + jackson-dataformat-xml + ${jackson-version} + + + {{/withXml}} + {{#java8}} + + + com.fasterxml.jackson.datatype + jackson-datatype-jsr310 + ${jackson-version} + + {{/java8}} + {{#joda}} + + + com.fasterxml.jackson.datatype + jackson-datatype-joda + ${jackson-version} + + {{/joda}} + {{#threetenbp}} + + + com.github.joschi.jackson + jackson-datatype-threetenbp + ${jackson-threetenbp-version} + + {{/threetenbp}} + + + junit + junit + ${junit-version} + test + + + javax.servlet + servlet-api + ${servlet-api-version} + +{{#useBeanValidation}} + + + javax.validation + validation-api + 1.1.0.Final + provided + +{{/useBeanValidation}} + + + {{#java8}}1.8{{/java8}}{{^java8}}1.7{{/java8}} + ${java.version} + ${java.version} + 9.2.15.v20160210 + 1.7.21 + 4.12 + 2.5 + 2.7.0 + 2.8.9 + 2.6.4 + 4.3.9.RELEASE + + diff --git a/accelerators/codegen/target/classes/JavaSpringBoot/libraries/spring-mvc/swaggerUiConfiguration.mustache b/accelerators/codegen/target/classes/JavaSpringBoot/libraries/spring-mvc/swaggerUiConfiguration.mustache new file mode 100644 index 00000000000..563a76915f8 --- /dev/null +++ b/accelerators/codegen/target/classes/JavaSpringBoot/libraries/spring-mvc/swaggerUiConfiguration.mustache @@ -0,0 +1,89 @@ +package {{configPackage}}; + +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.SerializationFeature; +{{#threetenbp}} +import com.fasterxml.jackson.datatype.threetenbp.ThreeTenModule; +{{/threetenbp}} +import org.springframework.context.annotation.ComponentScan; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.PropertySource; +import org.springframework.context.annotation.Import; +import org.springframework.context.annotation.Bean; +import org.springframework.http.converter.HttpMessageConverter; +import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder; +import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; +import org.springframework.web.servlet.config.annotation.EnableWebMvc; +import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter; +{{#threetenbp}} +import org.threeten.bp.Instant; +import org.threeten.bp.OffsetDateTime; +import org.threeten.bp.ZonedDateTime; +{{/threetenbp}} +import springfox.documentation.swagger2.annotations.EnableSwagger2; + +import java.util.List; + +{{>generatedAnnotation}} +@Configuration +@ComponentScan(basePackages = "{{apiPackage}}") +@EnableWebMvc +@EnableSwagger2 //Loads the spring beans required by the framework +@PropertySource("classpath:swagger.properties") +@Import(SwaggerDocumentationConfig.class) +public class SwaggerUiConfiguration extends WebMvcConfigurerAdapter { + private static final String[] SERVLET_RESOURCE_LOCATIONS = { "/" }; + + private static final String[] CLASSPATH_RESOURCE_LOCATIONS = { + "classpath:/META-INF/resources/", "classpath:/resources/", + "classpath:/static/", "classpath:/public/" }; + + private static final String[] RESOURCE_LOCATIONS; + static { + RESOURCE_LOCATIONS = new String[CLASSPATH_RESOURCE_LOCATIONS.length + + SERVLET_RESOURCE_LOCATIONS.length]; + System.arraycopy(SERVLET_RESOURCE_LOCATIONS, 0, RESOURCE_LOCATIONS, 0, + SERVLET_RESOURCE_LOCATIONS.length); + System.arraycopy(CLASSPATH_RESOURCE_LOCATIONS, 0, RESOURCE_LOCATIONS, + SERVLET_RESOURCE_LOCATIONS.length, CLASSPATH_RESOURCE_LOCATIONS.length); + } + + private static final String[] STATIC_INDEX_HTML_RESOURCES; + static { + STATIC_INDEX_HTML_RESOURCES = new String[RESOURCE_LOCATIONS.length]; + for (int i = 0; i < STATIC_INDEX_HTML_RESOURCES.length; i++) { + STATIC_INDEX_HTML_RESOURCES[i] = RESOURCE_LOCATIONS[i] + "index.html"; + } + } + + @Override + public void addResourceHandlers(ResourceHandlerRegistry registry) { + if (!registry.hasMappingForPattern("/webjars/**")) { + registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/"); + } + if (!registry.hasMappingForPattern("/**")) { + registry.addResourceHandler("/**").addResourceLocations(RESOURCE_LOCATIONS); + } + } + + @Bean + public Jackson2ObjectMapperBuilder builder() { + Jackson2ObjectMapperBuilder builder = new Jackson2ObjectMapperBuilder() + .indentOutput(true) + .featuresToDisable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS) + .dateFormat(new RFC3339DateFormat()); + return builder; + } + + @Override + public void configureMessageConverters(List> converters) { + converters.add(new MappingJackson2HttpMessageConverter(objectMapper())); + super.configureMessageConverters(converters); + } + + @Bean + public ObjectMapper objectMapper(){ + return builder().build(); + } +} diff --git a/accelerators/codegen/target/classes/JavaSpringBoot/libraries/spring-mvc/webApplication.mustache b/accelerators/codegen/target/classes/JavaSpringBoot/libraries/spring-mvc/webApplication.mustache new file mode 100644 index 00000000000..9c31004d13e --- /dev/null +++ b/accelerators/codegen/target/classes/JavaSpringBoot/libraries/spring-mvc/webApplication.mustache @@ -0,0 +1,22 @@ +package {{configPackage}}; + +import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer; + +{{>generatedAnnotation}} +public class WebApplication extends AbstractAnnotationConfigDispatcherServletInitializer { + + @Override + protected Class[] getRootConfigClasses() { + return new Class[] { SwaggerUiConfiguration.class }; + } + + @Override + protected Class[] getServletConfigClasses() { + return new Class[] { WebMvcConfiguration.class }; + } + + @Override + protected String[] getServletMappings() { + return new String[] { "/" }; + } +} diff --git a/accelerators/codegen/target/classes/JavaSpringBoot/libraries/spring-mvc/webMvcConfiguration.mustache b/accelerators/codegen/target/classes/JavaSpringBoot/libraries/spring-mvc/webMvcConfiguration.mustache new file mode 100644 index 00000000000..d60c126316e --- /dev/null +++ b/accelerators/codegen/target/classes/JavaSpringBoot/libraries/spring-mvc/webMvcConfiguration.mustache @@ -0,0 +1,12 @@ +package {{configPackage}}; + +import org.springframework.web.servlet.config.annotation.DefaultServletHandlerConfigurer; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport; + +{{>generatedAnnotation}} +public class WebMvcConfiguration extends WebMvcConfigurationSupport { + @Override + public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) { + configurer.enable(); + } +} diff --git a/accelerators/codegen/target/classes/JavaSpringBoot/mdmsUtil.mustache b/accelerators/codegen/target/classes/JavaSpringBoot/mdmsUtil.mustache new file mode 100644 index 00000000000..2bab3afd027 --- /dev/null +++ b/accelerators/codegen/target/classes/JavaSpringBoot/mdmsUtil.mustache @@ -0,0 +1,81 @@ +package {{utilPackage}}; + +import com.fasterxml.jackson.databind.ObjectMapper; +import {{basePackage}}.config.Configuration; +import lombok.extern.slf4j.Slf4j; +import net.minidev.json.JSONArray; +import org.egov.common.contract.request.RequestInfo; +import org.egov.mdms.model.*; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; +import org.springframework.web.client.RestTemplate; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import static {{basePackage}}.config.ServiceConstants.*; + +@Slf4j +@Component +public class MdmsUtil { + + @Autowired + private RestTemplate restTemplate; + + @Autowired + private ObjectMapper mapper; + + @Autowired + private Configuration configs; + + + + + public Map> fetchMdmsData(RequestInfo requestInfo, String tenantId, String moduleName, + List masterNameList) { + StringBuilder uri = new StringBuilder(); + uri.append(configs.getMdmsHost()).append(configs.getMdmsEndPoint()); + MdmsCriteriaReq mdmsCriteriaReq = getMdmsRequest(requestInfo, tenantId, moduleName, masterNameList); + Object response = new HashMap<>(); + Integer rate = 0; + MdmsResponse mdmsResponse = new MdmsResponse(); + try { + response = restTemplate.postForObject(uri.toString(), mdmsCriteriaReq, Map.class); + mdmsResponse = mapper.convertValue(response, MdmsResponse.class); + }catch(Exception e) { + log.error(ERROR_WHILE_FETCHING_FROM_MDMS,e); + } + + return mdmsResponse.getMdmsRes(); + //log.info(ulbToCategoryListMap.toString()); + } + + private MdmsCriteriaReq getMdmsRequest(RequestInfo requestInfo, String tenantId, + String moduleName, List masterNameList) { + List masterDetailList = new ArrayList<>(); + for(String masterName: masterNameList) { + MasterDetail masterDetail = new MasterDetail(); + masterDetail.setName(masterName); + masterDetailList.add(masterDetail); + } + + ModuleDetail moduleDetail = new ModuleDetail(); + moduleDetail.setMasterDetails(masterDetailList); + moduleDetail.setModuleName(moduleName); + List moduleDetailList = new ArrayList<>(); + moduleDetailList.add(moduleDetail); + + MdmsCriteria mdmsCriteria = new MdmsCriteria(); + mdmsCriteria.setTenantId(tenantId.split("\\.")[0]); + mdmsCriteria.setModuleDetails(moduleDetailList); + + MdmsCriteriaReq mdmsCriteriaReq = new MdmsCriteriaReq(); + mdmsCriteriaReq.setMdmsCriteria(mdmsCriteria); + mdmsCriteriaReq.setRequestInfo(requestInfo); + + return mdmsCriteriaReq; + } +} \ No newline at end of file diff --git a/accelerators/codegen/target/classes/JavaSpringBoot/model.mustache b/accelerators/codegen/target/classes/JavaSpringBoot/model.mustache new file mode 100644 index 00000000000..290ad242a80 --- /dev/null +++ b/accelerators/codegen/target/classes/JavaSpringBoot/model.mustache @@ -0,0 +1,39 @@ +package {{package}}; + +import java.util.Objects; +{{#imports}}import {{import}}; +{{/imports}} +{{#serializableModel}} +import java.io.Serializable; +{{/serializableModel}} +{{#useBeanValidation}} +import org.springframework.validation.annotation.Validated; +import javax.validation.Valid; +import javax.validation.constraints.*; +{{/useBeanValidation}} +{{#useLombok}} +import lombok.AllArgsConstructor; +import lombok.NoArgsConstructor; +import lombok.Data; +import lombok.Builder; +{{/useLombok}} +{{#jackson}} +{{#withXml}} +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement; +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; +{{/withXml}} +{{/jackson}} +{{#withXml}} +import javax.xml.bind.annotation.*; +{{/withXml}} + +{{#models}} +{{#model}} +{{#isEnum}} +{{>enumOuterClass}} +{{/isEnum}} +{{^isEnum}} +{{>pojo}} +{{/isEnum}} +{{/model}} +{{/models}} diff --git a/accelerators/codegen/target/classes/JavaSpringBoot/notFoundException.mustache b/accelerators/codegen/target/classes/JavaSpringBoot/notFoundException.mustache new file mode 100644 index 00000000000..40c25c5ea5c --- /dev/null +++ b/accelerators/codegen/target/classes/JavaSpringBoot/notFoundException.mustache @@ -0,0 +1,10 @@ +package {{apiPackage}}; + +{{>generatedAnnotation}} +public class NotFoundException extends ApiException { + private int code; + public NotFoundException (int code, String msg) { + super(code, msg); + this.code = code; + } +} diff --git a/accelerators/codegen/target/classes/JavaSpringBoot/optionalDataType.mustache b/accelerators/codegen/target/classes/JavaSpringBoot/optionalDataType.mustache new file mode 100644 index 00000000000..976950e27e8 --- /dev/null +++ b/accelerators/codegen/target/classes/JavaSpringBoot/optionalDataType.mustache @@ -0,0 +1 @@ +{{#useOptional}}{{#required}}{{{dataType}}}{{/required}}{{^required}}Optional<{{{dataType}}}>{{/required}}{{/useOptional}}{{^useOptional}}{{{dataType}}}{{/useOptional}} \ No newline at end of file diff --git a/accelerators/codegen/target/classes/JavaSpringBoot/pathParams.mustache b/accelerators/codegen/target/classes/JavaSpringBoot/pathParams.mustache new file mode 100644 index 00000000000..7dd6af4690a --- /dev/null +++ b/accelerators/codegen/target/classes/JavaSpringBoot/pathParams.mustache @@ -0,0 +1 @@ +{{#isPathParam}}{{#useBeanValidation}}{{>beanValidationPathParams}}{{/useBeanValidation}}{{#useOas2}}@ApiParam(value = "{{{description}}}"{{#required}}, required=true{{/required}}{{#allowableValues}}, {{> allowableValues }}{{/allowableValues}}{{#defaultValue}}, defaultValue="{{{defaultValue}}}"{{/defaultValue}}){{/useOas2}}{{^useOas2}}@Parameter(in = ParameterIn.PATH, description = "{{{description}}}"{{#required}}, required=true{{/required}}, schema=@Schema({{#allowableValues}}{{> allowableValues }}{{/allowableValues}}{{#defaultValue}}{{#allowableValues}},{{/allowableValues}} defaultValue="{{{defaultValue}}}"{{/defaultValue}})){{/useOas2}} @PathVariable("{{baseName}}") {{>optionalDataType}} {{paramName}}{{/isPathParam}} \ No newline at end of file diff --git a/accelerators/codegen/target/classes/JavaSpringBoot/pojo.mustache b/accelerators/codegen/target/classes/JavaSpringBoot/pojo.mustache new file mode 100644 index 00000000000..978057e6672 --- /dev/null +++ b/accelerators/codegen/target/classes/JavaSpringBoot/pojo.mustache @@ -0,0 +1,145 @@ +/** + * {{#description}}{{.}}{{/description}}{{^description}}{{classname}}{{/description}} + */{{#description}} +@Schema(description = "{{{description}}}"){{/description}} +{{#useBeanValidation}}@Validated{{/useBeanValidation}} +{{>generatedAnnotation}}{{#discriminator}}{{>typeInfoAnnotation}}{{/discriminator}}{{>xmlAnnotation}} +{{#useLombok}} +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +{{/useLombok}} +public class {{classname}} {{#parent}}extends {{{parent}}}{{/parent}} {{#serializableModel}}implements Serializable{{/serializableModel}} { +{{#serializableModel}} + private static final long serialVersionUID = 1L; + +{{/serializableModel}} +{{#vars}} + {{#isEnum}} + {{^isContainer}} + {{>enumClass}} + {{/isContainer}} + {{/isEnum}} + {{#items.isEnum}} + {{#items}} + {{^isContainer}} + {{>enumClass}} + {{/isContainer}} + {{/items}} + {{/items.isEnum}} + {{#jackson}} + @JsonProperty("{{baseName}}"){{#withXml}} + @JacksonXmlProperty({{#isXmlAttribute}}isAttribute = true, {{/isXmlAttribute}}{{#xmlNamespace}}namespace="{{xmlNamespace}}", {{/xmlNamespace}}localName = "{{#xmlName}}{{xmlName}}{{/xmlName}}{{^xmlName}}{{baseName}}{{/xmlName}}"){{/withXml}} + {{/jackson}} + {{#gson}} + @SerializedName("{{baseName}}") + {{/gson}} + {{#isContainer}} + {{#useBeanValidation}}{{>beanValidation}}{{/useBeanValidation}} + private {{{datatypeWithEnum}}} {{name}}{{#required}} = {{{defaultValue}}}{{/required}}{{^required}} = null{{/required}}; + {{/isContainer}} + {{^isContainer}} + {{#useBeanValidation}}{{>beanValidation}}{{/useBeanValidation}} + private {{{datatypeWithEnum}}} {{name}} = {{{defaultValue}}}; + {{/isContainer}} + +{{/vars}} +{{#vars}} + {{#isListContainer}} + + public {{classname}} add{{nameInCamelCase}}Item({{{items.datatypeWithEnum}}} {{name}}Item) { + {{^required}} + if (this.{{name}} == null) { + this.{{name}} = {{{defaultValue}}}; + } + {{/required}} + this.{{name}}.add({{name}}Item); + return this; + } + {{/isListContainer}} + {{#isMapContainer}} + + public {{classname}} put{{nameInCamelCase}}Item(String key, {{{items.datatypeWithEnum}}} {{name}}Item) { + {{^required}} + if (this.{{name}} == null) { + this.{{name}} = {{{defaultValue}}}; + } + {{/required}} + this.{{name}}.put(key, {{name}}Item); + return this; + } + {{/isMapContainer}} + {{^useLombok}} + /** + {{#description}} + * {{{description}}} + {{/description}} + {{^description}} + * Get {{name}} + {{/description}} + {{#minimum}} + * minimum: {{minimum}} + {{/minimum}} + {{#maximum}} + * maximum: {{maximum}} + {{/maximum}} + * @return {{name}} + **/ + {{#vendorExtensions.extraAnnotation}} + {{{vendorExtensions.extraAnnotation}}} + {{/vendorExtensions.extraAnnotation}} + @ApiModelProperty({{#example}}example = "{{{example}}}", {{/example}}{{#required}}required = {{required}}, {{/required}}{{#isReadOnly}}readOnly = {{{isReadOnly}}}, {{/isReadOnly}}value = "{{{description}}}") + {{#useBeanValidation}}{{>beanValidation}}{{/useBeanValidation}} public {{{datatypeWithEnum}}} {{#isBoolean}}is{{/isBoolean}}{{getter}}() { + return {{name}}; + } + + public void {{setter}}({{{datatypeWithEnum}}} {{name}}) { + this.{{name}} = {{name}}; + } + {{/useLombok}} +{{/vars}} + +{{^useLombok}} +@Override +public boolean equals(java.lang.Object o) { +if (this == o) { +return true; +} +if (o == null || getClass() != o.getClass()) { +return false; +}{{#hasVars}} + {{classname}} {{classVarName}} = ({{classname}}) o; + return {{#vars}}Objects.equals(this.{{name}}, {{classVarName}}.{{name}}){{#hasMore}} && + {{/hasMore}}{{/vars}}{{#parent}} && + super.equals(o){{/parent}};{{/hasVars}}{{^hasVars}} + return true;{{/hasVars}} +} + +@Override +public int hashCode() { +return Objects.hash({{#vars}}{{name}}{{#hasMore}}, {{/hasMore}}{{/vars}}{{#parent}}{{#hasVars}}, {{/hasVars}}super.hashCode(){{/parent}}); +} + +@Override +public String toString() { +StringBuilder sb = new StringBuilder(); +sb.append("class {{classname}} {\n"); +{{#parent}}sb.append(" ").append(toIndentedString(super.toString())).append("\n");{{/parent}} +{{#vars}}sb.append(" {{name}}: ").append(toIndentedString({{name}})).append("\n"); +{{/vars}}sb.append("}"); +return sb.toString(); +} + +/** +* Convert the given object to string with each line indented by 4 spaces +* (except the first line). +*/ +private String toIndentedString(java.lang.Object o) { +if (o == null) { +return "null"; +} +return o.toString().replace("\n", "\n "); +} +{{/useLombok}} +} diff --git a/accelerators/codegen/target/classes/JavaSpringBoot/producer.mustache b/accelerators/codegen/target/classes/JavaSpringBoot/producer.mustache new file mode 100644 index 00000000000..35349dc79ca --- /dev/null +++ b/accelerators/codegen/target/classes/JavaSpringBoot/producer.mustache @@ -0,0 +1,20 @@ +package {{kafkaPackage}}; + +import lombok.extern.slf4j.Slf4j; +import org.egov.tracer.kafka.CustomKafkaTemplate; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +// NOTE: If tracer is disabled change CustomKafkaTemplate to KafkaTemplate in autowiring + +@Service +@Slf4j +public class Producer { + + @Autowired + private CustomKafkaTemplate kafkaTemplate; + + public void push(String topic, Object value) { + kafkaTemplate.send(topic, value); + } +} diff --git a/accelerators/codegen/target/classes/JavaSpringBoot/project/build.properties b/accelerators/codegen/target/classes/JavaSpringBoot/project/build.properties new file mode 100644 index 00000000000..a8c2f849be3 --- /dev/null +++ b/accelerators/codegen/target/classes/JavaSpringBoot/project/build.properties @@ -0,0 +1 @@ +sbt.version=0.12.0 diff --git a/accelerators/codegen/target/classes/JavaSpringBoot/project/plugins.sbt b/accelerators/codegen/target/classes/JavaSpringBoot/project/plugins.sbt new file mode 100644 index 00000000000..713b7f3e993 --- /dev/null +++ b/accelerators/codegen/target/classes/JavaSpringBoot/project/plugins.sbt @@ -0,0 +1,9 @@ +addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.8.4") + +libraryDependencies <+= sbtVersion(v => v match { + case "0.11.0" => "com.github.siasia" %% "xsbt-web-plugin" % "0.11.0-0.2.8" + case "0.11.1" => "com.github.siasia" %% "xsbt-web-plugin" % "0.11.1-0.2.10" + case "0.11.2" => "com.github.siasia" %% "xsbt-web-plugin" % "0.11.2-0.2.11" + case "0.11.3" => "com.github.siasia" %% "xsbt-web-plugin" % "0.11.3-0.2.11.1" + case x if (x.startsWith("0.12")) => "com.github.siasia" %% "xsbt-web-plugin" % "0.12.0-0.2.11.1" +}) \ No newline at end of file diff --git a/accelerators/codegen/target/classes/JavaSpringBoot/queryParams.mustache b/accelerators/codegen/target/classes/JavaSpringBoot/queryParams.mustache new file mode 100644 index 00000000000..42e2fe62c63 --- /dev/null +++ b/accelerators/codegen/target/classes/JavaSpringBoot/queryParams.mustache @@ -0,0 +1 @@ +{{#isQueryParam}}{{#useBeanValidation}}{{>beanValidationQueryParams}}{{/useBeanValidation}}{{#useOas2}}@ApiParam(value = "{{{description}}}"{{#required}}, required = true{{/required}}{{#allowableValues}}, {{> allowableValues }}{{/allowableValues}}{{#defaultValue}}, defaultValue = "{{{defaultValue}}}"{{/defaultValue}}){{/useOas2}}{{^useOas2}}@Parameter(in = ParameterIn.QUERY, description = "{{{description}}}" {{#required}},required=true{{/required}},schema=@Schema({{#allowableValues}}{{> allowableValues }}{{/allowableValues}}{{#defaultValue}}{{#allowableValues}},{{/allowableValues}} defaultValue="{{{defaultValue}}}"{{/defaultValue}})){{/useOas2}} {{#useBeanValidation}}@Valid{{/useBeanValidation}} @RequestParam(value = "{{baseName}}"{{#required}}, required = true{{/required}}{{^required}}, required = false{{/required}}{{#defaultValue}}, defaultValue="{{{defaultValue}}}"{{/defaultValue}}) {{>optionalDataType}} {{paramName}}{{/isQueryParam}} \ No newline at end of file diff --git a/accelerators/codegen/target/classes/JavaSpringBoot/requestInfoWrapper.mustache b/accelerators/codegen/target/classes/JavaSpringBoot/requestInfoWrapper.mustache new file mode 100644 index 00000000000..0920a87edf5 --- /dev/null +++ b/accelerators/codegen/target/classes/JavaSpringBoot/requestInfoWrapper.mustache @@ -0,0 +1,18 @@ +package {{modelPackage}}; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.*; +import org.egov.common.contract.request.RequestInfo; + + +@Getter +@Setter +@AllArgsConstructor +@NoArgsConstructor +@Builder +public class RequestInfoWrapper { + + @JsonProperty("RequestInfo") + private RequestInfo requestInfo; + +} \ No newline at end of file diff --git a/accelerators/codegen/target/classes/JavaSpringBoot/responseInfoFactory.mustache b/accelerators/codegen/target/classes/JavaSpringBoot/responseInfoFactory.mustache new file mode 100644 index 00000000000..4df269d7ff5 --- /dev/null +++ b/accelerators/codegen/target/classes/JavaSpringBoot/responseInfoFactory.mustache @@ -0,0 +1,27 @@ +package {{utilPackage}}; + +import org.egov.common.contract.request.RequestInfo; +import org.egov.common.contract.response.ResponseInfo; +import org.springframework.stereotype.Component; + +import static {{basePackage}}.config.ServiceConstants.*; + +@Component +public class ResponseInfoFactory { + + public ResponseInfo createResponseInfoFromRequestInfo(final RequestInfo requestInfo, final Boolean success) { + + final String apiId = requestInfo != null ? requestInfo.getApiId() : ""; + final String ver = requestInfo != null ? requestInfo.getVer() : ""; + Long ts = null; + if(requestInfo!=null) + ts = requestInfo.getTs(); + final String resMsgId = RES_MSG_ID; // FIXME : Hard-coded + final String msgId = requestInfo != null ? requestInfo.getMsgId() : ""; + final String responseStatus = success ? SUCCESSFUL : FAILED; + + return ResponseInfo.builder().apiId(apiId).ver(ver).ts(ts).resMsgId(resMsgId).msgId(msgId).resMsgId(resMsgId) + .status(responseStatus).build(); + } + +} \ No newline at end of file diff --git a/accelerators/codegen/target/classes/JavaSpringBoot/returnTypes.mustache b/accelerators/codegen/target/classes/JavaSpringBoot/returnTypes.mustache new file mode 100644 index 00000000000..c8f7a56938a --- /dev/null +++ b/accelerators/codegen/target/classes/JavaSpringBoot/returnTypes.mustache @@ -0,0 +1 @@ +{{#returnContainer}}{{#isMapContainer}}Map{{/isMapContainer}}{{#isListContainer}}List<{{{returnType}}}>{{/isListContainer}}{{/returnContainer}}{{^returnContainer}}{{{returnType}}}{{/returnContainer}} \ No newline at end of file diff --git a/accelerators/codegen/target/classes/JavaSpringBoot/serviceConstants.mustache b/accelerators/codegen/target/classes/JavaSpringBoot/serviceConstants.mustache new file mode 100644 index 00000000000..4b9aeed0932 --- /dev/null +++ b/accelerators/codegen/target/classes/JavaSpringBoot/serviceConstants.mustache @@ -0,0 +1,50 @@ +package {{configPackage}}; + + +import org.springframework.stereotype.Component; + + +@Component +public class ServiceConstants { + + public static final String EXTERNAL_SERVICE_EXCEPTION = "External Service threw an Exception: "; + public static final String SEARCHER_SERVICE_EXCEPTION = "Exception while fetching from searcher: "; + + public static final String IDGEN_ERROR = "IDGEN ERROR"; + public static final String NO_IDS_FOUND_ERROR = "No ids returned from idgen Service"; + + public static final String ERROR_WHILE_FETCHING_FROM_MDMS = "Exception occurred while fetching category lists from mdms: "; + + public static final String RES_MSG_ID = "uief87324"; + public static final String SUCCESSFUL = "successful"; + public static final String FAILED = "failed"; + + public static final String URL = "url"; + public static final String URL_SHORTENING_ERROR_CODE = "URL_SHORTENING_ERROR"; + public static final String URL_SHORTENING_ERROR_MESSAGE = "Unable to shorten url: "; + + public static final String DOB_FORMAT_Y_M_D = "yyyy-MM-dd"; + public static final String DOB_FORMAT_D_M_Y = "dd/MM/yyyy"; + public static final String ILLEGAL_ARGUMENT_EXCEPTION_CODE = "IllegalArgumentException"; + public static final String OBJECTMAPPER_UNABLE_TO_CONVERT = "ObjectMapper not able to convertValue in userCall"; + public static final String DOB_FORMAT_D_M_Y_H_M_S = "dd-MM-yyyy HH:mm:ss"; + public static final String CREATED_DATE = "createdDate"; + public static final String LAST_MODIFIED_DATE = "lastModifiedDate"; + public static final String DOB = "dob"; + public static final String PWD_EXPIRY_DATE = "pwdExpiryDate"; + public static final String INVALID_DATE_FORMAT_CODE = "INVALID_DATE_FORMAT"; + public static final String INVALID_DATE_FORMAT_MESSAGE = "Failed to parse date format in user"; + public static final String CITIZEN_UPPER = "CITIZEN"; + public static final String CITIZEN_LOWER = "Citizen"; + public static final String USER = "user"; + + public static final String PARSING_ERROR = "PARSING ERROR"; + public static final String FAILED_TO_PARSE_BUSINESS_SERVICE_SEARCH = "Failed to parse response of workflow business service search"; + public static final String BUSINESS_SERVICE_NOT_FOUND = "BUSINESSSERVICE_NOT_FOUND"; + public static final String THE_BUSINESS_SERVICE = "The businessService "; + public static final String NOT_FOUND = " is not found"; + public static final String TENANTID = "?tenantId="; + public static final String BUSINESS_SERVICES = "&businessServices="; + + +} diff --git a/accelerators/codegen/target/classes/JavaSpringBoot/serviceRequestRepository.mustache b/accelerators/codegen/target/classes/JavaSpringBoot/serviceRequestRepository.mustache new file mode 100644 index 00000000000..7c5a7cf010c --- /dev/null +++ b/accelerators/codegen/target/classes/JavaSpringBoot/serviceRequestRepository.mustache @@ -0,0 +1,47 @@ +package {{repositoryPackage}}; + + +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.SerializationFeature; +import lombok.extern.slf4j.Slf4j; +import org.egov.tracer.model.ServiceCallException; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Repository; +import org.springframework.web.client.HttpClientErrorException; +import org.springframework.web.client.RestTemplate; + +import java.util.Map; + +import static {{basePackage}}.config.ServiceConstants.*; + +@Repository +@Slf4j +public class ServiceRequestRepository { + + private ObjectMapper mapper; + + private RestTemplate restTemplate; + + + @Autowired + public ServiceRequestRepository(ObjectMapper mapper, RestTemplate restTemplate) { + this.mapper = mapper; + this.restTemplate = restTemplate; + } + + + public Object fetchResult(StringBuilder uri, Object request) { + mapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false); + Object response = null; + try { + response = restTemplate.postForObject(uri.toString(), request, Map.class); + }catch(HttpClientErrorException e) { + log.error(EXTERNAL_SERVICE_EXCEPTION,e); + throw new ServiceCallException(e.getResponseBodyAsString()); + }catch(Exception e) { + log.error(SEARCHER_SERVICE_EXCEPTION,e); + } + + return response; + } +} \ No newline at end of file diff --git a/accelerators/codegen/target/classes/JavaSpringBoot/swaggerDocumentationConfig.mustache b/accelerators/codegen/target/classes/JavaSpringBoot/swaggerDocumentationConfig.mustache new file mode 100644 index 00000000000..a0b2cded91a --- /dev/null +++ b/accelerators/codegen/target/classes/JavaSpringBoot/swaggerDocumentationConfig.mustache @@ -0,0 +1,56 @@ +package {{configPackage}}; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +import springfox.documentation.builders.ApiInfoBuilder; +import springfox.documentation.builders.RequestHandlerSelectors; +import springfox.documentation.service.ApiInfo; +import springfox.documentation.service.Contact; +import springfox.documentation.spi.DocumentationType; +import springfox.documentation.spring.web.plugins.Docket; +{{#useOptional}} +import java.util.Optional; +{{/useOptional}} + +{{>generatedAnnotation}} +@Configuration +public class SwaggerDocumentationConfig { + + ApiInfo apiInfo() { + return new ApiInfoBuilder() + .title("{{appName}}") + .description("{{{appDescription}}}") + .license("{{licenseInfo}}") + .licenseUrl("{{licenseUrl}}") + .termsOfServiceUrl("{{infoUrl}}") + .version("{{appVersion}}") + .contact(new Contact("","", "{{infoEmail}}")) + .build(); + } + + @Bean + public Docket customImplementation(){ + return new Docket(DocumentationType.SWAGGER_2) + .select() + .apis(RequestHandlerSelectors.basePackage("{{apiPackage}}")) + .build() + {{#java8}} + .directModelSubstitute(java.time.LocalDate.class, java.sql.Date.class) + .directModelSubstitute(java.time.OffsetDateTime.class, java.util.Date.class) + {{/java8}} + {{#joda}} + .directModelSubstitute(org.joda.time.LocalDate.class, java.sql.Date.class) + .directModelSubstitute(org.joda.time.DateTime.class, java.util.Date.class) + {{/joda}} + {{#threetenbp}} + .directModelSubstitute(org.threeten.bp.LocalDate.class, java.sql.Date.class) + .directModelSubstitute(org.threeten.bp.OffsetDateTime.class, java.util.Date.class) + {{/threetenbp}} + {{#useOptional}} + .genericModelSubstitutes(Optional.class) + {{/useOptional}} + .apiInfo(apiInfo()); + } + +} diff --git a/accelerators/codegen/target/classes/JavaSpringBoot/typeInfoAnnotation.mustache b/accelerators/codegen/target/classes/JavaSpringBoot/typeInfoAnnotation.mustache new file mode 100644 index 00000000000..2d7983d0101 --- /dev/null +++ b/accelerators/codegen/target/classes/JavaSpringBoot/typeInfoAnnotation.mustache @@ -0,0 +1,7 @@ +{{#jackson}} +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "{{discriminator}}", visible = true ) +@JsonSubTypes({ + {{#children}} + @JsonSubTypes.Type(value = {{classname}}.class, name = "{{^vendorExtensions.x-discriminator-value}}{{name}}{{/vendorExtensions.x-discriminator-value}}{{#vendorExtensions.x-discriminator-value}}{{{vendorExtensions.x-discriminator-value}}}{{/vendorExtensions.x-discriminator-value}}"), + {{/children}} +}){{/jackson}} diff --git a/accelerators/codegen/target/classes/JavaSpringBoot/urlShortenerUtil.mustache b/accelerators/codegen/target/classes/JavaSpringBoot/urlShortenerUtil.mustache new file mode 100644 index 00000000000..992bfe067a8 --- /dev/null +++ b/accelerators/codegen/target/classes/JavaSpringBoot/urlShortenerUtil.mustache @@ -0,0 +1,39 @@ +package {{utilPackage}}; + +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; +import org.springframework.web.client.RestTemplate; +import java.util.HashMap; +import {{basePackage}}.config.Configuration; +import static {{basePackage}}.config.ServiceConstants.*; + +@Slf4j +@Component +public class UrlShortenerUtil { + + @Autowired + private RestTemplate restTemplate; + + @Autowired + private Configuration configs; + + + public String getShortenedUrl(String url){ + + HashMap body = new HashMap<>(); + body.put(URL,url); + StringBuilder builder = new StringBuilder(configs.getUrlShortnerHost()); + builder.append(configs.getUrlShortnerEndpoint()); + String res = restTemplate.postForObject(builder.toString(), body, String.class); + + if(StringUtils.isEmpty(res)){ + log.error(URL_SHORTENING_ERROR_CODE, URL_SHORTENING_ERROR_MESSAGE + url); ; + return url; + } + else return res; + } + + +} \ No newline at end of file diff --git a/accelerators/codegen/target/classes/JavaSpringBoot/userUtil.mustache b/accelerators/codegen/target/classes/JavaSpringBoot/userUtil.mustache new file mode 100644 index 00000000000..214d598f219 --- /dev/null +++ b/accelerators/codegen/target/classes/JavaSpringBoot/userUtil.mustache @@ -0,0 +1,136 @@ +package {{utilPackage}}; + +import com.fasterxml.jackson.databind.ObjectMapper; +import {{basePackage}}.config.Configuration; +import static {{basePackage}}.config.ServiceConstants.*; +import digit.models.coremodels.user.Role; +import digit.models.coremodels.user.User; +import digit.models.coremodels.user.enums.UserType; +import {{basePackage}}.repository.ServiceRequestRepository; +import digit.models.coremodels.UserDetailResponse; +import org.egov.tracer.model.CustomException; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.*; + +@Component +public class UserUtil { + + @Autowired + private ObjectMapper mapper; + + @Autowired + private ServiceRequestRepository serviceRequestRepository; + + @Autowired + private Configuration configs; + + + @Autowired + public UserUtil(ObjectMapper mapper, ServiceRequestRepository serviceRequestRepository) { + this.mapper = mapper; + this.serviceRequestRepository = serviceRequestRepository; + } + + /** + * Returns UserDetailResponse by calling user service with given uri and object + * @param userRequest Request object for user service + * @param uri The address of the endpoint + * @return Response from user service as parsed as userDetailResponse + */ + + public UserDetailResponse userCall(Object userRequest, StringBuilder uri) { + String dobFormat = null; + if(uri.toString().contains(configs.getUserSearchEndpoint()) || uri.toString().contains(configs.getUserUpdateEndpoint())) + dobFormat=DOB_FORMAT_Y_M_D; + else if(uri.toString().contains(configs.getUserCreateEndpoint())) + dobFormat = DOB_FORMAT_D_M_Y; + try{ + LinkedHashMap responseMap = (LinkedHashMap)serviceRequestRepository.fetchResult(uri, userRequest); + parseResponse(responseMap,dobFormat); + UserDetailResponse userDetailResponse = mapper.convertValue(responseMap,UserDetailResponse.class); + return userDetailResponse; + } + catch(IllegalArgumentException e) + { + throw new CustomException(ILLEGAL_ARGUMENT_EXCEPTION_CODE,OBJECTMAPPER_UNABLE_TO_CONVERT); + } + } + + + /** + * Parses date formats to long for all users in responseMap + * @param responseMap LinkedHashMap got from user api response + */ + + public void parseResponse(LinkedHashMap responseMap, String dobFormat){ + List users = (List)responseMap.get(USER); + String format1 = DOB_FORMAT_D_M_Y_H_M_S; + if(users!=null){ + users.forEach( map -> { + map.put(CREATED_DATE,dateTolong((String)map.get(CREATED_DATE),format1)); + if((String)map.get(LAST_MODIFIED_DATE)!=null) + map.put(LAST_MODIFIED_DATE,dateTolong((String)map.get(LAST_MODIFIED_DATE),format1)); + if((String)map.get(DOB)!=null) + map.put(DOB,dateTolong((String)map.get(DOB),dobFormat)); + if((String)map.get(PWD_EXPIRY_DATE)!=null) + map.put(PWD_EXPIRY_DATE,dateTolong((String)map.get(PWD_EXPIRY_DATE),format1)); + } + ); + } + } + + /** + * Converts date to long + * @param date date to be parsed + * @param format Format of the date + * @return Long value of date + */ + private Long dateTolong(String date,String format){ + SimpleDateFormat f = new SimpleDateFormat(format); + Date d = null; + try { + d = f.parse(date); + } catch (ParseException e) { + throw new CustomException(INVALID_DATE_FORMAT_CODE,INVALID_DATE_FORMAT_MESSAGE); + } + return d.getTime(); + } + + /** + * enriches the userInfo with statelevel tenantId and other fields + * The function creates user with username as mobile number. + * @param mobileNumber + * @param tenantId + * @param userInfo + */ + public void addUserDefaultFields(String mobileNumber,String tenantId, User userInfo, UserType userType){ + Role role = getCitizenRole(tenantId); + userInfo.setRoles(Collections.singleton(role)); + userInfo.setType(userType); + userInfo.setUsername(mobileNumber); + userInfo.setTenantId(getStateLevelTenant(tenantId)); + userInfo.setActive(true); + } + + /** + * Returns role object for citizen + * @param tenantId + * @return + */ + private Role getCitizenRole(String tenantId){ + Role role = Role.builder().build(); + role.setCode(CITIZEN_UPPER); + role.setName(CITIZEN_LOWER); + role.setTenantId(getStateLevelTenant(tenantId)); + return role; + } + + public String getStateLevelTenant(String tenantId){ + return tenantId.split("\\.")[0]; + } + +} \ No newline at end of file diff --git a/accelerators/codegen/target/classes/JavaSpringBoot/workflowUtil.mustache b/accelerators/codegen/target/classes/JavaSpringBoot/workflowUtil.mustache new file mode 100644 index 00000000000..9205f92fd03 --- /dev/null +++ b/accelerators/codegen/target/classes/JavaSpringBoot/workflowUtil.mustache @@ -0,0 +1,173 @@ +package {{utilPackage}}; + +import com.fasterxml.jackson.databind.ObjectMapper; +import {{basePackage}}.config.Configuration; +import static {{basePackage}}.config.ServiceConstants.*; +import org.egov.common.contract.request.RequestInfo; +import org.egov.common.contract.request.User; +import digit.models.coremodels.*; +import {{basePackage}}.repository.ServiceRequestRepository; +import org.egov.tracer.model.CustomException; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; + +import java.util.*; +import java.util.stream.Collectors; + +@Service +public class WorkflowUtil { + + @Autowired + private ServiceRequestRepository repository; + + @Autowired + private ObjectMapper mapper; + + @Autowired + private Configuration configs; + + + + /** + * Searches the BussinessService corresponding to the businessServiceCode + * Returns applicable BussinessService for the given parameters + * @param requestInfo + * @param tenantId + * @param businessServiceCode + * @return + */ + public BusinessService getBusinessService(RequestInfo requestInfo, String tenantId, String businessServiceCode) { + + StringBuilder url = getSearchURLWithParams(tenantId, businessServiceCode); + RequestInfoWrapper requestInfoWrapper = RequestInfoWrapper.builder().requestInfo(requestInfo).build(); + Object result = repository.fetchResult(url, requestInfoWrapper); + BusinessServiceResponse response = null; + try { + response = mapper.convertValue(result, BusinessServiceResponse.class); + } catch (IllegalArgumentException e) { + throw new CustomException(PARSING_ERROR, FAILED_TO_PARSE_BUSINESS_SERVICE_SEARCH); + } + + if (CollectionUtils.isEmpty(response.getBusinessServices())) + throw new CustomException(BUSINESS_SERVICE_NOT_FOUND, THE_BUSINESS_SERVICE + businessServiceCode + NOT_FOUND); + + return response.getBusinessServices().get(0); + } + + /** + * Calls the workflow service with the given action and updates the status + * Returns the updated status of the application + * @param requestInfo + * @param tenantId + * @param businessId + * @param businessServiceCode + * @param workflow + * @param wfModuleName + * @return + */ + public String updateWorkflowStatus(RequestInfo requestInfo, String tenantId, + String businessId, String businessServiceCode, Workflow workflow, String wfModuleName) { + ProcessInstance processInstance = getProcessInstanceForWorkflow(requestInfo, tenantId, businessId, + businessServiceCode, workflow, wfModuleName); + ProcessInstanceRequest workflowRequest = new ProcessInstanceRequest(requestInfo, Collections.singletonList(processInstance)); + State state = callWorkFlow(workflowRequest); + + return state.getApplicationStatus(); + } + + /** + * Creates url for search based on given tenantId and businessServices + * @param tenantId + * @param businessService + * @return + */ + private StringBuilder getSearchURLWithParams(String tenantId, String businessService) { + StringBuilder url = new StringBuilder(configs.getWfHost()); + url.append(configs.getWfBusinessServiceSearchPath()); + url.append(TENANTID); + url.append(tenantId); + url.append(BUSINESS_SERVICES); + url.append(businessService); + return url; + } + + /** + * Enriches ProcessInstance Object for Workflow + * @param requestInfo + * @param tenantId + * @param businessId + * @param businessServiceCode + * @param workflow + * @param wfModuleName + * @return + */ + private ProcessInstance getProcessInstanceForWorkflow(RequestInfo requestInfo, String tenantId, + String businessId, String businessServiceCode, Workflow workflow, String wfModuleName) { + + ProcessInstance processInstance = new ProcessInstance(); + processInstance.setBusinessId(businessId); + processInstance.setAction(workflow.getAction()); + processInstance.setModuleName(wfModuleName); + processInstance.setTenantId(tenantId); + processInstance.setBusinessService(getBusinessService(requestInfo, tenantId, businessServiceCode).getBusinessService()); + processInstance.setDocuments(workflow.getVerificationDocuments()); + processInstance.setComment(workflow.getComments()); + + if(!CollectionUtils.isEmpty(workflow.getAssignes())) { + List users = new ArrayList<>(); + + workflow.getAssignes().forEach(uuid -> { + User user = new User(); + user.setUuid(uuid); + users.add(user); + }); + + processInstance.setAssignes(users); + } + + return processInstance; + } + + /** + * Gets the workflow corresponding to the processInstance + * @param processInstances + * @return + */ + public Map getWorkflow(List processInstances) { + + Map businessIdToWorkflow = new HashMap<>(); + + processInstances.forEach(processInstance -> { + List userIds = null; + + if(!CollectionUtils.isEmpty(processInstance.getAssignes())){ + userIds = processInstance.getAssignes().stream().map(User::getUuid).collect(Collectors.toList()); + } + + Workflow workflow = Workflow.builder() + .action(processInstance.getAction()) + .assignes(userIds) + .comments(processInstance.getComment()) + .verificationDocuments(processInstance.getDocuments()) + .build(); + + businessIdToWorkflow.put(processInstance.getBusinessId(), workflow); + }); + + return businessIdToWorkflow; + } + + /** + * Method to take the ProcessInstanceRequest as parameter and set resultant status + * @param workflowReq + * @return + */ + private State callWorkFlow(ProcessInstanceRequest workflowReq) { + ProcessInstanceResponse response = null; + StringBuilder url = new StringBuilder(configs.getWfHost().concat(configs.getWfTransitionPath())); + Object optional = repository.fetchResult(url, workflowReq); + response = mapper.convertValue(optional, ProcessInstanceResponse.class); + return response.getProcessInstances().get(0).getState(); + } +} \ No newline at end of file diff --git a/accelerators/codegen/target/classes/JavaSpringBoot/xmlAnnotation.mustache b/accelerators/codegen/target/classes/JavaSpringBoot/xmlAnnotation.mustache new file mode 100644 index 00000000000..fd81a4cf5d8 --- /dev/null +++ b/accelerators/codegen/target/classes/JavaSpringBoot/xmlAnnotation.mustache @@ -0,0 +1,6 @@ +{{#withXml}} +{{#jackson}} +@JacksonXmlRootElement({{#xmlNamespace}}namespace="{{xmlNamespace}}", {{/xmlNamespace}}localName = "{{#xmlName}}{{xmlName}}{{/xmlName}}{{^xmlName}}{{classname}}{{/xmlName}}") +{{/jackson}} +@XmlRootElement({{#xmlNamespace}}namespace="{{xmlNamespace}}", {{/xmlNamespace}}name = "{{#xmlName}}{{xmlName}}{{/xmlName}}{{^xmlName}}{{classname}}{{/xmlName}}") +@XmlAccessorType(XmlAccessType.FIELD){{/withXml}} \ No newline at end of file diff --git a/accelerators/codegen/target/classes/META-INF/MANIFEST.MF b/accelerators/codegen/target/classes/META-INF/MANIFEST.MF new file mode 100644 index 00000000000..791b5853b34 --- /dev/null +++ b/accelerators/codegen/target/classes/META-INF/MANIFEST.MF @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +Main-Class: org.egov.codegen.Main + diff --git a/accelerators/codegen/target/classes/org/egov/codegen/Config.class b/accelerators/codegen/target/classes/org/egov/codegen/Config.class new file mode 100644 index 00000000000..d699ea7e842 Binary files /dev/null and b/accelerators/codegen/target/classes/org/egov/codegen/Config.class differ diff --git a/accelerators/codegen/target/classes/org/egov/codegen/Main.class b/accelerators/codegen/target/classes/org/egov/codegen/Main.class new file mode 100644 index 00000000000..08dd0e2c21f Binary files /dev/null and b/accelerators/codegen/target/classes/org/egov/codegen/Main.class differ diff --git a/accelerators/codegen/target/classes/org/egov/codegen/SpringBootCodegen$1.class b/accelerators/codegen/target/classes/org/egov/codegen/SpringBootCodegen$1.class new file mode 100644 index 00000000000..be7ffc9b627 Binary files /dev/null and b/accelerators/codegen/target/classes/org/egov/codegen/SpringBootCodegen$1.class differ diff --git a/accelerators/codegen/target/classes/org/egov/codegen/SpringBootCodegen$2.class b/accelerators/codegen/target/classes/org/egov/codegen/SpringBootCodegen$2.class new file mode 100644 index 00000000000..306a58393e5 Binary files /dev/null and b/accelerators/codegen/target/classes/org/egov/codegen/SpringBootCodegen$2.class differ diff --git a/accelerators/codegen/target/classes/org/egov/codegen/SpringBootCodegen$DataTypeAssigner.class b/accelerators/codegen/target/classes/org/egov/codegen/SpringBootCodegen$DataTypeAssigner.class new file mode 100644 index 00000000000..f98bb1f0876 Binary files /dev/null and b/accelerators/codegen/target/classes/org/egov/codegen/SpringBootCodegen$DataTypeAssigner.class differ diff --git a/accelerators/codegen/target/classes/org/egov/codegen/SpringBootCodegen.class b/accelerators/codegen/target/classes/org/egov/codegen/SpringBootCodegen.class new file mode 100644 index 00000000000..37347af8cee Binary files /dev/null and b/accelerators/codegen/target/classes/org/egov/codegen/SpringBootCodegen.class differ diff --git a/accelerators/inbox/target/classes/application.properties b/accelerators/inbox/target/classes/application.properties new file mode 100644 index 00000000000..407a655ee9b --- /dev/null +++ b/accelerators/inbox/target/classes/application.properties @@ -0,0 +1,126 @@ +server.context-path=/inbox +server.servlet.context-path=/inbox + +server.port=9011 +app.timezone=GMT+5:30 + +#DATABASE CONFIGURATION +spring.datasource.driver-class-name=org.postgresql.Driver +spring.datasource.url=jdbc:postgresql://localhost:5432/birthregn +spring.datasource.username=birth +spring.datasource.password=birth +spring.flyway.enabled=false + + +# wf url +#dev +workflow.host=http://localhost:8096 +workflow.process.search.path=/egov-workflow-v2/egov-wf/process/_search +workflow.businessservice.search.path=/egov-workflow-v2/egov-wf/businessservice/_search +workflow.process.count.path=/egov-workflow-v2/egov-wf/process/_count +workflow.process.statuscount.path=/egov-workflow-v2/egov-wf/process/_statuscount +workflow.process.nearing.sla.count.path=/egov-workflow-v2/egov-wf/process/_nearingslacount + +#vehicle +#egov.vehicle.host=http://localhost:8061 +egov.vehicle.host=http://vehicle.egov:8080 +vehicle.search.path=/vehicle/trip/v1/_search +vehicle.fetchApplicationStatusCount.path=/vehicle/v1/fetchApplicationStatusCount +vehicle.fetchApplicationIds.path=/vehicle/v1/fetchApplicationIds +vehicle.searchTrip.path=/vehicle/v1/searchTrip + +#fsm +#egov.fsm.host=http://localhost:9098 +egov.fsm.host=http://fsm.egov:8080 +egov.fsm.fetchApplicationIds.path=/fsm/v1/fetchApplicationIds + +#service.search.mapping={"FSM":{"searchPath":"http://localhost:9098/fsm/v1/_search","dataRoot":"fsm","applNosParam":"applicationNos","businessIdProperty":"applicationNo","applsStatusParam":"applicationStatus"},"FSM_VEHICLE_TRIP":{"searchPath":"http://localhost:8061/vehicle/trip/v1/_search","dataRoot":"vehicleTrip","applNosParam":"applicationNos","businessIdProperty":"applicationNo","applsStatusParam":"applicationStatus"}} +service.search.mapping={"FSM":{"searchPath":"http://localhost:9098/fsm/v1/_search","dataRoot":"fsm","applNosParam":"applicationNos","businessIdProperty":"applicationNo","applsStatusParam":"applicationStatus"},"FSM_POST_PAY_SERVICE":{"searchPath":"http://localhost:9098/fsm/v1/_search","dataRoot":"fsm","applNosParam":"applicationNos","businessIdProperty":"applicationNo","applsStatusParam":"applicationStatus"},"FSM_VEHICLE_TRIP":{"searchPath":"http://localhost:8061/vehicle/trip/v1/_search","dataRoot":"vehicleTrip","applNosParam":"applicationNos","businessIdProperty":"applicationNo","applsStatusParam":"applicationStatus"},"PT.CREATE,PT.MUTATION,PT.UPDATE":{"searchPath":"http://localhost:8084/property-services/property/_search","dataRoot":"Properties","applNosParam":"acknowldgementNumber","businessIdProperty":"acknowldgementNumber","applsStatusParam":"status"},"NewTL,EDITRENEWAL,DIRECTRENEWAL":{"searchPath":"http://localhost:8088/tl-services/v1/_search","dataRoot":"Licenses","applNosParam":"applicationNumber","businessIdProperty":"applicationNumber","applsStatusParam":"status"},"BPA_LOW,BPA,BPA_OC":{"searchPath":"http://localhost:8098/bpa-services/v1/bpa/_search","dataRoot":"BPA","applNosParam":"applicationNo","businessIdProperty":"applicationNo","applsStatusParam":"status"},"ARCHITECT,ENGINEER,STRUCTURALENGINEER,BUILDER":{"searchPath":"http://localhost:8088/tl-services/v1/BPAREG/_search","dataRoot":"Licenses","applNosParam":"applicationNumber","businessIdProperty":"applicationNumber","applsStatusParam":"status"},"FIRE_NOC_SRV,FIRE_NOC_OFFLINE,AIRPORT_NOC_OFFLINE,AIRPORT_NOC_SRV":{"searchPath":"http://localhost:8099/noc-services/v1/noc/_search","dataRoot":"Noc","applNosParam":"applicationNo","businessIdProperty":"applicationNo","applsStatusParam":"status"},"NewWS1,ModifyWSConnection,DisconnectWSConnection":{"searchPath":"http://localhost:1080/ws-services/wc/_search","dataRoot":"WaterConnection","applNosParam":"applicationNumber","businessIdProperty":"applicationNo","applsStatusParam":"applicationStatus"},"NewSW1,ModifySWConnection,DisconnectSWConnection":{"searchPath":"http://localhost:1081/sw-services/swc/_search","dataRoot":"SewerageConnections","applNosParam":"applicationNumber","businessIdProperty":"applicationNo","applsStatusParam":"applicationStatus"},"BS.AMENDMENT":{"searchPath":"http://localhost:1082/billing-service/amendment/_search","dataRoot":"Amendments","applNosParam":"consumerCode","businessIdProperty":"amendmentId","applsStatusParam":"status"}} + +# CONFIGS +bs.businesscode.service.search= {"WS":{"searchPath":"http://localhost:1080/ws-services/wc/_search","dataRoot":"WaterConnection","consumerCodeParam":"connectionNumber","consumerParamInService":"connectionNo"},"SW":{"searchPath":"http://localhost:1081/sw-services/swc/_search","dataRoot":"SewerageConnections","consumerCodeParam":"connectionNumber","consumerParamInService":"connectionNo"}} + +# user url +egov.user.host=http://localhost:8090 +egov.user.search.path=/user/_search +egov.user.create.path=/user/users/_createnovalidate + +egov.searcher.host=http://localhost:9094 +egov.searcher.pt.search.path=/egov-searcher/property-services/inboxpropertysearch/_get +egov.searcher.tl.search.path=/egov-searcher/tl-services/inboxtlsearch/_get +egov.searcher.pt.count.path=/egov-searcher/property-services/inboxpropertysearchcount/_get +egov.searcher.tl.count.path=/egov-searcher/tl-services/inboxtlsearchcount/_get +egov.searcher.pt.search.desc.path=/egov-searcher/property-services/inboxpropertysearchdesc/_get +egov.searcher.tl.search.desc.path=/egov-searcher/tl-services/inboxtlsearchdesc/_get +# BPA Searcher end-points +egov.searcher.bpa.citizen.search.path=/egov-searcher/bpa-services/inboxbpacitizensearch/_get +egov.searcher.bpa.citizen.count.path=/egov-searcher/bpa-services/inboxbpacitizensearchcount/_get +egov.searcher.bpa.citizen.search.desc.path=/egov-searcher/bpa-services/inboxbpacitizensearchdesc/_get +egov.searcher.bpa.search.path=/egov-searcher/bpa-services/inboxbpastakeholdersearch/_get +egov.searcher.bpa.count.path=/egov-searcher/bpa-services/inboxbpastakeholdersearchcount/_get +egov.searcher.bpa.search.desc.path=/egov-searcher/bpa-services/inboxbpastakeholdersearchdesc/_get +egov.searcher.bpa.tenant.wise.applnno.path=/egov-searcher/bpa-services/inboxbpastakeholdertenantwiseapplnsearch/_get +egov.searcher.bpa.citizen.tenant.wise.applnno.path=/egov-searcher/bpa-services/inboxbpacitizentenantwiseapplnsearch/_get +#NOC Searcher end-points +egov.searcher.noc.search.path=/egov-searcher/noc-services/inboxnocsearch/_get +egov.searcher.noc.count.path=/egov-searcher/noc-services/inboxnocsearchcount/_get +egov.searcher.noc.search.desc.path=/egov-searcher/noc-services/inboxnocsearchdesc/_get + +#FSM count end-point +egov.searcher.fsm.count.path=/egov-searcher/fsm-services/inboxfsmsearchcount/_get +egov.searcher.fsm.dsoid.path=/egov-searcher/fsm-services/inboxfsmdsoId/_get + +#WS Searcher end-points +egov.searcher.ws.search.path=/egov-searcher/ws-services/inboxwssearch/_get +egov.searcher.ws.count.path=/egov-searcher/ws-services/inboxwssearchcount/_get +egov.searcher.ws.search.desc.path=/egov-searcher/ws-services/inboxwssearchdesc/_get + +#SW Searcher end-points +egov.searcher.sw.search.path=/egov-searcher/sw-services/inboxswsearch/_get +egov.searcher.sw.count.path=/egov-searcher/sw-services/inboxswsearchcount/_get +egov.searcher.sw.search.desc.path=/egov-searcher/sw-services/inboxswsearchdesc/_get + +#BS WS Searcher end-points +egov.searcher.bs.search.path=/egov-searcher/bsWs-service/inboxbswssearch/_get +egov.searcher.bs.count.path=/egov-searcher/bsWs-service/inboxbswssearchcount/_get +egov.searcher.bs.search.desc.path=/egov-searcher/bsWs-service/inboxbswssearchdesc/_get + +#BS SW Searcher end-points +egov.searcher.bs.sw.search.path=/egov-searcher/bsSw-service/inboxbsswsearch/_get +egov.searcher.bs.sw.count.path=/egov-searcher/bsSw-service/inboxbsswsearchcount/_get +egov.searcher.bs.sw.search.desc.path=/egov-searcher/bsSw-service/inboxbsswsearchdesc/_get + +#getchartv2 end points +egov.dashboard.analytics.host=http://localhost:8282 +egov.dashboard.analytics.getchartv2.path=/dashboard-analytics/dashboard/getChartV2 + +egov.mdms.host=https://dev.digit.org +egov.mdms.search.endpoint=/egov-mdms-service/v1/_search + +egov.es.username=egov-admin +egov.es.password=TUSYns9mEcRPy77n +services.esindexer.host=http://localhost:9200/ +egov.services.esindexer.host.search=/_search +management.health.elasticsearch.enabled=false +parent.level.tenant.id=pb + +egov.internal.microservice.user.uuid=b5b2ac70-d347-4339-98f0-5349ce25f99f + +# central-instance configs +state.level.tenantid.length=2 +is.environment.central.instance=false + +#Elastic search properties +water.es.index=water-services +sewerage.es.index=sewerage-services +es.search.pagination.default.limit=50 +es.search.pagination.default.offset=0 +es.search.pagination.max.search.limit=1000 +es.search.default.sort.order=desc + +#Inbox search properties +inbox.water.search.allowed=true + +#state level tenant +state.level.tenant.id=pb +cache.expiry.minutes=10 \ No newline at end of file diff --git a/accelerators/inbox/target/classes/org/egov/InboxApplication.class b/accelerators/inbox/target/classes/org/egov/InboxApplication.class new file mode 100644 index 00000000000..00c1aa1d344 Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/InboxApplication.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/config/InboxConfiguration$InboxConfigurationBuilder.class b/accelerators/inbox/target/classes/org/egov/inbox/config/InboxConfiguration$InboxConfigurationBuilder.class new file mode 100644 index 00000000000..52210e8feb5 Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/config/InboxConfiguration$InboxConfigurationBuilder.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/config/InboxConfiguration.class b/accelerators/inbox/target/classes/org/egov/inbox/config/InboxConfiguration.class new file mode 100644 index 00000000000..23eeebbadab Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/config/InboxConfiguration.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/model/vehicle/AuditDetails$AuditDetailsBuilder.class b/accelerators/inbox/target/classes/org/egov/inbox/model/vehicle/AuditDetails$AuditDetailsBuilder.class new file mode 100644 index 00000000000..fda258fce19 Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/model/vehicle/AuditDetails$AuditDetailsBuilder.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/model/vehicle/AuditDetails.class b/accelerators/inbox/target/classes/org/egov/inbox/model/vehicle/AuditDetails.class new file mode 100644 index 00000000000..493a015ae63 Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/model/vehicle/AuditDetails.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/model/vehicle/User$UserBuilder.class b/accelerators/inbox/target/classes/org/egov/inbox/model/vehicle/User$UserBuilder.class new file mode 100644 index 00000000000..45c6c03a676 Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/model/vehicle/User$UserBuilder.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/model/vehicle/User.class b/accelerators/inbox/target/classes/org/egov/inbox/model/vehicle/User.class new file mode 100644 index 00000000000..923206442ee Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/model/vehicle/User.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/model/vehicle/VehicleSearchCriteria$SortBy.class b/accelerators/inbox/target/classes/org/egov/inbox/model/vehicle/VehicleSearchCriteria$SortBy.class new file mode 100644 index 00000000000..89595bd200e Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/model/vehicle/VehicleSearchCriteria$SortBy.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/model/vehicle/VehicleSearchCriteria$SortOrder.class b/accelerators/inbox/target/classes/org/egov/inbox/model/vehicle/VehicleSearchCriteria$SortOrder.class new file mode 100644 index 00000000000..9095f977d9d Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/model/vehicle/VehicleSearchCriteria$SortOrder.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/model/vehicle/VehicleSearchCriteria$VehicleSearchCriteriaBuilder.class b/accelerators/inbox/target/classes/org/egov/inbox/model/vehicle/VehicleSearchCriteria$VehicleSearchCriteriaBuilder.class new file mode 100644 index 00000000000..afe7fbd3402 Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/model/vehicle/VehicleSearchCriteria$VehicleSearchCriteriaBuilder.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/model/vehicle/VehicleSearchCriteria.class b/accelerators/inbox/target/classes/org/egov/inbox/model/vehicle/VehicleSearchCriteria.class new file mode 100644 index 00000000000..ad42b089368 Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/model/vehicle/VehicleSearchCriteria.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/model/vehicle/VehicleTripDetail$StatusEnum.class b/accelerators/inbox/target/classes/org/egov/inbox/model/vehicle/VehicleTripDetail$StatusEnum.class new file mode 100644 index 00000000000..769699a2837 Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/model/vehicle/VehicleTripDetail$StatusEnum.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/model/vehicle/VehicleTripDetail$VehicleTripDetailBuilder.class b/accelerators/inbox/target/classes/org/egov/inbox/model/vehicle/VehicleTripDetail$VehicleTripDetailBuilder.class new file mode 100644 index 00000000000..b3f981f0204 Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/model/vehicle/VehicleTripDetail$VehicleTripDetailBuilder.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/model/vehicle/VehicleTripDetail.class b/accelerators/inbox/target/classes/org/egov/inbox/model/vehicle/VehicleTripDetail.class new file mode 100644 index 00000000000..4d6fc325ad7 Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/model/vehicle/VehicleTripDetail.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/model/vehicle/VehicleTripDetailResponse$VehicleTripDetailResponseBuilder.class b/accelerators/inbox/target/classes/org/egov/inbox/model/vehicle/VehicleTripDetailResponse$VehicleTripDetailResponseBuilder.class new file mode 100644 index 00000000000..11a9e4d9d0b Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/model/vehicle/VehicleTripDetailResponse$VehicleTripDetailResponseBuilder.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/model/vehicle/VehicleTripDetailResponse.class b/accelerators/inbox/target/classes/org/egov/inbox/model/vehicle/VehicleTripDetailResponse.class new file mode 100644 index 00000000000..c480916761e Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/model/vehicle/VehicleTripDetailResponse.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/model/vehicle/VehicleTripSearchCriteria$SortBy.class b/accelerators/inbox/target/classes/org/egov/inbox/model/vehicle/VehicleTripSearchCriteria$SortBy.class new file mode 100644 index 00000000000..ed8c6c2d6c0 Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/model/vehicle/VehicleTripSearchCriteria$SortBy.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/model/vehicle/VehicleTripSearchCriteria$SortOrder.class b/accelerators/inbox/target/classes/org/egov/inbox/model/vehicle/VehicleTripSearchCriteria$SortOrder.class new file mode 100644 index 00000000000..65d227a5e7c Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/model/vehicle/VehicleTripSearchCriteria$SortOrder.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/model/vehicle/VehicleTripSearchCriteria$VehicleTripSearchCriteriaBuilder.class b/accelerators/inbox/target/classes/org/egov/inbox/model/vehicle/VehicleTripSearchCriteria$VehicleTripSearchCriteriaBuilder.class new file mode 100644 index 00000000000..53171ac0e86 Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/model/vehicle/VehicleTripSearchCriteria$VehicleTripSearchCriteriaBuilder.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/model/vehicle/VehicleTripSearchCriteria.class b/accelerators/inbox/target/classes/org/egov/inbox/model/vehicle/VehicleTripSearchCriteria.class new file mode 100644 index 00000000000..2cc1643951f Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/model/vehicle/VehicleTripSearchCriteria.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/repository/ElasticSearchQueryBuilder$1.class b/accelerators/inbox/target/classes/org/egov/inbox/repository/ElasticSearchQueryBuilder$1.class new file mode 100644 index 00000000000..541638f5f65 Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/repository/ElasticSearchQueryBuilder$1.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/repository/ElasticSearchQueryBuilder$2.class b/accelerators/inbox/target/classes/org/egov/inbox/repository/ElasticSearchQueryBuilder$2.class new file mode 100644 index 00000000000..5b6141355c2 Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/repository/ElasticSearchQueryBuilder$2.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/repository/ElasticSearchQueryBuilder$3.class b/accelerators/inbox/target/classes/org/egov/inbox/repository/ElasticSearchQueryBuilder$3.class new file mode 100644 index 00000000000..ff5eecd7ef1 Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/repository/ElasticSearchQueryBuilder$3.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/repository/ElasticSearchQueryBuilder.class b/accelerators/inbox/target/classes/org/egov/inbox/repository/ElasticSearchQueryBuilder.class new file mode 100644 index 00000000000..0b62ff4a03a Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/repository/ElasticSearchQueryBuilder.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/repository/ElasticSearchRepository.class b/accelerators/inbox/target/classes/org/egov/inbox/repository/ElasticSearchRepository.class new file mode 100644 index 00000000000..a10aea99863 Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/repository/ElasticSearchRepository.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/repository/RetryTemplate.class b/accelerators/inbox/target/classes/org/egov/inbox/repository/RetryTemplate.class new file mode 100644 index 00000000000..1dd4fca12f3 Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/repository/RetryTemplate.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/repository/ServiceRequestRepository.class b/accelerators/inbox/target/classes/org/egov/inbox/repository/ServiceRequestRepository.class new file mode 100644 index 00000000000..50ceae2cb6d Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/repository/ServiceRequestRepository.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/repository/builder/V2/InboxQueryBuilder.class b/accelerators/inbox/target/classes/org/egov/inbox/repository/builder/V2/InboxQueryBuilder.class new file mode 100644 index 00000000000..6be9fca0927 Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/repository/builder/V2/InboxQueryBuilder.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/repository/builder/V2/QueryBuilderInterface.class b/accelerators/inbox/target/classes/org/egov/inbox/repository/builder/V2/QueryBuilderInterface.class new file mode 100644 index 00000000000..b163c4afa83 Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/repository/builder/V2/QueryBuilderInterface.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/service/BPAInboxFilterService.class b/accelerators/inbox/target/classes/org/egov/inbox/service/BPAInboxFilterService.class new file mode 100644 index 00000000000..0363d126c23 Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/service/BPAInboxFilterService.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/service/BillingAmendmentInboxFilterService.class b/accelerators/inbox/target/classes/org/egov/inbox/service/BillingAmendmentInboxFilterService.class new file mode 100644 index 00000000000..8f1ef0f8b13 Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/service/BillingAmendmentInboxFilterService.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/service/DSSInboxFilterService.class b/accelerators/inbox/target/classes/org/egov/inbox/service/DSSInboxFilterService.class new file mode 100644 index 00000000000..3e69f81ed1e Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/service/DSSInboxFilterService.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/service/ElasticSearchService.class b/accelerators/inbox/target/classes/org/egov/inbox/service/ElasticSearchService.class new file mode 100644 index 00000000000..8f8ee1e7adb Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/service/ElasticSearchService.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/service/FSMInboxFilterService.class b/accelerators/inbox/target/classes/org/egov/inbox/service/FSMInboxFilterService.class new file mode 100644 index 00000000000..dd971ca5d56 Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/service/FSMInboxFilterService.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/service/InboxService.class b/accelerators/inbox/target/classes/org/egov/inbox/service/InboxService.class new file mode 100644 index 00000000000..df3e5ab4947 Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/service/InboxService.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/service/NOCInboxFilterService.class b/accelerators/inbox/target/classes/org/egov/inbox/service/NOCInboxFilterService.class new file mode 100644 index 00000000000..66b6ed62e41 Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/service/NOCInboxFilterService.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/service/PtInboxFilterService.class b/accelerators/inbox/target/classes/org/egov/inbox/service/PtInboxFilterService.class new file mode 100644 index 00000000000..736c1281df7 Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/service/PtInboxFilterService.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/service/SWInboxFilterService.class b/accelerators/inbox/target/classes/org/egov/inbox/service/SWInboxFilterService.class new file mode 100644 index 00000000000..019b566f96e Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/service/SWInboxFilterService.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/service/TLInboxFilterService.class b/accelerators/inbox/target/classes/org/egov/inbox/service/TLInboxFilterService.class new file mode 100644 index 00000000000..e449ac2ea08 Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/service/TLInboxFilterService.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/service/V2/InboxServiceV2.class b/accelerators/inbox/target/classes/org/egov/inbox/service/V2/InboxServiceV2.class new file mode 100644 index 00000000000..100098e812c Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/service/V2/InboxServiceV2.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/service/V2/validator/SearchCriteriaValidatorInterface.class b/accelerators/inbox/target/classes/org/egov/inbox/service/V2/validator/SearchCriteriaValidatorInterface.class new file mode 100644 index 00000000000..e3e49e9d098 Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/service/V2/validator/SearchCriteriaValidatorInterface.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/service/V2/validator/ValidatorDefaultImplementation.class b/accelerators/inbox/target/classes/org/egov/inbox/service/V2/validator/ValidatorDefaultImplementation.class new file mode 100644 index 00000000000..c7794f4eb72 Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/service/V2/validator/ValidatorDefaultImplementation.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/service/WSInboxFilterService.class b/accelerators/inbox/target/classes/org/egov/inbox/service/WSInboxFilterService.class new file mode 100644 index 00000000000..23f54eccd2d Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/service/WSInboxFilterService.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/service/WorkflowService.class b/accelerators/inbox/target/classes/org/egov/inbox/service/WorkflowService.class new file mode 100644 index 00000000000..f1cc16ea10c Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/service/WorkflowService.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/util/BSConstants.class b/accelerators/inbox/target/classes/org/egov/inbox/util/BSConstants.class new file mode 100644 index 00000000000..5fb3e124117 Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/util/BSConstants.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/util/BpaConstants.class b/accelerators/inbox/target/classes/org/egov/inbox/util/BpaConstants.class new file mode 100644 index 00000000000..a25a21f2ee9 Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/util/BpaConstants.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/util/DSSConstants.class b/accelerators/inbox/target/classes/org/egov/inbox/util/DSSConstants.class new file mode 100644 index 00000000000..39b8444c87c Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/util/DSSConstants.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/util/ErrorConstants.class b/accelerators/inbox/target/classes/org/egov/inbox/util/ErrorConstants.class new file mode 100644 index 00000000000..65cba593b69 Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/util/ErrorConstants.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/util/FSMConstants.class b/accelerators/inbox/target/classes/org/egov/inbox/util/FSMConstants.class new file mode 100644 index 00000000000..15cedf8ec5f Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/util/FSMConstants.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/util/InboxConstants.class b/accelerators/inbox/target/classes/org/egov/inbox/util/InboxConstants.class new file mode 100644 index 00000000000..dff9ec29e74 Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/util/InboxConstants.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/util/MDMSUtil.class b/accelerators/inbox/target/classes/org/egov/inbox/util/MDMSUtil.class new file mode 100644 index 00000000000..dc131ed2f28 Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/util/MDMSUtil.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/util/NocConstants.class b/accelerators/inbox/target/classes/org/egov/inbox/util/NocConstants.class new file mode 100644 index 00000000000..b82838b640d Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/util/NocConstants.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/util/PTConstants.class b/accelerators/inbox/target/classes/org/egov/inbox/util/PTConstants.class new file mode 100644 index 00000000000..281162216bc Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/util/PTConstants.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/util/ResponseInfoFactory.class b/accelerators/inbox/target/classes/org/egov/inbox/util/ResponseInfoFactory.class new file mode 100644 index 00000000000..387286ccbef Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/util/ResponseInfoFactory.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/util/SWConstants.class b/accelerators/inbox/target/classes/org/egov/inbox/util/SWConstants.class new file mode 100644 index 00000000000..c9584ccd682 Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/util/SWConstants.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/util/TLConstants.class b/accelerators/inbox/target/classes/org/egov/inbox/util/TLConstants.class new file mode 100644 index 00000000000..f812c693805 Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/util/TLConstants.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/util/WSConstants.class b/accelerators/inbox/target/classes/org/egov/inbox/util/WSConstants.class new file mode 100644 index 00000000000..c9cad4d4334 Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/util/WSConstants.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/vehicle/rowmapper/VehicleTripDetailRowMapper.class b/accelerators/inbox/target/classes/org/egov/inbox/vehicle/rowmapper/VehicleTripDetailRowMapper.class new file mode 100644 index 00000000000..8bc0e0d447e Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/vehicle/rowmapper/VehicleTripDetailRowMapper.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/web/controller/InboxController.class b/accelerators/inbox/target/classes/org/egov/inbox/web/controller/InboxController.class new file mode 100644 index 00000000000..b1e7bd4a373 Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/web/controller/InboxController.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/web/controller/InboxV2Controller.class b/accelerators/inbox/target/classes/org/egov/inbox/web/controller/InboxV2Controller.class new file mode 100644 index 00000000000..a1264fa4dc7 Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/web/controller/InboxV2Controller.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/web/model/AuditDetails$AuditDetailsBuilder.class b/accelerators/inbox/target/classes/org/egov/inbox/web/model/AuditDetails$AuditDetailsBuilder.class new file mode 100644 index 00000000000..5b242221bc8 Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/web/model/AuditDetails$AuditDetailsBuilder.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/web/model/AuditDetails.class b/accelerators/inbox/target/classes/org/egov/inbox/web/model/AuditDetails.class new file mode 100644 index 00000000000..2cbb40da45b Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/web/model/AuditDetails.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/web/model/Document.class b/accelerators/inbox/target/classes/org/egov/inbox/web/model/Document.class new file mode 100644 index 00000000000..5663f851caf Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/web/model/Document.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/web/model/Error$ErrorBuilder.class b/accelerators/inbox/target/classes/org/egov/inbox/web/model/Error$ErrorBuilder.class new file mode 100644 index 00000000000..d3ba933d87e Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/web/model/Error$ErrorBuilder.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/web/model/Error.class b/accelerators/inbox/target/classes/org/egov/inbox/web/model/Error.class new file mode 100644 index 00000000000..b71fcacacd5 Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/web/model/Error.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/web/model/ErrorRes$ErrorResBuilder.class b/accelerators/inbox/target/classes/org/egov/inbox/web/model/ErrorRes$ErrorResBuilder.class new file mode 100644 index 00000000000..cfc5aa80df8 Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/web/model/ErrorRes$ErrorResBuilder.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/web/model/ErrorRes.class b/accelerators/inbox/target/classes/org/egov/inbox/web/model/ErrorRes.class new file mode 100644 index 00000000000..0d275528de5 Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/web/model/ErrorRes.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/web/model/Inbox$InboxBuilder.class b/accelerators/inbox/target/classes/org/egov/inbox/web/model/Inbox$InboxBuilder.class new file mode 100644 index 00000000000..9d57189de7c Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/web/model/Inbox$InboxBuilder.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/web/model/Inbox.class b/accelerators/inbox/target/classes/org/egov/inbox/web/model/Inbox.class new file mode 100644 index 00000000000..e277f87ea77 Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/web/model/Inbox.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/web/model/InboxRequest$InboxRequestBuilder.class b/accelerators/inbox/target/classes/org/egov/inbox/web/model/InboxRequest$InboxRequestBuilder.class new file mode 100644 index 00000000000..ca987665f37 Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/web/model/InboxRequest$InboxRequestBuilder.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/web/model/InboxRequest.class b/accelerators/inbox/target/classes/org/egov/inbox/web/model/InboxRequest.class new file mode 100644 index 00000000000..3ec88be2d9e Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/web/model/InboxRequest.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/web/model/InboxResponse$InboxResponseBuilder.class b/accelerators/inbox/target/classes/org/egov/inbox/web/model/InboxResponse$InboxResponseBuilder.class new file mode 100644 index 00000000000..d050033d178 Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/web/model/InboxResponse$InboxResponseBuilder.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/web/model/InboxResponse.class b/accelerators/inbox/target/classes/org/egov/inbox/web/model/InboxResponse.class new file mode 100644 index 00000000000..626bd3de4f4 Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/web/model/InboxResponse.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/web/model/InboxSearchCriteria.class b/accelerators/inbox/target/classes/org/egov/inbox/web/model/InboxSearchCriteria.class new file mode 100644 index 00000000000..525a92dece2 Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/web/model/InboxSearchCriteria.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/web/model/RequestInfoWrapper$RequestInfoWrapperBuilder.class b/accelerators/inbox/target/classes/org/egov/inbox/web/model/RequestInfoWrapper$RequestInfoWrapperBuilder.class new file mode 100644 index 00000000000..ca7b830bc31 Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/web/model/RequestInfoWrapper$RequestInfoWrapperBuilder.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/web/model/RequestInfoWrapper.class b/accelerators/inbox/target/classes/org/egov/inbox/web/model/RequestInfoWrapper.class new file mode 100644 index 00000000000..2aca8dbf056 Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/web/model/RequestInfoWrapper.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/web/model/V2/Data$DataBuilder.class b/accelerators/inbox/target/classes/org/egov/inbox/web/model/V2/Data$DataBuilder.class new file mode 100644 index 00000000000..9a7dee5783f Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/web/model/V2/Data$DataBuilder.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/web/model/V2/Data.class b/accelerators/inbox/target/classes/org/egov/inbox/web/model/V2/Data.class new file mode 100644 index 00000000000..bdf0e5744e8 Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/web/model/V2/Data.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/web/model/V2/Field$FieldBuilder.class b/accelerators/inbox/target/classes/org/egov/inbox/web/model/V2/Field$FieldBuilder.class new file mode 100644 index 00000000000..55801b2e65b Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/web/model/V2/Field$FieldBuilder.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/web/model/V2/Field.class b/accelerators/inbox/target/classes/org/egov/inbox/web/model/V2/Field.class new file mode 100644 index 00000000000..200a184355a Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/web/model/V2/Field.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/web/model/V2/InboxQueryConfiguration$InboxQueryConfigurationBuilder.class b/accelerators/inbox/target/classes/org/egov/inbox/web/model/V2/InboxQueryConfiguration$InboxQueryConfigurationBuilder.class new file mode 100644 index 00000000000..4f3d130e1c4 Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/web/model/V2/InboxQueryConfiguration$InboxQueryConfigurationBuilder.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/web/model/V2/InboxQueryConfiguration.class b/accelerators/inbox/target/classes/org/egov/inbox/web/model/V2/InboxQueryConfiguration.class new file mode 100644 index 00000000000..cf23142b88d Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/web/model/V2/InboxQueryConfiguration.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/web/model/V2/IndexSearchCriteria.class b/accelerators/inbox/target/classes/org/egov/inbox/web/model/V2/IndexSearchCriteria.class new file mode 100644 index 00000000000..671c8c077a8 Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/web/model/V2/IndexSearchCriteria.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/web/model/V2/SearchParam$Operator.class b/accelerators/inbox/target/classes/org/egov/inbox/web/model/V2/SearchParam$Operator.class new file mode 100644 index 00000000000..d4a6201a879 Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/web/model/V2/SearchParam$Operator.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/web/model/V2/SearchParam$SearchParamBuilder.class b/accelerators/inbox/target/classes/org/egov/inbox/web/model/V2/SearchParam$SearchParamBuilder.class new file mode 100644 index 00000000000..6fea805497d Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/web/model/V2/SearchParam$SearchParamBuilder.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/web/model/V2/SearchParam.class b/accelerators/inbox/target/classes/org/egov/inbox/web/model/V2/SearchParam.class new file mode 100644 index 00000000000..bee022cb783 Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/web/model/V2/SearchParam.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/web/model/V2/SearchRequest$SearchRequestBuilder.class b/accelerators/inbox/target/classes/org/egov/inbox/web/model/V2/SearchRequest$SearchRequestBuilder.class new file mode 100644 index 00000000000..3c915838635 Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/web/model/V2/SearchRequest$SearchRequestBuilder.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/web/model/V2/SearchRequest.class b/accelerators/inbox/target/classes/org/egov/inbox/web/model/V2/SearchRequest.class new file mode 100644 index 00000000000..9f7de93cddb Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/web/model/V2/SearchRequest.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/web/model/V2/SearchResponse$SearchResponseBuilder.class b/accelerators/inbox/target/classes/org/egov/inbox/web/model/V2/SearchResponse$SearchResponseBuilder.class new file mode 100644 index 00000000000..0ffb9956775 Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/web/model/V2/SearchResponse$SearchResponseBuilder.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/web/model/V2/SearchResponse.class b/accelerators/inbox/target/classes/org/egov/inbox/web/model/V2/SearchResponse.class new file mode 100644 index 00000000000..8d0d9030abe Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/web/model/V2/SearchResponse.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/web/model/V2/SortParam$Order.class b/accelerators/inbox/target/classes/org/egov/inbox/web/model/V2/SortParam$Order.class new file mode 100644 index 00000000000..13e9708b6b3 Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/web/model/V2/SortParam$Order.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/web/model/V2/SortParam$SortParamBuilder.class b/accelerators/inbox/target/classes/org/egov/inbox/web/model/V2/SortParam$SortParamBuilder.class new file mode 100644 index 00000000000..56330560bec Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/web/model/V2/SortParam$SortParamBuilder.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/web/model/V2/SortParam.class b/accelerators/inbox/target/classes/org/egov/inbox/web/model/V2/SortParam.class new file mode 100644 index 00000000000..bbc69d39375 Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/web/model/V2/SortParam.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/web/model/VehicleCustomResponse$VehicleCustomResponseBuilder.class b/accelerators/inbox/target/classes/org/egov/inbox/web/model/VehicleCustomResponse$VehicleCustomResponseBuilder.class new file mode 100644 index 00000000000..88ca1d13bb8 Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/web/model/VehicleCustomResponse$VehicleCustomResponseBuilder.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/web/model/VehicleCustomResponse.class b/accelerators/inbox/target/classes/org/egov/inbox/web/model/VehicleCustomResponse.class new file mode 100644 index 00000000000..1d1b493487c Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/web/model/VehicleCustomResponse.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/web/model/dss/AggregateRequestDto$AggregateRequestDtoBuilder.class b/accelerators/inbox/target/classes/org/egov/inbox/web/model/dss/AggregateRequestDto$AggregateRequestDtoBuilder.class new file mode 100644 index 00000000000..5da9409721d Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/web/model/dss/AggregateRequestDto$AggregateRequestDtoBuilder.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/web/model/dss/AggregateRequestDto.class b/accelerators/inbox/target/classes/org/egov/inbox/web/model/dss/AggregateRequestDto.class new file mode 100644 index 00000000000..bed9c897ca1 Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/web/model/dss/AggregateRequestDto.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/web/model/dss/AggregationRequest$AggregationRequestBuilder.class b/accelerators/inbox/target/classes/org/egov/inbox/web/model/dss/AggregationRequest$AggregationRequestBuilder.class new file mode 100644 index 00000000000..d8d7d7ebe2d Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/web/model/dss/AggregationRequest$AggregationRequestBuilder.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/web/model/dss/AggregationRequest.class b/accelerators/inbox/target/classes/org/egov/inbox/web/model/dss/AggregationRequest.class new file mode 100644 index 00000000000..5e2fdd726c0 Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/web/model/dss/AggregationRequest.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/web/model/dss/Data$DataBuilder.class b/accelerators/inbox/target/classes/org/egov/inbox/web/model/dss/Data$DataBuilder.class new file mode 100644 index 00000000000..e5831fb9816 Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/web/model/dss/Data$DataBuilder.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/web/model/dss/Data.class b/accelerators/inbox/target/classes/org/egov/inbox/web/model/dss/Data.class new file mode 100644 index 00000000000..d6ee7aaced3 Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/web/model/dss/Data.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/web/model/dss/InboxMetricCriteria$InboxMetricCriteriaBuilder.class b/accelerators/inbox/target/classes/org/egov/inbox/web/model/dss/InboxMetricCriteria$InboxMetricCriteriaBuilder.class new file mode 100644 index 00000000000..83f37274e43 Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/web/model/dss/InboxMetricCriteria$InboxMetricCriteriaBuilder.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/web/model/dss/InboxMetricCriteria.class b/accelerators/inbox/target/classes/org/egov/inbox/web/model/dss/InboxMetricCriteria.class new file mode 100644 index 00000000000..3498c50d90f Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/web/model/dss/InboxMetricCriteria.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/web/model/dss/InsightsWidget$InsightsWidgetBuilder.class b/accelerators/inbox/target/classes/org/egov/inbox/web/model/dss/InsightsWidget$InsightsWidgetBuilder.class new file mode 100644 index 00000000000..ec1b8b2e16c Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/web/model/dss/InsightsWidget$InsightsWidgetBuilder.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/web/model/dss/InsightsWidget.class b/accelerators/inbox/target/classes/org/egov/inbox/web/model/dss/InsightsWidget.class new file mode 100644 index 00000000000..5b6905249d6 Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/web/model/dss/InsightsWidget.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/web/model/dss/MetricResponse$MetricResponseBuilder.class b/accelerators/inbox/target/classes/org/egov/inbox/web/model/dss/MetricResponse$MetricResponseBuilder.class new file mode 100644 index 00000000000..c1e997dd060 Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/web/model/dss/MetricResponse$MetricResponseBuilder.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/web/model/dss/MetricResponse.class b/accelerators/inbox/target/classes/org/egov/inbox/web/model/dss/MetricResponse.class new file mode 100644 index 00000000000..dbb2f71cb38 Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/web/model/dss/MetricResponse.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/web/model/dss/Plot$PlotBuilder.class b/accelerators/inbox/target/classes/org/egov/inbox/web/model/dss/Plot$PlotBuilder.class new file mode 100644 index 00000000000..f4e3df9fdcb Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/web/model/dss/Plot$PlotBuilder.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/web/model/dss/Plot.class b/accelerators/inbox/target/classes/org/egov/inbox/web/model/dss/Plot.class new file mode 100644 index 00000000000..8c9f3b925d5 Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/web/model/dss/Plot.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/web/model/dss/RequestDate$RequestDateBuilder.class b/accelerators/inbox/target/classes/org/egov/inbox/web/model/dss/RequestDate$RequestDateBuilder.class new file mode 100644 index 00000000000..970326a26b9 Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/web/model/dss/RequestDate$RequestDateBuilder.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/web/model/dss/RequestDate.class b/accelerators/inbox/target/classes/org/egov/inbox/web/model/dss/RequestDate.class new file mode 100644 index 00000000000..05db640395b Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/web/model/dss/RequestDate.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/web/model/dss/ResponseData$ResponseDataBuilder.class b/accelerators/inbox/target/classes/org/egov/inbox/web/model/dss/ResponseData$ResponseDataBuilder.class new file mode 100644 index 00000000000..b7a76ead2f9 Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/web/model/dss/ResponseData$ResponseDataBuilder.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/web/model/dss/ResponseData.class b/accelerators/inbox/target/classes/org/egov/inbox/web/model/dss/ResponseData.class new file mode 100644 index 00000000000..2ed1a164a6d Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/web/model/dss/ResponseData.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/web/model/dss/ResponseDto$ResponseDtoBuilder.class b/accelerators/inbox/target/classes/org/egov/inbox/web/model/dss/ResponseDto$ResponseDtoBuilder.class new file mode 100644 index 00000000000..9cc70943f75 Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/web/model/dss/ResponseDto$ResponseDtoBuilder.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/web/model/dss/ResponseDto.class b/accelerators/inbox/target/classes/org/egov/inbox/web/model/dss/ResponseDto.class new file mode 100644 index 00000000000..662818b1ad9 Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/web/model/dss/ResponseDto.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/web/model/dss/StatusInfo$StatusInfoBuilder.class b/accelerators/inbox/target/classes/org/egov/inbox/web/model/dss/StatusInfo$StatusInfoBuilder.class new file mode 100644 index 00000000000..bcbf3c515ce Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/web/model/dss/StatusInfo$StatusInfoBuilder.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/web/model/dss/StatusInfo.class b/accelerators/inbox/target/classes/org/egov/inbox/web/model/dss/StatusInfo.class new file mode 100644 index 00000000000..2b06dcd94e6 Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/web/model/dss/StatusInfo.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/web/model/elasticsearch/InboxElasticSearchCriteria.class b/accelerators/inbox/target/classes/org/egov/inbox/web/model/elasticsearch/InboxElasticSearchCriteria.class new file mode 100644 index 00000000000..f4687c92045 Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/web/model/elasticsearch/InboxElasticSearchCriteria.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/web/model/elasticsearch/InboxElasticSearchRequest$InboxElasticSearchRequestBuilder.class b/accelerators/inbox/target/classes/org/egov/inbox/web/model/elasticsearch/InboxElasticSearchRequest$InboxElasticSearchRequestBuilder.class new file mode 100644 index 00000000000..b73ca5ab064 Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/web/model/elasticsearch/InboxElasticSearchRequest$InboxElasticSearchRequestBuilder.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/web/model/elasticsearch/InboxElasticSearchRequest.class b/accelerators/inbox/target/classes/org/egov/inbox/web/model/elasticsearch/InboxElasticSearchRequest.class new file mode 100644 index 00000000000..5ada2397098 Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/web/model/elasticsearch/InboxElasticSearchRequest.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/web/model/elasticsearch/UserDetailResponse.class b/accelerators/inbox/target/classes/org/egov/inbox/web/model/elasticsearch/UserDetailResponse.class new file mode 100644 index 00000000000..81fffa95311 Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/web/model/elasticsearch/UserDetailResponse.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/web/model/workflow/Action$ActionBuilder.class b/accelerators/inbox/target/classes/org/egov/inbox/web/model/workflow/Action$ActionBuilder.class new file mode 100644 index 00000000000..bc93571142b Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/web/model/workflow/Action$ActionBuilder.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/web/model/workflow/Action.class b/accelerators/inbox/target/classes/org/egov/inbox/web/model/workflow/Action.class new file mode 100644 index 00000000000..0b06d96c549 Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/web/model/workflow/Action.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/web/model/workflow/BusinessService$BusinessServiceBuilder.class b/accelerators/inbox/target/classes/org/egov/inbox/web/model/workflow/BusinessService$BusinessServiceBuilder.class new file mode 100644 index 00000000000..d62ba66cb31 Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/web/model/workflow/BusinessService$BusinessServiceBuilder.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/web/model/workflow/BusinessService.class b/accelerators/inbox/target/classes/org/egov/inbox/web/model/workflow/BusinessService.class new file mode 100644 index 00000000000..0d263262185 Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/web/model/workflow/BusinessService.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/web/model/workflow/BusinessServiceResponse$BusinessServiceResponseBuilder.class b/accelerators/inbox/target/classes/org/egov/inbox/web/model/workflow/BusinessServiceResponse$BusinessServiceResponseBuilder.class new file mode 100644 index 00000000000..b9ea26bf595 Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/web/model/workflow/BusinessServiceResponse$BusinessServiceResponseBuilder.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/web/model/workflow/BusinessServiceResponse.class b/accelerators/inbox/target/classes/org/egov/inbox/web/model/workflow/BusinessServiceResponse.class new file mode 100644 index 00000000000..c4f90a66a8c Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/web/model/workflow/BusinessServiceResponse.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/web/model/workflow/BusinessServiceSearchCriteria.class b/accelerators/inbox/target/classes/org/egov/inbox/web/model/workflow/BusinessServiceSearchCriteria.class new file mode 100644 index 00000000000..de09d4fea30 Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/web/model/workflow/BusinessServiceSearchCriteria.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/web/model/workflow/ProcessInstance$ProcessInstanceBuilder.class b/accelerators/inbox/target/classes/org/egov/inbox/web/model/workflow/ProcessInstance$ProcessInstanceBuilder.class new file mode 100644 index 00000000000..cfaa4e50b9c Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/web/model/workflow/ProcessInstance$ProcessInstanceBuilder.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/web/model/workflow/ProcessInstance.class b/accelerators/inbox/target/classes/org/egov/inbox/web/model/workflow/ProcessInstance.class new file mode 100644 index 00000000000..7884ae95b9f Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/web/model/workflow/ProcessInstance.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/web/model/workflow/ProcessInstanceResponse$ProcessInstanceResponseBuilder.class b/accelerators/inbox/target/classes/org/egov/inbox/web/model/workflow/ProcessInstanceResponse$ProcessInstanceResponseBuilder.class new file mode 100644 index 00000000000..e3453a6c0be Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/web/model/workflow/ProcessInstanceResponse$ProcessInstanceResponseBuilder.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/web/model/workflow/ProcessInstanceResponse.class b/accelerators/inbox/target/classes/org/egov/inbox/web/model/workflow/ProcessInstanceResponse.class new file mode 100644 index 00000000000..25cc0deef5b Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/web/model/workflow/ProcessInstanceResponse.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/web/model/workflow/ProcessInstanceSearchCriteria.class b/accelerators/inbox/target/classes/org/egov/inbox/web/model/workflow/ProcessInstanceSearchCriteria.class new file mode 100644 index 00000000000..b0a942e3ce9 Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/web/model/workflow/ProcessInstanceSearchCriteria.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/web/model/workflow/State$StateBuilder.class b/accelerators/inbox/target/classes/org/egov/inbox/web/model/workflow/State$StateBuilder.class new file mode 100644 index 00000000000..2f808485961 Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/web/model/workflow/State$StateBuilder.class differ diff --git a/accelerators/inbox/target/classes/org/egov/inbox/web/model/workflow/State.class b/accelerators/inbox/target/classes/org/egov/inbox/web/model/workflow/State.class new file mode 100644 index 00000000000..23b8162148c Binary files /dev/null and b/accelerators/inbox/target/classes/org/egov/inbox/web/model/workflow/State.class differ diff --git a/tutorials/backend-developer-guide/btr-calculator/target/classes/application.properties b/tutorials/backend-developer-guide/btr-calculator/target/classes/application.properties new file mode 100644 index 00000000000..964a85e0478 --- /dev/null +++ b/tutorials/backend-developer-guide/btr-calculator/target/classes/application.properties @@ -0,0 +1,17 @@ +server.servlet.contextPath=/birth-calculator +server.port=2345 +app.timezone=UTC + +#mdms urls +egov.mdms.host=https://dev.digit.org +egov.mdms.search.endpoint=/egov-mdms-service/v1/_search +egov.mdms.master.name=RegistrationCharges +egov.mdms.module.name=BTR + +# Billing Service +egov.billingservice.host=http://localhost:8031 +egov.demand.create.endpoint=/billing-service/demand/_create +egov.billingservice.fetch.bill=/billing-service/bill/v2/_fetchbill + +btr.taxhead.master.code=BIRTH_CERT_FEE +btr.module.code=BIRTH_CERT diff --git a/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/Main.class b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/Main.class new file mode 100644 index 00000000000..221172e20fe Binary files /dev/null and b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/Main.class differ diff --git a/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/config/BTRCalculatorConfigs.class b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/config/BTRCalculatorConfigs.class new file mode 100644 index 00000000000..e5aa7919ddc Binary files /dev/null and b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/config/BTRCalculatorConfigs.class differ diff --git a/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/config/MainConfiguration.class b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/config/MainConfiguration.class new file mode 100644 index 00000000000..9e2a58eb838 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/config/MainConfiguration.class differ diff --git a/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/repository/ServiceRequestRepository.class b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/repository/ServiceRequestRepository.class new file mode 100644 index 00000000000..94419d0a936 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/repository/ServiceRequestRepository.class differ diff --git a/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/service/CalculationService.class b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/service/CalculationService.class new file mode 100644 index 00000000000..34deb89cf7f Binary files /dev/null and b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/service/CalculationService.class differ diff --git a/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/service/DemandService.class b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/service/DemandService.class new file mode 100644 index 00000000000..a8209b9bdbd Binary files /dev/null and b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/service/DemandService.class differ diff --git a/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/util/MdmsUtil.class b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/util/MdmsUtil.class new file mode 100644 index 00000000000..bd44c0ca65e Binary files /dev/null and b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/util/MdmsUtil.class differ diff --git a/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/util/ResponseInfoFactory.class b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/util/ResponseInfoFactory.class new file mode 100644 index 00000000000..11c871d2769 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/util/ResponseInfoFactory.class differ diff --git a/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/controllers/V1ApiController.class b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/controllers/V1ApiController.class new file mode 100644 index 00000000000..b58bd38056f Binary files /dev/null and b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/controllers/V1ApiController.class differ diff --git a/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/Address$AddressBuilder.class b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/Address$AddressBuilder.class new file mode 100644 index 00000000000..7bc82631913 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/Address$AddressBuilder.class differ diff --git a/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/Address.class b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/Address.class new file mode 100644 index 00000000000..ff92e800480 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/Address.class differ diff --git a/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/Applicant$ApplicantBuilder.class b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/Applicant$ApplicantBuilder.class new file mode 100644 index 00000000000..2fcbd40fe4b Binary files /dev/null and b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/Applicant$ApplicantBuilder.class differ diff --git a/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/Applicant.class b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/Applicant.class new file mode 100644 index 00000000000..e7cdcf269fc Binary files /dev/null and b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/Applicant.class differ diff --git a/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/AuditDetails$AuditDetailsBuilder.class b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/AuditDetails$AuditDetailsBuilder.class new file mode 100644 index 00000000000..e5d1147a26c Binary files /dev/null and b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/AuditDetails$AuditDetailsBuilder.class differ diff --git a/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/AuditDetails.class b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/AuditDetails.class new file mode 100644 index 00000000000..de6129feb80 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/AuditDetails.class differ diff --git a/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/AuditDetails2$AuditDetails2Builder.class b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/AuditDetails2$AuditDetails2Builder.class new file mode 100644 index 00000000000..37f9016e981 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/AuditDetails2$AuditDetails2Builder.class differ diff --git a/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/AuditDetails2.class b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/AuditDetails2.class new file mode 100644 index 00000000000..b081e49adee Binary files /dev/null and b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/AuditDetails2.class differ diff --git a/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/Bill$BillBuilder.class b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/Bill$BillBuilder.class new file mode 100644 index 00000000000..c60e3521b59 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/Bill$BillBuilder.class differ diff --git a/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/Bill.class b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/Bill.class new file mode 100644 index 00000000000..f3a76942dab Binary files /dev/null and b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/Bill.class differ diff --git a/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/BillAccountDetail$BillAccountDetailBuilder.class b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/BillAccountDetail$BillAccountDetailBuilder.class new file mode 100644 index 00000000000..fecf8bb8a78 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/BillAccountDetail$BillAccountDetailBuilder.class differ diff --git a/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/BillAccountDetail$PurposeEnum.class b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/BillAccountDetail$PurposeEnum.class new file mode 100644 index 00000000000..d760c060df9 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/BillAccountDetail$PurposeEnum.class differ diff --git a/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/BillAccountDetail.class b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/BillAccountDetail.class new file mode 100644 index 00000000000..bd3b1cfd8cd Binary files /dev/null and b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/BillAccountDetail.class differ diff --git a/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/BillDetail$BillDetailBuilder.class b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/BillDetail$BillDetailBuilder.class new file mode 100644 index 00000000000..3535b1ddec0 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/BillDetail$BillDetailBuilder.class differ diff --git a/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/BillDetail$StatusEnum.class b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/BillDetail$StatusEnum.class new file mode 100644 index 00000000000..6419d14905d Binary files /dev/null and b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/BillDetail$StatusEnum.class differ diff --git a/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/BillDetail.class b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/BillDetail.class new file mode 100644 index 00000000000..932d6347a1c Binary files /dev/null and b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/BillDetail.class differ diff --git a/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/BillResponse$BillResponseBuilder.class b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/BillResponse$BillResponseBuilder.class new file mode 100644 index 00000000000..bec3443e584 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/BillResponse$BillResponseBuilder.class differ diff --git a/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/BillResponse.class b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/BillResponse.class new file mode 100644 index 00000000000..5f679eda3db Binary files /dev/null and b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/BillResponse.class differ diff --git a/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/BirthRegistrationApplication$BirthRegistrationApplicationBuilder.class b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/BirthRegistrationApplication$BirthRegistrationApplicationBuilder.class new file mode 100644 index 00000000000..c640aa817af Binary files /dev/null and b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/BirthRegistrationApplication$BirthRegistrationApplicationBuilder.class differ diff --git a/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/BirthRegistrationApplication.class b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/BirthRegistrationApplication.class new file mode 100644 index 00000000000..12c77dd29f9 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/BirthRegistrationApplication.class differ diff --git a/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/Boundary$BoundaryBuilder.class b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/Boundary$BoundaryBuilder.class new file mode 100644 index 00000000000..a3bb8307315 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/Boundary$BoundaryBuilder.class differ diff --git a/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/Boundary.class b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/Boundary.class new file mode 100644 index 00000000000..8e0b1e7cc77 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/Boundary.class differ diff --git a/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/Calculation$CalculationBuilder.class b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/Calculation$CalculationBuilder.class new file mode 100644 index 00000000000..6f0b07d2995 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/Calculation$CalculationBuilder.class differ diff --git a/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/Calculation.class b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/Calculation.class new file mode 100644 index 00000000000..11a998cf4fb Binary files /dev/null and b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/Calculation.class differ diff --git a/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/CalculationCriteria$CalculationCriteriaBuilder.class b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/CalculationCriteria$CalculationCriteriaBuilder.class new file mode 100644 index 00000000000..61d8f390dc2 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/CalculationCriteria$CalculationCriteriaBuilder.class differ diff --git a/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/CalculationCriteria.class b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/CalculationCriteria.class new file mode 100644 index 00000000000..eab52bdb28c Binary files /dev/null and b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/CalculationCriteria.class differ diff --git a/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/CalculationReq$CalculationReqBuilder.class b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/CalculationReq$CalculationReqBuilder.class new file mode 100644 index 00000000000..343f47bedfb Binary files /dev/null and b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/CalculationReq$CalculationReqBuilder.class differ diff --git a/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/CalculationReq.class b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/CalculationReq.class new file mode 100644 index 00000000000..62f53146554 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/CalculationReq.class differ diff --git a/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/CalculationRes$CalculationResBuilder.class b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/CalculationRes$CalculationResBuilder.class new file mode 100644 index 00000000000..d830869de2e Binary files /dev/null and b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/CalculationRes$CalculationResBuilder.class differ diff --git a/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/CalculationRes.class b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/CalculationRes.class new file mode 100644 index 00000000000..aaadbd7d064 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/CalculationRes.class differ diff --git a/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/Demand$DemandBuilder.class b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/Demand$DemandBuilder.class new file mode 100644 index 00000000000..5e724b35488 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/Demand$DemandBuilder.class differ diff --git a/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/Demand$DemandStatusEnum.class b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/Demand$DemandStatusEnum.class new file mode 100644 index 00000000000..90985ed8c40 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/Demand$DemandStatusEnum.class differ diff --git a/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/Demand.class b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/Demand.class new file mode 100644 index 00000000000..1494a90c21e Binary files /dev/null and b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/Demand.class differ diff --git a/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/DemandDetail$DemandDetailBuilder.class b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/DemandDetail$DemandDetailBuilder.class new file mode 100644 index 00000000000..ed76775ec50 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/DemandDetail$DemandDetailBuilder.class differ diff --git a/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/DemandDetail.class b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/DemandDetail.class new file mode 100644 index 00000000000..284a76d2127 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/DemandDetail.class differ diff --git a/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/DemandRequest$DemandRequestBuilder.class b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/DemandRequest$DemandRequestBuilder.class new file mode 100644 index 00000000000..8a151800f8d Binary files /dev/null and b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/DemandRequest$DemandRequestBuilder.class differ diff --git a/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/DemandRequest.class b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/DemandRequest.class new file mode 100644 index 00000000000..b51adab7b60 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/DemandRequest.class differ diff --git a/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/DemandResponse$DemandResponseBuilder.class b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/DemandResponse$DemandResponseBuilder.class new file mode 100644 index 00000000000..f80f228c33d Binary files /dev/null and b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/DemandResponse$DemandResponseBuilder.class differ diff --git a/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/DemandResponse.class b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/DemandResponse.class new file mode 100644 index 00000000000..81cc7339fb6 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/DemandResponse.class differ diff --git a/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/Error$ErrorBuilder.class b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/Error$ErrorBuilder.class new file mode 100644 index 00000000000..580df3e0f29 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/Error$ErrorBuilder.class differ diff --git a/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/Error.class b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/Error.class new file mode 100644 index 00000000000..d57af75b89c Binary files /dev/null and b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/Error.class differ diff --git a/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/ErrorRes$ErrorResBuilder.class b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/ErrorRes$ErrorResBuilder.class new file mode 100644 index 00000000000..f0fc8e56d47 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/ErrorRes$ErrorResBuilder.class differ diff --git a/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/ErrorRes.class b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/ErrorRes.class new file mode 100644 index 00000000000..85c199ccb27 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/ErrorRes.class differ diff --git a/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/RequestInfoWrapper$RequestInfoWrapperBuilder.class b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/RequestInfoWrapper$RequestInfoWrapperBuilder.class new file mode 100644 index 00000000000..4fb8bd6cce9 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/RequestInfoWrapper$RequestInfoWrapperBuilder.class differ diff --git a/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/RequestInfoWrapper.class b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/RequestInfoWrapper.class new file mode 100644 index 00000000000..1a6ca6209aa Binary files /dev/null and b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/RequestInfoWrapper.class differ diff --git a/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/Role$RoleBuilder.class b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/Role$RoleBuilder.class new file mode 100644 index 00000000000..b50b3d367f3 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/Role$RoleBuilder.class differ diff --git a/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/Role.class b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/Role.class new file mode 100644 index 00000000000..dfe76f67593 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/Role.class differ diff --git a/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/Role2$Role2Builder.class b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/Role2$Role2Builder.class new file mode 100644 index 00000000000..24f3e305d22 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/Role2$Role2Builder.class differ diff --git a/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/Role2.class b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/Role2.class new file mode 100644 index 00000000000..d601672c646 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/Role2.class differ diff --git a/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/TaxAndPayment$TaxAndPaymentBuilder.class b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/TaxAndPayment$TaxAndPaymentBuilder.class new file mode 100644 index 00000000000..3bfbdb0e0de Binary files /dev/null and b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/TaxAndPayment$TaxAndPaymentBuilder.class differ diff --git a/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/TaxAndPayment.class b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/TaxAndPayment.class new file mode 100644 index 00000000000..ecab4cee136 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/TaxAndPayment.class differ diff --git a/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/TenantRole$TenantRoleBuilder.class b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/TenantRole$TenantRoleBuilder.class new file mode 100644 index 00000000000..908c581515c Binary files /dev/null and b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/TenantRole$TenantRoleBuilder.class differ diff --git a/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/TenantRole.class b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/TenantRole.class new file mode 100644 index 00000000000..abb3a554623 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/TenantRole.class differ diff --git a/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/User$UserBuilder.class b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/User$UserBuilder.class new file mode 100644 index 00000000000..af6cbac55a6 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/User$UserBuilder.class differ diff --git a/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/User.class b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/User.class new file mode 100644 index 00000000000..12b2114e48b Binary files /dev/null and b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/User.class differ diff --git a/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/UserInfo$UserInfoBuilder.class b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/UserInfo$UserInfoBuilder.class new file mode 100644 index 00000000000..f46ac848350 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/UserInfo$UserInfoBuilder.class differ diff --git a/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/UserInfo.class b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/UserInfo.class new file mode 100644 index 00000000000..c8788745ead Binary files /dev/null and b/tutorials/backend-developer-guide/btr-calculator/target/classes/digit/web/models/UserInfo.class differ diff --git a/tutorials/backend-developer-guide/btr-calculator/target/test-classes/digit/TestConfiguration.class b/tutorials/backend-developer-guide/btr-calculator/target/test-classes/digit/TestConfiguration.class new file mode 100644 index 00000000000..80bd8ff1dcc Binary files /dev/null and b/tutorials/backend-developer-guide/btr-calculator/target/test-classes/digit/TestConfiguration.class differ diff --git a/tutorials/backend-developer-guide/btr-calculator/target/test-classes/digit/web/controllers/V1ApiControllerTest.class b/tutorials/backend-developer-guide/btr-calculator/target/test-classes/digit/web/controllers/V1ApiControllerTest.class new file mode 100644 index 00000000000..30938aebae9 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-calculator/target/test-classes/digit/web/controllers/V1ApiControllerTest.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/application.properties b/tutorials/backend-developer-guide/btr-services/target/classes/application.properties new file mode 100644 index 00000000000..46cfa8869e2 --- /dev/null +++ b/tutorials/backend-developer-guide/btr-services/target/classes/application.properties @@ -0,0 +1,93 @@ +server.contextPath=/birth-registration +server.port=8280 +app.timezone=UTC + +# BTR config +btr.kafka.create.topic=save-bt-application +btr.kafka.update.topic=update-bt-application +btr.default.offset=0 +btr.default.limit=10 +btr.search.max.limit=50 + +#DATABASE CONFIGURATION +spring.datasource.driver-class-name=org.postgresql.Driver +spring.datasource.url=jdbc:postgresql://localhost:5432/birthdb +spring.datasource.username=postgres +spring.datasource.password=postgres + +#FLYWAY CONFIGURATION +spring.flyway.url=jdbc:postgresql://localhost:5432/birthdb +spring.flyway.user=postgres +spring.flyway.password=postgres +spring.flyway.table=public +spring.flyway.baseline-on-migrate=true +spring.flyway.outOfOrder=true +spring.flyway.locations=classpath:/db/migration/main +spring.flyway.enabled=true + +# KAFKA SERVER CONFIGURATIONS +kafka.config.bootstrap_server_config=localhost:9092 +spring.kafka.consumer.value-deserializer=org.egov.tracer.kafka.deserializer.HashMapDeserializer +spring.kafka.consumer.key-deserializer=org.apache.kafka.common.serialization.StringDeserializer +spring.kafka.consumer.group-id=birth-registration +spring.kafka.producer.key-serializer=org.apache.kafka.common.serialization.StringSerializer +spring.kafka.producer.value-serializer=org.springframework.kafka.support.serializer.JsonSerializer +spring.kafka.listener.missing-topics-fatal=false +spring.kafka.consumer.properties.spring.json.use.type.headers=false + +# KAFKA CONSUMER CONFIGURATIONS +kafka.consumer.config.auto_commit=true +kafka.consumer.config.auto_commit_interval=100 +kafka.consumer.config.session_timeout=15000 +kafka.consumer.config.auto_offset_reset=earliest +# KAFKA PRODUCER CONFIGURATIONS +kafka.producer.config.retries_config=0 +kafka.producer.config.batch_size_config=16384 +kafka.producer.config.linger_ms_config=1 +kafka.producer.config.buffer_memory_config=33554432 + +##Localization config +#egov.localization.host=https://dev.digit.org +#egov.localization.workDir.path=/localization/messages/v1 +#egov.localization.context.path=/localization/messages/v1 +#egov.localization.search.endpoint=/_search +#egov.localization.statelevel=true + +#mdms urls +egov.mdms.host=https://dev.digit.org +egov.mdms.search.endpoint=/egov-mdms-service/v1/_search +egov.mdms.master.name=RegistrationCharges +egov.mdms.module.name=BTR + +##hrms urls +#egov.hrms.host=https://dev.digit.org +#egov.hrms.search.endpoint=/egov-hrms/employees/_search + +#User config +egov.user.host=http://localhost:8081 +egov.user.context.path=/user/users +egov.user.create.path=/_createnovalidate +egov.user.search.path=/user/_search +egov.user.update.path=/_updatenovalidate + +#Idgen Config +egov.idgen.host=http://localhost:8012/ +egov.idgen.path=egov-idgen/id/_generate + +#Workflow config +is.workflow.enabled=true +egov.workflow.host=http://localhost:8013 +egov.workflow.transition.path=/egov-workflow-v2/egov-wf/process/_transition +egov.workflow.businessservice.search.path=/egov-workflow-v2/egov-wf/businessservice/_search +egov.workflow.processinstance.search.path=/egov-workflow-v2/egov-wf/process/_search + +#BTR Calculator +egov.btrcalculator.host=http://localhost:2345 +egov.btrcalculator.endpoint=/birth-calculator/v1/_calculate + +##url shortner +egov.url.shortner.host=https://dev.digit.org +egov.url.shortner.endpoint=/egov-url-shortening/shortener + +egov.sms.notification.topic=egov.core.notification.sms +kafka.topics.receipt.create=dss-collection diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/db/migration/main/V20220816155959__bt_registration_ddl.sql b/tutorials/backend-developer-guide/btr-services/target/classes/db/migration/main/V20220816155959__bt_registration_ddl.sql new file mode 100644 index 00000000000..eec0700e24b --- /dev/null +++ b/tutorials/backend-developer-guide/btr-services/target/classes/db/migration/main/V20220816155959__bt_registration_ddl.sql @@ -0,0 +1,46 @@ +CREATE TABLE eg_bt_registration( + id character varying(64), + tenantId character varying(64), + applicationNumber character varying(64), + babyFirstName character varying(64), + babyLastName character varying(64), + fatherId character varying(64), + motherId character varying(64), + doctorName character varying(64), + hospitalName character varying(64), + placeOfBirth character varying(64), + timeOfBirth bigint, + createdBy character varying(64), + lastModifiedBy character varying(64), + createdTime bigint, + lastModifiedTime bigint, + CONSTRAINT uk_eg_bt_registration UNIQUE (id) +); +CREATE TABLE eg_bt_address( + id character varying(64), + tenantId character varying(64), + doorNo character varying(64), + latitude FLOAT, + longitude FLOAT, + buildingName character varying(64), + addressId character varying(64), + addressNumber character varying(64), + type character varying(64), + addressLine1 character varying(256), + addressLine2 character varying(256), + landmark character varying(64), + street character varying(64), + city character varying(64), + locality character varying(64), + pincode character varying(64), + detail character varying(64), + registrationId character varying(64), + createdBy character varying(64), + lastModifiedBy character varying(64), + createdTime bigint, + lastModifiedTime bigint, + CONSTRAINT uk_eg_bt_address PRIMARY KEY (id), + CONSTRAINT fk_eg_bt_address FOREIGN KEY (registrationId) REFERENCES eg_bt_registration (id) + ON UPDATE CASCADE + ON DELETE CASCADE +); diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/Main.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/Main.class new file mode 100644 index 00000000000..187e9f497dc Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/Main.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/config/BTRConfiguration.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/config/BTRConfiguration.class new file mode 100644 index 00000000000..23789c31c0b Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/config/BTRConfiguration.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/config/MainConfiguration.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/config/MainConfiguration.class new file mode 100644 index 00000000000..ba2dfc227bb Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/config/MainConfiguration.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/consumer/NotificationConsumer.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/consumer/NotificationConsumer.class new file mode 100644 index 00000000000..f18e0b44140 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/consumer/NotificationConsumer.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/consumer/PaymentBackUpdateConsumer.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/consumer/PaymentBackUpdateConsumer.class new file mode 100644 index 00000000000..b38cf61cdd6 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/consumer/PaymentBackUpdateConsumer.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/enrichment/BirthApplicationEnrichment.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/enrichment/BirthApplicationEnrichment.class new file mode 100644 index 00000000000..669f2da1f4b Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/enrichment/BirthApplicationEnrichment.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/producer/Producer.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/producer/Producer.class new file mode 100644 index 00000000000..c5d36c10838 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/producer/Producer.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/repository/BirthRegistrationRepository.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/repository/BirthRegistrationRepository.class new file mode 100644 index 00000000000..a953925c3e3 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/repository/BirthRegistrationRepository.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/repository/ServiceRequestRepository.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/repository/ServiceRequestRepository.class new file mode 100644 index 00000000000..8cdfc8714a2 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/repository/ServiceRequestRepository.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/repository/querybuilder/BirthApplicationQueryBuilder.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/repository/querybuilder/BirthApplicationQueryBuilder.class new file mode 100644 index 00000000000..943ee2a5347 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/repository/querybuilder/BirthApplicationQueryBuilder.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/repository/rowmapper/BirthApplicationRowMapper.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/repository/rowmapper/BirthApplicationRowMapper.class new file mode 100644 index 00000000000..cce4bb3979f Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/repository/rowmapper/BirthApplicationRowMapper.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/service/BirthRegistrationService.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/service/BirthRegistrationService.class new file mode 100644 index 00000000000..80137af7e8d Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/service/BirthRegistrationService.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/service/CalculationService.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/service/CalculationService.class new file mode 100644 index 00000000000..26edfc0ba17 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/service/CalculationService.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/service/NotificationService.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/service/NotificationService.class new file mode 100644 index 00000000000..4e2f1ee0bb3 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/service/NotificationService.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/service/PaymentUpdateService.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/service/PaymentUpdateService.class new file mode 100644 index 00000000000..40c4a08b1a4 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/service/PaymentUpdateService.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/service/UserService.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/service/UserService.class new file mode 100644 index 00000000000..deab7ff9e39 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/service/UserService.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/service/WorkflowService.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/service/WorkflowService.class new file mode 100644 index 00000000000..07a29321754 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/service/WorkflowService.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/util/IdgenUtil.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/util/IdgenUtil.class new file mode 100644 index 00000000000..ad74823a2cf Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/util/IdgenUtil.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/util/MdmsUtil.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/util/MdmsUtil.class new file mode 100644 index 00000000000..906b5e9fa91 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/util/MdmsUtil.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/util/ResponseInfoFactory.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/util/ResponseInfoFactory.class new file mode 100644 index 00000000000..b85ce17cc29 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/util/ResponseInfoFactory.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/util/UrlShortnerUtil.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/util/UrlShortnerUtil.class new file mode 100644 index 00000000000..9360323522d Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/util/UrlShortnerUtil.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/util/UserUtil.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/util/UserUtil.class new file mode 100644 index 00000000000..064eb63ecc4 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/util/UserUtil.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/validator/BirthApplicationValidator.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/validator/BirthApplicationValidator.class new file mode 100644 index 00000000000..cf68d0e81bb Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/validator/BirthApplicationValidator.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/controllers/V1ApiController.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/controllers/V1ApiController.class new file mode 100644 index 00000000000..b7c64f6322f Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/controllers/V1ApiController.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/Action$ActionBuilder.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/Action$ActionBuilder.class new file mode 100644 index 00000000000..aef636bc19b Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/Action$ActionBuilder.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/Action.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/Action.class new file mode 100644 index 00000000000..0f5501cfdea Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/Action.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/Address$AddressBuilder.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/Address$AddressBuilder.class new file mode 100644 index 00000000000..f7cd26f6a11 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/Address$AddressBuilder.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/Address.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/Address.class new file mode 100644 index 00000000000..82ecc06726d Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/Address.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/Applicant$ApplicantBuilder.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/Applicant$ApplicantBuilder.class new file mode 100644 index 00000000000..02bfcad8ac8 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/Applicant$ApplicantBuilder.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/Applicant.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/Applicant.class new file mode 100644 index 00000000000..1d2cf7ea485 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/Applicant.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/AuditDetails$AuditDetailsBuilder.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/AuditDetails$AuditDetailsBuilder.class new file mode 100644 index 00000000000..e831127d700 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/AuditDetails$AuditDetailsBuilder.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/AuditDetails.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/AuditDetails.class new file mode 100644 index 00000000000..111a2fab97d Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/AuditDetails.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/Bill$BillBuilder.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/Bill$BillBuilder.class new file mode 100644 index 00000000000..458cb6d9ccb Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/Bill$BillBuilder.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/Bill$StatusEnum.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/Bill$StatusEnum.class new file mode 100644 index 00000000000..335328ac77a Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/Bill$StatusEnum.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/Bill.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/Bill.class new file mode 100644 index 00000000000..3d43ad52ebf Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/Bill.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/BillAccountDetail$BillAccountDetailBuilder.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/BillAccountDetail$BillAccountDetailBuilder.class new file mode 100644 index 00000000000..bdfeb1ec20e Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/BillAccountDetail$BillAccountDetailBuilder.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/BillAccountDetail.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/BillAccountDetail.class new file mode 100644 index 00000000000..c7cb73eff63 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/BillAccountDetail.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/BillDetail$BillDetailBuilder.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/BillDetail$BillDetailBuilder.class new file mode 100644 index 00000000000..26c4a3348f7 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/BillDetail$BillDetailBuilder.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/BillDetail.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/BillDetail.class new file mode 100644 index 00000000000..9d762707fb4 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/BillDetail.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/BirthApplicationSearchCriteria$BirthApplicationSearchCriteriaBuilder.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/BirthApplicationSearchCriteria$BirthApplicationSearchCriteriaBuilder.class new file mode 100644 index 00000000000..1a67bccec8e Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/BirthApplicationSearchCriteria$BirthApplicationSearchCriteriaBuilder.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/BirthApplicationSearchCriteria.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/BirthApplicationSearchCriteria.class new file mode 100644 index 00000000000..2f4464e6687 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/BirthApplicationSearchCriteria.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/BirthRegistrationApplication$BirthRegistrationApplicationBuilder.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/BirthRegistrationApplication$BirthRegistrationApplicationBuilder.class new file mode 100644 index 00000000000..6c735b9d212 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/BirthRegistrationApplication$BirthRegistrationApplicationBuilder.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/BirthRegistrationApplication.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/BirthRegistrationApplication.class new file mode 100644 index 00000000000..1c3e974b322 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/BirthRegistrationApplication.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/BirthRegistrationRequest$BirthRegistrationRequestBuilder.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/BirthRegistrationRequest$BirthRegistrationRequestBuilder.class new file mode 100644 index 00000000000..900e6795b98 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/BirthRegistrationRequest$BirthRegistrationRequestBuilder.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/BirthRegistrationRequest.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/BirthRegistrationRequest.class new file mode 100644 index 00000000000..3e03958af55 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/BirthRegistrationRequest.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/BirthRegistrationResponse$BirthRegistrationResponseBuilder.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/BirthRegistrationResponse$BirthRegistrationResponseBuilder.class new file mode 100644 index 00000000000..eb588da12be Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/BirthRegistrationResponse$BirthRegistrationResponseBuilder.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/BirthRegistrationResponse.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/BirthRegistrationResponse.class new file mode 100644 index 00000000000..505f5d984b3 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/BirthRegistrationResponse.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/Boundary$BoundaryBuilder.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/Boundary$BoundaryBuilder.class new file mode 100644 index 00000000000..c480212236a Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/Boundary$BoundaryBuilder.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/Boundary.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/Boundary.class new file mode 100644 index 00000000000..ea9170b5bcd Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/Boundary.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/BusinessService$BusinessServiceBuilder.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/BusinessService$BusinessServiceBuilder.class new file mode 100644 index 00000000000..52549802510 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/BusinessService$BusinessServiceBuilder.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/BusinessService.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/BusinessService.class new file mode 100644 index 00000000000..902317f9c59 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/BusinessService.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/BusinessServiceResponse$BusinessServiceResponseBuilder.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/BusinessServiceResponse$BusinessServiceResponseBuilder.class new file mode 100644 index 00000000000..669de303d42 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/BusinessServiceResponse$BusinessServiceResponseBuilder.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/BusinessServiceResponse.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/BusinessServiceResponse.class new file mode 100644 index 00000000000..5df89d6c124 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/BusinessServiceResponse.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/Calculation$CalculationBuilder.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/Calculation$CalculationBuilder.class new file mode 100644 index 00000000000..1c28aec0d81 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/Calculation$CalculationBuilder.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/Calculation.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/Calculation.class new file mode 100644 index 00000000000..7cfdc3bda1b Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/Calculation.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/CalculationCriteria$CalculationCriteriaBuilder.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/CalculationCriteria$CalculationCriteriaBuilder.class new file mode 100644 index 00000000000..b381b4d3afd Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/CalculationCriteria$CalculationCriteriaBuilder.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/CalculationCriteria.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/CalculationCriteria.class new file mode 100644 index 00000000000..9e7b137c3bd Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/CalculationCriteria.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/CalculationReq$CalculationReqBuilder.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/CalculationReq$CalculationReqBuilder.class new file mode 100644 index 00000000000..07a3736c958 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/CalculationReq$CalculationReqBuilder.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/CalculationReq.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/CalculationReq.class new file mode 100644 index 00000000000..bb946aad079 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/CalculationReq.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/CalculationRes$CalculationResBuilder.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/CalculationRes$CalculationResBuilder.class new file mode 100644 index 00000000000..825511a6f29 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/CalculationRes$CalculationResBuilder.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/CalculationRes.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/CalculationRes.class new file mode 100644 index 00000000000..a2c08b6e6d1 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/CalculationRes.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/CreateUserRequest.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/CreateUserRequest.class new file mode 100644 index 00000000000..b1945869c1a Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/CreateUserRequest.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/Document$DocumentBuilder.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/Document$DocumentBuilder.class new file mode 100644 index 00000000000..6905ea9e124 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/Document$DocumentBuilder.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/Document.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/Document.class new file mode 100644 index 00000000000..10fa4071e70 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/Document.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/Error$ErrorBuilder.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/Error$ErrorBuilder.class new file mode 100644 index 00000000000..aa021808357 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/Error$ErrorBuilder.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/Error.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/Error.class new file mode 100644 index 00000000000..9a0a7ec3822 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/Error.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/ErrorRes$ErrorResBuilder.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/ErrorRes$ErrorResBuilder.class new file mode 100644 index 00000000000..dceb66c9656 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/ErrorRes$ErrorResBuilder.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/ErrorRes.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/ErrorRes.class new file mode 100644 index 00000000000..71d40edf2b7 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/ErrorRes.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/FatherApplicant$FatherApplicantBuilder.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/FatherApplicant$FatherApplicantBuilder.class new file mode 100644 index 00000000000..0b9a8214931 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/FatherApplicant$FatherApplicantBuilder.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/FatherApplicant.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/FatherApplicant.class new file mode 100644 index 00000000000..061c86f5d8d Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/FatherApplicant.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/IdGenerationRequest$IdGenerationRequestBuilder.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/IdGenerationRequest$IdGenerationRequestBuilder.class new file mode 100644 index 00000000000..f771ec488e2 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/IdGenerationRequest$IdGenerationRequestBuilder.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/IdGenerationRequest.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/IdGenerationRequest.class new file mode 100644 index 00000000000..be048b6fb46 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/IdGenerationRequest.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/IdGenerationResponse$IdGenerationResponseBuilder.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/IdGenerationResponse$IdGenerationResponseBuilder.class new file mode 100644 index 00000000000..8124c05895f Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/IdGenerationResponse$IdGenerationResponseBuilder.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/IdGenerationResponse.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/IdGenerationResponse.class new file mode 100644 index 00000000000..b9b58fe12b6 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/IdGenerationResponse.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/IdRequest$IdRequestBuilder.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/IdRequest$IdRequestBuilder.class new file mode 100644 index 00000000000..6cdf9d74128 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/IdRequest$IdRequestBuilder.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/IdRequest.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/IdRequest.class new file mode 100644 index 00000000000..9f11a145e96 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/IdRequest.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/IdResponse$IdResponseBuilder.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/IdResponse$IdResponseBuilder.class new file mode 100644 index 00000000000..49c33ff4d60 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/IdResponse$IdResponseBuilder.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/IdResponse.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/IdResponse.class new file mode 100644 index 00000000000..5b0c4ce37ca Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/IdResponse.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/MotherApplicant$MotherApplicantBuilder.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/MotherApplicant$MotherApplicantBuilder.class new file mode 100644 index 00000000000..91fa4bb2a2c Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/MotherApplicant$MotherApplicantBuilder.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/MotherApplicant.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/MotherApplicant.class new file mode 100644 index 00000000000..6fe71a4afe5 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/MotherApplicant.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/Payment$PaymentBuilder.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/Payment$PaymentBuilder.class new file mode 100644 index 00000000000..17c02bff412 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/Payment$PaymentBuilder.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/Payment.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/Payment.class new file mode 100644 index 00000000000..ced4a8de451 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/Payment.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/PaymentDetail$PaymentDetailBuilder.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/PaymentDetail$PaymentDetailBuilder.class new file mode 100644 index 00000000000..43ceff3bcaa Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/PaymentDetail$PaymentDetailBuilder.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/PaymentDetail.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/PaymentDetail.class new file mode 100644 index 00000000000..1516137de68 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/PaymentDetail.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/PaymentRequest.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/PaymentRequest.class new file mode 100644 index 00000000000..7aaa48df78b Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/PaymentRequest.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/ProcessInstance$ProcessInstanceBuilder.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/ProcessInstance$ProcessInstanceBuilder.class new file mode 100644 index 00000000000..66d6177e576 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/ProcessInstance$ProcessInstanceBuilder.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/ProcessInstance.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/ProcessInstance.class new file mode 100644 index 00000000000..1f21caed82e Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/ProcessInstance.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/ProcessInstanceRequest$ProcessInstanceRequestBuilder.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/ProcessInstanceRequest$ProcessInstanceRequestBuilder.class new file mode 100644 index 00000000000..cc78a6e3c66 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/ProcessInstanceRequest$ProcessInstanceRequestBuilder.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/ProcessInstanceRequest.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/ProcessInstanceRequest.class new file mode 100644 index 00000000000..6b3d7bcae1d Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/ProcessInstanceRequest.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/ProcessInstanceResponse$ProcessInstanceResponseBuilder.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/ProcessInstanceResponse$ProcessInstanceResponseBuilder.class new file mode 100644 index 00000000000..b9437f4f069 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/ProcessInstanceResponse$ProcessInstanceResponseBuilder.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/ProcessInstanceResponse.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/ProcessInstanceResponse.class new file mode 100644 index 00000000000..b1fd268b738 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/ProcessInstanceResponse.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/RequestInfoWrapper$RequestInfoWrapperBuilder.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/RequestInfoWrapper$RequestInfoWrapperBuilder.class new file mode 100644 index 00000000000..7f4b5452eea Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/RequestInfoWrapper$RequestInfoWrapperBuilder.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/RequestInfoWrapper.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/RequestInfoWrapper.class new file mode 100644 index 00000000000..b851ae6c74a Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/RequestInfoWrapper.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/Role$RoleBuilder.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/Role$RoleBuilder.class new file mode 100644 index 00000000000..bfa5ed0da98 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/Role$RoleBuilder.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/Role.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/Role.class new file mode 100644 index 00000000000..f90b7cebf2b Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/Role.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/Role2$Role2Builder.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/Role2$Role2Builder.class new file mode 100644 index 00000000000..01dc2ab87cb Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/Role2$Role2Builder.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/Role2.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/Role2.class new file mode 100644 index 00000000000..e56a17893ce Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/Role2.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/SMSRequest$SMSRequestBuilder.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/SMSRequest$SMSRequestBuilder.class new file mode 100644 index 00000000000..7c18b9687f1 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/SMSRequest$SMSRequestBuilder.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/SMSRequest.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/SMSRequest.class new file mode 100644 index 00000000000..a7fb569e9b4 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/SMSRequest.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/State$StateBuilder.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/State$StateBuilder.class new file mode 100644 index 00000000000..bafb6888d24 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/State$StateBuilder.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/State.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/State.class new file mode 100644 index 00000000000..522c196c267 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/State.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/TenantRole$TenantRoleBuilder.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/TenantRole$TenantRoleBuilder.class new file mode 100644 index 00000000000..b0ad529b99c Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/TenantRole$TenantRoleBuilder.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/TenantRole.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/TenantRole.class new file mode 100644 index 00000000000..cbf32dd109f Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/TenantRole.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/User$UserBuilder.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/User$UserBuilder.class new file mode 100644 index 00000000000..ad34ffd02b2 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/User$UserBuilder.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/User.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/User.class new file mode 100644 index 00000000000..a2a3890998c Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/User.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/UserDetailResponse.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/UserDetailResponse.class new file mode 100644 index 00000000000..2b2afdcf53d Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/UserDetailResponse.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/UserInfo$UserInfoBuilder.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/UserInfo$UserInfoBuilder.class new file mode 100644 index 00000000000..5fa37166670 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/UserInfo$UserInfoBuilder.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/UserInfo.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/UserInfo.class new file mode 100644 index 00000000000..2b08f635916 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/UserInfo.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/UserSearchRequest.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/UserSearchRequest.class new file mode 100644 index 00000000000..db3a5542338 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/UserSearchRequest.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/Workflow$WorkflowBuilder.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/Workflow$WorkflowBuilder.class new file mode 100644 index 00000000000..df57d1fe650 Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/Workflow$WorkflowBuilder.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/Workflow.class b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/Workflow.class new file mode 100644 index 00000000000..4c5a8aad43f Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/classes/digit/web/models/Workflow.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/test-classes/digit/TestConfiguration.class b/tutorials/backend-developer-guide/btr-services/target/test-classes/digit/TestConfiguration.class new file mode 100644 index 00000000000..80bd8ff1dcc Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/test-classes/digit/TestConfiguration.class differ diff --git a/tutorials/backend-developer-guide/btr-services/target/test-classes/digit/web/controllers/V1ApiControllerTest.class b/tutorials/backend-developer-guide/btr-services/target/test-classes/digit/web/controllers/V1ApiControllerTest.class new file mode 100644 index 00000000000..3b1a91043ef Binary files /dev/null and b/tutorials/backend-developer-guide/btr-services/target/test-classes/digit/web/controllers/V1ApiControllerTest.class differ