From 817f37c5984321e7dc6369baf1cb9a05b6702f0d Mon Sep 17 00:00:00 2001 From: Harimohan Rajamohanan <30436665+harimohanr@users.noreply.github.com> Date: Mon, 12 Jun 2023 08:25:48 +0530 Subject: [PATCH 1/4] Develop branch merge to master (#5) * Readme file added (#1) * Create README.md Added new readme.md file * Update README.md * Removed unnecessary dependencies from pom.xml (#2) * Removed unnecessary dependencies from pom.xml, added crypto.utils to resolve build issues * pom.xml cleanup * updated code-of-conduct, copying, contributing, readme (#3) * Create CONTRIBUTING.md * Create CODE_OF_CONDUCT.md * Create COPYING * Update README.md * modified .gitignore file (#4) * modified .gitignore file * Delete target directory * Update .gitignore * Delete logs directory --------- Co-authored-by: Mahima Elizabeth George <86731974+mahimaeg@users.noreply.github.com> Co-authored-by: Sweta Prakash <125380378+swetatech24@users.noreply.github.com> Co-authored-by: Vidyadevi Salunkhe <84471226+Vidyaaa24@users.noreply.github.com> --- .github/workflows/build-on-pull-request.yml | 22 + ...deQL Analysis.yml => sast-and-package.yml} | 38 +- .gitignore | 11 +- .mvn/wrapper/maven-wrapper.jar | Bin 47610 -> 0 bytes .mvn/wrapper/maven-wrapper.properties | 1 - .sts4-cache/classpath-data.json | 1 - CODE_OF_CONDUCT.md | 132 ++++ CONTRIBUTING.md | 32 + COPYING | 674 ++++++++++++++++++ README.md | 33 + deployidentity.bat | 5 - mvnw | 225 ------ mvnw.cmd | 143 ---- pom.xml | 145 ++-- src/main/environment/common_test.properties | 4 +- .../iemr/common/identity/config/DBConfig.java | 28 +- .../common/identity/utils/CommonMain.java | 49 +- .../common/identity/utils/CryptoUtil.java | 55 ++ .../common/identity/utils/IEMRApplBeans.java | 46 -- .../common/identity/utils/km/KMService.java | 8 - .../utils/km/openkm/OpenKMConnector.java | 15 - .../utils/km/openkm/OpenKMServiceImpl.java | 163 ----- 22 files changed, 1036 insertions(+), 794 deletions(-) create mode 100644 .github/workflows/build-on-pull-request.yml rename .github/workflows/{Maven Build and CodeQL Analysis.yml => sast-and-package.yml} (62%) delete mode 100644 .mvn/wrapper/maven-wrapper.jar delete mode 100644 .mvn/wrapper/maven-wrapper.properties delete mode 100644 .sts4-cache/classpath-data.json create mode 100644 CODE_OF_CONDUCT.md create mode 100644 CONTRIBUTING.md create mode 100644 COPYING create mode 100644 README.md delete mode 100644 deployidentity.bat delete mode 100644 mvnw delete mode 100644 mvnw.cmd create mode 100644 src/main/java/com/iemr/common/identity/utils/CryptoUtil.java delete mode 100644 src/main/java/com/iemr/common/identity/utils/km/KMService.java delete mode 100644 src/main/java/com/iemr/common/identity/utils/km/openkm/OpenKMConnector.java delete mode 100644 src/main/java/com/iemr/common/identity/utils/km/openkm/OpenKMServiceImpl.java diff --git a/.github/workflows/build-on-pull-request.yml b/.github/workflows/build-on-pull-request.yml new file mode 100644 index 0000000..4c88df3 --- /dev/null +++ b/.github/workflows/build-on-pull-request.yml @@ -0,0 +1,22 @@ +name: Build On Pull Request +on: + pull_request: + branches: [ "master","develop" ] + +jobs: + Build: + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v3 + with: + ref: ${{ github.event.pull_request.head.ref }} + repository: ${{ github.event.pull_request.head.repo.full_name }} + + - name: Setup JDK 8 + uses: actions/setup-java@v2 + with: + java-version: 8 + distribution: 'adopt' + - name: Build with Maven + run: mvn clean install \ No newline at end of file diff --git a/.github/workflows/Maven Build and CodeQL Analysis.yml b/.github/workflows/sast-and-package.yml similarity index 62% rename from .github/workflows/Maven Build and CodeQL Analysis.yml rename to .github/workflows/sast-and-package.yml index 4d2a628..179a33b 100644 --- a/.github/workflows/Maven Build and CodeQL Analysis.yml +++ b/.github/workflows/sast-and-package.yml @@ -1,46 +1,52 @@ -name: Build and Deploy +name: Static Code Analysis and Packaging on: push: branches: [ "master","develop" ] - pull_request: - branches: [ "master","develop" ] jobs: - build: + CodeQL: runs-on: ubuntu-latest + permissions: + actions: read + contents: read + security-events: write + + strategy: + fail-fast: false steps: - name: Checkout code uses: actions/checkout@v2 - - - name: Setup JDK 8 uses: actions/setup-java@v2 with: java-version: 8 distribution: 'adopt' - - - name: Initialize CodeQL uses: github/codeql-action/init@v2 with: languages: Java - - - name: Build with Maven run: mvn clean install - - - name: Perform CodeQL Analysis uses: github/codeql-action/analyze@v2 + with: + languages: Java - + Packaging: + needs: codeql + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v3 + - name: Setup JDK 8 + uses: actions/setup-java@v2 + with: + java-version: 8 + distribution: 'adopt' - name: Create WAR file run: mvn -B package --file pom.xml - - - name: Upload WAR file as artifact uses: actions/upload-artifact@v2 with: name: Identity-API path: target/identity-0.0.1.war - diff --git a/.gitignore b/.gitignore index 2af7cef..7a81f18 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ +#Ignore target and logs target/ -!.mvn/wrapper/maven-wrapper.jar +logs/ ### STS ### .apt_generated @@ -8,6 +9,7 @@ target/ .project .settings .springBeans +.sts4-cache ### IntelliJ IDEA ### .idea @@ -21,4 +23,9 @@ build/ nbbuild/ dist/ nbdist/ -.nb-gradle/ \ No newline at end of file +.nb-gradle/ + +### Other Entries ### +mvnw +mvnw.cmd +.mvn diff --git a/.mvn/wrapper/maven-wrapper.jar b/.mvn/wrapper/maven-wrapper.jar deleted file mode 100644 index 9cc84ea9b4d95453115d0c26488d6a78694e0bc6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 47610 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 diff --git a/.mvn/wrapper/maven-wrapper.properties b/.mvn/wrapper/maven-wrapper.properties deleted file mode 100644 index 9dda3b6..0000000 --- a/.mvn/wrapper/maven-wrapper.properties +++ /dev/null @@ -1 +0,0 @@ -distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.2/apache-maven-3.5.2-bin.zip diff --git a/.sts4-cache/classpath-data.json b/.sts4-cache/classpath-data.json deleted file mode 100644 index fc96463..0000000 --- a/.sts4-cache/classpath-data.json +++ /dev/null @@ -1 +0,0 @@ -{"name":"identity","classpathEntries":[{"kind":"binary","path":"C:\\Program Files\\Java\\jdk1.8.0_241\\jre\\lib\\resources.jar","javadocContainerUrl":"https://docs.oracle.com/javase/1/docs/api/","isSystem":true,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Program Files\\Java\\jdk1.8.0_241\\jre\\lib\\rt.jar","javadocContainerUrl":"https://docs.oracle.com/javase/1/docs/api/","isSystem":true,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Program Files\\Java\\jdk1.8.0_241\\jre\\lib\\jsse.jar","javadocContainerUrl":"https://docs.oracle.com/javase/1/docs/api/","isSystem":true,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Program Files\\Java\\jdk1.8.0_241\\jre\\lib\\jce.jar","javadocContainerUrl":"https://docs.oracle.com/javase/1/docs/api/","isSystem":true,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Program Files\\Java\\jdk1.8.0_241\\jre\\lib\\charsets.jar","javadocContainerUrl":"https://docs.oracle.com/javase/1/docs/api/","isSystem":true,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Program Files\\Java\\jdk1.8.0_241\\jre\\lib\\jfr.jar","javadocContainerUrl":"https://docs.oracle.com/javase/1/docs/api/","isSystem":true,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\org\\springframework\\boot\\spring-boot-starter-data-jpa\\1.5.8.RELEASE\\spring-boot-starter-data-jpa-1.5.8.RELEASE.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/springframework/boot/spring-boot-starter-data-jpa/1.5.8.RELEASE/spring-boot-starter-data-jpa-1.5.8.RELEASE-sources.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\org\\springframework\\boot\\spring-boot-starter\\1.5.8.RELEASE\\spring-boot-starter-1.5.8.RELEASE.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/springframework/boot/spring-boot-starter/1.5.8.RELEASE/spring-boot-starter-1.5.8.RELEASE-sources.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\org\\springframework\\boot\\spring-boot-starter-logging\\1.5.8.RELEASE\\spring-boot-starter-logging-1.5.8.RELEASE.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/springframework/boot/spring-boot-starter-logging/1.5.8.RELEASE/spring-boot-starter-logging-1.5.8.RELEASE-sources.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\ch\\qos\\logback\\logback-classic\\1.1.11\\logback-classic-1.1.11.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/ch/qos/logback/logback-classic/1.1.11/logback-classic-1.1.11-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/ch/qos/logback/logback-classic/1.1.11/logback-classic-1.1.11-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\ch\\qos\\logback\\logback-core\\1.1.11\\logback-core-1.1.11.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/ch/qos/logback/logback-core/1.1.11/logback-core-1.1.11-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/ch/qos/logback/logback-core/1.1.11/logback-core-1.1.11-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\org\\slf4j\\jul-to-slf4j\\1.7.25\\jul-to-slf4j-1.7.25.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/slf4j/jul-to-slf4j/1.7.25/jul-to-slf4j-1.7.25-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/slf4j/jul-to-slf4j/1.7.25/jul-to-slf4j-1.7.25-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\org\\slf4j\\log4j-over-slf4j\\1.7.25\\log4j-over-slf4j-1.7.25.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/slf4j/log4j-over-slf4j/1.7.25/log4j-over-slf4j-1.7.25-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/slf4j/log4j-over-slf4j/1.7.25/log4j-over-slf4j-1.7.25-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\org\\yaml\\snakeyaml\\1.17\\snakeyaml-1.17.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/yaml/snakeyaml/1.17/snakeyaml-1.17-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/yaml/snakeyaml/1.17/snakeyaml-1.17-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\org\\springframework\\boot\\spring-boot-starter-aop\\1.5.8.RELEASE\\spring-boot-starter-aop-1.5.8.RELEASE.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/springframework/boot/spring-boot-starter-aop/1.5.8.RELEASE/spring-boot-starter-aop-1.5.8.RELEASE-sources.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\org\\aspectj\\aspectjweaver\\1.8.11\\aspectjweaver-1.8.11.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/aspectj/aspectjweaver/1.8.11/aspectjweaver-1.8.11-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/aspectj/aspectjweaver/1.8.11/aspectjweaver-1.8.11-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\org\\springframework\\boot\\spring-boot-starter-jdbc\\1.5.8.RELEASE\\spring-boot-starter-jdbc-1.5.8.RELEASE.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/springframework/boot/spring-boot-starter-jdbc/1.5.8.RELEASE/spring-boot-starter-jdbc-1.5.8.RELEASE-sources.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\org\\apache\\tomcat\\tomcat-jdbc\\8.5.23\\tomcat-jdbc-8.5.23.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/apache/tomcat/tomcat-jdbc/8.5.23/tomcat-jdbc-8.5.23-sources.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\org\\apache\\tomcat\\tomcat-juli\\8.5.23\\tomcat-juli-8.5.23.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/apache/tomcat/tomcat-juli/8.5.23/tomcat-juli-8.5.23-sources.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\org\\springframework\\spring-jdbc\\4.3.12.RELEASE\\spring-jdbc-4.3.12.RELEASE.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/springframework/spring-jdbc/4.3.12.RELEASE/spring-jdbc-4.3.12.RELEASE-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/springframework/spring-jdbc/4.3.12.RELEASE/spring-jdbc-4.3.12.RELEASE-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\org\\hibernate\\hibernate-core\\5.0.12.Final\\hibernate-core-5.0.12.Final.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/hibernate/hibernate-core/5.0.12.Final/hibernate-core-5.0.12.Final-sources.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\org\\jboss\\logging\\jboss-logging\\3.3.1.Final\\jboss-logging-3.3.1.Final.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/jboss/logging/jboss-logging/3.3.1.Final/jboss-logging-3.3.1.Final-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/jboss/logging/jboss-logging/3.3.1.Final/jboss-logging-3.3.1.Final-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\org\\hibernate\\javax\\persistence\\hibernate-jpa-2.1-api\\1.0.0.Final\\hibernate-jpa-2.1-api-1.0.0.Final.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/hibernate/javax/persistence/hibernate-jpa-2.1-api/1.0.0.Final/hibernate-jpa-2.1-api-1.0.0.Final-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/hibernate/javax/persistence/hibernate-jpa-2.1-api/1.0.0.Final/hibernate-jpa-2.1-api-1.0.0.Final-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\org\\javassist\\javassist\\3.21.0-GA\\javassist-3.21.0-GA.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/javassist/javassist/3.21.0-GA/javassist-3.21.0-GA-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/javassist/javassist/3.21.0-GA/javassist-3.21.0-GA-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\antlr\\antlr\\2.7.7\\antlr-2.7.7.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\org\\jboss\\jandex\\2.0.0.Final\\jandex-2.0.0.Final.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/jboss/jandex/2.0.0.Final/jandex-2.0.0.Final-sources.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\dom4j\\dom4j\\1.6.1\\dom4j-1.6.1.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/dom4j/dom4j/1.6.1/dom4j-1.6.1-sources.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\org\\hibernate\\common\\hibernate-commons-annotations\\5.0.1.Final\\hibernate-commons-annotations-5.0.1.Final.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/hibernate/common/hibernate-commons-annotations/5.0.1.Final/hibernate-commons-annotations-5.0.1.Final-sources.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\org\\hibernate\\hibernate-entitymanager\\5.0.12.Final\\hibernate-entitymanager-5.0.12.Final.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/hibernate/hibernate-entitymanager/5.0.12.Final/hibernate-entitymanager-5.0.12.Final-sources.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\javax\\transaction\\javax.transaction-api\\1.2\\javax.transaction-api-1.2.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/javax/transaction/javax.transaction-api/1.2/javax.transaction-api-1.2-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/javax/transaction/javax.transaction-api/1.2/javax.transaction-api-1.2-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\org\\springframework\\data\\spring-data-jpa\\1.11.8.RELEASE\\spring-data-jpa-1.11.8.RELEASE.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/springframework/data/spring-data-jpa/1.11.8.RELEASE/spring-data-jpa-1.11.8.RELEASE-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/springframework/data/spring-data-jpa/1.11.8.RELEASE/spring-data-jpa-1.11.8.RELEASE-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\org\\springframework\\data\\spring-data-commons\\1.13.8.RELEASE\\spring-data-commons-1.13.8.RELEASE.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/springframework/data/spring-data-commons/1.13.8.RELEASE/spring-data-commons-1.13.8.RELEASE-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/springframework/data/spring-data-commons/1.13.8.RELEASE/spring-data-commons-1.13.8.RELEASE-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\org\\springframework\\spring-orm\\4.3.12.RELEASE\\spring-orm-4.3.12.RELEASE.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/springframework/spring-orm/4.3.12.RELEASE/spring-orm-4.3.12.RELEASE-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/springframework/spring-orm/4.3.12.RELEASE/spring-orm-4.3.12.RELEASE-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\org\\springframework\\spring-beans\\4.3.12.RELEASE\\spring-beans-4.3.12.RELEASE.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/springframework/spring-beans/4.3.12.RELEASE/spring-beans-4.3.12.RELEASE-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/springframework/spring-beans/4.3.12.RELEASE/spring-beans-4.3.12.RELEASE-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\org\\springframework\\spring-aspects\\4.3.12.RELEASE\\spring-aspects-4.3.12.RELEASE.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/springframework/spring-aspects/4.3.12.RELEASE/spring-aspects-4.3.12.RELEASE-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/springframework/spring-aspects/4.3.12.RELEASE/spring-aspects-4.3.12.RELEASE-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\org\\springframework\\boot\\spring-boot-starter-validation\\1.5.8.RELEASE\\spring-boot-starter-validation-1.5.8.RELEASE.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/springframework/boot/spring-boot-starter-validation/1.5.8.RELEASE/spring-boot-starter-validation-1.5.8.RELEASE-sources.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\org\\apache\\tomcat\\embed\\tomcat-embed-el\\8.5.23\\tomcat-embed-el-8.5.23.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/apache/tomcat/embed/tomcat-embed-el/8.5.23/tomcat-embed-el-8.5.23-sources.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\org\\hibernate\\hibernate-validator\\5.3.5.Final\\hibernate-validator-5.3.5.Final.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/hibernate/hibernate-validator/5.3.5.Final/hibernate-validator-5.3.5.Final-sources.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\javax\\validation\\validation-api\\1.1.0.Final\\validation-api-1.1.0.Final.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/javax/validation/validation-api/1.1.0.Final/validation-api-1.1.0.Final-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/javax/validation/validation-api/1.1.0.Final/validation-api-1.1.0.Final-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\org\\springframework\\boot\\spring-boot-starter-web\\1.5.8.RELEASE\\spring-boot-starter-web-1.5.8.RELEASE.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/springframework/boot/spring-boot-starter-web/1.5.8.RELEASE/spring-boot-starter-web-1.5.8.RELEASE-sources.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\org\\springframework\\boot\\spring-boot-starter-tomcat\\1.5.8.RELEASE\\spring-boot-starter-tomcat-1.5.8.RELEASE.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/springframework/boot/spring-boot-starter-tomcat/1.5.8.RELEASE/spring-boot-starter-tomcat-1.5.8.RELEASE-sources.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\org\\apache\\tomcat\\embed\\tomcat-embed-core\\8.5.23\\tomcat-embed-core-8.5.23.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/apache/tomcat/embed/tomcat-embed-core/8.5.23/tomcat-embed-core-8.5.23-sources.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\org\\apache\\tomcat\\tomcat-annotations-api\\8.5.23\\tomcat-annotations-api-8.5.23.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/apache/tomcat/tomcat-annotations-api/8.5.23/tomcat-annotations-api-8.5.23-sources.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\org\\springframework\\spring-web\\4.3.12.RELEASE\\spring-web-4.3.12.RELEASE.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/springframework/spring-web/4.3.12.RELEASE/spring-web-4.3.12.RELEASE-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/springframework/spring-web/4.3.12.RELEASE/spring-web-4.3.12.RELEASE-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\org\\springframework\\spring-webmvc\\4.3.12.RELEASE\\spring-webmvc-4.3.12.RELEASE.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/springframework/spring-webmvc/4.3.12.RELEASE/spring-webmvc-4.3.12.RELEASE-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/springframework/spring-webmvc/4.3.12.RELEASE/spring-webmvc-4.3.12.RELEASE-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\org\\springframework\\spring-expression\\4.3.12.RELEASE\\spring-expression-4.3.12.RELEASE.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/springframework/spring-expression/4.3.12.RELEASE/spring-expression-4.3.12.RELEASE-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/springframework/spring-expression/4.3.12.RELEASE/spring-expression-4.3.12.RELEASE-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\org\\springframework\\boot\\spring-boot-devtools\\1.5.8.RELEASE\\spring-boot-devtools-1.5.8.RELEASE.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/springframework/boot/spring-boot-devtools/1.5.8.RELEASE/spring-boot-devtools-1.5.8.RELEASE-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/springframework/boot/spring-boot-devtools/1.5.8.RELEASE/spring-boot-devtools-1.5.8.RELEASE-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\org\\springframework\\boot\\spring-boot\\1.5.8.RELEASE\\spring-boot-1.5.8.RELEASE.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/springframework/boot/spring-boot/1.5.8.RELEASE/spring-boot-1.5.8.RELEASE-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/springframework/boot/spring-boot/1.5.8.RELEASE/spring-boot-1.5.8.RELEASE-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\org\\springframework\\boot\\spring-boot-autoconfigure\\1.5.8.RELEASE\\spring-boot-autoconfigure-1.5.8.RELEASE.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/springframework/boot/spring-boot-autoconfigure/1.5.8.RELEASE/spring-boot-autoconfigure-1.5.8.RELEASE-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/springframework/boot/spring-boot-autoconfigure/1.5.8.RELEASE/spring-boot-autoconfigure-1.5.8.RELEASE-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\mysql\\mysql-connector-java\\5.1.44\\mysql-connector-java-5.1.44.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/mysql/mysql-connector-java/5.1.44/mysql-connector-java-5.1.44-sources.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\org\\projectlombok\\lombok\\1.16.18\\lombok-1.16.18.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/projectlombok/lombok/1.16.18/lombok-1.16.18-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/projectlombok/lombok/1.16.18/lombok-1.16.18-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\org\\mapstruct\\mapstruct-jdk8\\1.2.0.Final\\mapstruct-jdk8-1.2.0.Final.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/mapstruct/mapstruct-jdk8/1.2.0.Final/mapstruct-jdk8-1.2.0.Final-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/mapstruct/mapstruct-jdk8/1.2.0.Final/mapstruct-jdk8-1.2.0.Final-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\org\\mapstruct\\mapstruct-processor\\1.2.0.Final\\mapstruct-processor-1.2.0.Final.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/mapstruct/mapstruct-processor/1.2.0.Final/mapstruct-processor-1.2.0.Final-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/mapstruct/mapstruct-processor/1.2.0.Final/mapstruct-processor-1.2.0.Final-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\com\\google\\code\\gson\\gson\\2.8.2\\gson-2.8.2.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/com/google/code/gson/gson/2.8.2/gson-2.8.2-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/com/google/code/gson/gson/2.8.2/gson-2.8.2-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\org\\springframework\\boot\\spring-boot-starter-test\\1.5.8.RELEASE\\spring-boot-starter-test-1.5.8.RELEASE.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/springframework/boot/spring-boot-starter-test/1.5.8.RELEASE/spring-boot-starter-test-1.5.8.RELEASE-sources.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\org\\springframework\\boot\\spring-boot-test\\1.5.8.RELEASE\\spring-boot-test-1.5.8.RELEASE.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/springframework/boot/spring-boot-test/1.5.8.RELEASE/spring-boot-test-1.5.8.RELEASE-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/springframework/boot/spring-boot-test/1.5.8.RELEASE/spring-boot-test-1.5.8.RELEASE-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\org\\springframework\\boot\\spring-boot-test-autoconfigure\\1.5.8.RELEASE\\spring-boot-test-autoconfigure-1.5.8.RELEASE.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/springframework/boot/spring-boot-test-autoconfigure/1.5.8.RELEASE/spring-boot-test-autoconfigure-1.5.8.RELEASE-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/springframework/boot/spring-boot-test-autoconfigure/1.5.8.RELEASE/spring-boot-test-autoconfigure-1.5.8.RELEASE-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\com\\jayway\\jsonpath\\json-path\\2.2.0\\json-path-2.2.0.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/com/jayway/jsonpath/json-path/2.2.0/json-path-2.2.0-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/com/jayway/jsonpath/json-path/2.2.0/json-path-2.2.0-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\net\\minidev\\json-smart\\2.2.1\\json-smart-2.2.1.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/net/minidev/json-smart/2.2.1/json-smart-2.2.1-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/net/minidev/json-smart/2.2.1/json-smart-2.2.1-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\net\\minidev\\accessors-smart\\1.1\\accessors-smart-1.1.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/net/minidev/accessors-smart/1.1/accessors-smart-1.1-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/net/minidev/accessors-smart/1.1/accessors-smart-1.1-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\org\\ow2\\asm\\asm\\5.0.3\\asm-5.0.3.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/ow2/asm/asm/5.0.3/asm-5.0.3-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/ow2/asm/asm/5.0.3/asm-5.0.3-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\org\\assertj\\assertj-core\\2.6.0\\assertj-core-2.6.0.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/assertj/assertj-core/2.6.0/assertj-core-2.6.0-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/assertj/assertj-core/2.6.0/assertj-core-2.6.0-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\org\\mockito\\mockito-core\\1.10.19\\mockito-core-1.10.19.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/mockito/mockito-core/1.10.19/mockito-core-1.10.19-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/mockito/mockito-core/1.10.19/mockito-core-1.10.19-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\org\\objenesis\\objenesis\\2.1\\objenesis-2.1.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/objenesis/objenesis/2.1/objenesis-2.1-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/objenesis/objenesis/2.1/objenesis-2.1-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\org\\hamcrest\\hamcrest-core\\1.3\\hamcrest-core-1.3.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\org\\hamcrest\\hamcrest-library\\1.3\\hamcrest-library-1.3.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/hamcrest/hamcrest-library/1.3/hamcrest-library-1.3-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/hamcrest/hamcrest-library/1.3/hamcrest-library-1.3-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\org\\skyscreamer\\jsonassert\\1.4.0\\jsonassert-1.4.0.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/skyscreamer/jsonassert/1.4.0/jsonassert-1.4.0-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/skyscreamer/jsonassert/1.4.0/jsonassert-1.4.0-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\org\\springframework\\spring-core\\4.3.12.RELEASE\\spring-core-4.3.12.RELEASE.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/springframework/spring-core/4.3.12.RELEASE/spring-core-4.3.12.RELEASE-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/springframework/spring-core/4.3.12.RELEASE/spring-core-4.3.12.RELEASE-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\org\\springframework\\spring-test\\4.3.12.RELEASE\\spring-test-4.3.12.RELEASE.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/springframework/spring-test/4.3.12.RELEASE/spring-test-4.3.12.RELEASE-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/springframework/spring-test/4.3.12.RELEASE/spring-test-4.3.12.RELEASE-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\org\\springframework\\security\\spring-security-test\\4.2.3.RELEASE\\spring-security-test-4.2.3.RELEASE.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/springframework/security/spring-security-test/4.2.3.RELEASE/spring-security-test-4.2.3.RELEASE-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/springframework/security/spring-security-test/4.2.3.RELEASE/spring-security-test-4.2.3.RELEASE-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\org\\springframework\\security\\spring-security-core\\4.2.3.RELEASE\\spring-security-core-4.2.3.RELEASE.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/springframework/security/spring-security-core/4.2.3.RELEASE/spring-security-core-4.2.3.RELEASE-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/springframework/security/spring-security-core/4.2.3.RELEASE/spring-security-core-4.2.3.RELEASE-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\aopalliance\\aopalliance\\1.0\\aopalliance-1.0.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/aopalliance/aopalliance/1.0/aopalliance-1.0-sources.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\org\\springframework\\security\\spring-security-web\\4.2.3.RELEASE\\spring-security-web-4.2.3.RELEASE.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/springframework/security/spring-security-web/4.2.3.RELEASE/spring-security-web-4.2.3.RELEASE-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/springframework/security/spring-security-web/4.2.3.RELEASE/spring-security-web-4.2.3.RELEASE-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\javax\\servlet\\servlet-api\\2.5\\servlet-api-2.5.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/javax/servlet/servlet-api/2.5/servlet-api-2.5-sources.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\javax\\servlet\\jstl\\1.2\\jstl-1.2.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/javax/servlet/jstl/1.2/jstl-1.2-sources.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\io\\springfox\\springfox-swagger2\\2.8.0\\springfox-swagger2-2.8.0.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/io/springfox/springfox-swagger2/2.8.0/springfox-swagger2-2.8.0-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/io/springfox/springfox-swagger2/2.8.0/springfox-swagger2-2.8.0-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\io\\swagger\\swagger-annotations\\1.5.14\\swagger-annotations-1.5.14.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/io/swagger/swagger-annotations/1.5.14/swagger-annotations-1.5.14-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/io/swagger/swagger-annotations/1.5.14/swagger-annotations-1.5.14-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\io\\swagger\\swagger-models\\1.5.14\\swagger-models-1.5.14.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/io/swagger/swagger-models/1.5.14/swagger-models-1.5.14-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/io/swagger/swagger-models/1.5.14/swagger-models-1.5.14-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\io\\springfox\\springfox-spi\\2.8.0\\springfox-spi-2.8.0.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/io/springfox/springfox-spi/2.8.0/springfox-spi-2.8.0-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/io/springfox/springfox-spi/2.8.0/springfox-spi-2.8.0-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\io\\springfox\\springfox-core\\2.8.0\\springfox-core-2.8.0.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/io/springfox/springfox-core/2.8.0/springfox-core-2.8.0-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/io/springfox/springfox-core/2.8.0/springfox-core-2.8.0-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\net\\bytebuddy\\byte-buddy\\1.7.9\\byte-buddy-1.7.9.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/net/bytebuddy/byte-buddy/1.7.9/byte-buddy-1.7.9-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/net/bytebuddy/byte-buddy/1.7.9/byte-buddy-1.7.9-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\io\\springfox\\springfox-schema\\2.8.0\\springfox-schema-2.8.0.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/io/springfox/springfox-schema/2.8.0/springfox-schema-2.8.0-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/io/springfox/springfox-schema/2.8.0/springfox-schema-2.8.0-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\io\\springfox\\springfox-swagger-common\\2.8.0\\springfox-swagger-common-2.8.0.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/io/springfox/springfox-swagger-common/2.8.0/springfox-swagger-common-2.8.0-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/io/springfox/springfox-swagger-common/2.8.0/springfox-swagger-common-2.8.0-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\io\\springfox\\springfox-spring-web\\2.8.0\\springfox-spring-web-2.8.0.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/io/springfox/springfox-spring-web/2.8.0/springfox-spring-web-2.8.0-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/io/springfox/springfox-spring-web/2.8.0/springfox-spring-web-2.8.0-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\org\\reflections\\reflections\\0.9.11\\reflections-0.9.11.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/reflections/reflections/0.9.11/reflections-0.9.11-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/reflections/reflections/0.9.11/reflections-0.9.11-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\com\\google\\guava\\guava\\20.0\\guava-20.0.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/com/google/guava/guava/20.0/guava-20.0-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/com/google/guava/guava/20.0/guava-20.0-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\com\\fasterxml\\classmate\\1.3.4\\classmate-1.3.4.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/com/fasterxml/classmate/1.3.4/classmate-1.3.4-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/com/fasterxml/classmate/1.3.4/classmate-1.3.4-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\org\\slf4j\\slf4j-api\\1.7.25\\slf4j-api-1.7.25.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/slf4j/slf4j-api/1.7.25/slf4j-api-1.7.25-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/slf4j/slf4j-api/1.7.25/slf4j-api-1.7.25-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\org\\springframework\\plugin\\spring-plugin-core\\1.2.0.RELEASE\\spring-plugin-core-1.2.0.RELEASE.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/springframework/plugin/spring-plugin-core/1.2.0.RELEASE/spring-plugin-core-1.2.0.RELEASE-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/springframework/plugin/spring-plugin-core/1.2.0.RELEASE/spring-plugin-core-1.2.0.RELEASE-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\org\\springframework\\plugin\\spring-plugin-metadata\\1.2.0.RELEASE\\spring-plugin-metadata-1.2.0.RELEASE.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/springframework/plugin/spring-plugin-metadata/1.2.0.RELEASE/spring-plugin-metadata-1.2.0.RELEASE-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/springframework/plugin/spring-plugin-metadata/1.2.0.RELEASE/spring-plugin-metadata-1.2.0.RELEASE-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\org\\mapstruct\\mapstruct\\1.2.0.Final\\mapstruct-1.2.0.Final.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/mapstruct/mapstruct/1.2.0.Final/mapstruct-1.2.0.Final-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/mapstruct/mapstruct/1.2.0.Final/mapstruct-1.2.0.Final-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\io\\springfox\\springfox-swagger-ui\\2.8.0\\springfox-swagger-ui-2.8.0.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/io/springfox/springfox-swagger-ui/2.8.0/springfox-swagger-ui-2.8.0-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/io/springfox/springfox-swagger-ui/2.8.0/springfox-swagger-ui-2.8.0-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\org\\json\\json\\20160212\\json-20160212.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/json/json/20160212/json-20160212-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/json/json/20160212/json-20160212-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\com\\fasterxml\\jackson\\datatype\\jackson-datatype-joda\\2.4.0\\jackson-datatype-joda-2.4.0.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/com/fasterxml/jackson/datatype/jackson-datatype-joda/2.4.0/jackson-datatype-joda-2.4.0-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/com/fasterxml/jackson/datatype/jackson-datatype-joda/2.4.0/jackson-datatype-joda-2.4.0-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\com\\fasterxml\\jackson\\core\\jackson-annotations\\2.8.0\\jackson-annotations-2.8.0.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/com/fasterxml/jackson/core/jackson-annotations/2.8.0/jackson-annotations-2.8.0-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/com/fasterxml/jackson/core/jackson-annotations/2.8.0/jackson-annotations-2.8.0-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\com\\fasterxml\\jackson\\core\\jackson-core\\2.8.10\\jackson-core-2.8.10.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/com/fasterxml/jackson/core/jackson-core/2.8.10/jackson-core-2.8.10-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/com/fasterxml/jackson/core/jackson-core/2.8.10/jackson-core-2.8.10-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\joda-time\\joda-time\\2.9.9\\joda-time-2.9.9.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/joda-time/joda-time/2.9.9/joda-time-2.9.9-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/joda-time/joda-time/2.9.9/joda-time-2.9.9-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\com\\fasterxml\\jackson\\core\\jackson-databind\\2.7.1\\jackson-databind-2.7.1.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/com/fasterxml/jackson/core/jackson-databind/2.7.1/jackson-databind-2.7.1-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/com/fasterxml/jackson/core/jackson-databind/2.7.1/jackson-databind-2.7.1-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\org\\quartz-scheduler\\quartz\\2.2.1\\quartz-2.2.1.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/quartz-scheduler/quartz/2.2.1/quartz-2.2.1-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/quartz-scheduler/quartz/2.2.1/quartz-2.2.1-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\c3p0\\c3p0\\0.9.1.1\\c3p0-0.9.1.1.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/c3p0/c3p0/0.9.1.1/c3p0-0.9.1.1-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/c3p0/c3p0/0.9.1.1/c3p0-0.9.1.1-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\org\\quartz-scheduler\\quartz-jobs\\2.2.1\\quartz-jobs-2.2.1.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/quartz-scheduler/quartz-jobs/2.2.1/quartz-jobs-2.2.1-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/quartz-scheduler/quartz-jobs/2.2.1/quartz-jobs-2.2.1-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\org\\springframework\\boot\\spring-boot-starter-cache\\1.5.8.RELEASE\\spring-boot-starter-cache-1.5.8.RELEASE.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/springframework/boot/spring-boot-starter-cache/1.5.8.RELEASE/spring-boot-starter-cache-1.5.8.RELEASE-sources.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\org\\springframework\\spring-context\\4.3.12.RELEASE\\spring-context-4.3.12.RELEASE.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/springframework/spring-context/4.3.12.RELEASE/spring-context-4.3.12.RELEASE-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/springframework/spring-context/4.3.12.RELEASE/spring-context-4.3.12.RELEASE-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\org\\springframework\\spring-context-support\\4.3.12.RELEASE\\spring-context-support-4.3.12.RELEASE.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/springframework/spring-context-support/4.3.12.RELEASE/spring-context-support-4.3.12.RELEASE-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/springframework/spring-context-support/4.3.12.RELEASE/spring-context-support-4.3.12.RELEASE-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\org\\springframework\\boot\\spring-boot-configuration-processor\\1.5.8.RELEASE\\spring-boot-configuration-processor-1.5.8.RELEASE.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/springframework/boot/spring-boot-configuration-processor/1.5.8.RELEASE/spring-boot-configuration-processor-1.5.8.RELEASE-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/springframework/boot/spring-boot-configuration-processor/1.5.8.RELEASE/spring-boot-configuration-processor-1.5.8.RELEASE-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\com\\vaadin\\external\\google\\android-json\\0.0.20131108.vaadin1\\android-json-0.0.20131108.vaadin1.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/com/vaadin/external/google/android-json/0.0.20131108.vaadin1/android-json-0.0.20131108.vaadin1-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/com/vaadin/external/google/android-json/0.0.20131108.vaadin1/android-json-0.0.20131108.vaadin1-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\com\\openkm\\sdk4j\\1.0\\sdk4j-1.0.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/com/openkm/sdk4j/1.0/sdk4j-1.0-sources.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\org\\slf4j\\slf4j-log4j12\\1.7.25\\slf4j-log4j12-1.7.25.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/slf4j/slf4j-log4j12/1.7.25/slf4j-log4j12-1.7.25-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/slf4j/slf4j-log4j12/1.7.25/slf4j-log4j12-1.7.25-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\log4j\\log4j\\1.2.17\\log4j-1.2.17.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/log4j/log4j/1.2.17/log4j-1.2.17-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/log4j/log4j/1.2.17/log4j-1.2.17-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\commons-io\\commons-io\\1.3.2\\commons-io-1.3.2.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/commons-io/commons-io/1.3.2/commons-io-1.3.2-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/commons-io/commons-io/1.3.2/commons-io-1.3.2-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\com\\sun\\jersey\\jersey-client\\1.17.1\\jersey-client-1.17.1.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/com/sun/jersey/jersey-client/1.17.1/jersey-client-1.17.1-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/com/sun/jersey/jersey-client/1.17.1/jersey-client-1.17.1-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\com\\sun\\jersey\\jersey-core\\1.17.1\\jersey-core-1.17.1.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/com/sun/jersey/jersey-core/1.17.1/jersey-core-1.17.1-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/com/sun/jersey/jersey-core/1.17.1/jersey-core-1.17.1-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\com\\sun\\jersey\\contribs\\jersey-multipart\\1.17.1\\jersey-multipart-1.17.1.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/com/sun/jersey/contribs/jersey-multipart/1.17.1/jersey-multipart-1.17.1-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/com/sun/jersey/contribs/jersey-multipart/1.17.1/jersey-multipart-1.17.1-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\org\\jvnet\\mimepull\\1.6\\mimepull-1.6.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/jvnet/mimepull/1.6/mimepull-1.6-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/jvnet/mimepull/1.6/mimepull-1.6-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\net\\sf\\dozer\\dozer\\5.3.2\\dozer-5.3.2.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/net/sf/dozer/dozer/5.3.2/dozer-5.3.2-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/net/sf/dozer/dozer/5.3.2/dozer-5.3.2-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\commons-beanutils\\commons-beanutils\\1.9.3\\commons-beanutils-1.9.3.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/commons-beanutils/commons-beanutils/1.9.3/commons-beanutils-1.9.3-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/commons-beanutils/commons-beanutils/1.9.3/commons-beanutils-1.9.3-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\commons-collections\\commons-collections\\3.2.2\\commons-collections-3.2.2.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/commons-collections/commons-collections/3.2.2/commons-collections-3.2.2-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/commons-collections/commons-collections/3.2.2/commons-collections-3.2.2-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\commons-lang\\commons-lang\\2.5\\commons-lang-2.5.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/commons-lang/commons-lang/2.5/commons-lang-2.5-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/commons-lang/commons-lang/2.5/commons-lang-2.5-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\org\\springframework\\boot\\spring-boot-starter-mail\\1.5.8.RELEASE\\spring-boot-starter-mail-1.5.8.RELEASE.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/springframework/boot/spring-boot-starter-mail/1.5.8.RELEASE/spring-boot-starter-mail-1.5.8.RELEASE-sources.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\com\\sun\\mail\\javax.mail\\1.5.6\\javax.mail-1.5.6.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/com/sun/mail/javax.mail/1.5.6/javax.mail-1.5.6-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/com/sun/mail/javax.mail/1.5.6/javax.mail-1.5.6-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\javax\\activation\\activation\\1.1\\activation-1.1.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/javax/activation/activation/1.1/activation-1.1-sources.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\org\\springframework\\data\\spring-data-redis\\1.7.11.RELEASE\\spring-data-redis-1.7.11.RELEASE.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/springframework/data/spring-data-redis/1.7.11.RELEASE/spring-data-redis-1.7.11.RELEASE-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/springframework/data/spring-data-redis/1.7.11.RELEASE/spring-data-redis-1.7.11.RELEASE-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\org\\springframework\\data\\spring-data-keyvalue\\1.2.8.RELEASE\\spring-data-keyvalue-1.2.8.RELEASE.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/springframework/data/spring-data-keyvalue/1.2.8.RELEASE/spring-data-keyvalue-1.2.8.RELEASE-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/springframework/data/spring-data-keyvalue/1.2.8.RELEASE/spring-data-keyvalue-1.2.8.RELEASE-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\org\\springframework\\spring-tx\\4.3.12.RELEASE\\spring-tx-4.3.12.RELEASE.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/springframework/spring-tx/4.3.12.RELEASE/spring-tx-4.3.12.RELEASE-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/springframework/spring-tx/4.3.12.RELEASE/spring-tx-4.3.12.RELEASE-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\org\\springframework\\spring-oxm\\4.3.12.RELEASE\\spring-oxm-4.3.12.RELEASE.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/springframework/spring-oxm/4.3.12.RELEASE/spring-oxm-4.3.12.RELEASE-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/springframework/spring-oxm/4.3.12.RELEASE/spring-oxm-4.3.12.RELEASE-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\org\\springframework\\spring-aop\\4.3.12.RELEASE\\spring-aop-4.3.12.RELEASE.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/springframework/spring-aop/4.3.12.RELEASE/spring-aop-4.3.12.RELEASE-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/springframework/spring-aop/4.3.12.RELEASE/spring-aop-4.3.12.RELEASE-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\org\\slf4j\\jcl-over-slf4j\\1.7.25\\jcl-over-slf4j-1.7.25.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/slf4j/jcl-over-slf4j/1.7.25/jcl-over-slf4j-1.7.25-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/slf4j/jcl-over-slf4j/1.7.25/jcl-over-slf4j-1.7.25-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\biz\\paluch\\redis\\lettuce\\3.5.0.Final\\lettuce-3.5.0.Final.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/biz/paluch/redis/lettuce/3.5.0.Final/lettuce-3.5.0.Final-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/biz/paluch/redis/lettuce/3.5.0.Final/lettuce-3.5.0.Final-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\io\\reactivex\\rxjava\\1.1.6\\rxjava-1.1.6.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/io/reactivex/rxjava/1.1.6/rxjava-1.1.6-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/io/reactivex/rxjava/1.1.6/rxjava-1.1.6-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\io\\netty\\netty-common\\4.0.37.Final\\netty-common-4.0.37.Final.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/io/netty/netty-common/4.0.37.Final/netty-common-4.0.37.Final-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/io/netty/netty-common/4.0.37.Final/netty-common-4.0.37.Final-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\io\\netty\\netty-transport\\4.0.37.Final\\netty-transport-4.0.37.Final.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/io/netty/netty-transport/4.0.37.Final/netty-transport-4.0.37.Final-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/io/netty/netty-transport/4.0.37.Final/netty-transport-4.0.37.Final-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\io\\netty\\netty-buffer\\4.0.37.Final\\netty-buffer-4.0.37.Final.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/io/netty/netty-buffer/4.0.37.Final/netty-buffer-4.0.37.Final-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/io/netty/netty-buffer/4.0.37.Final/netty-buffer-4.0.37.Final-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\io\\netty\\netty-handler\\4.0.37.Final\\netty-handler-4.0.37.Final.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/io/netty/netty-handler/4.0.37.Final/netty-handler-4.0.37.Final-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/io/netty/netty-handler/4.0.37.Final/netty-handler-4.0.37.Final-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\io\\netty\\netty-codec\\4.0.37.Final\\netty-codec-4.0.37.Final.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/io/netty/netty-codec/4.0.37.Final/netty-codec-4.0.37.Final-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/io/netty/netty-codec/4.0.37.Final/netty-codec-4.0.37.Final-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\org\\springframework\\session\\spring-session\\1.3.1.RELEASE\\spring-session-1.3.1.RELEASE.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/springframework/session/spring-session/1.3.1.RELEASE/spring-session-1.3.1.RELEASE-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/springframework/session/spring-session/1.3.1.RELEASE/spring-session-1.3.1.RELEASE-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\org\\mockito\\mockito-all\\1.9.5\\mockito-all-1.9.5.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/mockito/mockito-all/1.9.5/mockito-all-1.9.5-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/org/mockito/mockito-all/1.9.5/mockito-all-1.9.5-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"binary","path":"C:\\Users\\sh20094090\\.m2\\repository\\junit\\junit\\4.12\\junit-4.12.jar","sourceContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/junit/junit/4.12/junit-4.12-sources.jar","javadocContainerUrl":"file:/C:/Users/sh20094090/.m2/repository/junit/junit/4.12/junit-4.12-javadoc.jar","isSystem":false,"isOwn":false,"isTest":false,"isJavaContent":false},{"kind":"source","path":"D:\\identity api\\identity\\src\\main\\java","outputFolder":"D:\\identity api\\identity\\target\\classes","javadocContainerUrl":"file:/D:/identity%20api/identity/target/site/apidocs","isSystem":false,"isOwn":true,"isTest":false,"isJavaContent":true},{"kind":"source","path":"D:\\identity api\\identity\\src\\test\\java","outputFolder":"D:\\identity api\\identity\\target\\test-classes","javadocContainerUrl":"file:/D:/identity%20api/identity/target/site/apidocs","isSystem":false,"isOwn":true,"isTest":true,"isJavaContent":true},{"kind":"source","path":"D:\\identity api\\identity\\src\\main\\resources","outputFolder":"D:\\identity api\\identity\\target\\classes","isSystem":false,"isOwn":true,"isTest":false,"isJavaContent":false},{"kind":"source","path":"D:\\identity api\\identity\\src\\test\\resources","outputFolder":"D:\\identity api\\identity\\target\\test-classes","isSystem":false,"isOwn":true,"isTest":true,"isJavaContent":false},{"kind":"source","path":"D:\\identity api\\identity\\src\\test\\java","outputFolder":"D:\\identity api\\identity\\target\\test-classes","javadocContainerUrl":"file:/D:/identity%20api/identity/target/site/apidocs","isSystem":false,"isOwn":true,"isTest":false,"isJavaContent":false}]} \ No newline at end of file diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..06f0dc7 --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,132 @@ + +# Contributor Covenant Code of Conduct + +## Our Pledge + +We as members, contributors, and leaders pledge to make participation in our +community a harassment-free experience for everyone, regardless of age, body +size, visible or invisible disability, ethnicity, sex characteristics, gender +identity and expression, level of experience, education, socio-economic status, +nationality, personal appearance, race, religion, or sexual identity +and orientation. + +We pledge to act and interact in ways that contribute to an open, welcoming, +diverse, inclusive, and healthy community. + +## Our Standards + +Examples of behavior that contributes to a positive environment for our +community include: + +* Demonstrating empathy and kindness toward other people +* Being respectful of differing opinions, viewpoints, and experiences +* Giving and gracefully accepting constructive feedback +* Accepting responsibility and apologizing to those affected by our mistakes, + and learning from the experience +* Focusing on what is best not just for us as individuals, but for the + overall community + +Examples of unacceptable behavior include: + +* The use of sexualized language or imagery, and sexual attention or + advances of any kind +* Trolling, insulting or derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or email + address, without their explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Enforcement Responsibilities + +Community leaders are responsible for clarifying and enforcing our standards of +acceptable behavior and will take appropriate and fair corrective action in +response to any behavior that they deem inappropriate, threatening, offensive, +or harmful. + +Community leaders have the right and responsibility to remove, edit, or reject +comments, commits, code, wiki edits, issues, and other contributions that are +not aligned to this Code of Conduct, and will communicate reasons for moderation +decisions when appropriate. + +## Scope + +This Code of Conduct applies within all community spaces, and also applies when +an individual is officially representing the community in public spaces. +Examples of representing our community include using an official e-mail address, +posting via an official social media account, or acting as an appointed +representative at an online or offline event. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported to the community leaders responsible for enforcement at amrit@piramalswasthya.org. +All complaints will be reviewed and investigated promptly and fairly. + +All community leaders are obligated to respect the privacy and security of the +reporter of any incident. + +## Enforcement Guidelines + +Community leaders will follow these Community Impact Guidelines in determining +the consequences for any action they deem in violation of this Code of Conduct: + +### 1. Correction + +**Community Impact**: Use of inappropriate language or other behavior deemed +unprofessional or unwelcome in the community. + +**Consequence**: A private, written warning from community leaders, providing +clarity around the nature of the violation and an explanation of why the +behavior was inappropriate. A public apology may be requested. + +### 2. Warning + +**Community Impact**: A violation through a single incident or series +of actions. + +**Consequence**: A warning with consequences for continued behavior. No +interaction with the people involved, including unsolicited interaction with +those enforcing the Code of Conduct, for a specified period of time. This +includes avoiding interactions in community spaces as well as external channels +like social media. Violating these terms may lead to a temporary or +permanent ban. + +### 3. Temporary Ban + +**Community Impact**: A serious violation of community standards, including +sustained inappropriate behavior. + +**Consequence**: A temporary ban from any sort of interaction or public +communication with the community for a specified period of time. No public or +private interaction with the people involved, including unsolicited interaction +with those enforcing the Code of Conduct, is allowed during this period. +Violating these terms may lead to a permanent ban. + +### 4. Permanent Ban + +**Community Impact**: Demonstrating a pattern of violation of community +standards, including sustained inappropriate behavior, harassment of an +individual, or aggression toward or disparagement of classes of individuals. + +**Consequence**: A permanent ban from any sort of public interaction within +the community. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], +version 2.0, available at +[https://www.contributor-covenant.org/version/2/0/code_of_conduct.html][v2.0]. + +Community Impact Guidelines were inspired by +[Mozilla's code of conduct enforcement ladder][Mozilla CoC]. + +For answers to common questions about this code of conduct, see the FAQ at +[https://www.contributor-covenant.org/faq][FAQ]. Translations are available +at [https://www.contributor-covenant.org/translations][translations]. + +[homepage]: https://www.contributor-covenant.org +[v2.0]: https://www.contributor-covenant.org/version/2/0/code_of_conduct.html +[Mozilla CoC]: https://github.com/mozilla/diversity +[FAQ]: https://www.contributor-covenant.org/faq +[translations]: https://www.contributor-covenant.org/translations diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..dc34fb9 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,32 @@ +# Contributing to AMRIT + +AMRIT is released under the GPLv3 license. If you would like to contribute something, or want to hack on the code this document should help you get started. + +# Code of Conduct +This project adheres to the [Contributor Covenant](CODE_OF_CONDUCT.md). +By participating, you are expected to uphold this code. Please report unacceptable behavior to amrit@piramalswasthya.org. + +# Using GitHub Issues +We use GitHub issues to track bugs and enhancements reported by the community. +If you have a general usage question please ask on amrit@piramalswasthya.org. + +If you are reporting a bug, please help to speed up problem diagnosis by providing as much information as possible. +Ideally, that would include a small sample project that reproduces the problem. + +# Reporting Security Vulnerabilities +If you think you have found a security vulnerability in AMRIT please *DO NOT* disclose it publicly until we've had a chance to fix it. +Please don't report security vulnerabilities using GitHub issues, instead drop an email to amrit@piramalswasthya.org by providing as much as information as possible. + +# Code Conventions and Housekeeping +None of these are essential for a pull request, but they will all help. They can also be added after the original pull request but before a merge. + +* Make sure all new `.java` files have a Javadoc class comment with at least an `@author` tag identifying you, and preferably at least a paragraph on what the class is for. +* Add the GPLv3 boilerplate notice (license header comment) to all new `.java` files (copy from existing files in the project). +* Add yourself as an `@author` to the `.java` files that you modify substantially (more than cosmetic changes). +* Add some Javadocs. +* A few unit tests would help a lot as well -- someone has to do it. +* If no-one else is using your branch, please rebase it against the current main branch (or other target branch in the project). +* When writing a commit message please follow [these conventions](https://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html). + +# Working with the Code +For information on editing, building, and testing the code, see the [developer guide](https://psmri.github.io/PSMRI) page on the project wiki. diff --git a/COPYING b/COPYING new file mode 100644 index 0000000..f288702 --- /dev/null +++ b/COPYING @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/README.md b/README.md new file mode 100644 index 0000000..fb30a78 --- /dev/null +++ b/README.md @@ -0,0 +1,33 @@ +# AMRIT - Identity Service +[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0) + +Identity API is a microservice which is used for the creation and management of beneficaries. + +### Primary Features +* Beneficiary Creation +* Beneficiary Search +* Beneficiary Management + + +## Building From Source +This microservice is built on Java, Spring boot framework and MySQL DB. + +### Prerequisites +* JDK 1.8 +* Maven + +$ ./mvn clean install + +## Installation +This service has been tested on Wildfly as the application server. + +### Prerequisites +* Wildfly (or any compatible app server) +* Redis +* MySQL Database + +## Integrations +* RMNCH (Reproductive, Maternal, Newborn, and Child Health) +## Usage +All features have been exposed as REST endpoints. Refer to the SWAGGER API specification for details. + diff --git a/deployidentity.bat b/deployidentity.bat deleted file mode 100644 index 40c4b11..0000000 --- a/deployidentity.bat +++ /dev/null @@ -1,5 +0,0 @@ -del C:\AppServer\Server\wildfly-10.1.0.Final\standalone\deployments\identity-0.0.1.war -timeout 7 -del C:\AppServer\Server\wildfly-10.1.0.Final\standalone\deployments\identity-0.0.1.war.undeployed -timeout 7 -copy C:\Users\WA875423\.m2\repository\com\iemr\common\identity\identity\0.0.1\identity-0.0.1.war C:\AppServer\Server\wildfly-10.1.0.Final\standalone\deployments\identity-0.0.1.war \ No newline at end of file diff --git a/mvnw b/mvnw deleted file mode 100644 index 5bf251c..0000000 --- a/mvnw +++ /dev/null @@ -1,225 +0,0 @@ -#!/bin/sh -# ---------------------------------------------------------------------------- -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. -# ---------------------------------------------------------------------------- - -# ---------------------------------------------------------------------------- -# Maven2 Start Up Batch script -# -# Required ENV vars: -# ------------------ -# JAVA_HOME - location of a JDK home dir -# -# Optional ENV vars -# ----------------- -# M2_HOME - location of maven2's installed home dir -# MAVEN_OPTS - parameters passed to the Java VM when running Maven -# e.g. to debug Maven itself, use -# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 -# MAVEN_SKIP_RC - flag to disable loading of mavenrc files -# ---------------------------------------------------------------------------- - -if [ -z "$MAVEN_SKIP_RC" ] ; then - - if [ -f /etc/mavenrc ] ; then - . /etc/mavenrc - fi - - if [ -f "$HOME/.mavenrc" ] ; then - . "$HOME/.mavenrc" - fi - -fi - -# OS specific support. $var _must_ be set to either true or false. -cygwin=false; -darwin=false; -mingw=false -case "`uname`" in - CYGWIN*) cygwin=true ;; - MINGW*) mingw=true;; - Darwin*) darwin=true - # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home - # See https://developer.apple.com/library/mac/qa/qa1170/_index.html - if [ -z "$JAVA_HOME" ]; then - if [ -x "/usr/libexec/java_home" ]; then - export JAVA_HOME="`/usr/libexec/java_home`" - else - export JAVA_HOME="/Library/Java/Home" - fi - fi - ;; -esac - -if [ -z "$JAVA_HOME" ] ; then - if [ -r /etc/gentoo-release ] ; then - JAVA_HOME=`java-config --jre-home` - fi -fi - -if [ -z "$M2_HOME" ] ; then - ## resolve links - $0 may be a link to maven's home - PRG="$0" - - # need this for relative symlinks - while [ -h "$PRG" ] ; do - ls=`ls -ld "$PRG"` - link=`expr "$ls" : '.*-> \(.*\)$'` - if expr "$link" : '/.*' > /dev/null; then - PRG="$link" - else - PRG="`dirname "$PRG"`/$link" - fi - done - - saveddir=`pwd` - - M2_HOME=`dirname "$PRG"`/.. - - # make it fully qualified - M2_HOME=`cd "$M2_HOME" && pwd` - - cd "$saveddir" - # echo Using m2 at $M2_HOME -fi - -# For Cygwin, ensure paths are in UNIX format before anything is touched -if $cygwin ; then - [ -n "$M2_HOME" ] && - M2_HOME=`cygpath --unix "$M2_HOME"` - [ -n "$JAVA_HOME" ] && - JAVA_HOME=`cygpath --unix "$JAVA_HOME"` - [ -n "$CLASSPATH" ] && - CLASSPATH=`cygpath --path --unix "$CLASSPATH"` -fi - -# For Migwn, ensure paths are in UNIX format before anything is touched -if $mingw ; then - [ -n "$M2_HOME" ] && - M2_HOME="`(cd "$M2_HOME"; pwd)`" - [ -n "$JAVA_HOME" ] && - JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`" - # TODO classpath? -fi - -if [ -z "$JAVA_HOME" ]; then - javaExecutable="`which javac`" - if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then - # readlink(1) is not available as standard on Solaris 10. - readLink=`which readlink` - if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then - if $darwin ; then - javaHome="`dirname \"$javaExecutable\"`" - javaExecutable="`cd \"$javaHome\" && pwd -P`/javac" - else - javaExecutable="`readlink -f \"$javaExecutable\"`" - fi - javaHome="`dirname \"$javaExecutable\"`" - javaHome=`expr "$javaHome" : '\(.*\)/bin'` - JAVA_HOME="$javaHome" - export JAVA_HOME - fi - fi -fi - -if [ -z "$JAVACMD" ] ; then - if [ -n "$JAVA_HOME" ] ; then - if [ -x "$JAVA_HOME/jre/sh/java" ] ; then - # IBM's JDK on AIX uses strange locations for the executables - JAVACMD="$JAVA_HOME/jre/sh/java" - else - JAVACMD="$JAVA_HOME/bin/java" - fi - else - JAVACMD="`which java`" - fi -fi - -if [ ! -x "$JAVACMD" ] ; then - echo "Error: JAVA_HOME is not defined correctly." >&2 - echo " We cannot execute $JAVACMD" >&2 - exit 1 -fi - -if [ -z "$JAVA_HOME" ] ; then - echo "Warning: JAVA_HOME environment variable is not set." -fi - -CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher - -# traverses directory structure from process work directory to filesystem root -# first directory with .mvn subdirectory is considered project base directory -find_maven_basedir() { - - if [ -z "$1" ] - then - echo "Path not specified to find_maven_basedir" - return 1 - fi - - basedir="$1" - wdir="$1" - while [ "$wdir" != '/' ] ; do - if [ -d "$wdir"/.mvn ] ; then - basedir=$wdir - break - fi - # workaround for JBEAP-8937 (on Solaris 10/Sparc) - if [ -d "${wdir}" ]; then - wdir=`cd "$wdir/.."; pwd` - fi - # end of workaround - done - echo "${basedir}" -} - -# concatenates all lines of a file -concat_lines() { - if [ -f "$1" ]; then - echo "$(tr -s '\n' ' ' < "$1")" - fi -} - -BASE_DIR=`find_maven_basedir "$(pwd)"` -if [ -z "$BASE_DIR" ]; then - exit 1; -fi - -export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"} -echo $MAVEN_PROJECTBASEDIR -MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" - -# For Cygwin, switch paths to Windows format before running java -if $cygwin; then - [ -n "$M2_HOME" ] && - M2_HOME=`cygpath --path --windows "$M2_HOME"` - [ -n "$JAVA_HOME" ] && - JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"` - [ -n "$CLASSPATH" ] && - CLASSPATH=`cygpath --path --windows "$CLASSPATH"` - [ -n "$MAVEN_PROJECTBASEDIR" ] && - MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"` -fi - -WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain - -exec "$JAVACMD" \ - $MAVEN_OPTS \ - -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ - "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ - ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" diff --git a/mvnw.cmd b/mvnw.cmd deleted file mode 100644 index 019bd74..0000000 --- a/mvnw.cmd +++ /dev/null @@ -1,143 +0,0 @@ -@REM ---------------------------------------------------------------------------- -@REM Licensed to the Apache Software Foundation (ASF) under one -@REM or more contributor license agreements. See the NOTICE file -@REM distributed with this work for additional information -@REM regarding copyright ownership. The ASF licenses this file -@REM to you under the Apache License, Version 2.0 (the -@REM "License"); you may not use this file except in compliance -@REM with the License. You may obtain a copy of the License at -@REM -@REM http://www.apache.org/licenses/LICENSE-2.0 -@REM -@REM Unless required by applicable law or agreed to in writing, -@REM software distributed under the License is distributed on an -@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -@REM KIND, either express or implied. See the License for the -@REM specific language governing permissions and limitations -@REM under the License. -@REM ---------------------------------------------------------------------------- - -@REM ---------------------------------------------------------------------------- -@REM Maven2 Start Up Batch script -@REM -@REM Required ENV vars: -@REM JAVA_HOME - location of a JDK home dir -@REM -@REM Optional ENV vars -@REM M2_HOME - location of maven2's installed home dir -@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands -@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a key stroke before ending -@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven -@REM e.g. to debug Maven itself, use -@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 -@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files -@REM ---------------------------------------------------------------------------- - -@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' -@echo off -@REM enable echoing my setting MAVEN_BATCH_ECHO to 'on' -@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% - -@REM set %HOME% to equivalent of $HOME -if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") - -@REM Execute a user defined script before this one -if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre -@REM check for pre script, once with legacy .bat ending and once with .cmd ending -if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat" -if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd" -:skipRcPre - -@setlocal - -set ERROR_CODE=0 - -@REM To isolate internal variables from possible post scripts, we use another setlocal -@setlocal - -@REM ==== START VALIDATION ==== -if not "%JAVA_HOME%" == "" goto OkJHome - -echo. -echo Error: JAVA_HOME not found in your environment. >&2 -echo Please set the JAVA_HOME variable in your environment to match the >&2 -echo location of your Java installation. >&2 -echo. -goto error - -:OkJHome -if exist "%JAVA_HOME%\bin\java.exe" goto init - -echo. -echo Error: JAVA_HOME is set to an invalid directory. >&2 -echo JAVA_HOME = "%JAVA_HOME%" >&2 -echo Please set the JAVA_HOME variable in your environment to match the >&2 -echo location of your Java installation. >&2 -echo. -goto error - -@REM ==== END VALIDATION ==== - -:init - -@REM Find the project base dir, i.e. the directory that contains the folder ".mvn". -@REM Fallback to current working directory if not found. - -set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% -IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir - -set EXEC_DIR=%CD% -set WDIR=%EXEC_DIR% -:findBaseDir -IF EXIST "%WDIR%"\.mvn goto baseDirFound -cd .. -IF "%WDIR%"=="%CD%" goto baseDirNotFound -set WDIR=%CD% -goto findBaseDir - -:baseDirFound -set MAVEN_PROJECTBASEDIR=%WDIR% -cd "%EXEC_DIR%" -goto endDetectBaseDir - -:baseDirNotFound -set MAVEN_PROJECTBASEDIR=%EXEC_DIR% -cd "%EXEC_DIR%" - -:endDetectBaseDir - -IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig - -@setlocal EnableExtensions EnableDelayedExpansion -for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a -@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% - -:endReadAdditionalConfig - -SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" - -set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" -set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain - -%MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* -if ERRORLEVEL 1 goto error -goto end - -:error -set ERROR_CODE=1 - -:end -@endlocal & set ERROR_CODE=%ERROR_CODE% - -if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost -@REM check for post script, once with legacy .bat ending and once with .cmd ending -if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat" -if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd" -:skipRcPost - -@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' -if "%MAVEN_BATCH_PAUSE%" == "on" pause - -if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE% - -exit /B %ERROR_CODE% diff --git a/pom.xml b/pom.xml index e6e3652..e9b67a1 100644 --- a/pom.xml +++ b/pom.xml @@ -1,5 +1,6 @@ - 4.0.0 @@ -15,13 +16,13 @@ org.springframework.boot spring-boot-starter-parent 1.5.8.RELEASE - + UTF-8 UTF-8 ${maven.build.timestamp} - yyyy-MM-dd HH:mm + yyyy-MM-dd HH:mm 1.8 jdt_apt 1.2.0.Final @@ -29,16 +30,6 @@ dev target/classes/application.properties src/main/environment/common_${environment}.properties - 10.208.122.32 - 9990 - 10.208.122.38 - 9990 - deviemr.piramalswasthya.org - 9990 - wildfly-${environment} - {hostname-${environment}} - {port-${environment}} - true @@ -83,9 +74,6 @@ ${org.mapstruct.version} provided - - com.google.code.gson gson @@ -124,31 +112,27 @@ io.springfox springfox-swagger2 - 2.8.0 io.springfox springfox-swagger-ui - 2.8.0 - - org.json json - 20160212 + 20160212 com.fasterxml.jackson.datatype jackson-datatype-joda - 2.4.0 + 2.4.0 com.fasterxml.jackson.core jackson-databind - 2.7.1 + 2.7.1 org.quartz-scheduler @@ -169,11 +153,6 @@ spring-boot-configuration-processor true - - com.openkm - sdk4j - 1.0 - org.springframework.boot spring-boot-starter-mail @@ -181,7 +160,7 @@ org.springframework.data spring-data-redis - 1.7.11.RELEASE + 1.7.11.RELEASE biz.paluch.redis @@ -192,7 +171,6 @@ org.springframework.session spring-session - org.mockito mockito-all @@ -205,20 +183,26 @@ test - com.github.ulisesbocchio - jasypt-spring-boot-starter - 2.0.0 + com.sun.jersey + jersey-client + 1.19 + + + javax.ws.rs + javax.ws.rs-api + 2.0 + + + com.sun.jersey.contribs + jersey-multipart + 1.18 + + + org.glassfish.jersey.media + jersey-media-multipart + 2.0-m11 - - - - openkm.com - OpenKM Maven Repository - https://maven.openkm.com - - @@ -234,44 +218,17 @@ - + identity-0.0.1 - + org.apache.maven.plugins maven-jar-plugin 3.0.2 - - org.springframework.boot spring-boot-maven-plugin @@ -279,7 +236,7 @@ org.apache.maven.plugins maven-compiler-plugin - 3.7.0 + 3.7.0 ${java.version} ${java.version} @@ -300,7 +257,7 @@ org.apache.maven.plugins maven-antrun-plugin - 1.8 + 1.8 process-resources @@ -313,8 +270,6 @@ concatinating properties file ${target-properties} and ${source-properties} - @@ -333,38 +288,18 @@ true - - - maven-war-plugin - 2.6 - - - - true - src/packaging/ - - - - + diff --git a/src/main/environment/common_test.properties b/src/main/environment/common_test.properties index c6f3eb6..1bfacc2 100644 --- a/src/main/environment/common_test.properties +++ b/src/main/environment/common_test.properties @@ -1,7 +1,7 @@ # DataSource settings: set here your own configurations for the database spring.datasource.url=jdbc:mysql://10.208.122.38:3306/db_identity?autoReconnect=true&useSSL=false -encDbUserName=0YaEPoKpzM3TrEAHTLYQaf+DfR4mdaeP -encDbPass=V+g/nL6/+ely0bgD7Du0yX83xNRl1H9Y +encDbUserName=zFlYsp9Z0s+lRvLM15A3g/Ba0w8VGs/1usuW7EsGF3k= +encDbPass=JGGAGn5wTlrbTLUHY+5BzfBa0w8VGs/1usuW7EsGF3k= spring.datasource.driver-class-name=com.mysql.jdbc.Driver diff --git a/src/main/java/com/iemr/common/identity/config/DBConfig.java b/src/main/java/com/iemr/common/identity/config/DBConfig.java index a07266a..6a959e3 100644 --- a/src/main/java/com/iemr/common/identity/config/DBConfig.java +++ b/src/main/java/com/iemr/common/identity/config/DBConfig.java @@ -5,9 +5,9 @@ import org.apache.tomcat.jdbc.pool.PoolConfiguration; import org.apache.tomcat.jdbc.pool.PoolProperties; -import org.jasypt.encryption.pbe.StandardPBEStringEncryptor; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.boot.orm.jpa.EntityManagerFactoryBuilder; @@ -20,18 +20,19 @@ import org.springframework.transaction.PlatformTransactionManager; import org.springframework.transaction.annotation.EnableTransactionManagement; +import com.iemr.common.identity.utils.CryptoUtil; import com.iemr.common.identity.utils.config.ConfigProperties; - - - - @Configuration @EnableTransactionManagement -@EnableJpaRepositories(entityManagerFactoryRef = "entityManagerFactory", basePackages = {"com.iemr.common.identity.repo","com.iemr.common.identity.repo.familyTag","com.iemr.common.identity.repo.rmnch" }) +@EnableJpaRepositories(entityManagerFactoryRef = "entityManagerFactory", basePackages = { + "com.iemr.common.identity.repo", "com.iemr.common.identity.repo.familyTag", + "com.iemr.common.identity.repo.rmnch" ,"com.iemr.common.identity.*"}) public class DBConfig { Logger logger = LoggerFactory.getLogger(this.getClass().getName()); + @Autowired + private CryptoUtil cryptoUtil; @Primary @Bean(name = "dataSource") @@ -52,16 +53,8 @@ public DataSource dataSource() { org.apache.tomcat.jdbc.pool.DataSource datasource = new org.apache.tomcat.jdbc.pool.DataSource(); datasource.setPoolProperties(p); - StandardPBEStringEncryptor encryptor = new StandardPBEStringEncryptor(); - encryptor.setAlgorithm("PBEWithMD5AndDES"); - - encryptor.setPassword("dev-env-secret"); - -// logger.info(encryptor.decrypt(ConfigProperties.getPropertyByName("encDbUserName"))); -// logger.info(encryptor.decrypt(ConfigProperties.getPropertyByName("encDbPass"))); - - datasource.setUsername(encryptor.decrypt(ConfigProperties.getPropertyByName("encDbUserName"))); - datasource.setPassword(encryptor.decrypt(ConfigProperties.getPropertyByName("encDbPass"))); + datasource.setUsername(cryptoUtil.decrypt(ConfigProperties.getPropertyByName("encDbUserName"))); + datasource.setPassword(cryptoUtil.decrypt(ConfigProperties.getPropertyByName("encDbPass"))); return datasource; } @@ -70,7 +63,8 @@ public DataSource dataSource() { @Bean(name = "entityManagerFactory") public LocalContainerEntityManagerFactoryBean entityManagerFactory(EntityManagerFactoryBuilder builder, @Qualifier("dataSource") DataSource dataSource) { - return builder.dataSource(dataSource).packages("com.iemr.common.identity.*","com.iemr.common.identity.data.*","com.iemr.common.identity.domain.*").persistenceUnit("db_identity").build(); + return builder.dataSource(dataSource).packages("com.iemr.common.identity.*", "com.iemr.common.identity.data.*", + "com.iemr.common.identity.domain.*").persistenceUnit("db_identity").build(); } @Primary diff --git a/src/main/java/com/iemr/common/identity/utils/CommonMain.java b/src/main/java/com/iemr/common/identity/utils/CommonMain.java index 17efa6f..00d7771 100644 --- a/src/main/java/com/iemr/common/identity/utils/CommonMain.java +++ b/src/main/java/com/iemr/common/identity/utils/CommonMain.java @@ -2,66 +2,25 @@ import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.context.annotation.Bean; -import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory; import org.springframework.session.data.redis.config.annotation.web.http.RedisHttpSessionConfiguration; import com.iemr.common.identity.utils.config.ConfigProperties; -import com.iemr.common.identity.utils.km.KMService; -import com.iemr.common.identity.utils.km.openkm.OpenKMServiceImpl; import com.iemr.common.identity.utils.redis.RedisStorage; - @EnableAutoConfiguration -public class CommonMain -{ +public class CommonMain { @Bean - public ConfigProperties configProperties() - { + public ConfigProperties configProperties() { return new ConfigProperties(); } -// @Bean -// public SessionObject sessionObject() -// { -// return new SessionObject(); -// } - - // @Beanss - // public RedisConnection redisConnection() - // { - // return new RedisConnection(); - // } - - // @Configuration - // @EnableRedisHttpSession - // public class Config { - -// @Bean -// public LettuceConnectionFactory connectionFactory() -// { -// return new LettuceConnectionFactory(); -// } - // } - @Bean - public RedisHttpSessionConfiguration redisSession() - { + public RedisHttpSessionConfiguration redisSession() { return new RedisHttpSessionConfiguration(); } @Bean - public KMService getOpenKMService() - { - KMService kmService = new OpenKMServiceImpl(); - return kmService; - } - - @Bean - public RedisStorage redisStorage() - { + public RedisStorage redisStorage() { return new RedisStorage(); } - // public static void main(String[] args) { - // SpringApplication.run(CommonMain.class, args); - // } } diff --git a/src/main/java/com/iemr/common/identity/utils/CryptoUtil.java b/src/main/java/com/iemr/common/identity/utils/CryptoUtil.java new file mode 100644 index 0000000..02d012d --- /dev/null +++ b/src/main/java/com/iemr/common/identity/utils/CryptoUtil.java @@ -0,0 +1,55 @@ +package com.iemr.common.identity.utils; + +import java.nio.charset.StandardCharsets; +import java.util.Base64; + +import javax.crypto.Cipher; +import javax.crypto.SecretKey; +import javax.crypto.spec.SecretKeySpec; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Service; + +@Service +public class CryptoUtil { + + private static final Logger logger = LoggerFactory.getLogger(CryptoUtil.class); + private static final String ALGORITHM = "AES"; + private static final String SECRET_KEY = "dev-envro-secret"; + + public String encrypt(String value) throws Exception { + SecretKey secretKey = new SecretKeySpec(SECRET_KEY.getBytes(StandardCharsets.UTF_8), ALGORITHM); + Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding"); + cipher.init(Cipher.ENCRYPT_MODE, secretKey); + byte[] encryptedBytes = cipher.doFinal(addPadding(value).getBytes(StandardCharsets.UTF_8)); + return Base64.getEncoder().encodeToString(encryptedBytes); + } + + public String decrypt(String encryptedValue) { + try { + SecretKey secretKey = new SecretKeySpec(SECRET_KEY.getBytes(StandardCharsets.UTF_8), ALGORITHM); + Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding"); + cipher.init(Cipher.DECRYPT_MODE, secretKey); + byte[] decryptedBytes = cipher.doFinal(Base64.getDecoder().decode(encryptedValue)); + return removePadding(new String(decryptedBytes, StandardCharsets.UTF_8)); + } catch (Exception e) { + logger.error("Exception while decrypting string. Intentionally throwing null pointer", e); + return null; + } + } + + private String addPadding(String value) { + int paddingLength = 16 - (value.length() % 16); + StringBuilder paddedValue = new StringBuilder(value); + for (int i = 0; i < paddingLength; i++) { + paddedValue.append((char) paddingLength); + } + return paddedValue.toString(); + } + + private String removePadding(String value) { + int paddingLength = value.charAt(value.length() - 1); + return value.substring(0, value.length() - paddingLength); + } +} diff --git a/src/main/java/com/iemr/common/identity/utils/IEMRApplBeans.java b/src/main/java/com/iemr/common/identity/utils/IEMRApplBeans.java index 031d65b..61959f4 100644 --- a/src/main/java/com/iemr/common/identity/utils/IEMRApplBeans.java +++ b/src/main/java/com/iemr/common/identity/utils/IEMRApplBeans.java @@ -10,19 +10,12 @@ import com.iemr.common.identity.utils.config.ConfigProperties; import com.iemr.common.identity.utils.gateway.email.EmailService; import com.iemr.common.identity.utils.gateway.email.GenericEmailServiceImpl; -import com.iemr.common.identity.utils.km.KMService; -import com.iemr.common.identity.utils.km.openkm.OpenKMServiceImpl; import com.iemr.common.identity.utils.redis.RedisStorage; import com.iemr.common.identity.utils.sessionobject.SessionObject; import com.iemr.common.identity.utils.validator.Validator; @Configuration public class IEMRApplBeans { - @Bean - public KMService getOpenKMService() { - KMService kmService = new OpenKMServiceImpl(); - return kmService; - } @Bean public Validator getVaidator() { @@ -57,30 +50,6 @@ public RedisStorage redisStorage() { return new RedisStorage(); } - // @Beanss - // public RedisConnection redisConnection() - // { - // return new RedisConnection(); - // } - - // @Configuration - // @EnableRedisHttpSession - // public class Config - // { - -// @Bean -// public LettuceConnectionFactory connectionFactory() -// { -// return new LettuceConnectionFactory(); -// } - // } - -// @Bean -// public RedisHttpSessionConfiguration redisSession() -// { -// return new RedisHttpSessionConfiguration(); -// } - private @Value("${spring.redis.host}") String redisHost; private @Value("${spring.redis.port}") int redisPort; @@ -91,19 +60,4 @@ public LettuceConnectionFactory connectionFactory() { return new LettuceConnectionFactory(redisHost, redisPort); } - // @Bean - // public HTTPRequestInterceptor myInterceptor() - // { - // return new HTTPRequestInterceptor(); - // } - // @Bean - // public KMService getOpenKMService() - // { - // KMService kmService = new OpenKMServiceImpl(); - // return kmService; - // } - - // public static void main(String[] args) { - // SpringApplication.run(CommonMain.class, args); - // } } diff --git a/src/main/java/com/iemr/common/identity/utils/km/KMService.java b/src/main/java/com/iemr/common/identity/utils/km/KMService.java deleted file mode 100644 index 99b3c35..0000000 --- a/src/main/java/com/iemr/common/identity/utils/km/KMService.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.iemr.common.identity.utils.km; - -public interface KMService -{ - String getDocumentRoot(); - - String createDocument(String documentPath, String filepath); -} diff --git a/src/main/java/com/iemr/common/identity/utils/km/openkm/OpenKMConnector.java b/src/main/java/com/iemr/common/identity/utils/km/openkm/OpenKMConnector.java deleted file mode 100644 index d83819b..0000000 --- a/src/main/java/com/iemr/common/identity/utils/km/openkm/OpenKMConnector.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.iemr.common.identity.utils.km.openkm; - -import com.openkm.sdk4j.OKMWebservices; -import com.openkm.sdk4j.OKMWebservicesFactory; - -public class OpenKMConnector { - private static OKMWebservices openKMService = null; - - public static OKMWebservices initialize(String url, String username, String password) { - if (openKMService==null) { - openKMService = OKMWebservicesFactory.newInstance(url, username, password); - } - return openKMService; - } -} diff --git a/src/main/java/com/iemr/common/identity/utils/km/openkm/OpenKMServiceImpl.java b/src/main/java/com/iemr/common/identity/utils/km/openkm/OpenKMServiceImpl.java deleted file mode 100644 index 9cf0771..0000000 --- a/src/main/java/com/iemr/common/identity/utils/km/openkm/OpenKMServiceImpl.java +++ /dev/null @@ -1,163 +0,0 @@ -package com.iemr.common.identity.utils.km.openkm; - -import java.io.FileInputStream; -import java.io.IOException; -import java.util.List; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import com.iemr.common.identity.controller.IdentityController; -import com.iemr.common.identity.utils.config.ConfigProperties; -import com.iemr.common.identity.utils.km.KMService; -import com.openkm.sdk4j.OKMWebservices; -import com.openkm.sdk4j.bean.Document; -import com.openkm.sdk4j.bean.Folder; -import com.openkm.sdk4j.exception.AccessDeniedException; -import com.openkm.sdk4j.exception.AutomationException; -import com.openkm.sdk4j.exception.DatabaseException; -import com.openkm.sdk4j.exception.ExtensionException; -import com.openkm.sdk4j.exception.FileSizeExceededException; -import com.openkm.sdk4j.exception.ItemExistsException; -import com.openkm.sdk4j.exception.LockException; -import com.openkm.sdk4j.exception.PathNotFoundException; -import com.openkm.sdk4j.exception.RepositoryException; -import com.openkm.sdk4j.exception.UnknowException; -import com.openkm.sdk4j.exception.UnsupportedMimeTypeException; -import com.openkm.sdk4j.exception.UserQuotaExceededException; -import com.openkm.sdk4j.exception.VersionException; -import com.openkm.sdk4j.exception.VirusDetectedException; -import com.openkm.sdk4j.exception.WebserviceException; - -public class OpenKMServiceImpl implements KMService { - // private ConfigProperties configProperties; - // - // @Autowired - // public void setConfigProperties(ConfigProperties configProperties) - // { - // this.configProperties = configProperties; - // } - - private static String url; - private static String username; - private static String password; - private static String kmRootPath; - private static String guestUser; - private static String guestPassword; - - public OpenKMServiceImpl() { - } - private Logger logger = LoggerFactory.getLogger(IdentityController.class); - private static OKMWebservices connector = null; - - public void init() { - if (connector == null) { - url = ConfigProperties.getPropertyByName("km-base-url"); - username = ConfigProperties.getPropertyByName("km-username"); - password = ConfigProperties.getPropertyByName("km-password"); - kmRootPath = ConfigProperties.getPropertyByName("km-root-path"); - guestUser = ConfigProperties.getPropertyByName("km-guest-user"); - guestPassword = ConfigProperties.getPropertyByName("km-guest-password"); - connector = OpenKMConnector.initialize(url, username, password); - } - } - - @Override - public String getDocumentRoot() { - String response = null; - this.init(); - try { - Folder rootFolder = connector.getRootFolder(); - response = rootFolder.getPath(); - } catch (PathNotFoundException | RepositoryException | DatabaseException | UnknowException - | WebserviceException e) { - logger.error(e.getMessage()); - } catch (Exception e) { - logger.error(e.getMessage()); - } - return response; - } - - public String uploadFile() { - String response = null; - this.init(); - try { - response = connector.checkin("", new FileInputStream(""), "").toString(); - } catch (FileSizeExceededException | UserQuotaExceededException | VirusDetectedException | LockException - | VersionException | PathNotFoundException | AccessDeniedException | RepositoryException | IOException - | DatabaseException | ExtensionException | AutomationException | UnknowException - | WebserviceException e) { - logger.error(e.getMessage()); - } - return response; - } - - @Override - public String createDocument(String documentPath, String filepath) { - String response = null; - this.init(); - try { - FileInputStream file = new FileInputStream(filepath); - Document doc = connector.createDocumentSimple(kmRootPath + documentPath, file); - response = doc.getUuid(); - } catch (PathNotFoundException e) { - createFolder(e.getMessage()); - response = createDocument(documentPath, filepath); - } catch (IOException | UnsupportedMimeTypeException | FileSizeExceededException | UserQuotaExceededException - | VirusDetectedException | ItemExistsException | AccessDeniedException | RepositoryException - | DatabaseException | ExtensionException | AutomationException | UnknowException - | WebserviceException e) { - logger.error(e.getMessage()); - } - return response; - } - - public String createFolder(String path) { - String response = null; - this.init(); - String[] folders = path.split("/"); - String basePath = ""; - try { - for (int index = 1; index < folders.length - 1; index++) { - basePath += "/" + folders[index]; - Folder folder = new Folder(); - folder.setPath(basePath + "/" + folders[index + 1]); - List childrens = connector.getFolderChildren(basePath); - boolean exists = false; - for (Folder folder2 : childrens) { - if (folder2.getPath().toString().equals(folder.getPath().toString())) { - exists = true; - break; - } - } - createFolder(folder.getPath(), exists); - } - } catch (PathNotFoundException | AccessDeniedException | RepositoryException | ItemExistsException - | DatabaseException | ExtensionException | AutomationException | UnknowException - | WebserviceException e) { - logger.error(e.getMessage()); - } - return response; - } - - private void createFolder(String path, boolean exists) - throws AccessDeniedException, RepositoryException, PathNotFoundException, ItemExistsException, - DatabaseException, ExtensionException, AutomationException, UnknowException, WebserviceException { - if (!exists) { - Folder folder = connector.createFolderSimple(path); - } - } - - public String deleteDocument(String documentID) { - String response = "failure"; - this.init(); - try { - connector.deleteDocument(documentID); - response = "success"; - } catch (AccessDeniedException | RepositoryException | PathNotFoundException | LockException | DatabaseException - | ExtensionException | UnknowException | WebserviceException e) { - logger.error(e.getMessage()); - } - return response; - } -} From fc53d1f4a722966105d96681c5d5e31640f1ebef Mon Sep 17 00:00:00 2001 From: ravishanigarapu <133210792+ravishanigarapu@users.noreply.github.com> Date: Fri, 13 Oct 2023 13:35:48 +0530 Subject: [PATCH 2/4] Feature/dev tomaster (#36) * Readme file added (#1) * Create README.md Added new readme.md file * Update README.md * Removed unnecessary dependencies from pom.xml (#2) * Removed unnecessary dependencies from pom.xml, added crypto.utils to resolve build issues * pom.xml cleanup * updated code-of-conduct, copying, contributing, readme (#3) * Create CONTRIBUTING.md * Create CODE_OF_CONDUCT.md * Create COPYING * Update README.md * modified .gitignore file (#4) * modified .gitignore file * Delete target directory * Update .gitignore * Delete logs directory * code smell fixes (#6) * Added copyright text (#7) Co-authored-by: Anjana K J * code smell fix (#8) * code smell fix * code smell fixes * Sonarqube reported code smell fix * done correction for application.properties * Swagger changes (#9) * Swagger changes * Swagger changes * Code smell fix (#10) * code smell fixes (#11) * Create sast-and-package-prod.yml (#12) * Create sast-and-package-prod.yml * Update sast-and-package-prod.yml * Code smell changes (#13) * Update README.md * code smell fixes * Added environment variable * Added password changes & edit environment variable (#16) * Added environment variable * Added password changes * Passing environment variable * Passing environment variable (#17) * Passing environment variable * Passing environment variable (#19) * Passing environment variable (#20) * Passing environment variable * Passing environment variable * Workflow change (#21) * Update sast-and-package-prod.yml * Update sast-and-package.yml * CreatedDate filed for Identity (#22) * CreatedDate filed for Identity * removed uncommented code * Send SMS null Id issue (#23) * CreatedDate filed for Identity * removed uncommented code * deleting DB config * Send SMS Null ID Issue * mmu cr changes * update changes * changes mmu cr * Update sast-and-package-prod.yml (#26) * edit api changes * Identity API cleanup and password masking * Updated the language option for codeql and added maven test * Added CodeQl tool to do static code analysis on pull request * Implementing Basic reverse sync operation * Fix issue on controller * Updated the language option for codeql and added maven test * Added CodeQl tool to do static code analysis on pull request * Implementing Basic reverse sync operation * Fix issue on controller * Identity API cleanup and password masking * edit api changes * change made in description of identity controller (#30) * Multiple beneficiaries sync issue changes for FLW (#31) Co-authored-by: Devika * Delete .github/workflows/sast-and-package-prod.yml * Delete .github/workflows/sast-and-package.yml * Create package-prod.yml * Create package.yml * Create sast.yml * Use a logger to log this exception (#32) * Added Pull Request template, added placeholders in properties file, and added admin_local to git ignore (#33) --------- Co-authored-by: Mahima Elizabeth George <86731974+mahimaeg@users.noreply.github.com> Co-authored-by: Sweta Prakash <125380378+swetatech24@users.noreply.github.com> Co-authored-by: Vidyadevi Salunkhe <84471226+Vidyaaa24@users.noreply.github.com> Co-authored-by: Anjana2310 <134688551+Anjana2310@users.noreply.github.com> Co-authored-by: Anjana K J Co-authored-by: Harimohan Rajamohanan <30436665+harimohanr@users.noreply.github.com> Co-authored-by: swetatech24 Co-authored-by: Anjana Co-authored-by: mukul5947 <133210744+mukul5947@users.noreply.github.com> Co-authored-by: Indrani Bandyopadhyay Co-authored-by: devikasuresh20 <57424483+devikasuresh20@users.noreply.github.com> Co-authored-by: indraniBan <133205641+indraniBan@users.noreply.github.com> Co-authored-by: Sunil GV Co-authored-by: roopesh-beehyv <118873622+roopesh-beehyv@users.noreply.github.com> Co-authored-by: helenKaryamsetty <133211481+helenKaryamsetty@users.noreply.github.com> Co-authored-by: Babacar Ndiaye Co-authored-by: Devika --- .github/PULL_REQUEST_TEMPLATE.md | 30 + .github/workflows/build-on-pull-request.yml | 43 +- .github/workflows/package-prod.yml | 41 ++ .github/workflows/package.yml | 50 ++ .github/workflows/sast-and-package.yml | 49 +- .github/workflows/sast.yml | 52 ++ .gitignore | 4 + README.md | 2 +- pom.xml | 3 +- src/main/environment/1097_dev.properties | 6 +- src/main/environment/1097_local.properties | 6 +- src/main/environment/1097_test.properties | 6 +- src/main/environment/1097_uat.properties | 6 +- src/main/environment/common_dev.properties | 6 +- src/main/environment/common_local.properties | 6 +- src/main/environment/common_test.properties | 7 +- src/main/environment/common_uat.properties | 6 +- .../common/identity/IdentityApplication.java | 101 +--- .../identity/config/ApplicationConfig.java | 50 -- .../iemr/common/identity/config/DBConfig.java | 77 --- .../identity/config/HttpSessionConfig.java | 23 - .../identity/config/InterceptorConfig.java | 21 + .../config/SQLDateToStringConverter.java | 21 + .../identity/config/SecurityConfig.java | 44 -- .../config/StringtoSQLDateConverter.java | 22 +- .../common/identity/config/SwaggerConfig.java | 29 +- .../controller/IdentityController.java | 108 ++-- .../FamilyTaggingController.java | 29 +- ...ler.java => RMNCHMobileAppController.java} | 31 +- .../controller/version/VersionController.java | 24 + .../data/familyTagging/BenFamilyMapping.java | 24 +- .../data/familyTagging/FamilyMembers.java | 21 + .../familyTagging/FamilySearchResponse.java | 21 + .../data/rmnch/BenHealthIDDetails.java | 31 +- .../data/rmnch/GetBenRequestHandler.java | 21 + .../identity/data/rmnch/NCD_TB_HRP_data.java | 31 -- .../identity/data/rmnch/NcdTbHrpData.java | 52 ++ .../rmnch/RMNCHBeneficiaryDetailsRmnch.java | 27 +- .../data/rmnch/RMNCHBornBirthDetails.java | 23 +- .../identity/data/rmnch/RMNCHCBACdetails.java | 23 +- .../data/rmnch/RMNCHHouseHoldDetails.java | 21 + .../data/rmnch/RMNCHMBeneficiaryAccount.java | 22 +- .../data/rmnch/RMNCHMBeneficiaryImage.java | 21 + .../rmnch/RMNCHMBeneficiaryServiceMap.java | 21 + .../data/rmnch/RMNCHMBeneficiaryaddress.java | 21 + .../data/rmnch/RMNCHMBeneficiaryconsent.java | 21 + .../data/rmnch/RMNCHMBeneficiarycontact.java | 21 + .../data/rmnch/RMNCHMBeneficiarydetail.java | 21 + .../rmnch/RMNCHMBeneficiaryfamilymapping.java | 24 +- .../data/rmnch/RMNCHMBeneficiarymapping.java | 21 + .../rmnch/RMNCHMBeneficiaryregidmapping.java | 21 + .../iemr/common/identity/domain/Address.java | 22 +- .../iemr/common/identity/domain/Contact.java | 21 + .../iemr/common/identity/domain/Identity.java | 21 + .../identity/domain/MBeneficiaryAccount.java | 25 +- .../identity/domain/MBeneficiaryImage.java | 26 +- .../identity/domain/MBeneficiaryaddress.java | 23 +- .../identity/domain/MBeneficiaryconsent.java | 23 +- .../identity/domain/MBeneficiarycontact.java | 23 +- .../identity/domain/MBeneficiarydetail.java | 55 +- .../domain/MBeneficiaryfamilymapping.java | 28 +- .../identity/domain/MBeneficiaryidentity.java | 29 +- .../identity/domain/MBeneficiarymapping.java | 35 +- .../domain/MBeneficiaryregidmapping.java | 43 +- .../domain/MBeneficiaryservicemapping.java | 28 +- .../identity/domain/MBensecurestack.java | 21 + .../iemr/common/identity/domain/Phone.java | 21 + .../identity/domain/TBendataaccess.java | 35 +- ...anceSearch.java => VBenAdvanceSearch.java} | 27 +- .../common/identity/dto/AbhaAddressDTO.java | 21 + .../common/identity/dto/BenDetailDTO.java | 22 + .../common/identity/dto/BenFamilyDTO.java | 21 + .../common/identity/dto/BenIdImportDTO.java | 21 + .../common/identity/dto/BenIdentityDTO.java | 21 + .../common/identity/dto/BenServiceDTO.java | 21 + .../common/identity/dto/BeneficiariesDTO.java | 25 +- .../identity/dto/BeneficiariesPartialDTO.java | 21 + .../identity/dto/BeneficiaryCreateResp.java | 21 + .../iemr/common/identity/dto/IdentityDTO.java | 43 +- .../common/identity/dto/IdentityEditDTO.java | 31 +- .../identity/dto/IdentityFilterDTO.java | 21 + .../identity/dto/IdentitySearchDTO.java | 22 +- .../identity/dto/ReserveIdentityDTO.java | 21 + .../common/identity/dto/SearchSyncDTO.java | 32 ++ .../identity/exception/IEMRException.java | 21 + .../exception/IllegalActionException.java | 21 + .../MissingMandatoryFieldsException.java | 21 + .../exception/SearchCriteriaException.java | 7 - .../common/identity/filter/QuerySelector.java | 21 + .../identity/mapper/BenIdImportMapper.java | 21 + .../identity/mapper/IdentityEditMapper.java | 46 +- .../identity/mapper/IdentityMapper.java | 72 +-- .../mapper/IdentityPartialMapper.java | 25 +- .../identity/mapper/IdentitySearchMapper.java | 27 +- .../common/identity/mapper/InputMapper.java | 21 + .../common/identity/mapper/OutputMapper.java | 21 + .../common/identity/repo/BenAddressRepo.java | 29 +- .../common/identity/repo/BenConsentRepo.java | 23 +- .../common/identity/repo/BenContactRepo.java | 31 +- .../identity/repo/BenDataAccessRepo.java | 42 +- .../common/identity/repo/BenDetailRepo.java | 40 +- .../identity/repo/BenDetailRepoCustom.java | 21 + .../identity/repo/BenDetailRepoImpl.java | 106 ++-- .../identity/repo/BenFamilyMappingRepo.java | 31 +- .../common/identity/repo/BenIdentityRepo.java | 21 + .../common/identity/repo/BenMappingRepo.java | 117 ++-- .../identity/repo/BenMappingRepoCustom.java | 25 +- .../identity/repo/BenMappingRepoImpl.java | 33 +- .../identity/repo/BenRegIdMappingRepo.java | 29 +- .../identity/repo/BenSecureStackRepo.java | 21 + .../identity/repo/BenServiceMappingRepo.java | 49 +- .../repo/MBeneficiaryAccountRepo.java | 23 +- .../identity/repo/MBeneficiaryImageRepo.java | 25 +- .../identity/repo/V_BenAdvanceSearchRepo.java | 29 +- .../repo/familyTag/FamilyTagRepo.java | 21 + .../repo/rmnch/RMNCHBenAccountRepo.java | 21 + .../repo/rmnch/RMNCHBenAddressRepo.java | 21 + .../repo/rmnch/RMNCHBenConsentRepo.java | 22 +- .../repo/rmnch/RMNCHBenContactRepo.java | 21 + .../repo/rmnch/RMNCHBenDetailsRepo.java | 21 + .../repo/rmnch/RMNCHBenImageRepo.java | 21 + .../RMNCHBeneficiaryDetailsRmnchRepo.java | 21 + .../repo/rmnch/RMNCHBornBirthDetailsRepo.java | 21 + .../repo/rmnch/RMNCHCBACDetailsRepo.java | 23 +- .../repo/rmnch/RMNCHHouseHoldDetailsRepo.java | 21 + .../repo/rmnch/RMNCHMBenFamilyMapRepo.java | 21 + .../repo/rmnch/RMNCHMBenMappingRepo.java | 21 + .../repo/rmnch/RMNCHMBenRegIdMapRepo.java | 21 + .../RMNCHMBeneficiaryServiceMapRepo.java | 21 + .../common/identity/security/Encryption.java | 5 - .../iemr/common/identity/security/Hash.java | 5 - .../common/identity/security/Security.java | 21 + .../identity/service/IdentityService.java | 519 +++++------------- .../familyTagging/FamilyTagService.java | 21 + .../familyTagging/FamilyTagServiceImpl.java | 21 + .../service/rmnch/RmnchDataSyncService.java | 21 + .../rmnch/RmnchDataSyncServiceImpl.java | 316 +++++------ .../common/identity/utils/CommonMain.java | 21 + .../common/identity/utils/IEMRApplBeans.java | 21 + .../common/identity/utils/JsonUtilities.java | 21 + .../common/identity/utils/OutputResponse.java | 212 +++---- .../iemr/common/identity/utils/Utilities.java | 30 +- .../utils/config/ConfigProperties.java | 27 +- .../utils/exception/IEMRException.java | 21 + .../utils/gateway/email/EmailService.java | 21 + .../email/GenericEmailServiceImpl.java | 50 +- .../utils/http/HTTPRequestInterceptor.java | 22 +- .../common/identity/utils/http/HttpUtils.java | 49 +- .../identity/utils/mapper/InputMapper.java | 63 +-- .../identity/utils/mapper/OutputMapper.java | 21 + .../identity/utils/redis/RedisConnection.java | 59 -- .../utils/redis/RedisSessionException.java | 21 + .../identity/utils/redis/RedisStorage.java | 71 +-- .../utils/response/OutputResponse.java | 178 +++--- .../utils/sessionobject/SessionObject.java | 78 +-- .../identity/utils/validator/Validator.java | 93 ++-- src/main/resources/application.properties | 2 + .../identity/IdentityApplicationTests.java | 21 + .../controller/IdentityControllerTest.java | 21 + .../identity/service/IdentityServiceTest.java | 47 +- 160 files changed, 3713 insertions(+), 2005 deletions(-) create mode 100644 .github/PULL_REQUEST_TEMPLATE.md create mode 100644 .github/workflows/package-prod.yml create mode 100644 .github/workflows/package.yml create mode 100644 .github/workflows/sast.yml delete mode 100644 src/main/java/com/iemr/common/identity/config/ApplicationConfig.java delete mode 100644 src/main/java/com/iemr/common/identity/config/DBConfig.java delete mode 100644 src/main/java/com/iemr/common/identity/config/HttpSessionConfig.java delete mode 100644 src/main/java/com/iemr/common/identity/config/SecurityConfig.java rename src/main/java/com/iemr/common/identity/controller/rmnch/{RmnchMobileAppController.java => RMNCHMobileAppController.java} (89%) delete mode 100644 src/main/java/com/iemr/common/identity/data/rmnch/NCD_TB_HRP_data.java create mode 100644 src/main/java/com/iemr/common/identity/data/rmnch/NcdTbHrpData.java rename src/main/java/com/iemr/common/identity/domain/{V_BenAdvanceSearch.java => VBenAdvanceSearch.java} (84%) create mode 100644 src/main/java/com/iemr/common/identity/dto/SearchSyncDTO.java delete mode 100644 src/main/java/com/iemr/common/identity/exception/SearchCriteriaException.java delete mode 100644 src/main/java/com/iemr/common/identity/security/Encryption.java delete mode 100644 src/main/java/com/iemr/common/identity/security/Hash.java delete mode 100644 src/main/java/com/iemr/common/identity/utils/redis/RedisConnection.java diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000..58bdec2 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,30 @@ +# Description + +Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change. + +# Type of change + +- [ ] Bug fix +- [ ] New feature +- [ ] Enhancement +- [ ] Refactoring +- [ ] Documentation +- [ ] Other ( please specify ) + +# How Has This Been Tested? + +Please describe the tests that you ran to verify your changes. Please also note any relevant details for your test configuration. + +- [ ] Test A +- [ ] Test B + +# Checklist: + +- [ ] My code follows the style guidelines of this project +- [ ] I have performed a self-review of my own code +- [ ] I have commented my code, particularly in hard-to-understand areas +- [ ] I have made corresponding changes to the documentation +- [ ] My changes generate no new warnings +- [ ] Any dependent changes have been merged and published in downstream modules + + diff --git a/.github/workflows/build-on-pull-request.yml b/.github/workflows/build-on-pull-request.yml index 4c88df3..8970ea8 100644 --- a/.github/workflows/build-on-pull-request.yml +++ b/.github/workflows/build-on-pull-request.yml @@ -1,22 +1,33 @@ -name: Build On Pull Request +name: Build and Static Code Analysis On Pull Request on: pull_request: - branches: [ "master","develop" ] - + branches: [ "develop" ] jobs: - Build: + Build_and_analyse: runs-on: ubuntu-latest steps: - - name: Checkout code - uses: actions/checkout@v3 - with: - ref: ${{ github.event.pull_request.head.ref }} - repository: ${{ github.event.pull_request.head.repo.full_name }} + - name: Checkout code + uses: actions/checkout@v3 + with: + ref: ${{ github.event.pull_request.head.ref }} + repository: ${{ github.event.pull_request.head.repo.full_name }} - - name: Setup JDK 8 - uses: actions/setup-java@v2 - with: - java-version: 8 - distribution: 'adopt' - - name: Build with Maven - run: mvn clean install \ No newline at end of file + - name: Setup JDK 8 + uses: actions/setup-java@v2 + with: + java-version: 8 + distribution: 'adopt' + + - name: Test with Maven + run: mvn test + + - name: Initialize CodeQL + uses: github/codeql-action/init@v2 + with: + languages: Java + + - name: Build with Maven + run: mvn clean install + + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@v2 diff --git a/.github/workflows/package-prod.yml b/.github/workflows/package-prod.yml new file mode 100644 index 0000000..38b13ce --- /dev/null +++ b/.github/workflows/package-prod.yml @@ -0,0 +1,41 @@ +name: Package-prod + +on: + push: + branches: [ "master"] + paths-ignore: + - target/** + + pull_request: + branches: [ "master" ] + paths-ignore: + - target/** + +env: + ENV_VAR: prod + +jobs: + Package-prod: + runs-on: ubuntu-latest + steps: + + - name: Checkout code + uses: actions/checkout@v3 + + - name: Setup JDK 8 + uses: actions/setup-java@v2 + with: + java-version: 8 + distribution: 'adopt' + + - name: Build with Maven + run: mvn clean install -DENV_VAR=${{ env.ENV_VAR }} + + - name: Create WAR file + run: mvn -B package --file pom.xml + + - name: Upload WAR file as artifact + uses: actions/upload-artifact@v2 + with: + name: Identity-API + path: target/identity-0.0.1.war diff --git a/.github/workflows/package.yml b/.github/workflows/package.yml new file mode 100644 index 0000000..fff0b3f --- /dev/null +++ b/.github/workflows/package.yml @@ -0,0 +1,50 @@ + +name: Package + +on: + push: + branches: [ "develop"] + paths-ignore: + - target/** + + pull_request: + branches: [ "develop" ] + paths-ignore: + - target/** + +env: + ENV_VAR: test + +jobs: + Package-test: + runs-on: ubuntu-latest + permissions: + actions: read + contents: read + security-events: write + + strategy: + fail-fast: false + steps: + + - name: Checkout code + uses: actions/checkout@v2 + + - name: Setup JDK 8 + uses: actions/setup-java@v2 + with: + java-version: 8 + distribution: 'adopt' + + + - name: Build with Maven + run: mvn clean install -DENV_VAR=${{ env.ENV_VAR }} + + - name: Build WAR file + run: mvn -B package --file pom.xml + + - name: Upload WAR file as artifact + uses: actions/upload-artifact@v2 + with: + name: Identity-API + path: target/identity-0.0.1.war diff --git a/.github/workflows/sast-and-package.yml b/.github/workflows/sast-and-package.yml index 179a33b..c8bf145 100644 --- a/.github/workflows/sast-and-package.yml +++ b/.github/workflows/sast-and-package.yml @@ -1,10 +1,21 @@ -name: Static Code Analysis and Packaging +name: Package + on: push: - branches: [ "master","develop" ] - + branches: [ "develop"] + paths-ignore: + - target/** + + pull_request: + branches: [ "develop" ] + paths-ignore: + - target/** + +env: + ENV_VAR: test + jobs: - CodeQL: + Package-test: runs-on: ubuntu-latest permissions: actions: read @@ -14,37 +25,23 @@ jobs: strategy: fail-fast: false steps: + - name: Checkout code uses: actions/checkout@v2 + - name: Setup JDK 8 uses: actions/setup-java@v2 with: java-version: 8 distribution: 'adopt' - - name: Initialize CodeQL - uses: github/codeql-action/init@v2 - with: - languages: Java + + - name: Build with Maven - run: mvn clean install - - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v2 - with: - languages: Java - - Packaging: - needs: codeql - runs-on: ubuntu-latest - steps: - - name: Checkout code - uses: actions/checkout@v3 - - name: Setup JDK 8 - uses: actions/setup-java@v2 - with: - java-version: 8 - distribution: 'adopt' - - name: Create WAR file + run: mvn clean install -DENV_VAR=${{ env.ENV_VAR }} + + - name: Build WAR file run: mvn -B package --file pom.xml + - name: Upload WAR file as artifact uses: actions/upload-artifact@v2 with: diff --git a/.github/workflows/sast.yml b/.github/workflows/sast.yml new file mode 100644 index 0000000..1b3793b --- /dev/null +++ b/.github/workflows/sast.yml @@ -0,0 +1,52 @@ +name: CodeQL + +on: + push: + branches: [ "develop" ] + paths-ignore: + - target/** + + pull_request: + branches: [ "develop" ] + paths-ignore: + - target/** + +jobs: + analyze: + name: Analyze + runs-on: ${{ (matrix.language == 'swift' && 'macos-latest') || 'ubuntu-latest' }} + timeout-minutes: ${{ (matrix.language == 'swift' && 120) || 360 }} + permissions: + actions: read + contents: read + security-events: write + + strategy: + fail-fast: false + matrix: + language: [ 'java' ] + + steps: + - name: Checkout code + uses: actions/checkout@v3 + with: + ref: ${{ github.event.pull_request.head.ref }} + repository: ${{ github.event.pull_request.head.repo.full_name }} + + # Initializes the CodeQL tools for scanning. + - name: Initialize CodeQL + uses: github/codeql-action/init@v2 + + - name: Setup JDK 8 + uses: actions/setup-java@v2 + with: + java-version: 8 + distribution: 'adopt' + + - name: Build with Maven + run: mvn clean install + + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@v2 + with: + category: "/language:${{matrix.language}}" diff --git a/.gitignore b/.gitignore index 7a81f18..6a8f7aa 100644 --- a/.gitignore +++ b/.gitignore @@ -29,3 +29,7 @@ nbdist/ mvnw mvnw.cmd .mvn + +# Properties +src/main/environment/1097_local.properties +src/main/environment/common_local.properties diff --git a/README.md b/README.md index fb30a78..98173c4 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ # AMRIT - Identity Service -[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0) +[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0) ![branch parameter](https://github.com/PSMRI/Identity-API/actions/workflows/sast-and-package.yml/badge.svg) Identity API is a microservice which is used for the creation and management of beneficaries. diff --git a/pom.xml b/pom.xml index e9b67a1..7fe31aa 100644 --- a/pom.xml +++ b/pom.xml @@ -27,10 +27,11 @@ jdt_apt 1.2.0.Final 1.16.18 - dev + ${ENV_VAR} target/classes/application.properties src/main/environment/common_${environment}.properties true + target diff --git a/src/main/environment/1097_dev.properties b/src/main/environment/1097_dev.properties index a18bb2f..65d30ef 100644 --- a/src/main/environment/1097_dev.properties +++ b/src/main/environment/1097_dev.properties @@ -1,8 +1,8 @@ # DataSource settings: set here your own configurations for the database -spring.datasource.url=jdbc:mysql://10.208.122.32:3306/db_1097_identity?autoReconnect=true&useSSL=false -encDbUserName=0YaEPoKpzM3TrEAHTLYQaf+DfR4mdaeP -encDbPass=V+g/nL6/+ely0bgD7Du0yX83xNRl1H9Y +spring.datasource.url= +spring.datasource.username= +spring.datasource.password= spring.datasource.driver-class-name=com.mysql.jdbc.Driver diff --git a/src/main/environment/1097_local.properties b/src/main/environment/1097_local.properties index 9081e01..10335c6 100644 --- a/src/main/environment/1097_local.properties +++ b/src/main/environment/1097_local.properties @@ -1,7 +1,7 @@ # DataSource settings: set here your own configurations for the database -spring.datasource.url=jdbc:mysql://localhost:3306/db_1097_identity?autoReconnect=true&useSSL=false -encDbUserName=DSekNOtG9a+qythoUDNKuw== -encDbPass=DSekNOtG9a+qythoUDNKuw== +spring.datasource.url= +spring.datasource.username= +spring.datasource.password= spring.datasource.driver-class-name=com.mysql.jdbc.Driver diff --git a/src/main/environment/1097_test.properties b/src/main/environment/1097_test.properties index ea15db0..65d30ef 100644 --- a/src/main/environment/1097_test.properties +++ b/src/main/environment/1097_test.properties @@ -1,8 +1,8 @@ # DataSource settings: set here your own configurations for the database -spring.datasource.url=jdbc:mysql://10.208.122.38:3306/db_1097_identity?autoReconnect=true&useSSL=false -encDbUserName=0YaEPoKpzM3TrEAHTLYQaf+DfR4mdaeP -encDbPass=V+g/nL6/+ely0bgD7Du0yX83xNRl1H9Y +spring.datasource.url= +spring.datasource.username= +spring.datasource.password= spring.datasource.driver-class-name=com.mysql.jdbc.Driver diff --git a/src/main/environment/1097_uat.properties b/src/main/environment/1097_uat.properties index 661eae9..10335c6 100644 --- a/src/main/environment/1097_uat.properties +++ b/src/main/environment/1097_uat.properties @@ -1,7 +1,7 @@ # DataSource settings: set here your own configurations for the database -spring.datasource.url=jdbc:mysql://172.16.19.43:3306/db_1097_identity?autoReconnect=true&useSSL=false -encDbUserName=0YaEPoKpzM3TrEAHTLYQaf+DfR4mdaeP -encDbPass=V+g/nL6/+ely0bgD7Du0yX83xNRl1H9Y +spring.datasource.url= +spring.datasource.username= +spring.datasource.password= spring.datasource.driver-class-name=com.mysql.jdbc.Driver diff --git a/src/main/environment/common_dev.properties b/src/main/environment/common_dev.properties index 4ab76d9..be3ba54 100644 --- a/src/main/environment/common_dev.properties +++ b/src/main/environment/common_dev.properties @@ -1,7 +1,7 @@ # DataSource settings: set here your own configurations for the database -spring.datasource.url=jdbc:mysql://10.208.122.32:3306/db_identity?autoReconnect=true&useSSL=false -encDbUserName=0YaEPoKpzM3TrEAHTLYQaf+DfR4mdaeP -encDbPass=V+g/nL6/+ely0bgD7Du0yX83xNRl1H9Y +spring.datasource.url= +spring.datasource.username= +spring.datasource.password= spring.datasource.driver-class-name=com.mysql.jdbc.Driver diff --git a/src/main/environment/common_local.properties b/src/main/environment/common_local.properties index 2ac89c9..2792334 100644 --- a/src/main/environment/common_local.properties +++ b/src/main/environment/common_local.properties @@ -1,5 +1,5 @@ # DataSource settings: set here your own configurations for the database -spring.datasource.url=jdbc:mysql://localhost:3306/db_identity?autoReconnect=true&useSSL=false -encDbUserName=DSekNOtG9a+qythoUDNKuw== -encDbPass=DSekNOtG9a+qythoUDNKuw== +spring.datasource.url= +spring.datasource.username= +spring.datasource.password= spring.datasource.driver-class-name=com.mysql.jdbc.Driver diff --git a/src/main/environment/common_test.properties b/src/main/environment/common_test.properties index 1bfacc2..3b29233 100644 --- a/src/main/environment/common_test.properties +++ b/src/main/environment/common_test.properties @@ -1,7 +1,8 @@ # DataSource settings: set here your own configurations for the database -spring.datasource.url=jdbc:mysql://10.208.122.38:3306/db_identity?autoReconnect=true&useSSL=false -encDbUserName=zFlYsp9Z0s+lRvLM15A3g/Ba0w8VGs/1usuW7EsGF3k= -encDbPass=JGGAGn5wTlrbTLUHY+5BzfBa0w8VGs/1usuW7EsGF3k= + +spring.datasource.url= +spring.datasource.username= +spring.datasource.password= spring.datasource.driver-class-name=com.mysql.jdbc.Driver diff --git a/src/main/environment/common_uat.properties b/src/main/environment/common_uat.properties index 055b485..386548e 100644 --- a/src/main/environment/common_uat.properties +++ b/src/main/environment/common_uat.properties @@ -1,7 +1,7 @@ # DataSource settings: set here your own configurations for the database -spring.datasource.url=jdbc:mysql://172.16.19.43:3306/db_identity?autoReconnect=true&useSSL=false -encDbUserName=0YaEPoKpzM3TrEAHTLYQaf+DfR4mdaeP -encDbPass=V+g/nL6/+ely0bgD7Du0yX83xNRl1H9Y +spring.datasource.url= +spring.datasource.username= +spring.datasource.password= spring.datasource.driver-class-name=com.mysql.jdbc.Driver diff --git a/src/main/java/com/iemr/common/identity/IdentityApplication.java b/src/main/java/com/iemr/common/identity/IdentityApplication.java index bbc4d5f..2b25a83 100644 --- a/src/main/java/com/iemr/common/identity/IdentityApplication.java +++ b/src/main/java/com/iemr/common/identity/IdentityApplication.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity; import org.springframework.boot.SpringApplication; @@ -10,86 +31,6 @@ import com.iemr.common.identity.utils.IEMRApplBeans; -/*@SpringBootApplication -@EnableJpaRepositories -@EnableTransactionManagement -public class IdentityApplication implements CommandLineRunner { - private static final Logger logger = LoggerFactory.getLogger(IdentityApplication.class); - - public static void main(String[] args) { - SpringApplication.run(IdentityApplication.class, args); - } - - @Override - public void run(String... arg0) throws Exception { - logger.info("displaying all jsons: "); - - List list = new ArrayList(); - Identity ee1 = new Identity(); - Identity ee2 = new Identity(); - list.add(ee1); - list.add(ee2); - - IdentityDTO i = new IdentityDTO(); - i.setCurrentAddress(new Address()); - i.setPermanentAddress(new Address()); - i.setEmergencyAddress(new Address()); - i.setIdentities(list); - - IdentityEditDTO ie = new IdentityEditDTO(); - ie.setCurrentAddress(new Address()); - ie.setPermanentAddress(new Address()); - ie.setEmergencyAddress(new Address()); - ie.setIdentities(list); - - BenFamilyDTO bfm1 = new BenFamilyDTO(); - BenFamilyDTO bfm2 = new BenFamilyDTO(); - List bfmList = new ArrayList(); - bfmList.add(bfm1); - bfmList.add(bfm2); - BenIdentityDTO bid1 = new BenIdentityDTO(); - BenIdentityDTO bid2 = new BenIdentityDTO(); - List bidList = new ArrayList(); - bidList.add(bid1); - bidList.add(bid2); - BenServiceDTO bsv1 = new BenServiceDTO(); - BenServiceDTO bsv2 = new BenServiceDTO(); - List bsvList = new ArrayList(); - bsvList.add(bsv1); - bsvList.add(bsv2); - Phone ph1 = new Phone(); - Phone ph2 = new Phone(); - List phList = new ArrayList(); - phList.add(ph1); - phList.add(ph2); - - BeneficiariesDTO b1 = new BeneficiariesDTO(); - b1.setBeneficiaryDetails(new BenDetailDTO()); - b1.setBeneficiaryFamilyTags(bfmList); - b1.setBeneficiaryIdentites(bidList); - b1.setBeneficiaryServiceMap(bsvList); - b1.setContacts(phList); - - BeneficiariesDTO b2 = new BeneficiariesDTO(); - b2.setBeneficiaryDetails(new BenDetailDTO()); - b2.setBeneficiaryFamilyTags(bfmList); - b2.setBeneficiaryIdentites(bidList); - b2.setBeneficiaryServiceMap(bsvList); - b2.setContacts(phList); - - List benList = new ArrayList(); - benList.add(b1); - benList.add(b2); - - logger.info("IdentityDTO: " + OutputMapper.getInstance().gson().toJson(i)); - logger.info("IdentityEditDTO: " + OutputMapper.getInstance().gson().toJson(ie)); - //logger.info("IdentityFilterDTO: " + OutputMapper.getInstance().gson().toJson(new IdentityFilterDTO())); - logger.info("IdentitySearchDTO: " + OutputMapper.getInstance().gson().toJson(new IdentitySearchDTO())); - logger.info("List: " + OutputMapper.getInstance().gson().toJson(benList)); - - } -}*/ - @SpringBootApplication @EnableJpaRepositories @EnableTransactionManagement diff --git a/src/main/java/com/iemr/common/identity/config/ApplicationConfig.java b/src/main/java/com/iemr/common/identity/config/ApplicationConfig.java deleted file mode 100644 index 9403184..0000000 --- a/src/main/java/com/iemr/common/identity/config/ApplicationConfig.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.iemr.common.identity.config; - -//import javax.activation.DataSource; -//import javax.persistence.EntityManagerFactory; - -//import org.springframework.context.annotation.Bean; -//import org.springframework.context.annotation.Configuration; -//import org.springframework.data.jpa.repository.config.EnableJpaRepositories; -//import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseBuilder; -//import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseType; -//import org.springframework.orm.jpa.JpaTransactionManager; -//import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean; -//import org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter; -//import org.springframework.transaction.PlatformTransactionManager; -//import org.springframework.transaction.annotation.EnableTransactionManagement; - -//@Configuration -//@EnableJpaRepositories -//@EnableTransactionManagement -public class ApplicationConfig { -// @Bean -// public DataSource dataSource() { -// -// EmbeddedDatabaseBuilder builder = new EmbeddedDatabaseBuilder(); -// return builder.setType(EmbeddedDatabaseType.HSQL).build(); -// } -// -// @Bean -// public EntityManagerFactory entityManagerFactory() { -// -// HibernateJpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter(); -// vendorAdapter.setGenerateDdl(true); -// -// LocalContainerEntityManagerFactoryBean factory = new LocalContainerEntityManagerFactoryBean(); -// factory.setJpaVendorAdapter(vendorAdapter); -// factory.setPackagesToScan("com.acme.domain"); -// factory.setDataSource(dataSource()); -// factory.afterPropertiesSet(); -// -// return factory.getObject(); -// } -// -// @Bean -// public PlatformTransactionManager transactionManager() { -// -// JpaTransactionManager txManager = new JpaTransactionManager(); -// txManager.setEntityManagerFactory(entityManagerFactory()); -// return txManager; -// } -} diff --git a/src/main/java/com/iemr/common/identity/config/DBConfig.java b/src/main/java/com/iemr/common/identity/config/DBConfig.java deleted file mode 100644 index 6a959e3..0000000 --- a/src/main/java/com/iemr/common/identity/config/DBConfig.java +++ /dev/null @@ -1,77 +0,0 @@ -package com.iemr.common.identity.config; - -import javax.persistence.EntityManagerFactory; -import javax.sql.DataSource; - -import org.apache.tomcat.jdbc.pool.PoolConfiguration; -import org.apache.tomcat.jdbc.pool.PoolProperties; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Qualifier; -import org.springframework.boot.context.properties.ConfigurationProperties; -import org.springframework.boot.orm.jpa.EntityManagerFactoryBuilder; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.Primary; -import org.springframework.data.jpa.repository.config.EnableJpaRepositories; -import org.springframework.orm.jpa.JpaTransactionManager; -import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean; -import org.springframework.transaction.PlatformTransactionManager; -import org.springframework.transaction.annotation.EnableTransactionManagement; - -import com.iemr.common.identity.utils.CryptoUtil; -import com.iemr.common.identity.utils.config.ConfigProperties; - -@Configuration -@EnableTransactionManagement -@EnableJpaRepositories(entityManagerFactoryRef = "entityManagerFactory", basePackages = { - "com.iemr.common.identity.repo", "com.iemr.common.identity.repo.familyTag", - "com.iemr.common.identity.repo.rmnch" ,"com.iemr.common.identity.*"}) - -public class DBConfig { - Logger logger = LoggerFactory.getLogger(this.getClass().getName()); - @Autowired - private CryptoUtil cryptoUtil; - - @Primary - @Bean(name = "dataSource") - @ConfigurationProperties(prefix = "spring.datasource") - public DataSource dataSource() { - PoolConfiguration p = new PoolProperties(); - p.setMaxActive(30); - p.setMaxIdle(15); - p.setMinIdle(5); - p.setInitialSize(5); - p.setMaxWait(10000); - p.setMinEvictableIdleTimeMillis(15000); - p.setRemoveAbandoned(true); - p.setLogAbandoned(true); - p.setRemoveAbandonedTimeout(600); - p.setTestOnBorrow(true); - p.setValidationQuery("SELECT 1"); - org.apache.tomcat.jdbc.pool.DataSource datasource = new org.apache.tomcat.jdbc.pool.DataSource(); - datasource.setPoolProperties(p); - - datasource.setUsername(cryptoUtil.decrypt(ConfigProperties.getPropertyByName("encDbUserName"))); - datasource.setPassword(cryptoUtil.decrypt(ConfigProperties.getPropertyByName("encDbPass"))); - - return datasource; - } - - @Primary - @Bean(name = "entityManagerFactory") - public LocalContainerEntityManagerFactoryBean entityManagerFactory(EntityManagerFactoryBuilder builder, - @Qualifier("dataSource") DataSource dataSource) { - return builder.dataSource(dataSource).packages("com.iemr.common.identity.*", "com.iemr.common.identity.data.*", - "com.iemr.common.identity.domain.*").persistenceUnit("db_identity").build(); - } - - @Primary - @Bean(name = "transactionManager") - public PlatformTransactionManager transactionManager( - @Qualifier("entityManagerFactory") EntityManagerFactory entityManagerFactory) { - return new JpaTransactionManager(entityManagerFactory); - } - -} diff --git a/src/main/java/com/iemr/common/identity/config/HttpSessionConfig.java b/src/main/java/com/iemr/common/identity/config/HttpSessionConfig.java deleted file mode 100644 index e380380..0000000 --- a/src/main/java/com/iemr/common/identity/config/HttpSessionConfig.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.iemr.common.identity.config; - -//import org.springframework.context.annotation.Bean; -//import org.springframework.context.annotation.Configuration; -//import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory; -//import org.springframework.session.data.redis.config.annotation.web.http.EnableRedisHttpSession; -//import org.springframework.session.web.http.HeaderHttpSessionStrategy; -//import org.springframework.session.web.http.HttpSessionStrategy; -// -//@Configuration -//@EnableRedisHttpSession -public class HttpSessionConfig { - -// @Bean -// public LettuceConnectionFactory connectionFactory() { -// return new LettuceConnectionFactory(); -// } -// -// @Bean -// public HttpSessionStrategy httpSessionStrategy() { -// return new HeaderHttpSessionStrategy(); -// } -} diff --git a/src/main/java/com/iemr/common/identity/config/InterceptorConfig.java b/src/main/java/com/iemr/common/identity/config/InterceptorConfig.java index 76376b2..f94c2dd 100644 --- a/src/main/java/com/iemr/common/identity/config/InterceptorConfig.java +++ b/src/main/java/com/iemr/common/identity/config/InterceptorConfig.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.config; import org.springframework.beans.factory.annotation.Autowired; diff --git a/src/main/java/com/iemr/common/identity/config/SQLDateToStringConverter.java b/src/main/java/com/iemr/common/identity/config/SQLDateToStringConverter.java index 61f584e..de47315 100644 --- a/src/main/java/com/iemr/common/identity/config/SQLDateToStringConverter.java +++ b/src/main/java/com/iemr/common/identity/config/SQLDateToStringConverter.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.config; import java.sql.Timestamp; diff --git a/src/main/java/com/iemr/common/identity/config/SecurityConfig.java b/src/main/java/com/iemr/common/identity/config/SecurityConfig.java deleted file mode 100644 index fdc88c1..0000000 --- a/src/main/java/com/iemr/common/identity/config/SecurityConfig.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.iemr.common.identity.config; - -//import org.springframework.context.annotation.Bean; -//import org.springframework.context.annotation.Configuration; -//import org.springframework.security.config.annotation.web.builders.HttpSecurity; -//import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter; -//import org.springframework.security.web.authentication.RememberMeServices; -//import org.springframework.session.security.web.authentication.SpringSessionRememberMeServices; - -//@Configuration -public class SecurityConfig /*extends WebSecurityConfigurerAdapter*/ { - -// private static final String[] AUTH_WHITELIST = { -// -// // -- swagger ui -// "/swagger-resources/**", -// "/swagger-ui.html", -// "/v2/api-docs", -// "/webjars/**" -// }; -// -// @Override -// protected void configure(HttpSecurity http) throws Exception { -// http -// .authorizeRequests() -// .antMatchers(AUTH_WHITELIST).permitAll() -// .antMatchers("/**/*").denyAll(); -// http -// .rememberMe().rememberMeServices(rememberMeServices()); -// -// http -// .sessionManagement().init(getHttp()); -// -// } -// -// @Bean -// RememberMeServices rememberMeServices() { -// SpringSessionRememberMeServices rememberMeServices = -// new SpringSessionRememberMeServices(); -// // optionally customize -// rememberMeServices.setAlwaysRemember(true); -// return rememberMeServices; -// } -} diff --git a/src/main/java/com/iemr/common/identity/config/StringtoSQLDateConverter.java b/src/main/java/com/iemr/common/identity/config/StringtoSQLDateConverter.java index 6d44b71..8656e45 100644 --- a/src/main/java/com/iemr/common/identity/config/StringtoSQLDateConverter.java +++ b/src/main/java/com/iemr/common/identity/config/StringtoSQLDateConverter.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.config; import java.sql.Timestamp; @@ -27,7 +48,6 @@ public Timestamp convert(String arg0) { } } } catch (ParseException e) { - // TODO Auto-generated catch block logger.error(e.getMessage()); } return timestamp; diff --git a/src/main/java/com/iemr/common/identity/config/SwaggerConfig.java b/src/main/java/com/iemr/common/identity/config/SwaggerConfig.java index a038872..29f966b 100644 --- a/src/main/java/com/iemr/common/identity/config/SwaggerConfig.java +++ b/src/main/java/com/iemr/common/identity/config/SwaggerConfig.java @@ -1,9 +1,28 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.config; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -// import org.springframework.web.servlet.config.annotation.EnableWebMvc; - import springfox.documentation.builders.ApiInfoBuilder; import springfox.documentation.builders.PathSelectors; import springfox.documentation.builders.RequestHandlerSelectors; @@ -27,10 +46,10 @@ public Docket productApi() private ApiInfo metaData() { ApiInfoBuilder builder = new ApiInfoBuilder(); - builder.contact(new Contact("Wipro HCIT", "https://www.wipro.com", "mywipro@wipro.com")); - builder.description("Identity APIs for AMRIT"); + builder.contact(new Contact("AMRIT", "https://psmri.github.io/PSMRI/", "amrit@piramalswasthya.org")); + builder.description("A microservice for the creation and management of beneficiaries."); builder.version("1.0"); - builder.title("Identity APIs for AMRIT"); + builder.title("Identity API"); return builder.build(); } } diff --git a/src/main/java/com/iemr/common/identity/controller/IdentityController.java b/src/main/java/com/iemr/common/identity/controller/IdentityController.java index 6861554..e256fd1 100644 --- a/src/main/java/com/iemr/common/identity/controller/IdentityController.java +++ b/src/main/java/com/iemr/common/identity/controller/IdentityController.java @@ -1,7 +1,29 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.controller; import java.lang.reflect.Type; import java.math.BigInteger; +import java.sql.Timestamp; import java.util.Arrays; import java.util.Collections; import java.util.List; @@ -10,6 +32,7 @@ import javax.persistence.NoResultException; import javax.persistence.QueryTimeoutException; +import com.iemr.common.identity.dto.*; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -62,6 +85,7 @@ public class IdentityController { IdentityMapper mapper; @CrossOrigin(origins = { "*commonapi*" }) + @ApiOperation(value = "Get beneficiaries by advance search") @PostMapping(path = "/advanceSearch", headers = "Authorization") public @ResponseBody String getBeneficiaries( @ApiParam(value = "{\"firstName\":\"String\",\"genderId\":\"Integer\",\"fatherName\":\"String\"," @@ -75,8 +99,6 @@ public class IdentityController { JsonElement json = new JsonParser().parse(searchFilter); IdentitySearchDTO searchParams = InputMapper.getInstance().gson().fromJson(json, IdentitySearchDTO.class); - // SUNIL TODO: advance search here - // getResponseString(list) List list = svc.getBeneficiaries(searchParams); list.removeIf(Objects::isNull); Collections.sort(list); @@ -92,6 +114,7 @@ public class IdentityController { } @CrossOrigin(origins = { "*commonapi*" }) + @ApiOperation(value = "Search beneficiary based on beneficiary registration id") @PostMapping(path = "/getByBenRegId", headers = "Authorization") public @ResponseBody String getBeneficiariesByBeneficiaryRegId( @ApiParam(value = "\"Integer\"") @RequestParam String benRegId) { @@ -128,6 +151,7 @@ public class IdentityController { } @CrossOrigin(origins = { "*commonapi*" }) + @ApiOperation(value = "Search identity based on beneficiary registration id") @PostMapping(path = "/getByBenId", headers = "Authorization") public @ResponseBody String getBeneficiariesByBeneficiaryId( @ApiParam(value = "\"Integer\"") @RequestParam String benId) { @@ -164,6 +188,7 @@ public class IdentityController { } @CrossOrigin(origins = { "*commonapi*" }) + @ApiOperation(value = "Search beneficiary based on phone number") @PostMapping(path = "/getByPhoneNum", headers = "Authorization") public @ResponseBody String getBeneficiariesByPhoneNum( @ApiParam(value = "\"String\"") @RequestParam String phoneNum) { @@ -181,7 +206,6 @@ public class IdentityController { phoneNumValue = phoneNum; List list = svc.getBeneficiariesByPhoneNum(phoneNumValue); - // list.removeAll(null); list.removeIf(Objects::isNull); Collections.sort(list); response = getSuccessResponseString(list, 200, "success", "getIdentityByAgent"); @@ -195,8 +219,8 @@ public class IdentityController { return response; } - // search beneficiary by healthid / ABHA_Address @CrossOrigin(origins = { "*commonapi*" }) + @ApiOperation(value = "Search beneficiary based on health ID / ABHA Address") @PostMapping(path = "/getByAbhaAddress", headers = "Authorization") public @ResponseBody String searhBeneficiaryByABHAAddress( @ApiParam(value = "\"String\"") @RequestParam String healthID) { @@ -213,8 +237,7 @@ public class IdentityController { healthIDValue = healthID; - List list = svc.getBeneficiaryByHealthID_AbhaAddress(healthIDValue); - // list.removeAll(null); + List list = svc.getBeneficiaryByHealthIDAbhaAddress(healthIDValue); list.removeIf(Objects::isNull); Collections.sort(list); response = getSuccessResponseString(list, 200, "success", "getIdentityByAgent"); @@ -229,8 +252,8 @@ public class IdentityController { return response; } - // search beneficiary by healthid / ABHA_Address @CrossOrigin(origins = { "*commonapi*" }) + @ApiOperation(value = "Search beneficiary based on health ID number / ABHA ID number") @PostMapping(path = "/getByAbhaIdNo", headers = "Authorization") public @ResponseBody String searhBeneficiaryByABHAIdNo( @ApiParam(value = "\"String\"") @RequestParam String healthIDNo) { @@ -247,8 +270,7 @@ public class IdentityController { healthIDNoValue = healthIDNo; - List list = svc.getBeneficiaryByHealthIDNo_AbhaIdNo(healthIDNoValue); - // list.removeAll(null); + List list = svc.getBeneficiaryByHealthIDNoAbhaIdNo(healthIDNoValue); list.removeIf(Objects::isNull); Collections.sort(list); response = getSuccessResponseString(list, 200, "success", "getIdentityByAgent"); @@ -263,8 +285,8 @@ public class IdentityController { return response; } - // search beneficiary by family id @CrossOrigin(origins = { "*commonapi*" }) + @ApiOperation(value = "Search beneficiary based on family id") @PostMapping(path = "/searchByFamilyId", headers = "Authorization") public @ResponseBody String searhBeneficiaryByFamilyId( @ApiParam(value = "\"String\"") @RequestParam String familyId) { @@ -280,7 +302,6 @@ public class IdentityController { } List list = svc.searhBeneficiaryByFamilyId(familyId); - // list.removeAll(null); list.removeIf(Objects::isNull); Collections.sort(list); response = getSuccessResponseString(list, 200, "success", "getIdentityByAgent"); @@ -294,8 +315,34 @@ public class IdentityController { return response; } - // search beneficiary by gov identity - aadhar, pan, voter id etc + // search beneficiary by lastModDate and districtID @CrossOrigin(origins = { "*commonapi*" }) + @ApiOperation(value ="Search beneficiary by blockId and last modified date") + @PostMapping(path = "/searchByDistrictId") + public @ResponseBody String searchBeneficiaryByBlockIdAndLastModDate( + @ApiParam(value = "\"String\"") @RequestBody String object) { + logger.info("IdentityController.getBeneficiary - start. search object = " + object); + String response; + try { + + JsonElement json = new JsonParser().parse(object); + + SearchSyncDTO search = InputMapper.getInstance().gson().fromJson(json, SearchSyncDTO.class); + List list = svc.searchBeneficiaryByBlockIdAndLastModifyDate(search.getBlockID(), new Timestamp(search.getLastModifDate())); + + response = getSuccessResponseString(list, 200, "success", "getIdentityByAgent"); + + logger.info("IdentityController.getBeneficiary - end"); + } catch (Exception e) { + logger.error("error in beneficiary search by Family Id : " + e.getLocalizedMessage()); + response = getErrorResponseString("error in beneficiary search by block Id : " + e.getLocalizedMessage(), + 5000, "failure", ""); + } + return response; + } + + @CrossOrigin(origins = { "*commonapi*" }) + @ApiOperation(value = "Search beneficiary based on government identity number") @PostMapping(path = "/searhByGovIdentity", headers = "Authorization") public @ResponseBody String searhBeneficiaryByGovIdentity( @ApiParam(value = "\"String\"") @RequestParam String identity) { @@ -311,7 +358,6 @@ public class IdentityController { } List list = svc.searhBeneficiaryByGovIdentity(identity); - // list.removeAll(null); list.removeIf(Objects::isNull); Collections.sort(list); response = getSuccessResponseString(list, 200, "success", "getIdentityByAgent"); @@ -331,6 +377,7 @@ public class IdentityController { * @return */ @CrossOrigin(origins = { "*commonapi*" }) + @ApiOperation(value = "Edit identity by agent") @PostMapping(path = "/edit", headers = "Authorization") public @ResponseBody String editIdentity(@ApiParam(value = "{\r\n" + " \"eventTypeName\": \"String\",\r\n" + " \"eventTypeDate\": \"Timestamp\",\r\n" + " \"agentId\": \"Integer\",\r\n" @@ -444,7 +491,6 @@ public class IdentityController { } IdentityEditDTO identity = InputMapper.getInstance().gson().fromJson(json, IdentityEditDTO.class); - // MBeneficiarymapping map; try { svc.editIdentity(identity); String response = getSuccessResponseString("Updated successfully", 200, "success", "editIdentityByAgent"); @@ -464,6 +510,7 @@ public class IdentityController { * @return */ @CrossOrigin(origins = { "*commonapi*" }) + @ApiOperation(value = "Create identity by agent") @PostMapping(path = "/create", headers = "Authorization") public @ResponseBody String createIdentity(@ApiParam(value = "{\r\n" + " \"eventTypeName\": \"String\",\r\n" + " \"eventTypeDate\": \"Timestamp\",\r\n" + " \"agentId\": \"Integer\",\r\n" @@ -582,6 +629,7 @@ public class IdentityController { } @CrossOrigin(origins = { "*commonapi*" }) + @ApiOperation(value = "Reserve identity by agent") @PostMapping(path = "/reserve", headers = "Authorization") public @ResponseBody String reserveIdentity(@RequestBody String reserveIdentity) { logger.info("IdentityController.reserveIdentity - start"); @@ -602,6 +650,7 @@ public class IdentityController { } @CrossOrigin(origins = { "*commonapi*" }) + @ApiOperation(value = "Unreserve identity by agent") @PostMapping(path = "/unreserve", headers = "Authorization") public @ResponseBody String unreserveIdentity(@RequestBody String unreserve) { logger.info("IdentityController.unreserveIdentity - start"); @@ -628,6 +677,7 @@ public class IdentityController { * @return */ @CrossOrigin(origins = { "*commonapi*" }) + @ApiOperation(value = "Get beneficiaries partial details by beneficiary registration id list") @PostMapping(path = "/getByPartialBenRegIdList", headers = "Authorization") public @ResponseBody String getPartialBeneficiariesByBenRegIds( @ApiParam(value = "[Integer,Integer…..(array of benRegId)]") @RequestBody String benRegIds) { @@ -649,7 +699,6 @@ public class IdentityController { String data = InputMapper.getInstance().gson().toJson(list).toString(); String response = getSuccessResponseString(data, 200, "success", "getBeneficiariesByBenRegIds"); -// logger.info("IdentityController.getBeneficiariesByBenRegIds - end response: " + response); logger.info("IdentityController.getBeneficiariesByBenRegIds - end "); return response; } @@ -661,6 +710,7 @@ public class IdentityController { * @return */ @CrossOrigin(origins = { "*commonapi*" }) + @ApiOperation(value = "Get beneficiaries by beneficiary registration id") @PostMapping(path = "/getByBenRegIdList", headers = "Authorization") public @ResponseBody String getBeneficiariesByBenRegIds( @ApiParam(value = " {\"beneficiaryRegID\": \"Long\"}") @RequestBody String benRegIds) { @@ -680,7 +730,6 @@ public class IdentityController { Collections.sort(list); String response = getSuccessResponseString(list, 200, "success", "getBeneficiariesByBenRegIds"); -// logger.info("IdentityController.getBeneficiariesByBenRegIds - end response: " + response); logger.info("IdentityController.getBeneficiariesByBenRegIds - end : "); return response; } @@ -696,8 +745,7 @@ public class IdentityController { private String getSuccessResponseString(MBeneficiarymapping map, Integer statusCode, String statusMsg, String methodName) { logger.info("IdentityController.getResponseString of map parameter - start"); - BeneficiariesDTO bdto = mapper.MBeneficiarymappingToBeneficiariesDTO(map); - // bdto.setBeneficiaryDetails(mapper.MBeneficiarydetailToBenDetailDTO(map.getMBeneficiarydetail())); + BeneficiariesDTO bdto = mapper.mBeneficiarymappingToBeneficiariesDTO(map); bdto.setBeneficiaryFamilyTags( mapper.mBeneficiaryfamilymappingListToBenFamilyDTOList(map.getMBeneficiaryfamilymappings())); bdto.setBeneficiaryIdentites( @@ -729,9 +777,6 @@ private String getSuccessResponseString(MBeneficiarymapping map, Integer statusC private String getSuccessResponseString(String data, Integer statusCode, String statusMsg, String methodName) { logger.info("IdentityController.getResponseString of string parameter - start"); - // String data = - // InputMapper.getInstance().gson().toJson(bdto).toString(); -// logger.info("data: " + data); OutputResponse response = new OutputResponse.Builder().setDataJsonType("JsonObject.class") .setStatusCode(statusCode).setStatusMessage(statusMsg) @@ -749,8 +794,6 @@ private String getSuccessResponseString(List list, Integer sta }.getType(); String data = OutputMapper.getInstance().gson().toJson(list, typeOfSrc); logger.info("data response size:" + (list != null ? list.size() : "No Beneficiary Found")); -// logger.info("data: " + data); -// logger.info("data.toStr: " + data.toString()); OutputResponse response = new OutputResponse.Builder().setDataJsonType("JsonObject.class") .setStatusCode(statusCode).setStatusMessage(statusMsg) .setDataObjectType(this.getClass().getSimpleName()).setMethodName(methodName).setData(data).build(); @@ -807,6 +850,7 @@ public String getJsonAsString(Object obj) { } @CrossOrigin(origins = { "*commonapi*" }) + @ApiOperation(value = "Get finite beneficiaries") @PostMapping(path = "/finiteSearch", headers = "Authorization") public @ResponseBody String getFiniteBeneficiaries(@RequestBody String searchFilter) { logger.info("IdentityController.getFiniteBeneficiaries - start"); @@ -822,15 +866,12 @@ public String getJsonAsString(Object obj) { response = getSuccessResponseString(list, 200, "success", "getFiniteBeneficiaries"); logger.info("IdentityController.getFiniteBeneficiaries - end"); } catch (NoResultException e) { - // TODO Auto-generated catch block logger.error(e.getMessage()); response = getErrorResponseString(e.getLocalizedMessage(), 5000, "failure", ""); } catch (QueryTimeoutException e) { - // TODO Auto-generated catch block logger.error(e.getMessage()); response = getErrorResponseString(e.getLocalizedMessage(), 5000, "failure", ""); } catch (Exception e) { - // TODO Auto-generated catch block logger.error(e.getMessage()); response = getErrorResponseString(e.getLocalizedMessage(), 5000, "failure", ""); } @@ -840,6 +881,7 @@ public String getJsonAsString(Object obj) { // New API for getting beneficiary image only. @CrossOrigin(origins = { "*commonapi*" }) + @ApiOperation(value = "Get beneficiary image by beneficiary registration id") @PostMapping(path = "/benImageByBenRegID", headers = "Authorization") public @ResponseBody String getBeneficiaryImageByBenRegID(@RequestBody String identityData) { String benImage = null; @@ -854,6 +896,7 @@ public String getJsonAsString(Object obj) { } @CrossOrigin(origins = { "*commonapi*" }) + @ApiOperation(value = "Edit education or community by agent") @PostMapping(path = "/editEducationOrCommunity", headers = "Authorization") public @ResponseBody String editIdentityEducationOrCommunity(@ApiParam(value = "{\r\n" + " \"eventTypeName\": \"String\",\r\n" + " \"eventTypeDate\": \"Timestamp\",\r\n" @@ -967,7 +1010,6 @@ public String getJsonAsString(Object obj) { } IdentityEditDTO identity = InputMapper.getInstance().gson().fromJson(json, IdentityEditDTO.class); - // MBeneficiarymapping map; try { svc.editIdentityEducationOrCommunity(identity); String response = getSuccessResponseString("Updated successfully", 200, "success", "editIdentityByAgent"); @@ -982,7 +1024,7 @@ public String getJsonAsString(Object obj) { } @CrossOrigin() - @ApiOperation(value = "Check available BENID in local", consumes = "application/json", produces = "application/json") + @ApiOperation(value = "Check available beneficary id in local server", consumes = "application/json", produces = "application/json") @GetMapping(path = "/checkAvailablBenIDLocalServer", headers = "Authorization") public @ResponseBody String checkAvailablBenIDLocalServer() { com.iemr.common.identity.utils.response.OutputResponse response = new com.iemr.common.identity.utils.response.OutputResponse(); @@ -997,24 +1039,24 @@ public String getJsonAsString(Object obj) { } @CrossOrigin(origins = { "*commonapi*" }) - @ApiOperation(value = "Save Server generated BeneficiaryID & BenRegID to local server", consumes = "application/json", produces = "application/json") + @ApiOperation(value = "Save server generated beneficiary ID & beneficiary registration ID to local server", consumes = "application/json", produces = "application/json") @PostMapping(path = "/saveGeneratedBenIDToLocalServer", headers = "Authorization") public @ResponseBody String saveGeneratedBenIDToLocalServer( @ApiParam(value = "{\r\n" + " \"vanID\": \"Integer\",\r\n" + " \"benIDRequired\": \"Integer\"\r\n" + " }") @RequestBody String regIDList) { com.iemr.common.identity.utils.response.OutputResponse response = new com.iemr.common.identity.utils.response.OutputResponse(); try { - BenIdImportDTO[] BenIdImportDTOArr = InputMapper.getInstance().gson().fromJson(regIDList, + BenIdImportDTO[] benIdImportDTOArr = InputMapper.getInstance().gson().fromJson(regIDList, BenIdImportDTO[].class); - List BenIdImportDTOList = Arrays.asList(BenIdImportDTOArr); + List benIdImportDTOList = Arrays.asList(benIdImportDTOArr); - int i = svc.importBenIdToLocalServer(BenIdImportDTOList); + int i = svc.importBenIdToLocalServer(benIdImportDTOList); if (i > 0) response.setResponse(i + " Unique benid imported to local server"); else { response.setResponse("Empty or invalid data"); - logger.error("Empty or invalid data. Data Size is : " + BenIdImportDTOList.size()); + logger.error("Empty or invalid data. Data Size is : " + benIdImportDTOList.size()); } } catch (Exception e) { logger.error("Exception in importing benID to local server : " + e); diff --git a/src/main/java/com/iemr/common/identity/controller/familyTagging/FamilyTaggingController.java b/src/main/java/com/iemr/common/identity/controller/familyTagging/FamilyTaggingController.java index 04636d2..f3c54bc 100644 --- a/src/main/java/com/iemr/common/identity/controller/familyTagging/FamilyTaggingController.java +++ b/src/main/java/com/iemr/common/identity/controller/familyTagging/FamilyTaggingController.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.controller.familyTagging; import org.slf4j.Logger; @@ -23,7 +44,7 @@ public class FamilyTaggingController { private FamilyTagService familyTagService; @CrossOrigin() - @ApiOperation(value = "Create and Modify family tagging", consumes = "application/json", produces = "application/json") + @ApiOperation(value = "Create and modify family tagging", consumes = "application/json", produces = "application/json") @RequestMapping(value = { "/addTag" }, method = { RequestMethod.POST }) public String saveFamilyTagging(@RequestBody String comingReq) { String s; @@ -39,7 +60,7 @@ public String saveFamilyTagging(@RequestBody String comingReq) { } @CrossOrigin() - @ApiOperation(value = "Create Family", consumes = "application/json", produces = "application/json") + @ApiOperation(value = "Create family", consumes = "application/json", produces = "application/json") @RequestMapping(value = { "/createFamily" }, method = { RequestMethod.POST }) public String createFamily(@RequestBody String comingReq) { String s; @@ -55,7 +76,7 @@ public String createFamily(@RequestBody String comingReq) { } @CrossOrigin() - @ApiOperation(value = "Search Family", consumes = "application/json", produces = "application/json") + @ApiOperation(value = "Search family", consumes = "application/json", produces = "application/json") @RequestMapping(value = { "/searchFamily" }, method = { RequestMethod.POST }) public String searchFamily(@RequestBody String comingReq) { String s; @@ -103,7 +124,7 @@ public String untagFamily(@RequestBody String comingReq) { } @CrossOrigin() - @ApiOperation(value = "edit beneficiary family details", consumes = "application/json", produces = "application/json") + @ApiOperation(value = "Edit beneficiary family details", consumes = "application/json", produces = "application/json") @RequestMapping(value = { "/editFamilyTagging" }, method = { RequestMethod.POST }) public String editFamilyDetails(@RequestBody String comingReq) { String s; diff --git a/src/main/java/com/iemr/common/identity/controller/rmnch/RmnchMobileAppController.java b/src/main/java/com/iemr/common/identity/controller/rmnch/RMNCHMobileAppController.java similarity index 89% rename from src/main/java/com/iemr/common/identity/controller/rmnch/RmnchMobileAppController.java rename to src/main/java/com/iemr/common/identity/controller/rmnch/RMNCHMobileAppController.java index 6f24b88..33fbc9c 100644 --- a/src/main/java/com/iemr/common/identity/controller/rmnch/RmnchMobileAppController.java +++ b/src/main/java/com/iemr/common/identity/controller/rmnch/RMNCHMobileAppController.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.controller.rmnch; import java.sql.Timestamp; @@ -19,23 +40,21 @@ import io.swagger.annotations.ApiParam; /** - * @date : 13-02-2019, * @apiNote API will be exposed to public domain for RMNCH mobile data sync to * AMRIT platform - * @author NE298657 */ @RestController @RequestMapping(value = "/rmnch", headers = "Authorization") -public class RmnchMobileAppController { +public class RMNCHMobileAppController { - private Logger logger = LoggerFactory.getLogger(RmnchMobileAppController.class); + private Logger logger = LoggerFactory.getLogger(RMNCHMobileAppController.class); @Autowired @Qualifier("rmnchServiceImpl") RmnchDataSyncService rmnchDataSyncService; @RequestMapping(value = "/syncDataToAmrit", method = RequestMethod.POST) - @ApiOperation(value = "sync data to amrit for already regestered beneficiary with AMRIT beneficiary id ", consumes = "application/json", produces = "application/json") + @ApiOperation(value = "Sync data to AMRIT for already regestered beneficiary with AMRIT beneficiary id ", consumes = "application/json", produces = "application/json") public String syncDataToAmrit(@ApiParam(value = "{\r\n" + " \"beneficiaryDetails\": [\r\n" + " {\r\n" + " \"BenRegId\": \"Long\",\r\n" + " \"Countyid\": \"Integer\",\r\n" + " \"Processed\": \"String\",\r\n" + " \"ProviderServiceMapID\": \"Integer\",\r\n" @@ -115,7 +134,7 @@ public String syncDataToAmrit(@ApiParam(value = "{\r\n" + " \"beneficiaryDetail // @Deprecated @RequestMapping(value = "/getBeneficiaryDataForVillage", method = RequestMethod.POST) - @ApiOperation(value = "get beneficiary data for given village ", consumes = "application/json", produces = "application/json") + @ApiOperation(value = "Get beneficiary data for given village ", consumes = "application/json", produces = "application/json") public String getBeneficiaryData( @ApiParam(value = "{\r\n" + "\"villageID\":\"Integer\",\r\n" + "\"fromDate\":\"DateTime\",\r\n" + "\"toDate\":\"DateTime\",\r\n" + "\"pageNo\":\"Integer\"\r\n" diff --git a/src/main/java/com/iemr/common/identity/controller/version/VersionController.java b/src/main/java/com/iemr/common/identity/controller/version/VersionController.java index fa4974b..a8fed99 100644 --- a/src/main/java/com/iemr/common/identity/controller/version/VersionController.java +++ b/src/main/java/com/iemr/common/identity/controller/version/VersionController.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.controller.version; import java.io.BufferedReader; @@ -14,12 +35,15 @@ import com.iemr.common.identity.utils.response.OutputResponse; +import io.swagger.annotations.ApiOperation; + @RestController public class VersionController { private Logger logger = LoggerFactory.getLogger(this.getClass().getSimpleName()); @CrossOrigin() + @ApiOperation(value = "Get version information", consumes = "application/json", produces = "application/json") @RequestMapping(value = "/version", method = { RequestMethod.GET }) public String versionInformation() { OutputResponse output = new OutputResponse(); diff --git a/src/main/java/com/iemr/common/identity/data/familyTagging/BenFamilyMapping.java b/src/main/java/com/iemr/common/identity/data/familyTagging/BenFamilyMapping.java index 21ca3dd..f595acc 100644 --- a/src/main/java/com/iemr/common/identity/data/familyTagging/BenFamilyMapping.java +++ b/src/main/java/com/iemr/common/identity/data/familyTagging/BenFamilyMapping.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.data.familyTagging; import java.sql.Timestamp; @@ -98,9 +119,6 @@ public class BenFamilyMapping { @Transient private Integer blockId; -// @Transient -// private BenFamilyMapping memberList[]; - @Transient private Long beneficiaryRegId; diff --git a/src/main/java/com/iemr/common/identity/data/familyTagging/FamilyMembers.java b/src/main/java/com/iemr/common/identity/data/familyTagging/FamilyMembers.java index 673b57d..2f9b70a 100644 --- a/src/main/java/com/iemr/common/identity/data/familyTagging/FamilyMembers.java +++ b/src/main/java/com/iemr/common/identity/data/familyTagging/FamilyMembers.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.data.familyTagging; import lombok.Data; diff --git a/src/main/java/com/iemr/common/identity/data/familyTagging/FamilySearchResponse.java b/src/main/java/com/iemr/common/identity/data/familyTagging/FamilySearchResponse.java index d79de90..a627f97 100644 --- a/src/main/java/com/iemr/common/identity/data/familyTagging/FamilySearchResponse.java +++ b/src/main/java/com/iemr/common/identity/data/familyTagging/FamilySearchResponse.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.data.familyTagging; import java.util.List; diff --git a/src/main/java/com/iemr/common/identity/data/rmnch/BenHealthIDDetails.java b/src/main/java/com/iemr/common/identity/data/rmnch/BenHealthIDDetails.java index 391d590..7886bcc 100644 --- a/src/main/java/com/iemr/common/identity/data/rmnch/BenHealthIDDetails.java +++ b/src/main/java/com/iemr/common/identity/data/rmnch/BenHealthIDDetails.java @@ -1,15 +1,26 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.data.rmnch; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.Table; -import javax.persistence.Transient; - -import com.google.gson.annotations.Expose; - public class BenHealthIDDetails { Integer benHealthID; diff --git a/src/main/java/com/iemr/common/identity/data/rmnch/GetBenRequestHandler.java b/src/main/java/com/iemr/common/identity/data/rmnch/GetBenRequestHandler.java index 7b61747..f28ddd3 100644 --- a/src/main/java/com/iemr/common/identity/data/rmnch/GetBenRequestHandler.java +++ b/src/main/java/com/iemr/common/identity/data/rmnch/GetBenRequestHandler.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.data.rmnch; import java.sql.Timestamp; diff --git a/src/main/java/com/iemr/common/identity/data/rmnch/NCD_TB_HRP_data.java b/src/main/java/com/iemr/common/identity/data/rmnch/NCD_TB_HRP_data.java deleted file mode 100644 index 5ead515..0000000 --- a/src/main/java/com/iemr/common/identity/data/rmnch/NCD_TB_HRP_data.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.iemr.common.identity.data.rmnch; - -import java.util.List; -import java.util.Map; - -import com.google.gson.annotations.Expose; - -import lombok.Data; - -@Data -public class NCD_TB_HRP_data { - - @Expose - private String confirmed_ncd; - @Expose - private String confirmed_hrp; - @Expose - private String confirmed_tb; - @Expose - private String confirmed_ncd_diseases; - @Expose - private String diagnosis_status; - @Expose - private List> confirmed_ncd_diseases_Snomed; - private String p_diagnosis; - private String p_diagnosis_snomed; - private String visit_code; - private Long benRegID; - private String visit_category; - -} diff --git a/src/main/java/com/iemr/common/identity/data/rmnch/NcdTbHrpData.java b/src/main/java/com/iemr/common/identity/data/rmnch/NcdTbHrpData.java new file mode 100644 index 0000000..c86f604 --- /dev/null +++ b/src/main/java/com/iemr/common/identity/data/rmnch/NcdTbHrpData.java @@ -0,0 +1,52 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ +package com.iemr.common.identity.data.rmnch; + +import java.util.List; +import java.util.Map; + +import com.google.gson.annotations.Expose; + +import lombok.Data; + +@Data +public class NcdTbHrpData { + + @Expose + private String confirmed_ncd; + @Expose + private String confirmed_hrp; + @Expose + private String confirmed_tb; + @Expose + private String confirmed_ncd_diseases; + @Expose + private String diagnosis_status; + @Expose + private List> confirmed_ncd_diseases_Snomed; + private String p_diagnosis; + private String p_diagnosis_snomed; + private String visit_code; + private Long benRegID; + private String visit_category; + +} diff --git a/src/main/java/com/iemr/common/identity/data/rmnch/RMNCHBeneficiaryDetailsRmnch.java b/src/main/java/com/iemr/common/identity/data/rmnch/RMNCHBeneficiaryDetailsRmnch.java index 4193b03..4be1b4a 100644 --- a/src/main/java/com/iemr/common/identity/data/rmnch/RMNCHBeneficiaryDetailsRmnch.java +++ b/src/main/java/com/iemr/common/identity/data/rmnch/RMNCHBeneficiaryDetailsRmnch.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.data.rmnch; import java.math.BigDecimal; @@ -332,12 +353,6 @@ public class RMNCHBeneficiaryDetailsRmnch { @Expose @Transient private String stateName; -// @Expose -// @Transient -// private Integer districtId; -// @Expose -// @Transient -// private String districtName; @Expose @Transient private Integer blockId; diff --git a/src/main/java/com/iemr/common/identity/data/rmnch/RMNCHBornBirthDetails.java b/src/main/java/com/iemr/common/identity/data/rmnch/RMNCHBornBirthDetails.java index 2743b0a..468a025 100644 --- a/src/main/java/com/iemr/common/identity/data/rmnch/RMNCHBornBirthDetails.java +++ b/src/main/java/com/iemr/common/identity/data/rmnch/RMNCHBornBirthDetails.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.data.rmnch; import java.math.BigDecimal; @@ -36,7 +57,7 @@ public class RMNCHBornBirthDetails { @Expose @Column(name = "beneficiaryId") - private Integer beneficiaryId; + private Long benficieryid; @Expose @Column(name = "countryid") diff --git a/src/main/java/com/iemr/common/identity/data/rmnch/RMNCHCBACdetails.java b/src/main/java/com/iemr/common/identity/data/rmnch/RMNCHCBACdetails.java index f56b38e..806822c 100644 --- a/src/main/java/com/iemr/common/identity/data/rmnch/RMNCHCBACdetails.java +++ b/src/main/java/com/iemr/common/identity/data/rmnch/RMNCHCBACdetails.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.data.rmnch; import java.sql.Timestamp; @@ -359,7 +380,7 @@ public class RMNCHCBACdetails { @Expose @Column(name = "beneficiaryId") - private Integer beneficiaryid; + private Long benficieryid; // new fields, 16-09-2021 @Expose diff --git a/src/main/java/com/iemr/common/identity/data/rmnch/RMNCHHouseHoldDetails.java b/src/main/java/com/iemr/common/identity/data/rmnch/RMNCHHouseHoldDetails.java index 6c674e3..75e5fd6 100644 --- a/src/main/java/com/iemr/common/identity/data/rmnch/RMNCHHouseHoldDetails.java +++ b/src/main/java/com/iemr/common/identity/data/rmnch/RMNCHHouseHoldDetails.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.data.rmnch; import java.sql.Timestamp; diff --git a/src/main/java/com/iemr/common/identity/data/rmnch/RMNCHMBeneficiaryAccount.java b/src/main/java/com/iemr/common/identity/data/rmnch/RMNCHMBeneficiaryAccount.java index d902c49..1cb6a28 100644 --- a/src/main/java/com/iemr/common/identity/data/rmnch/RMNCHMBeneficiaryAccount.java +++ b/src/main/java/com/iemr/common/identity/data/rmnch/RMNCHMBeneficiaryAccount.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.data.rmnch; import java.math.BigInteger; @@ -10,7 +31,6 @@ import javax.persistence.Id; import javax.persistence.Table; -import com.fasterxml.jackson.annotation.JsonFormat; import com.google.gson.annotations.Expose; import lombok.Data; diff --git a/src/main/java/com/iemr/common/identity/data/rmnch/RMNCHMBeneficiaryImage.java b/src/main/java/com/iemr/common/identity/data/rmnch/RMNCHMBeneficiaryImage.java index e42152e..ae6bfc6 100644 --- a/src/main/java/com/iemr/common/identity/data/rmnch/RMNCHMBeneficiaryImage.java +++ b/src/main/java/com/iemr/common/identity/data/rmnch/RMNCHMBeneficiaryImage.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.data.rmnch; import java.math.BigInteger; diff --git a/src/main/java/com/iemr/common/identity/data/rmnch/RMNCHMBeneficiaryServiceMap.java b/src/main/java/com/iemr/common/identity/data/rmnch/RMNCHMBeneficiaryServiceMap.java index ceb7f72..fbcf2c0 100644 --- a/src/main/java/com/iemr/common/identity/data/rmnch/RMNCHMBeneficiaryServiceMap.java +++ b/src/main/java/com/iemr/common/identity/data/rmnch/RMNCHMBeneficiaryServiceMap.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.data.rmnch; import java.math.BigInteger; diff --git a/src/main/java/com/iemr/common/identity/data/rmnch/RMNCHMBeneficiaryaddress.java b/src/main/java/com/iemr/common/identity/data/rmnch/RMNCHMBeneficiaryaddress.java index d154f1a..9b44bb5 100644 --- a/src/main/java/com/iemr/common/identity/data/rmnch/RMNCHMBeneficiaryaddress.java +++ b/src/main/java/com/iemr/common/identity/data/rmnch/RMNCHMBeneficiaryaddress.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.data.rmnch; import java.io.Serializable; diff --git a/src/main/java/com/iemr/common/identity/data/rmnch/RMNCHMBeneficiaryconsent.java b/src/main/java/com/iemr/common/identity/data/rmnch/RMNCHMBeneficiaryconsent.java index 62795d0..fcdd97f 100644 --- a/src/main/java/com/iemr/common/identity/data/rmnch/RMNCHMBeneficiaryconsent.java +++ b/src/main/java/com/iemr/common/identity/data/rmnch/RMNCHMBeneficiaryconsent.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.data.rmnch; import java.io.Serializable; diff --git a/src/main/java/com/iemr/common/identity/data/rmnch/RMNCHMBeneficiarycontact.java b/src/main/java/com/iemr/common/identity/data/rmnch/RMNCHMBeneficiarycontact.java index 4c2e51f..2fbd859 100644 --- a/src/main/java/com/iemr/common/identity/data/rmnch/RMNCHMBeneficiarycontact.java +++ b/src/main/java/com/iemr/common/identity/data/rmnch/RMNCHMBeneficiarycontact.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.data.rmnch; import java.io.Serializable; diff --git a/src/main/java/com/iemr/common/identity/data/rmnch/RMNCHMBeneficiarydetail.java b/src/main/java/com/iemr/common/identity/data/rmnch/RMNCHMBeneficiarydetail.java index 1d09aa3..e38f60e 100644 --- a/src/main/java/com/iemr/common/identity/data/rmnch/RMNCHMBeneficiarydetail.java +++ b/src/main/java/com/iemr/common/identity/data/rmnch/RMNCHMBeneficiarydetail.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.data.rmnch; import java.math.BigInteger; diff --git a/src/main/java/com/iemr/common/identity/data/rmnch/RMNCHMBeneficiaryfamilymapping.java b/src/main/java/com/iemr/common/identity/data/rmnch/RMNCHMBeneficiaryfamilymapping.java index de1ef23..5da37b4 100644 --- a/src/main/java/com/iemr/common/identity/data/rmnch/RMNCHMBeneficiaryfamilymapping.java +++ b/src/main/java/com/iemr/common/identity/data/rmnch/RMNCHMBeneficiaryfamilymapping.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.data.rmnch; import java.io.Serializable; @@ -9,9 +30,6 @@ import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; -import javax.persistence.JoinColumn; -import javax.persistence.ManyToOne; -import javax.persistence.NamedQuery; import javax.persistence.Table; import com.google.gson.annotations.Expose; diff --git a/src/main/java/com/iemr/common/identity/data/rmnch/RMNCHMBeneficiarymapping.java b/src/main/java/com/iemr/common/identity/data/rmnch/RMNCHMBeneficiarymapping.java index 9f1c63f..f5b9401 100644 --- a/src/main/java/com/iemr/common/identity/data/rmnch/RMNCHMBeneficiarymapping.java +++ b/src/main/java/com/iemr/common/identity/data/rmnch/RMNCHMBeneficiarymapping.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.data.rmnch; import java.io.Serializable; diff --git a/src/main/java/com/iemr/common/identity/data/rmnch/RMNCHMBeneficiaryregidmapping.java b/src/main/java/com/iemr/common/identity/data/rmnch/RMNCHMBeneficiaryregidmapping.java index db2d71a..faaa13e 100644 --- a/src/main/java/com/iemr/common/identity/data/rmnch/RMNCHMBeneficiaryregidmapping.java +++ b/src/main/java/com/iemr/common/identity/data/rmnch/RMNCHMBeneficiaryregidmapping.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.data.rmnch; import java.math.BigInteger; diff --git a/src/main/java/com/iemr/common/identity/domain/Address.java b/src/main/java/com/iemr/common/identity/domain/Address.java index a7cd50d..c37b450 100644 --- a/src/main/java/com/iemr/common/identity/domain/Address.java +++ b/src/main/java/com/iemr/common/identity/domain/Address.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.domain; import lombok.Data; @@ -24,7 +45,6 @@ */ private Integer zoneID; private String zoneName; - // private Integer parkingPlaceID; private String parkingPlaceName; private Integer servicePointID; private String servicePointName; diff --git a/src/main/java/com/iemr/common/identity/domain/Contact.java b/src/main/java/com/iemr/common/identity/domain/Contact.java index 563c06d..79010bc 100644 --- a/src/main/java/com/iemr/common/identity/domain/Contact.java +++ b/src/main/java/com/iemr/common/identity/domain/Contact.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.domain; import lombok.Data; diff --git a/src/main/java/com/iemr/common/identity/domain/Identity.java b/src/main/java/com/iemr/common/identity/domain/Identity.java index b2f70f1..31c6e66 100644 --- a/src/main/java/com/iemr/common/identity/domain/Identity.java +++ b/src/main/java/com/iemr/common/identity/domain/Identity.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.domain; import java.math.BigInteger; diff --git a/src/main/java/com/iemr/common/identity/domain/MBeneficiaryAccount.java b/src/main/java/com/iemr/common/identity/domain/MBeneficiaryAccount.java index 1e64102..c63c199 100644 --- a/src/main/java/com/iemr/common/identity/domain/MBeneficiaryAccount.java +++ b/src/main/java/com/iemr/common/identity/domain/MBeneficiaryAccount.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.domain; import java.math.BigInteger; @@ -45,7 +66,7 @@ public class MBeneficiaryAccount { @Column(name = "CreatedBy", length = 50, updatable = false) private String createdBy; - @Column(name = "CreatedDate", insertable = false, updatable = false) + @Column(name = "CreatedDate",updatable = false) @JsonFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'") private Timestamp createdDate; @@ -71,8 +92,6 @@ public class MBeneficiaryAccount { @Column(name = "VehicalNo", length = 30) private String vehicleNo; - // @Column(name = "ParkingPlaceID") - // private Integer parkingPlaceID; @Column(name = "SyncedBy", length = 30) private String syncedBy; diff --git a/src/main/java/com/iemr/common/identity/domain/MBeneficiaryImage.java b/src/main/java/com/iemr/common/identity/domain/MBeneficiaryImage.java index 8ab18c7..1559595 100644 --- a/src/main/java/com/iemr/common/identity/domain/MBeneficiaryImage.java +++ b/src/main/java/com/iemr/common/identity/domain/MBeneficiaryImage.java @@ -1,6 +1,26 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.domain; -import java.math.BigInteger; import java.sql.Timestamp; import javax.persistence.Column; @@ -33,7 +53,7 @@ public class MBeneficiaryImage { private String processed; @Column(name = "CreatedBy", updatable = false) private String createdBy; - @Column(name = "CreatedDate", insertable = false, updatable = false) + @Column(name = "CreatedDate",updatable = false) @JsonFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'") private Timestamp createdDate; @Column(name = "Reserved") @@ -52,8 +72,6 @@ public class MBeneficiaryImage { @Column(name = "VehicalNo") private String vehicalNo; - // @Column(name = "ParkingPlaceID") - // private Integer parkingPlaceID; @Column(name = "SyncedBy") private String syncedBy; @Column(name = "SyncedDate", unique = true, nullable = false) diff --git a/src/main/java/com/iemr/common/identity/domain/MBeneficiaryaddress.java b/src/main/java/com/iemr/common/identity/domain/MBeneficiaryaddress.java index e13273f..99bb215 100644 --- a/src/main/java/com/iemr/common/identity/domain/MBeneficiaryaddress.java +++ b/src/main/java/com/iemr/common/identity/domain/MBeneficiaryaddress.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.domain; import java.io.Serializable; @@ -35,7 +56,7 @@ public class MBeneficiaryaddress implements Serializable { @Column(nullable = false, length = 50) private String createdBy; - @Column(name = "CreatedDate", insertable = false, updatable = false) + @Column(name = "CreatedDate",updatable = false) private Timestamp createdDate; @Column(length = 50) diff --git a/src/main/java/com/iemr/common/identity/domain/MBeneficiaryconsent.java b/src/main/java/com/iemr/common/identity/domain/MBeneficiaryconsent.java index b98a0df..761f4d3 100644 --- a/src/main/java/com/iemr/common/identity/domain/MBeneficiaryconsent.java +++ b/src/main/java/com/iemr/common/identity/domain/MBeneficiaryconsent.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.domain; import java.io.Serializable; @@ -35,7 +56,7 @@ public class MBeneficiaryconsent implements Serializable { @Column(nullable = false, length = 50) private String createdBy; - @Column(name = "CreatedDate", insertable = false, updatable = false) + @Column(name = "CreatedDate",updatable = false) private Timestamp createdDate; private Boolean deleted = false; diff --git a/src/main/java/com/iemr/common/identity/domain/MBeneficiarycontact.java b/src/main/java/com/iemr/common/identity/domain/MBeneficiarycontact.java index 50e90f1..652a65f 100644 --- a/src/main/java/com/iemr/common/identity/domain/MBeneficiarycontact.java +++ b/src/main/java/com/iemr/common/identity/domain/MBeneficiarycontact.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.domain; import java.io.Serializable; @@ -37,7 +58,7 @@ public class MBeneficiarycontact implements Serializable { @Column(nullable = false, length = 50, updatable = false) private String createdBy; - @Column(name = "CreatedDate", insertable = false, updatable = false) + @Column(name = "CreatedDate",updatable = false) private Timestamp createdDate; private Boolean deleted = false; diff --git a/src/main/java/com/iemr/common/identity/domain/MBeneficiarydetail.java b/src/main/java/com/iemr/common/identity/domain/MBeneficiarydetail.java index f8ad823..038f033 100644 --- a/src/main/java/com/iemr/common/identity/domain/MBeneficiarydetail.java +++ b/src/main/java/com/iemr/common/identity/domain/MBeneficiarydetail.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.domain; import java.io.Serializable; @@ -18,16 +39,15 @@ import com.google.gson.annotations.Expose; +import lombok.AllArgsConstructor; import lombok.Data; +import lombok.NoArgsConstructor; -/** - * The persistent class for the m_beneficiarydetails database table. - * - */ @Entity @Table(name = "i_beneficiarydetails") @NamedQuery(name = "MBeneficiarydetail.findAll", query = "SELECT m FROM MBeneficiarydetail m order by beneficiaryDetailsId asc") @Data +@AllArgsConstructor public class MBeneficiarydetail implements Serializable { private static final long serialVersionUID = 1L; private static final int START_YEAR = 1970; @@ -41,7 +61,6 @@ public class MBeneficiarydetail implements Serializable { @Id @GeneratedValue(strategy = GenerationType.AUTO) @Column(unique = true, nullable = false) - // @OrderBy(value = "beneficiaryDetailsId asc") private BigInteger beneficiaryDetailsId; private Integer areaId; @@ -54,7 +73,7 @@ public class MBeneficiarydetail implements Serializable { @Column(nullable = false, length = 50, updatable = false) private String createdBy; - @Column(name = "CreatedDate", insertable = false, updatable = false) + @Column(name = "CreatedDate",updatable = false) private Timestamp createdDate; private Boolean deleted = false; @@ -63,7 +82,8 @@ public class MBeneficiarydetail implements Serializable { @Column(length = 45) private String education; - + + @Column(name = "EmergencyRegistration") private Boolean emergencyRegistration; @Column(length = 50) @@ -104,8 +124,6 @@ public class MBeneficiarydetail implements Serializable { @Column(length = 50) private String modifiedBy; - // private Integer parkingPlaceID; - private Integer occupationId; @Column(length = 45) @@ -216,22 +234,14 @@ public class MBeneficiarydetail implements Serializable { @Expose @Column(name = "VanSerialNo", updatable = false) private BigInteger vanSerialNo; + + @Column(name = "MonthlyFamilyIncome") + private String monthlyFamilyIncome; -// @Expose -// @Column(name = "familyid", updatable = true) -// private String familyid; - - // END OF new column added for data sync - /** - * Default constructor - */ public MBeneficiarydetail() { } - /** - * Constructor for retrieving partial beneficiary details - */ public MBeneficiarydetail(BigInteger beneficiaryDetailsId, String firstName, String lastName, String middleName, String fatherName, String spouseName) { @@ -321,9 +331,4 @@ public static String getIsHIVPositive(Integer status) { return isHIVPositive; } - // public static void main(String[] args) - // { - // Timestamp dob = new Timestamp(10, 07, 10,0,0,0,0); - // System.out.println(calculateAge(dob)); - // } } \ No newline at end of file diff --git a/src/main/java/com/iemr/common/identity/domain/MBeneficiaryfamilymapping.java b/src/main/java/com/iemr/common/identity/domain/MBeneficiaryfamilymapping.java index 270d481..30cb077 100644 --- a/src/main/java/com/iemr/common/identity/domain/MBeneficiaryfamilymapping.java +++ b/src/main/java/com/iemr/common/identity/domain/MBeneficiaryfamilymapping.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.domain; import java.io.Serializable; @@ -9,8 +30,6 @@ import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; -import javax.persistence.JoinColumn; -import javax.persistence.ManyToOne; import javax.persistence.NamedQuery; import javax.persistence.Table; @@ -73,11 +92,6 @@ public class MBeneficiaryfamilymapping implements Serializable { private Timestamp reservedOn; - // commented, 28-09-2018 - // bi-directional many-to-one association to MBeneficiarymapping -// @ManyToOne(/* fetch = FetchType.EAGER */) -// @JoinColumn(name = "BenMapId", insertable = false, updatable = false) -// private MBeneficiarymapping MBeneficiarymapping; @Column(name = "BenMapId", insertable = true, updatable = true) private BigInteger benMapId; diff --git a/src/main/java/com/iemr/common/identity/domain/MBeneficiaryidentity.java b/src/main/java/com/iemr/common/identity/domain/MBeneficiaryidentity.java index aff7479..f2b9d2d 100644 --- a/src/main/java/com/iemr/common/identity/domain/MBeneficiaryidentity.java +++ b/src/main/java/com/iemr/common/identity/domain/MBeneficiaryidentity.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.domain; import java.io.Serializable; @@ -9,8 +30,6 @@ import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; -import javax.persistence.JoinColumn; -import javax.persistence.ManyToOne; import javax.persistence.NamedQuery; import javax.persistence.Table; @@ -82,12 +101,6 @@ public class MBeneficiaryidentity implements Serializable { private Timestamp reservedOn; - // commented, 28-09-2018, unidirectional - // bi-directional many-to-one association to MBeneficiarymapping -// @ManyToOne(/* fetch = FetchType.EAGER */) /* (fetch = FetchType.LAZY) */ -// @JoinColumn(name = "BenMapId", insertable = false, updatable = false) -// private MBeneficiarymapping MBeneficiarymapping; - @Column(name = "BenMapId", insertable = true, updatable = true) private BigInteger benMapId; diff --git a/src/main/java/com/iemr/common/identity/domain/MBeneficiarymapping.java b/src/main/java/com/iemr/common/identity/domain/MBeneficiarymapping.java index af59313..5c12bab 100644 --- a/src/main/java/com/iemr/common/identity/domain/MBeneficiarymapping.java +++ b/src/main/java/com/iemr/common/identity/domain/MBeneficiarymapping.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.domain; import java.io.Serializable; @@ -40,7 +61,7 @@ public class MBeneficiarymapping implements Serializable { @Column(nullable = false, length = 50) private String createdBy; - @Column(name = "CreatedDate", insertable = false, updatable = false) + @Column(name = "CreatedDate",updatable = false) private Timestamp createdDate; @Column(nullable = false) @@ -141,18 +162,6 @@ public class MBeneficiarymapping implements Serializable { @JoinColumn(referencedColumnName = "benMapId", name = "benMapId", insertable = false, updatable = false) private List tBendataaccesses; - // public MBeneficiarymapping(BigInteger benMapId, String firstName) - // { - // this.mBeneficiarydetail.setFirstName(firstName); - // this.mBeneficiarydetail.setFirstName(firstName); - // this.mBeneficiarydetail.setFirstName(firstName); - // } - - // public MBeneficiarymapping() - // { - // - // } - /* * New columns added for MMU integration 11-04-2018 */ diff --git a/src/main/java/com/iemr/common/identity/domain/MBeneficiaryregidmapping.java b/src/main/java/com/iemr/common/identity/domain/MBeneficiaryregidmapping.java index b902108..3cfa497 100644 --- a/src/main/java/com/iemr/common/identity/domain/MBeneficiaryregidmapping.java +++ b/src/main/java/com/iemr/common/identity/domain/MBeneficiaryregidmapping.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.domain; import java.io.Serializable; @@ -38,7 +59,7 @@ public class MBeneficiaryregidmapping implements Serializable { @Column(length = 30) private String createdBy; - @Column(name = "CreatedDate", insertable = false, updatable = false) + @Column(name = "CreatedDate",updatable = false) private Timestamp createdDate; private Boolean deleted = false; @@ -59,7 +80,6 @@ public class MBeneficiaryregidmapping implements Serializable { @Column(name = "VehicalNo") private String vehicalNo; - // private Integer ParkingPlaceID; private String syncedBy; @@ -67,24 +87,6 @@ public class MBeneficiaryregidmapping implements Serializable { private String reservedForChange; - // //bi-directional one-to-one association to MBeneficiarydetail - // @OneToOne(fetch=FetchType.LAZY) - // @JoinColumn(name="BenRegId", referencedColumnName="BeneficiaryRegID", - // nullable=false, insertable=false, updatable=false) - // private MBeneficiarydetail MBeneficiarydetail; - // - // //bi-directional one-to-one association to MBeneficiarymapping - // @OneToOne(fetch=FetchType.LAZY) - // @JoinColumn(name="BenRegId", referencedColumnName="BenRegId", nullable=false, - // insertable=false, updatable=false) - // private MBeneficiarymapping MBeneficiarymapping; - // - // //bi-directional many-to-one association to MBeneficiaryfamilymapping - // @OneToMany(mappedBy="MBeneficiaryregid") - // private List MBeneficiaryfamilymappings; - - // new column added for data sync - // 17-06-2018 @Expose @Column(name = "vanID") private Integer vanID; @@ -96,5 +98,4 @@ public class MBeneficiaryregidmapping implements Serializable { @Column(name = "VanSerialNo") private BigInteger vanSerialNo; - // END OF new column added for data sync } \ No newline at end of file diff --git a/src/main/java/com/iemr/common/identity/domain/MBeneficiaryservicemapping.java b/src/main/java/com/iemr/common/identity/domain/MBeneficiaryservicemapping.java index a9be539..400b7f4 100644 --- a/src/main/java/com/iemr/common/identity/domain/MBeneficiaryservicemapping.java +++ b/src/main/java/com/iemr/common/identity/domain/MBeneficiaryservicemapping.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.domain; import java.io.Serializable; @@ -9,8 +30,6 @@ import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; -import javax.persistence.JoinColumn; -import javax.persistence.ManyToOne; import javax.persistence.NamedQuery; import javax.persistence.Table; @@ -86,11 +105,6 @@ public class MBeneficiaryservicemapping implements Serializable { @Column(length = 45) private String stateName; - // bi-directional many-to-one association to MBeneficiarymapping -// @ManyToOne(/* fetch = FetchType.EAGER */) /* (fetch = FetchType.LAZY) */ -// @JoinColumn(name = "BenMapId") -// private MBeneficiarymapping MBeneficiarymapping; - @Column(name = "BenMapId", insertable = true, updatable = true) private BigInteger benMapId; diff --git a/src/main/java/com/iemr/common/identity/domain/MBensecurestack.java b/src/main/java/com/iemr/common/identity/domain/MBensecurestack.java index 1a175ab..e1dc4e6 100644 --- a/src/main/java/com/iemr/common/identity/domain/MBensecurestack.java +++ b/src/main/java/com/iemr/common/identity/domain/MBensecurestack.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.domain; import java.sql.Timestamp; diff --git a/src/main/java/com/iemr/common/identity/domain/Phone.java b/src/main/java/com/iemr/common/identity/domain/Phone.java index ae4896c..4e6f835 100644 --- a/src/main/java/com/iemr/common/identity/domain/Phone.java +++ b/src/main/java/com/iemr/common/identity/domain/Phone.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.domain; import java.util.ArrayList; diff --git a/src/main/java/com/iemr/common/identity/domain/TBendataaccess.java b/src/main/java/com/iemr/common/identity/domain/TBendataaccess.java index 3a499ba..8bdc2d2 100644 --- a/src/main/java/com/iemr/common/identity/domain/TBendataaccess.java +++ b/src/main/java/com/iemr/common/identity/domain/TBendataaccess.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.domain; import java.io.Serializable; @@ -9,8 +30,6 @@ import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; -import javax.persistence.JoinColumn; -import javax.persistence.ManyToOne; import javax.persistence.NamedQuery; import javax.persistence.Table; import javax.persistence.Transient; @@ -25,8 +44,7 @@ @Table(name = "t_bendataaccess") @NamedQuery(name = "TBendataaccess.findAll", query = "SELECT t FROM TBendataaccess t") @Data -public class TBendataaccess implements Serializable -{ +public class TBendataaccess implements Serializable { private static final long serialVersionUID = 1L; @Id @@ -47,8 +65,6 @@ public class TBendataaccess implements Serializable private String authId; @Transient - // @Column(nullable=false, length=75) //SQL Error: 1054, SQLState: 42S22 Unknown column 'tbendataac0_.consentId' in - // 'field list' private String consentId; @Column(length = 4) @@ -58,8 +74,6 @@ public class TBendataaccess implements Serializable private Integer userAgentId; @Transient - // @Column(nullable=false, length=20)// SQL Error: 1054, SQLState: 42S22 Unknown column - // 'tbendataac0_.userAgentIpAddr' in 'field list' private String userAgentIpAddr; @Column(nullable = false) @@ -71,11 +85,6 @@ public class TBendataaccess implements Serializable @Column(nullable = false) private Integer userAgentServiceId; - // commented on 28-09-2018 - // bi-directional many-to-one association to MBeneficiarymapping -// @ManyToOne(/*fetch = FetchType.EAGER*/) /* (fetch = FetchType.LAZY) */ -// @JoinColumn(name = "BenMapId", nullable = false) -// private MBeneficiarymapping MBeneficiarymapping; @Column(name = "BenMapId", insertable = true, updatable = true) private BigInteger benMapId; diff --git a/src/main/java/com/iemr/common/identity/domain/V_BenAdvanceSearch.java b/src/main/java/com/iemr/common/identity/domain/VBenAdvanceSearch.java similarity index 84% rename from src/main/java/com/iemr/common/identity/domain/V_BenAdvanceSearch.java rename to src/main/java/com/iemr/common/identity/domain/VBenAdvanceSearch.java index 184ed57..8134468 100644 --- a/src/main/java/com/iemr/common/identity/domain/V_BenAdvanceSearch.java +++ b/src/main/java/com/iemr/common/identity/domain/VBenAdvanceSearch.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.domain; import java.math.BigInteger; @@ -12,7 +33,7 @@ @Entity @Table(name = "v_benadvancesearch") -public class V_BenAdvanceSearch { +public class VBenAdvanceSearch { @Id @Expose @@ -76,7 +97,6 @@ public class V_BenAdvanceSearch { @Column(name = "DOB") private Timestamp dOB; - // new column added for D2D, 21-01-2021 @Expose @Column(name = "houseoldId") private Long houseHoldID; @@ -121,9 +141,8 @@ public void setHouseHoldID(Long houseHoldID) { this.houseHoldID = houseHoldID; } - public V_BenAdvanceSearch() { + public VBenAdvanceSearch() { super(); - // TODO Auto-generated constructor stub } public BigInteger getBenMapID() { diff --git a/src/main/java/com/iemr/common/identity/dto/AbhaAddressDTO.java b/src/main/java/com/iemr/common/identity/dto/AbhaAddressDTO.java index 2957870..8cc3394 100644 --- a/src/main/java/com/iemr/common/identity/dto/AbhaAddressDTO.java +++ b/src/main/java/com/iemr/common/identity/dto/AbhaAddressDTO.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.dto; import java.io.Serializable; diff --git a/src/main/java/com/iemr/common/identity/dto/BenDetailDTO.java b/src/main/java/com/iemr/common/identity/dto/BenDetailDTO.java index c9a977b..e23e09c 100644 --- a/src/main/java/com/iemr/common/identity/dto/BenDetailDTO.java +++ b/src/main/java/com/iemr/common/identity/dto/BenDetailDTO.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.dto; import java.io.Serializable; @@ -52,6 +73,7 @@ public class BenDetailDTO implements Serializable { private Integer titleId; private Integer communityId; private Integer educationId; + private String monthlyFamilyIncome; // Start 1097 private Integer beneficiaryAge; diff --git a/src/main/java/com/iemr/common/identity/dto/BenFamilyDTO.java b/src/main/java/com/iemr/common/identity/dto/BenFamilyDTO.java index 7129286..8866793 100644 --- a/src/main/java/com/iemr/common/identity/dto/BenFamilyDTO.java +++ b/src/main/java/com/iemr/common/identity/dto/BenFamilyDTO.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.dto; import java.io.Serializable; diff --git a/src/main/java/com/iemr/common/identity/dto/BenIdImportDTO.java b/src/main/java/com/iemr/common/identity/dto/BenIdImportDTO.java index bdebe26..319ee59 100644 --- a/src/main/java/com/iemr/common/identity/dto/BenIdImportDTO.java +++ b/src/main/java/com/iemr/common/identity/dto/BenIdImportDTO.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.dto; import java.math.BigInteger; diff --git a/src/main/java/com/iemr/common/identity/dto/BenIdentityDTO.java b/src/main/java/com/iemr/common/identity/dto/BenIdentityDTO.java index 45a1d1a..334297e 100644 --- a/src/main/java/com/iemr/common/identity/dto/BenIdentityDTO.java +++ b/src/main/java/com/iemr/common/identity/dto/BenIdentityDTO.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.dto; import java.io.Serializable; diff --git a/src/main/java/com/iemr/common/identity/dto/BenServiceDTO.java b/src/main/java/com/iemr/common/identity/dto/BenServiceDTO.java index d7e4699..7245fae 100644 --- a/src/main/java/com/iemr/common/identity/dto/BenServiceDTO.java +++ b/src/main/java/com/iemr/common/identity/dto/BenServiceDTO.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.dto; import java.io.Serializable; diff --git a/src/main/java/com/iemr/common/identity/dto/BeneficiariesDTO.java b/src/main/java/com/iemr/common/identity/dto/BeneficiariesDTO.java index d493e90..46df1fb 100644 --- a/src/main/java/com/iemr/common/identity/dto/BeneficiariesDTO.java +++ b/src/main/java/com/iemr/common/identity/dto/BeneficiariesDTO.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.dto; import java.math.BigInteger; @@ -31,7 +52,6 @@ public class BeneficiariesDTO implements Comparable { private String preferredEmailId; // private BenDetailDTO beneficiaryDetails; private List beneficiaryFamilyTags; - // private List benFamilyDTOs; private List beneficiaryIdentites; private List beneficiaryServiceMap; private List contacts; @@ -44,8 +64,6 @@ public int compareTo(BeneficiariesDTO ben) { return this.benMapId.compareTo(ben.benMapId); } - // Start Outreach - // New columns added for MMU integration 09-04-2018 private Timestamp marriageDate; private Integer ageAtMarriage; private String literacyStatus; @@ -61,6 +79,7 @@ public int compareTo(BeneficiariesDTO ben) { private String incomeStatus; private BigInteger religionId; private String religion; + private String monthlyFamilyIncome; // End Outreach // Start 1097 diff --git a/src/main/java/com/iemr/common/identity/dto/BeneficiariesPartialDTO.java b/src/main/java/com/iemr/common/identity/dto/BeneficiariesPartialDTO.java index de052fc..9279fe2 100644 --- a/src/main/java/com/iemr/common/identity/dto/BeneficiariesPartialDTO.java +++ b/src/main/java/com/iemr/common/identity/dto/BeneficiariesPartialDTO.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.dto; import java.math.BigInteger; diff --git a/src/main/java/com/iemr/common/identity/dto/BeneficiaryCreateResp.java b/src/main/java/com/iemr/common/identity/dto/BeneficiaryCreateResp.java index 7b9c3b3..000047e 100644 --- a/src/main/java/com/iemr/common/identity/dto/BeneficiaryCreateResp.java +++ b/src/main/java/com/iemr/common/identity/dto/BeneficiaryCreateResp.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.dto; import java.math.BigInteger; diff --git a/src/main/java/com/iemr/common/identity/dto/IdentityDTO.java b/src/main/java/com/iemr/common/identity/dto/IdentityDTO.java index f864535..4201146 100644 --- a/src/main/java/com/iemr/common/identity/dto/IdentityDTO.java +++ b/src/main/java/com/iemr/common/identity/dto/IdentityDTO.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.dto; import java.sql.Timestamp; @@ -7,7 +28,6 @@ import com.iemr.common.identity.domain.Address; import com.iemr.common.identity.domain.Contact; import com.iemr.common.identity.domain.Identity; -// import com.iemr.common.identity.domain.Phone; import lombok.Data; @@ -15,7 +35,6 @@ public class IdentityDTO { private String eventTypeName; // created, reserved, registered, modified, - // deleted private Timestamp eventTypeDate; private Integer agentId; private String agentName; @@ -28,8 +47,8 @@ public class IdentityDTO { private Integer stateId; private String stateName; private Integer providerServiceMapId; + private Timestamp createdDate; - // details private Integer areaId; private Integer beneficiaryId; private Integer beneficiaryRegId; @@ -70,7 +89,6 @@ public class IdentityDTO { private String title; private Integer zoneId; - // address private Address currentAddress; private Address permanentAddress; private Address emergencyAddress; @@ -80,28 +98,18 @@ public class IdentityDTO { private Boolean isEmerAddrSameAsPermAddr; private String addressType; - // contacts private String preferredEmailId; private Contact contact; - // family tagging List benFamilyDTOs; - // private Boolean isEmergencyContact; - // private String relationshipToSelf; - // private BigInteger associatedBenRegId; - // identities private List identities; - // Start 1097 private Integer sexualOrientationID; private String sexualOrientationType; private String isHIVPositive; - // End 1097 - /* - * New columns added for MMU integration 11-04-2018 - */ + private String bankName; private String branchName; private String ifscCode; @@ -112,14 +120,11 @@ public class IdentityDTO { private Integer ageAtMarriage; private Integer incomeStatusId; private String incomeStatus; - // End + private String monthlyFamilyIncome; - // new column added for data sync - // 17-06-2018 @Expose private Integer vanID; - // END OF new column added for data sync @Expose private Boolean beneficiaryConsent; diff --git a/src/main/java/com/iemr/common/identity/dto/IdentityEditDTO.java b/src/main/java/com/iemr/common/identity/dto/IdentityEditDTO.java index 09b861d..6b87d8b 100644 --- a/src/main/java/com/iemr/common/identity/dto/IdentityEditDTO.java +++ b/src/main/java/com/iemr/common/identity/dto/IdentityEditDTO.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.dto; import java.math.BigInteger; @@ -44,7 +65,6 @@ public class IdentityEditDTO { private String gender; private Integer titleId; private String title; - // private Integer parkingPlaceId; private String literacyStatus; // self address @@ -84,17 +104,11 @@ public class IdentityEditDTO { private String placeOfWork; private Integer healthCareWorkerId; private String healthCareWorker; + private String monthlyFamilyIncome; // family details private Boolean changeInFamilyDetails = false; List benFamilyDTOs; - // private Boolean isEmergencyContact; - // private String relationshipToSelf; - // private BigInteger associatedBenRegId; // Family mapping must be a list - - // List benFamilyDTOs; - - // MMU/TM details private Boolean changeInAssociations = false; private Integer zoneId; @@ -131,4 +145,5 @@ public class IdentityEditDTO { private Integer vanID; private Integer parkingPlaceId; + private boolean emergencyRegistration; } diff --git a/src/main/java/com/iemr/common/identity/dto/IdentityFilterDTO.java b/src/main/java/com/iemr/common/identity/dto/IdentityFilterDTO.java index ace66e9..f34183a 100644 --- a/src/main/java/com/iemr/common/identity/dto/IdentityFilterDTO.java +++ b/src/main/java/com/iemr/common/identity/dto/IdentityFilterDTO.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.dto; import java.math.BigInteger; diff --git a/src/main/java/com/iemr/common/identity/dto/IdentitySearchDTO.java b/src/main/java/com/iemr/common/identity/dto/IdentitySearchDTO.java index 980a344..db4bf01 100644 --- a/src/main/java/com/iemr/common/identity/dto/IdentitySearchDTO.java +++ b/src/main/java/com/iemr/common/identity/dto/IdentitySearchDTO.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.dto; import java.math.BigInteger; @@ -35,7 +56,6 @@ public class IdentitySearchDTO { @JsonFormat(pattern = "yyyy-MM-dd") private Timestamp dob; - // new column added for D2D, 21-01-2021 private Long houseHoldID; private Boolean isD2D; diff --git a/src/main/java/com/iemr/common/identity/dto/ReserveIdentityDTO.java b/src/main/java/com/iemr/common/identity/dto/ReserveIdentityDTO.java index d972cd4..5c4b1bc 100644 --- a/src/main/java/com/iemr/common/identity/dto/ReserveIdentityDTO.java +++ b/src/main/java/com/iemr/common/identity/dto/ReserveIdentityDTO.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.dto; import lombok.Data; diff --git a/src/main/java/com/iemr/common/identity/dto/SearchSyncDTO.java b/src/main/java/com/iemr/common/identity/dto/SearchSyncDTO.java new file mode 100644 index 0000000..b224159 --- /dev/null +++ b/src/main/java/com/iemr/common/identity/dto/SearchSyncDTO.java @@ -0,0 +1,32 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ +package com.iemr.common.identity.dto; + +import lombok.Data; + +@Data +public class SearchSyncDTO { + + private Long lastModifDate; + private Integer blockID; + +} diff --git a/src/main/java/com/iemr/common/identity/exception/IEMRException.java b/src/main/java/com/iemr/common/identity/exception/IEMRException.java index 8cb4642..615255e 100644 --- a/src/main/java/com/iemr/common/identity/exception/IEMRException.java +++ b/src/main/java/com/iemr/common/identity/exception/IEMRException.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.exception; public class IEMRException extends Exception { diff --git a/src/main/java/com/iemr/common/identity/exception/IllegalActionException.java b/src/main/java/com/iemr/common/identity/exception/IllegalActionException.java index 1cceb33..be2883f 100644 --- a/src/main/java/com/iemr/common/identity/exception/IllegalActionException.java +++ b/src/main/java/com/iemr/common/identity/exception/IllegalActionException.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.exception; public class IllegalActionException extends Exception { diff --git a/src/main/java/com/iemr/common/identity/exception/MissingMandatoryFieldsException.java b/src/main/java/com/iemr/common/identity/exception/MissingMandatoryFieldsException.java index 4ae6c79..58d1cf8 100644 --- a/src/main/java/com/iemr/common/identity/exception/MissingMandatoryFieldsException.java +++ b/src/main/java/com/iemr/common/identity/exception/MissingMandatoryFieldsException.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.exception; public class MissingMandatoryFieldsException extends Exception { diff --git a/src/main/java/com/iemr/common/identity/exception/SearchCriteriaException.java b/src/main/java/com/iemr/common/identity/exception/SearchCriteriaException.java deleted file mode 100644 index dc963b9..0000000 --- a/src/main/java/com/iemr/common/identity/exception/SearchCriteriaException.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.iemr.common.identity.exception; - -public class SearchCriteriaException { - - // SUNIL TODO: add the exception & propagate - -} diff --git a/src/main/java/com/iemr/common/identity/filter/QuerySelector.java b/src/main/java/com/iemr/common/identity/filter/QuerySelector.java index 9120aa3..91c6335 100644 --- a/src/main/java/com/iemr/common/identity/filter/QuerySelector.java +++ b/src/main/java/com/iemr/common/identity/filter/QuerySelector.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.filter; import com.iemr.common.identity.dto.IdentityFilterDTO; diff --git a/src/main/java/com/iemr/common/identity/mapper/BenIdImportMapper.java b/src/main/java/com/iemr/common/identity/mapper/BenIdImportMapper.java index 15c468f..8ab6860 100644 --- a/src/main/java/com/iemr/common/identity/mapper/BenIdImportMapper.java +++ b/src/main/java/com/iemr/common/identity/mapper/BenIdImportMapper.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.mapper; import java.util.ArrayList; diff --git a/src/main/java/com/iemr/common/identity/mapper/IdentityEditMapper.java b/src/main/java/com/iemr/common/identity/mapper/IdentityEditMapper.java index 04aa09c..9b99d5c 100644 --- a/src/main/java/com/iemr/common/identity/mapper/IdentityEditMapper.java +++ b/src/main/java/com/iemr/common/identity/mapper/IdentityEditMapper.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.mapper; import java.sql.Timestamp; @@ -36,7 +57,7 @@ public interface IdentityEditMapper { @Mapping(source = "dto.eventTypeDate", target = "lastModDate") }) - MBeneficiarymapping IdentityEditDTOToMBeneficiarymapping(IdentityEditDTO dto); + MBeneficiarymapping identityEditDTOToMBeneficiarymapping(IdentityEditDTO dto); @Mappings({ @Mapping(source = "dto.currentAddress.addrLine1", target = "currAddrLine1"), @Mapping(source = "dto.currentAddress.addrLine2", target = "currAddrLine2"), @@ -120,7 +141,7 @@ public interface IdentityEditMapper { // @Mapping(source = "dto.parkingPlaceId", target = "parkingPlaceID"), // END }) - MBeneficiaryaddress IdentityEditDTOToMBeneficiaryaddress(IdentityEditDTO dto); + MBeneficiaryaddress identityEditDTOToMBeneficiaryaddress(IdentityEditDTO dto); @Mappings({ @Mapping(source = "defaultNo", target = "shareAnonymousWithGovt"), @Mapping(source = "defaultNo", target = "shareAnonymousWithMedicalCommunity"), @@ -141,7 +162,7 @@ public interface IdentityEditMapper { @Mapping(source = "defaultYes", target = "sharePersonalDetailsWithSpouse"), @Mapping(source = "dto.agentName", target = "createdBy"), @Mapping(source = "dto.eventTypeDate", target = "createdDate") }) - MBeneficiaryconsent IdentityEditDTOToDefaultMBeneficiaryconsent(IdentityEditDTO dto, Boolean defaultYes, + MBeneficiaryconsent identityEditDTOToDefaultMBeneficiaryconsent(IdentityEditDTO dto, Boolean defaultYes, Boolean defaultNo); @Mappings({ @Mapping(source = "dto.contact.preferredPhoneNum", target = "preferredPhoneNum"), @@ -167,7 +188,7 @@ MBeneficiaryconsent IdentityEditDTOToDefaultMBeneficiaryconsent(IdentityEditDTO // @Mapping(source = "dto.parkingPlaceId", target = "parkingPlaceID"), // END }) - MBeneficiarycontact IdentityEdiDTOToMBeneficiarycontact(IdentityEditDTO dto); + MBeneficiarycontact identityEdiDTOToMBeneficiarycontact(IdentityEditDTO dto); @Mappings({ @Mapping(source = "dto.areaId", target = "areaId"), @Mapping(source = "dto.beneficiaryRegId", target = "beneficiaryRegID"), @@ -185,6 +206,7 @@ MBeneficiaryconsent IdentityEditDTOToDefaultMBeneficiaryconsent(IdentityEditDTO @Mapping(source = "dto.gender", target = "gender"), @Mapping(source = "dto.genderId", target = "genderId"), @Mapping(source = "dto.incomeStatusId", target = "incomeStatusId"), @Mapping(source = "dto.incomeStatus", target = "incomeStatus"), + @Mapping(source = "dto.monthlyFamilyIncome", target = "monthlyFamilyIncome"), @Mapping(source = "dto.lastName", target = "lastName"), @Mapping(source = "dto.maritalStatusId", target = "maritalStatusId"), @Mapping(source = "dto.maritalStatus", target = "maritalStatus"), @@ -216,17 +238,17 @@ MBeneficiaryconsent IdentityEditDTOToDefaultMBeneficiaryconsent(IdentityEditDTO // @Mapping(source = "dto.parkingPlaceId", target = "parkingPlaceID"), // END }) - MBeneficiarydetail IdentityEditDTOToMBeneficiarydetail(IdentityEditDTO dto); + MBeneficiarydetail identityEditDTOToMBeneficiarydetail(IdentityEditDTO dto); @Mappings({ @Mapping(source = "benFamilyDTO.isEmergencyContact", target = "isEmergencyContact"), @Mapping(source = "benFamilyDTO.relationshipToSelf", target = "relationshipToSelf"), @Mapping(source = "benFamilyDTO.associatedBenRegId", target = "associatedBenRegId"), @Mapping(source = "createdBy", target = "createdBy"), @Mapping(source = "createdDate", target = "createdDate") }) - MBeneficiaryfamilymapping IdentityEditDTOToMBeneficiaryfamilymapping(BenFamilyDTO benFamilyDTO, String createdBy, + MBeneficiaryfamilymapping identityEditDTOToMBeneficiaryfamilymapping(BenFamilyDTO benFamilyDTO, String createdBy, Timestamp createdDate); - List IdentityEditDTOListToMBeneficiaryfamilymappingList(List list); + List identityEditDTOListToMBeneficiaryfamilymappingList(List list); @Mappings({ @Mapping(source = "identity.identityNo", target = "identityNo"), @Mapping(source = "identity.identityName", target = "identityName"), @@ -237,9 +259,9 @@ MBeneficiaryfamilymapping IdentityEditDTOToMBeneficiaryfamilymapping(BenFamilyDT @Mapping(source = "identity.identityFilePath", target = "identityFilePath"), @Mapping(source = "createdBy", target = "createdBy"), @Mapping(source = "createdDate", target = "createdDate") }) - MBeneficiaryidentity IdentityToMBeneficiaryidentity(Identity identity, String createdBy, Timestamp createdDate); + MBeneficiaryidentity identityToMBeneficiaryidentity(Identity identity, String createdBy, Timestamp createdDate); - List IdentityEditDTOListToMBeneficiaryidentityList(List list); + List identityEditDTOListToMBeneficiaryidentityList(List list); @Mappings({ @Mapping(source = "dto.serviceId", target = "serviceId"), @Mapping(source = "dto.serviceName", target = "serviceName"), @@ -253,7 +275,7 @@ MBeneficiaryfamilymapping IdentityEditDTOToMBeneficiaryfamilymapping(BenFamilyDT @Mapping(source = "dto.eventTypeDate", target = "registeredDate"), @Mapping(source = "dto.agentName", target = "createdBy"), @Mapping(source = "dto.eventTypeDate", target = "createdDate") }) - MBeneficiaryservicemapping IdentityEditDTOToMBeneficiaryservicemapping(IdentityEditDTO dto); + MBeneficiaryservicemapping identityEditDTOToMBeneficiaryservicemapping(IdentityEditDTO dto); @Mappings({ @Mapping(source = "beneficiaryDetailsId", target = "beneficiaryDetailsId"), @Mapping(source = "areaId", target = "areaId"), @@ -281,7 +303,7 @@ MBeneficiaryfamilymapping IdentityEditDTOToMBeneficiaryfamilymapping(BenFamilyDT @Mapping(source = "sourceOfInfo", target = "sourceOfInfo"), @Mapping(source = "spouseName", target = "spouseName"), @Mapping(source = "status", target = "status"), @Mapping(source = "title", target = "title"), @Mapping(source = "zoneId", target = "zoneId") }) - BenDetailDTO MBeneficiarydetailToBenDetailDTO(MBeneficiarydetail detail); + BenDetailDTO mBeneficiarydetailToBenDetailDTO(MBeneficiarydetail detail); @Mappings({ @Mapping(source = "family.benFamilyMapId", target = "benFamilyMapId"), @Mapping(source = "family.associatedBenRegId", target = "associatedBenRegId"), @@ -292,7 +314,7 @@ MBeneficiaryfamilymapping IdentityEditDTOToMBeneficiaryfamilymapping(BenFamilyDT @Mapping(source = "family.lastModDate", target = "lastModDate"), @Mapping(source = "family.modifiedBy", target = "modifiedBy"), @Mapping(source = "family.relationshipToSelf", target = "relationshipToSelf") }) - BenFamilyDTO MBeneficiaryfamilymappingToBenFamilyDTO(MBeneficiaryfamilymapping family); + BenFamilyDTO mBeneficiaryfamilymappingToBenFamilyDTO(MBeneficiaryfamilymapping family); List mBeneficiaryfamilymappingListToBenFamilyDTOList(List families); diff --git a/src/main/java/com/iemr/common/identity/mapper/IdentityMapper.java b/src/main/java/com/iemr/common/identity/mapper/IdentityMapper.java index f388cf6..e3f8f87 100644 --- a/src/main/java/com/iemr/common/identity/mapper/IdentityMapper.java +++ b/src/main/java/com/iemr/common/identity/mapper/IdentityMapper.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.mapper; import java.sql.Timestamp; @@ -35,7 +56,7 @@ public interface IdentityMapper { IdentityMapper INSTANCE = Mappers.getMapper(IdentityMapper.class); @Mappings({ @Mapping(source = "dto.agentName", target = "createdBy"), - @Mapping(source = "dto.eventTypeDate", target = "createdDate"), + @Mapping(source = "dto.createdDate", target = "createdDate"), // new mapping added for data sync(van ID & parking place ID) // 17-09-2018 @Mapping(source = "dto.vanID", target = "vanID"), @@ -91,7 +112,8 @@ public interface IdentityMapper { @Mapping(source = "dto.permanentAddress.addressValue", target = "permAddressValue"), @Mapping(source = "dto.permanentAddress.pinCode", target = "permPinCode"), @Mapping(source = "dto.agentName", target = "createdBy"), - @Mapping(source = "dto.eventTypeDate", target = "createdDate"), + //@Mapping(source = "dto.eventTypeDate", target = "createdDate"), + @Mapping(source = "dto.createdDate", target = "createdDate"), /* * New columns added for MMU integration 09-04-2018 @@ -147,7 +169,7 @@ public interface IdentityMapper { @Mapping(source = "defaultNo", target = "sharePersonalDetailsWithNGO"), @Mapping(source = "defaultYes", target = "sharePersonalDetailsWithSpouse"), @Mapping(source = "dto.agentName", target = "createdBy"), - @Mapping(source = "dto.eventTypeDate", target = "createdDate"), + @Mapping(source = "dto.createdDate", target = "createdDate"), // new mapping added for data sync(van ID & parking place ID) // 17-09-2018 @Mapping(source = "dto.vanID", target = "vanID"), @@ -175,7 +197,7 @@ public interface IdentityMapper { @Mapping(source = "dto.contact.phoneTyp5", target = "phoneTyp5"), @Mapping(source = "dto.preferredEmailId", target = "emailId"), @Mapping(source = "dto.agentName", target = "createdBy"), - @Mapping(source = "dto.eventTypeDate", target = "createdDate"), + @Mapping(source = "dto.createdDate", target = "createdDate"), // new mapping added for data sync(van ID & parking place ID) // 17-09-2018 @Mapping(source = "dto.vanID", target = "vanID"), @@ -199,6 +221,7 @@ public interface IdentityMapper { @Mapping(source = "dto.firstName", target = "firstName"), @Mapping(source = "dto.gender", target = "gender"), @Mapping(source = "dto.genderId", target = "genderId"), @Mapping(source = "dto.incomeStatus", target = "incomeStatus"), + @Mapping(source = "dto.monthlyFamilyIncome", target = "monthlyFamilyIncome"), @Mapping(source = "dto.incomeStatusId", target = "incomeStatusId"), @Mapping(source = "dto.lastName", target = "lastName"), @Mapping(source = "dto.maritalStatusId", target = "maritalStatusId"), @@ -218,7 +241,7 @@ public interface IdentityMapper { @Mapping(source = "dto.status", target = "status"), @Mapping(source = "dto.title", target = "title"), @Mapping(source = "dto.titleId", target = "titleId"), @Mapping(source = "dto.zoneId", target = "zoneId"), @Mapping(source = "dto.agentName", target = "createdBy"), - @Mapping(source = "dto.eventTypeDate", target = "createdDate"), + @Mapping(source = "dto.createdDate", target = "createdDate"), @Mapping(target = "isHIVPositive", expression = "java(MBeneficiarydetail.setIsHIVPositive(dto.getIsHIVPositive()))"), // Start MMU specific code @Mapping(target = "ageAtMarriage", expression = "java(MBeneficiarydetail.getAgeAtMarriageCalc(dto.getDob(), dto.getMarriageDate(), " @@ -241,10 +264,10 @@ public interface IdentityMapper { @Mapping(source = "benFamilyDTO.associatedBenRegId", target = "associatedBenRegId"), @Mapping(source = "createdBy", target = "createdBy"), @Mapping(source = "createdDate", target = "createdDate") }) - MBeneficiaryfamilymapping IdentityDTOToMBeneficiaryfamilymapping(BenFamilyDTO benFamilyDTO, String createdBy, + MBeneficiaryfamilymapping identityDTOToMBeneficiaryfamilymapping(BenFamilyDTO benFamilyDTO, String createdBy, Timestamp createdDate); - List IdentityDTOListToMBeneficiaryfamilymappingList(List list); + List identityDTOListToMBeneficiaryfamilymappingList(List list); @Mappings({ @Mapping(source = "identity.identityNo", target = "identityNo"), @Mapping(source = "identity.identityNameId", target = "identityNameId"), @@ -257,9 +280,9 @@ MBeneficiaryfamilymapping IdentityDTOToMBeneficiaryfamilymapping(BenFamilyDTO be @Mapping(source = "identity.identityFilePath", target = "identityFilePath"), @Mapping(source = "createdBy", target = "createdBy"), @Mapping(source = "createdDate", target = "createdDate") }) - MBeneficiaryidentity IdentityToMBeneficiaryidentity(Identity identity, String createdBy, Timestamp createdDate); + MBeneficiaryidentity identityToMBeneficiaryidentity(Identity identity, String createdBy, Timestamp createdDate); - List IdentityDTOListToMBeneficiaryidentityList(List list); + List identityDTOListToMBeneficiaryidentityList(List list); @Mappings({ @Mapping(source = "dto.serviceId", target = "serviceId"), @Mapping(source = "dto.serviceName", target = "serviceName"), @@ -272,12 +295,11 @@ MBeneficiaryfamilymapping IdentityDTOToMBeneficiaryfamilymapping(BenFamilyDTO be @Mapping(source = "dto.agentName", target = "registeredByName"), @Mapping(source = "dto.eventTypeDate", target = "registeredDate"), @Mapping(source = "dto.agentName", target = "createdBy"), - @Mapping(source = "dto.eventTypeDate", target = "createdDate"), + @Mapping(source = "dto.createdDate", target = "createdDate"), @Mapping(source = "dto.vanID", target = "vanID"), @Mapping(source = "dto.parkingPlaceId", target = "parkingPlaceID") }) MBeneficiaryservicemapping identityDTOToMBeneficiaryservicemapping(IdentityDTO dto); - // SUNIL TODO: Change to order of target & source to maintain consistency @Mappings({ @Mapping(target = "benMapId", source = "benMapId"), @Mapping(target = "benId", source = "map.MBeneficiaryregidmapping.beneficiaryID"), @Mapping(target = "benRegId", source = "map.MBeneficiaryregidmapping.benRegId"), @@ -353,6 +375,7 @@ MBeneficiaryfamilymapping IdentityDTOToMBeneficiaryfamilymapping(BenFamilyDTO be @Mapping(target = "beneficiaryDetails.firstName", source = "map.MBeneficiarydetail.firstName"), @Mapping(target = "beneficiaryDetails.gender", source = "map.MBeneficiarydetail.gender"), @Mapping(target = "beneficiaryDetails.incomeStatus", source = "map.MBeneficiarydetail.incomeStatus"), + @Mapping(target = "beneficiaryDetails.monthlyFamilyIncome", source = "map.MBeneficiarydetail.monthlyFamilyIncome"), @Mapping(target = "beneficiaryDetails.lastModDate", source = "map.MBeneficiarydetail.lastModDate"), @Mapping(target = "beneficiaryDetails.lastName", source = "map.MBeneficiarydetail.lastName"), @Mapping(target = "beneficiaryDetails.maritalStatus", source = "map.MBeneficiarydetail.maritalStatus"), @@ -443,6 +466,7 @@ MBeneficiaryfamilymapping IdentityDTOToMBeneficiaryfamilymapping(BenFamilyDTO be @Mapping(source = "map.MBeneficiarydetail.occupationId", target = "occupationId"), @Mapping(source = "map.MBeneficiarydetail.occupation", target = "occupation"), @Mapping(source = "map.MBeneficiarydetail.incomeStatus", target = "incomeStatus"), + @Mapping(source = "map.MBeneficiarydetail.monthlyFamilyIncome", target = "monthlyFamilyIncome"), @Mapping(source = "map.MBeneficiarydetail.religionId", target = "religionId"), @Mapping(source = "map.MBeneficiarydetail.religion", target = "religion"), // End @@ -463,10 +487,10 @@ MBeneficiaryfamilymapping IdentityDTOToMBeneficiaryfamilymapping(BenFamilyDTO be // End 1097 }) - BeneficiariesDTO MBeneficiarymappingToBeneficiariesDTO(MBeneficiarymapping map); + BeneficiariesDTO mBeneficiarymappingToBeneficiariesDTO(MBeneficiarymapping map); @IterableMapping(elementTargetType = BeneficiariesDTO.class) - List MBeneficiarymappingToBeneficiariesDTO(List map); + List mbeneficiarymappingToBeneficiariesDTO(List map); @Mappings({ @Mapping(source = "beneficiaryDetailsId", target = "beneficiaryDetailsId"), @Mapping(source = "areaId", target = "areaId"), @@ -494,7 +518,7 @@ MBeneficiaryfamilymapping IdentityDTOToMBeneficiaryfamilymapping(BenFamilyDTO be @Mapping(source = "spouseName", target = "spouseName"), @Mapping(source = "status", target = "status"), @Mapping(source = "title", target = "title"), @Mapping(source = "zoneId", target = "zoneId"), @Mapping(expression = "java(MBeneficiarydetail.getIsHIVPositive(detail.getIsHIVPositive()))", target = "isHIVPositive"), }) - BenDetailDTO MBeneficiarydetailToBenDetailDTO(MBeneficiarydetail detail); + BenDetailDTO mBeneficiarydetailToBenDetailDTO(MBeneficiarydetail detail); @Mappings({ @Mapping(source = "family.benFamilyMapId", target = "benFamilyMapId"), @Mapping(source = "family.associatedBenRegId", target = "associatedBenRegId"), @@ -505,7 +529,7 @@ MBeneficiaryfamilymapping IdentityDTOToMBeneficiaryfamilymapping(BenFamilyDTO be @Mapping(source = "family.lastModDate", target = "lastModDate"), @Mapping(source = "family.modifiedBy", target = "modifiedBy"), @Mapping(source = "family.relationshipToSelf", target = "relationshipToSelf") }) - BenFamilyDTO MBeneficiaryfamilymappingToBenFamilyDTO(MBeneficiaryfamilymapping family); + BenFamilyDTO mBeneficiaryfamilymappingToBenFamilyDTO(MBeneficiaryfamilymapping family); List mBeneficiaryfamilymappingListToBenFamilyDTOList(List families); @@ -558,26 +582,12 @@ List mapToMBeneficiaryfamilymappingWithBenFamilyDTOList( List mBeneficiaryservicemappingListToBenServiceDTOList(List services); - // @Mapping(target = "MBeneficiaryservicemappings", expression = - // "java(Collections.singletonList(svcMapping))"), - // @Mapping(target = "MBeneficiaryfamilymappings", expression = - // "java(Collections.singletonList(familyMapping))") - // MBeneficiarymapping - // MBeneficiarymappingDTOToMBeneficiarymapping(MBeneficiarymappingDTOInbound - // dto); - // MBeneficiarymappingDTOInbound - // MBeneficiarymappingToMBeneficiarymappingDTO(MBeneficiarymapping map); - - // Start outreach - // code specific for outreach @Mappings({ @Mapping(source = "dto.bankName", target = "bankName"), @Mapping(source = "dto.branchName", target = "branchName"), @Mapping(source = "dto.ifscCode", target = "ifscCode"), @Mapping(source = "dto.accountNo", target = "accountNo"), @Mapping(source = "dto.agentName", target = "createdBy"), - @Mapping(source = "dto.eventTypeDate", target = "createdDate"), - // new mapping added for data sync(van ID & parking place ID) - // 17-09-2018 + @Mapping(source = "dto.createdDate", target = "createdDate"), @Mapping(source = "dto.vanID", target = "vanID"), @Mapping(source = "dto.parkingPlaceId", target = "parkingPlaceID"), // End @@ -589,7 +599,7 @@ List mapToMBeneficiaryfamilymappingWithBenFamilyDTOList( @Mappings({ @Mapping(source = "dto.benImage", target = "benImage"), @Mapping(source = "dto.agentName", target = "createdBy"), - @Mapping(source = "dto.eventTypeDate", target = "createdDate"), + @Mapping(source = "dto.createdDate", target = "createdDate"), // new mapping added for data sync(van ID & parking place ID) // 17-09-2018 @Mapping(source = "dto.vanID", target = "vanID"), diff --git a/src/main/java/com/iemr/common/identity/mapper/IdentityPartialMapper.java b/src/main/java/com/iemr/common/identity/mapper/IdentityPartialMapper.java index 127c37d..4696ae8 100644 --- a/src/main/java/com/iemr/common/identity/mapper/IdentityPartialMapper.java +++ b/src/main/java/com/iemr/common/identity/mapper/IdentityPartialMapper.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.mapper; import org.mapstruct.Mapper; @@ -26,9 +47,9 @@ public interface IdentityPartialMapper @Mapping(target = "beneficiaryAge", expression = "java(MBeneficiarydetail.calculateAge(map.getMBeneficiarydetail().getDob()))"), }) - BeneficiariesPartialDTO MBeneficiarymappingToBeneficiariesPartialDTO(MBeneficiarymapping map); + BeneficiariesPartialDTO mBeneficiarymappingToBeneficiariesPartialDTO(MBeneficiarymapping map); @Mappings({ @Mapping(target = "benId", source = "map.MBeneficiaryregidmapping.beneficiaryID"), @Mapping(target = "benRegId", source = "map.MBeneficiaryregidmapping.benRegId") }) - BeneficiaryCreateResp MBeneficiarymappingToBeneficiaryCreateResp(MBeneficiarymapping map); + BeneficiaryCreateResp mBeneficiarymappingToBeneficiaryCreateResp(MBeneficiarymapping map); } diff --git a/src/main/java/com/iemr/common/identity/mapper/IdentitySearchMapper.java b/src/main/java/com/iemr/common/identity/mapper/IdentitySearchMapper.java index 4e52b2e..03bd85b 100644 --- a/src/main/java/com/iemr/common/identity/mapper/IdentitySearchMapper.java +++ b/src/main/java/com/iemr/common/identity/mapper/IdentitySearchMapper.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.mapper; import org.mapstruct.Mapper; @@ -29,7 +50,7 @@ public interface IdentitySearchMapper { @Mapping(source = "dto.spouseName", target = "spouseName") }) - MBeneficiarydetail IdentitySearchDTOMBeneficiarydetail(IdentitySearchDTO dto); + MBeneficiarydetail identitySearchDTOMBeneficiarydetail(IdentitySearchDTO dto); @Mappings({ @@ -39,7 +60,7 @@ public interface IdentitySearchMapper { @Mapping(source = "dto.currentAddress.district", target = "currDistrict"), @Mapping(source = "dto.pinCode", target = "currPinCode") }) - MBeneficiaryaddress IdentitySearchDTOToMBeneficiaryaddress(IdentitySearchDTO dto); + MBeneficiaryaddress identitySearchDTOToMBeneficiaryaddress(IdentitySearchDTO dto); @Mappings({ @@ -50,5 +71,5 @@ public interface IdentitySearchMapper { @Mapping(source = "dto.contactNumber", target = "phoneNum4"), @Mapping(source = "dto.contactNumber", target = "phoneNum5") }) - MBeneficiarycontact IdentitySearchDTOToMBeneficiarycontact(IdentitySearchDTO dto); + MBeneficiarycontact identitySearchDTOToMBeneficiarycontact(IdentitySearchDTO dto); } diff --git a/src/main/java/com/iemr/common/identity/mapper/InputMapper.java b/src/main/java/com/iemr/common/identity/mapper/InputMapper.java index 0941900..9a46ba4 100644 --- a/src/main/java/com/iemr/common/identity/mapper/InputMapper.java +++ b/src/main/java/com/iemr/common/identity/mapper/InputMapper.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.mapper; import org.slf4j.Logger; diff --git a/src/main/java/com/iemr/common/identity/mapper/OutputMapper.java b/src/main/java/com/iemr/common/identity/mapper/OutputMapper.java index 975b5b1..906136b 100644 --- a/src/main/java/com/iemr/common/identity/mapper/OutputMapper.java +++ b/src/main/java/com/iemr/common/identity/mapper/OutputMapper.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.mapper; import com.google.gson.Gson; diff --git a/src/main/java/com/iemr/common/identity/repo/BenAddressRepo.java b/src/main/java/com/iemr/common/identity/repo/BenAddressRepo.java index 7c7d1c2..d9339ab 100644 --- a/src/main/java/com/iemr/common/identity/repo/BenAddressRepo.java +++ b/src/main/java/com/iemr/common/identity/repo/BenAddressRepo.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.repo; import java.math.BigInteger; @@ -31,10 +52,10 @@ List findByCurrStateIdAndCurrDistrictIdOrderByBenAddressIDA List findByPermStateIdAndPermDistrictIdOrderByBenAddressIDAsc(Integer permStateID, Integer permDistID); - List findByEmerStateAndEmerDistrictOrderByBenAddressIDAsc(String EmerState, String EmerDist); + List findByEmerStateAndEmerDistrictOrderByBenAddressIDAsc(String emerState, String emerDist); - List findByEmerStateIdAndEmerDistrictIdOrderByBenAddressIDAsc(Integer EmerStateID, - Integer EmerDistID); + List findByEmerStateIdAndEmerDistrictIdOrderByBenAddressIDAsc(Integer emerStateID, + Integer emerDistID); List findByCreatedDateBetweenOrderByBenAddressIDAsc(Timestamp fromDate, Timestamp toDate); @@ -51,6 +72,6 @@ List findByEmerStateIdAndEmerDistrictIdOrderByBenAddressIDA BigInteger findIdByVanSerialNoAndVanID(@Param("vanSerialNo") BigInteger vanSerialNo, @Param("vanID") Integer vanID); @Query("SELECT a FROM MBeneficiaryaddress a WHERE a.vanSerialNo =:vanSerialNo AND a.vanID =:vanID ") - MBeneficiaryaddress getWith_vanSerialNo_vanID(@Param("vanSerialNo") BigInteger vanSerialNo, + MBeneficiaryaddress getWithVanSerialNoVanID(@Param("vanSerialNo") BigInteger vanSerialNo, @Param("vanID") Integer vanID); } diff --git a/src/main/java/com/iemr/common/identity/repo/BenConsentRepo.java b/src/main/java/com/iemr/common/identity/repo/BenConsentRepo.java index c1ca262..9abb4cb 100644 --- a/src/main/java/com/iemr/common/identity/repo/BenConsentRepo.java +++ b/src/main/java/com/iemr/common/identity/repo/BenConsentRepo.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.repo; import java.math.BigInteger; @@ -25,6 +46,6 @@ public interface BenConsentRepo extends CrudRepository { - List findByBenContactsIDOrderByBenContactsIDAsc(BigInteger BenContactsID); + List findByBenContactsIDOrderByBenContactsIDAsc(BigInteger benContactsID); List findByCreatedDateBetweenOrderByBenContactsIDAsc(Timestamp fromDate, Timestamp toDate); @@ -25,12 +46,8 @@ public interface BenContactRepo extends CrudRepository findByPreferredPhoneNumOrderByBenContactsIDAsc(String phoneNum); - List findByPreferredSMSPhoneNumOrderByBenContactsIDAsc(String SMSPhoneNum); + List findByPreferredSMSPhoneNumOrderByBenContactsIDAsc(String smsPhoneNum); -// @Query("select c from MBeneficiarycontact c where c.preferredPhoneNum = :phoneNum or phoneNum1 = :phoneNum " -// + "or c.phoneNum2 = :phoneNum or c.phoneNum3 = :phoneNum or c.phoneNum4 = :phoneNum " -// + "or c.phoneNum5 = :phoneNum order by c.benContactsID desc") -// List findByAnyPhoneNum(@Param("phoneNum") String phoneNum); @Query("select c from MBeneficiarycontact c where c.preferredPhoneNum = :phoneNum ") List findByAnyPhoneNum(@Param("phoneNum") String phoneNum); @@ -50,7 +67,7 @@ public interface BenContactRepo extends CrudRepository findByUserAgentIdAndAccessedOnBetweenOrderByAccessIdAsc(Integer userAgentId, Timestamp fromDate, Timestamp toDate); - // commented as userAgentIpAddr is unknown column - // List findByUserAgentIpAddr(String userAgentIpAddr); - // List findByUserAgentIpAddrAndAccessedOnBetween(String userAgentIpAddr, Timestamp fromDate, - // Timestamp toDate); - // List findByUserAgentIdAndUserAgentIpAddr(Integer userAgentId, String userAgentIpAddr); - // List findByUserAgentIdAndUserAgentIpAddrAndAccessedOnBetween(Integer userAgentId, String - // userAgentIpAddr, Timestamp fromDate, Timestamp toDate); List findByUserAgentPSMapIdOrderByAccessIdAsc(Integer userAgentPSMapId); List findByUserAgentRoleIdOrderByAccessIdAsc(Integer userAgentRoleId); List findByUserAgentServiceIdOrderByAccessIdAsc(Integer userAgentServiceId); - // List findByUserAgentStateId(Integer userAgentStateId); - // List findByUserAgentServiceProviderId(Integer userAgentServiceProviderId); List findByUserAgentPSMapIdAndAccessedOnBetweenOrderByAccessIdAsc(Integer userAgentPSMapId, Timestamp fromDate, Timestamp toDate); @@ -43,15 +55,8 @@ List findByUserAgentRoleIdAndAccessedOnBetweenOrderByAccessIdAsc List findByUserAgentServiceIdAndAccessedOnBetweenOrderByAccessIdAsc(Integer userAgentServiceId, Timestamp fromDate, Timestamp toDate); - // List findByUserAgentStateIdAndAccessedOnBetween(Integer userAgentStateId, Timestamp fromDate, - // Timestamp toDate); - // List findByUserAgentServiceProviderIdAndAccessedOnBetween(Integer userAgentServiceProviderId, - // Timestamp fromDate, Timestamp toDate); Long countByUserAgentIdAndAccessedOnBetweenOrderByAccessIdAsc(Integer userAgentId, Timestamp fromDate, Timestamp toDate); - // Long countByUserAgentIpAddrAndAccessedOnBetween(String userAgentIpAddr, Timestamp fromDate, Timestamp toDate); - // Long countByUserAgentIdAndUserAgentIpAddrAndAccessedOnBetween(Integer userAgentId, String userAgentIpAddr, - // Timestamp fromDate, Timestamp toDate); Long countByUserAgentPSMapId(Integer userAgentPSMapId); @@ -59,17 +64,12 @@ List findByUserAgentServiceIdAndAccessedOnBetweenOrderByAccessId Long countByUserAgentServiceId(Integer userAgentServiceId); - // Long countByUserAgentStateId(Integer userAgentStateId); - // Long countByUserAgentServiceProviderId(Integer userAgentServiceProviderId); Long countByUserAgentPSMapIdAndAccessedOnBetween(Integer userAgentPSMapId, Timestamp fromDate, Timestamp toDate); Long countByUserAgentRoleIdAndAccessedOnBetween(Integer userAgentRoleId, Timestamp fromDate, Timestamp toDate); Long countByUserAgentServiceIdAndAccessedOnBetween(Integer userAgentServiceId, Timestamp fromDate, Timestamp toDate); - // Long countByUserAgentStateIdAndAccessedOnBetween(Integer userAgentStateId, Timestamp fromDate, Timestamp toDate); - // Long countByUserAgentServiceProviderIdAndAccessedOnBetween(Integer userAgentServiceProviderId, Timestamp - // fromDate, Timestamp toDate); List findByaccessedOnBetweenOrderByAccessIdAsc(Timestamp fromDate, Timestamp toDate); } diff --git a/src/main/java/com/iemr/common/identity/repo/BenDetailRepo.java b/src/main/java/com/iemr/common/identity/repo/BenDetailRepo.java index 3b55f3e..8e5c9ea 100644 --- a/src/main/java/com/iemr/common/identity/repo/BenDetailRepo.java +++ b/src/main/java/com/iemr/common/identity/repo/BenDetailRepo.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.repo; import java.math.BigInteger; @@ -21,18 +42,12 @@ public interface BenDetailRepo extends CrudRepository findByCreatedDateBetweenOrderByBeneficiaryDetailsIdAsc(Timestamp fromDate, Timestamp toDate); - // List findByMBeneficiaryregid(MBeneficiaryregidmapping - // MBeneficiaryregid); List findByFirstNameAndLastNameOrderByBeneficiaryDetailsIdAsc(String fName, String mName); - // searching with criterias @Query("select d from MBeneficiarydetail d " + "where d.mBeneficiarymapping.benRegId = :benRegId") MBeneficiarydetail findByBenRegId(BigInteger benRegId); - // @Query("select d from MBeneficiarydetail d " - // + "where d.mBeneficiarymapping.beneficiaryID = :beneficiaryID") - // MBeneficiarydetail findByBeneficiaryID(BigInteger beneficiaryID); @Query("select d from MBeneficiarydetail d where d.firstName = :fName and d.middleName = :mName and " + "d.lastName = :lName Order By d.beneficiaryDetailsId Asc") @@ -63,17 +78,12 @@ List findByNameAndSpouseNameAndDob(String fName, String mNam @Query("select new MBeneficiarydetail(d.beneficiaryDetailsId, d.firstName, d.lastName, d.middleName, " + "d.fatherName, d.spouseName) " + "from MBeneficiarydetail d where d.mBeneficiarymapping.benRegId = :benRegId") - // + "in (select beneficiaryDetailsId from MBeneficiarymapping where benRegId = - // :benRegId)") MBeneficiarydetail findPartialBeneficiaryDetailByBenRegId(@Param("benRegId") BigInteger benRegId); @Query("select new MBeneficiarydetail(d.beneficiaryDetailsId, d.firstName, d.lastName, d.middleName, " + "d.fatherName, d.spouseName) " + "from MBeneficiarydetail d where d.mBeneficiarymapping.benRegId in :benRegIds") List findPartialBeneficiaryDetailByBenRegId(@Param("benRegIds") List benRegId); - // @Query("select d from MBeneficiarydetail d where d.MBeneficiaryregid.benRegId - // = :benRegid") - // List findByBeneficiaryRegid(BigInteger benRegid); @Transactional @Modifying @@ -112,8 +122,8 @@ MBeneficiarydetail getWith_vanSerialNo_vanID(@Param("vanSerialNo") BigInteger va + " c.headOfFamily_Relation =:headofFamily_Relation,c.other =:other " + " WHERE c.vanSerialNo =:vanSerialNo AND c.vanID =:vanID ") Integer updateFamilyDetails(@Param("familyId") String familyId, - @Param("headofFamily_RelationID") Integer headofFamily_RelationID, - @Param("headofFamily_Relation") String headofFamily_Relation, @Param("other") String other, + @Param("headofFamily_RelationID") Integer headofFamilyRelationID, + @Param("headofFamily_Relation") String headofFamilyRelation, @Param("other") String other, @Param("vanSerialNo") BigInteger vanSerialNo, @Param("vanID") Integer vanID); @Transactional @@ -121,8 +131,8 @@ Integer updateFamilyDetails(@Param("familyId") String familyId, @Query("UPDATE MBeneficiarydetail c SET c.headOfFamily_RelationID =:headofFamily_RelationID, " + " c.headOfFamily_Relation =:headofFamily_Relation,c.other =:other " + " WHERE c.vanSerialNo =:vanSerialNo AND c.vanID =:vanID AND c.familyId=:familyId ") - Integer editFamilyDetails(@Param("headofFamily_RelationID") Integer headofFamily_RelationID, - @Param("headofFamily_Relation") String headofFamily_Relation, @Param("other") String other, + Integer editFamilyDetails(@Param("headofFamily_RelationID") Integer headofFamilyRelationID, + @Param("headofFamily_Relation") String headofFamilyRelation, @Param("other") String other, @Param("vanSerialNo") BigInteger vanSerialNo, @Param("vanID") Integer vanID, @Param("familyId") String familyId); diff --git a/src/main/java/com/iemr/common/identity/repo/BenDetailRepoCustom.java b/src/main/java/com/iemr/common/identity/repo/BenDetailRepoCustom.java index 50d3b90..9395ba1 100644 --- a/src/main/java/com/iemr/common/identity/repo/BenDetailRepoCustom.java +++ b/src/main/java/com/iemr/common/identity/repo/BenDetailRepoCustom.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.repo; import java.util.List; diff --git a/src/main/java/com/iemr/common/identity/repo/BenDetailRepoImpl.java b/src/main/java/com/iemr/common/identity/repo/BenDetailRepoImpl.java index 764f9c0..ca18a43 100644 --- a/src/main/java/com/iemr/common/identity/repo/BenDetailRepoImpl.java +++ b/src/main/java/com/iemr/common/identity/repo/BenDetailRepoImpl.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.repo; import java.util.ArrayList; @@ -16,8 +37,7 @@ import com.iemr.common.identity.domain.MBeneficiarydetail; import com.iemr.common.identity.dto.IdentitySearchDTO; -public class BenDetailRepoImpl implements BenDetailRepoCustom -{ +public class BenDetailRepoImpl implements BenDetailRepoCustom { @PersistenceContext private EntityManager entityManager; @@ -27,19 +47,22 @@ public class BenDetailRepoImpl implements BenDetailRepoCustom /** * Search Criteria: the following are necessary to conduct a finite search * - * 1. beneficiary ID 2. beneficiary Reg ID 3. Contact Number 4. Name (First, Middle, Last), Age, Gender 5. Village - * Name 6. District State Zone Coordinates 7. Pin Code 8. Father Name 9. Spouse Name + * 1. beneficiary ID 2. beneficiary Reg ID 3. Contact Number 4. Name (First, + * Middle, Last), Age, Gender 5. Village Name 6. District State Zone Coordinates + * 7. Pin Code 8. Father Name 9. Spouse Name * - * Allowed Single Parameters: - beneficiary Id - beneficiary Reg Id - Contact Number + * Allowed Single Parameters: - beneficiary Id - beneficiary Reg Id - Contact + * Number * - * Allowed Multi-Parameters: - Name (First, Middle, Last), Age, Gender - Contact Number & Name (First, Middle, Last) - * - Pin Code & Name (First, Middle, Last) - Village, Father Name & Name (First, Middle, Last) - Village, Spouse - * Name & Name (First, Middle, Last) - Village, District, State - Govt identities(keys, values) + * Allowed Multi-Parameters: - Name (First, Middle, Last), Age, Gender - Contact + * Number & Name (First, Middle, Last) - Pin Code & Name (First, Middle, Last) - + * Village, Father Name & Name (First, Middle, Last) - Village, Spouse Name & + * Name (First, Middle, Last) - Village, District, State - Govt identities(keys, + * values) */ @Override - public List advanceFilterSearch(IdentitySearchDTO searchDTO) - { + public List advanceFilterSearch(IdentitySearchDTO searchDTO) { CriteriaBuilder criteriaBuilder = entityManager.getCriteriaBuilder(); CriteriaQuery criteriaQuery = criteriaBuilder.createQuery(MBeneficiarydetail.class); @@ -48,113 +71,80 @@ public List advanceFilterSearch(IdentitySearchDTO searchDTO) // add predicates to see more parameters List predicates = new ArrayList(); - /** - * Beneficiary ID is present, no need for other criteria - */ - // if(filterDTO.getBeneficiaryId().isPresent()) { - // //filterDTO.getBeneficiaryId().get(); - // MBeneficiaryregidmapping regId = regIdRepo.findByBeneficiaryID(filterDTO.getBeneficiaryId().get()); - // predicates.add(criteriaBuilder.equal(root.get("beneficiaryRegID"), regId.getBenRegId())); - // } - - /** - * Beneficiary Reg ID is present, no need for other criteria - */ - // if(filterDTO.getBeneficiaryRegId().isPresent()) { - // //filterDTO.getBeneficiaryRegId().get(); - // predicates.add(criteriaBuilder.equal(root.get("beneficiaryRegID"), filterDTO.getBeneficiaryRegId().get())); - // } - /** * First Name is present, additional criteria needed */ - if (searchDTO.getFirstName() != null) - { + if (searchDTO.getFirstName() != null) { - predicates.add(criteriaBuilder.like(root. get("firstName"), "%" + searchDTO.getFirstName() + "%")); + predicates.add(criteriaBuilder.like(root.get("firstName"), "%" + searchDTO.getFirstName() + "%")); } /** * Middle Name is present, additional criteria needed */ - if (searchDTO.getMiddleName() != null) - { - predicates - .add(criteriaBuilder.like(root. get("middleName"), "%" + searchDTO.getMiddleName() + "%")); + if (searchDTO.getMiddleName() != null) { + predicates.add(criteriaBuilder.like(root.get("middleName"), "%" + searchDTO.getMiddleName() + "%")); } /** * Last Name is present, additional criteria needed */ - if (searchDTO.getLastName() != null) - { - predicates.add(criteriaBuilder.like(root. get("lastName"), "%" + searchDTO.getLastName() + "%")); + if (searchDTO.getLastName() != null) { + predicates.add(criteriaBuilder.like(root.get("lastName"), "%" + searchDTO.getLastName() + "%")); } /** * Age Id is present, additional criteria needed */ - if (searchDTO.getAgeId() != null) - { + if (searchDTO.getAgeId() != null) { predicates.add(criteriaBuilder.equal(root.get("ageId"), searchDTO.getAgeId())); } /** * Age is present, additional criteria needed */ - if (searchDTO.getAge() != null) - { + if (searchDTO.getAge() != null) { predicates.add(criteriaBuilder.equal(root.get("age"), searchDTO.getAge())); } /** * Gender Id is present, additional criteria needed */ - if (searchDTO.getGenderId() != null) - { + if (searchDTO.getGenderId() != null) { predicates.add(criteriaBuilder.equal(root.get("genderId"), searchDTO.getGenderId())); } /** * Gender Name is present, additional criteria needed */ - if (searchDTO.getGenderName() != null) - { + if (searchDTO.getGenderName() != null) { predicates.add(criteriaBuilder.equal(root.get("genderName"), searchDTO.getGenderName())); } /** * Spouse Name is present, additional criteria needed */ - if (searchDTO.getSpouseName() != null) - { - predicates - .add(criteriaBuilder.like(root. get("spouseName"), "%" + searchDTO.getSpouseName() + "%")); + if (searchDTO.getSpouseName() != null) { + predicates.add(criteriaBuilder.like(root.get("spouseName"), "%" + searchDTO.getSpouseName() + "%")); } /** * Father Name present, additional criteria needed */ - if (searchDTO.getFatherName() != null) - { - predicates - .add(criteriaBuilder.like(root. get("fatherName"), "%" + searchDTO.getFatherName() + "%")); + if (searchDTO.getFatherName() != null) { + predicates.add(criteriaBuilder.like(root.get("fatherName"), "%" + searchDTO.getFatherName() + "%")); } /** * Pin Code is present, additional criteria needed */ - if (searchDTO.getPinCode() != null) - { + if (searchDTO.getPinCode() != null) { predicates.add(criteriaBuilder.equal(root.get("pinCode"), searchDTO.getPinCode())); } /** * Contact Number is present, additional criteria needed */ - // if(filterDTO.getContactNumber().isPresent()){ - // predicates.add(criteriaBuilder.equal(root.get("contactNumber"), filterDTO.getPinCode().get())); - // } criteriaQuery.select(root).where(predicates.toArray(new Predicate[] {})) .orderBy(criteriaBuilder.asc(root.get("benMapId"))); diff --git a/src/main/java/com/iemr/common/identity/repo/BenFamilyMappingRepo.java b/src/main/java/com/iemr/common/identity/repo/BenFamilyMappingRepo.java index 18da0d4..f4f5509 100644 --- a/src/main/java/com/iemr/common/identity/repo/BenFamilyMappingRepo.java +++ b/src/main/java/com/iemr/common/identity/repo/BenFamilyMappingRepo.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.repo; import java.math.BigInteger; @@ -6,7 +27,6 @@ import org.springframework.data.jpa.repository.Modifying; import org.springframework.data.jpa.repository.Query; -// import org.springframework.data.jpa.repository.Query; import org.springframework.data.repository.CrudRepository; import org.springframework.data.repository.query.Param; import org.springframework.stereotype.Repository; @@ -18,18 +38,9 @@ public interface BenFamilyMappingRepo extends CrudRepository { List findByBenFamilyMapIdOrderByBenFamilyMapIdAsc(BigInteger benFamilyMapId); - // List findByAssociatedBenRegID(BigInteger - // associatedBenRegID); - // List - // findByAssociatedBenRegIDAndIsEmergencyContact(BigInteger associatedBenRegID, - // Boolean isEmergencyContact); List findByCreatedDateBetweenOrderByBenFamilyMapIdAsc(Timestamp fromDate, Timestamp toDate); - // @Query("select f from MBeneficiaryfamilymapping f where - // f.MBeneficiaryregid.benRegId = :associatedBenID") - // List findByAssociatedBenID(BigInteger - // associatedBenID); List findByBenMapIdOrderByBenFamilyMapIdAsc(BigInteger benMapId); diff --git a/src/main/java/com/iemr/common/identity/repo/BenIdentityRepo.java b/src/main/java/com/iemr/common/identity/repo/BenIdentityRepo.java index cdd96e0..c3f4bc8 100644 --- a/src/main/java/com/iemr/common/identity/repo/BenIdentityRepo.java +++ b/src/main/java/com/iemr/common/identity/repo/BenIdentityRepo.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.repo; import java.math.BigInteger; diff --git a/src/main/java/com/iemr/common/identity/repo/BenMappingRepo.java b/src/main/java/com/iemr/common/identity/repo/BenMappingRepo.java index d517838..3154b69 100644 --- a/src/main/java/com/iemr/common/identity/repo/BenMappingRepo.java +++ b/src/main/java/com/iemr/common/identity/repo/BenMappingRepo.java @@ -1,24 +1,40 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.repo; import java.math.BigInteger; +import java.sql.Timestamp; import java.util.List; import org.springframework.data.jpa.repository.Modifying; import org.springframework.data.jpa.repository.Query; -// import org.springframework.data.jpa.repository.Query; import org.springframework.data.repository.CrudRepository; import org.springframework.data.repository.query.Param; import org.springframework.stereotype.Repository; import org.springframework.transaction.annotation.Transactional; import com.iemr.common.identity.domain.MBeneficiaryaddress; -// import com.iemr.common.identity.domain.MBeneficiaryaddress; -// import com.iemr.common.identity.domain.MBeneficiaryconsent; import com.iemr.common.identity.domain.MBeneficiarycontact; import com.iemr.common.identity.domain.MBeneficiarydetail; -// import com.iemr.common.identity.domain.MBeneficiarydetail; -// import com.iemr.common.identity.domain.MBeneficiaryfamilymapping; -// import com.iemr.common.identity.domain.MBeneficiaryidentity; import com.iemr.common.identity.domain.MBeneficiarymapping; import com.iemr.common.identity.domain.MBeneficiaryregidmapping; @@ -28,27 +44,16 @@ public interface BenMappingRepo extends CrudRepository findByMBeneficiaryregidmappingOrderByBenMapIdAsc( - MBeneficiaryregidmapping MBeneficiaryregidmapping); - - // @Query("select m from MBeneficiarymapping m where - // m.mBeneficiarycontact.benContactsID = :benContactsID") - // MBeneficiarymapping findByBenContactsID(@Param("benContactsID") - // BigInteger benContactsID); - // List - // findByMBeneficiaryregidmapping(MBeneficiaryregidmapping - // MBeneficiaryregidmapping); - // MBeneficiarymapping findByMBeneficiaryaddress(MBeneficiaryaddress - // MBeneficiaryaddress); - // List findByMBeneficiarycontact(MBeneficiarycontact - // MBeneficiarycontact); + MBeneficiaryregidmapping mBeneficiaryregidmapping); + List findByMBeneficiarydetailOrderByBenMapIdAsc(MBeneficiarydetail mBeneficiarydetail); List findByMBeneficiarydetailAndMBeneficiaryaddressOrderByBenMapIdAsc( - MBeneficiarydetail mBeneficiarydetail, MBeneficiaryaddress MBeneficiaryaddress); + MBeneficiarydetail mBeneficiarydetail, MBeneficiaryaddress mBeneficiaryaddress); List findByMBeneficiarydetailAndMBeneficiaryaddressAndMBeneficiarycontactOrderByBenMapIdAsc( MBeneficiarydetail mBeneficiarydetail, MBeneficiaryaddress mBeneficiaryaddress, @@ -70,65 +75,6 @@ List findByMBeneficiarydetailAndMBeneficiaryaddressAndMBene @Query("select t from MBeneficiarymapping t where t.benRegId = :benRegID") MBeneficiarymapping getBenImageIdByBenRegID(@Param("benRegID") BigInteger benRegID); - // List findByMBeneficiaryconsent(MBeneficiaryconsent - // MBeneficiaryconsent); - - // @Query("select m from MBeneficiarymapping m where - // m.MBeneficiaryRegIdMapping.benRegId = :benRegId") - // List findByBeneficiaryRegId(BigInteger benRegId); - // @Query("select m from MBeneficiarymapping m where - // m.MBeneficiaryaddress.benAddressID = :benAddressID") - // List findByBeneficiaryAddressId(BigInteger - // benAddressID); - // @Query("select m from MBeneficiarymapping m where - // m.MBeneficiarycontact.benContactsID = :benContactsID") - // List findByBeneficiaryContactId(BigInteger - // benContactsID); - // @Query("select m from MBeneficiarymapping m where - // m.MBeneficiaryconsent.benConsentID = :benConsentID") - // List findByBeneficiaryConsentId(BigInteger - // benConsentID); - // @Query("select m from MBeneficiarymapping m where - // m.MBeneficiarydetail.beneficiaryDetailsId = - // :beneficiaryDetailsId") - // List findByBeneficiaryDetailId(BigInteger - // beneficiaryDetailsId); - // - // - // @Query("select m from MBeneficiarymapping m where m.deleted = b'1'") - // List findByDeleted(); - // - // @Query("select m from MBeneficiarymapping m where m.reserved = b'1'") - // List findByReserved(); - // - // @Query("select m from MBeneficiarymapping m where - // m.MBeneficiaryregidmapping.beneficiaryID = :BeneficiaryID") - // List findByBeneficiaryId(BigInteger BeneficiaryID); - // - // @Query("select m from MBeneficiarymapping m where - // m.MBeneficiaryidentities.MBeneficiaryidentity = - // :MBeneficiaryidentity") - // List findByMBeneficiaryidentity(MBeneficiaryidentity - // MBeneficiaryidentity); - // - // @Query("select m from MBeneficiarymapping m where - // m.MBeneficiaryfamilymappings.MBeneficiaryfamilymapping = - // :MBeneficiaryfamilymapping") - // List - // findByMBeneficiaryfamilymapping(MBeneficiaryfamilymapping - // MBeneficiaryfamilymapping); - // - // @Query("select m from MBeneficiarymapping m where - // m.MBeneficiaryfamilymappings.MBeneficiaryservicemapping = - // :MBeneficiaryservicemapping") - // List - // findByMBeneficiaryservicemapping(MBeneficiaryservicemapping - // MBeneficiaryservicemapping); - // - // @Query("select m from MBeneficiarymapping m where - // m.TBendataaccesses.tBendataaccess = :tBendataaccess") - // List findByTBendataaccess(TBendataaccess - // tBendataaccess); @Transactional @Modifying @@ -141,14 +87,12 @@ List findByMBeneficiarydetailAndMBeneficiaryaddressAndMBene + " WHERE t.benRegId = :benRegID ORDER BY t.benMapId Desc ") public List getBenMappingByRegID(@Param("benRegID") BigInteger benRegID); - // old code 1.0 @Query("SELECT t.benMapId, t.benAddressId, t.benConsentId, t.benContactsId, t.benDetailsId, " + " t.benRegId, t.benImageId, t.benAccountID, t.vanID, t.vanSerialNo, " + " t.createdBy, t.createdDate FROM MBeneficiarymapping t " + " WHERE t.benContactsId IN :contactIDList ORDER BY t.benMapId Desc ") public List getBenMappingByBenContactIdList(@Param("contactIDList") List contactIDList); - // new code 1.0 @Query("SELECT t.benMapId, t.benAddressId, t.benConsentId, t.benContactsId, t.benDetailsId, " + " t.benRegId, t.benImageId, t.benAccountID, t.vanID, t.vanSerialNo, " + " t.createdBy, t.createdDate FROM MBeneficiarymapping t " @@ -156,7 +100,6 @@ List findByMBeneficiarydetailAndMBeneficiaryaddressAndMBene public List getBenMappingByBenContactIdListNew(@Param("benContactId") BigInteger benContactId, @Param("vanID") Integer vanID); - // 19-12-2018, neeraj @Query("SELECT t.benMapId, t.benAddressId, t.benConsentId, t.benContactsId, t.benDetailsId, " + " t.benRegId, t.benImageId, t.benAccountID, t.vanID, t.vanSerialNo, " + " t.createdBy, t.createdDate FROM MBeneficiarymapping t " @@ -169,7 +112,6 @@ public List getBenMappingByBenContactIdListNew(@Param("benContactId") @Query("SELECT t.benRegId FROM MBeneficiarymapping t WHERE t.benDetailsId =:benDetailsId AND vanID = :vanID") public BigInteger getBenRegId(@Param("benDetailsId") BigInteger benDetailsId, @Param("vanID") Integer vanID); - // 12-09-2022 @Query("SELECT t.benMapId, t.benAddressId, t.benConsentId, t.benContactsId, t.benDetailsId, " + " t.benRegId, t.benImageId, t.benAccountID, t.vanID, t.vanSerialNo, " + " t.createdBy, t.createdDate FROM MBeneficiarymapping t " @@ -177,7 +119,6 @@ public List getBenMappingByBenContactIdListNew(@Param("benContactId") public List getBenMappingByBenDetailsIds(@Param("benDetailsIds") List benDetailsIds, @Param("vanID") Integer vanID); - // 12-09-2022 @Query("SELECT t.benMapId, t.benAddressId, t.benConsentId, t.benContactsId, t.benDetailsId, " + " t.benRegId, t.benImageId, t.benAccountID, t.vanID, t.vanSerialNo, " + " t.createdBy, t.createdDate FROM MBeneficiarymapping t " @@ -185,4 +126,10 @@ public List getBenMappingByBenDetailsIds(@Param("benDetailsIds") List< public List getBenMappingByVanSerialNo(@Param("benMapIds") BigInteger benMapIds, @Param("vanID") Integer vanID); + @Query(value = "select m from MBeneficiarymapping m where m.mBeneficiaryaddress.permVillageId = :blockID and (m.mBeneficiaryAccount.lastModDate > :lastModDate " + + "or m.mBeneficiaryaddress.lastModDate > :lastModDate or m.mBeneficiaryconsent.lastModDate > :lastModDate " + + "or m.mBeneficiarycontact.lastModDate > :lastModDate or m.mBeneficiarydetail.lastModDate > :lastModDate ) " + + "order by m.benMapId Desc") + List findByBeneficiaryDetailsByBlockIDAndLastModifyDate(@Param("blockID") int blockID, @Param("lastModDate") Timestamp lastModDate); + } diff --git a/src/main/java/com/iemr/common/identity/repo/BenMappingRepoCustom.java b/src/main/java/com/iemr/common/identity/repo/BenMappingRepoCustom.java index 965c66f..43f9205 100644 --- a/src/main/java/com/iemr/common/identity/repo/BenMappingRepoCustom.java +++ b/src/main/java/com/iemr/common/identity/repo/BenMappingRepoCustom.java @@ -1,9 +1,30 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.repo; import java.util.List; import com.iemr.common.identity.domain.MBeneficiarymapping; -import com.iemr.common.identity.domain.V_BenAdvanceSearch; +import com.iemr.common.identity.domain.VBenAdvanceSearch; import com.iemr.common.identity.dto.IdentityDTO; import com.iemr.common.identity.dto.IdentitySearchDTO; @@ -20,5 +41,5 @@ public interface BenMappingRepoCustom { */ List finiteSearch(IdentityDTO identityDTO); - List dynamicFilterSearchNew(IdentitySearchDTO searchDTO); + List dynamicFilterSearchNew(IdentitySearchDTO searchDTO); } diff --git a/src/main/java/com/iemr/common/identity/repo/BenMappingRepoImpl.java b/src/main/java/com/iemr/common/identity/repo/BenMappingRepoImpl.java index c9778de..0e7077e 100644 --- a/src/main/java/com/iemr/common/identity/repo/BenMappingRepoImpl.java +++ b/src/main/java/com/iemr/common/identity/repo/BenMappingRepoImpl.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.repo; import java.sql.Timestamp; @@ -23,7 +44,7 @@ import com.iemr.common.identity.domain.MBeneficiarycontact; import com.iemr.common.identity.domain.MBeneficiarydetail; import com.iemr.common.identity.domain.MBeneficiarymapping; -import com.iemr.common.identity.domain.V_BenAdvanceSearch; +import com.iemr.common.identity.domain.VBenAdvanceSearch; import com.iemr.common.identity.dto.IdentityDTO; import com.iemr.common.identity.dto.IdentitySearchDTO; import com.iemr.common.identity.mapper.IdentitySearchMapper; @@ -318,8 +339,6 @@ public List finiteSearch(IdentityDTO identityDTO) { predicates.add(criteriaBuilder.equal(benContact.get("preferredPhoneNum"), identityDTO.getContact().getPreferredPhoneNum())); - // predicates.add(criteriaBuilder.or(benContact.get("phoneNum1"), - // identityDTO.getContact().getPreferredPhoneNum())); } criteriaQuery.select(root).where(predicates.toArray(new Predicate[] {})); @@ -328,10 +347,10 @@ public List finiteSearch(IdentityDTO identityDTO) { } @Override - public List dynamicFilterSearchNew(IdentitySearchDTO searchDTO) { + public List dynamicFilterSearchNew(IdentitySearchDTO searchDTO) { CriteriaBuilder criteriaBuilder = entityManager.getCriteriaBuilder(); - CriteriaQuery criteriaQuery = criteriaBuilder.createQuery(V_BenAdvanceSearch.class); - Root root = criteriaQuery.from(V_BenAdvanceSearch.class); + CriteriaQuery criteriaQuery = criteriaBuilder.createQuery(VBenAdvanceSearch.class); + Root root = criteriaQuery.from(VBenAdvanceSearch.class); List predicateList = new ArrayList(); // if firstName is not null @@ -393,7 +412,7 @@ public List dynamicFilterSearchNew(IdentitySearchDTO searchD } criteriaQuery.select(root).where(predicateList.toArray(new Predicate[] {})); - TypedQuery typedQuery = entityManager.createQuery(criteriaQuery); + TypedQuery typedQuery = entityManager.createQuery(criteriaQuery); return typedQuery.getResultList(); } diff --git a/src/main/java/com/iemr/common/identity/repo/BenRegIdMappingRepo.java b/src/main/java/com/iemr/common/identity/repo/BenRegIdMappingRepo.java index 0362320..4087fa6 100644 --- a/src/main/java/com/iemr/common/identity/repo/BenRegIdMappingRepo.java +++ b/src/main/java/com/iemr/common/identity/repo/BenRegIdMappingRepo.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.repo; import java.math.BigInteger; @@ -17,11 +38,9 @@ @Repository public interface BenRegIdMappingRepo extends CrudRepository { List findByBenRegIdOrderByBenRegIdAsc(BigInteger benRegId); + @Query("SELECT a FROM MBeneficiaryregidmapping a WHERE a.beneficiaryID =:beneficiaryID") + MBeneficiaryregidmapping findByBeneficiaryID(@Param("beneficiaryID") BigInteger beneficiaryID); - MBeneficiaryregidmapping findByBeneficiaryID(BigInteger beneficiaryID); - - // List findByMBeneficiarydetail(MBeneficiarydetail - // MBeneficiarydetail); List findByCreatedDateBetweenOrderByBenRegIdAsc(Timestamp fromDate, Timestamp toDate); MBeneficiaryregidmapping findFirstByProvisionedAndReserved(Boolean isProvisioned, Boolean isReserved); @@ -49,7 +68,7 @@ public int unreserveBeneficiaryIds(@Param("providerServiceMapID") Integer provid @Param("vehicalNo") String vehicalNo); @Query("SELECT a FROM MBeneficiaryregidmapping a WHERE a.benRegId =:vanSerialNo AND a.vanID =:vanID ") - MBeneficiaryregidmapping getWith_vanSerialNo_vanID(@Param("vanSerialNo") BigInteger vanSerialNo, + MBeneficiaryregidmapping getWithVanSerialNoVanID(@Param("vanSerialNo") BigInteger vanSerialNo, @Param("vanID") Integer vanID); diff --git a/src/main/java/com/iemr/common/identity/repo/BenSecureStackRepo.java b/src/main/java/com/iemr/common/identity/repo/BenSecureStackRepo.java index df32e35..22c581b 100644 --- a/src/main/java/com/iemr/common/identity/repo/BenSecureStackRepo.java +++ b/src/main/java/com/iemr/common/identity/repo/BenSecureStackRepo.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.repo; import org.springframework.stereotype.Repository; diff --git a/src/main/java/com/iemr/common/identity/repo/BenServiceMappingRepo.java b/src/main/java/com/iemr/common/identity/repo/BenServiceMappingRepo.java index 7c73150..1580166 100644 --- a/src/main/java/com/iemr/common/identity/repo/BenServiceMappingRepo.java +++ b/src/main/java/com/iemr/common/identity/repo/BenServiceMappingRepo.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.repo; import java.math.BigInteger; @@ -20,40 +41,40 @@ public interface BenServiceMappingRepo extends CrudRepository findByProviderServiceMapId(Integer registeredProviderServiceMapId); List findByProviderServiceMapIdAndRegisteredDateBetween( - Integer registeredProviderServiceMapId, Timestamp from, Timestamp To); + Integer registeredProviderServiceMapId, Timestamp from, Timestamp to); List findByServiceIdAndRegisteredDateBetween(Integer serviceId, Timestamp from, - Timestamp To); + Timestamp to); List findByServiceNameAndRegisteredDateBetween(String serviceName, Timestamp from, - Timestamp To); + Timestamp to); List findByStateIdAndRegisteredDateBetween(Integer stateId, Timestamp from, - Timestamp To); + Timestamp to); List findByStateNameAndRegisteredDateBetween(String stateName, Timestamp from, - Timestamp To); + Timestamp to); List findByServiceProviderIdAndRegisteredDateBetween(Integer serviceProviderId, - Timestamp from, Timestamp To); + Timestamp from, Timestamp to); List findByServiceProviderNameAndRegisteredDateBetween(String serviceProviderName, - Timestamp from, Timestamp To); + Timestamp from, Timestamp to); Long countByProviderServiceMapIdAndRegisteredDateBetween(Integer registeredProviderServiceMapId, Timestamp from, - Timestamp To); + Timestamp to); - Long countByServiceIdAndRegisteredDateBetween(Integer serviceId, Timestamp from, Timestamp To); + Long countByServiceIdAndRegisteredDateBetween(Integer serviceId, Timestamp from, Timestamp to); - Long countByServiceNameAndRegisteredDateBetween(String serviceName, Timestamp from, Timestamp To); + Long countByServiceNameAndRegisteredDateBetween(String serviceName, Timestamp from, Timestamp to); - Long countByStateIdAndRegisteredDateBetween(Integer stateId, Timestamp from, Timestamp To); + Long countByStateIdAndRegisteredDateBetween(Integer stateId, Timestamp from, Timestamp to); - Long countByStateNameAndRegisteredDateBetween(String stateName, Timestamp from, Timestamp To); + Long countByStateNameAndRegisteredDateBetween(String stateName, Timestamp from, Timestamp to); - Long countByServiceProviderIdAndRegisteredDateBetween(Integer serviceProviderId, Timestamp from, Timestamp To); + Long countByServiceProviderIdAndRegisteredDateBetween(Integer serviceProviderId, Timestamp from, Timestamp to); - Long countByServiceProviderNameAndRegisteredDateBetween(String serviceProviderName, Timestamp from, Timestamp To); + Long countByServiceProviderNameAndRegisteredDateBetween(String serviceProviderName, Timestamp from, Timestamp to); List findByCreatedDateBetween(Timestamp fromDate, Timestamp toDate); diff --git a/src/main/java/com/iemr/common/identity/repo/MBeneficiaryAccountRepo.java b/src/main/java/com/iemr/common/identity/repo/MBeneficiaryAccountRepo.java index 81d028d..0df9d35 100644 --- a/src/main/java/com/iemr/common/identity/repo/MBeneficiaryAccountRepo.java +++ b/src/main/java/com/iemr/common/identity/repo/MBeneficiaryAccountRepo.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.repo; import java.math.BigInteger; @@ -20,7 +41,7 @@ public interface MBeneficiaryAccountRepo extends CrudRepository { +public interface V_BenAdvanceSearchRepo extends CrudRepository { @Query(nativeQuery = true, value = "SELECT BeneficiaryRegID, HealthID, HealthIDNumber, AuthenticationMode, CreatedDate" + " FROM db_iemr.m_benhealthidmapping WHERE BeneficiaryRegID=:benRegID") @@ -19,10 +40,10 @@ public interface V_BenAdvanceSearchRepo extends CrudRepository getBenRegIDByHealthID_AbhaAddress(@Param("healthID") String healthID); + List getBenRegIDByHealthIDAbhaAddress(@Param("healthID") String healthID); @Query(nativeQuery = true, value = "SELECT BeneficiaryRegID " + " FROM db_iemr.m_benhealthidmapping WHERE HealthIDNumber=:healthIDNo AND BeneficiaryRegID is not null ") - List getBenRegIDByHealthIDNo_AbhaIdNo(@Param("healthIDNo") String healthIDNo); + List getBenRegIDByHealthIDNoAbhaIdNo(@Param("healthIDNo") String healthIDNo); } diff --git a/src/main/java/com/iemr/common/identity/repo/familyTag/FamilyTagRepo.java b/src/main/java/com/iemr/common/identity/repo/familyTag/FamilyTagRepo.java index da1f1a9..4451fd3 100644 --- a/src/main/java/com/iemr/common/identity/repo/familyTag/FamilyTagRepo.java +++ b/src/main/java/com/iemr/common/identity/repo/familyTag/FamilyTagRepo.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.repo.familyTag; import java.util.List; diff --git a/src/main/java/com/iemr/common/identity/repo/rmnch/RMNCHBenAccountRepo.java b/src/main/java/com/iemr/common/identity/repo/rmnch/RMNCHBenAccountRepo.java index c9722ef..48809be 100644 --- a/src/main/java/com/iemr/common/identity/repo/rmnch/RMNCHBenAccountRepo.java +++ b/src/main/java/com/iemr/common/identity/repo/rmnch/RMNCHBenAccountRepo.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.repo.rmnch; import java.math.BigInteger; diff --git a/src/main/java/com/iemr/common/identity/repo/rmnch/RMNCHBenAddressRepo.java b/src/main/java/com/iemr/common/identity/repo/rmnch/RMNCHBenAddressRepo.java index e9343ff..8015eb5 100644 --- a/src/main/java/com/iemr/common/identity/repo/rmnch/RMNCHBenAddressRepo.java +++ b/src/main/java/com/iemr/common/identity/repo/rmnch/RMNCHBenAddressRepo.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.repo.rmnch; import java.math.BigInteger; diff --git a/src/main/java/com/iemr/common/identity/repo/rmnch/RMNCHBenConsentRepo.java b/src/main/java/com/iemr/common/identity/repo/rmnch/RMNCHBenConsentRepo.java index 0418122..ccbd753 100644 --- a/src/main/java/com/iemr/common/identity/repo/rmnch/RMNCHBenConsentRepo.java +++ b/src/main/java/com/iemr/common/identity/repo/rmnch/RMNCHBenConsentRepo.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.repo.rmnch; import java.math.BigInteger; @@ -7,7 +28,6 @@ import org.springframework.data.repository.query.Param; import org.springframework.stereotype.Repository; -import com.iemr.common.identity.data.rmnch.RMNCHMBeneficiaryaddress; import com.iemr.common.identity.data.rmnch.RMNCHMBeneficiaryconsent; @Repository diff --git a/src/main/java/com/iemr/common/identity/repo/rmnch/RMNCHBenContactRepo.java b/src/main/java/com/iemr/common/identity/repo/rmnch/RMNCHBenContactRepo.java index f512407..2dcef40 100644 --- a/src/main/java/com/iemr/common/identity/repo/rmnch/RMNCHBenContactRepo.java +++ b/src/main/java/com/iemr/common/identity/repo/rmnch/RMNCHBenContactRepo.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.repo.rmnch; import java.math.BigInteger; diff --git a/src/main/java/com/iemr/common/identity/repo/rmnch/RMNCHBenDetailsRepo.java b/src/main/java/com/iemr/common/identity/repo/rmnch/RMNCHBenDetailsRepo.java index 20f1626..028e781 100644 --- a/src/main/java/com/iemr/common/identity/repo/rmnch/RMNCHBenDetailsRepo.java +++ b/src/main/java/com/iemr/common/identity/repo/rmnch/RMNCHBenDetailsRepo.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.repo.rmnch; import java.math.BigInteger; diff --git a/src/main/java/com/iemr/common/identity/repo/rmnch/RMNCHBenImageRepo.java b/src/main/java/com/iemr/common/identity/repo/rmnch/RMNCHBenImageRepo.java index 84e20cf..762f0f4 100644 --- a/src/main/java/com/iemr/common/identity/repo/rmnch/RMNCHBenImageRepo.java +++ b/src/main/java/com/iemr/common/identity/repo/rmnch/RMNCHBenImageRepo.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.repo.rmnch; import org.springframework.data.jpa.repository.Query; diff --git a/src/main/java/com/iemr/common/identity/repo/rmnch/RMNCHBeneficiaryDetailsRmnchRepo.java b/src/main/java/com/iemr/common/identity/repo/rmnch/RMNCHBeneficiaryDetailsRmnchRepo.java index f81ffbb..1ef4737 100644 --- a/src/main/java/com/iemr/common/identity/repo/rmnch/RMNCHBeneficiaryDetailsRmnchRepo.java +++ b/src/main/java/com/iemr/common/identity/repo/rmnch/RMNCHBeneficiaryDetailsRmnchRepo.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.repo.rmnch; import org.springframework.data.jpa.repository.Query; diff --git a/src/main/java/com/iemr/common/identity/repo/rmnch/RMNCHBornBirthDetailsRepo.java b/src/main/java/com/iemr/common/identity/repo/rmnch/RMNCHBornBirthDetailsRepo.java index 4e57bab..daa5b64 100644 --- a/src/main/java/com/iemr/common/identity/repo/rmnch/RMNCHBornBirthDetailsRepo.java +++ b/src/main/java/com/iemr/common/identity/repo/rmnch/RMNCHBornBirthDetailsRepo.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.repo.rmnch; import org.springframework.data.jpa.repository.Query; diff --git a/src/main/java/com/iemr/common/identity/repo/rmnch/RMNCHCBACDetailsRepo.java b/src/main/java/com/iemr/common/identity/repo/rmnch/RMNCHCBACDetailsRepo.java index e9eda21..2ac98a6 100644 --- a/src/main/java/com/iemr/common/identity/repo/rmnch/RMNCHCBACDetailsRepo.java +++ b/src/main/java/com/iemr/common/identity/repo/rmnch/RMNCHCBACDetailsRepo.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.repo.rmnch; import java.util.List; @@ -30,6 +51,6 @@ public List getDiagnosisProvidedCommon(@Param("benRegID") Long benRegID, @Query(value = "select NCD_Condition from db_iemr.t_ncddiagnosis where BeneficiaryRegID=:benRegID AND visitcode=:visitCode AND NCD_Condition is not null AND NCD_Condition <> '' " , nativeQuery = true) - public List getDiagnosisProvidedNCD_Care(@Param("benRegID") Long benRegID, @Param("visitCode") Long visitCode); + public List getDiagnosisProvidedNCDCare(@Param("benRegID") Long benRegID, @Param("visitCode") Long visitCode); } diff --git a/src/main/java/com/iemr/common/identity/repo/rmnch/RMNCHHouseHoldDetailsRepo.java b/src/main/java/com/iemr/common/identity/repo/rmnch/RMNCHHouseHoldDetailsRepo.java index 4395a0b..4aed3c8 100644 --- a/src/main/java/com/iemr/common/identity/repo/rmnch/RMNCHHouseHoldDetailsRepo.java +++ b/src/main/java/com/iemr/common/identity/repo/rmnch/RMNCHHouseHoldDetailsRepo.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.repo.rmnch; import org.springframework.data.jpa.repository.Query; diff --git a/src/main/java/com/iemr/common/identity/repo/rmnch/RMNCHMBenFamilyMapRepo.java b/src/main/java/com/iemr/common/identity/repo/rmnch/RMNCHMBenFamilyMapRepo.java index 3c27f7c..9d5205c 100644 --- a/src/main/java/com/iemr/common/identity/repo/rmnch/RMNCHMBenFamilyMapRepo.java +++ b/src/main/java/com/iemr/common/identity/repo/rmnch/RMNCHMBenFamilyMapRepo.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.repo.rmnch; import java.math.BigInteger; diff --git a/src/main/java/com/iemr/common/identity/repo/rmnch/RMNCHMBenMappingRepo.java b/src/main/java/com/iemr/common/identity/repo/rmnch/RMNCHMBenMappingRepo.java index 58d779f..99e14af 100644 --- a/src/main/java/com/iemr/common/identity/repo/rmnch/RMNCHMBenMappingRepo.java +++ b/src/main/java/com/iemr/common/identity/repo/rmnch/RMNCHMBenMappingRepo.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.repo.rmnch; import java.math.BigInteger; diff --git a/src/main/java/com/iemr/common/identity/repo/rmnch/RMNCHMBenRegIdMapRepo.java b/src/main/java/com/iemr/common/identity/repo/rmnch/RMNCHMBenRegIdMapRepo.java index 51e6406..2112c98 100644 --- a/src/main/java/com/iemr/common/identity/repo/rmnch/RMNCHMBenRegIdMapRepo.java +++ b/src/main/java/com/iemr/common/identity/repo/rmnch/RMNCHMBenRegIdMapRepo.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.repo.rmnch; import java.math.BigInteger; diff --git a/src/main/java/com/iemr/common/identity/repo/rmnch/RMNCHMBeneficiaryServiceMapRepo.java b/src/main/java/com/iemr/common/identity/repo/rmnch/RMNCHMBeneficiaryServiceMapRepo.java index ce94a1b..df7b855 100644 --- a/src/main/java/com/iemr/common/identity/repo/rmnch/RMNCHMBeneficiaryServiceMapRepo.java +++ b/src/main/java/com/iemr/common/identity/repo/rmnch/RMNCHMBeneficiaryServiceMapRepo.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.repo.rmnch; import java.math.BigInteger; diff --git a/src/main/java/com/iemr/common/identity/security/Encryption.java b/src/main/java/com/iemr/common/identity/security/Encryption.java deleted file mode 100644 index 729dd72..0000000 --- a/src/main/java/com/iemr/common/identity/security/Encryption.java +++ /dev/null @@ -1,5 +0,0 @@ -package com.iemr.common.identity.security; - -public class Encryption { - -} diff --git a/src/main/java/com/iemr/common/identity/security/Hash.java b/src/main/java/com/iemr/common/identity/security/Hash.java deleted file mode 100644 index e9668a5..0000000 --- a/src/main/java/com/iemr/common/identity/security/Hash.java +++ /dev/null @@ -1,5 +0,0 @@ -package com.iemr.common.identity.security; - -public class Hash { - -} diff --git a/src/main/java/com/iemr/common/identity/security/Security.java b/src/main/java/com/iemr/common/identity/security/Security.java index 53961b8..fd362d2 100644 --- a/src/main/java/com/iemr/common/identity/security/Security.java +++ b/src/main/java/com/iemr/common/identity/security/Security.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.security; public interface Security { diff --git a/src/main/java/com/iemr/common/identity/service/IdentityService.java b/src/main/java/com/iemr/common/identity/service/IdentityService.java index 9565b6f..dce6bd2 100644 --- a/src/main/java/com/iemr/common/identity/service/IdentityService.java +++ b/src/main/java/com/iemr/common/identity/service/IdentityService.java @@ -1,10 +1,34 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.service; import java.math.BigDecimal; import java.math.BigInteger; import java.sql.Timestamp; +import java.text.DateFormat; +import java.text.SimpleDateFormat; import java.util.ArrayDeque; import java.util.ArrayList; +import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.ListIterator; @@ -37,7 +61,7 @@ import com.iemr.common.identity.domain.MBeneficiarymapping; import com.iemr.common.identity.domain.MBeneficiaryregidmapping; import com.iemr.common.identity.domain.MBeneficiaryservicemapping; -import com.iemr.common.identity.domain.V_BenAdvanceSearch; +import com.iemr.common.identity.domain.VBenAdvanceSearch; import com.iemr.common.identity.dto.AbhaAddressDTO; import com.iemr.common.identity.dto.BenIdImportDTO; import com.iemr.common.identity.dto.BeneficiariesDTO; @@ -74,8 +98,6 @@ @Service public class IdentityService { private static final Logger logger = LoggerFactory.getLogger(IdentityService.class); - // private ExecutorService executor = Executors - // .newFixedThreadPool(5)/* .newCachedThreadPool() */; @Autowired private DataSource dataSource; @@ -274,8 +296,8 @@ public List getBeneficiaries(IdentitySearchDTO searchDTO) /** * New logic for advance search, 03-10-2018 */ - List tmpList = mappingRepo.dynamicFilterSearchNew(searchDTO); - for (V_BenAdvanceSearch obj : tmpList) { + List tmpList = mappingRepo.dynamicFilterSearchNew(searchDTO); + for (VBenAdvanceSearch obj : tmpList) { list.add(this.getBeneficiariesDTO(this.getBeneficiariesDTONew1(obj))); logger.debug("benMapId: " + obj.getBenMapID()); } @@ -300,7 +322,6 @@ public List getBeneficiariesByBenId(BigInteger benId) List list = new ArrayList(); MBeneficiaryregidmapping regId = regIdRepo.findByBeneficiaryID(benId); - if (regId != null && regId.getBenRegId() != null) { List benMapObjArr = mappingRepo.getBenMappingByRegID(regId.getBenRegId()); @@ -398,11 +419,11 @@ public List getBeneficiariesByPhoneNum(String phoneNum) * @throws Exception */ - public List getBeneficiaryByHealthID_AbhaAddress(String healthID) + public List getBeneficiaryByHealthIDAbhaAddress(String healthID) throws NoResultException, QueryTimeoutException, Exception { List beneficiaryList = new ArrayList(); try { - List regIDList = v_BenAdvanceSearchRepo.getBenRegIDByHealthID_AbhaAddress(healthID); + List regIDList = v_BenAdvanceSearchRepo.getBenRegIDByHealthIDAbhaAddress(healthID); if (regIDList != null && regIDList.size() > 0) { for (BigInteger benRegID : regIDList) { if (benRegID != null) { @@ -429,11 +450,11 @@ public List getBeneficiaryByHealthID_AbhaAddress(String health * @throws Exception */ - public List getBeneficiaryByHealthIDNo_AbhaIdNo(String healthIDNo) + public List getBeneficiaryByHealthIDNoAbhaIdNo(String healthIDNo) throws NoResultException, QueryTimeoutException, Exception { List beneficiaryList = new ArrayList(); try { - List regIDList = v_BenAdvanceSearchRepo.getBenRegIDByHealthIDNo_AbhaIdNo(healthIDNo); + List regIDList = v_BenAdvanceSearchRepo.getBenRegIDByHealthIDNoAbhaIdNo(healthIDNo); if (regIDList != null && regIDList.size() > 0) { for (BigInteger benRegID : regIDList) { if (benRegID != null) { @@ -487,6 +508,28 @@ public List searhBeneficiaryByFamilyId(String familyId) return beneficiaryList; } + public List searchBeneficiaryByBlockIdAndLastModifyDate(Integer blockID, Timestamp lastModDate) { + + List beneficiaryList = new ArrayList(); + try { + // find benmap ids + List benMappingsList = mappingRepo.findByBeneficiaryDetailsByBlockIDAndLastModifyDate(blockID, lastModDate); + if (benMappingsList == null || benMappingsList.size() == 0){ + return beneficiaryList; + } + else { + for (MBeneficiarymapping benMapOBJ : benMappingsList) { + beneficiaryList.add(this.getBeneficiariesDTO(benMapOBJ)); + } + } + + } catch (Exception e) { + logger.error( + "error in beneficiary search for familyId : " + blockID + " error : " + e.getLocalizedMessage()); + } + return beneficiaryList; + } + public List searhBeneficiaryByGovIdentity(String identity) throws NoResultException, QueryTimeoutException, Exception { List beneficiaryList = new ArrayList(); @@ -540,27 +583,22 @@ private MBeneficiarymapping getBeneficiariesDTONew(Object[] benMapArr) { } benMapOBJ.setMBeneficiaryaddress(addressRepo - .getWith_vanSerialNo_vanID(getBigIntegerValueFromObject(benMapArr[1]), (Integer) benMapArr[8])); + .getWithVanSerialNoVanID(getBigIntegerValueFromObject(benMapArr[1]), (Integer) benMapArr[8])); benMapOBJ.setMBeneficiaryconsent(consentRepo - .getWith_vanSerialNo_vanID(getBigIntegerValueFromObject(benMapArr[2]), (Integer) benMapArr[8])); + .getWithVanSerialNoVanID(getBigIntegerValueFromObject(benMapArr[2]), (Integer) benMapArr[8])); benMapOBJ.setMBeneficiarycontact(contactRepo - .getWith_vanSerialNo_vanID(getBigIntegerValueFromObject(benMapArr[3]), (Integer) benMapArr[8])); + .getWithVanSerialNoVanID(getBigIntegerValueFromObject(benMapArr[3]), (Integer) benMapArr[8])); benMapOBJ.setMBeneficiarydetail(detailRepo .getWith_vanSerialNo_vanID(getBigIntegerValueFromObject(benMapArr[4]), (Integer) benMapArr[8])); benMapOBJ.setMBeneficiaryregidmapping(regIdRepo - .getWith_vanSerialNo_vanID(getBigIntegerValueFromObject(benMapArr[5]), (Integer) benMapArr[8])); + .getWithVanSerialNoVanID(getBigIntegerValueFromObject(benMapArr[5]), (Integer) benMapArr[8])); benMapOBJ.setMBeneficiaryImage( - imageRepo.getWith_vanSerialNo_vanID((Long) benMapArr[6], (Integer) benMapArr[8])); + imageRepo.getWithVanSerialNoVanID((Long) benMapArr[6], (Integer) benMapArr[8])); benMapOBJ.setMBeneficiaryAccount(accountRepo - .getWith_vanSerialNo_vanID(getBigIntegerValueFromObject(benMapArr[7]), (Integer) benMapArr[8])); + .getWithVanSerialNoVanID(getBigIntegerValueFromObject(benMapArr[7]), (Integer) benMapArr[8])); - // family -// benMapOBJ.setMBeneficiaryfamilymappings( -// familyMapRepo.findByBenMapIdOrderByBenFamilyMapIdAsc(getBigIntegerValueFromObject(benMapArr[9]))); benMapOBJ.setMBeneficiaryfamilymappings(familyMapRepo.findByBenMapIdAndVanIDOrderByBenFamilyMapIdAsc( getBigIntegerValueFromObject(benMapArr[9]), (Integer) benMapArr[8])); -// benMapOBJ -// .setMBeneficiaryidentities(identityRepo.findByBenMapId(getBigIntegerValueFromObject(benMapArr[9]))); benMapOBJ.setMBeneficiaryidentities(identityRepo .findByBenMapIdAndVanID(getBigIntegerValueFromObject(benMapArr[9]), (Integer) benMapArr[8])); @@ -580,14 +618,14 @@ private MBeneficiarymapping getBeneficiariesDTONewPartial(Object[] benMapArr) { benMapOBJ.setMBeneficiarydetail(detailRepo .getWith_vanSerialNo_vanID(getBigIntegerValueFromObject(benMapArr[4]), (Integer) benMapArr[8])); benMapOBJ.setMBeneficiaryregidmapping(regIdRepo - .getWith_vanSerialNo_vanID(getBigIntegerValueFromObject(benMapArr[5]), (Integer) benMapArr[8])); + .getWithVanSerialNoVanID(getBigIntegerValueFromObject(benMapArr[5]), (Integer) benMapArr[8])); } return benMapOBJ; } // 03-10-2018 // get ben mapping object from v_benadvancesearch - private MBeneficiarymapping getBeneficiariesDTONew1(V_BenAdvanceSearch benAdvanceSearchOBJ) { + private MBeneficiarymapping getBeneficiariesDTONew1(VBenAdvanceSearch benAdvanceSearchOBJ) { MBeneficiarymapping benMapOBJ = new MBeneficiarymapping(); // for createdBy & createdDate @@ -607,18 +645,18 @@ private MBeneficiarymapping getBeneficiariesDTONew1(V_BenAdvanceSearch benAdvanc benMapOBJ.setCreatedDate(benDetailsOBJ.getCreatedDate()); benMapOBJ.setMBeneficiaryaddress(addressRepo - .getWith_vanSerialNo_vanID(benAdvanceSearchOBJ.getBenAddressID(), benAdvanceSearchOBJ.getVanID())); + .getWithVanSerialNoVanID(benAdvanceSearchOBJ.getBenAddressID(), benAdvanceSearchOBJ.getVanID())); benMapOBJ.setMBeneficiaryconsent(consentRepo - .getWith_vanSerialNo_vanID(benAdvanceSearchOBJ.getBenConsentID(), benAdvanceSearchOBJ.getVanID())); + .getWithVanSerialNoVanID(benAdvanceSearchOBJ.getBenConsentID(), benAdvanceSearchOBJ.getVanID())); benMapOBJ.setMBeneficiarycontact(contactRepo - .getWith_vanSerialNo_vanID(benAdvanceSearchOBJ.getBenContactID(), benAdvanceSearchOBJ.getVanID())); + .getWithVanSerialNoVanID(benAdvanceSearchOBJ.getBenContactID(), benAdvanceSearchOBJ.getVanID())); benMapOBJ.setMBeneficiarydetail(benDetailsOBJ); - benMapOBJ.setMBeneficiaryregidmapping(regIdRepo.getWith_vanSerialNo_vanID(benAdvanceSearchOBJ.getBenRegID(), + benMapOBJ.setMBeneficiaryregidmapping(regIdRepo.getWithVanSerialNoVanID(benAdvanceSearchOBJ.getBenRegID(), benAdvanceSearchOBJ.getVanID())); - benMapOBJ.setMBeneficiaryImage(imageRepo.getWith_vanSerialNo_vanID(benAdvanceSearchOBJ.getBenImageID(), + benMapOBJ.setMBeneficiaryImage(imageRepo.getWithVanSerialNoVanID(benAdvanceSearchOBJ.getBenImageID(), benAdvanceSearchOBJ.getVanID())); benMapOBJ.setMBeneficiaryAccount(accountRepo - .getWith_vanSerialNo_vanID(benAdvanceSearchOBJ.getBenAccountID(), benAdvanceSearchOBJ.getVanID())); + .getWithVanSerialNoVanID(benAdvanceSearchOBJ.getBenAccountID(), benAdvanceSearchOBJ.getVanID())); benMapOBJ.setMBeneficiaryfamilymappings( familyMapRepo.findByBenMapIdOrderByBenFamilyMapIdAsc(benAdvanceSearchOBJ.getVanSerialNo())); @@ -667,8 +705,6 @@ public void editIdentity(IdentityEditDTO identity) throws MissingMandatoryFields throw new MissingMandatoryFieldsException("Either of BeneficiaryID or Beneficiary Reg Id is mandatory."); } - // SUNIL TODO: Logic for the various Edit scenarios goes here - MBeneficiarymapping benMapping = mappingRepo.findByBenRegIdOrderByBenMapIdAsc(identity.getBeneficiaryRegId()); // change in self details is implement here and other details here @@ -679,15 +715,10 @@ public void editIdentity(IdentityEditDTO identity) throws MissingMandatoryFields || Boolean.TRUE.equals(identity.getChangeInOtherDetails()) || Boolean.TRUE.equals(identity.getChangeInAssociations())) { - // MBeneficiarydetail mbDetl = - // detailRepo.findOne(benMapping.getMBeneficiarydetail().getBeneficiaryDetailsId()); - MBeneficiarydetail mbDetl = editMapper.IdentityEditDTOToMBeneficiarydetail(identity); + MBeneficiarydetail mbDetl = editMapper.identityEditDTOToMBeneficiarydetail(identity); /** * new logic for data sync, 26-09-2018 */ - // next commented statement is old one - // mbDetl.setBeneficiaryDetailsId(benMapping.getMBeneficiarydetail().getBeneficiaryDetailsId()); - // getting correct beneficiaryDetailsId by passing vanSerialNo & vanID MBeneficiarydetail benDetails = detailRepo.findBenDetailsByVanSerialNoAndVanID( benMapping.getMBeneficiarydetail().getBeneficiaryDetailsId(), benMapping.getVanID()); @@ -709,9 +740,12 @@ public void editIdentity(IdentityEditDTO identity) throws MissingMandatoryFields * END */ - // old logic - // mbDetl.setBeneficiaryDetailsId(benMapping.getMBeneficiarydetail().getBeneficiaryDetailsId()); logger.debug("Beneficiary details to update = " + new OutputMapper().gson().toJson(mbDetl)); + if(benDetails.getEmergencyRegistration() != null && benDetails.getEmergencyRegistration()) { + mbDetl.setEmergencyRegistration(true); + }else { + mbDetl.setEmergencyRegistration(false); + } detailRepo.save(mbDetl); } @@ -719,13 +753,11 @@ public void editIdentity(IdentityEditDTO identity) throws MissingMandatoryFields logger.debug("identity.getChangeInAddress = " + identity.getChangeInAddress()); if (Boolean.TRUE.equals(identity.getChangeInAddress())) { - MBeneficiaryaddress mbAddr = editMapper.IdentityEditDTOToMBeneficiaryaddress(identity); + MBeneficiaryaddress mbAddr = editMapper.identityEditDTOToMBeneficiaryaddress(identity); /** * new logic for data sync, 26-09-2018 */ - // next commented statement is old one - // mbAddr.setBenAddressID(benMapping.getMBeneficiaryaddress().getBenAddressID()); // getting correct beneficiaryDetailsId by passing vanSerialNo & vanID BigInteger benAddressID = addressRepo.findIdByVanSerialNoAndVanID( @@ -740,8 +772,6 @@ public void editIdentity(IdentityEditDTO identity) throws MissingMandatoryFields * END */ - // old logic - // mbAddr.setBenAddressID(benMapping.getMBeneficiaryaddress().getBenAddressID()); logger.debug("Beneficiary address to update = " + OutputMapper.gson().toJson(mbAddr)); addressRepo.save(mbAddr); } @@ -750,13 +780,11 @@ public void editIdentity(IdentityEditDTO identity) throws MissingMandatoryFields logger.debug("identity.getChangeInContacts = " + identity.getChangeInContacts()); if (Boolean.TRUE.equals(identity.getChangeInContacts())) { - MBeneficiarycontact benCon = editMapper.IdentityEdiDTOToMBeneficiarycontact(identity); + MBeneficiarycontact benCon = editMapper.identityEdiDTOToMBeneficiarycontact(identity); /** * new logic for data sync, 26-09-2018 */ - // next commented statement is old one - // benCon.setBenContactsID(benMapping.getMBeneficiarycontact().getBenContactsID()); // getting correct beneficiaryDetailsId by passing vanSerialNo & vanID BigInteger benContactsID = contactRepo.findIdByVanSerialNoAndVanID( @@ -772,7 +800,6 @@ public void editIdentity(IdentityEditDTO identity) throws MissingMandatoryFields */ logger.debug("Beneficiary contact to update = " + OutputMapper.gson().toJson(benCon)); - // benCon.setBenContactsID(benMapping.getMBeneficiarycontact().getBenContactsID()); contactRepo.save(benCon); } @@ -782,13 +809,9 @@ public void editIdentity(IdentityEditDTO identity) throws MissingMandatoryFields MBeneficiaryidentity beneficiaryidentity; List identities = editMapper - .IdentityEditDTOListToMBeneficiaryidentityList(identity.getIdentities()); + .identityEditDTOListToMBeneficiaryidentityList(identity.getIdentities()); logger.debug("identities to upsert = " + OutputMapper.gson().toJson(identities)); - // old logic for getting beneficiary identities, 26-09-2018 - // List idList = - // identityRepo.findByBenMapId(benMapping.getBenMapId()); - // new logic for getting beneficiary identities, 26-09-2018 List idList = identityRepo.findByBenMapId(benMapping.getVanSerialNo()); @@ -798,15 +821,11 @@ public void editIdentity(IdentityEditDTO identity) throws MissingMandatoryFields while (iterator.hasNext()) { beneficiaryidentity = iterator.next(); - // old logic, 26-09-2018 - // beneficiaryidentity.setBenMapId(benMapping.getBenMapId()); - // new logic, 26-09-2018 beneficiaryidentity.setBenMapId(benMapping.getVanSerialNo()); logger.debug("Beneficiary identity to update = " + OutputMapper.gson().toJson(beneficiaryidentity)); if (index < idList.size() && beneficiaryidentity.getBenIdentityId() == null) { beneficiaryidentity.setBenIdentityId(idList.get(index).getBenIdentityId()); - // identityRepo.save(beneficiaryidentity); } // new code to set vanID & parkingPlaceID for new record, 26-09-2018 @@ -814,21 +833,6 @@ public void editIdentity(IdentityEditDTO identity) throws MissingMandatoryFields beneficiaryidentity.setVanID(benMapping.getVanID()); beneficiaryidentity.setParkingPlaceID(benMapping.getParkingPlaceID()); } - // else - // { - /** - * add vanID & parkingPlaceID for data sync - */ - // if (identity != null && identity.getVanID() != null) - // beneficiaryidentity.setVanID(identity.getVanID()); - // if (identity != null && identity.getParkingPlaceId() != null) - // beneficiaryidentity.setParkingPlaceID(identity.getParkingPlaceId()); - /** - * END - */ - - // old logic, 26-09-2018 - // identityRepo.save(beneficiaryidentity); // new logic, 26-09-2018 MBeneficiaryidentity m = identityRepo.save(beneficiaryidentity); @@ -838,29 +842,18 @@ public void editIdentity(IdentityEditDTO identity) throws MissingMandatoryFields int i8 = identityRepo.updateVanSerialNo(m.getBenIdentityId()); } - // } index++; } } - // change other details are added here *** commented cause all details - // are - // available in ben details - // if(identity.getChangeInOtherDetails()){ - // } - // family detail changes are performing here logger.debug("identity.getChangeInFamilyDetails = " + identity.getChangeInFamilyDetails()); if (Boolean.TRUE.equals(identity.getChangeInFamilyDetails())) { List fbMaps = editMapper - .IdentityEditDTOListToMBeneficiaryfamilymappingList(identity.getBenFamilyDTOs()); + .identityEditDTOListToMBeneficiaryfamilymappingList(identity.getBenFamilyDTOs()); logger.debug("family map to upsert = " + OutputMapper.gson().toJson(fbMaps)); - // old logic, 26-09-2018 - // List fmList = familyMapRepo - // .findByBenMapIdOrderByBenFamilyMapIdAsc(benMapping.getBenMapId()); - // new logic, 26-09-2018 List fmList = familyMapRepo .findByBenMapIdOrderByBenFamilyMapIdAsc(benMapping.getVanSerialNo()); @@ -872,9 +865,6 @@ public void editIdentity(IdentityEditDTO identity) throws MissingMandatoryFields while (iterator.hasNext()) { familymapping = iterator.next(); - // old logic, 26-09-2018 - // familymapping.setBenMapId(benMapping.getBenMapId()); - // new logic, 26-09-2018 familymapping.setBenMapId(benMapping.getVanSerialNo()); @@ -888,9 +878,6 @@ public void editIdentity(IdentityEditDTO identity) throws MissingMandatoryFields familymapping.setParkingPlaceID(benMapping.getParkingPlaceID()); } - // old logic, 26-09-2018 - // familyMapRepo.save(familymapping); - // new logic, 26-09-2018 MBeneficiaryfamilymapping m = familyMapRepo.save(familymapping); @@ -951,17 +938,7 @@ public void editIdentity(IdentityEditDTO identity) throws MissingMandatoryFields imageRepo.save(beneficiaryImage); } - // end - - // change in association will be done here *** commented cause all - // details are - // available in ben details - // if(identity.getChangeInAssociations()) { - // - // } - logger.info("IdentityService.editIdentity - end. id = " + benMapping.getBenMapId()); - // return benMapping; } /** @@ -969,8 +946,6 @@ public void editIdentity(IdentityEditDTO identity) throws MissingMandatoryFields * @return */ - // SynchronousQueue queue = new - // SynchronousQueue(); ArrayDeque queue = new ArrayDeque(); public BeneficiaryCreateResp createIdentity(IdentityDTO identity) throws IEMRException { @@ -991,30 +966,17 @@ public BeneficiaryCreateResp createIdentity(IdentityDTO identity) throws IEMRExc regMap = queue.removeFirst(); } regMap.setReserved(true); + if (regMap.getCreatedDate() == null) { + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss.SSS"); + String DateToStoreInDataBase = sdf.format(new Date()); + Timestamp ts = Timestamp.valueOf(DateToStoreInDataBase); + regMap.setCreatedDate(ts); + } regIdRepo.save(regMap); regMap.setProvisioned(true); - /* - * synchronized (regIdRepo) { regMap = - * regIdRepo.findFirstByProvisionedAndReserved(false, false); - * - * if (regMap == null) throw new - * IEMRException("Beneficiary IDs are not available! Please allocate the IDs"); - * - * regMap.setReserved(true); - * - * regIdRepo.save(regMap); - * - * regMap.setProvisioned(true); } - */ - - // return regMap; - // }); - - // Future fAddress = executor.submit(() -> - // { logger.info("IdentityService.createIdentity - saving Address"); MBeneficiaryaddress mAddr = mapper.identityDTOToMBeneficiaryaddress(identity); logger.info("identity.getIsPermAddrSameAsCurrAddr = " + identity.getIsPermAddrSameAsCurrAddr()); @@ -1040,6 +1002,12 @@ public BeneficiaryCreateResp createIdentity(IdentityDTO identity) throws IEMRExc logger.debug("identity.getPermanentAddress = " + identity.getPermanentAddress()); mAddr.setEmergencyAddress(identity.getPermanentAddress()); } + if (mAddr.getCreatedDate() == null) { + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss.SSS"); + String DateToStoreInDataBase = sdf.format(new Date()); + Timestamp ts = Timestamp.valueOf(DateToStoreInDataBase); + mAddr.setCreatedDate(ts); + } mAddr = addressRepo.save(mAddr); logger.info("IdentityService.createIdentity - Address saved - id = " + mAddr.getBenAddressID()); @@ -1047,77 +1015,74 @@ public BeneficiaryCreateResp createIdentity(IdentityDTO identity) throws IEMRExc // Update van serial no for data sync int i = addressRepo.updateVanSerialNo(mAddr.getBenAddressID()); - // return mAddr; - // }); - - // Future fConsent = executor.submit(() -> - // { MBeneficiaryconsent mConsnt = mapper.identityDTOToDefaultMBeneficiaryconsent(identity, true, false); logger.info("IdentityService.createIdentity - saving Consent"); + if (mConsnt.getCreatedDate() == null) { + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss.SSS"); + String DateToStoreInDataBase = sdf.format(new Date()); + Timestamp ts = Timestamp.valueOf(DateToStoreInDataBase); + mConsnt.setCreatedDate(ts); + } mConsnt = consentRepo.save(mConsnt); logger.info("IdentityService.createIdentity - Consent saved - id = " + mConsnt.getBenConsentID()); // Update van serial no for data sync int i1 = consentRepo.updateVanSerialNo(mConsnt.getBenConsentID()); - // return mConsnt; - // }); - - // Future fContact = executor.submit(() -> - // { logger.info("IdentityService.createIdentity - saving Contacts"); MBeneficiarycontact mContc = mapper.identityDTOToMBeneficiarycontact(identity); + if (mContc.getCreatedDate() == null) { + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss.SSS"); + String DateToStoreInDataBase = sdf.format(new Date()); + Timestamp ts = Timestamp.valueOf(DateToStoreInDataBase); + mContc.setCreatedDate(ts); + } mContc = contactRepo.save(mContc); logger.info("IdentityService.createIdentity - Contacts saved - id = " + mContc.getBenContactsID()); // Update van serial no for data sync int i2 = contactRepo.updateVanSerialNo(mContc.getBenContactsID()); - // return mContc; - // }); - - // Future fDetail = executor.submit(() -> - // { logger.info("IdentityService.createIdentity - saving Details"); MBeneficiarydetail mDetl = mapper.identityDTOToMBeneficiarydetail(identity); + if (mDetl.getCreatedDate() == null) { + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss.SSS"); + String DateToStoreInDataBase = sdf.format(new Date()); + Timestamp ts = Timestamp.valueOf(DateToStoreInDataBase); + mDetl.setCreatedDate(ts); + } mDetl = detailRepo.save(mDetl); logger.info("IdentityService.createIdentity - Details saved - id = " + mDetl.getBeneficiaryDetailsId()); // Update van serial no for data sync int i3 = detailRepo.updateVanSerialNo(mDetl.getBeneficiaryDetailsId()); - // return mDetl; - // }); - - // start - // Feature used in outreach - // Future fBankDetails = executor.submit(() -> - // { MBeneficiaryAccount bankOBJ = mapper.identityDTOToMBeneficiaryAccount(identity); + if (bankOBJ.getCreatedDate() == null) { + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss.SSS"); + String DateToStoreInDataBase = sdf.format(new Date()); + Timestamp ts = Timestamp.valueOf(DateToStoreInDataBase); + bankOBJ.setCreatedDate(ts); + } bankOBJ = accountRepo.save(bankOBJ); // Update van serial no for data sync int i4 = accountRepo.updateVanSerialNo(bankOBJ.getBenAccountID()); - // return bankOBJ; - // }); - - // Future fBenImage = executor.submit(() -> - // { MBeneficiaryImage benImageOBJ = mapper.identityDTOToMBeneficiaryImage(identity); + if (benImageOBJ.getCreatedDate() == null) { + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss.SSS"); + String DateToStoreInDataBase = sdf.format(new Date()); + Timestamp ts = Timestamp.valueOf(DateToStoreInDataBase); + benImageOBJ.setCreatedDate(ts); + } benImageOBJ = imageRepo.save(benImageOBJ); // Update van serial no for data sync int i5 = imageRepo.updateVanSerialNo(benImageOBJ.getBenImageId()); - // return benImageOBJ; - // }); - // end - logger.info("IdentityService.createIdentity - saving Mapping"); MBeneficiarymapping benMapping = mapper.identityDTOToMBeneficiarymapping(identity); - // try - // { benMapping.setMBeneficiarycontact(mContc); benMapping.setMBeneficiaryaddress(mAddr); benMapping.setMBeneficiaryconsent(mConsnt); @@ -1137,42 +1102,25 @@ public BeneficiaryCreateResp createIdentity(IdentityDTO identity) throws IEMRExc // END regIdRepo.save(regMap); - // } catch (InterruptedException | ExecutionException e) - // { - // logger.info("error under catch interrupted exception - benMapping: " - // + benMapping); - // - // e.printStackTrace(); - // if (benMapping.getMBeneficiarycontact() != null) - // { - // - // logger.info("INSIDE IF IT IS THERE "); - // contactRepo.delete(benMapping.getMBeneficiarycontact().getBenContactsID()); - // } - // if (benMapping.getMBeneficiaryaddress() != null) - // { - // - // logger.info("INSIDE IF IT IS THERE "); - // regIdRepo.delete(benMapping.getMBeneficiaryaddress().getBenAddressID()); - // } - // e.printStackTrace(); - // } + if (benMapping.getCreatedDate() == null) { + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss.SSS"); + String DateToStoreInDataBase = sdf.format(new Date()); + Timestamp ts = Timestamp.valueOf(DateToStoreInDataBase); + benMapping.setCreatedDate(ts); + } benMapping = mappingRepo.save(benMapping); // Update van serial no for data sync int i6 = mappingRepo.updateVanSerialNo(benMapping.getBenMapId()); final MBeneficiarymapping benMapping2 = benMapping; - // Future> fFamily = executor.submit(() - // -> - // { logger.info("IdentityService.createIdentity - saving FamilyMaps"); List fIdenList = new ArrayList(); List fList = new ArrayList(); // new logic (18-09-2018, Neeraj kumar) if (null != identity.getBenFamilyDTOs()) { - fIdenList = mapper.IdentityDTOListToMBeneficiaryfamilymappingList(identity.getBenFamilyDTOs()); + fIdenList = mapper.identityDTOListToMBeneficiaryfamilymappingList(identity.getBenFamilyDTOs()); if (fIdenList != null) { for (MBeneficiaryfamilymapping bfMapping : fIdenList) { bfMapping.setBenMapId(benMapping2.getBenMapId()); @@ -1196,39 +1144,18 @@ public BeneficiaryCreateResp createIdentity(IdentityDTO identity) throws IEMRExc } } - /** - * commenting below code as optimization process, ABOVE code replaced it - * - */ - - // ListIterator iterator = fIdenList.listIterator(); - // while (iterator.hasNext()) { - // - // MBeneficiaryfamilymapping fMap = iterator.next(); - // fMap.setBenMapId(benMapping2.getBenMapId()); - // if (fMap.getAssociatedBenRegId() == null) { - // fMap.setAssociatedBenRegId(benMapping2.getBenRegId()); - // } - // fMap = familyMapRepo.save(fMap); - // fList.add(fMap); - // } - /** - * END - * - */ } logger.info("IdentityService.createIdentity - FamilyMap saved "); - // return fList; - // }); - - // Future> fService = - // executor.submit(() -> - // { logger.info("IdentityService.createIdentity - saving Service Map"); MBeneficiaryservicemapping sMap = mapper.identityDTOToMBeneficiaryservicemapping(identity); - // sMap.setMBeneficiarymapping(benMapping); sMap.setBenMapId(benMapping.getBenMapId()); + if (sMap.getCreatedDate() == null) { + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss.SSS"); + String DateToStoreInDataBase = sdf.format(new Date()); + Timestamp ts = Timestamp.valueOf(DateToStoreInDataBase); + sMap.setCreatedDate(ts); + } sMap = serviceMapRepo.save(sMap); logger.info("IdentityService.createIdentity - ServiceMap saved - id = " + sMap.getBenServiceMapID()); @@ -1237,16 +1164,11 @@ public BeneficiaryCreateResp createIdentity(IdentityDTO identity) throws IEMRExc List sList = new ArrayList(); sList.add(sMap); - // return sList; - // }); - - // Future> fIdentity = executor.submit(() -> - // { logger.info("IdentityService.createIdentity - saving Identity"); List mIdenList2 = new ArrayList(); if (null != identity.getIdentities()) { List mIdenList = mapper - .IdentityDTOListToMBeneficiaryidentityList(identity.getIdentities()); + .identityDTOListToMBeneficiaryidentityList(identity.getIdentities()); mIdenList.forEach(mIden -> { mIden.setBenMapId(benMapping2.getBenMapId()); mIden.setCreatedBy(identity.getAgentName()); @@ -1268,17 +1190,8 @@ public BeneficiaryCreateResp createIdentity(IdentityDTO identity) throws IEMRExc }); } - // commented on 28-09-2018 - // benMapping.setMBeneficiaryfamilymappings(fList); - // benMapping.setMBeneficiaryservicemappings(sList); - // benMapping.setMBeneficiaryidentities(mIdenList2); - // - // - // benMapping = mappingRepo.save(benMapping); - // end - logger.info("IdentityService.createIdentity - end. id = " + benMapping.getBenMapId()); - return partialMapper.MBeneficiarymappingToBeneficiaryCreateResp(benMapping); + return partialMapper.mBeneficiarymappingToBeneficiaryCreateResp(benMapping); } public String getReservedIdList() { @@ -1327,52 +1240,11 @@ public String unReserveIdentity(ReserveIdentityDTO unReserve) { * @param BenRegIds * @return {@link List} Beneficiaries */ - // public List - // getBeneficiariesPartialDeatilsByBenRegIdList(List BenRegIds) - // { - // - // logger.info("IdentityService.getBeneficiariesPartialDeatilsByBenRegId - - // end"); - // List list = new - // ArrayList(); - // List benMapIDList = - // (List) regIdRepo.findAll(BenRegIds); - // ListIterator benMapListIter = - // benMapIDList.listIterator(); - // - // MBeneficiarydetail beneficiarydetail; - // MBeneficiarymapping benMap; - // while (benMapListIter.hasNext()) - // { - // - // MBeneficiaryregidmapping regId = benMapListIter.next(); - // beneficiarydetail = - // detailRepo.findPartialBeneficiaryDetailByBenRegId(regId.getBenRegId()); - // benMap = new MBeneficiarymapping(); - // benMap.setMBeneficiarydetail(beneficiarydetail); - // benMap.setMBeneficiaryregidmapping(regId); - // list.add(partialMapper.MBeneficiarymappingToBeneficiariesPartialDTO(benMap)); - // } - // - // logger.info("IdetityService.getBeneficiariesPartialDeatilsByBenRegId - - // end"); - // - // return list; - // } public List getBeneficiariesPartialDeatilsByBenRegIdList(List BenRegIds) { logger.info("IdentityService.getBeneficiariesPartialDeatilsByBenRegId - end"); List list = new ArrayList(); - // old logic - // List benMapIDList = (List) - // mappingRepo - // .findAllByBenRegIdOrderByBenMapIdAsc(BenRegIds); - // // List> futures = new ArrayList>(); - // for (MBeneficiarymapping benMap : benMapIDList) { - // list.add(partialMapper.MBeneficiarymappingToBeneficiariesPartialDTO(benMap)); - // } - // end // new logic, 19-12-2018 List benMapObjArr = new ArrayList<>(); @@ -1381,9 +1253,8 @@ public List getBeneficiariesPartialDeatilsByBenRegIdLis if (benMapObjArr != null && benMapObjArr.size() > 0) { for (Object[] objArr : benMapObjArr) { MBeneficiarymapping benMap = this.getBeneficiariesDTONewPartial(objArr); -// logger.info("benMap " + benMap); - list.add(partialMapper.MBeneficiarymappingToBeneficiariesPartialDTO(benMap)); + list.add(partialMapper.mBeneficiarymappingToBeneficiariesPartialDTO(benMap)); } } logger.info("benMap size" + (list.size() == 0 ? "No Beneficiary Found" : list.size())); @@ -1399,80 +1270,21 @@ public List getBeneficiariesPartialDeatilsByBenRegIdLis * Get partial details of beneficiaries (first name middle name and last name) * list on benId's list * - * @param BenRegIds + * @param benRegIds * @return {@link List} Beneficiaries */ - // public List - // getBeneficiariesDeatilsByBenRegIdList(List BenRegIds) - // { - // - // logger.info("IdentityService.getBeneficiariesPartialDeatilsByBenRegId - - // end"); - // List list = new ArrayList(); - // List benMapIDList = - // (List) regIdRepo.findAll(BenRegIds); - // List benMapList = new - // ArrayList(); - // - // benMapIDList.forEach(benIdMap -> - // { - // - // MBeneficiarymapping benMap = - // mappingRepo.findByBenRegIdOrderByBenMapIdAsc(benIdMap.getBenRegId()); - // benMapList.add(benMap); - // }); - // - // List> futures = new ArrayList>(); - // benMapList.forEach(benMap -> - // { - // Future future = executor.submit(() -> - // { - // - // list.add(this.getBeneficiariesDTO(benMap)); - // logger.info("benMapId: " + benMap.getBenMapId() + " :: BenId: " - // + benMap.getMBeneficiaryregidmapping().getBeneficiaryID()); - // }); - // futures.add(future); - // }); - // - // try - // { - // for (Future future : futures) - // { - // future.get(); - // } - // } catch (InterruptedException | ExecutionException e) - // { - // e.printStackTrace(); - // } - // - // logger.info("IdetityService.getBeneficiariesPartialDeatilsByBenRegId - - // end"); - // - // return list; - // } - public List getBeneficiariesDeatilsByBenRegIdList(List BenRegIds) { + public List getBeneficiariesDeatilsByBenRegIdList(List benRegIds) { logger.info("IdentityService.getBeneficiariesDeatilsByBenRegIdList - end"); List list = new ArrayList(); - // old logic - // List benMapIDList = (List) - // mappingRepo - // .findAllByBenRegIdOrderByBenMapIdAsc(BenRegIds); - // - // for (MBeneficiarymapping benMap : benMapIDList) { - // list.add(getBeneficiariesDTO(benMap)); - // } - // end // new logic, 19-12-2018 List benMapObjArr = new ArrayList<>(); - if (BenRegIds != null && BenRegIds.size() > 0) { - benMapObjArr = mappingRepo.getBenMappingByRegIDList(BenRegIds); + if (benRegIds != null && benRegIds.size() > 0) { + benMapObjArr = mappingRepo.getBenMappingByRegIDList(benRegIds); if (benMapObjArr != null && benMapObjArr.size() > 0) { for (Object[] objArr : benMapObjArr) { MBeneficiarymapping benMap = this.getBeneficiariesDTONew(objArr); -// logger.info("benMap " + benMap); list.add(this.getBeneficiariesDTO(benMap)); } @@ -1492,17 +1304,14 @@ public List getBeneficiariesDeatilsByBenRegIdList(List abhaList = v_BenAdvanceSearchRepo.getBenAbhaDetailsByBenRegID(bdto.getBenRegId()); if (abhaList != null && abhaList.size() > 0) { List abhaDTOList = new ArrayList<>(); @@ -1524,7 +1333,6 @@ private BeneficiariesDTO getBeneficiariesDTO(MBeneficiarymapping benMap) { } bdto.setAbhaDetails(abhaDTOList); } - // System.out.println("ABHA end...."); return bdto; } @@ -1538,30 +1346,11 @@ public List getBeneficiaries(IdentityDTO identityDTO) { List list = new ArrayList(); List benMapList = mappingRepo.finiteSearch(identityDTO); - // List> futures = new ArrayList>(); - // benMapList.forEach(benMap -> - // { - // Future future = executor.submit(() -> - // { for (MBeneficiarymapping benMap : benMapList) { list.add(this.getBeneficiariesDTO(benMap)); logger.info("benMapId: " + benMap.getBenMapId() + " :: BenId: " + benMap.getMBeneficiaryregidmapping().getBeneficiaryID()); } - // }); - // futures.add(future); - // }); - - // try - // { - // for (Future future : futures) - // { - // future.get(); - // } - // } catch (InterruptedException | ExecutionException e) - // { - // e.printStackTrace(); - // } return list; } @@ -1574,14 +1363,12 @@ public String getBeneficiaryImage(String requestOBJ) { OutputResponse response = new OutputResponse(); try { Map benImageMap = new HashMap(); - // String benImage = null; if (requestOBJ != null) { JsonObject obj = new JsonObject(); JsonParser jsnParser = new JsonParser(); JsonElement jsnElmnt = jsnParser.parse(requestOBJ); obj = jsnElmnt.getAsJsonObject(); - // JSONObject obj = new JSONObject(requestOBJ); if (obj != null && obj.has("beneficiaryRegID") && obj.get("beneficiaryRegID") != null) { MBeneficiarymapping benMap = mappingRepo .getBenImageIdByBenRegID(obj.get("beneficiaryRegID").getAsBigInteger()); @@ -1610,33 +1397,11 @@ public String getBeneficiaryImage(String requestOBJ) { } public void editIdentityEducationOrCommunity(IdentityEditDTO identity) throws MissingMandatoryFieldsException { - // TODO Auto-generated method stub logger.info("IdentityService.editIdentityEducationorCommunity - start"); if (identity.getBeneficiaryRegId() == null && null == identity.getBeneficaryId()) { throw new MissingMandatoryFieldsException("Either of BeneficiaryID or Beneficiary Reg Id is mandatory."); } - // SUNIL TODO: Logic for the various Edit scenarios goes here - // old logic : 13-11-2018 - // MBeneficiarymapping benMapping = - // mappingRepo.findByBenRegIdOrderByBenMapIdAsc(identity.getBeneficiaryRegId()); - // MBeneficiarydetail mbDetl = - // editMapper.IdentityEditDTOToMBeneficiarydetail(identity); - // logger.debug("Beneficiary details to update = " + new - // OutputMapper().gson().toJson(mbDetl)); - // mbDetl.setBeneficiaryDetailsId(benMapping.getMBeneficiarydetail().getBeneficiaryDetailsId()); - // if (benMapping != null && benMapping.getMBeneficiarydetail() != null - // && benMapping.getMBeneficiarydetail().getBeneficiaryDetailsId() != null) { - // if (identity.getCommunityId() != null) { - // detailRepo.updateCommunity(benMapping.getMBeneficiarydetail().getBeneficiaryDetailsId(), - // identity.getCommunityId()); - // } - // if (identity.getEducationId() != null) { - // detailRepo.updateEducation(benMapping.getMBeneficiarydetail().getBeneficiaryDetailsId(), - // identity.getEducationId()); - // } - // } - // new logic : 13-11-2018 MBeneficiarymapping benMapping = mappingRepo.findByBenRegIdOrderByBenMapIdAsc(identity.getBeneficiaryRegId()); if (benMapping != null && benMapping.getBenDetailsId() != null && benMapping.getVanID() != null) { @@ -1674,15 +1439,11 @@ public int importBenIdToLocalServer(List benIdImportDTOList) { objArr[5] = false; dataList.add(objArr); -// obj.setProvisioned(false); -// obj.setReserved(false); System.out.println("regid :" + obj.getBenRegId() + " - benid :" + obj.getBeneficiaryID()); } int[] i = jdbcTemplate.batchUpdate(query, dataList); -// ArrayList rs = (ArrayList) regIdRepo -// .save(mBeneficiaryregidmappingList); return i.length; } else return 0; diff --git a/src/main/java/com/iemr/common/identity/service/familyTagging/FamilyTagService.java b/src/main/java/com/iemr/common/identity/service/familyTagging/FamilyTagService.java index 61bc40b..85e8cfb 100644 --- a/src/main/java/com/iemr/common/identity/service/familyTagging/FamilyTagService.java +++ b/src/main/java/com/iemr/common/identity/service/familyTagging/FamilyTagService.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.service.familyTagging; import com.iemr.common.identity.exception.IEMRException; diff --git a/src/main/java/com/iemr/common/identity/service/familyTagging/FamilyTagServiceImpl.java b/src/main/java/com/iemr/common/identity/service/familyTagging/FamilyTagServiceImpl.java index ab6e83a..e28fa69 100644 --- a/src/main/java/com/iemr/common/identity/service/familyTagging/FamilyTagServiceImpl.java +++ b/src/main/java/com/iemr/common/identity/service/familyTagging/FamilyTagServiceImpl.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.service.familyTagging; import java.math.BigInteger; diff --git a/src/main/java/com/iemr/common/identity/service/rmnch/RmnchDataSyncService.java b/src/main/java/com/iemr/common/identity/service/rmnch/RmnchDataSyncService.java index be9855b..1d343d4 100644 --- a/src/main/java/com/iemr/common/identity/service/rmnch/RmnchDataSyncService.java +++ b/src/main/java/com/iemr/common/identity/service/rmnch/RmnchDataSyncService.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.service.rmnch; public interface RmnchDataSyncService { diff --git a/src/main/java/com/iemr/common/identity/service/rmnch/RmnchDataSyncServiceImpl.java b/src/main/java/com/iemr/common/identity/service/rmnch/RmnchDataSyncServiceImpl.java index f089192..ff4b24e 100644 --- a/src/main/java/com/iemr/common/identity/service/rmnch/RmnchDataSyncServiceImpl.java +++ b/src/main/java/com/iemr/common/identity/service/rmnch/RmnchDataSyncServiceImpl.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.service.rmnch; import java.math.BigInteger; @@ -27,10 +48,10 @@ import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.google.gson.JsonParser; -import com.iemr.common.identity.controller.rmnch.RmnchMobileAppController; +import com.iemr.common.identity.controller.rmnch.RMNCHMobileAppController; import com.iemr.common.identity.data.rmnch.BenHealthIDDetails; import com.iemr.common.identity.data.rmnch.GetBenRequestHandler; -import com.iemr.common.identity.data.rmnch.NCD_TB_HRP_data; +import com.iemr.common.identity.data.rmnch.NcdTbHrpData; import com.iemr.common.identity.data.rmnch.RMNCHBeneficiaryDetailsRmnch; import com.iemr.common.identity.data.rmnch.RMNCHBornBirthDetails; import com.iemr.common.identity.data.rmnch.RMNCHCBACdetails; @@ -62,7 +83,7 @@ @PropertySource("classpath:application.properties") public class RmnchDataSyncServiceImpl implements RmnchDataSyncService { - private Logger logger = LoggerFactory.getLogger(RmnchMobileAppController.class); + private Logger logger = LoggerFactory.getLogger(RMNCHMobileAppController.class); private ConfigProperties properties; @Value("${door-to-door-page-size}") private String door_to_door_page_size; @@ -104,8 +125,6 @@ public String syncDataToAmrit(String requestOBJ) throws Exception { try { if (requestOBJ != null && !requestOBJ.isEmpty()) { - // JSONObject jsonOBJ = new JSONObject(requestOBJ); - JsonObject jsnOBJ = new JsonObject(); JsonParser jsnParser = new JsonParser(); JsonElement jsnElmnt = jsnParser.parse(requestOBJ); @@ -122,19 +141,17 @@ public String syncDataToAmrit(String requestOBJ) throws Exception { List benDetailsExtraList = Arrays.asList(objArr); if (benDetailsExtraList != null && benDetailsExtraList.size() > 0) { - benRegID = rMNCHMBenRegIdMapRepo.getRegID(benDetailsExtraList.get(0).getBenficieryid()); - - if (benRegID != null) { +// benRegID = rMNCHMBenRegIdMapRepo.getRegID(benDetailsExtraList.get(0).getBenficieryid()); +// +// if (benRegID != null) { + for (RMNCHBeneficiaryDetailsRmnch obj : benDetailsExtraList) { -// RMNCHBeneficiaryDetailsRmnch temp = rMNCHBeneficiaryDetailsRmnchRepo -// .getByIdAndVanID(obj.getId(), obj.getVanID()); + benRegID = rMNCHMBenRegIdMapRepo.getRegID(obj.getBenficieryid()); obj.setBenRegId(benRegID); RMNCHBeneficiaryDetailsRmnch temp = rMNCHBeneficiaryDetailsRmnchRepo .getByRegID(benRegID); if (temp != null) { obj.setBeneficiaryDetails_RmnchId(temp.getBeneficiaryDetails_RmnchId()); -// obj.setModifiedBy(obj.getCreatedBy()); -// obj.setLastModDate(new Timestamp(System.currentTimeMillis())); } if (obj.getRelatedBeneficiaryIds() != null @@ -149,6 +166,7 @@ public String syncDataToAmrit(String requestOBJ) throws Exception { } obj.setRelatedBeneficiaryIdsDB(sb.toString()); } + } @@ -156,15 +174,16 @@ public String syncDataToAmrit(String requestOBJ) throws Exception { .save(benDetailsExtraList); benDetailsExtraList.forEach((n) -> beneficiaryDetailsIds.add(n.getId())); - } else - throw new Exception("invalid/empty beneficiary request data."); +// } else +// throw new Exception("invalid/empty beneficiary request data."); // born birth details - if (jsnOBJ != null && jsnOBJ.has("bornBirthDeatils") && benRegID != null) { + if (jsnOBJ != null && jsnOBJ.has("bornBirthDeatils")) { RMNCHBornBirthDetails[] objArr1 = InputMapper.gson() .fromJson(jsnOBJ.get("bornBirthDeatils"), RMNCHBornBirthDetails[].class); List bornBirthList = Arrays.asList(objArr1); for (RMNCHBornBirthDetails obj : bornBirthList) { + benRegID = rMNCHMBenRegIdMapRepo.getRegID(obj.getBenficieryid()); obj.setBenRegId(benRegID); RMNCHBornBirthDetails temp = rMNCHBornBirthDetailsRepo.getByRegID(benRegID); if (temp != null) @@ -182,6 +201,7 @@ public String syncDataToAmrit(String requestOBJ) throws Exception { List cbacList = Arrays.asList(objArr2); for (RMNCHCBACdetails obj : cbacList) { + benRegID = rMNCHMBenRegIdMapRepo.getRegID(obj.getBenficieryid()); obj.setBenRegId(benRegID); obj.setConfirmed_hrp("Not checked"); obj.setConfirmed_ncd("Not checked"); @@ -313,33 +333,6 @@ public String getBenDataByAsha(String requestOBJ, String authorisation) throws E } else throw new Exception("Invalid/missing village details"); - // ------ -// if (request != null && request.getVillageID() != null) { -// List resultSet; -// Integer pageSize = Integer.valueOf(door_to_door_page_size); -// if (request.getPageNo() != null) { -// PageRequest pr = new PageRequest(request.getPageNo(), pageSize); -// if (request.getFromDate() != null && request.getToDate() != null) { -// Page p = rMNCHBenAddressRepo.getBenDataFilteredWithDateRange( -// request.getVillageID(), request.getFromDate(), request.getToDate(), pr); -// resultSet = p.getContent(); -// totalPage = p.getTotalPages(); -// } else { -// Page p = rMNCHBenAddressRepo.getBenData(request.getVillageID(), pr); -// resultSet = p.getContent(); -// totalPage = p.getTotalPages(); -// } -// if (resultSet != null && resultSet.size() > 0) { -// outputResponse = getMappingsForAddressIDs(resultSet, totalPage, authorisation); -// } -// } else { -// // page no not invalid -// throw new Exception("Invalid page no"); -// } -// } else { -// // missing village details : village ID -// throw new Exception("Invalid/missing village details"); -// } } catch (Exception e) { throw new Exception(e.getMessage()); } @@ -349,10 +342,10 @@ public String getBenDataByAsha(String requestOBJ, String authorisation) throws E private String getMappingsForAddressIDs(List addressList, int totalPage, String authorisation) { - RMNCHHouseHoldDetails benHouseHoldRMNCH_ROBJ; - RMNCHBeneficiaryDetailsRmnch benDetailsRMNCH_OBJ; - RMNCHBornBirthDetails benBotnBirthRMNCH_ROBJ; - RMNCHCBACdetails benCABCRMNCH_ROBJ; + RMNCHHouseHoldDetails benHouseHoldRMNCHROBJ; + RMNCHBeneficiaryDetailsRmnch benDetailsRMNCHOBJ; + RMNCHBornBirthDetails benBotnBirthRMNCHROBJ; + RMNCHCBACdetails benCABCRMNCHROBJ; RMNCHMBeneficiarydetail benDetailsOBJ; RMNCHMBeneficiaryAccount benAccountOBJ; @@ -368,10 +361,10 @@ private String getMappingsForAddressIDs(List addressLi try { RMNCHMBeneficiarymapping m = rMNCHMBenMappingRepo.getByAddressIDAndVanID(a.getId(), a.getVanID()); if (m != null) { - benHouseHoldRMNCH_ROBJ = new RMNCHHouseHoldDetails(); - benDetailsRMNCH_OBJ = new RMNCHBeneficiaryDetailsRmnch(); - benBotnBirthRMNCH_ROBJ = new RMNCHBornBirthDetails(); - benCABCRMNCH_ROBJ = new RMNCHCBACdetails(); + benHouseHoldRMNCHROBJ = new RMNCHHouseHoldDetails(); + benDetailsRMNCHOBJ = new RMNCHBeneficiaryDetailsRmnch(); + benBotnBirthRMNCHROBJ = new RMNCHBornBirthDetails(); + benCABCRMNCHROBJ = new RMNCHCBACdetails(); benDetailsOBJ = new RMNCHMBeneficiarydetail(); benAccountOBJ = new RMNCHMBeneficiaryAccount(); @@ -400,107 +393,105 @@ private String getMappingsForAddressIDs(List addressLi benID = rMNCHMBenRegIdMapRepo.getBenIdFromRegID(m.getBenRegId().longValue()); if (m.getBenRegId() != null) { - benDetailsRMNCH_OBJ = rMNCHBeneficiaryDetailsRmnchRepo + benDetailsRMNCHOBJ = rMNCHBeneficiaryDetailsRmnchRepo .getByRegID((m.getBenRegId()).longValue()); - benBotnBirthRMNCH_ROBJ = rMNCHBornBirthDetailsRepo.getByRegID((m.getBenRegId()).longValue()); + benBotnBirthRMNCHROBJ = rMNCHBornBirthDetailsRepo.getByRegID((m.getBenRegId()).longValue()); - benCABCRMNCH_ROBJ = rMNCHCBACDetailsRepo.getByRegID((m.getBenRegId()).longValue()); + benCABCRMNCHROBJ = rMNCHCBACDetailsRepo.getByRegID((m.getBenRegId()).longValue()); // 20-09-2021,start - NCD_TB_HRP_data res = getHRP_NCD_TB_SuspectedStatus(m.getBenRegId().longValue(), authorisation, + NcdTbHrpData res = getHRP_NCD_TB_SuspectedStatus(m.getBenRegId().longValue(), authorisation, benDetailsOBJ); - if (res != null && benCABCRMNCH_ROBJ != null) { + if (res != null && benCABCRMNCHROBJ != null) { if (res.getConfirmed_hrp() != null) - benCABCRMNCH_ROBJ.setConfirmed_hrp(res.getConfirmed_hrp()); + benCABCRMNCHROBJ.setConfirmed_hrp(res.getConfirmed_hrp()); if (res.getConfirmed_ncd() != null) - benCABCRMNCH_ROBJ.setConfirmed_ncd(res.getConfirmed_ncd()); + benCABCRMNCHROBJ.setConfirmed_ncd(res.getConfirmed_ncd()); if (res.getConfirmed_tb() != null) - benCABCRMNCH_ROBJ.setConfirmed_tb(res.getConfirmed_tb()); + benCABCRMNCHROBJ.setConfirmed_tb(res.getConfirmed_tb()); if (res.getConfirmed_ncd_diseases() != null) - benCABCRMNCH_ROBJ.setConfirmed_ncd_diseases(res.getConfirmed_ncd_diseases()); + benCABCRMNCHROBJ.setConfirmed_ncd_diseases(res.getConfirmed_ncd_diseases()); if (res.getDiagnosis_status() != null) - benCABCRMNCH_ROBJ.setDiagnosis_status(res.getDiagnosis_status()); - benCABCRMNCH_ROBJ = rMNCHCBACDetailsRepo.save(benCABCRMNCH_ROBJ); + benCABCRMNCHROBJ.setDiagnosis_status(res.getDiagnosis_status()); + benCABCRMNCHROBJ = rMNCHCBACDetailsRepo.save(benCABCRMNCHROBJ); } // 20-09-2021,end - if (benDetailsRMNCH_OBJ != null && benDetailsRMNCH_OBJ.getHouseoldId() != null) - benHouseHoldRMNCH_ROBJ = rMNCHHouseHoldDetailsRepo - .getByHouseHoldID(benDetailsRMNCH_OBJ.getHouseoldId()); + if (benDetailsRMNCHOBJ != null && benDetailsRMNCHOBJ.getHouseoldId() != null) + benHouseHoldRMNCHROBJ = rMNCHHouseHoldDetailsRepo + .getByHouseHoldID(benDetailsRMNCHOBJ.getHouseoldId()); } - if (benDetailsRMNCH_OBJ == null) - benDetailsRMNCH_OBJ = new RMNCHBeneficiaryDetailsRmnch(); + if (benDetailsRMNCHOBJ == null) + benDetailsRMNCHOBJ = new RMNCHBeneficiaryDetailsRmnch(); // new mapping 30-06-2021 if (benDetailsOBJ.getMotherName() != null) - benDetailsRMNCH_OBJ.setMotherName(benDetailsOBJ.getMotherName()); + benDetailsRMNCHOBJ.setMotherName(benDetailsOBJ.getMotherName()); if (benDetailsOBJ.getLiteracyStatus() != null) - benDetailsRMNCH_OBJ.setLiteracyStatus(benDetailsOBJ.getLiteracyStatus()); + benDetailsRMNCHOBJ.setLiteracyStatus(benDetailsOBJ.getLiteracyStatus()); // bank if (benAccountOBJ.getNameOfBank() != null) - benDetailsRMNCH_OBJ.setNameOfBank(benAccountOBJ.getNameOfBank()); + benDetailsRMNCHOBJ.setNameOfBank(benAccountOBJ.getNameOfBank()); if (benAccountOBJ.getBranchName() != null) - benDetailsRMNCH_OBJ.setBranchName(benAccountOBJ.getBranchName()); + benDetailsRMNCHOBJ.setBranchName(benAccountOBJ.getBranchName()); if (benAccountOBJ.getIfscCode() != null) - benDetailsRMNCH_OBJ.setIfscCode(benAccountOBJ.getIfscCode()); + benDetailsRMNCHOBJ.setIfscCode(benAccountOBJ.getIfscCode()); if (benAccountOBJ.getBankAccount() != null) - benDetailsRMNCH_OBJ.setBankAccount(benAccountOBJ.getBankAccount()); + benDetailsRMNCHOBJ.setBankAccount(benAccountOBJ.getBankAccount()); // location if (benAddressOBJ.getCountyid() != null) - benDetailsRMNCH_OBJ.setCountryId(benAddressOBJ.getCountyid()); + benDetailsRMNCHOBJ.setCountryId(benAddressOBJ.getCountyid()); if (benAddressOBJ.getPermCountry() != null) - benDetailsRMNCH_OBJ.setCountryName(benAddressOBJ.getPermCountry()); + benDetailsRMNCHOBJ.setCountryName(benAddressOBJ.getPermCountry()); if (benAddressOBJ.getStatePerm() != null) - benDetailsRMNCH_OBJ.setStateId(benAddressOBJ.getStatePerm()); + benDetailsRMNCHOBJ.setStateId(benAddressOBJ.getStatePerm()); if (benAddressOBJ.getPermState() != null) - benDetailsRMNCH_OBJ.setStateName(benAddressOBJ.getPermState()); + benDetailsRMNCHOBJ.setStateName(benAddressOBJ.getPermState()); if (benAddressOBJ.getDistrictidPerm() != null) { - benDetailsRMNCH_OBJ.setDistrictid(benAddressOBJ.getDistrictidPerm()); + benDetailsRMNCHOBJ.setDistrictid(benAddressOBJ.getDistrictidPerm()); } if (benAddressOBJ.getDistrictnamePerm() != null) { - benDetailsRMNCH_OBJ.setDistrictname(benAddressOBJ.getDistrictnamePerm()); + benDetailsRMNCHOBJ.setDistrictname(benAddressOBJ.getDistrictnamePerm()); } if (benAddressOBJ.getPermSubDistrictId() != null) - benDetailsRMNCH_OBJ.setBlockId(benAddressOBJ.getPermSubDistrictId()); + benDetailsRMNCHOBJ.setBlockId(benAddressOBJ.getPermSubDistrictId()); if (benAddressOBJ.getPermSubDistrict() != null) - benDetailsRMNCH_OBJ.setBlockName(benAddressOBJ.getPermSubDistrict()); + benDetailsRMNCHOBJ.setBlockName(benAddressOBJ.getPermSubDistrict()); if (benAddressOBJ.getVillageidPerm() != null) - benDetailsRMNCH_OBJ.setVillageId(benAddressOBJ.getVillageidPerm()); + benDetailsRMNCHOBJ.setVillageId(benAddressOBJ.getVillageidPerm()); if (benAddressOBJ.getVillagenamePerm() != null) - benDetailsRMNCH_OBJ.setVillageName(benAddressOBJ.getVillagenamePerm()); + benDetailsRMNCHOBJ.setVillageName(benAddressOBJ.getVillagenamePerm()); if (benAddressOBJ.getPermServicePointId() != null) - benDetailsRMNCH_OBJ.setServicePointID(benAddressOBJ.getPermServicePointId()); + benDetailsRMNCHOBJ.setServicePointID(benAddressOBJ.getPermServicePointId()); if (benAddressOBJ.getPermServicePoint() != null) - benDetailsRMNCH_OBJ.setServicePointName(benAddressOBJ.getPermServicePoint()); + benDetailsRMNCHOBJ.setServicePointName(benAddressOBJ.getPermServicePoint()); if (benAddressOBJ.getPermZoneID() != null) - benDetailsRMNCH_OBJ.setZoneID(benAddressOBJ.getPermZoneID()); + benDetailsRMNCHOBJ.setZoneID(benAddressOBJ.getPermZoneID()); if (benAddressOBJ.getPermZone() != null) - benDetailsRMNCH_OBJ.setZoneName(benAddressOBJ.getPermZone()); + benDetailsRMNCHOBJ.setZoneName(benAddressOBJ.getPermZone()); if (benAddressOBJ.getPermAddrLine1() != null) - benDetailsRMNCH_OBJ.setAddressLine1(benAddressOBJ.getPermAddrLine1()); + benDetailsRMNCHOBJ.setAddressLine1(benAddressOBJ.getPermAddrLine1()); if (benAddressOBJ.getPermAddrLine2() != null) - benDetailsRMNCH_OBJ.setAddressLine2(benAddressOBJ.getPermAddrLine2()); + benDetailsRMNCHOBJ.setAddressLine2(benAddressOBJ.getPermAddrLine2()); if (benAddressOBJ.getPermAddrLine3() != null) - benDetailsRMNCH_OBJ.setAddressLine3(benAddressOBJ.getPermAddrLine3()); - - // ----------------------------------------------------------------------------- + benDetailsRMNCHOBJ.setAddressLine3(benAddressOBJ.getPermAddrLine3()); // related benids - if (benDetailsRMNCH_OBJ.getRelatedBeneficiaryIdsDB() != null) { + if (benDetailsRMNCHOBJ.getRelatedBeneficiaryIdsDB() != null) { - String[] relatedBenIDsString = benDetailsRMNCH_OBJ.getRelatedBeneficiaryIdsDB().split(","); + String[] relatedBenIDsString = benDetailsRMNCHOBJ.getRelatedBeneficiaryIdsDB().split(","); Long[] relatedBenIDs = new Long[relatedBenIDsString.length]; int pointer = 0; for (String s : relatedBenIDsString) { @@ -508,60 +499,59 @@ private String getMappingsForAddressIDs(List addressLi pointer++; } - benDetailsRMNCH_OBJ.setRelatedBeneficiaryIds(relatedBenIDs); + benDetailsRMNCHOBJ.setRelatedBeneficiaryIds(relatedBenIDs); } - // ------------------------------------------------------------------------------ if (benDetailsOBJ.getCommunity() != null) - benDetailsRMNCH_OBJ.setCommunity(benDetailsOBJ.getCommunity()); + benDetailsRMNCHOBJ.setCommunity(benDetailsOBJ.getCommunity()); if (benDetailsOBJ.getCommunityId() != null) - benDetailsRMNCH_OBJ.setCommunityId(benDetailsOBJ.getCommunityId()); + benDetailsRMNCHOBJ.setCommunityId(benDetailsOBJ.getCommunityId()); if (benContactOBJ.getPreferredPhoneNum() != null) - benDetailsRMNCH_OBJ.setContact_number(benContactOBJ.getPreferredPhoneNum()); + benDetailsRMNCHOBJ.setContact_number(benContactOBJ.getPreferredPhoneNum()); if (benDetailsOBJ.getDob() != null) - benDetailsRMNCH_OBJ.setDob(benDetailsOBJ.getDob()); + benDetailsRMNCHOBJ.setDob(benDetailsOBJ.getDob()); if (benDetailsOBJ.getFatherName() != null) - benDetailsRMNCH_OBJ.setFatherName(benDetailsOBJ.getFatherName()); + benDetailsRMNCHOBJ.setFatherName(benDetailsOBJ.getFatherName()); if (benDetailsOBJ.getFirstName() != null) - benDetailsRMNCH_OBJ.setFirstName(benDetailsOBJ.getFirstName()); + benDetailsRMNCHOBJ.setFirstName(benDetailsOBJ.getFirstName()); if (benDetailsOBJ.getGender() != null) - benDetailsRMNCH_OBJ.setGender(benDetailsOBJ.getGender()); + benDetailsRMNCHOBJ.setGender(benDetailsOBJ.getGender()); if (benDetailsOBJ.getGenderId() != null) - benDetailsRMNCH_OBJ.setGenderId(benDetailsOBJ.getGenderId()); + benDetailsRMNCHOBJ.setGenderId(benDetailsOBJ.getGenderId()); if (benDetailsOBJ.getMaritalstatus() != null) - benDetailsRMNCH_OBJ.setMaritalstatus(benDetailsOBJ.getMaritalstatus()); + benDetailsRMNCHOBJ.setMaritalstatus(benDetailsOBJ.getMaritalstatus()); if (benDetailsOBJ.getMaritalstatusId() != null) - benDetailsRMNCH_OBJ.setMaritalstatusId(benDetailsOBJ.getMaritalstatusId()); + benDetailsRMNCHOBJ.setMaritalstatusId(benDetailsOBJ.getMaritalstatusId()); if (benDetailsOBJ.getMarriageDate() != null) - benDetailsRMNCH_OBJ.setMarriageDate(benDetailsOBJ.getMarriageDate()); + benDetailsRMNCHOBJ.setMarriageDate(benDetailsOBJ.getMarriageDate()); if (benDetailsOBJ.getReligion() != null) - benDetailsRMNCH_OBJ.setReligion(benDetailsOBJ.getReligion()); + benDetailsRMNCHOBJ.setReligion(benDetailsOBJ.getReligion()); if (benDetailsOBJ.getReligionID() != null) - benDetailsRMNCH_OBJ.setReligionID(benDetailsOBJ.getReligionID()); + benDetailsRMNCHOBJ.setReligionID(benDetailsOBJ.getReligionID()); if (benDetailsOBJ.getSpousename() != null) - benDetailsRMNCH_OBJ.setSpousename(benDetailsOBJ.getSpousename()); + benDetailsRMNCHOBJ.setSpousename(benDetailsOBJ.getSpousename()); if (benImageOBJ != null && benImageOBJ.getUser_image() != null) - benDetailsRMNCH_OBJ.setUser_image(benImageOBJ.getUser_image()); + benDetailsRMNCHOBJ.setUser_image(benImageOBJ.getUser_image()); // new fields - benDetailsRMNCH_OBJ.setRegistrationDate(benDetailsOBJ.getCreatedDate()); + benDetailsRMNCHOBJ.setRegistrationDate(benDetailsOBJ.getCreatedDate()); if (benID != null) - benDetailsRMNCH_OBJ.setBenficieryid(benID.longValue()); + benDetailsRMNCHOBJ.setBenficieryid(benID.longValue()); if (benDetailsOBJ.getLastName() != null) - benDetailsRMNCH_OBJ.setLastName(benDetailsOBJ.getLastName()); + benDetailsRMNCHOBJ.setLastName(benDetailsOBJ.getLastName()); - if (benDetailsRMNCH_OBJ.getCreatedBy() == null) + if (benDetailsRMNCHOBJ.getCreatedBy() == null) if (benDetailsOBJ.getCreatedBy() != null) - benDetailsRMNCH_OBJ.setCreatedBy(benDetailsOBJ.getCreatedBy()); + benDetailsRMNCHOBJ.setCreatedBy(benDetailsOBJ.getCreatedBy()); // age calculation String ageDetails = ""; - int age_val = 0; + int ageVal = 0; String ageUnit = null; if (benDetailsOBJ.getDob() != null) { @@ -584,50 +574,49 @@ private String getMappingsForAddressIDs(List addressLi if (y > 0) { ageDetails = y + " years - " + mo + " months"; - age_val = y; - ageUnit = (age_val > 1) ? "Years" : "Year"; + ageVal = y; + ageUnit = (ageVal > 1) ? "Years" : "Year"; } else { if (mo > 0) { ageDetails = mo + " months - " + d + " days"; - age_val = mo; - ageUnit = (age_val > 1) ? "Months" : "Month"; + ageVal = mo; + ageUnit = (ageVal > 1) ? "Months" : "Month"; } else { ageDetails = d + " days"; - age_val = d; - ageUnit = (age_val > 1) ? "Days" : "Day"; + ageVal = d; + ageUnit = (ageVal > 1) ? "Days" : "Day"; } } } - benDetailsRMNCH_OBJ.setAgeFull(ageDetails); - benDetailsRMNCH_OBJ.setAge(age_val); + benDetailsRMNCHOBJ.setAgeFull(ageDetails); + benDetailsRMNCHOBJ.setAge(ageVal); if (ageUnit != null) - benDetailsRMNCH_OBJ.setAge_unit(ageUnit); + benDetailsRMNCHOBJ.setAge_unit(ageUnit); resultMap = new HashMap<>(); - if (benHouseHoldRMNCH_ROBJ != null) - resultMap.put("householdDetails", benHouseHoldRMNCH_ROBJ); + if (benHouseHoldRMNCHROBJ != null) + resultMap.put("householdDetails", benHouseHoldRMNCHROBJ); else resultMap.put("householdDetails", new HashMap()); - if (benBotnBirthRMNCH_ROBJ != null) - resultMap.put("bornbirthDeatils", benBotnBirthRMNCH_ROBJ); + if (benBotnBirthRMNCHROBJ != null) + resultMap.put("bornbirthDeatils", benBotnBirthRMNCHROBJ); else resultMap.put("bornbirthDeatils", new HashMap()); - if (benCABCRMNCH_ROBJ != null) - resultMap.put("cbacDetails", benCABCRMNCH_ROBJ); + if (benCABCRMNCHROBJ != null) + resultMap.put("cbacDetails", benCABCRMNCHROBJ); else resultMap.put("cbacDetails", new HashMap()); - resultMap.put("beneficiaryDetails", benDetailsRMNCH_OBJ); + resultMap.put("beneficiaryDetails", benDetailsRMNCHOBJ); - resultMap.put("houseoldId", benDetailsRMNCH_OBJ.getHouseoldId()); - resultMap.put("benficieryid", benDetailsRMNCH_OBJ.getBenficieryid()); + resultMap.put("houseoldId", benDetailsRMNCHOBJ.getHouseoldId()); + resultMap.put("benficieryid", benDetailsRMNCHOBJ.getBenficieryid()); resultMap.put("BenRegId", m.getBenRegId()); - // adding asha id / created by - user id if (benAddressOBJ.getCreatedBy() != null) { Integer userID = rMNCHMBenMappingRepo.getUserIDByUserName(benAddressOBJ.getCreatedBy()); @@ -640,7 +629,7 @@ private String getMappingsForAddressIDs(List addressLi if (healthID != null) resultMap.put("HealthID", healthID); } - resultMap.put("ProviderServiceMapID", benDetailsRMNCH_OBJ.getProviderServiceMapID()); + resultMap.put("ProviderServiceMapID", benDetailsRMNCHOBJ.getProviderServiceMapID()); resultMap.put("VanID", m.getVanID()); resultList.add(resultMap); @@ -696,15 +685,15 @@ public List fetchHealthIdByBenRegID(Long benRegID, String authorization) } - public NCD_TB_HRP_data getHRP_NCD_TB_SuspectedStatus(Long benRegID, String authorization, + public NcdTbHrpData getHRP_NCD_TB_SuspectedStatus(Long benRegID, String authorization, RMNCHMBeneficiarydetail benDetails) throws IEMRException { - NCD_TB_HRP_data response = null; + NcdTbHrpData response = null; try { if (benRegID != null) { List obj = rMNCHCBACDetailsRepo.getVisitDetailsbyRegID(benRegID); if (obj != null && obj.size() > 0) { - response = new NCD_TB_HRP_data(); + response = new NcdTbHrpData(); Long visitCode = (((BigInteger) obj.get(0)[0])).longValue(); String visitCategory = (String) obj.get(0)[1]; switch (visitCategory) { @@ -721,7 +710,6 @@ public NCD_TB_HRP_data getHRP_NCD_TB_SuspectedStatus(Long benRegID, String autho response.setConfirmed_hrp(getConfirmedHRP(benRegID, visitCode, authorization, benDetails)); break; case "ANC": -// response = getConfirmedNCD_TB_Common(benRegID, visitCode); response.setConfirmed_hrp(getConfirmedHRP(benRegID, visitCode, authorization, benDetails)); break; case "NCD care": @@ -789,8 +777,8 @@ public String getConfirmedHRP(Long benRegID, Long visitCode, String authorizatio } - public NCD_TB_HRP_data getConfirmedNCD_TB_PNC(Long benRegID, Long visitCode) throws IEMRException { - NCD_TB_HRP_data response = new NCD_TB_HRP_data(); + public NcdTbHrpData getConfirmedNCD_TB_PNC(Long benRegID, Long visitCode) throws IEMRException { + NcdTbHrpData response = new NcdTbHrpData(); String dp = null; if (visitCode != null && benRegID != null) { try { @@ -846,8 +834,8 @@ public NCD_TB_HRP_data getConfirmedNCD_TB_PNC(Long benRegID, Long visitCode) thr return response; } - public NCD_TB_HRP_data getConfirmedNCD_TB_Common(Long benRegID, Long visitCode) throws IEMRException { - NCD_TB_HRP_data response = new NCD_TB_HRP_data(); + public NcdTbHrpData getConfirmedNCD_TB_Common(Long benRegID, Long visitCode) throws IEMRException { + NcdTbHrpData response = new NcdTbHrpData(); String dp = null; if (visitCode != null && benRegID != null) { try { @@ -905,12 +893,12 @@ public NCD_TB_HRP_data getConfirmedNCD_TB_Common(Long benRegID, Long visitCode) return response; } - public NCD_TB_HRP_data getConfirmedNCD_TB_NCD_CARE(Long benRegID, Long visitCode) throws IEMRException { - NCD_TB_HRP_data response = new NCD_TB_HRP_data(); + public NcdTbHrpData getConfirmedNCD_TB_NCD_CARE(Long benRegID, Long visitCode) throws IEMRException { + NcdTbHrpData response = new NcdTbHrpData(); String dp = null; if (visitCode != null && benRegID != null) { try { - List obj = rMNCHCBACDetailsRepo.getDiagnosisProvidedNCD_Care(benRegID, visitCode); + List obj = rMNCHCBACDetailsRepo.getDiagnosisProvidedNCDCare(benRegID, visitCode); if (obj != null && obj.size() > 0 && obj.get(0) != null) { dp = obj.get(0).toString(); if (dp != null) { @@ -965,38 +953,4 @@ public NCD_TB_HRP_data getConfirmedNCD_TB_NCD_CARE(Long benRegID, Long visitCode return response; } -// String isTB = "no", isNCD = "no"; -// Object obj = null; -// ArrayList ncdList = new ArrayList(); -// if (visitCode != null && benRegID != null) {// add NCD care -// if (visitCategory.equalsIgnoreCase("PNC")) { -// obj=rMNCHCBACDetailsRepo.getDiagnosisProvidedPNC(benRegID,visitCode); -// } else -// obj = rMNCHCBACDetailsRepo.getDiagnosisProvidedExceptPNC(benRegID, visitCode); -// if (obj != null) { -// String diagnosis[] = ((String) obj).split("||"); -// if (diagnosis.length > 0) { -// for (String s : diagnosis) { -// if (s.equalsIgnoreCase("Tuberculosis")) -// isTB = "yes"; -// else if (s.equalsIgnoreCase("Diabetes mellitus") || s.equalsIgnoreCase("Hypertension") -// || s.equalsIgnoreCase("Breast cancer") -// || s.equalsIgnoreCase("Mental health disorder")) { -// isNCD = "yes"; -// ncdList.add(s); -// } -// -// } -// } -// } -// } -// Map res = new HashMap(); -// // return yes,no -// res.put("suspected_ncd", "isNCD"); -// res.put("suspected_tb", "isTB"); -// res.put("suspected_hrp", "isHRP"); -// res.put("confirmed_ncd_diseases", "ncdList.toString()"); -// return new Gson().toJson(res); -// } - } diff --git a/src/main/java/com/iemr/common/identity/utils/CommonMain.java b/src/main/java/com/iemr/common/identity/utils/CommonMain.java index 00d7771..7b38997 100644 --- a/src/main/java/com/iemr/common/identity/utils/CommonMain.java +++ b/src/main/java/com/iemr/common/identity/utils/CommonMain.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.utils; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; diff --git a/src/main/java/com/iemr/common/identity/utils/IEMRApplBeans.java b/src/main/java/com/iemr/common/identity/utils/IEMRApplBeans.java index 61959f4..bf6bea4 100644 --- a/src/main/java/com/iemr/common/identity/utils/IEMRApplBeans.java +++ b/src/main/java/com/iemr/common/identity/utils/IEMRApplBeans.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.utils; import org.springframework.beans.factory.annotation.Value; diff --git a/src/main/java/com/iemr/common/identity/utils/JsonUtilities.java b/src/main/java/com/iemr/common/identity/utils/JsonUtilities.java index 5abdc17..5f3d90b 100644 --- a/src/main/java/com/iemr/common/identity/utils/JsonUtilities.java +++ b/src/main/java/com/iemr/common/identity/utils/JsonUtilities.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.utils; import org.slf4j.Logger; diff --git a/src/main/java/com/iemr/common/identity/utils/OutputResponse.java b/src/main/java/com/iemr/common/identity/utils/OutputResponse.java index 53df3fc..9068c0c 100644 --- a/src/main/java/com/iemr/common/identity/utils/OutputResponse.java +++ b/src/main/java/com/iemr/common/identity/utils/OutputResponse.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.utils; import java.util.Calendar; @@ -10,7 +31,6 @@ import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.google.gson.JsonParseException; -// import com.google.gson.JsonParser; import com.google.gson.JsonSyntaxException; import com.google.gson.LongSerializationPolicy; import com.google.gson.annotations.Expose; @@ -18,21 +38,13 @@ import lombok.Data; @Data -public class OutputResponse -{ +public class OutputResponse { private static Logger logger = LoggerFactory.getLogger(OutputResponse.class); @Expose private JsonElement response; - /* - * Response JSON: { "methodName" : "", "dataObjectType" : "Object_Name", "dataJsonType : "object - * or array or primitive or null" "data" : "", "statusCode" : , "statusMessage" : - * "" "statusMessageLong" : " } - */ - - public static class Builder - { + public static class Builder { private String methodName; private String dataObjectType; private String dataJsonType; @@ -53,8 +65,7 @@ public static class Builder public static final int MANDATORY_PARAMS_MISSING = 5008; public static final int ILLEGAL_ACTION = 5009; - public Builder() - { + public Builder() { this.methodName = ""; this.dataObjectType = ""; this.dataJsonType = ""; @@ -64,149 +75,102 @@ public Builder() this.statusMessageLong = ""; } - public Builder setMethodName(String str) - { + public Builder setMethodName(String str) { methodName = str; return this; } - public Builder setDataObjectType(String str) - { + public Builder setDataObjectType(String str) { dataObjectType = str; return this; } - public Builder setDataJsonType(String str) - { + public Builder setDataJsonType(String str) { dataJsonType = str; return this; } - public Builder setData(String str) throws JsonParseException, JsonSyntaxException - { - // JsonElement element = new JsonParser().parse(str); + public Builder setData(String str) throws JsonParseException, JsonSyntaxException { data = str; return this; } - public Builder setStatusCode(Integer code) - { + public Builder setStatusCode(Integer code) { statusCode = code; return this; } - public Builder setStatusMessage(String str) - { + public Builder setStatusMessage(String str) { statusMessage = str; return this; } - public Builder setStatusMessageLong(String str) - { + public Builder setStatusMessageLong(String str) { statusMessageLong = str; return this; } - public Builder setErrorMessage(Throwable thrown) - { + public Builder setErrorMessage(Throwable thrown) { Date currDate = Calendar.getInstance().getTime(); logger.info("error happened due to " + thrown.getClass().getSimpleName() + " at " + currDate.toString()); - switch (thrown.getClass().getSimpleName()) - { - case "MissingMandatoryFieldsException": - statusCode = MANDATORY_PARAMS_MISSING; - statusMessage = "Missing Mandatory Parameters."; - statusMessageLong = thrown.getMessage(); - break; - case "IEMRException": - statusCode = USERID_FAILURE; - statusMessage = "User login failed"; - statusMessageLong = thrown.getMessage(); - break; - case "JSONException": - statusCode = OBJECT_FAILURE; - statusMessage = "Invalid object conversion"; - statusMessageLong = thrown.getMessage(); - break; - case "IllegalActionException": - statusCode = ILLEGAL_ACTION; - statusMessage = "Illegal Action performed. Please contact your adminstrator."; - statusMessageLong = thrown.getMessage(); - break; - - case "SQLException": - case "ParseException": - case "NullPointerException": - case "SQLGrammarException": - case "ArrayIndexOutOfBoundsException": - case "ConstraintViolationException": - this.statusCode = CODE_EXCEPTION; - statusMessage = "Failed with critical errors at " + currDate.toString() - + ".Please try after some time. " + "If error is still seen, contact your administrator."; - statusMessageLong = thrown.getMessage(); - break; - case "IOException": - case "ConnectException": - case "ConnectIOException": - this.statusCode = ENVIRONMENT_EXCEPTION; - statusMessage = "Failed with connection issues at " + currDate.toString() - + "Please try after some time. " + "If error is still seen, contact your administrator."; - statusMessageLong = thrown.getMessage(); - break; - case "JDBCException": - this.statusCode = ENVIRONMENT_EXCEPTION; - statusMessage = "Failed with DB connection issues at " + currDate.toString() - + ". Please try after some time. " + "If error is still seen, contact your administrator."; - statusMessageLong = thrown.getMessage(); - break; - default: - statusCode = GENERIC_FAILURE; - statusMessage = "Failed with generic exception"; - statusMessageLong = thrown.getMessage(); - break; + switch (thrown.getClass().getSimpleName()) { + case "MissingMandatoryFieldsException": + statusCode = MANDATORY_PARAMS_MISSING; + statusMessage = "Missing Mandatory Parameters."; + statusMessageLong = thrown.getMessage(); + break; + case "IEMRException": + statusCode = USERID_FAILURE; + statusMessage = "User login failed"; + statusMessageLong = thrown.getMessage(); + break; + case "JSONException": + statusCode = OBJECT_FAILURE; + statusMessage = "Invalid object conversion"; + statusMessageLong = thrown.getMessage(); + break; + case "IllegalActionException": + statusCode = ILLEGAL_ACTION; + statusMessage = "Illegal Action performed. Please contact your adminstrator."; + statusMessageLong = thrown.getMessage(); + break; + + case "SQLException": + case "ParseException": + case "NullPointerException": + case "SQLGrammarException": + case "ArrayIndexOutOfBoundsException": + case "ConstraintViolationException": + this.statusCode = CODE_EXCEPTION; + statusMessage = "Failed with critical errors at " + currDate.toString() + + ".Please try after some time. " + "If error is still seen, contact your administrator."; + statusMessageLong = thrown.getMessage(); + break; + case "IOException": + case "ConnectException": + case "ConnectIOException": + this.statusCode = ENVIRONMENT_EXCEPTION; + statusMessage = "Failed with connection issues at " + currDate.toString() + + "Please try after some time. " + "If error is still seen, contact your administrator."; + statusMessageLong = thrown.getMessage(); + break; + case "JDBCException": + this.statusCode = ENVIRONMENT_EXCEPTION; + statusMessage = "Failed with DB connection issues at " + currDate.toString() + + ". Please try after some time. " + "If error is still seen, contact your administrator."; + statusMessageLong = thrown.getMessage(); + break; + default: + statusCode = GENERIC_FAILURE; + statusMessage = "Failed with generic exception"; + statusMessageLong = thrown.getMessage(); + break; } return this; } - // private JsonElement parser(String str) throws JsonParseException, JsonSyntaxException { - // JsonElement element = new JsonParser().parse(str); - // return element; - // } - // - // private JsonObject createJsonObject(String name, Object value) throws JsonParseException, JsonSyntaxException - // { - // JsonObject element = new JsonObject(); - // if(value instanceof Boolean) { - // element.addProperty(name, (Boolean)value); - // } else if(value instanceof Character) { - // element.addProperty(name, (Character)value); - // } else if(value instanceof Number) { - // element.addProperty(name, (Number)value); - // } else if(value instanceof String) { - // element.addProperty(name, (String)value); - // } else if(value instanceof JsonElement) { - // element.add(name, (JsonElement)value); - // } - // - // return element; - // } - - /** - * To Do for later - * - * @return - */ - // // SUNIL TODO: Add this when needed! - // private JsonElement createJsonArray(List list, Type type) { - // Type typeOfSrc = new TypeToken>(){private static final long serialVersionUID = - // 1L;}.getType(); - // JsonElement element = new JsonArray(); - // return element; - // } - - public OutputResponse build() - { + public OutputResponse build() { OutputResponse response = new OutputResponse(); JsonObject elements = new JsonObject(); elements.addProperty("methodName", methodName); @@ -223,14 +187,12 @@ public OutputResponse build() } } - protected OutputResponse() - { + protected OutputResponse() { } @Override - public String toString() - { + public String toString() { GsonBuilder builder = new GsonBuilder(); builder.excludeFieldsWithoutExposeAnnotation(); builder.setDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'") diff --git a/src/main/java/com/iemr/common/identity/utils/Utilities.java b/src/main/java/com/iemr/common/identity/utils/Utilities.java index f0a9e4c..f418673 100644 --- a/src/main/java/com/iemr/common/identity/utils/Utilities.java +++ b/src/main/java/com/iemr/common/identity/utils/Utilities.java @@ -1,18 +1,33 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.utils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; - -//import org.slf4j.Logger; -//import org.slf4j.LoggerFactory; - import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.iemr.common.identity.controller.IdentityController; public class Utilities { - //private static final Logger logger = LoggerFactory.getLogger(Utilities.class); - /** * Gets the json as string. * @@ -20,6 +35,7 @@ public class Utilities { * @return the json as string */ private Logger logger = LoggerFactory.getLogger(IdentityController.class); + public String getJsonAsString(Object obj) { ObjectMapper mapper = new ObjectMapper(); StringBuilder sb = new StringBuilder(); @@ -28,7 +44,7 @@ public String getJsonAsString(Object obj) { } catch (JsonProcessingException e) { logger.error(e.getMessage()); } - + return sb.toString(); } diff --git a/src/main/java/com/iemr/common/identity/utils/config/ConfigProperties.java b/src/main/java/com/iemr/common/identity/utils/config/ConfigProperties.java index 0f4a3e5..0a3628d 100644 --- a/src/main/java/com/iemr/common/identity/utils/config/ConfigProperties.java +++ b/src/main/java/com/iemr/common/identity/utils/config/ConfigProperties.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.utils.config; import java.io.IOException; @@ -35,14 +56,9 @@ private static void initalizeProperties() { if (properties == null) { properties = new Properties(); - // FileInputStream fis; try { - // this.getClass().getResourceAsStream( - InputStream fis = ConfigProperties.class.getResourceAsStream("/application.properties"); properties.load(fis); - // properties. - // fis.close(); } catch (IOException e) { logger.error("Loading of config file failed with error " + e.getLocalizedMessage(), e); } @@ -101,7 +117,6 @@ public static String getPropertyByName(String propertyName) { if (properties == null) { initalizeProperties(); } - // result = environment.getProperty(propertyName); result = properties.getProperty(propertyName).trim(); } catch (Exception e) { logger.error(propertyName + " retrival failed.", e); diff --git a/src/main/java/com/iemr/common/identity/utils/exception/IEMRException.java b/src/main/java/com/iemr/common/identity/utils/exception/IEMRException.java index b680d66..6e97811 100644 --- a/src/main/java/com/iemr/common/identity/utils/exception/IEMRException.java +++ b/src/main/java/com/iemr/common/identity/utils/exception/IEMRException.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.utils.exception; public class IEMRException extends Exception diff --git a/src/main/java/com/iemr/common/identity/utils/gateway/email/EmailService.java b/src/main/java/com/iemr/common/identity/utils/gateway/email/EmailService.java index e4ce47b..9eefb27 100644 --- a/src/main/java/com/iemr/common/identity/utils/gateway/email/EmailService.java +++ b/src/main/java/com/iemr/common/identity/utils/gateway/email/EmailService.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.utils.gateway.email; public interface EmailService diff --git a/src/main/java/com/iemr/common/identity/utils/gateway/email/GenericEmailServiceImpl.java b/src/main/java/com/iemr/common/identity/utils/gateway/email/GenericEmailServiceImpl.java index 6355845..e6d41d8 100644 --- a/src/main/java/com/iemr/common/identity/utils/gateway/email/GenericEmailServiceImpl.java +++ b/src/main/java/com/iemr/common/identity/utils/gateway/email/GenericEmailServiceImpl.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.utils.gateway.email; import org.json.JSONObject; @@ -22,9 +43,6 @@ public void sendEmail(String jsonObject, String template) { String subject = requestObj.getString("subject"); String message = requestObj.getString("message"); - // TODO - // JSONObject templateObj = new JSONObject(template); - mailMessage.setTo(to); mailMessage.setFrom(from); mailMessage.setSubject(subject); @@ -51,31 +69,5 @@ public void sendEmail(String jsonObject) { @Override public void sendEmailWithAttachment(String jsonObject, String template) { - // TODO Auto-generated method stub - } - - // public static void main(String[] args) - // { - // GenericEmailServiceImpl impl = new GenericEmailServiceImpl(); - // JSONObject test = new JSONObject(); - // test.put("to", "vinay.chidambara@wipro.com, vinay.sompur@gmail.com"); - // test.put("from", "vinay.sompur@gmail.com"); - // test.put("subject", "Test email event"); - // test.put("message", "Testing email for demo"); - // impl.sendEmail(test.toString()); - // } - - // public static void main(String[] args) throws Exception - // { - // GenericEmailServiceImpl impl = new GenericEmailServiceImpl(); - // JSONObject test = new JSONObject(); - // test.put("to", "vinay.chidambara@wipro.com, vinay.sompur@gmail.com"); - // test.put("from", "vinay.sompur@gmail.com"); - // test.put("subject", "Test email event"); - // test.put("message", "Testing email for demo"); - // SpringApplication.run(GenericEmailServiceImpl.class, args); - // impl.sendEmail(test.toString()); - // } - } diff --git a/src/main/java/com/iemr/common/identity/utils/http/HTTPRequestInterceptor.java b/src/main/java/com/iemr/common/identity/utils/http/HTTPRequestInterceptor.java index 463c8c1..40ff0a5 100644 --- a/src/main/java/com/iemr/common/identity/utils/http/HTTPRequestInterceptor.java +++ b/src/main/java/com/iemr/common/identity/utils/http/HTTPRequestInterceptor.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.utils.http; import javax.servlet.http.HttpServletRequest; @@ -63,7 +84,6 @@ public boolean preHandle(HttpServletRequest request, HttpServletResponse respons status = false; break; default: - //validator.checkKeyExists(authorization, request.getRemoteAddr()); break; } } catch (Exception e) { diff --git a/src/main/java/com/iemr/common/identity/utils/http/HttpUtils.java b/src/main/java/com/iemr/common/identity/utils/http/HttpUtils.java index babeb35..ad5ed11 100644 --- a/src/main/java/com/iemr/common/identity/utils/http/HttpUtils.java +++ b/src/main/java/com/iemr/common/identity/utils/http/HttpUtils.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.utils.http; import java.io.FileInputStream; @@ -41,30 +62,15 @@ public HttpUtils() { headers.add("Content-Type", "application/json"); } } - private Logger logger = LoggerFactory.getLogger(IdentityController.class); - // public HttpUtils() { - // if (rest == null) { - // rest = new RestTemplate(); - // headers = new HttpHeaders(); - // headers.add("Content-Type", "application/json"); - // } - // } - // @Bean - // public HttpUtils httpUtils() { - // return new HttpUtils(); - // } + private Logger logger = LoggerFactory.getLogger(IdentityController.class); public String get(String uri) { String body; HttpEntity requestEntity = new HttpEntity("", headers); ResponseEntity responseEntity = rest.exchange(uri, HttpMethod.GET, requestEntity, String.class); setStatus(responseEntity.getStatusCode()); - // if (status == HttpStatus.OK){ body = responseEntity.getBody(); - // }else{ - // responseEntity - // } return body; } @@ -101,7 +107,6 @@ public String post(String uri, String data, HashMap header) { if (header.containsKey(headers.AUTHORIZATION)) { headers.add(headers.AUTHORIZATION, header.get(headers.AUTHORIZATION).toString()); } - // headers.add("Content-Type", MediaType.APPLICATION_JSON); ResponseEntity responseEntity = new ResponseEntity(HttpStatus.BAD_REQUEST); HttpEntity requestEntity; requestEntity = new HttpEntity(data, headers); @@ -137,16 +142,14 @@ public String uploadFile(String uri, String data, HashMap header multiPart.field("docPath", data); headers.add("Content-Type", MediaType.APPLICATION_JSON); requestEntity = new HttpEntity(multiPart, headers);// new - // HttpEntity(multiPart, - // headers); responseEntity = rest.exchange(uri, HttpMethod.POST, requestEntity, String.class); } catch (FileNotFoundException e) { logger.error(e.getMessage()); } finally { - if(multiPart!=null) - multiPart.close(); - if(is!=null) - is.close(); + if (multiPart != null) + multiPart.close(); + if (is != null) + is.close(); } } else { HttpEntity requestEntity; diff --git a/src/main/java/com/iemr/common/identity/utils/mapper/InputMapper.java b/src/main/java/com/iemr/common/identity/utils/mapper/InputMapper.java index 0148dfe..4c8db37 100644 --- a/src/main/java/com/iemr/common/identity/utils/mapper/InputMapper.java +++ b/src/main/java/com/iemr/common/identity/utils/mapper/InputMapper.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.utils.mapper; import org.slf4j.Logger; @@ -22,22 +43,11 @@ public class InputMapper { static GsonBuilder builder; ExclusionStrategy strategy; Logger logger = LoggerFactory.getLogger(this.getClass().getSimpleName()); - // @Autowired - // ConfigProperties configProperties; - - // @Autowired - // SessionObject sessionObject; - - // public void setSessionObject(SessionObject sessionObject) - // { - // this.sessionObject = sessionObject; - // } public InputMapper() { if (builder == null) { builder = new GsonBuilder(); builder.setDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS"); - // builder.addDeserializationExclusionStrategy(strategy) } } @@ -62,35 +72,4 @@ public T fromJson(JsonElement json, Class classOfT) throws IEMRException return builder.create().fromJson(json, classOfT); } - /** - * @param json - * @throws IEMRException This function will check for the following things and - * throws login exception if any one fails 1. Get the - * session details from the redis 2. IP address in request - * and the logged in IP address should be same. - */ - // private void valildate(String json) throws IEMRException - // { - // Object obj = new JsonParser().parse(json); - // try - // { - // if (obj instanceof JsonObject) - // { - // JSONObject reqObj = new JSONObject(json); - // String key = reqObj.getString("key"); - // // Validator.checkKeyExists(key); - // } else if (obj instanceof JsonObject) - // { - // // to do - // } else - // { - // // throw new IEMRException("Invalid login key"); - // logger.info("Invalid login key"); - // } - // } catch (Exception e) - // { - // // throw new IEMRException("Invalid login key"); - // logger.info("Invalid login key"); - // } - // } } \ No newline at end of file diff --git a/src/main/java/com/iemr/common/identity/utils/mapper/OutputMapper.java b/src/main/java/com/iemr/common/identity/utils/mapper/OutputMapper.java index d4446df..4e134ad 100644 --- a/src/main/java/com/iemr/common/identity/utils/mapper/OutputMapper.java +++ b/src/main/java/com/iemr/common/identity/utils/mapper/OutputMapper.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.utils.mapper; import com.google.gson.Gson; diff --git a/src/main/java/com/iemr/common/identity/utils/redis/RedisConnection.java b/src/main/java/com/iemr/common/identity/utils/redis/RedisConnection.java deleted file mode 100644 index 96b3058..0000000 --- a/src/main/java/com/iemr/common/identity/utils/redis/RedisConnection.java +++ /dev/null @@ -1,59 +0,0 @@ -package com.iemr.common.identity.utils.redis; - -public class RedisConnection { - // // static ConfigProperties configProperties; - // // @Autowired(required = true) - // // @Required - // // public void setConfigProperties(ConfigProperties configProperties) - // // { - // // if (configProperties == null) { - // // configProperties = new ConfigProperties(); - // // } - // // this.configProperties = configProperties; - // // } - // static JedisPool jedisPool = null; - // static int paasConnectionCounter = 0; - // static int redisPort;// = new ConfigProperties().getRedisPort(); - // static String redisURL;// = new ConfigProperties().getRedisUrl(); - // - // private void intializeRedisPool() throws NumberFormatException { - // // if (configProperties == null) { - // // configProperties = new ConfigProperties(); - // // } - // redisPort = ConfigProperties.getRedisPort(); - // redisURL = ConfigProperties.getRedisUrl(); - // JedisPoolConfig jedisPoolConfig = new JedisPoolConfig(); - // jedisPoolConfig.setMaxIdle(1); - // jedisPoolConfig.setMinIdle(1); - // jedisPoolConfig.setMaxTotal(500); - // - // // jedisPool = new JedisPool(jedisPoolConfig, "localhost", 6379); - // jedisPool = new JedisPool(jedisPoolConfig, redisURL, redisPort); - // } - // - // public Jedis getRedisConnection() throws RedisSessionException { - // Jedis jedis = null; - // try { - // if (jedisPool == null) { - // intializeRedisPool(); - // } - // jedis = jedisPool.getResource(); - // } catch (JedisConnectionException | JedisDataException e) { - // throw new RedisSessionException("Unable to connect to Redis server", e); - // } catch (Exception e) { - // if ((e instanceof SocketException)) { - // throw new RedisSessionException("Not a proper config format", e); - // } - // throw new RedisSessionException("Redis exception occured on fetch", e); - // } - // return jedis; - // } - // - // public void closeRedisConnection(Jedis jedis) throws - // JedisConnectionException, JedisDataException { - // if ((jedisPool != null) && (jedis != null)) { - // jedisPool.returnResource(jedis); - // jedis = null; - // } - // } -} diff --git a/src/main/java/com/iemr/common/identity/utils/redis/RedisSessionException.java b/src/main/java/com/iemr/common/identity/utils/redis/RedisSessionException.java index e9c32a2..06567da 100644 --- a/src/main/java/com/iemr/common/identity/utils/redis/RedisSessionException.java +++ b/src/main/java/com/iemr/common/identity/utils/redis/RedisSessionException.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.utils.redis; import com.iemr.common.identity.utils.exception.IEMRException; diff --git a/src/main/java/com/iemr/common/identity/utils/redis/RedisStorage.java b/src/main/java/com/iemr/common/identity/utils/redis/RedisStorage.java index b5ee0bc..04a3f1d 100644 --- a/src/main/java/com/iemr/common/identity/utils/redis/RedisStorage.java +++ b/src/main/java/com/iemr/common/identity/utils/redis/RedisStorage.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.utils.redis; import org.slf4j.Logger; @@ -11,56 +32,26 @@ @Component public class RedisStorage { - // @Autowired - // private RedisConnection redisConnection;// = new RedisConnection(); @Autowired private LettuceConnectionFactory connection; Logger logger = LoggerFactory.getLogger(this.getClass().getSimpleName()); - // @Autowired(required = true) - // @Required - // public void setRedisConnection(RedisConnection redisConnection) - // { - // if (redisConnection == null) - // { - // redisConnection = new RedisConnection(); - // } - // this.redisConnection = redisConnection; - // } - - // public RedisStorage() - // { - // redisConnection = new RedisConnection(); - // } - public String setObject(String key, String value, int expirationTime) throws RedisSessionException { RedisConnection redCon = connection.getConnection(); - // redCon.get(key.getBytes()); - // redCon.expire(key.getBytes(), expirationTime); - // redCon.set(key.getBytes(), value.getBytes(), - // Expiration.seconds(expirationTime), SetOption.UPSERT); byte[] sessionData = redCon.get(key.getBytes()); String userRespFromRedis = null; if (sessionData != null) { userRespFromRedis = new String(redCon.get(key.getBytes())); } - // Jedis jedis = redisConnection.getRedisConnection(); - // userRespFromRedis = jedis.get(key); if ((userRespFromRedis == null) || (userRespFromRedis.isEmpty())) { logger.info("updating session time of redis for " + key); redCon.set(key.getBytes(), value.getBytes(), Expiration.seconds(expirationTime), SetOption.UPSERT); - // jedis.expire(key, expirationTime); } - // redisConnection.closeRedisConnection(jedis); return key; } public String getObject(String key, Boolean extendExpirationTime, int expirationTime) throws RedisSessionException { - // String userRespFromRedis = null; - // Jedis jedis = redisConnection.getRedisConnection(); - // userRespFromRedis = jedis.get(key); - RedisConnection redCon = connection.getConnection(); byte[] sessionData = redCon.get(key.getBytes()); String userRespFromRedis = null; @@ -68,56 +59,36 @@ public String getObject(String key, Boolean extendExpirationTime, int expiration userRespFromRedis = new String(redCon.get(key.getBytes())); } if ((userRespFromRedis != null) && (userRespFromRedis.trim().length() != 0)) { - // if (extendExpirationTime.booleanValue()) - // { - // jedis.expire(key, expirationTime); - // } - logger.info("updating session time of redis for " + key); redCon.expire(key.getBytes(), expirationTime); } else { throw new RedisSessionException("Unable to fetch session object from Redis server"); } - // redisConnection.closeRedisConnection(jedis); return userRespFromRedis; } public Long deleteObject(String key) throws RedisSessionException { RedisConnection redCon = connection.getConnection(); Long userRespFromRedis = Long.valueOf(0L); - // Jedis jedis = redisConnection.getRedisConnection(); - // userRespFromRedis = jedis.del(key); userRespFromRedis = redCon.del(key.getBytes()); - // redisConnection.closeRedisConnection(jedis); return userRespFromRedis; } public String updateObject(String key, String value, Boolean extendExpirationTime, int expirationTime) throws RedisSessionException { RedisConnection redCon = connection.getConnection(); - // String userRespFromRedis = null; - // Jedis jedis = redisConnection.getRedisConnection(); - byte[] sessionData = redCon.get(key.getBytes()); String userRespFromRedis = null; if (sessionData != null) { userRespFromRedis = new String(redCon.get(key.getBytes())); } - // userRespFromRedis = jedis.get(key); if ((userRespFromRedis != null) && (userRespFromRedis.trim().length() != 0)) { - // jedis.set(key, value); - // if (extendExpirationTime.booleanValue()) - // { - // jedis.expire(key, expirationTime); - // } - logger.info("updating session time of redis for " + key); redCon.set(key.getBytes(), value.getBytes(), Expiration.seconds(expirationTime), SetOption.UPSERT); } else { throw new RedisSessionException("Unable to fetch session object from Redis server"); } - // redisConnection.closeRedisConnection(jedis); return key; } diff --git a/src/main/java/com/iemr/common/identity/utils/response/OutputResponse.java b/src/main/java/com/iemr/common/identity/utils/response/OutputResponse.java index 840934a..65d8cc6 100644 --- a/src/main/java/com/iemr/common/identity/utils/response/OutputResponse.java +++ b/src/main/java/com/iemr/common/identity/utils/response/OutputResponse.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.utils.response; import java.util.Calendar; @@ -14,8 +35,7 @@ import com.google.gson.LongSerializationPolicy; import com.google.gson.annotations.Expose; -public class OutputResponse -{ +public class OutputResponse { @Expose private Object data; Logger logger = LoggerFactory.getLogger(this.getClass().getSimpleName()); @@ -38,26 +58,19 @@ public class OutputResponse private static final String RESPONSE = "{\"response\":\"$$STRING\"}"; private static final String RESPONSE_VALUE = "$$STRING"; - public void setResponse(String message) - { + public void setResponse(String message) { JsonArray ja = null; - try - { + try { Object obj = new JsonParser().parse(message); - if ((obj instanceof JsonArray)) - { + if ((obj instanceof JsonArray)) { ja = (JsonArray) obj; this.data = ja; - } else if ((obj instanceof JsonObject)) - { + } else if ((obj instanceof JsonObject)) { this.data = obj; - } else - { + } else { this.data = new JsonParser().parse(RESPONSE.replace(RESPONSE_VALUE, message)); - // this.data = message; } - } catch (Exception exe) - { + } catch (Exception exe) { this.data = message; this.data = new JsonParser().parse(RESPONSE.replace(RESPONSE_VALUE, message)); } @@ -67,85 +80,77 @@ public void setResponse(String message) } - public void setError(Throwable thrown) - { + public void setError(Throwable thrown) { Date currDate = Calendar.getInstance().getTime(); logger.info("error happened due to " + thrown.getClass().getSimpleName() + " at " + currDate.toString()); - switch (thrown.getClass().getSimpleName()) - { - case "IEMRException": - this.statusCode = USERID_FAILURE; - status = "User login failed"; - errorMessage = thrown.getMessage(); - break; - case "JSONException": - this.statusCode = OBJECT_FAILURE; - status = "Invalid object conversion"; - errorMessage = "Invalid object conversion"; - break; - case "SQLException": - case "ParseException": - case "NullPointerException": - case "SQLGrammarException": - case "ArrayIndexOutOfBoundsException": - case "ConstraintViolationException": - this.statusCode = CODE_EXCEPTION; - status = "Failed with critical errors at " + currDate.toString() + ".Please try after some time. " - + "If error is still seen, contact your administrator."; - errorMessage = thrown.getMessage(); - break; - case "IOException": - case "ConnectException": - case "ConnectIOException": - this.statusCode = ENVIRONMENT_EXCEPTION; - status = "Failed with connection issues at " + currDate.toString() + "Please try after some time. " - + "If error is still seen, contact your administrator."; - errorMessage = thrown.getMessage(); - break; - case "JDBCException": - this.statusCode = ENVIRONMENT_EXCEPTION; - status = "Failed with DB connection issues at " + currDate.toString() + ". Please try after some time. " - + "If error is still seen, contact your administrator."; - errorMessage = thrown.getMessage(); - break; - default: - this.statusCode = GENERIC_FAILURE; - status = "Failed with " + thrown.getMessage() + " at " + currDate.toString() - + ".Please try after some time. If error is still seen, contact your administrator."; - errorMessage = thrown.getMessage(); - break; + switch (thrown.getClass().getSimpleName()) { + case "IEMRException": + this.statusCode = USERID_FAILURE; + status = "User login failed"; + errorMessage = thrown.getMessage(); + break; + case "JSONException": + this.statusCode = OBJECT_FAILURE; + status = "Invalid object conversion"; + errorMessage = "Invalid object conversion"; + break; + case "SQLException": + case "ParseException": + case "NullPointerException": + case "SQLGrammarException": + case "ArrayIndexOutOfBoundsException": + case "ConstraintViolationException": + this.statusCode = CODE_EXCEPTION; + status = "Failed with critical errors at " + currDate.toString() + ".Please try after some time. " + + "If error is still seen, contact your administrator."; + errorMessage = thrown.getMessage(); + break; + case "IOException": + case "ConnectException": + case "ConnectIOException": + this.statusCode = ENVIRONMENT_EXCEPTION; + status = "Failed with connection issues at " + currDate.toString() + "Please try after some time. " + + "If error is still seen, contact your administrator."; + errorMessage = thrown.getMessage(); + break; + case "JDBCException": + this.statusCode = ENVIRONMENT_EXCEPTION; + status = "Failed with DB connection issues at " + currDate.toString() + ". Please try after some time. " + + "If error is still seen, contact your administrator."; + errorMessage = thrown.getMessage(); + break; + default: + this.statusCode = GENERIC_FAILURE; + status = "Failed with " + thrown.getMessage() + " at " + currDate.toString() + + ".Please try after some time. If error is still seen, contact your administrator."; + errorMessage = thrown.getMessage(); + break; } logger.error("Failure happend with " + thrown.getMessage() + "at " + currDate.toString(), thrown); } - public void setError(int errorCode, String message, String status) - { + public void setError(int errorCode, String message, String status) { this.errorMessage = message; this.status = status; this.statusCode = errorCode; } - public void setError(int errorCode, String message) - { + public void setError(int errorCode, String message) { setError(errorCode, message, message); } - public boolean isSuccess() - { + public boolean isSuccess() { return (this.statusCode == SUCCESS); } /** * @return the data */ - public String getData() - { + public String getData() { JSONObject obj = new JSONObject(toString()); - if (obj.has("data")) - { + if (obj.has("data")) { return obj.get("data").toString(); - } else - { + } else { return null; } } @@ -153,55 +158,36 @@ public String getData() /** * @return the statusCode */ - public int getStatusCode() - { + public int getStatusCode() { return statusCode; } /** * @return the errorMessage */ - public String getErrorMessage() - { + public String getErrorMessage() { return errorMessage; } /** * @return the status */ - public String getStatus() - { + public String getStatus() { return status; } @Override - public String toString() - { - // return new Gson().toJson(this); - // Gson gson = OutputMapper.gson(); + public String toString() { GsonBuilder builder = new GsonBuilder(); builder.excludeFieldsWithoutExposeAnnotation().setLongSerializationPolicy(LongSerializationPolicy.STRING); - // builder.disableInnerClassSerialization(); return builder.create().toJson(this); - // JSONObject response = new JSONObject(); - // response.put("data", data); - // response.put("statusCode", statusCode); - // response.put("status", status); - // response.put("errorMessage", errorMessage); - // return response.toString(); } - public String toStringWithSerialization() - { + public String toStringWithSerialization() { GsonBuilder builder = new GsonBuilder(); builder.excludeFieldsWithoutExposeAnnotation(); builder.serializeNulls().setLongSerializationPolicy(LongSerializationPolicy.STRING); return builder.create().toJson(this); } - // public static void main(String[] args) { - // OutputResponse resp = new OutputResponse(); - // resp.setResponse("{testing: [test]}"); - // System.out.println(resp.toString()); - // } } diff --git a/src/main/java/com/iemr/common/identity/utils/sessionobject/SessionObject.java b/src/main/java/com/iemr/common/identity/utils/sessionobject/SessionObject.java index 9c8fb66..af0cb84 100644 --- a/src/main/java/com/iemr/common/identity/utils/sessionobject/SessionObject.java +++ b/src/main/java/com/iemr/common/identity/utils/sessionobject/SessionObject.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.utils.sessionobject; import org.springframework.beans.factory.annotation.Autowired; @@ -12,50 +33,23 @@ @Component public class SessionObject { - - // // - // @Autowired(required = true) - // // @Required - // public void setConfigProperties(ConfigProperties configProperties) - // { - // // if (configProperties == null) - // // { - // // configProperties = new ConfigProperties(); - // // } - // this.configProperties = configProperties; - // } - private RedisStorage objectStore; - @Autowired - // @Required public void setObjectStore(RedisStorage objectStore) { - // if (objectStore == null) - // { - // objectStore = new RedisStorage(); - // } this.objectStore = objectStore; } public SessionObject() { - // configProperties = new ConfigProperties(); - // objectStore = new RedisStorage(); - // if (objectStore == null) - // { - // objectStore = new RedisStorage(); - // } extendExpirationTime = ConfigProperties.getExtendExpiryTime(); sessionExpiryTime = ConfigProperties.getSessionExpiryTime(); } - private boolean extendExpirationTime;// = - // configProperties.getExtendExpiryTime(); - private int sessionExpiryTime;// = configProperties.getSessionExpiryTime(); + private boolean extendExpirationTime; + private int sessionExpiryTime; public String getSessionObject(String key) throws RedisSessionException { Boolean extendExpirationTime = ConfigProperties.getExtendExpiryTime(); Integer sessionExpiryTime = ConfigProperties.getSessionExpiryTime(); - // RedisStorage objectStore = new RedisStorage(); return objectStore.getObject(key, extendExpirationTime, sessionExpiryTime); } @@ -69,9 +63,9 @@ public String updateSessionObject(String key, String value) throws RedisSessionE Boolean extendExpirationTime = ConfigProperties.getExtendExpiryTime(); Integer sessionExpiryTime = ConfigProperties.getSessionExpiryTime(); updateConcurrentSessionObject(key, value, extendExpirationTime, sessionExpiryTime); - // RedisStorage objectStore = new RedisStorage(); return objectStore.updateObject(key, value, extendExpirationTime, sessionExpiryTime); } + private void updateConcurrentSessionObject(String key, String value, Boolean extendExpirationTime, Integer sessionExpiryTime) { try { @@ -87,31 +81,9 @@ private void updateConcurrentSessionObject(String key, String value, Boolean ext } } + public void deleteSessionObject(String key) throws RedisSessionException { - // RedisStorage objectStore = new RedisStorage(); System.out.println(objectStore.deleteObject(key)); } - // public static void test(String[] args) - // { - // SessionObject obj = new SessionObject(); - // JSONObject testdata = new JSONObject(); - // try - // { - // System.out.println("Set Object " + obj.getSessionObject("test1234")); - // System.out.println("Set Object " + obj.setSessionObject("test1234", - // testdata.toString())); - // System.out.println("Set Object " + obj.getSessionObject("test1234")); - // testdata.put("userName", "test"); - // // testdata.put("validity", obj.sessionExpiryTime); - // System.out.println("Set Object " + obj.updateSessionObject("test1234", - // testdata.toString())); - // System.out.println("Set Object " + obj.getSessionObject("test1234")); - // obj.deleteSessionObject("test1234"); - // System.out.println("Set Object " + obj.getSessionObject("test1234")); - // } catch (RedisSessionException | JSONException e) - // { - // e.printStackTrace(); - // } - // } } diff --git a/src/main/java/com/iemr/common/identity/utils/validator/Validator.java b/src/main/java/com/iemr/common/identity/utils/validator/Validator.java index 4e36def..595ba71 100644 --- a/src/main/java/com/iemr/common/identity/utils/validator/Validator.java +++ b/src/main/java/com/iemr/common/identity/utils/validator/Validator.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.utils.validator; import org.json.JSONException; @@ -13,58 +34,38 @@ import com.iemr.common.identity.utils.redis.RedisSessionException; import com.iemr.common.identity.utils.sessionobject.SessionObject; - - @Service -public class Validator -{ - // private static SessionObject session; - +public class Validator { private SessionObject session; private static Boolean enableIPValidation = false; @Autowired(required = true) @Required - public void setSessionObject(SessionObject sessionObject) - { + public void setSessionObject(SessionObject sessionObject) { this.session = sessionObject; } - // private static void setSessionObject() { - // if (session == null) { - // session = new SessionObject(); - // } - // } - - public Validator() - { - if (!enableIPValidation) - { + public Validator() { + if (!enableIPValidation) { enableIPValidation = ConfigProperties.getBoolean("enableIPValidation"); } } private Logger logger = LoggerFactory.getLogger(Validator.class); - public JSONObject updateCacheObj(JSONObject responseObj, String key, String ipKey) - { - try - { + public JSONObject updateCacheObj(JSONObject responseObj, String key, String ipKey) { + try { Boolean loggedFromDifferentIP = false; String loginKey = key; String status = "login failed"; - try - { + try { responseObj.put("sessionStatus", "session creation failed"); String sessionData = session.getSessionObject(key); - if (enableIPValidation) - { - if (sessionData != null && sessionData.trim().length() > 0) - { + if (enableIPValidation) { + if (sessionData != null && sessionData.trim().length() > 0) { JSONObject sessionObj = new JSONObject(sessionData); - if (!sessionObj.getString("loginIPAddress").equals(responseObj.getString("loginIPAddress"))) - { + if (!sessionObj.getString("loginIPAddress").equals(responseObj.getString("loginIPAddress"))) { logger.error("Logged in IP : " + sessionObj.getString("loginIPAddress") + "\tRequest IP : " + responseObj.getString("loginIPAddress")); loggedFromDifferentIP = true; @@ -72,49 +73,39 @@ public JSONObject updateCacheObj(JSONObject responseObj, String key, String ipKe } } } - } catch (RedisSessionException e) - { + } catch (RedisSessionException e) { logger.error("Session validation failed with exception", e); } - if (!loggedFromDifferentIP) - { + if (!loggedFromDifferentIP) { status = "login success"; session.setSessionObject(key, responseObj.toString()); - } else - { + } else { responseObj = new JSONObject(); } responseObj.put("key", loginKey); responseObj.put("sessionStatus", status); - } catch (RedisSessionException | JSONException e) - { + } catch (RedisSessionException | JSONException e) { logger.error("Session validation failed with exception", e); } return responseObj; } - public String getSessionObject(String key) throws RedisSessionException - { + public String getSessionObject(String key) throws RedisSessionException { return session.getSessionObject(key); } - public void checkKeyExists(String loginKey, String ipAddress) throws IEMRException - { - try - { + public void checkKeyExists(String loginKey, String ipAddress) throws IEMRException { + try { String sessionString = session.getSessionObject(loginKey); JSONObject sessionObj = new JSONObject(sessionString); - if (enableIPValidation) - { - if (!sessionObj.getString("loginIPAddress").equals(ipAddress)) - { + if (enableIPValidation) { + if (!sessionObj.getString("loginIPAddress").equals(ipAddress)) { logger.error( "Logged in IP : " + sessionObj.getString("loginIPAddress") + "\tRequest IP : " + ipAddress); throw new Exception(); - } + } } - } catch (Exception e) - { + } catch (Exception e) { throw new IEMRException("Invalid login key or session is expired"); } } diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 238ccda..9ec2a19 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -63,3 +63,5 @@ getHealthID=healthID/getBenhealthID + + diff --git a/src/test/java/com/iemr/common/identity/IdentityApplicationTests.java b/src/test/java/com/iemr/common/identity/IdentityApplicationTests.java index 3a6d615..047b4b8 100644 --- a/src/test/java/com/iemr/common/identity/IdentityApplicationTests.java +++ b/src/test/java/com/iemr/common/identity/IdentityApplicationTests.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity; import org.junit.Test; diff --git a/src/test/java/com/iemr/common/identity/controller/IdentityControllerTest.java b/src/test/java/com/iemr/common/identity/controller/IdentityControllerTest.java index 3470005..f9aad28 100644 --- a/src/test/java/com/iemr/common/identity/controller/IdentityControllerTest.java +++ b/src/test/java/com/iemr/common/identity/controller/IdentityControllerTest.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.controller; import static org.junit.Assert.assertFalse; diff --git a/src/test/java/com/iemr/common/identity/service/IdentityServiceTest.java b/src/test/java/com/iemr/common/identity/service/IdentityServiceTest.java index e6b1d7e..b349e11 100644 --- a/src/test/java/com/iemr/common/identity/service/IdentityServiceTest.java +++ b/src/test/java/com/iemr/common/identity/service/IdentityServiceTest.java @@ -1,3 +1,24 @@ +/* +* AMRIT – Accessible Medical Records via Integrated Technology +* Integrated EHR (Electronic Health Records) Solution +* +* Copyright (C) "Piramal Swasthya Management and Research Institute" +* +* This file is part of AMRIT. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see https://www.gnu.org/licenses/. +*/ package com.iemr.common.identity.service; import static org.junit.Assert.assertFalse; @@ -162,7 +183,7 @@ public void getBeneficiariesTest() throws NoResultException, QueryTimeoutExcepti BeneficiariesDTO dto = new BeneficiariesDTO(); dto.setBenId(new BigInteger("301")); - doReturn(dto).when(identityMapper).MBeneficiarymappingToBeneficiariesDTO(mBeneficiarymapping); + doReturn(dto).when(identityMapper).mBeneficiarymappingToBeneficiariesDTO(mBeneficiarymapping); List benDTOList=identityService.getBeneficiaries(Mockito.mock(IdentitySearchDTO.class)); assertTrue(benDTOList.size()>0); } @@ -198,7 +219,7 @@ public void getBeneficiariesBenRegIDTest() throws NoResultException, QueryTimeou identitylist.add(identity); mBeneficiarymapping.setMBeneficiaryidentities(identitylist); - doReturn(dto).when(identityMapper).MBeneficiarymappingToBeneficiariesDTO(mBeneficiarymapping); + doReturn(dto).when(identityMapper).mBeneficiarymappingToBeneficiariesDTO(mBeneficiarymapping); doReturn(mBeneficiarymapping).when(benMappingRepo).findByBenRegIdOrderByBenMapIdAsc(Mockito.any(BigInteger.class)); List benDTOList=identityService.getBeneficiaries(identitySearchDTO); @@ -227,7 +248,7 @@ public void getBeneficiariesBenConTest1() throws NoResultException, QueryTimeout BeneficiariesDTO dto = new BeneficiariesDTO(); dto.setBenId(new BigInteger("301")); - doReturn(dto).when(identityMapper).MBeneficiarymappingToBeneficiariesDTO(mBeneficiarymapping); + doReturn(dto).when(identityMapper).mBeneficiarymappingToBeneficiariesDTO(mBeneficiarymapping); List benDTOList=identityService.getBeneficiaries(identitySearchDTO); assertTrue(benDTOList.size()>0); @@ -250,7 +271,7 @@ public void getBeneficiariesByBenIdTest() throws NoResultException, QueryTimeout doReturn(mapping).when(benRegIdMappingRepo).findByBeneficiaryID(Mockito.any(BigInteger.class)); doReturn(benMapList).when(benMappingRepo).findByMBeneficiaryregidmappingOrderByBenMapIdAsc(anyObject()); - doReturn(dto).when(identityMapper).MBeneficiarymappingToBeneficiariesDTO(Mbeneficiary); + doReturn(dto).when(identityMapper).mBeneficiarymappingToBeneficiariesDTO(Mbeneficiary); List bList = identityService.getBeneficiariesByBenId(Mockito.any(BigInteger.class)); @@ -292,7 +313,7 @@ public void getBeneficiariesByPhoneNumTest() throws NoResultException, QueryTime BeneficiariesDTO dto = new BeneficiariesDTO(); dto.setBenId(new BigInteger("301")); - doReturn(dto).when(identityMapper).MBeneficiarymappingToBeneficiariesDTO(mBeneficiarymapping); + doReturn(dto).when(identityMapper).mBeneficiarymappingToBeneficiariesDTO(mBeneficiarymapping); List dtoList=identityService.getBeneficiariesByPhoneNum(Mockito.anyString()); assertTrue(dtoList.size() > 0); } @@ -407,7 +428,7 @@ public void getBeneficiariesPartialDeatilsByBenRegIdListTest1() doReturn(benDetail).when(detailRepo).findPartialBeneficiaryDetailByBenRegId(Mockito.any(BigInteger.class)); BeneficiariesPartialDTO beneficiariesPartialDTO=new BeneficiariesPartialDTO(); beneficiariesPartialDTO.setBeneficiaryDetailsId(new BigInteger("202")); - doReturn(beneficiariesPartialDTO).when(partialMapper).MBeneficiarymappingToBeneficiariesPartialDTO(beneficiarymapping); + doReturn(beneficiariesPartialDTO).when(partialMapper).mBeneficiarymappingToBeneficiariesPartialDTO(beneficiarymapping); List dtoList=identityService.getBeneficiariesPartialDeatilsByBenRegIdList(Mockito.anyListOf(BigInteger.class)); assertTrue(dtoList.size()>0); @@ -462,7 +483,7 @@ public void editIdentityTest() throws MissingMandatoryFieldsException mBeneficiarymapping.setMBeneficiarydetail(beneficiarydetail); - doReturn(mBeneficiarydetail).when(editMapper).IdentityEditDTOToMBeneficiarydetail(Mockito.any()); + doReturn(mBeneficiarydetail).when(editMapper).identityEditDTOToMBeneficiarydetail(Mockito.any()); doReturn(mBeneficiarydetail).when(beneficiarymapping).getMBeneficiarydetail(); doReturn(new BigInteger("250")).when(beneficiarydetail).getBeneficiaryDetailsId(); @@ -479,7 +500,7 @@ public void editIdentityTest() throws MissingMandatoryFieldsException mBeneficiaryaddressList.add(mBeneficiaryaddress); - doReturn(mBeneficiaryaddress).when(editMapper).IdentityEditDTOToMBeneficiaryaddress(Mockito.any()); + doReturn(mBeneficiaryaddress).when(editMapper).identityEditDTOToMBeneficiaryaddress(Mockito.any()); mBeneficiarymapping.setMBeneficiaryaddress(beneficiaryaddress); @@ -493,7 +514,7 @@ public void editIdentityTest() throws MissingMandatoryFieldsException MBeneficiaryidentity mBeneficiaryidentity=new MBeneficiaryidentity(); mBeneficiaryidentity.setBenIdentityId(new BigInteger("786")); identityList.add(mBeneficiaryidentity); - doReturn(identityList).when(editMapper).IdentityEditDTOListToMBeneficiaryidentityList(Mockito.anyListOf(Identity.class)); + doReturn(identityList).when(editMapper).identityEditDTOListToMBeneficiaryidentityList(Mockito.anyListOf(Identity.class)); doReturn(identityList).when(identityRepo).save(mBeneficiaryidentity); identityEditDTO.setChangeInContacts(true); @@ -502,14 +523,14 @@ public void editIdentityTest() throws MissingMandatoryFieldsException mBeneficiarymapping.setMBeneficiarycontact(contact); doReturn(contact).when(beneficiarymapping).getMBeneficiarycontact(); doReturn(new BigInteger("901")).when(mBeneficiarycontact).getBenContactsID(); - doReturn(contact).when(editMapper).IdentityEdiDTOToMBeneficiarycontact(Mockito.any()); + doReturn(contact).when(editMapper).identityEdiDTOToMBeneficiarycontact(Mockito.any()); identityEditDTO.setChangeInFamilyDetails(true); List familyMappingList=Lists.newArrayList(); MBeneficiaryfamilymapping familyMap=new MBeneficiaryfamilymapping(); familyMap.setBenFamilyMapId(new BigInteger("303")); familyMappingList.add(familyMap); - doReturn(familyMappingList).when(editMapper).IdentityEditDTOListToMBeneficiaryfamilymappingList(Mockito.anyListOf(BenFamilyDTO.class)); + doReturn(familyMappingList).when(editMapper).identityEditDTOListToMBeneficiaryfamilymappingList(Mockito.anyListOf(BenFamilyDTO.class)); identityService.editIdentity(identityEditDTO); } @@ -525,7 +546,7 @@ public void getBeneficiariesByBenRegIdTest() throws NoResultException, QueryTime doReturn(mBeneficiarymapping).when(benMappingRepo).findByBenRegIdOrderByBenMapIdAsc(Mockito.any(BigInteger.class)); - doReturn(dto).when(identityMapper).MBeneficiarymappingToBeneficiariesDTO(mBeneficiarymapping); + doReturn(dto).when(identityMapper).mBeneficiarymappingToBeneficiariesDTO(mBeneficiarymapping); List dtoList=identityService.getBeneficiariesByBenRegId(Mockito.any(BigInteger.class)); assertTrue(dtoList.size() > 0); @@ -542,7 +563,7 @@ public void getBeneficiariesDeatilsByBenRegIdListTest() BeneficiariesDTO dto = new BeneficiariesDTO(); dto.setBenId(new BigInteger("301")); - doReturn(dto).when(identityMapper).MBeneficiarymappingToBeneficiariesDTO(mBeneficiarymapping); + doReturn(dto).when(identityMapper).mBeneficiarymappingToBeneficiariesDTO(mBeneficiarymapping); List dtoList=identityService.getBeneficiariesDeatilsByBenRegIdList(Mockito.anyListOf(BigInteger.class)); assertTrue(dtoList.size() > 0); } From c5e2d35d0c8c907e47aff7c26e528ab92a78a657 Mon Sep 17 00:00:00 2001 From: Helen Grace Karyamsetty <133211481+helenKaryamsetty@users.noreply.github.com> Date: Thu, 14 Dec 2023 16:13:47 +0530 Subject: [PATCH 3/4] Merge branch 'master' (#40) * Merge branch 'master' of https://github.com/helenKaryamsetty/Identity-API * Delete src/main/java/com/iemr/common/identity/utils/CryptoUtil.java --------- Co-authored-by: KA40094929 Co-authored-by: ravishanigarapu <133210792+ravishanigarapu@users.noreply.github.com> --- .github/workflows/build-on-pull-request.yml | 3 +- .github/workflows/package.yml | 8 +++- .github/workflows/sast-and-package.yml | 47 +++++++++++++++++++++ 3 files changed, 56 insertions(+), 2 deletions(-) create mode 100644 .github/workflows/sast-and-package.yml diff --git a/.github/workflows/build-on-pull-request.yml b/.github/workflows/build-on-pull-request.yml index 07e011e..e85afa8 100644 --- a/.github/workflows/build-on-pull-request.yml +++ b/.github/workflows/build-on-pull-request.yml @@ -30,4 +30,5 @@ jobs: run: mvn clean install - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v2 \ No newline at end of file + uses: github/codeql-action/analyze@v2 + diff --git a/.github/workflows/package.yml b/.github/workflows/package.yml index 3c90971..97b4a17 100644 --- a/.github/workflows/package.yml +++ b/.github/workflows/package.yml @@ -17,11 +17,17 @@ env: jobs: Package-test: runs-on: ubuntu-latest + permissions: + actions: read + contents: read + security-events: write + + strategy: + fail-fast: false steps: - name: Checkout code uses: actions/checkout@v2 - - name: Setup JDK 8 uses: actions/setup-java@v2 with: diff --git a/.github/workflows/sast-and-package.yml b/.github/workflows/sast-and-package.yml new file mode 100644 index 0000000..97b4a17 --- /dev/null +++ b/.github/workflows/sast-and-package.yml @@ -0,0 +1,47 @@ +name: Package + +on: + push: + branches: [ "develop"] + paths-ignore: + - target/** + + pull_request: + branches: [ "develop" ] + paths-ignore: + - target/** + +env: + ENV_VAR: test + +jobs: + Package-test: + runs-on: ubuntu-latest + permissions: + actions: read + contents: read + security-events: write + + strategy: + fail-fast: false + steps: + + - name: Checkout code + uses: actions/checkout@v2 + - name: Setup JDK 8 + uses: actions/setup-java@v2 + with: + java-version: 8 + distribution: 'adopt' + + - name: Build with Maven + run: mvn clean install -DENV_VAR=${{ env.ENV_VAR }} + + - name: Build WAR file + run: mvn -B package --file pom.xml + + - name: Upload WAR file as artifact + uses: actions/upload-artifact@v2 + with: + name: Identity-API + path: target/identity-0.0.1.war From ca41970805d6116040b1e4e407aa1a7b29293f3c Mon Sep 17 00:00:00 2001 From: Harimohan Rajamohanan Date: Thu, 14 Dec 2023 16:51:36 +0530 Subject: [PATCH 4/4] Merge conflict resolution prior to develop -> master merge (#42) * Develop branch merge to master (#5) * Readme file added (#1) * Create README.md Added new readme.md file * Update README.md * Removed unnecessary dependencies from pom.xml (#2) * Removed unnecessary dependencies from pom.xml, added crypto.utils to resolve build issues * pom.xml cleanup * updated code-of-conduct, copying, contributing, readme (#3) * Create CONTRIBUTING.md * Create CODE_OF_CONDUCT.md * Create COPYING * Update README.md * modified .gitignore file (#4) * modified .gitignore file * Delete target directory * Update .gitignore * Delete logs directory --------- Co-authored-by: Mahima Elizabeth George <86731974+mahimaeg@users.noreply.github.com> Co-authored-by: Sweta Prakash <125380378+swetatech24@users.noreply.github.com> Co-authored-by: Vidyadevi Salunkhe <84471226+Vidyaaa24@users.noreply.github.com> * Feature/dev tomaster (#36) * Readme file added (#1) * Create README.md Added new readme.md file * Update README.md * Removed unnecessary dependencies from pom.xml (#2) * Removed unnecessary dependencies from pom.xml, added crypto.utils to resolve build issues * pom.xml cleanup * updated code-of-conduct, copying, contributing, readme (#3) * Create CONTRIBUTING.md * Create CODE_OF_CONDUCT.md * Create COPYING * Update README.md * modified .gitignore file (#4) * modified .gitignore file * Delete target directory * Update .gitignore * Delete logs directory * code smell fixes (#6) * Added copyright text (#7) Co-authored-by: Anjana K J * code smell fix (#8) * code smell fix * code smell fixes * Sonarqube reported code smell fix * done correction for application.properties * Swagger changes (#9) * Swagger changes * Swagger changes * Code smell fix (#10) * code smell fixes (#11) * Create sast-and-package-prod.yml (#12) * Create sast-and-package-prod.yml * Update sast-and-package-prod.yml * Code smell changes (#13) * Update README.md * code smell fixes * Added environment variable * Added password changes & edit environment variable (#16) * Added environment variable * Added password changes * Passing environment variable * Passing environment variable (#17) * Passing environment variable * Passing environment variable (#19) * Passing environment variable (#20) * Passing environment variable * Passing environment variable * Workflow change (#21) * Update sast-and-package-prod.yml * Update sast-and-package.yml * CreatedDate filed for Identity (#22) * CreatedDate filed for Identity * removed uncommented code * Send SMS null Id issue (#23) * CreatedDate filed for Identity * removed uncommented code * deleting DB config * Send SMS Null ID Issue * mmu cr changes * update changes * changes mmu cr * Update sast-and-package-prod.yml (#26) * edit api changes * Identity API cleanup and password masking * Updated the language option for codeql and added maven test * Added CodeQl tool to do static code analysis on pull request * Implementing Basic reverse sync operation * Fix issue on controller * Updated the language option for codeql and added maven test * Added CodeQl tool to do static code analysis on pull request * Implementing Basic reverse sync operation * Fix issue on controller * Identity API cleanup and password masking * edit api changes * change made in description of identity controller (#30) * Multiple beneficiaries sync issue changes for FLW (#31) Co-authored-by: Devika * Delete .github/workflows/sast-and-package-prod.yml * Delete .github/workflows/sast-and-package.yml * Create package-prod.yml * Create package.yml * Create sast.yml * Use a logger to log this exception (#32) * Added Pull Request template, added placeholders in properties file, and added admin_local to git ignore (#33) --------- Co-authored-by: Mahima Elizabeth George <86731974+mahimaeg@users.noreply.github.com> Co-authored-by: Sweta Prakash <125380378+swetatech24@users.noreply.github.com> Co-authored-by: Vidyadevi Salunkhe <84471226+Vidyaaa24@users.noreply.github.com> Co-authored-by: Anjana2310 <134688551+Anjana2310@users.noreply.github.com> Co-authored-by: Anjana K J Co-authored-by: Harimohan Rajamohanan <30436665+harimohanr@users.noreply.github.com> Co-authored-by: swetatech24 Co-authored-by: Anjana Co-authored-by: mukul5947 <133210744+mukul5947@users.noreply.github.com> Co-authored-by: Indrani Bandyopadhyay Co-authored-by: devikasuresh20 <57424483+devikasuresh20@users.noreply.github.com> Co-authored-by: indraniBan <133205641+indraniBan@users.noreply.github.com> Co-authored-by: Sunil GV Co-authored-by: roopesh-beehyv <118873622+roopesh-beehyv@users.noreply.github.com> Co-authored-by: helenKaryamsetty <133211481+helenKaryamsetty@users.noreply.github.com> Co-authored-by: Babacar Ndiaye Co-authored-by: Devika * Resolved a merge conflict --------- Co-authored-by: Mahima Elizabeth George <86731974+mahimaeg@users.noreply.github.com> Co-authored-by: Sweta Prakash <125380378+swetatech24@users.noreply.github.com> Co-authored-by: Vidyadevi Salunkhe <84471226+Vidyaaa24@users.noreply.github.com> Co-authored-by: ravishanigarapu <133210792+ravishanigarapu@users.noreply.github.com> Co-authored-by: Anjana2310 <134688551+Anjana2310@users.noreply.github.com> Co-authored-by: Anjana K J Co-authored-by: swetatech24 Co-authored-by: Anjana Co-authored-by: mukul5947 <133210744+mukul5947@users.noreply.github.com> Co-authored-by: Indrani Bandyopadhyay Co-authored-by: devikasuresh20 <57424483+devikasuresh20@users.noreply.github.com> Co-authored-by: indraniBan <133205641+indraniBan@users.noreply.github.com> Co-authored-by: Sunil GV Co-authored-by: roopesh-beehyv <118873622+roopesh-beehyv@users.noreply.github.com> Co-authored-by: helenKaryamsetty <133211481+helenKaryamsetty@users.noreply.github.com> Co-authored-by: Babacar Ndiaye Co-authored-by: Devika --- .github/workflows/build-on-pull-request.yml | 1 - .github/workflows/package.yml | 1 + src/main/environment/common_local.properties | 5 +++++ src/main/environment/common_test.properties | 4 +--- 4 files changed, 7 insertions(+), 4 deletions(-) create mode 100644 src/main/environment/common_local.properties diff --git a/.github/workflows/build-on-pull-request.yml b/.github/workflows/build-on-pull-request.yml index e85afa8..8970ea8 100644 --- a/.github/workflows/build-on-pull-request.yml +++ b/.github/workflows/build-on-pull-request.yml @@ -31,4 +31,3 @@ jobs: - name: Perform CodeQL Analysis uses: github/codeql-action/analyze@v2 - diff --git a/.github/workflows/package.yml b/.github/workflows/package.yml index 97b4a17..c1dfbc4 100644 --- a/.github/workflows/package.yml +++ b/.github/workflows/package.yml @@ -33,6 +33,7 @@ jobs: with: java-version: 8 distribution: 'adopt' + - name: Build with Maven run: mvn clean install -DENV_VAR=${{ env.ENV_VAR }} diff --git a/src/main/environment/common_local.properties b/src/main/environment/common_local.properties new file mode 100644 index 0000000..2473a72 --- /dev/null +++ b/src/main/environment/common_local.properties @@ -0,0 +1,5 @@ +# DataSource settings: set here your own configurations for the database +spring.datasource.url= +spring.datasource.username= +spring.datasource.password= +spring.datasource.driver-class-name=com.mysql.jdbc.Driver \ No newline at end of file diff --git a/src/main/environment/common_test.properties b/src/main/environment/common_test.properties index be3ba54..2473a72 100644 --- a/src/main/environment/common_test.properties +++ b/src/main/environment/common_test.properties @@ -2,6 +2,4 @@ spring.datasource.url= spring.datasource.username= spring.datasource.password= -spring.datasource.driver-class-name=com.mysql.jdbc.Driver - - +spring.datasource.driver-class-name=com.mysql.jdbc.Driver \ No newline at end of file