Its 1.5.1 ( CAS 4.0.1)

from log output:

2015-08-19 15:12:02,288 DEBUG
[org.jasig.services.persondir.support.jdbc.SingleRowJdbcPersonAttributeDao]
- <Adding attribute 'id' with value '[myname]' to query builder 'null'>
2015-08-19 15:12:02,289 DEBUG
[org.jasig.services.persondir.support.jdbc.SingleRowJdbcPersonAttributeDao]
- <Generated query builder 'sql=[id = ?] args=[myname]' from query Map
{username=[myname]}.>

In last line of following source you can see that executing query passes
querybuilder.arguments which has only one value, whereas replacement
happens twice.



   - AbstractJdbcPersonAttributeDao

  protected List
<http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b27/java/util/List.java#List><IPersonAttributes
<http://grepcode.com/file/repo1.maven.org/maven2/org.jasig.service.persondir/person-directory-api/1.5.1/org/jasig/services/persondir/IPersonAttributes.java#IPersonAttributes>>
 
<http://grepcode.com/file/repo1.maven.org/maven2/org.jasig.service.persondir/person-directory-impl/1.5.1/org/jasig/services/persondir/support/jdbc/AbstractJdbcPersonAttributeDao.java/#>getPeopleForQuery
<http://grepcode.com/file/repo1.maven.org/maven2/org.jasig.service.persondir/person-directory-impl/1.5.1/org/jasig/services/persondir/support/AbstractQueryPersonAttributeDao.java#AbstractQueryPersonAttributeDao.getPeopleForQuery%28org.jasig.services.persondir.support.jdbc.PartialWhereClause%2Cjava.lang.String%29>(PartialWhereClause
<http://grepcode.com/file/repo1.maven.org/maven2/org.jasig.service.persondir/person-directory-impl/1.5.1/org/jasig/services/persondir/support/jdbc/PartialWhereClause.java#PartialWhereClause>
queryBuilder, String
<http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b27/java/lang/String.java#String>
queryUserName) {

160 
<http://grepcode.com/file/repo1.maven.org/maven2/org.jasig.service.persondir/person-directory-impl/1.5.1/org/jasig/services/persondir/support/jdbc/AbstractJdbcPersonAttributeDao.java/#160>

<http://grepcode.com/file/repo1.maven.org/maven2/org.jasig.service.persondir/person-directory-impl/1.5.1/org/jasig/services/persondir/support/jdbc/AbstractJdbcPersonAttributeDao.java/#>

        //Execute the query

161 
<http://grepcode.com/file/repo1.maven.org/maven2/org.jasig.service.persondir/person-directory-impl/1.5.1/org/jasig/services/persondir/support/jdbc/AbstractJdbcPersonAttributeDao.java/#161>

<http://grepcode.com/file/repo1.maven.org/maven2/org.jasig.service.persondir/person-directory-impl/1.5.1/org/jasig/services/persondir/support/jdbc/AbstractJdbcPersonAttributeDao.java/#>

        final ParameterizedRowMapper
<http://grepcode.com/file/repo1.maven.org/maven2/org.springframework/spring-jdbc/2.5.6/org/springframework/jdbc/core/simple/ParameterizedRowMapper.java#ParameterizedRowMapper><R>
rowMapper = this.getRowMapper
<http://grepcode.com/file/repo1.maven.org/maven2/org.jasig.service.persondir/person-directory-impl/1.5.1/org/jasig/services/persondir/support/jdbc/AbstractJdbcPersonAttributeDao.java#AbstractJdbcPersonAttributeDao.getRowMapper%28%29>();

162 
<http://grepcode.com/file/repo1.maven.org/maven2/org.jasig.service.persondir/person-directory-impl/1.5.1/org/jasig/services/persondir/support/jdbc/AbstractJdbcPersonAttributeDao.java/#162>

<http://grepcode.com/file/repo1.maven.org/maven2/org.jasig.service.persondir/person-directory-impl/1.5.1/org/jasig/services/persondir/support/jdbc/AbstractJdbcPersonAttributeDao.java/#>



163 
<http://grepcode.com/file/repo1.maven.org/maven2/org.jasig.service.persondir/person-directory-impl/1.5.1/org/jasig/services/persondir/support/jdbc/AbstractJdbcPersonAttributeDao.java/#163>

<http://grepcode.com/file/repo1.maven.org/maven2/org.jasig.service.persondir/person-directory-impl/1.5.1/org/jasig/services/persondir/support/jdbc/AbstractJdbcPersonAttributeDao.java/#>

        final List
<http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b27/java/util/List.java#List><R>
results;

164 
<http://grepcode.com/file/repo1.maven.org/maven2/org.jasig.service.persondir/person-directory-impl/1.5.1/org/jasig/services/persondir/support/jdbc/AbstractJdbcPersonAttributeDao.java/#164>

<http://grepcode.com/file/repo1.maven.org/maven2/org.jasig.service.persondir/person-directory-impl/1.5.1/org/jasig/services/persondir/support/jdbc/AbstractJdbcPersonAttributeDao.java/#>

        if (queryBuilder != null) {

165 
<http://grepcode.com/file/repo1.maven.org/maven2/org.jasig.service.persondir/person-directory-impl/1.5.1/org/jasig/services/persondir/support/jdbc/AbstractJdbcPersonAttributeDao.java/#165>

<http://grepcode.com/file/repo1.maven.org/maven2/org.jasig.service.persondir/person-directory-impl/1.5.1/org/jasig/services/persondir/support/jdbc/AbstractJdbcPersonAttributeDao.java/#>

            //Merge the generated SQL with the base query template

166 
<http://grepcode.com/file/repo1.maven.org/maven2/org.jasig.service.persondir/person-directory-impl/1.5.1/org/jasig/services/persondir/support/jdbc/AbstractJdbcPersonAttributeDao.java/#166>

<http://grepcode.com/file/repo1.maven.org/maven2/org.jasig.service.persondir/person-directory-impl/1.5.1/org/jasig/services/persondir/support/jdbc/AbstractJdbcPersonAttributeDao.java/#>

            final StringBuilder
<http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b27/java/lang/StringBuilder.java#StringBuilder>
partialSqlWhere = queryBuilder.sql;

167

<http://grepcode.com/file/repo1.maven.org/maven2/org.jasig.service.persondir/person-directory-impl/1.5.1/org/jasig/services/persondir/support/jdbc/AbstractJdbcPersonAttributeDao.java/#>

            final Matcher
<http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b27/java/util/regex/Matcher.java#Matcher>
queryMatcher = WHERE_PLACEHOLDER
<http://grepcode.com/file/repo1.maven.org/maven2/org.jasig.service.persondir/person-directory-impl/1.5.1/org/jasig/services/persondir/support/jdbc/AbstractJdbcPersonAttributeDao.java#AbstractJdbcPersonAttributeDao.0WHERE_PLACEHOLDER>.matcher
<http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b27/java/util/regex/Pattern.java#Pattern.matcher%28java.lang.CharSequence%29>(this.queryTemplate
<http://grepcode.com/file/repo1.maven.org/maven2/org.jasig.service.persondir/person-directory-impl/1.5.1/org/jasig/services/persondir/support/jdbc/AbstractJdbcPersonAttributeDao.java#AbstractJdbcPersonAttributeDao.0queryTemplate>);

168

<http://grepcode.com/file/repo1.maven.org/maven2/org.jasig.service.persondir/person-directory-impl/1.5.1/org/jasig/services/persondir/support/jdbc/AbstractJdbcPersonAttributeDao.java/#>

            final String
<http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b27/java/lang/String.java#String>
querySQL = queryMatcher.replaceAll
<http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b27/java/util/regex/Matcher.java#Matcher.replaceAll%28java.lang.String%29>(partialSqlWhere.toString
<http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b27/java/lang/StringBuilder.java#StringBuilder.toString%28%29>());


<http://grepcode.com/file/repo1.maven.org/maven2/org.jasig.service.persondir/person-directory-impl/1.5.1/org/jasig/services/persondir/support/jdbc/AbstractJdbcPersonAttributeDao.java/#>




            results = this.simpleJdbcTemplate
<http://grepcode.com/file/repo1.maven.org/maven2/org.jasig.service.persondir/person-directory-impl/1.5.1/org/jasig/services/persondir/support/jdbc/AbstractJdbcPersonAttributeDao.java#AbstractJdbcPersonAttributeDao.0simpleJdbcTemplate>.query
<http://grepcode.com/file/repo1.maven.org/maven2/org.springframework/spring-jdbc/2.5.6/org/springframework/jdbc/core/simple/SimpleJdbcTemplate.java#SimpleJdbcTemplate.query%28java.lang.String%2Corg.springframework.jdbc.core.simple.ParameterizedRowMapper%2Cjava.lang.Object%5B%5D%29>(querySQL,
rowMapper, queryBuilder.arguments.toArray
<http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b27/java/util/List.java#List.toArray%28%29>())





Regards Manfredo




2015-08-19 17:45 GMT-03:00 Misagh Moayyed <[email protected]>:

> This “may” be an issue with person directory. Don’t know yet, but your
> other option for now would be to have 2 DAOs and merge the result together
> finally.
>
>
>
> What version of person directory is this by the way? Can you dulicate the
> problem with the latest?
>
>
>
> *From:* Manfredo Hopp [mailto:[email protected]]
> *Sent:* Wednesday, August 19, 2015 11:26 AM
> *To:* [email protected]
> *Subject:* [cas-user] Resolving attirbutes dao results in "no value
> specified for parameter 2"
>
>
>
> Hello I am using singleRowJdbcPersonAttributeDao to resolve principal
> attributes defined as:
>
>
>
> singleRowJdbcPersonAttributeDao
>
>
> class="org.jasig.services.persondir.support.jdbc.SingleRowJdbcPersonAttributeDao">
>
>                       <constructor-arg index="0" ref="dataSourceA" />
>
>                       <constructor-arg index="1"
>
>                       value="(SELECT a, b,  c , d
>
>                                               FROM u WHERE {0}
>
>                                   UNION
>
>                                               (SELECT a, b ,c d
>
>                                               FROM r WHERE {0})" />
>
>                       <property name="queryAttributeMapping">
>
>                                   <map>
>
>                                               <entry key="username"
> value="id" />
>
>                                   </map>
>
>                       </property>
>
>
>
> And get SQLException->No value specified for parameter 2
>
>
>
> NO replacement for second {0}, so I am not able to use this query.
>
>
>
> Is there any reason for the behaviour of this implementation?
>
>
>
> Regards Manfredo
>
>
>
> --
>
> You are currently subscribed to [email protected] as: 
> [email protected]
>
> To unsubscribe, change settings or access archives, see 
> http://www.ja-sig.org/wiki/display/JSG/cas-user
>
> --
> You are currently subscribed to [email protected] as: 
> [email protected]
> To unsubscribe, change settings or access archives, see 
> http://www.ja-sig.org/wiki/display/JSG/cas-user
>
>

-- 
You are currently subscribed to [email protected] as: 
[email protected]
To unsubscribe, change settings or access archives, see 
http://www.ja-sig.org/wiki/display/JSG/cas-user

Reply via email to