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: Chris Hyzer <>
  • To: Gary Chapman <>, "" <>
  • Subject: RE: [grouper-dev] tiny problem, api build 1.30 rc1
  • Date: Tue, 22 Apr 2008 23:34:00 -0400
  • Accept-language: en-US
  • Acceptlanguage: en-US

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... :)

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.

<!-- 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