Skip to Content.
Sympa Menu

grouper-users - [grouper-users] Re: Grouper 2.4 problem in subject.properties

Subject: Grouper Users - Open Discussion List

List archive

[grouper-users] Re: Grouper 2.4 problem in subject.properties


Chronological Thread 
  • From: "Guenther, Dean R." <>
  • To: "Black, Carey M." <>, "" <>
  • Subject: [grouper-users] Re: Grouper 2.4 problem in subject.properties
  • Date: Fri, 12 Oct 2018 15:21:08 +0000
  • Accept-language: en-US
  • Authentication-results: spf=none (sender IP is ) ;
  • Ironport-phdr: 9a23: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
  • Spamdiagnosticmetadata: NSPM
  • Spamdiagnosticoutput: 1:99

Thanks Carey,
That makes sense. And I was converting a grouper 2.3 config to grouper 2.4
(install, not upgrade). Looks like I missed a big step there.....



Dean Guenther

Washington State University Phone: 509 335-0433
Pullman, WA. 99164-1222 fax: 509 335-0540
Identity and Access Management Manager

´╗┐On 10/11/18, 9:05 PM, "Black, Carey M."
<>
wrote:

Dean,

If I am parsing these pages properly.
REF1:
https://urldefense.proofpoint.com/v2/url?u=https-3A__spaces.at.internet2.edu_display_Grouper_Grouper-2Bsources.xml-2Bconversion-2Bto-2Bsubject.properties&d=DwIFAw&c=C3yme8gMkxg_ihJNXS06ZyWk4EJm8LdrrvxQb-Je7sw&r=HKqTjFC6RK9VgYzstvO52Q&m=3i6RdBjIjMhg2y2BQZtwo7mRCz7gNxTWbnOP6cdtDL8&s=mBLBWRhtZKos6G8i0E7YhqLo_dJXXRNNLR4xU4dXIu0&e=
REF2:
https://urldefense.proofpoint.com/v2/url?u=https-3A__spaces.at.internet2.edu_display_Grouper_Migrating-2Bfrom-2Bthe-2BGrouper-2BJDBC-2Bsubject-2Bsource-2Bto-2Bthe-2BJDBC2-2Bsubject-2Bsource&d=DwIFAw&c=C3yme8gMkxg_ihJNXS06ZyWk4EJm8LdrrvxQb-Je7sw&r=HKqTjFC6RK9VgYzstvO52Q&m=3i6RdBjIjMhg2y2BQZtwo7mRCz7gNxTWbnOP6cdtDL8&s=qABv1kEBSCXw9LCITN0J9BDTdL22z35WvvKFQdsWlp4&e=
REF3:
https://urldefense.proofpoint.com/v2/url?u=https-3A__spaces.at.internet2.edu_display_Grouper_Penn-2Bsubject-2Bsource-2BJDBC2-2Bexample&d=DwIFAw&c=C3yme8gMkxg_ihJNXS06ZyWk4EJm8LdrrvxQb-Je7sw&r=HKqTjFC6RK9VgYzstvO52Q&m=3i6RdBjIjMhg2y2BQZtwo7mRCz7gNxTWbnOP6cdtDL8&s=5Y7GJlx5mxSilrDFgt6hijY-SxXnbPrbmBEE3YZGKfU&e=


Just guessing, but I think... your current error is:
"
SourceUnavailableException: dbTableOrView not defined, source:
GrouperPersonRegistry
"

I don't see a config value for
subjectApi.source.jdbc.param.dbTableOrView.value = . some value... ( see
the second ref page for some details )
or
subjectApi.source.GrouperPersonRegistry.param.dbTableOrView.value = .
some value...

I have no idea what, if any, a default value might be. ( And the value on
the REF2 page is ... not it. )
REF3 has a sample SQL "CREATE TABLE" statement that should be used as an
example. ( Details are up to you to decide and match up with your
configuration values. )



However, I think there is another "bigger" error in your config too.

