Skip to Content.
Sympa Menu

grouper-users - RE: [grouper-users] subject.properties and GrouperJdbcSourceAdapter2

Subject: Grouper Users - Open Discussion List

List archive

RE: [grouper-users] subject.properties and GrouperJdbcSourceAdapter2


Chronological Thread 
  • From: "Hyzer, Chris" <>
  • To: Scott Koranda <>, grouper-users <>
  • Subject: RE: [grouper-users] subject.properties and GrouperJdbcSourceAdapter2
  • Date: Thu, 1 Nov 2018 18:31:36 +0000
  • Accept-language: en-US
  • Authentication-results: spf=none (sender IP is ) ;
  • Ironport-phdr: 9a23:cY0QcB1XOMxDFO3MsmDT+DRfVm0co7zxezQtwd8ZsesWIvvxwZ3uMQTl6Ol3ixeRBMOHs60C07KempujcFRI2YyGvnEGfc4EfD4+ouJSoTYdBtWYA1bwNv/gYn9yNs1DUFh44yPzahANS47xaFLIv3K98yMZFAnhOgppPOT1HZPZg9iq2+yo9JDffwdFiCChbb9uMR67sRjfus4KjIV4N60/0AHJonxGe+RXwWNnO1eelAvi68mz4ZBu7T1et+ou+MBcX6r6eb84TaFDAzQ9L281/szrugLdQgaJ+3ART38ZkhtMAwjC8RH6QpL8uTb0u+ZhxCWXO9D9QKsqUjq+8ahkVB7oiD8GNzEn9mHXltdwh79frB64uhBz35LYbISTOfFjfK3SYMkaSHJBUMhPSiJBHo2yYYgBD+UDPOZXs4bzqFQVoBuiHAmgGP/jxiNUinPo26AxzuQvERvB3AwlB98CvnbardX0NagMS+C51LTDwCvDb/NM2Df984bEeQ0mrPGJQb1wccrQyEgxGAPflViQqJflMC+P2uQQq2iU8exgVeS1h2E5tg5xvyGiy8ExgYfHgYIVz0rL9SR/wIstPd23Vkh7Ydi8EJROrSGaLIx2QsU4T2FppSk20rwGuZinfCcU0pQnwQDQa+CZf4SS/B3sSfuRLS9ii3J9Yr2wmxay/la6xu37TMm0305GrjJbndnKsHANzwLc6tKcSvt6+EetwzCP2BrW6u5aJ00/iKnVK4Y5z7Iui5YesF7PEyHolEnskaObdVgo9vK25+j6ernqu5GRO5Nuhgz6L6gigNKzDfk8PwQUQmSW++Wx2KXt/ULnQ7hGkvg7n6zbvZ3eP8sUuKu0AwFL3Yk+6xuyCimq388ckHQGKV9KYxCKgoz0N1zIPfv2F+2wg062nzdu3/3GPqPuApHKLnXbiLnsYbFz51JSxQYq091R/o9YBqgGIP3oRED9rtvYDgIlMwOvxObnFdN92Z4EVWKXGK+ZN7/SvkGU6eIzIumMY4kVtCz6K/g4+/7uiXg5mVgefaWzwZQXb3W4EuxnI0Wff3Xsns8MHXkXsgc/VuDnhkOOXSROa3uxQq4w/C83BJ++AYfGXI+tgbiB3CmhHp1RY2BLElWMHmvod4SEWvYDdjiSL9RgkjwfSbetUZIh1Qmwuw/8zbprNPTb9TAFtZ77zth6+/XTlQ0u9TxzF8md3HuNT2ZpnmMQWTA2xrlzoVFmylidy6h4mOdVFdhS5/NSTgc6LoDQw/Z7C9D0RgLOYM2JSFC4TdW6Hz09VMw+zMITYxU1J9L3tRvEwzbiILgPnrqHDdRg6aHbxXH3K89VxHPP1a1nhF4jFI8HOnehm7Zy7U3OHIPTiA3NmLytaLwRxmvQ72qZ1kKPul1VSgh9Tf+DUHwCMBj4t9P8swniXq2jE/BvGQtbyNXIYv9PYd34n1hcbPb4M5LDe2+3nSG9CQveleDEV5bjZ2hIhHaVM0MDiQ1GuC/ebVJkVC68v2LTCiBvHlvzYkTqtPNzs26/UlRqk1ORd0M00b2z91ZVnvGaR/4JlpM88CY643QRfh6m2s7OTd+Jpg5vZqJZNNY24EZV2Hjxthd2eIG4IqZkwFMSblc/sg==
  • Spamdiagnosticmetadata: NSPM
  • Spamdiagnosticoutput: 1:99

I added this here:

https://spaces.at.internet2.edu/display/Grouper/Penn+subject+source+JDBC2+example


