on ‎2018 Apr 05 8:50 PM
In the CMS Cockpit of 6.6, I enter the Navigation perspective and try to edit a navigation node entry which is a CMS Link Component. The editor area fails to load and I see an exception in the log :
ROR [Thread-840] [BaseUICockpitPerspective] Item could not be activated.
java.lang.IllegalArgumentException: Value is instanceof Collection but cannot be empty collection for key: contentSlots
at de.hybris.platform.servicelayer.search.FlexibleSearchQuery.addQueryParameters(FlexibleSearchQuery.java:140) ~[coreserver.jar:?]
at de.hybris.platform.servicelayer.search.impl.DefaultFlexibleSearchService.search(DefaultFlexibleSearchService.java:252) ~[coreserver.jar:?]
at de.hybris.platform.servicelayer.internal.dao.AbstractItemDao.search(AbstractItemDao.java:68) ~[coreserver.jar:?]
at de.hybris.platform.cms2.servicelayer.daos.impl.DefaultCMSPageDao.findPagesByContentSlotsAndPageStatuses(DefaultCMSPageDao.java:601) ~[cms2server.jar:?]
at de.hybris.platform.cms2.servicelayer.daos.impl.DefaultCMSPageDao.findPagesByContentSlots(DefaultCMSPageDao.java:573) ~[cms2server.jar:?]
at de.hybris.platform.cms2.servicelayer.services.impl.DefaultCMSPageService.getPagesForComponent(DefaultCMSPageService.java:685) ~[cms2server.jar:?]
at de.hybris.platform.cmscockpit.services.security.impl.CMSCockpitUIAccessRightService.isObjectWritable(CMSCockpitUIAccessRightService.java:89) ~[cmscockpitserver.jar:?]
at de.hybris.platform.cmscockpit.services.security.impl.CMSCockpitUIAccessRightService.isWritable(CMSCockpitUIAccessRightService.java:49) ~[cmscockpitserver.jar:?]
at de.hybris.platform.cockpit.services.security.impl.DefaultUIAccessRightService.isWritable(DefaultUIAccessRightService.java:292) ~[cockpitserver.jar:?]
at de.hybris.platform.cmscockpit.services.security.impl.CMSCockpitUIAccessRightService.isWritable(CMSCockpitUIAccessRightService.java:56) ~[cmscockpitserver.jar:?]
at de.hybris.platform.cockpit.session.impl.AbstractEditorAreaController.isEditable(AbstractEditorAreaController.java:404) ~[cockpitserver.jar:?]
at de.hybris.platform.cockpit.session.impl.DefaultEditorAreaController.resetSectionPanelModel(DefaultEditorAreaController.java:113) ~[cockpitserver.jar:?]
at de.hybris.platform.cockpit.session.impl.DefaultEditorAreaListener.currentObjectChanged(DefaultEditorAreaListener.java:42) ~[cockpitserver.jar:?]
at de.hybris.platform.cockpit.session.impl.EditorArea.fireCurrentObjectChanged(EditorArea.java:317) ~[cockpitserver.jar:?]
at de.hybris.platform.cockpit.session.impl.EditorArea.setCurrentObject(EditorArea.java:556) ~[cockpitserver.jar:?]
at de.hybris.platform.cockpit.session.impl.BaseUICockpitPerspective.activateItemInEditorArea(BaseUICockpitPerspective.java:333) [cockpitserver.jar:?]
at de.hybris.platform.cmscockpit.session.impl.CmsCockpitPerspective.activateItemInEditorArea(CmsCockpitPerspective.java:189) [cmscockpitserver.jar:?]
at de.hybris.platform.cockpit.session.impl.BaseUICockpitPerspective.activateItemInEditor(BaseUICockpitPerspective.java:389) [cockpitserver.jar:?]
at de.hybris.platform.cmscockpit.navigationnode.browserarea.list.RelatedItemListRenderer$2.onEvent(RelatedItemListRenderer.java:109) [cmscockpitserver.jar:?]
at org.zkoss.zk.ui.impl.EventProcessor.process0(EventProcessor.java:197) [zk-3.6.4-hybris-patched.jar:3.6.4]
at org.zkoss.zk.ui.impl.EventProcessor.process(EventProcessor.java:141) [zk-3.6.4-hybris-patched.jar:3.6.4]
at org.zkoss.zk.ui.impl.EventProcessingThreadImpl.process0(EventProcessingThreadImpl.java:519) [zk-3.6.4-hybris-patched.jar:3.6.4]
at org.zkoss.zk.ui.impl.EventProcessingThreadImpl.run(EventProcessingThreadImpl.java:446) [zk-3.6.4-hybris-patched.jar:3.6.4]
If I go through the backoffice and assign the CMSLinkComponent instance a dummy content slot, the editorArea in the CMS cockpit loads fine but this is obviously not expected or wanted. This occurs also after the wizard is used to create a new CMS Link Component in the navigation perspective. The CMSLinkComponentModel is created fine, but the same error is seen in the log and also the editor doesn't load afterwards.
Any ideas ?
Request clarification before answering.
We had similar issue with nested components and we fixed it by overriding findPagesByContentSlotsAndPageStatuses method from DefaultCMSPageDao to return empty list in case of no content slots.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi ,
I have done Hybris migration from 6.4 to 6.6 and I am facing a similar issue with custom component where CMSLinkComponent is used and getting following error. Did you fix your issue?
ERROR [Thread-64] [BaseUICockpitPerspective] Item could not be activated. java.lang.IllegalArgumentException: Value is instanceof Collection but cannot be empty collection for key: contentSlots at de.hybris.platform.servicelayer.search.FlexibleSearchQuery.addQueryParameters(FlexibleSearchQuery.java:140) ~[coreserver.jar:?] at de.hybris.platform.servicelayer.search.impl.DefaultFlexibleSearchService.search(DefaultFlexibleSearchService.java:252) ~[coreserver.jar:?] at de.hybris.platform.servicelayer.internal.dao.AbstractItemDao.search(AbstractItemDao.java:68) ~[coreserver.jar:?] at de.hybris.platform.cms2.servicelayer.daos.impl.DefaultCMSPageDao.findPagesByContentSlotsAndPageStatuses(DefaultCMSPageDao.java:601) ~[cms2server.jar:?] at de.hybris.platform.cms2.servicelayer.daos.impl.DefaultCMSPageDao.findPagesByContentSlots(DefaultCMSPageDao.java:573) ~[cms2server.jar:?] at de.hybris.platform.cms2.servicelayer.services.impl.DefaultCMSPageService.getPagesForComponent(DefaultCMSPageService.java:685) ~[cms2server.jar:?] at de.hybris.platform.cmscockpit.services.security.impl.CMSCockpitUIAccessRightService.isObjectWritable(CMSCockpitUIAccessRightService.java:89) ~[cmscockpitserver.jar:?] at de.hybris.platform.cmscockpit.services.security.impl.CMSCockpitUIAccessRightService.isWritable(CMSCockpitUIAccessRightService.java:49) ~[cmscockpitserver.jar:?] at de.hybris.platform.cockpit.services.security.impl.DefaultUIAccessRightService.isWritable(DefaultUIAccessRightService.java:292) ~[cockpitserver.jar:?] at de.hybris.platform.cmscockpit.services.security.impl.CMSCockpitUIAccessRightService.isWritable(CMSCockpitUIAccessRightService.java:56) ~[cmscockpitserver.jar:?] at de.hybris.platform.cockpit.session.impl.AbstractEditorAreaController.isEditable(AbstractEditorAreaController.java:404) ~[cockpitserver.jar:?] at de.hybris.platform.cockpit.session.impl.DefaultEditorAreaController.resetSectionPanelModel(DefaultEditorAreaController.java:113) ~[cockpitserver.jar:?] at de.hybris.platform.cockpit.session.impl.BaseUICockpitPerspective.activateItemInPopupEditor(BaseUICockpitPerspective.java:267) [cockpitserver.jar:?] at de.hybris.platform.cockpit.session.impl.EditorRowRenderer.activateItemInPopupEditor(EditorRowRenderer.java:462) [cockpitserver.jar:?] at de.hybris.platform.cockpit.session.impl.EditorRowRenderer$2.openItemRequestPerformed(EditorRowRenderer.java:350) [cockpitserver.jar:?] at de.hybris.platform.cockpit.model.referenceeditor.simple.impl.DefaultSimpleReferenceSelectorListener.doOpenReferencedItem(DefaultSimpleReferenceSelectorListener.java:212) [cockpitserver.jar:?] at de.hybris.platform.cockpit.model.referenceeditor.simple.AbstractSimpleReferenceSelector.fireOpenReferencedItem(AbstractSimpleReferenceSelector.java:95) [cockpitserver.jar:?] at de.hybris.platform.cockpit.model.referenceeditor.collection.CollectionEditor.doCollectionItemDoubleClicked(CollectionEditor.java:313) [cockpitserver.jar:?] at de.hybris.platform.cockpit.model.referenceeditor.collection.CollectionEditor$2$3.onEvent(CollectionEditor.java:413) [cockpitserver.jar:?] at org.zkoss.zk.ui.impl.EventProcessor.process0(EventProcessor.java:197) [zk-3.6.4-hybris-patched.jar:3.6.4] at org.zkoss.zk.ui.impl.EventProcessor.process(EventProcessor.java:141) [zk-3.6.4-hybris-patched.jar:3.6.4] at org.zkoss.zk.ui.impl.EventProcessingThreadImpl.process0(EventProcessingThreadImpl.java:519) [zk-3.6.4-hybris-patched.jar:3.6.4] at org.zkoss.zk.ui.impl.EventProcessingThreadImpl.run(EventProcessingThreadImpl.java:446) [zk-3.6.4-hybris-patched.jar:3.6.4]
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.