LPS-44944 Format source
LPS-45035 We could get the fileEntryTypeId from the fileEntry
LPS-45035 Format source
LPS-45035 Add a line break to show that section belongs to setting _fileEntryTypeId
LPS-45309 Fix EhcachePortalCacheManager.getCacheManagerListeners().
LPS-45309 The underneath CacheManager could have other type of CacheManagerEventListener installed which needs to be filtered out
LPS-45309 To make the logic consistent, MemoryPortalCacheManager should also return a copied set of the CacheManagerListeners
LPS-45309 Because of the copy of CacheManagerListener, now it is necessary to expose a convenient method to unregister CacheManagerListeners
LPS-45309 SF
LPS-45164 Update author when the content is updated
LPS-45164 Sort
LPS-45320 Fix wrong permission check
LPS-45065 We are using the documentlibrary ConfigurationActionImpl for Media Gallery and Documents and Media display. This is leading to errors because there are validations that only apply to some portlet but not the others. So, as we have different configuration.jsp it makes sense to have different ConfigurationActionImpl per porltet because they are doing different validations.
LPS-45065 Reuse logic
LPS-45286 Fix translation
LPS-45170 Allow deletion of private pages. Caused by LPS-26732
LPS-45170 Move the logic to the LayoutService.

Notice that the original logic in SitesImpl was not correct since it only considered the case where layoutSet.getPageCount() == 1.
However it may happen that the getPageCount() > 1 with only one root layout (e.g. the root layout has children). In that case, the original logic would allow removing the root layout and cause LPS-26732 again.
Now the logic checks if it's the only public root layout of the default site.
LPS-45170 Add Test
LPS-45170 SF
LPS-33427 Added tests again