Hi Mark and Monika,

Mark, the syntax of the SQL statement is ok, this notation is valid for
statements (I don't recall the name of this technique, but it has one).

Monika has sent me a suggestion offlist, which helps, but still does not
solve the problem. EPerson is still throwing an NPE, in line 517, which
is the line, where the SQL statement is executed. The strange thing is:
I do not see a line in my log, where the statement is executed... Here a
small excerpt from my log:

------------------

2015-04-29 09:55:38,354 DEBUG org.dspace.app.webui.servlet.DSpaceServlet
@ tub...@tuhh.de:session_id=XX...XX:ip_addr=xxx:http_request:-- URL
Was\colon;
https\colon;//dspace.tub.tuhh.de/tools/eperson-list?multiple=false
-- Method\colon; GET
-- Parameters were\colon;
-- multiple\colon; "false"

2015-04-29 09:55:38,358 WARN 
org.dspace.app.webui.servlet.InternalErrorServlet @
:session_id=XX...XX:internal_error:-- URL Was:
https://dspace.tub.tuhh.de/tools/eperson-list?multiple=false
-- Method: GET
-- Parameters were:
-- multiple: "false"

java.lang.NullPointerException
        at org.dspace.eperson.EPerson.findAll(EPerson.java:517)
        at
org.dspace.app.webui.servlet.admin.EPersonListServlet.doDSGet(EPersonListServlet.java:91)
        at
org.dspace.app.webui.servlet.DSpaceServlet.processRequest(DSpaceServlet.java:119)
        at
org.dspace.app.webui.servlet.DSpaceServlet.doGet(DSpaceServlet.java:67)
(...)
        at java.lang.Thread.run(Thread.java:745)
2015-04-29 09:55:38,375 DEBUG org.dspace.storage.rdbms.DatabaseManager @
Running query "SELECT * FROM MetadataValue WHERE resource_id= ? and
resource_type_id = ? ORDER BY metadata_field_id, place"  with
parameters: 1,7

----------------------

The statement in the last log line should work, I have checked it
manually. Although there is another NPE after it:

----------------------
java.lang.NullPointerException
        at
org.dspace.storage.rdbms.DatabaseManager.queryTable(DatabaseManager.java:230)
        at
org.dspace.content.DSpaceObject$MetadataCache.retrieveMetadata(DSpaceObject.java:1330)
        at
org.dspace.content.DSpaceObject$MetadataCache.get(DSpaceObject.java:1265)
        at
org.dspace.content.DSpaceObject.getMetadata(DSpaceObject.java:676)
        at
org.dspace.content.DSpaceObject.getMetadata(DSpaceObject.java:585)
---------------------

You can find my code here:
https://github.com/olli-gold/DSpace/blob/epersonbug/dspace/modules/additions/src/main/java/org/dspace/eperson/EPerson.java

Any ideas? This seems to be a nasty little bug...

Thanks for your attention and suggestions!
Oliver

Am 28.04.2015 um 19:38 schrieb Mark H. Wood:
> On Tue, Apr 28, 2015 at 05:13:55PM +0200, Oliver Goldschmidt wrote:
>> Thanks again, but I guess that's not all. Changing m_text_value to
>> m.text_value in the EPerson class is still throwing an NPE, because the
>> SQL query is still not correct:
>> 2015-04-28 17:04:36,075 DEBUG org.dspace.storage.rdbms.DatabaseManager @
>> Running query "SELECT * FROM eperson e ORDER BY ?"  with parameters:
>> m.text_value
> Um, can one use parameters that way in SQL?  I thought not.  Shouldn't
> this be done by composing the SELECT using string concatenation?  We
> don't get "m.text_value" from the user, do we?
>
>> I can't sort on a field from table m, when table m is not involved in
>> the query.
> You're quite right:  "m" is not defined in the statement.  Guessing
> from the name, I'd say this was meant to be ordering a select from
> metadatavalue, since that is the only table which has a 'text_value'
> column.
>
> [digs through the code]
>
> Something is quite wrong.  The query at EPerson line 518 is:
>
>   SELECT * FROM eperson e 
>    LEFT JOIN metadatavalue m on (m.resource_id = e.eperson_id and
>     m.resource_type_id = ? and m.metadata_field_id = ?)
>    ORDER BY ?
>
>> I will investigate this a little more. Perhaps the parameters s and t
>> are switched by accident?
>>
>> Best regards
>> Oliver
>>
>> Am 28.04.2015 um 16:34 schrieb Oliver Goldschmidt:
>>> Thank you, Monika. That makes sense - I will try to try that locally.
>>>
>>> Best regards
>>> Oliver
>>>
>>> Am 28.04.2015 um 16:10 schrieb Monika C. Mevenkamp:
>>>> looks to me like a typo in the code 
>>>>
>>>> https://github.com/DSpace/DSpace/blob/master/dspace-api/src/main/java/org/dspace/eperson/EPerson.java#L502
>>>> and 
>>>> https://github.com/DSpace/DSpace/blob/master/dspace-api/src/main/java/org/dspace/eperson/EPerson.java#L510
>>>>
>>>> where it says s = "m_text_value”;   it should be s = “m.text_value";
>>>>
>>>> Monika
>>>>
>>>> ________________
>>>> Monika Mevenkamp
>>>> phone: 609-258-4161
>>>> Princeton University, Princeton, NJ 08544
>>>>
>>>>
>>>>> On Apr 27, 2015, at 11:26 AM, Oliver Goldschmidt
>>>>> <o.goldschm...@tuhh.de <mailto:o.goldschm...@tuhh.de>> wrote:
>>>>>
>>>>> Hello,
>>>>>
>>>>> I have a problem in DSpace 5.1. After upgrading from DSpace 4.2 I cannot
>>>>> change publication permissions or workflow step permissions on a
>>>>> collection or select users in the permission system.
>>>>> I have tracked down the error and it seems to be most likely a bug, but
>>>>> I'm not 100% sure...
>>>>>
>>>>> Trying to use
>>>>> http://dspace-instance/tools/eperson-list?multiple=false
>>>>> <http://dspace-instance/tools/eperson-list?multiple=false>
>>>>> (after having logged in as admin) is throwing an NPE:
>>>>> 2015-04-27 17:19:52,812 DEBUG org.dspace.storage.rdbms.DatabaseManager @
>>>>> Running query "SELECT * FROM eperson e ORDER BY ?"  with parameters:
>>>>> m_text_value
>>>>> 2015-04-27 17:19:52,817 WARN 
>>>>> org.dspace.app.webui.servlet.InternalErrorServlet @
>>>>> :session_id=XX...XX:internal_error:-- URL Was:
>>>>> https://dspace.tub.tuhh.de/tools/eperson-list?multiple=false
>>>>> -- Method: GET
>>>>> -- Parameters were:
>>>>> -- multiple: "false"
>>>>>
>>>>> java.lang.NullPointerException
>>>>>        at org.dspace.eperson.EPerson.findAll(EPerson.java:518)
>>>>>
>>>>> The reason for this error is, that I do not have a field m_text_value in
>>>>> the table eperson, so the query fails.
>>>>>
>>>>> Is this a bug or have I missed something upgrading the database?
>>>>>
>>>>> Best regards
>>>>> Oliver
>>>>>
>>>>>
>>>>> ------------------------------------------------------------------------------
>>>>> One dashboard for servers and applications across
>>>>> Physical-Virtual-Cloud 
>>>>> Widest out-of-the-box monitoring support with 50+ applications
>>>>> Performance metrics, stats and reports that give you Actionable Insights
>>>>> Deep dive visibility with transaction tracing using APM Insight.
>>>>> http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
>>>>> _______________________________________________
>>>>> DSpace-tech mailing list
>>>>> DSpace-tech@lists.sourceforge.net
>>>>> https://lists.sourceforge.net/lists/listinfo/dspace-tech
>>>>> List Etiquette:
>>>>> https://wiki.duraspace.org/display/DSPACE/Mailing+List+Etiquette
>>>
>>>
>>> ------------------------------------------------------------------------------
>>> One dashboard for servers and applications across Physical-Virtual-Cloud 
>>> Widest out-of-the-box monitoring support with 50+ applications
>>> Performance metrics, stats and reports that give you Actionable Insights
>>> Deep dive visibility with transaction tracing using APM Insight.
>>> http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
>>>
>>>
>>> _______________________________________________
>>> DSpace-tech mailing list
>>> DSpace-tech@lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/dspace-tech
>>> List Etiquette: 
>>> https://wiki.duraspace.org/display/DSPACE/Mailing+List+Etiquette
>> ------------------------------------------------------------------------------
>> One dashboard for servers and applications across Physical-Virtual-Cloud 
>> Widest out-of-the-box monitoring support with 50+ applications
>> Performance metrics, stats and reports that give you Actionable Insights
>> Deep dive visibility with transaction tracing using APM Insight.
>> http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
>> _______________________________________________
>> DSpace-tech mailing list
>> DSpace-tech@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/dspace-tech
>> List Etiquette: 
>> https://wiki.duraspace.org/display/DSPACE/Mailing+List+Etiquette
>
>
>
> ------------------------------------------------------------------------------
> One dashboard for servers and applications across Physical-Virtual-Cloud 
> Widest out-of-the-box monitoring support with 50+ applications
> Performance metrics, stats and reports that give you Actionable Insights
> Deep dive visibility with transaction tracing using APM Insight.
> http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
>
>
> _______________________________________________
> DSpace-tech mailing list
> DSpace-tech@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/dspace-tech
> List Etiquette: 
> https://wiki.duraspace.org/display/DSPACE/Mailing+List+Etiquette

------------------------------------------------------------------------------
One dashboard for servers and applications across Physical-Virtual-Cloud 
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
_______________________________________________
DSpace-tech mailing list
DSpace-tech@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dspace-tech
List Etiquette: https://wiki.duraspace.org/display/DSPACE/Mailing+List+Etiquette

Reply via email to