Skip to Content.
Sympa Menu

grouper-dev - Re: [grouper-dev] tiny problem, api build 1.30 rc1

Subject: Grouper Developers Forum

List archive

Re: [grouper-dev] tiny problem, api build 1.30 rc1


Chronological Thread 
  • From: Gary Chapman <>
  • To: "" <>
  • Subject: Re: [grouper-dev] tiny problem, api build 1.30 rc1
  • Date: Wed, 23 Apr 2008 21:33:38 -0400

Chris Hyzer wrote:
First of all the original message says " java.lang.NullPointerException at
edu.internet2.middleware.grouper.SessionHelper.stop(Unknown Source)", which
means the java wasn't compiled with the -g flag (I think). Did you build
this or get the binary? I think all builds of grouper should always have
the -g flag so we can properly support it (i.e. know which line number the
problem is). In fact, I would be happy if it wasn't even possible to build
without -g, or "compile.debug" in buildGrouper.properties. Unless to figure
out problems you want to reconfigure, recompile, redeploy, reproduce, recopy
error stack... :)

Little experienced with java and tomcat and not the system administrator
of the development system at my disposal, I simply [try to] follow
instructions
in the documentation ;-) Happy to do a -g build if given specific
instructions
on how.

Second, this is a very fine [new] error message (even though it didn't quite
do the trick of helping you on your way, it is getting there :) ).

Cant find source with id: 'jdbc', Possible source id's: 'g:gsa', 'nyuperson',
'g:isa', type="edu.internet2.middleware.subject.SourceUnavailableException"

I think the tests assume there is a subject source in the sources.xml file
with
the name "jdbc". Not sure what the solution is here, maybe to run the tests,
maybe you could temporarily resurrect the subject source "jdbc" that is in the
default sources.xml, and the tables too... (is this the right answer? Can we
eventually change the tests so that source doesn't have to be in sources.xml?
might be possible to workaround it). Obviously you need to change the db url,
schema, pass to be that of the grouper db, and hopefully the subject tables
are
there.

Tis true, I changed the <id> for my jdbc source, dutifully following the
example in
the source api documentation:

<!-- Example JDBC Person Resolver -->
<source
adapterClass="edu.internet2.middleware.subject.provider.JDBCSourceAdapter">
<id>uc</id>
<name>Bogus UC People</name>
<type>person</type>

For fun, will test again with "jdbc" restored.



<!-- Group Subject Resolver -->

<source
adapterClass="edu.internet2.middleware.subject.provider.JDBCSourceAdapter">
<id>jdbc</id>
<name>JDBC Source Adapter</name>
<type>person</type>
<init-param>
<param-name>maxActive</param-name>
<param-value>16</param-value>
</init-param>
<init-param>
<param-name>maxIdle</param-name>
<param-value>16</param-value>
</init-param>
<init-param>
<param-name>maxWait</param-name>
<param-value>-1</param-value>
</init-param>


<!-- MYSQL, com.p6spy.engine.spy.P6SpyDriver, com.mysql.jdbc.Driver -->
<init-param>
<param-name>dbDriver</param-name>
<param-value> com.mysql.jdbc.Driver</param-value>
</init-param>
<init-param>
<param-name>dbUrl</param-name>
<param-value>jdbc:mysql://localhost:3306/grouper</param-value>
</init-param>
<init-param>
<param-name>dbUser</param-name>
<param-value>grouper</param-value>
</init-param>
<init-param>
<param-name>dbPwd</param-name>
<param-value>this is not it</param-value>
</init-param>

<init-param>
<param-name>SubjectID_AttributeType</param-name>
<param-value>id</param-value>
</init-param>
<init-param>
<param-name>Name_AttributeType</param-name>
<param-value>name</param-value>
</init-param>
<init-param>
<param-name>Description_AttributeType</param-name>
<param-value>description</param-value>
</init-param>

<search>
<searchType>searchSubject</searchType>
<param>
<param-name>numParameters</param-name>
<param-value>1</param-value>
</param>
<param>
<param-name>sql</param-name>
<param-value>

select
s.subjectid as id, s.name as name,
(select sa2.value from subjectattribute sa2 where name='name' and
sa2.SUBJECTID = s.subjectid) as lfname,
(select sa3.value from subjectattribute sa3 where name='loginid' and
sa3.SUBJECTID = s.subjectid) as loginid,
(select sa4.value from subjectattribute sa4 where name='description' and
sa4.SUBJECTID = s.subjectid) as description
from
subject s
where
s.subjectid = ?

</param-value>
</param>
</search>
<!--

