Выдает ошибку, когда я нажимаю, чтобы увидеть свои материалы на dspace
Когда я пытаюсь просмотреть свои сообщения в dspace, я получаю следующую ошибку в пути xmlui/submissions. Я не мог найти подсказку, как исправить ошибку
Недопустимый путь: 'ıtem.metadata' [ВЫБЕРИТЕ элемент ИЗ org.dspace.content.Item как элемент, левый присоединяемый ıtem.metadata dc_date_accessioned WITH dc_date_accessioned.metadataField.id = :dc_date_accessioned ГДЕ item.inArchive = :in_archive AND item.submitter =:submitter ORDER BY STR(dc_date_accessioned.value) desc]
Я получаю сообщение об ошибке, когда нажимаю на ссылку, чтобы просмотреть свои материалы http://[domain.com]:8080/xmlui/submissions
1 ответ
Скорее всего, вы столкнулись с ошибкой, связанной с локализацией, в кодовой базе:
строка 131 класса
org.dspace.content.dao.impl.ItemDAOImpl
ошибочно ожидает, что версия строки «Item» в нижнем регистре будет «item» (с точкой «i»), как это есть во многих (большинстве) сценариях (обычно «en»), но это не так для некоторых локалей. , как, например, "tr" или "az" , где аналог нижнего регистра — " ıtem " (обратите внимание на букву "i" без точки в начале) .
Это должно быть исправлено заменой 2-го аргумента вызова функции addMetadataLeftJoin(),
Item.class.getSimpleName().toLowerCase()
// localization-dependant, which is unwanted here
по
Item.class.getSimpleName().toLowerCase(new Locale("en"))
// => "item", no matter the java system locale
(или даже явно по ожидаемой строке результата
"item"
-- хотя это может вызвать вопросы стиля кода или обслуживания, которые сильно отстают от вашего вопроса/проблемы)