Release Notes / Version 11.2310
Table Of Contents
SitesService#deriveSite
had an issue, that it may
fail returning the derived site, if the provided
targetSiteId
is null
. As a
result, it returned null
in these cases and worse:
The derived site was invalid as it had no site ID set.
With this change, we apply the same default as already used by the derive-site workflow, thus, to create a random site ID on demand.
We also changed the contract of
SitesService#deriveSite
, so that it does not return
null
anymore. While it is now always non-null, we
skipped adding method contract @NonNull
, as this
may have triggered your static code analysis.
Subtle Breaking Changes
As stated, the behavior of deriveSite
changed a
little, creating a random site ID, if required. This does not affect
any of the code that ships with CoreMedia Blueprint, but your code may
rely on the old unset site ID behavior.
Also, the non-null contract (as stated, not declared explicitly) is
now enforced in SiteService#deriveSite
. If, for any
reason, the site cannot be found after deriving it, it will now fail
with a NullPointerException
and a clear message,
what site failed to be created.
(CMS-23139)