subjectApi.source.jdbc.id = GrouperPersonRegistry ( My guess is that
you changed the value after the = from "jdbc" to "GrouperPersonRegistry"
here. Or it is a conversion bug. Just guessing.)

Then you should have a set of properties like this ( but you did not show
those...) :

subjectApi.source.GrouperPersonRegistry.name = Grouper Person Registry
subjectApi.source.GrouperPersonRegistry.types = person
subjectApi.source.GrouperPersonRegistry.adapterClass =
edu.internet2.middleware.grouper.subj.GrouperJdbcSourceAdapter2

subjectApi.source.GrouperPersonRegistry.param.jdbcConnectionProvider.value =
edu.internet2.middleware.grouper.subj.GrouperJdbcConnectionProvider
..

Or you can change back to "jdbc.id = jdbc". ( Your choice. )


The posted examples for subject.properties files are ( IMHO ) poor
examples because "user made up strings" should stand out from the "structure
of the config/code values".
Let me take a hack at a better example.. ( IMHO )

The following is a subject.properties (incomplete) example for a sample
Subject source from a JDBC data source.
NOTE: In this example:
String = "ANameForThisSource"
: all places should be changed to be a value of your choosing.(AKA:
The value is a configuration value, not code ) AND you must change them all
to the same single value.
: no spaces, or special chars... keep it "a through Z" only for
simplicity. :)
: This is used as a "value" for the ".id" property AND it appears in
the "key structure" for the ".id" property! (As well as in the key values for
all other properties that are part of this source configuration too.)
: This value is visible in the UI ! So make it helpful for a user
to understand the source. ( HR Only, Student Only, Department Directory,
UniversityWide, External, .... )

...
subjectApi.source.ANameForThisSource.id = ANameForThisSource
subjectApi.source.ANameForThisSource.name = A short name (presented to
Humans in the UI) for this subject source goes here. Use only a word or two.
Not a paragraph like this silly, exaggerated, example value.
subjectApi.source.ANameForThisSource.types = person
subjectApi.source.ANameForThisSource.adapterClass =
edu.internet2.middleware.grouper.subj.GrouperJdbcSourceAdapter2
subjectApi.source.ANameForThisSource.param.jdbcConnectionProvider.value =
edu.internet2.middleware.grouper.subj.GrouperJdbcConnectionProvider
....

HTH.

--
Carey Matthew



From:


<>
On Behalf Of Guenther, Dean R.
Sent: Thursday, October 11, 2018 8:16 PM
To:

Subject: [grouper-users] Grouper 2.4 problem in subject.properties

I have a new Grouper 2.4 install (thanks to Chris and Chad, I needed Java
1.8)

I've put together what I thought was a correct subject.properties
(below) but when I try and start grouper it complains that it is unable to
init subject.properties. But I can't tell from the error what I'm missing.
Here is the stack trace:

Using GROUPER_CONF:
/opt/grouper/grouper.installer-2.4.0/grouper.apiBinary-2.4.0/conf
Using JAVA:
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.181-3.b13.el7_5.x86_64/bin/java
using MEMORY: 64m-750m
log4j:WARN No such property [maxBackupIndex] in
org.apache.log4j.DailyRollingFileAppender.
Grouper starting up: version: 2.4.0, build date: 2018/08/23 07:48:38,
env: dev
grouperPatchStatus read from:
/opt/grouper/grouper.installer-2.4.0/grouper.apiBinary-2.4.0/grouperPatchStatus.properties
api patches installed: 0, 1, 2
pspng patches installed: 0
grouper.properties read from:
/opt/grouper/grouper.installer-2.4.0/grouper.apiBinary-2.4.0/conf/grouper.properties
Grouper current directory is:
/opt/grouper/grouper.installer-2.4.0/grouper.apiBinary-2.4.0/conf
log4j.properties read from:
/opt/grouper/grouper.installer-2.4.0/grouper.apiBinary-2.4.0/conf/log4j.properties
Grouper is logging to file:
/opt/grouper/grouper.installer-2.4.0/grouper.apiBinary-2.4.0/logs/grouper_error.log,
at min level WARN for package: edu.internet2.middleware.grouper, based on
log4j.properties
grouper.hibernate.properties:
/opt/grouper/grouper.installer-2.4.0/grouper.apiBinary-2.4.0/conf/grouper.hibernate.properties
grouper.hibernate.properties:

