[java-identity-provider] branch master updated: IDP-1052 Remove readOnlyConnection from RDBMS data connector config

Rod Widdowson rdw at steadingsoftware.com
Sat Apr 20 10:05:14 EDT 2019


This is an automated email from the git hooks/post-receive script.

rdw pushed a commit to branch master
in repository java-identity-provider.

View the commit online:
http://git.shibboleth.net/view/?p=java-identity-provider.git;a=commit;h=80990ed8b3eb98f4f0d67e73e06edf762bc8822d

The following commit(s) were added to refs/heads/master by this push:
       new  80990ed   IDP-1052 Remove readOnlyConnection from RDBMS data connector config
80990ed is described below

commit 80990ed8b3eb98f4f0d67e73e06edf762bc8822d
Author: Rod Widdowson <rdw at steadingsoftware.com>
AuthorDate: Sat Apr 20 14:45:47 2019 +0100

    IDP-1052 Remove readOnlyConnection from RDBMS data connector config
    
    https://issues.shibboleth.net/jira/browse/IDP-1052
    
    It now has no function and issues a deprecation warning.
---
 .../resolver/dc/rdbms/impl/RDBMSDataConnector.java | 24 ----------------------
 .../dc/rdbms/impl/RDBMSDataConnectorParser.java    | 10 ++++++---
 .../dc/rdbms/RDBMSDataConnectorParserTest.java     |  3 ---
 .../resolver/spring/dc/rdbms/rdbms-v2.properties   |  1 -
 .../rdbms-attribute-resolver-v2-hybrid.xml         |  2 +-
 .../resolver/rdbms-attribute-resolver-v2-props.xml |  1 -
 .../rdbms/resolver/rdbms-attribute-resolver-v2.xml |  1 -
 .../schema/shibboleth-attribute-resolver.xsd       |  3 +--
 8 files changed, 9 insertions(+), 36 deletions(-)

diff --git a/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/dc/rdbms/impl/RDBMSDataConnector.java b/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/dc/rdbms/impl/RDBMSDataConnector.java
index 8213264..df25e1d 100644
--- a/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/dc/rdbms/impl/RDBMSDataConnector.java
+++ b/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/dc/rdbms/impl/RDBMSDataConnector.java
@@ -50,9 +50,6 @@ public class RDBMSDataConnector extends AbstractSearchDataConnector<ExecutableSt
     /** JDBC data source for retrieving {@link Connection}s. */
     private DataSource dataSource;
 
-    /** Whether the JDBC connection is read-only. */
-    private boolean readOnlyConnection = true;
-
     /** Whether the default validator is being used. */
     private boolean defaultValidator = true;
 
@@ -86,24 +83,6 @@ public class RDBMSDataConnector extends AbstractSearchDataConnector<ExecutableSt
         dataSource = Constraint.isNotNull(source, "JDBC data source can not be null");
     }
 