# Copyright 2016 Internet2
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

#
# Subject configuration
#

# The subject properties uses Grouper Configuration Overlays (documented on
wiki)
# By default the configuration is read from subject.base.properties
# (which should not be edited), and the subject.properties overlays
# the base settings. See the subject.base.properties for the possible
# settings that can be applied to the subject.properties

# enter the location of the sources.xml. Must start with classpath: or file:
# blank means dont use sources.xml, use subject.properties
# default is: classpath:sources.xml
# e.g. file:/dir1/dir2/sources.xml
subject.sources.xml.location =


#########################################
## Configuration for source id: pennperson
## Source configName: pennperson
#########################################
subjectApi.source.pennperson.id = pennperson

# this is a friendly name for the source
subjectApi.source.pennperson.name = Penn person

# type is not used all that much. Can have multiple types, comma separate.
Can be person, group, application
subjectApi.source.pennperson.types = person

# the adapter class implements the interface:
edu.internet2.middleware.subject.Source
# adapter class must extend:
edu.internet2.middleware.subject.provider.BaseSourceAdapter
# edu.internet2.middleware.grouper.subj.GrouperJdbcSourceAdapter2 : if
doing JDBC this should be used if possible. All subject data in one
table/view.
# edu.internet2.middleware.grouper.subj.GrouperJdbcSourceAdapter : oldest
JDBC source. Put freeform queries in here
# edu.internet2.middleware.grouper.subj.GrouperJndiSourceAdapter : used
for LDAP
subjectApi.source.pennperson.adapterClass =
edu.internet2.middleware.subject.provider.JDBCSourceAdapter2

subjectApi.source.pennperson.param.maxPageSize.value = 100

subjectApi.source.pennperson.param.jdbcConnectionProvider.value =
edu.internet2.middleware.subject.provider.C3p0JdbcConnectionProvider

# e.g. mysql: jdbc:mysql://localhost:3306/grouper
# e.g. p6spy (log sql): [use the URL that your DB requires]
# e.g. oracle: jdbc:oracle:thin:@server.school.edu:1521:sid
# e.g. hsqldb (a): jdbc:hsqldb:dist/run/grouper;create=true
# e.g. hsqldb (b): jdbc:hsqldb:hsql://localhost:9001
# e.g. postgres: jdbc:postgresql:grouper
subjectApi.source.pennperson.param.dbUrl.value =
jdbc:mysql://localhost:3306/grouper

# username when connecting to the database
subjectApi.source.pennperson.param.dbUser.value = sa

# password when connecting to the database (or file with encrypted password
inside)
subjectApi.source.pennperson.param.dbPwd.value = whatever

# the table or view to query results from. Note, could prefix with a schema
name
subjectApi.source.pennperson.param.dbTableOrView.value = person_source_v

# the column name to get the subjectId from
subjectApi.source.pennperson.param.subjectIdCol.value = penn_id

# the column name to get the name from
subjectApi.source.pennperson.param.nameCol.value = name

subjectApi.source.pennperson.param.descriptionCol.value = description

# search col where general searches take place, lower case
subjectApi.source.pennperson.param.lowerSearchCol.value = description_lower

# optional col if you want the search results sorted in the API (note, UI
might override)
subjectApi.source.pennperson.param.defaultSortCol.value = description

# you can count up from 0 to N of columns to search by identifier (which
might also include by id)
subjectApi.source.pennperson.param.subjectIdentifierCol0.value = pennname

# you can count up from 0 to N of columns to search by identifier (which
might also include by id)
subjectApi.source.pennperson.param.subjectIdentifierCol1.value = penn_id

# you can count up from 0 to N of columns to search by identifier (which
might also include by id)
subjectApi.source.pennperson.param.subjectIdentifierCol2.value = eppn

# now you can count up from 0 to N of attributes for various cols. The name
is how to reference in subject.getAttribute()
subjectApi.source.pennperson.param.subjectAttributeCol0.value = pennname

# you can count up from 0 to N of attributes for various cols. The name is
how to reference in subject.getAttribute()
subjectApi.source.pennperson.param.subjectAttributeName0.value = PENNNAME

# now you can count up from 0 to N of attributes for various cols. The name
is how to reference in subject.getAttribute()
subjectApi.source.pennperson.param.subjectAttributeCol1.value = email

# you can count up from 0 to N of attributes for various cols. The name is
how to reference in subject.getAttribute()
subjectApi.source.pennperson.param.subjectAttributeName1.value = EMAIL

# now you can count up from 0 to N of attributes for various cols. The name
is how to reference in subject.getAttribute()
subjectApi.source.pennperson.param.subjectAttributeCol2.value = eppn