problem with sources
Couldnt startup grouper: Error initializing SourceManager
java.lang.RuntimeException: Error initializing SourceManager
at
edu.internet2.middleware.subject.provider.SourceManager.init(SourceManager.java:326)
at
edu.internet2.middleware.subject.provider.SourceManager.<init>(SourceManager.java:256)
at
edu.internet2.middleware.subject.provider.SourceManager.getInstance(SourceManager.java:266)
at
edu.internet2.middleware.grouper.misc.GrouperStartup.startup(GrouperStartup.java:284)
at
edu.internet2.middleware.grouper.app.loader.GrouperLoader.main(GrouperLoader.java:107)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at
edu.internet2.middleware.grouper.app.gsh.GrouperShell.handleSpecialCase(GrouperShell.java:216)
at
edu.internet2.middleware.grouper.app.gsh.GrouperShell.main(GrouperShell.java:150)
at
edu.internet2.middleware.grouper.app.gsh.GrouperShellWrapper.main(GrouperShellWrapper.java:31)
Caused by: edu.internet2.middleware.subject.SourceUnavailableException:
Unable to init subject.properties JDBC source, source: GrouperPersonRegistry
at
edu.internet2.middleware.subject.provider.JDBCSourceAdapter.init(JDBCSourceAdapter.java:815)
at
edu.internet2.middleware.subject.provider.SourceManager.loadSource(SourceManager.java:351)
at
edu.internet2.middleware.subject.provider.SourceManager.parseConfig(SourceManager.java:365)
at
edu.internet2.middleware.subject.provider.SourceManager.init(SourceManager.java:323)
... 11 more
Caused by: edu.internet2.middleware.subject.SourceUnavailableException:
dbTableOrView not defined, source: GrouperPersonRegistry
at
edu.internet2.middleware.subject.provider.JDBCSourceAdapter2.setupDataSource(JDBCSourceAdapter2.java:658)
at
edu.internet2.middleware.subject.provider.JDBCSourceAdapter.init(JDBCSourceAdapter.java:759)
... 14 more
Exception in thread "main" java.lang.RuntimeException:
java.lang.reflect.InvocationTargetException
at
edu.internet2.middleware.grouper.app.gsh.GrouperShell.handleSpecialCase(GrouperShell.java:226)
at
edu.internet2.middleware.grouper.app.gsh.GrouperShell.main(GrouperShell.java:150)
at
edu.internet2.middleware.grouper.app.gsh.GrouperShellWrapper.main(GrouperShellWrapper.java:31)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at
edu.internet2.middleware.grouper.app.gsh.GrouperShell.handleSpecialCase(GrouperShell.java:216)
... 2 more
Caused by: java.lang.RuntimeException: Error initializing SourceManager
at
edu.internet2.middleware.subject.provider.SourceManager.init(SourceManager.java:326)
at
edu.internet2.middleware.subject.provider.SourceManager.<init>(SourceManager.java:256)
at
edu.internet2.middleware.subject.provider.SourceManager.getInstance(SourceManager.java:266)
at
edu.internet2.middleware.grouper.misc.GrouperStartup.startup(GrouperStartup.java:284)
at
edu.internet2.middleware.grouper.app.loader.GrouperLoader.main(GrouperLoader.java:107)
... 7 more
Caused by: edu.internet2.middleware.subject.SourceUnavailableException:
Unable to init subject.properties JDBC source, source: GrouperPersonRegistry
at
edu.internet2.middleware.subject.provider.JDBCSourceAdapter.init(JDBCSourceAdapter.java:815)
at
edu.internet2.middleware.subject.provider.SourceManager.loadSource(SourceManager.java:351)
at
edu.internet2.middleware.subject.provider.SourceManager.parseConfig(SourceManager.java:365)
at
edu.internet2.middleware.subject.provider.SourceManager.init(SourceManager.java:323)
... 11 more
Caused by: edu.internet2.middleware.subject.SourceUnavailableException:
dbTableOrView not defined, source: GrouperPersonRegistry
at
edu.internet2.middleware.subject.provider.JDBCSourceAdapter2.setupDataSource(JDBCSourceAdapter2.java:658)
at
edu.internet2.middleware.subject.provider.JDBCSourceAdapter.init(JDBCSourceAdapter.java:759)
... 14 more
What am I missing in the subject.properties? I'm not using sources.xml.