select
subject.subjectid as id, subject.name as name,
lfnamet.lfname as lfname, loginidt.loginid as loginid,
desct.description as description
from
subject
left join (select subjectid, value as lfname from subjectattribute
where name='name') lfnamet
on subject.subjectid=lfnamet.subjectid
left join (select subjectid, value as loginid from subjectattribute
where name='loginid') loginidt
on subject.subjectid=loginidt.subjectid
left join (select subjectid, value as description from subjectattribute
where name='description') desct
on subject.subjectid=desct.subjectid
where
subject.subjectid = ?
-->
<search>
<searchType>searchSubjectByIdentifier</searchType>
<param>
<param-name>numParameters</param-name>
<param-value>1</param-value>
</param>
<param>
<param-name>sql</param-name>
<param-value>
select
subject.subjectid as id, subject.name as name,
lfnamet.lfname as lfname, loginidt.loginid as loginid,
desct.description as description
from
subject
left join (select subjectid, value as lfname from subjectattribute
where name='name') lfnamet
on subject.subjectid=lfnamet.subjectid
left join (select subjectid, value as loginid from subjectattribute
where name='loginid') loginidt
on subject.subjectid=loginidt.subjectid
left join (select subjectid, value as description from subjectattribute
where name='description') desct
on subject.subjectid=desct.subjectid
where
loginidt.loginid = ?
</param-value>
</param>
</search>
<search>
<searchType>search</searchType>
<param>
<param-name>numParameters</param-name>
<param-value>4</param-value>
</param>
<param>
<param-name>sql</param-name>
<param-value>
select
subject.subjectid as id, subject.name as name,
lfnamet.lfname as lfname, loginidt.loginid as loginid,
desct.description as description
from
subject
left join (select subjectid, value as lfname from subjectattribute
where name='name') lfnamet
on subject.subjectid=lfnamet.subjectid
left join (select subjectid, value as loginid from subjectattribute
where name='loginid') loginidt
on subject.subjectid=loginidt.subjectid
left join (select subjectid, value as description from subjectattribute
where name='description') desct
on subject.subjectid=desct.subjectid
where
(lower(name) like concat('%',concat(?,'%')))
or (lower(lfnamet.lfname) like concat('%',concat(?,'%')))
or (lower(loginidt.loginid) like concat('%',concat(?,'%')))
or (lower(desct.description) like concat('%',concat(?,'%')))
</param-value>
</param>
</search>
</source>

-----Original Message-----
From: Gary Chapman
[mailto:]
Sent: Tuesday, April 22, 2008 11:03 PM
To:

Subject: Re: [grouper-dev] tiny problem, api build 1.30 rc1

Did this:

% ant -D"haltonerror=no" test

and got the below. I'm sure I've made a number of configuration
changes
since the earlier run.

test:

[echo] *** results can be found in /apps/grouper/grouper-api-
1.3.0-rc1/dist/test ***

[junit] Running edu.internet2.middleware.grouper.SuiteDefault

[junit] Tests run: 164, Failures: 0, Errors: 1, Time elapsed:
2,531.108 sec

BUILD FAILED
/apps/grouper/grouper-api-1.3.0-rc1/build.xml:650: Test
edu.internet2.middleware.grouper.SuiteDefault failed

The only error stuff I see in the log file TEST-
edu.internet2.middleware.grouper.SuiteDefault.xml is:

<testcase
classname="edu.internet2.middleware.grouper.Test_subj_SubjectResolver"
name="test_getSource_getJDBCSourceAdapter" time="0.173">
<error message="Cant find source with id: &apos;jdbc&apos;,
Possible source id&apos;s: &apos;g:gsa&apos;, &apos;nyuperson&apos;,
&apos;g:isa&apos;, "
type="edu.internet2.middleware.subject.SourceUnavailableException">edu.
internet2.middleware.subject.SourceUnavailableException: Cant find
source with id: &apos;jdbc&apos;, Possible source id&apos;s:
&apos;g:gsa&apos;, &apos;nyuperson&apos;, &apos;g:isa&apos;,
at
edu.internet2.middleware.grouper.subj.SourcesXmlResolver.getSource(Sour
cesXmlResolver.java:228)
at
edu.internet2.middleware.grouper.subj.CachingResolver.getSource(Caching
Resolver.java:242)
at
edu.internet2.middleware.grouper.subj.ValidatingResolver.getSource(Vali
datingResolver.java:163)
at
edu.internet2.middleware.grouper.Test_subj_SubjectResolver.test_getSour
ce_getJDBCSourceAdapter(Unknown Source)
Caused by: edu.internet2.middleware.subject.SourceUnavailableException:
Source not found.
at
edu.internet2.middleware.subject.provider.SourceManager.getSource(Unkno
wn Source)
at
edu.internet2.middleware.grouper.subj.SourcesXmlResolver.getSource(Sour
cesXmlResolver.java:226)
... 20 more
</error>
</testcase>

Tom Barton wrote:
Gary,

I'm sure we haven't tested in that precise environment.

Because your testing stopped at the first error, could you rerun the
test suite as

ant -D"haltonerror=no" test

so that we can determine if any other tests also fail in your
environment?
Thanks,
Tom

Gary Chapman wrote:
Saw this tiny flaw in a nearly flawless build. Using Solaris 9,
java version "1.5.0_15".


% ant test
[echo] ** results can be found in
/apps/grouper/grouper-api-1.3.0-rc1/dist/test **

[mkdir] Created dir: /apps/grouper/grouper-api-1.3.0-
rc1/dist/test
[junit] Running edu.internet2.middleware.grouper.SuiteDefault
[junit] Tests run: 427, Failures: 0, Errors: 1, Time elapsed:
65.042 sec <---


And from the file /apps/grouper/grouper-api-1.3.0-rc1/dist/test:

<testcase
classname="edu.internet2.middleware.grouper.TestGroupTypes"
name="testAddExistingField" time="0.045">
<error
type="java.lang.NullPointerException">java.lang.NullPointerException
at
edu.internet2.middleware.grouper.SessionHelper.stop(Unknown
Source)
at

edu.internet2.middleware.grouper.TestGroupTypes.testAddExistingField(Un
known
Source)
</error>
</testcase>






Archive powered by MHonArc 2.6.16.

Top of Page