-    /**
-     * Gets whether this data connector uses read-only connections.
-     * 
-     * @return whether this data connector uses read-only connections
-     */
-    public boolean isConnectionReadOnly() {
-        return readOnlyConnection;
-    }
-
-    /**
-     * Sets whether this data connector uses read-only connections.
-     * 
-     * @param isReadOnly whether this data connector uses read-only connections
-     */
-    public void setConnectionReadOnly(final boolean isReadOnly) {
-        readOnlyConnection = isReadOnly;
-    }
-
     /** {@inheritDoc} */
     @Override public void setValidator(@Nonnull final Validator validator) {
         super.setValidator(validator);
@@ -162,9 +141,6 @@ public class RDBMSDataConnector extends AbstractSearchDataConnector<ExecutableSt
         ResultSet queryResult = null;
         try {
             connection = dataSource.getConnection();
-            if (readOnlyConnection) {
-                connection.setReadOnly(true);
-            }
             queryResult = statement.execute(connection);
             log.trace("Data connector '{}': search returned {}", getId(), queryResult);
             return getMappingStrategy().map(queryResult);
diff --git a/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/rdbms/impl/RDBMSDataConnectorParser.java b/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/rdbms/impl/RDBMSDataConnectorParser.java
index bbc5fa3..164ad26 100644
--- a/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/rdbms/impl/RDBMSDataConnectorParser.java
+++ b/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/rdbms/impl/RDBMSDataConnectorParser.java
@@ -41,6 +41,8 @@ import net.shibboleth.idp.attribute.resolver.spring.dc.impl.ManagedConnectionPar
 import net.shibboleth.idp.attribute.resolver.spring.impl.AttributeResolverNamespaceHandler;
 import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
 import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.utilities.java.support.primitive.DeprecationSupport;
+import net.shibboleth.utilities.java.support.primitive.DeprecationSupport.ObjectType;
 import net.shibboleth.utilities.java.support.primitive.StringSupport;
 import net.shibboleth.utilities.java.support.xml.AttributeSupport;
 import net.shibboleth.utilities.java.support.xml.ElementSupport;
@@ -88,9 +90,11 @@ public class RDBMSDataConnectorParser extends AbstractDataConnectorParser {
             }
         }
 
-        final String connectionReadOnly = v2Parser.getConnectionReadOnly();
-        if (connectionReadOnly != null) {
-            builder.addPropertyValue("connectionReadOnly", connectionReadOnly);
+        if (v2Parser.getConnectionReadOnly() != null) {
+            // V4 deprecation
+            DeprecationSupport.warnOnce(ObjectType.ATTRIBUTE, "readOnlyConnection",
+                    parserContext.getReaderContext().getResource().getDescription(),
+                    "to modify the JDBC URI (default is false)");
         }
 
         final String mappingStrategyID = v2Parser.getBeanMappingStrategyID();
diff --git a/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/dc/rdbms/RDBMSDataConnectorParserTest.java b/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/dc/rdbms/RDBMSDataConnectorParserTest.java
index 45a4e4e..e351ed0 100644
--- a/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/dc/rdbms/RDBMSDataConnectorParserTest.java
+++ b/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/dc/rdbms/RDBMSDataConnectorParserTest.java
@@ -18,7 +18,6 @@
 package net.shibboleth.idp.attribute.resolver.spring.dc.rdbms;
 
 import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertFalse;
 import static org.testng.Assert.assertNotNull;
 import static org.testng.Assert.assertTrue;
 
@@ -182,7 +181,6 @@ public class RDBMSDataConnectorParserTest {
     }
 
     protected void doTest(final RDBMSDataConnector dataConnector) throws ResolutionException {
-
         final String id = dataConnector.getId();
         assertEquals("myDatabase", id);
         assertEquals(Duration.ofMinutes(5), dataConnector.getNoRetryDelay());
@@ -195,7 +193,6 @@ public class RDBMSDataConnectorParserTest {
         assertEquals(dataSource.getMaxIdle(), 5);
         assertEquals(dataSource.getMaxWaitMillis(), 5000);
 
-        assertFalse(dataConnector.isConnectionReadOnly());
         final DataSourceValidator validator = (DataSourceValidator) dataConnector.getValidator();
         assertNotNull(validator);
         assertTrue(validator.isThrowValidateError());
diff --git a/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/rdbms/rdbms-v2.properties b/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/rdbms/rdbms-v2.properties
index 80d2218..562b567 100644
--- a/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/rdbms/rdbms-v2.properties
+++ b/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/rdbms/rdbms-v2.properties
@@ -11,7 +11,6 @@ datasource.maxPoolSize=5
 datasource.maxIdleTime=300
 datasource.idleConnectionTestPeriod=360
 
-readOnlyConnection=false
 noResultIsError=true
 multipleResultsIsError=true
 noRetryDelay=PT5M
diff --git a/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/rdbms/resolver/rdbms-attribute-resolver-v2-hybrid.xml b/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/rdbms/resolver/rdbms-attribute-resolver-v2-hybrid.xml
index 074ef14..e43aacb 100644
--- a/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/rdbms/resolver/rdbms-attribute-resolver-v2-hybrid.xml
+++ b/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/rdbms/resolver/rdbms-attribute-resolver-v2-hybrid.xml
@@ -5,7 +5,7 @@
 
     <DataConnector id="myDatabase" xsi:type="RelationalDatabase"
         noRetryDelay="PT5M"
-        mappingStrategyRef="mappings" executableSearchBuilderRef="query" validatorRef="validator" readOnlyConnection="false">
+        mappingStrategyRef="mappings" executableSearchBuilderRef="query" validatorRef="validator">
         <BeanManagedConnection>dataSource</BeanManagedConnection>
         
         <ResultCacheBean>cache</ResultCacheBean>
diff --git a/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/rdbms/resolver/rdbms-attribute-resolver-v2-props.xml b/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/rdbms/resolver/rdbms-attribute-resolver-v2-props.xml
index f7165f4..07e4b2a 100644
--- a/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/rdbms/resolver/rdbms-attribute-resolver-v2-props.xml
+++ b/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/rdbms/resolver/rdbms-attribute-resolver-v2-props.xml
@@ -6,7 +6,6 @@
     <DataConnector id="myDatabase" xsi:type="RelationalDatabase"
         noResultIsError="%{noResultIsError}"
         multipleResultsIsError="%{multipleResultsIsError}"
-        readOnlyConnection="%{readOnlyConnection}"
         noRetryDelay="%{noRetryDelay}">
 
       <SimpleManagedConnection jdbcDriver="%{datasource.driverClass}" jdbcURL="%{datasource.jdbcUrl}"
diff --git a/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/rdbms/resolver/rdbms-attribute-resolver-v2.xml b/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/rdbms/resolver/rdbms-attribute-resolver-v2.xml
index a3031b8..6ee5537 100644
--- a/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/rdbms/resolver/rdbms-attribute-resolver-v2.xml
+++ b/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/rdbms/resolver/rdbms-attribute-resolver-v2.xml
@@ -6,7 +6,6 @@
     <DataConnector id="myDatabase" xsi:type="RelationalDatabase"
         noResultIsError="true"
         multipleResultsIsError="true"
-        readOnlyConnection="false"
         noRetryDelay="PT5M">
 
       <SimpleManagedConnection
diff --git a/idp-schema/src/main/resources/schema/shibboleth-attribute-resolver.xsd b/idp-schema/src/main/resources/schema/shibboleth-attribute-resolver.xsd
index 8e7d140..71f41b7 100644
--- a/idp-schema/src/main/resources/schema/shibboleth-attribute-resolver.xsd
+++ b/idp-schema/src/main/resources/schema/shibboleth-attribute-resolver.xsd
@@ -1026,8 +1026,7 @@
                 <attribute name="readOnlyConnection" type="string">
                     <annotation>
                         <documentation>
-                            A boolean flag that determines whether the connection to the database is read-only, if the
-                            value is true, or read-write if the value is false.
+                            DEPRECATED and has no function.  Read Only connections are set in the JDBC RUL
                         </documentation>
                     </annotation>
                 </attribute>

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the commits mailing list