subjectApi.source.jdbc.id = GrouperPersonRegistry
subjectApi.source.jdbc.name = Grouper Person Registry
subjectApi.source.jdbc.types = person
subjectApi.source.jdbc.adapterClass =
edu.internet2.middleware.grouper.subj.GrouperJdbcSourceAdapter2
subjectApi.source.jdbc.param.jdbcConnectionProvider.value =
edu.internet2.middleware.grouper.subj.GrouperJdbcConnectionProvider
subjectApi.source.jdbc.param.identifierAttributes.value = LOGINID
subjectApi.source.jdbc.param.subjectIdentfierAttribute0.value =
EXTERNALSYSTEMID
subjectApi.source.jdbc.param.emailAttributeName.value = USERPRINCIPALNAME
subjectApi.source.jdbc.param.maxResults.value = 1000
subjectApi.source.jdbc.param.maxPageSize.value = 100
subjectApi.source.jdbc.param.maxActive.value = 16
subjectApi.source.jdbc.param.maxIdle.value = 16
subjectApi.source.jdbc.param.maxWait.value = -1
subjectApi.source.jdbc.param.dbDriver.value =
oracle.jdbc.driver.OracleDriver
subjectApi.source.jdbc.param.dbUrl.value =
jdbc:oracle:thin:@grouper-db.wsu.edu:1521:MIM
subjectApi.source.jdbc.param.dbUser.value = ServiceAccount
subjectApi.source.jdbc.param.dbPwd.value = ******************
subjectApi.source.jdbc.param.SubjectID_AttributeType.value =
EXTERNALSYSTEMID
subjectApi.source.jdbc.param.Name_AttributeType.value = DISPLAYNAME
subjectApi.source.jdbc.param.Description_AttributeType.value = DESCRIPTION

subjectApi.source.jdbc.param.subjectVirtualAttribute_0_searchAttribute0.value
=
${subject.name},${subjectUtils.defaultIfBlank(subject.getAttributeValue('DISPLAYNAME'),
"")},${subjectUtils.defaultIfBlank(subject.getAttributeValue('LOGINID'),
"")},${subjectUtils.defaultIfBlank(subject.description,
"")},${subjectUtils.defaultIfBlank(subject.getAttributeValue('USERPRINCIPALNAME'),
"")}
subjectApi.source.jdbc.param.sortAttribute0.value = EXTERNALSYSTEMID
subjectApi.source.jdbc.param.sortAttribute1.value = LOGINID
subjectApi.source.jdbc.param.searchAttribute0.value = searchAttribute0
subjectApi.source.jdbc.param.useInClauseForIdAndIdentifier.value = true
subjectApi.source.jdbc.param.identifierAttributes.value = LOGINID
subjectApi.source.jdbc.param.emailAttributeName.value = USERPRINCIPALNAME
subjectApi.source.jdbc.param.subjectIdentifierAttribute0.value = LOGINID
subjectApi.source.jdbc.search.searchSubject.param.inclause.value =
s.subjectid = ?

subjectApi.source.jdbc.search.searchSubjectByIdentifier.param.inclause.value
= a.value = ?
subjectApi.source.jdbc.internalAttributes = searchAttribute0







Archive powered by MHonArc 2.6.19.

Top of Page