Details
-
Bug
-
Status: Closed
-
Resolution: Duplicate
-
7.3.X, Master
-
None
-
7.3.x
-
Committed
-
3
Description
ClassNameId can change among databases, but isn't updated during the import process which can lead to exceptions like the following one when importing a LAR file:
Caused by: java.lang.RuntimeException: Unable to get class name from id 27701
at com.liferay.portal.util.PortalImpl.getClassName(PortalImpl.java:1627)
at com.liferay.portal.kernel.util.PortalUtil.getClassName(PortalUtil.java:564)
at com.liferay.layout.content.page.editor.web.internal.util.ContentUtil._getLayoutDisplayPageObjectProvider(ContentUtil.java:372)
at com.liferay.layout.content.page.editor.web.internal.util.ContentUtil._getFragmentEntryLinkMappedLayoutDisplayPageObjectProviders(ContentUtil.java:311)
at com.liferay.layout.content.page.editor.web.internal.util.ContentUtil.getFragmentEntryLinkMappedLayoutDisplayPageObjectProviders(ContentUtil.java:76)
at com.liferay.layout.content.page.editor.web.internal.model.listener.FragmentEntryLinkModelListener._updateLayoutClassedModelUsage(FragmentEntryLinkModelListener.java:226)
at com.liferay.layout.content.page.editor.web.internal.model.listener.FragmentEntryLinkModelListener.onAfterUpdate(FragmentEntryLinkModelListener.java:81)
at com.liferay.layout.content.page.editor.web.internal.model.listener.FragmentEntryLinkModelListener.onAfterUpdate(FragmentEntryLinkModelListener.java:52)
at com.liferay.portal.kernel.service.persistence.impl.BasePersistenceImpl.update(BasePersistenceImpl.java:717)
at com.liferay.fragment.service.impl.FragmentEntryLinkLocalServiceImpl.updateFragmentEntryLink(FragmentEntryLinkLocalServiceImpl.java:598)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.liferay.portal.spring.aop.AopMethodInvocationImpl.proceed(AopMethodInvocationImpl.java:50)
at com.liferay.portal.spring.transaction.TransactionInterceptor.invoke(TransactionInterceptor.java:69)
at com.liferay.portal.spring.aop.AopMethodInvocationImpl.proceed(AopMethodInvocationImpl.java:57)
at com.liferay.portal.service.ServiceContextAdvice.invoke(ServiceContextAdvice.java:60)
at com.liferay.portal.spring.aop.AopMethodInvocationImpl.proceed(AopMethodInvocationImpl.java:57)
at com.liferay.portal.spring.aop.AopInvocationHandler.invoke(AopInvocationHandler.java:49)
at com.sun.proxy.$Proxy842.updateFragmentEntryLink(Unknown Source)
at com.liferay.fragment.internal.exportimport.staged.model.repository.FragmentEntryLinkStagedModelRepository.updateStagedModel(FragmentEntryLinkStagedModelRepository.java:157)
at com.liferay.fragment.internal.exportimport.staged.model.repository.FragmentEntryLinkStagedModelRepository.updateStagedModel(FragmentEntryLinkStagedModelRepository.java:36)
at com.liferay.fragment.internal.exportimport.data.handler.FragmentEntryLinkStagedModelDataHandler.doImportStagedModel(FragmentEntryLinkStagedModelDataHandler.java:240)
at com.liferay.fragment.internal.exportimport.data.handler.FragmentEntryLinkStagedModelDataHandler.doImportStagedModel(FragmentEntryLinkStagedModelDataHandler.java:45)
at com.liferay.exportimport.kernel.lar.BaseStagedModelDataHandler.importStagedModel(BaseStagedModelDataHandler.java:367)
... 67 more
Steps to Reproduce:
- Create a site named Site1.
- In Site1 create a new web content named WC1.
- In Site1 create a new Page Template collection named collection.
- Inside that collection create a new Content Page Template named PageTemplate.
- Edit PageTemplate adding a ContentDisplay fragment.
- Edit the fragment configuration adding WC1 as selected item and use as template Basic Web Content and publish the page template.
- Export the site and download the generated lar.
- Start a 6.2 and perform an upgrade (this is needed to force a different classNameId for JournalArticle).
- Create a site named Site2 in this last installation.
- Import the generated LAR.
Expected Results:
Import is successful.
Actual Results:
Import fails due to wrong classNameId.
Attachments
Issue Links
- duplicates
-
LPS-164498 FragmentEntryLinkStagedModelDataHandler doesn't work if classNameId changes between origin/destination
- Closed
- is related to
-
LPS-135321 FragmentEntryLinkStagedModelDataHandler doesn't work if classNameId changes between origin/destination
- Closed
-
LPS-164498 FragmentEntryLinkStagedModelDataHandler doesn't work if classNameId changes between origin/destination
- Closed