Hi everyone,
We have a need to save a pretty large xml file (used for our sitemap index) in JCR. It used to work properly when we were in Bloomreach 14.x. After upgrading to version 15, we notice that below code importTask.createOrUpdateBinaryFromContentNode produces an NPE, where importTask is new DefaultBinaryImportTask(documentManager);
String[] binaryFolderFolderTypes = {"new-file-folder"}; String[] binaryFolderGalleryTypes = {"hippogallery:exampleAssetSet"}; String binaryFolderPath = importTask.createOrUpdateBinaryFolder(folderLocation, "hippogallery:stdAssetGallery", binaryFolderFolderTypes, binaryFolderGalleryTypes); String updatedBinaryLocation = importTask.createOrUpdateBinaryFromContentNode(contentNode, "hippogallery:exampleAssetSet", binaryFolderPath, fileName);
binar
yFolderPath is /content/assets/assets/cavcodotcom/generated-sitemaps and fileName is sitemap-index.xml.
Here is the stacktrace
[INFO] [talledLocalContainer] org.onehippo.forge.content.exim.core.ContentMigrationException: java.lang.NullPointerException
[INFO] [talledLocalContainer] at org.onehippo.forge.content.exim.core.impl.DefaultBinaryImportTask.createOrUpdateBinaryFromContentNode(DefaultBinaryImportTask.java:137) ~[content-exim-core-4.0.1.jar:?]
[INFO] [talledLocalContainer] at com.cavco.cronjobs.RestfulRepositoryJob.persistBinaryImage(RestfulRepositoryJob.java:124) ~[classes/:?]
[INFO] [talledLocalContainer] at com.cavco.cronjobs.dynamicsitemap.BrandSiteSitemapJob.createSitemapIndexFile(BrandSiteSitemapJob.java:182) ~[classes/:?]
[INFO] [talledLocalContainer] at com.cavco.cronjobs.dynamicsitemap.BrandSiteSitemapJob.execute(BrandSiteSitemapJob.java:68) [classes/:?]
[INFO] [talledLocalContainer] at org.hippoecm.repository.quartz.RepositoryJobJob.execute(RepositoryJobJob.java:50) [hippo-repository-engine-15.7.1.jar:15.7.1]
[INFO] [talledLocalContainer] at org.quartz.core.JobRunShell.run(JobRunShell.java:202) [quartz-2.3.2.jar:?]
[INFO] [talledLocalContainer] at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573) [quartz-2.3.2.jar:?]
[INFO] [talledLocalContainer] Caused by: java.lang.NullPointerException
[INFO] [talledLocalContainer] at org.apache.jackrabbit.util.ISO8601.getYear(ISO8601.java:395) ~[jackrabbit-jcr-commons-2.21.19-h4.jar:?]
[INFO] [talledLocalContainer] at org.apache.jackrabbit.spi.commons.value.ValueFactoryQImpl.createValue(ValueFactoryQImpl.java:142) ~[jackrabbit-spi-commons-2.21.19-h4.jar:?]
[INFO] [talledLocalContainer] at org.hippoecm.repository.impl.ValueFactoryDecorator.createValue(ValueFactoryDecorator.java:59) ~[hippo-repository-engine-15.7.1.jar:15.7.1]
[INFO] [talledLocalContainer] at org.onehippo.forge.content.pojo.common.jcr.DefaultJcrContentValueConverter.toJcrValue(DefaultJcrContentValueConverter.java:242) ~[hippo-pojo-bind-jcr-1.3.1.jar:?]
[INFO] [talledLocalContainer] at org.onehippo.forge.content.pojo.common.jcr.DefaultJcrContentValueConverter.toJcrValue(DefaultJcrContentValueConverter.java:59) ~[hippo-pojo-bind-jcr-1.3.1.jar:?]
[INFO] [talledLocalContainer] at org.onehippo.forge.content.pojo.binder.jcr.DefaultJcrContentNodeBinder.createJcrValuesFromContentProperty(DefaultJcrContentNodeBinder.java:307) ~[hippo-pojo-bind-jcr-1.3.1.jar:?]
[INFO] [talledLocalContainer] at org.onehippo.forge.content.pojo.binder.jcr.DefaultJcrContentNodeBinder.bindProperties(DefaultJcrContentNodeBinder.java:192) ~[hippo-pojo-bind-jcr-1.3.1.jar:?]
[INFO] [talledLocalContainer] at org.onehippo.forge.content.pojo.binder.jcr.DefaultJcrContentNodeBinder.bind(DefaultJcrContentNodeBinder.java:148) ~[hippo-pojo-bind-jcr-1.3.1.jar:?]
[INFO] [talledLocalContainer] at org.onehippo.forge.content.pojo.binder.jcr.DefaultJcrContentNodeBinder.addSubNodes(DefaultJcrContentNodeBinder.java:256) ~[hippo-pojo-bind-jcr-1.3.1.jar:?]
[INFO] [talledLocalContainer] at org.onehippo.forge.content.pojo.binder.jcr.DefaultJcrContentNodeBinder.bind(DefaultJcrContentNodeBinder.java:152) ~[hippo-pojo-bind-jcr-1.3.1.jar:?]
[INFO] [talledLocalContainer] at org.onehippo.forge.content.pojo.binder.jcr.DefaultJcrContentNodeBinder.bind(DefaultJcrContentNodeBinder.java:48) ~[hippo-pojo-bind-jcr-1.3.1.jar:?]
[INFO] [talledLocalContainer] at org.onehippo.forge.content.exim.core.impl.DefaultBinaryImportTask.updateBinaryHandleAndVariantNodeFromBinaryVariantContentNode(DefaultBinaryImportTask.java:171) ~[content-exim-core-4.0.1.ja
r:?]
[INFO] [talledLocalContainer] at org.onehippo.forge.content.exim.core.impl.DefaultBinaryImportTask.createOrUpdateBinaryFromContentNode(DefaultBinaryImportTask.java:127) ~[content-exim-core-4.0.1.jar:?]
[INFO] [talledLocalContainer] … 6 more
Any help is greatly appreciated.
Thanks,
Billy