Skip to content

Commit a84cfea

Browse files
committed
PostgreSQL Reference implementation for Custom Data Connector
1 parent d1a54be commit a84cfea

37 files changed

Lines changed: 3949 additions & 0 deletions

custom-data-connector/postgresdb-ref-impl-data-connector/README.md

Lines changed: 676 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 385 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,385 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<project xmlns="http://maven.apache.org/POM/4.0.0"
3+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
5+
<modelVersion>4.0.0</modelVersion>
6+
7+
<groupId>com.ge.predix.analytics</groupId>
8+
<artifactId>postgresdb-ref-impl-data-connector</artifactId>
9+
<version>1.5.0-SNAPSHOT</version>
10+
11+
<parent>
12+
<groupId>org.springframework.boot</groupId>
13+
<artifactId>spring-boot-starter-parent</artifactId>
14+
<version>1.4.0.RELEASE</version>
15+
</parent>
16+
17+
<properties>
18+
<ref_postgres_data_connector_host>localhost</ref_postgres_data_connector_host>
19+
<ref_postgres_data_connector_port>18888</ref_postgres_data_connector_port>
20+
<ref_postgres_data_connector_read_url>http://${ref_postgres_data_connector_host}:${ref_postgres_data_connector_port}/api/v1/analytics/customdata/read</ref_postgres_data_connector_read_url>
21+
<moco-maven-plugin.version>0.9.3</moco-maven-plugin.version>
22+
<maven-surefire-plugin.version>2.14.1</maven-surefire-plugin.version>
23+
<mock_uaa_host>localhost</mock_uaa_host>
24+
<mock_uaa_port>19999</mock_uaa_port>
25+
<mock_uaa_check_token_url>http://localhost:${mock_uaa_port}/uaa/check_token</mock_uaa_check_token_url>
26+
<mock_uaa_oauth_token_url>http://${mock_uaa_host}:${mock_uaa_port}/uaa/oauth/token</mock_uaa_oauth_token_url>
27+
<mock_uaa_client_id>abc</mock_uaa_client_id>
28+
<mock_uaa_client_secret>123</mock_uaa_client_secret>
29+
<!--configure the OAuth2 client credentials according to your environment-->
30+
<uaa_client_id>admin</uaa_client_id>
31+
<uaa_client_secret>your-client-secret</uaa_client_secret>
32+
<uaa_check_token_url>https://your-uaa-host/check_token</uaa_check_token_url>
33+
</properties>
34+
35+
<distributionManagement>
36+
<repository>
37+
<id>artifactory.releases</id>
38+
<name>artifactory.releases</name>
39+
<url>https://devcloud.swcoe.ge.com/artifactory/PREDIX</url>
40+
</repository>
41+
<snapshotRepository>
42+
<id>artifactory.snapshots</id>
43+
<name>artifactory.snapshots</name>
44+
<url>https://devcloud.swcoe.ge.com/artifactory/PREDIX-SNAPSHOT</url>
45+
</snapshotRepository>
46+
</distributionManagement>
47+
48+
<profiles>
49+
<profile>
50+
<id>wadl2java</id>
51+
<build>
52+
<plugins>
53+
<plugin>
54+
<groupId>org.apache.cxf</groupId>
55+
<artifactId>cxf-wadl2java-plugin</artifactId>
56+
<version>3.1.6</version>
57+
<executions>
58+
<execution>
59+
<id>generate-sources</id>
60+
<phase>generate-sources</phase>
61+
<configuration>
62+
<sourceRoot>${basedir}/src/main/java</sourceRoot>
63+
<wadlOptions>
64+
<wadlOption>
65+
<wadl>${basedir}/src/main/resources/wadl/CustomDataProviderServiceImpl.wadl</wadl>
66+
<impl>true</impl>
67+
68+
<packagename>com.ge.predix.analytics.customconnector.refimpl.postgresdb</packagename>
69+
<schemaPackagenames>
70+
<schemaPackagename>http://postgresdbrefimpl=com.ge.predix.analytics.customconnector.refimpl.postgresdb</schemaPackagename>
71+
</schemaPackagenames>
72+
</wadlOption>
73+
74+
</wadlOptions>
75+
76+
</configuration>
77+
<goals>
78+
<goal>wadl2java</goal>
79+
</goals>
80+
</execution>
81+
</executions>
82+
</plugin>
83+
84+
</plugins>
85+
</build>
86+
</profile>
87+
</profiles>
88+
89+
<build>
90+
<plugins>
91+
<plugin>
92+
<groupId>org.apache.maven.plugins</groupId>
93+
<artifactId>maven-compiler-plugin</artifactId>
94+
<version>3.0</version>
95+
<configuration>
96+
<source>1.7</source>
97+
<target>1.7</target>
98+
</configuration>
99+
</plugin>
100+
<plugin>
101+
<groupId>org.springframework.boot</groupId>
102+
<artifactId>spring-boot-maven-plugin</artifactId>
103+
<version>1.4.0.RELEASE</version>
104+
<configuration>
105+
<mainClass>com.ge.predix.analytics.customconnector.refimpl.postgresdb.PostgresRefImplConnectorApplication</mainClass>
106+
<jvmArguments>
107+
-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5007
108+
-Duaa_client_id=${uaa_client_id}
109+
-Duaa_client_secret=${uaa_client_secret}
110+
-Duaa_check_token_url=${uaa_check_token_url}
111+
</jvmArguments>
112+
113+
</configuration>
114+
<executions>
115+
<execution>
116+
<goals>
117+
<goal>repackage</goal>
118+
</goals>
119+
</execution>
120+
</executions>
121+
</plugin>
122+
<!--
123+
using moco to set up a mock web service that provides the uaa authorization request/response
124+
when the integration tests are run
125+
-->
126+
<plugin>
127+
<groupId>com.garrettheel</groupId>
128+
<artifactId>moco-maven-plugin</artifactId>
129+
<version>${moco-maven-plugin.version}</version>
130+
<configuration>
131+
<port>${mock_uaa_port}</port>
132+
<configFile>src/test/resources/uaa-mock.json</configFile>
133+
</configuration>
134+
<executions>
135+
<execution>
136+
<id>start-moco</id>
137+
<phase>process-test-classes</phase>
138+
<goals>
139+
<goal>start</goal>
140+
</goals>
141+
</execution>
142+
<execution>
143+
<id>stop-moco</id>
144+
<phase>prepare-package</phase>
145+
<goals>
146+
<goal>stop</goal>
147+
</goals>
148+
</execution>
149+
</executions>
150+
</plugin>
151+
152+
<plugin>
153+
<groupId>org.apache.maven.plugins</groupId>
154+
<artifactId>maven-surefire-plugin</artifactId>
155+
<version>${maven-surefire-plugin.version}</version>
156+
<configuration>
157+
<includes>
158+
<include>**/*Test.java</include>
159+
<include>**/Test*.java</include>
160+
</includes>
161+
<systemPropertyVariables>
162+
<uaa_client_id>${mock_uaa_client_id}</uaa_client_id>
163+
<uaa_client_secret>${mock_uaa_client_secret}</uaa_client_secret>
164+
<uaa_check_token_url>${mock_uaa_check_token_url}</uaa_check_token_url>
165+
<uaa_oauth_token_url>${mock_uaa_oauth_token_url}</uaa_oauth_token_url>
166+
<ref_postgres_data_connector_port>${ref_postgres_data_connector_port}</ref_postgres_data_connector_port>
167+
<ref_postgres_data_connector_read_url>${ref_postgres_data_connector_read_url}</ref_postgres_data_connector_read_url>
168+
</systemPropertyVariables>
169+
</configuration>
170+
</plugin>
171+
</plugins>
172+
</build>
173+
174+
<dependencies>
175+
176+
177+
<!-- server startup -->
178+
<dependency>
179+
<groupId>org.apache.cxf</groupId>
180+
<artifactId>cxf-spring-boot-starter-jaxrs</artifactId>
181+
<version>3.1.7</version>
182+
<exclusions>
183+
<exclusion>
184+
<groupId>org.springframework</groupId>
185+
<artifactId>spring-context</artifactId>
186+
</exclusion>
187+
</exclusions>
188+
</dependency>
189+
<dependency>
190+
<groupId>org.codehaus.jackson</groupId>
191+
<artifactId>jackson-jaxrs</artifactId>
192+
<version>1.9.2</version>
193+
</dependency>
194+
<dependency>
195+
<groupId>org.cloudfoundry.identity</groupId>
196+
<artifactId>cloudfoundry-identity-common</artifactId>
197+
<version>2.3.2-GE</version>
198+
<exclusions>
199+
<exclusion>
200+
<groupId>org.hibernate</groupId>
201+
<artifactId>hibernate-commons-annotations</artifactId>
202+
</exclusion>
203+
<exclusion>
204+
<groupId>org.mariadb.jdbc</groupId>
205+
<artifactId>mariadb-java-client</artifactId>
206+
</exclusion>
207+
<exclusion>
208+
<groupId>org.springframework.security</groupId>
209+
<artifactId>spring-security-jwt</artifactId>
210+
</exclusion>
211+
212+
<exclusion>
213+
<groupId>org.springframework.security.oauth</groupId>
214+
<artifactId>spring-security-oauth2</artifactId>
215+
</exclusion>
216+
217+
<exclusion>
218+
<groupId>org.springframework.security.oauth</groupId>
219+
<artifactId>spring-security-oauth</artifactId>
220+
</exclusion>
221+
222+
<exclusion>
223+
<groupId>org.springframework</groupId>
224+
<artifactId>spring-core</artifactId>
225+
</exclusion>
226+
227+
<exclusion>
228+
<groupId>org.springframework</groupId>
229+
<artifactId>spring-expression</artifactId>
230+
</exclusion>
231+
232+
<exclusion>
233+
<groupId>org.springframework</groupId>
234+
<artifactId>spring-beans</artifactId>
235+
</exclusion>
236+
237+
<exclusion>
238+
<groupId>org.springframework</groupId>
239+
<artifactId>spring-context</artifactId>
240+
</exclusion>
241+
242+
<exclusion>
243+
<groupId>org.springframework</groupId>
244+
<artifactId>spring-aop</artifactId>
245+
</exclusion>
246+
247+
<exclusion>
248+
<groupId>org.springframework</groupId>
249+
<artifactId>spring-web</artifactId>
250+
</exclusion>
251+
252+
<exclusion>
253+
<groupId>org.springframework</groupId>
254+
<artifactId>spring-jdbc</artifactId>
255+
</exclusion>
256+
257+
<exclusion>
258+
<groupId>org.springframework</groupId>
259+
<artifactId>spring-webmvc</artifactId>
260+
</exclusion>
261+
262+
<exclusion>
263+
<groupId>org.springframework</groupId>
264+
<artifactId>spring-tx</artifactId>
265+
</exclusion>
266+
267+
<exclusion>
268+
<groupId>org.springframework</groupId>
269+
<artifactId>spring-test</artifactId>
270+
</exclusion>
271+
272+
<exclusion>
273+
<groupId>org.springframework.security</groupId>
274+
<artifactId>spring-security-core</artifactId>
275+
</exclusion>
276+
277+
<exclusion>
278+
<groupId>org.springframework.security</groupId>
279+
<artifactId>spring-security-web</artifactId>
280+
</exclusion>
281+
282+
<exclusion>
283+
<groupId>org.springframework.security</groupId>
284+
<artifactId>spring-security-ldap</artifactId>
285+
</exclusion>
286+
287+
<exclusion>
288+
<groupId>org.springframework.security.extensions</groupId>
289+
<artifactId>spring-security-saml2-core</artifactId>
290+
</exclusion>
291+
292+
<exclusion>
293+
<groupId>org.slf4j</groupId>
294+
<artifactId>slf4j-log4j12</artifactId>
295+
</exclusion>
296+
</exclusions>
297+
298+
299+
</dependency>
300+
301+
<dependency>
302+
<groupId>org.springframework.security.oauth</groupId>
303+
<artifactId>spring-security-oauth2</artifactId>
304+
<version>2.0.3.RELEASE</version>
305+
</dependency>
306+
<!-- logging -->
307+
<dependency>
308+
<groupId>ch.qos.logback</groupId>
309+
<artifactId>logback-classic</artifactId>
310+
</dependency>
311+
<dependency>
312+
<groupId>ch.qos.logback</groupId>
313+
<artifactId>logback-core</artifactId>
314+
</dependency>
315+
316+
<dependency>
317+
<groupId>org.springframework.security</groupId>
318+
<artifactId>spring-security-jwt</artifactId>
319+
<version>1.0.2.RELEASE</version>
320+
</dependency>
321+
322+
323+
<!-- DB setup and dependent libraries -->
324+
<dependency>
325+
<groupId>org.flywaydb</groupId>
326+
<artifactId>flyway-core</artifactId>
327+
</dependency>
328+
<dependency>
329+
<groupId>org.springframework</groupId>
330+
<artifactId>spring-context</artifactId>
331+
</dependency>
332+
<dependency>
333+
<groupId>com.jolbox</groupId>
334+
<artifactId>bonecp-provider</artifactId>
335+
<version>0.7.1.RELEASE</version>
336+
</dependency>
337+
<dependency>
338+
<groupId>org.springframework</groupId>
339+
<artifactId>spring-jdbc</artifactId>
340+
</dependency>
341+
<dependency>
342+
<groupId>org.postgresql</groupId>
343+
<artifactId>postgresql</artifactId>
344+
</dependency>
345+
346+
<!-- unit and component testing -->
347+
<dependency>
348+
<groupId>junit</groupId>
349+
<artifactId>junit</artifactId>
350+
<scope>test</scope>
351+
</dependency>
352+
<dependency>
353+
<groupId>org.springframework.boot</groupId>
354+
<artifactId>spring-boot-starter-cloud-connectors</artifactId>
355+
</dependency>
356+
357+
<dependency>
358+
<groupId>org.springframework</groupId>
359+
<artifactId>spring-test</artifactId>
360+
<scope>test</scope>
361+
</dependency>
362+
363+
<dependency>
364+
<groupId>org.springframework.boot</groupId>
365+
<artifactId>spring-boot-starter-test</artifactId>
366+
<scope>test</scope>
367+
</dependency>
368+
369+
<dependency>
370+
<groupId>org.skyscreamer</groupId>
371+
<artifactId>jsonassert</artifactId>
372+
<version>1.3.0</version>
373+
<scope>test</scope>
374+
</dependency>
375+
376+
<dependency>
377+
<groupId>com.h2database</groupId>
378+
<artifactId>h2</artifactId>
379+
<scope>test</scope>
380+
</dependency>
381+
382+
</dependencies>
383+
384+
385+
</project>

0 commit comments

Comments
 (0)