You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sling.apache.org by "Angela Schreiber (Jira)" <ji...@apache.org> on 2021/03/18 09:25:00 UTC
[jira] [Created] (SLING-10235) DisableServiceUser does not allow to
retriev original disable-reason
Angela Schreiber created SLING-10235:
----------------------------------------
Summary: DisableServiceUser does not allow to retriev original disable-reason
Key: SLING-10235
URL: https://issues.apache.org/jira/browse/SLING-10235
Project: Sling
Issue Type: Bug
Components: Repoinit
Reporter: Angela Schreiber
[~bdelacretaz], during preliminary investigation into SLING-10219 i noticed that there is no way to obtain the original disable reason from {{DisableServiceUser}} operation.
for the documented example:
{code}
disable service user deprecated_service_user : "Disabled user to make an example"
{code}
the jcr-repoinit {{UserVisitor.visitDisableServiceUser}} will do the following:
{code}
public void visitDisableServiceUser(DisableServiceUser dsu) {
final String username = dsu.getUsername();
final String reason = dsu.getParametersDescription();
[...]
}
{code}
however, {{DisableServiceUser.getParametersDescription}} looks as follows:
{code}
public String getParametersDescription() {
StringBuilder sb = new StringBuilder();
sb.append(super.getParametersDescription());
if (this.reason != null) {
sb.append(" : ");
sb.append(this.reason);
}
return sb.toString();
}
{code}
where {{super.getParametersDescription())}} returns the {{userName}}.
so, the resulting disable reason stored in the repository will be:
"deprecated_service_user : Disabled user to make an example"
instead of
"Disabled user to make an example"
note, that there is no other way to retrieve the original reason (e.g. {{DisableServiceUser.getReason()}} which means for SLING-10219 that the param-description needs to be parsed again i.e. relying on implementation detail, which looks quite wrong.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)