Hi,
I have written the following query : new javax.jdo.annotations.Query(
  name = "findByJobName",
  value = "SELECT UNIQUE "
    + "FROM domainapp.modules.system.dom.impl.PersonObject "
    + "WHERE tasks.contains(task) && task.parentJob.name == :name ")And it 
returns no records. This is correct as there is no data in the database, but 
when the query results are returned by getResults of 
PersistenceQueryFindUsingApplibQueryProcessor it returns null from the 
following code in the getResults method: try {
    final List<?> results = (List<?>) 
jdoQuery.executeWithMap(argumentsByParameterName);
    final List<?> resultsToReturn =
            cardinality == QueryCardinality.MULTIPLE
                    ? results
                    : results.isEmpty()
                        ? Collections.emptyList()
                        : results.subList(0, 1);
    return Lists.newArrayList(resultsToReturn);
} finally {
    jdoQuery.closeAll();
}
The newArrayList is passed a null value and it then promptly throws an 
exception :
Caused by: java.lang.NullPointerException
 at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:212) 
at com.google.common.collect.Lists.newArrayList(Lists.java:144) at 
org.apache.isis.objectstore.jdo.datanucleus.persistence.queries.PersistenceQueryFindUsingApplibQueryProcessor.getResults(PersistenceQueryFindUsingApplibQueryProcessor.java:124)
 at 
org.apache.isis.objectstore.jdo.datanucleus.persistence.queries.PersistenceQueryFindUsingApplibQueryProcessor.process(PersistenceQueryFindUsingApplibQueryProcessor.java:57)
 at 
org.apache.isis.objectstore.jdo.datanucleus.persistence.queries.PersistenceQueryFindUsingApplibQueryProcessor.process(PersistenceQueryFindUsingApplibQueryProcessor.java:41)
As far as I can see executeWithMap is the culprit here.
Must I log an issue or is this caused by  myself writing bad code?
ThanksGerrie

Reply via email to