Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
* "Portions Copyrighted [year] [name of copyright owner]"
* ====================
* Portions Copyrighted 2013 Radovan Semancik, Evolveum
* Portions Copyrighted 2026 3A Systems, LLC
*/
package org.identityconnectors.databasetable;

Expand Down Expand Up @@ -69,7 +70,8 @@ public String getQuoting() {

/**
* NameQuote Setter
* @param value
* @param value the quoting style to use for column names in SQL statements
* (for example NONE, SINGLE, DOUBLE, BRACKETS or BACKSLASH)
*/
public void setQuoting(String value) {
this.quoting = value;
Expand All @@ -94,7 +96,7 @@ public String getHost() {

/**
* NameQuote Setter
* @param value
* @param value the host name or IP address of the database server
*/
public void setHost(String value) {
this.host = value;
Expand All @@ -120,7 +122,7 @@ public String getPort() {

/**
* NameQuote Setter
* @param value
* @param value the port number on which the database server is listening
*/
public void setPort(String value) {
this.port = value;
Expand All @@ -144,7 +146,9 @@ public String getUser() {
}

/**
* @param value
* @param value the user name used to log in to the database; this user
* must have rights to insert, update and delete rows in the configured
* identity holder table
*/
public void setUser(String value) {
this.user = value;
Expand All @@ -168,7 +172,9 @@ public GuardedString getPassword() {
}

/**
* @param value
* @param value the password used to log in to the database; this user
* must have rights to insert, update and delete rows in the configured
* identity holder table
*/
public void setPassword(GuardedString value) {
this.password = value;
Expand All @@ -191,7 +197,7 @@ public String getDatabase() {
}

/**
* @param value
* @param value the name of the database to connect to
*/
public void setDatabase(String value) {
this.database = value;
Expand Down Expand Up @@ -269,8 +275,9 @@ public String getPasswordColumn() {

/**
* Password Column setter
*
* @param value
*
* @param value the name of the password column, or an empty string if
* the password attribute is not supported by the schema
*/
public void setPasswordColumn(String value) {
this.passwordColumn = value;
Expand All @@ -293,7 +300,8 @@ public String getJdbcDriver() {
}

/**
* @param value
* @param value the fully qualified class name of the JDBC driver to be
* located on the class path
*/
public void setJdbcDriver(String value) {
this.jdbcDriver = value;
Expand All @@ -317,7 +325,9 @@ public String getJdbcUrlTemplate() {
}

/**
* @param value
* @param value the JDBC URL template, containing the %h (host), %p
* (port) and %d (database) placeholders, used to build the database
* connection URL
*/
public void setJdbcUrlTemplate(String value) {
this.jdbcUrlTemplate = value;
Expand Down Expand Up @@ -446,7 +456,9 @@ public String getValidConnectionQuery() {

/**
* Connection validation query setter
* @param value
* @param value the SQL query used to validate that a pooled connection
* is still usable, or an empty string to rely on the default
* auto-commit true/false command instead
*/
public void setValidConnectionQuery(String value) {
this.validConnectionQuery = value;
Expand All @@ -471,7 +483,9 @@ public String getChangeLogColumn() {
}

/**
* @param value
* @param value the name of the change log column used to detect
* changed rows for the sync operation, or an empty string to leave
* the sync operation unsupported
*/
public void setChangeLogColumn(String value) {
this.changeLogColumn = value;
Expand All @@ -498,7 +512,8 @@ public String getDatasource() {
}

/**
* @param value
* @param value the JNDI name of the datasource used to connect to the
* database
*/
public void setDatasource(String value) {
this.datasource = value;
Expand All @@ -522,7 +537,8 @@ public String[] getJndiProperties() {
}

/**
* @param value
* @param value the JNDI environment properties, each in "name=value"
* form, used to look up the datasource
*/
public void setJndiProperties(String[] value) {
this.jndiProperties = value;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
* enclosed by brackets [] replaced by your own identifying information:
* "Portions Copyrighted [year] [name of copyright owner]"
* ====================
* Portions Copyrighted 2026 3A Systems, LLC
*/
package org.identityconnectors.databasetable;

Expand Down Expand Up @@ -168,9 +169,10 @@ private DatabaseTableConnection(Connection conn, DatabaseTableConfiguration conf

/**
* The strategy utility
*
* @param conn
* @param config
*
* @param conn the live JDBC connection the resulting strategy chain will operate on
* @param config the configuration used to decide which optional strategies
* (string, native timestamps) to append to the chain
* @return the created strategy
*/
public MappingStrategy createMappingStrategy(Connection conn, DatabaseTableConfiguration config) {
Expand All @@ -195,10 +197,11 @@ public MappingStrategy createMappingStrategy(Connection conn, DatabaseTableConfi

/**
* Get the Column Values map
*
* @param result
*
* @param result the current row of the result set to read column values from
* @return the result of Column Values map
* @throws SQLException
* @throws SQLException if a database access error occurs while reading
* the result set
*/
public Map<String, SQLParam> getColumnValues(ResultSet result) throws SQLException {
return DatabaseTableSQLUtil.getColumnValues(sms, result);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
* ====================
* Portions Copyrighted 2013 Radovan Semancik, Evolveum
* Portions Copyrighted 2015 ForgeRock AS
* Portions Copyrighted 2026 3A Systems, LLC
*/
package org.identityconnectors.databasetable;

Expand Down Expand Up @@ -117,8 +118,7 @@
* This connector assumes that all account data is stored in a single database
* table. The delete action is implemented to simply remove the row from the
* table.
* <p>
*
*
* @author Will Droste
* @author Keith Yarbrough
* @version $Revision $
Expand Down Expand Up @@ -945,8 +945,9 @@ public int getColumnType(String columnName) {

/**
* Convert the attribute name to resource specific columnName
*
* @param attributeName
*
* @param attributeName the connector attribute name (for example
* {@code Name} or {@code Password}) to translate
* @return the Column Name value
*/
public String getColumnName(String attributeName) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
* enclosed by brackets [] replaced by your own identifying information:
* "Portions Copyrighted [year] [name of copyright owner]"
* ====================
* Portions Copyrighted 2026 3A Systems, LLC
*/
package org.identityconnectors.databasetable;

Expand All @@ -40,8 +41,9 @@ public class DatabaseTableFilterTranslator extends DatabaseFilterTranslator {
DatabaseTableConnector connector;
/**
* @param connector the database table connector
* @param oclass
* @param options
* @param oclass the object class the produced filters apply to
* @param options options controlling how the filters are built (for
* example the attributes to fetch)
*/
public DatabaseTableFilterTranslator(DatabaseTableConnector connector, ObjectClass oclass, OperationOptions options) {
super(oclass, options);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
* enclosed by brackets [] replaced by your own identifying information:
* "Portions Copyrighted [year] [name of copyright owner]"
* ====================
* Portions Copyrighted 2026 3A Systems, LLC
*/
package org.identityconnectors.databasetable;

Expand Down Expand Up @@ -66,8 +67,8 @@ private DatabaseTableSQLUtil() {
* concentrates the replacement of all params. <code>GuardedString</code> are handled so the password is never
* visible.
* </p>
* @param sms
* @param statement
* @param sms the mapping strategy used to bind each parameter to the statement
* @param statement the prepared statement whose "?" markers are to be bound
* @param params a <CODE>List</CODE> of the object arguments
* @throws SQLException an exception in statement
*/
Expand All @@ -88,8 +89,8 @@ public static void setParams(final MappingStrategy sms, final PreparedStatement
* concentrates the replacement of all params. <code>GuardedString</code> are handled so the password is never
* visible.
* </p>
* @param sms
* @param statement
* @param sms the mapping strategy used to bind each parameter to the statement
* @param statement the callable statement whose "?" markers are to be bound
* @param params a <CODE>List</CODE> of the object arguments
* @throws SQLException an exception in statement
*/
Expand Down Expand Up @@ -121,7 +122,8 @@ static void setParam(final MappingStrategy sms, final PreparedStatement stmt, fi
* @param sms a mapping strategy
* @param resultSet database data
* @return The transformed column values map
* @throws SQLException
* @throws SQLException if a database access error occurs while reading
* the result set
*/
public static Map<String, SQLParam> getColumnValues(final MappingStrategy sms, ResultSet resultSet) throws SQLException {
Assertions.nullCheck(resultSet,"resultSet");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
* enclosed by brackets [] replaced by your own identifying information:
* "Portions Copyrighted [year] [name of copyright owner]"
* ====================
* Portions Copyrighted 2026 3A Systems, LLC
*/
package org.identityconnectors.databasetable.mapping;

Expand All @@ -42,7 +43,9 @@ public class AttributeConvertor implements MappingStrategy {

/**
* Final sql mapping
* @param delegate
* @param delegate the next strategy in the chain to which the JDBC
* get/set calls are forwarded before their result is
* converted to an attribute-supported type
*/
public AttributeConvertor(MappingStrategy delegate) {
Assertions.nullCheck(delegate, "MappingStrategy delegate");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
* enclosed by brackets [] replaced by your own identifying information:
* "Portions Copyrighted [year] [name of copyright owner]"
* ====================
* Portions Copyrighted 2026 3A Systems, LLC
*/
package org.identityconnectors.databasetable.mapping;

Expand All @@ -42,7 +43,9 @@ public class JdbcConvertor implements MappingStrategy {

/**
* Final sql mapping
* @param delegate
* @param delegate the next strategy in the chain to which the
* get/set calls are forwarded after values are converted
* back to their database (JDBC) type
*/
public JdbcConvertor(MappingStrategy delegate) {
Assertions.nullCheck(delegate, "MappingStrategy delegate");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@
* enclosed by brackets [] replaced by your own identifying information:
* "Portions Copyrighted [year] [name of copyright owner]"
* -----------
* Portions Copyrighted 2026 3A Systems, LLC
*/
package org.identityconnectors.databasetable.mapping;

Expand Down Expand Up @@ -68,10 +69,10 @@ public interface MappingStrategy {

/**
* Convert database type to connector supported set of attribute types
* @param stmt
* @param idx
* @param parm
* @throws SQLException
* @param stmt the prepared statement whose bind parameter is being set
* @param idx the 1-based index of the "?" marker to bind
* @param parm the parameter, carrying the value and its SQL type, to bind
* @throws SQLException if the parameter cannot be bound on the statement
*/
public void setSQLParam(final PreparedStatement stmt, final int idx, SQLParam parm) throws SQLException;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
* enclosed by brackets [] replaced by your own identifying information:
* "Portions Copyrighted [year] [name of copyright owner]"
* ====================
* Portions Copyrighted 2026 3A Systems, LLC
*/
package org.identityconnectors.databasetable.mapping;

Expand All @@ -42,7 +43,9 @@ public class NativeTimestampsStrategy implements MappingStrategy {

/**
* Final sql mapping
* @param delegate
* @param delegate the next strategy in the chain used for any SQL type
* other than {@link Types#TIMESTAMP}, which this strategy
* handles by reading the native {@code java.sql.Timestamp}
*/
public NativeTimestampsStrategy(MappingStrategy delegate) {
Assertions.nullCheck(delegate, "MappingStrategy delegate");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
* enclosed by brackets [] replaced by your own identifying information:
* "Portions Copyrighted [year] [name of copyright owner]"
* ====================
* Portions Copyrighted 2026 3A Systems, LLC
*/
package org.identityconnectors.databasetable.mapping;

Expand All @@ -45,7 +46,8 @@ public class StringStrategy implements MappingStrategy {
/**
* The SQL get/set strategy class implementation write as a string all types mapped as a String.
* Final sql mapping
* @param delegate
* @param delegate the next strategy in the chain used whenever the
* column's attribute type is not a String
*/
public StringStrategy(MappingStrategy delegate) {
Assertions.nullCheck(delegate, "MappingStrategy delegate");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
enclosed by brackets [] replaced by your own identifying information:
"Portions Copyrighted [year] [name of copyright owner]"
====================
Portions Copyrighted 2026 3A Systems, LLC
-->

<html>
Expand All @@ -27,9 +28,9 @@
<title>Database Table Connector Mapping Package Overview</title>
</head>
<body>
<h3>Database Table Connector Mapping Package Overview</h3>
<h2>Database Table Connector Mapping Package Overview</h2>
<p>Database table connector use the configuration's switches to
change the attribute to resource mapping.</p>
<p>This package provides implementation of mapping strategy.</p>
</body>
</html>
</html>
Loading