# you can count up from 0 to N of attributes for various cols. The name is
how to reference in subject.getAttribute()
subjectApi.source.pennperson.param.subjectAttributeName2.value = EPPN

# now you can count up from 0 to N of attributes for various cols. The name
is how to reference in subject.getAttribute()
subjectApi.source.pennperson.param.subjectAttributeCol3.value = first_name

# you can count up from 0 to N of attributes for various cols. The name is
how to reference in subject.getAttribute()
subjectApi.source.pennperson.param.subjectAttributeName3.value = FIRST_NAME

# now you can count up from 0 to N of attributes for various cols. The name
is how to reference in subject.getAttribute()
subjectApi.source.pennperson.param.subjectAttributeCol4.value = last_name

# you can count up from 0 to N of attributes for various cols. The name is
how to reference in subject.getAttribute()
subjectApi.source.pennperson.param.subjectAttributeName4.value = LAST_NAME

# now you can count up from 0 to N of attributes for various cols. The name
is how to reference in subject.getAttribute()
subjectApi.source.pennperson.param.subjectAttributeCol5.value = email_public

# you can count up from 0 to N of attributes for various cols. The name is
how to reference in subject.getAttribute()
subjectApi.source.pennperson.param.subjectAttributeName5.value = EMAIL_PUBLIC

# now you can count up from 0 to N of attributes for various cols. The name
is how to reference in subject.getAttribute()
subjectApi.source.pennperson.param.subjectAttributeCol6.value =
name_first_public

# you can count up from 0 to N of attributes for various cols. The name is
how to reference in subject.getAttribute()
subjectApi.source.pennperson.param.subjectAttributeName6.value =
NAME_FIRST_PUBLIC

# now you can count up from 0 to N of attributes for various cols. The name
is how to reference in subject.getAttribute()
subjectApi.source.pennperson.param.subjectAttributeCol7.value =
name_last_public

# you can count up from 0 to N of attributes for various cols. The name is
how to reference in subject.getAttribute()
subjectApi.source.pennperson.param.subjectAttributeName7.value =
NAME_LAST_PUBLIC

# now you can count up from 0 to N of attributes for various cols. The name
is how to reference in subject.getAttribute()
subjectApi.source.pennperson.param.subjectAttributeCol8.value = name_public

# you can count up from 0 to N of attributes for various cols. The name is
how to reference in subject.getAttribute()
subjectApi.source.pennperson.param.subjectAttributeName8.value = NAME_PUBLIC

# now you can count up from 0 to N of attributes for various cols. The name
is how to reference in subject.getAttribute()
subjectApi.source.pennperson.param.subjectAttributeCol9.value =
preferred_first_name

# you can count up from 0 to N of attributes for various cols. The name is
how to reference in subject.getAttribute()
subjectApi.source.pennperson.param.subjectAttributeName9.value =
PREFERRED_FIRST_NAME

# now you can count up from 0 to N of attributes for various cols. The name
is how to reference in subject.getAttribute()
subjectApi.source.pennperson.param.subjectAttributeCol10.value =
description_lower

# you can count up from 0 to N of attributes for various cols. The name is
how to reference in subject.getAttribute()
subjectApi.source.pennperson.param.subjectAttributeName10.value =
DESCRIPTION_LOWER

# the 1st sort attribute for lists on screen that are derived from member
table (e.g. search for member in group)
# you can have up to 5 sort attributes
subjectApi.source.pennperson.param.sortAttribute0.value = DESCRIPTION_LOWER

# the 2nd sort attribute for lists on screen that are derived from member
table (e.g. search for member in group)
# you can have up to 5 sort attributes
subjectApi.source.pennperson.param.sortAttribute1.value = LAST_NAME

# the 1st search attribute for lists on screen that are derived from member
table (e.g. search for member in group)
# you can have up to 5 search attributes
subjectApi.source.pennperson.param.searchAttribute0.value = DESCRIPTION_LOWER


-----Original Message-----
From:


<>
On Behalf Of Scott Koranda
Sent: Thursday, November 01, 2018 12:49 PM
To: grouper-users
<>
Subject: [grouper-users] subject.properties and GrouperJdbcSourceAdapter2

Hello,

I have a table (view) in a relational database that is completely
distinct from the database that Grouper uses and that contains data I
want to use for Grouper subjects.

I want to configure the Grouper configuration file subject.properties to
use the GrouperJdbcSourceAdapter2 class to query that table.

I cannot find documentation on how to configure the
GrouperJdbcSourceAdapter2 class and the subject.base.properties file
does not, as far as I can tell, include an example.

Can somebody please point me at the documentation explaining how to use
GrouperJdbcSourceAdapter2 in subject.properties or provide a working
example?

I apologize if the documentation exists and I cannot find it.

Thanks,

Scott K



Archive powered by MHonArc 2.6.19.

Top of Page