From 277a6f74eb76b227bd94dda2dd5c6128e0c35ee5 Mon Sep 17 00:00:00 2001 From: Scott Frederick Date: Wed, 5 Apr 2017 14:03:14 -0500 Subject: [PATCH] Add DB2 and SqlServer ServiceInfoCreators for localconfig. --- .../localconfig/DB2ServiceInfoCreator.java | 20 ++++++++++++++++ .../localconfig/OracleServiceInfoCreator.java | 4 +++- .../SqlServerServiceInfoCreator.java | 20 ++++++++++++++++ ....localconfig.LocalConfigServiceInfoCreator | 4 +++- .../AbstractLocalConfigConnectorTest.java | 4 +--- .../LocalConfigConnectorDB2ServiceTest.java | 23 +++++++++++++++++++ ...alConfigConnectorSqlServerServiceTest.java | 23 +++++++++++++++++++ .../resources/localconfig.testuris.properties | 4 +++- 8 files changed, 96 insertions(+), 6 deletions(-) create mode 100644 spring-cloud-localconfig-connector/src/main/java/org/springframework/cloud/localconfig/DB2ServiceInfoCreator.java create mode 100644 spring-cloud-localconfig-connector/src/main/java/org/springframework/cloud/localconfig/SqlServerServiceInfoCreator.java create mode 100644 spring-cloud-localconfig-connector/src/test/java/org/springframework/cloud/localconfig/LocalConfigConnectorDB2ServiceTest.java create mode 100644 spring-cloud-localconfig-connector/src/test/java/org/springframework/cloud/localconfig/LocalConfigConnectorSqlServerServiceTest.java diff --git a/spring-cloud-localconfig-connector/src/main/java/org/springframework/cloud/localconfig/DB2ServiceInfoCreator.java b/spring-cloud-localconfig-connector/src/main/java/org/springframework/cloud/localconfig/DB2ServiceInfoCreator.java new file mode 100644 index 0000000..f104bd3 --- /dev/null +++ b/spring-cloud-localconfig-connector/src/main/java/org/springframework/cloud/localconfig/DB2ServiceInfoCreator.java @@ -0,0 +1,20 @@ +package org.springframework.cloud.localconfig; + +import org.springframework.cloud.service.common.DB2ServiceInfo; + +/** + * DB2 ServiceInfoCreator for the localconfig connector. + * + * @author Scott Frederick + */ +public class DB2ServiceInfoCreator extends LocalConfigServiceInfoCreator { + + public DB2ServiceInfoCreator() { + super(DB2ServiceInfo.DB2_SCHEME); + } + + @Override + public DB2ServiceInfo createServiceInfo(String id, String uri) { + return new DB2ServiceInfo(id, uri); + } +} diff --git a/spring-cloud-localconfig-connector/src/main/java/org/springframework/cloud/localconfig/OracleServiceInfoCreator.java b/spring-cloud-localconfig-connector/src/main/java/org/springframework/cloud/localconfig/OracleServiceInfoCreator.java index dff9cc4..31d68f6 100644 --- a/spring-cloud-localconfig-connector/src/main/java/org/springframework/cloud/localconfig/OracleServiceInfoCreator.java +++ b/spring-cloud-localconfig-connector/src/main/java/org/springframework/cloud/localconfig/OracleServiceInfoCreator.java @@ -3,13 +3,15 @@ package org.springframework.cloud.localconfig; import org.springframework.cloud.service.common.OracleServiceInfo; /** - * Oracle ServiceInfo creator for localconfig connector. + * Oracle ServiceInfoCreator for the localconfig connector. + * * @author Jason Woodrich */ public class OracleServiceInfoCreator extends LocalConfigServiceInfoCreator { public OracleServiceInfoCreator() { super(OracleServiceInfo.ORACLE_SCHEME); } + @Override public OracleServiceInfo createServiceInfo(String id, String uri) { return new OracleServiceInfo(id,uri); diff --git a/spring-cloud-localconfig-connector/src/main/java/org/springframework/cloud/localconfig/SqlServerServiceInfoCreator.java b/spring-cloud-localconfig-connector/src/main/java/org/springframework/cloud/localconfig/SqlServerServiceInfoCreator.java new file mode 100644 index 0000000..ca0f7b1 --- /dev/null +++ b/spring-cloud-localconfig-connector/src/main/java/org/springframework/cloud/localconfig/SqlServerServiceInfoCreator.java @@ -0,0 +1,20 @@ +package org.springframework.cloud.localconfig; + +import org.springframework.cloud.service.common.SqlServerServiceInfo; + +/** + * DB2 ServiceInfoCreator for the localconfig connector. + * + * @author Scott Frederick + */ +public class SqlServerServiceInfoCreator extends LocalConfigServiceInfoCreator { + + public SqlServerServiceInfoCreator() { + super(SqlServerServiceInfo.SQLSERVER_SCHEME); + } + + @Override + public SqlServerServiceInfo createServiceInfo(String id, String uri) { + return new SqlServerServiceInfo(id, uri); + } +} diff --git a/spring-cloud-localconfig-connector/src/main/resources/META-INF/services/org.springframework.cloud.localconfig.LocalConfigServiceInfoCreator b/spring-cloud-localconfig-connector/src/main/resources/META-INF/services/org.springframework.cloud.localconfig.LocalConfigServiceInfoCreator index b997fba..94c9ef4 100644 --- a/spring-cloud-localconfig-connector/src/main/resources/META-INF/services/org.springframework.cloud.localconfig.LocalConfigServiceInfoCreator +++ b/spring-cloud-localconfig-connector/src/main/resources/META-INF/services/org.springframework.cloud.localconfig.LocalConfigServiceInfoCreator @@ -1,6 +1,8 @@ org.springframework.cloud.localconfig.AmqpServiceInfoCreator +org.springframework.cloud.localconfig.DB2ServiceInfoCreator org.springframework.cloud.localconfig.MongoServiceInfoCreator org.springframework.cloud.localconfig.MysqlServiceInfoCreator org.springframework.cloud.localconfig.OracleServiceInfoCreator org.springframework.cloud.localconfig.PostgresqlServiceInfoCreator -org.springframework.cloud.localconfig.RedisServiceInfoCreator \ No newline at end of file +org.springframework.cloud.localconfig.RedisServiceInfoCreator +org.springframework.cloud.localconfig.SqlServerServiceInfoCreator \ No newline at end of file diff --git a/spring-cloud-localconfig-connector/src/test/java/org/springframework/cloud/localconfig/AbstractLocalConfigConnectorTest.java b/spring-cloud-localconfig-connector/src/test/java/org/springframework/cloud/localconfig/AbstractLocalConfigConnectorTest.java index 97093df..d41dc36 100644 --- a/spring-cloud-localconfig-connector/src/test/java/org/springframework/cloud/localconfig/AbstractLocalConfigConnectorTest.java +++ b/spring-cloud-localconfig-connector/src/test/java/org/springframework/cloud/localconfig/AbstractLocalConfigConnectorTest.java @@ -11,9 +11,7 @@ import org.springframework.cloud.service.UriBasedServiceInfo; public class AbstractLocalConfigConnectorTest { - public static final String PROPERTIES_FILE = "localconfig.testuris.properties"; - - protected StubbedOpenFileLocalConfigConnector connector = new StubbedOpenFileLocalConfigConnector(); + protected StubbedOpenFileLocalConfigConnector connector = new StubbedOpenFileLocalConfigConnector(); protected PassthroughEnvironmentAccessor env; diff --git a/spring-cloud-localconfig-connector/src/test/java/org/springframework/cloud/localconfig/LocalConfigConnectorDB2ServiceTest.java b/spring-cloud-localconfig-connector/src/test/java/org/springframework/cloud/localconfig/LocalConfigConnectorDB2ServiceTest.java new file mode 100644 index 0000000..6c9725f --- /dev/null +++ b/spring-cloud-localconfig-connector/src/test/java/org/springframework/cloud/localconfig/LocalConfigConnectorDB2ServiceTest.java @@ -0,0 +1,23 @@ +package org.springframework.cloud.localconfig; + +import org.junit.Test; +import org.springframework.cloud.service.ServiceInfo; +import org.springframework.cloud.service.common.DB2ServiceInfo; + +import java.util.List; + +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; + +public class LocalConfigConnectorDB2ServiceTest extends AbstractLocalConfigConnectorWithUrisTest { + + @Test + public void serviceCreation() { + List services = connector.getServiceInfos(); + ServiceInfo service = getServiceInfo(services, "db2"); + assertNotNull(service); + assertTrue(service instanceof DB2ServiceInfo); + assertUriParameters((DB2ServiceInfo) service); + } + +} diff --git a/spring-cloud-localconfig-connector/src/test/java/org/springframework/cloud/localconfig/LocalConfigConnectorSqlServerServiceTest.java b/spring-cloud-localconfig-connector/src/test/java/org/springframework/cloud/localconfig/LocalConfigConnectorSqlServerServiceTest.java new file mode 100644 index 0000000..da55951 --- /dev/null +++ b/spring-cloud-localconfig-connector/src/test/java/org/springframework/cloud/localconfig/LocalConfigConnectorSqlServerServiceTest.java @@ -0,0 +1,23 @@ +package org.springframework.cloud.localconfig; + +import org.junit.Test; +import org.springframework.cloud.service.ServiceInfo; +import org.springframework.cloud.service.common.SqlServerServiceInfo; + +import java.util.List; + +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; + +public class LocalConfigConnectorSqlServerServiceTest extends AbstractLocalConfigConnectorWithUrisTest { + + @Test + public void serviceCreation() { + List services = connector.getServiceInfos(); + ServiceInfo service = getServiceInfo(services, "sql"); + assertNotNull(service); + assertTrue(service instanceof SqlServerServiceInfo); + assertUriParameters((SqlServerServiceInfo) service); + } + +} diff --git a/spring-cloud-localconfig-connector/src/test/resources/localconfig.testuris.properties b/spring-cloud-localconfig-connector/src/test/resources/localconfig.testuris.properties index 764a195..9eddbab 100644 --- a/spring-cloud-localconfig-connector/src/test/resources/localconfig.testuris.properties +++ b/spring-cloud-localconfig-connector/src/test/resources/localconfig.testuris.properties @@ -4,4 +4,6 @@ spring.cloud.maria: mysql://myuser:mypass@10.20.30.40:1234/dbname spring.cloud.candygram: mongodb://myuser:mypass@10.20.30.40:1234/dbname spring.cloud.ingres: postgres://myuser:mypass@10.20.30.40:1234/dbname spring.cloud.oracle: oracle://myuser:mypass@10.20.30.40:1234/dbname -spring.cloud.blue: redis://myuser:mypass@10.20.30.40:1234/dbname \ No newline at end of file +spring.cloud.blue: redis://myuser:mypass@10.20.30.40:1234/dbname +spring.cloud.db2: db2://myuser:mypass@10.20.30.40:1234/dbname +spring.cloud.sql: sqlserver://myuser:mypass@10.20.30.40:1234/dbname