Фильтруйте файлы *.modeshape в JCR_SQL2

Как исключить файлы modehape при запросе FileSystemSource?

У них всех есть jcr:createdBy 'null' но следующее вызывает исключение нулевого указателя при запросе:

SELECT * FROM [nt:file] where [jcr:createdBy] != 'null'

Это работает нормально:

SELECT * FROM [nt:file] where [jcr:createdBy] = '<anonymous>'

Спасибо

1 ответ

Решение

Учитывая файл в файловой системе с именем "foo.txt", ModeShape может поместить файл "foo.txt.modeshape" в тот же каталог. Файлы ".modeshape" содержат дополнительные свойства, которые были добавлены в узлы "nt:file", "nt:folder" и "nt:resource".

Как правило, ваш коннектор файловой системы не должен предоставлять такие файлы хранилищу JCR. Если это так, то вы, вероятно, неправильно настроили параметр "extraPropertiesBehavior" на соединителе. Для получения дополнительной информации см. Документацию по соединителям для ModeShape 2.8. (Обратите внимание, что если вы используете фабрику пользовательских свойств, то вам нужно установить "exclusionFilter", чтобы игнорировать файлы ".modeshape".

Другие вопросы по тегам