forked from mosip/digital-credential-plugins
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[INJICERT-499] Implement a data provider plugin with postgres (mosip#82)
* Added postgres data provider plugin Signed-off-by: Piyush7034 <[email protected]> * Simplified plugin implementation with property config Signed-off-by: Piyush7034 <[email protected]> * Added postgres plugin in github workflows Signed-off-by: Piyush7034 <[email protected]> * Removed id field and @value split for table fields Signed-off-by: Piyush7034 <[email protected]> * Added scope query mapping for generating different vcs with different scopes Signed-off-by: Piyush7034 <[email protected]> * Changed mock-postgres-plugin name to postgres-plugin Signed-off-by: Piyush7034 <[email protected]> * Removed unused repo from dependencies Signed-off-by: Piyush7034 <[email protected]> * Replaced object[] with map for query resullt Signed-off-by: Piyush7034 <[email protected]> --------- Signed-off-by: Piyush7034 <[email protected]> Signed-off-by: Vishwa <[email protected]>
- Loading branch information
1 parent
f9d3c76
commit cb220c0
Showing
6 changed files
with
514 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,308 @@ | ||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> | ||
<modelVersion>4.0.0</modelVersion> | ||
|
||
<groupId>io.mosip.certify</groupId> | ||
<artifactId>postgres-dataprovider-plugin</artifactId> | ||
<version>0.3.0-SNAPSHOT</version> | ||
<packaging>jar</packaging> | ||
|
||
<name>postgres-dataprovider-plugin</name> | ||
<description>Data provider plugin implementation through postgres db that is used to showcase the integration with certify</description> | ||
<url>https://github.com/mosip/digital-credential-plugins</url> | ||
|
||
<licenses> | ||
<license> | ||
<name>MPL 2.0</name> | ||
<url>https://www.mozilla.org/en-US/MPL/2.0/</url> | ||
</license> | ||
</licenses> | ||
<scm> | ||
<connection>scm:git:git://github.com/mosip/digital-credential-plugins.git</connection> | ||
<developerConnection>scm:git:ssh://github.com:mosip/digital-credential-plugins.git</developerConnection> | ||
<url>https://github.com/mosip/digital-credential-plugins</url> | ||
<tag>HEAD</tag> | ||
</scm> | ||
<developers> | ||
<developer> | ||
<name>MOSIP</name> | ||
<email>[email protected]</email> | ||
<organization>io.mosip</organization> | ||
<organizationUrl>https://www.mosip.io</organizationUrl> | ||
</developer> | ||
</developers> | ||
|
||
<properties> | ||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> | ||
<java.version>21</java.version> | ||
<maven-assembly-plugin.version>3.7.1</maven-assembly-plugin.version> | ||
<maven.compiler.source>21</maven.compiler.source> | ||
<maven.compiler.target>21</maven.compiler.target> | ||
<maven-compiler-plugin.version>3.10.1</maven-compiler-plugin.version> | ||
<maven-surefire-plugin.version>3.2.5</maven-surefire-plugin.version> | ||
<maven-gpg-plugin.version>1.5</maven-gpg-plugin.version> | ||
<maven-source-plugin>2.2.1</maven-source-plugin> | ||
<nexus-staging-maven-plugin>6.1.0</nexus-staging-maven-plugin> | ||
<git-commit-id-plugin.version>3.0.1</git-commit-id-plugin.version> | ||
<maven.jacoco.version>0.8.11</maven.jacoco.version> | ||
<maven-javadoc-plugin.version>3.6.3</maven-javadoc-plugin.version> | ||
</properties> | ||
|
||
<dependencies> | ||
<dependency> | ||
<groupId>org.projectlombok</groupId> | ||
<artifactId>lombok</artifactId> | ||
<version>1.18.30</version> | ||
<scope>provided</scope> | ||
</dependency> | ||
<dependency> | ||
<groupId>io.mosip.certify</groupId> | ||
<artifactId>certify-core</artifactId> | ||
<version>0.10.0-SNAPSHOT</version> | ||
<scope>provided</scope> | ||
</dependency> | ||
<dependency> | ||
<groupId>org.mockito</groupId> | ||
<artifactId>mockito-core</artifactId> | ||
<version>5.11.0</version> | ||
<scope>test</scope> | ||
</dependency> | ||
<dependency> | ||
<groupId>org.springframework</groupId> | ||
<artifactId>spring-test</artifactId> | ||
<version>6.1.4</version> | ||
</dependency> | ||
<dependency> | ||
<groupId>org.slf4j</groupId> | ||
<artifactId>slf4j-api</artifactId> | ||
<version>2.0.12</version> | ||
</dependency> | ||
<dependency> | ||
<groupId>junit</groupId> | ||
<artifactId>junit</artifactId> | ||
<version>4.13.1</version> | ||
<scope>test</scope> | ||
</dependency> | ||
</dependencies> | ||
|
||
<repositories> | ||
<repository> | ||
<id>ossrh</id> | ||
<name>CentralRepository</name> | ||
<url>https://oss.sonatype.org/content/repositories/snapshots</url> | ||
<layout>default</layout> | ||
<snapshots> | ||
<enabled>true</enabled> | ||
</snapshots> | ||
</repository> | ||
<repository> | ||
<id>central</id> | ||
<name>MavenCentral</name> | ||
<layout>default</layout> | ||
<url>https://repo1.maven.org/maven2</url> | ||
<snapshots> | ||
<enabled>false</enabled> | ||
</snapshots> | ||
</repository> | ||
</repositories> | ||
|
||
<distributionManagement> | ||
<snapshotRepository> | ||
<id>ossrh</id> | ||
<url>https://oss.sonatype.org/content/repositories/snapshots</url> | ||
</snapshotRepository> | ||
<repository> | ||
<id>ossrh</id> | ||
<url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url> | ||
</repository> | ||
</distributionManagement> | ||
|
||
<build> | ||
<plugins> | ||
<!-- assembly-plugin --> | ||
<plugin> | ||
<groupId>org.apache.maven.plugins</groupId> | ||
<artifactId>maven-assembly-plugin</artifactId> | ||
<version>${maven-assembly-plugin.version}</version> | ||
<configuration> | ||
<descriptorRefs> | ||
<descriptorRef>jar-with-dependencies</descriptorRef> | ||
</descriptorRefs> | ||
<appendAssemblyId>false</appendAssemblyId> | ||
</configuration> | ||
<executions> | ||
<execution> | ||
<id>make-assembly</id> | ||
<phase>package</phase> | ||
<goals> | ||
<goal>single</goal> | ||
</goals> | ||
</execution> | ||
</executions> | ||
</plugin> | ||
<plugin> | ||
<groupId>org.apache.maven.plugins</groupId> | ||
<artifactId>maven-javadoc-plugin</artifactId> | ||
<version>${maven-javadoc-plugin.version}</version> | ||
<executions> | ||
<execution> | ||
<id>attach-javadocs</id> | ||
<goals> | ||
<goal>jar</goal> | ||
</goals> | ||
</execution> | ||
</executions> | ||
<configuration> | ||
<doclint>none</doclint> | ||
<sourcepath>src/main/java</sourcepath> | ||
</configuration> | ||
</plugin> | ||
<plugin> | ||
<artifactId>maven-deploy-plugin</artifactId> | ||
<version>3.1.2</version> | ||
<executions> | ||
<execution> | ||
<id>default-deploy</id> | ||
<phase>deploy</phase> | ||
<goals> | ||
<goal>deploy</goal> | ||
</goals> | ||
</execution> | ||
</executions> | ||
</plugin> | ||
<plugin> | ||
<groupId>org.sonatype.plugins</groupId> | ||
<artifactId>nexus-staging-maven-plugin</artifactId> | ||
<version>1.6.14</version> | ||
<extensions>true</extensions> | ||
<executions> | ||
<execution> | ||
<id>default-deploy</id> | ||
<phase>deploy</phase> | ||
<goals> | ||
<goal>deploy</goal> | ||
</goals> | ||
</execution> | ||
</executions> | ||
<configuration> | ||
<serverId>ossrh</serverId> | ||
<nexusUrl>https://oss.sonatype.org/</nexusUrl> | ||
<autoReleaseAfterClose>false</autoReleaseAfterClose> | ||
</configuration> | ||
</plugin> | ||
|
||
<plugin> | ||
<groupId>org.apache.maven.plugins</groupId> | ||
<artifactId>maven-source-plugin</artifactId> | ||
<inherited>true</inherited> | ||
<version>2.2.1</version> | ||
<executions> | ||
<execution> | ||
<id>attach-sources</id> | ||
<goals> | ||
<goal>jar-no-fork</goal> | ||
</goals> | ||
</execution> | ||
</executions> | ||
</plugin> | ||
<plugin> | ||
<groupId>org.apache.maven.plugins</groupId> | ||
<artifactId>maven-gpg-plugin</artifactId> | ||
<version>1.5</version> | ||
<executions> | ||
<execution> | ||
<id>sign-artifacts</id> | ||
<phase>verify</phase> | ||
<goals> | ||
<goal>sign</goal> | ||
</goals> | ||
<configuration> | ||
<gpgArguments> | ||
<arg>--pinentry-mode</arg> | ||
<arg>loopback</arg> | ||
</gpgArguments> | ||
</configuration> | ||
</execution> | ||
</executions> | ||
</plugin> | ||
<plugin> | ||
<groupId>pl.project13.maven</groupId> | ||
<artifactId>git-commit-id-plugin</artifactId> | ||
<version>3.0.1</version> | ||
<executions> | ||
<execution> | ||
<id>get-the-git-infos</id> | ||
<goals> | ||
<goal>revision</goal> | ||
</goals> | ||
<phase>validate</phase> | ||
</execution> | ||
</executions> | ||
<configuration> | ||
<generateGitPropertiesFile>true</generateGitPropertiesFile> | ||
<generateGitPropertiesFilename>${project.build.outputDirectory}/git.properties</generateGitPropertiesFilename> | ||
<includeOnlyProperties> | ||
<includeOnlyProperty>^git.build.(time|version)$</includeOnlyProperty> | ||
<includeOnlyProperty>^git.commit.id.(abbrev|full)$</includeOnlyProperty> | ||
</includeOnlyProperties> | ||
<commitIdGenerationMode>full</commitIdGenerationMode> | ||
<dotGitDirectory>${project.basedir}/.git</dotGitDirectory> | ||
<!-- <format>json</format> --> | ||
</configuration> | ||
</plugin> | ||
<plugin> | ||
<groupId>org.apache.maven.plugins</groupId> | ||
<artifactId>maven-surefire-plugin</artifactId> | ||
<version>${maven-surefire-plugin.version}</version> | ||
<configuration> | ||
<skipTests>true</skipTests> | ||
<skip>true</skip> | ||
<argLine> | ||
${argLine} --add-opens | ||
java.xml/jdk.xml.internal=ALL-UNNAMED | ||
--illegal-access=permit | ||
</argLine> | ||
</configuration> | ||
</plugin> | ||
<plugin> | ||
<groupId>org.jacoco</groupId> | ||
<artifactId>jacoco-maven-plugin</artifactId> | ||
<version>${maven.jacoco.version}</version> | ||
<executions> | ||
<execution> | ||
<goals> | ||
<goal>prepare-agent</goal> | ||
</goals> | ||
</execution> | ||
<execution> | ||
<id>report</id> | ||
<phase>prepare-package</phase> | ||
<goals> | ||
<goal>report</goal> | ||
</goals> | ||
</execution> | ||
</executions> | ||
</plugin> | ||
<plugin> | ||
<groupId>org.apache.maven.plugins</groupId> | ||
<artifactId>maven-antrun-plugin</artifactId> | ||
<version>3.1.0</version> | ||
<executions> | ||
<execution> | ||
<id>make-jar-executable</id> | ||
<phase>package</phase> | ||
<goals> | ||
<goal>run</goal> | ||
</goals> | ||
<configuration> | ||
<target> | ||
<!-- Create a shell script to run the JAR file with executable permission --> | ||
<chmod file="${project.build.directory}/*.jar" perm="ugo+rx"/> | ||
</target> | ||
</configuration> | ||
</execution> | ||
</executions> | ||
</plugin> | ||
</plugins> | ||
</build> | ||
</project> |
8 changes: 8 additions & 0 deletions
8
.../io/mosip/certify/postgresdataprovider/integration/repository/DataProviderRepository.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
package io.mosip.certify.postgresdataprovider.integration.repository; | ||
|
||
|
||
import java.util.Map; | ||
|
||
public interface DataProviderRepository { | ||
Map<String, Object> fetchQueryResult(String id, String queryString); | ||
} |
Oops, something went wrong.