Index: src/test/java/com/xpn/xwiki/user/impl/xwiki/XWikiAuthServiceImplTest.java
===================================================================
--- src/test/java/com/xpn/xwiki/user/impl/xwiki/XWikiAuthServiceImplTest.java (revision 23562)
+++ src/test/java/com/xpn/xwiki/user/impl/xwiki/XWikiAuthServiceImplTest.java (working copy)
@@ -28,6 +28,7 @@
import com.xpn.xwiki.objects.BaseObject;
import com.xpn.xwiki.objects.classes.BaseClass;
import com.xpn.xwiki.test.AbstractBridgedXWikiComponentTestCase;
+import com.xpn.xwiki.user.api.XWikiRightService;
/**
* Unit tests for {@link com.xpn.xwiki.user.impl.xwiki.XWikiAuthServiceImpl}.
@@ -51,31 +52,34 @@
}
/**
- * Test that it's not possible to log in with a "superadmin" user when the superadmin password configuration is
+ * Test that it's not possible to log in with a superadmin user when the superadmin password configuration is
* turned off.
*/
public void testAuthenticateWithSuperAdminWhenSuperAdminPasswordIsTurnedOff() throws Exception
{
this.mockXWiki.expects(once()).method("Param").with(eq("xwiki.superadminpassword")).will(returnValue(null));
- Principal principal = this.authService.authenticate("superadmin", "whatever", getContext());
+ Principal principal =
+ this.authService.authenticate(XWikiRightService.SUPERADMIN_USER, "whatever", getContext());
assertNull(principal);
}
/**
- * Test that it's not possible to log in with a "superadmin" user when the superadmin password configuration is
+ * Test that it's not possible to log in with a superadmin user when the superadmin password configuration is
* turned off.
*/
public void testAuthenticateWithSuperAdminPrefixedWithXWikiWhenSuperAdminPasswordIsTurnedOff() throws Exception
{
this.mockXWiki.stubs().method("Param").with(eq("xwiki.superadminpassword")).will(returnValue(null));
- Principal principal = this.authService.authenticate("XWiki.superadmin", "whatever", getContext());
+ Principal principal =
+ this.authService.authenticate(XWikiRightService.SUPERADMIN_USER_FULLNAME, "whatever", getContext());
assertNull(principal);
}
public void testAuthenticateWithSuperAdminWithWhiteSpacesWhenSuperAdminPasswordIsTurnedOff() throws Exception
{
this.mockXWiki.stubs().method("Param").with(eq("xwiki.superadminpassword")).will(returnValue(null));
- Principal principal = this.authService.authenticate(" superadmin ", "whatever", getContext());
+ Principal principal =
+ this.authService.authenticate(" " + XWikiRightService.SUPERADMIN_USER + " ", "whatever", getContext());
assertNull(principal);
}
@@ -87,9 +91,10 @@
this.mockXWiki.stubs().method("Param").with(eq("xwiki.superadminpassword")).will(returnValue("pass"));
this.mockXWiki.stubs().method("isVirtualMode").will(returnValue(false));
- Principal principal = this.authService.authenticate("SuperaDmin ", "pass", getContext());
+ Principal principal =
+ this.authService.authenticate(XWikiRightService.SUPERADMIN_USER.toUpperCase(), "pass", getContext());
assertNotNull(principal);
- assertEquals("XWiki.superadmin", principal.getName());
+ assertEquals(XWikiRightService.SUPERADMIN_USER_FULLNAME, principal.getName());
}
/** Test that SomeUser is correctly authenticated as XWiki.SomeUser when xwiki:SomeUser is entered as username. */
Index: src/test/java/com/xpn/xwiki/user/impl/xwiki/XWikiRightServiceImplTest.java
===================================================================
--- src/test/java/com/xpn/xwiki/user/impl/xwiki/XWikiRightServiceImplTest.java (revision 23562)
+++ src/test/java/com/xpn/xwiki/user/impl/xwiki/XWikiRightServiceImplTest.java (working copy)
@@ -33,6 +33,7 @@
import com.xpn.xwiki.test.AbstractBridgedXWikiComponentTestCase;
import com.xpn.xwiki.user.api.XWikiGroupService;
import com.xpn.xwiki.user.api.XWikiRightNotFoundException;
+import com.xpn.xwiki.user.api.XWikiRightService;
/**
* Unit tests for {@link com.xpn.xwiki.user.impl.xwiki.XWikiAuthServiceImpl}.
@@ -154,7 +155,7 @@
assertFalse(this.rightService.hasProgrammingRights(this.context));
// superadmin should always have PR
- this.context.setUser("XWiki.superadmin");
+ this.context.setUser(XWikiRightService.SUPERADMIN_USER_FULLNAME);
assertTrue(this.rightService.hasProgrammingRights(this.context));
}
}
Index: src/main/resources/ApplicationResources.properties
===================================================================
--- src/main/resources/ApplicationResources.properties (revision 23562)
+++ src/main/resources/ApplicationResources.properties (working copy)
@@ -1289,7 +1289,7 @@
# Tag application
xe.tag.tags=Tags
-xe.tag.tagclass=Tag Class
+xe.tag.tagclass=XWiki Tag Class
xe.tag.tagcloud=Tag Cloud
xe.tag.notags=No document has been tagged yet. Documents can be tagged from the information section (footer) or from the Document information panel available in edit mode. For more information on tagging please refer to the User Guide.
xe.tag.notagsforspace=No document has been tagged yet in this space. Documents can be tagged from the information section (footer) or from the Document information panel available in edit mode. For more information on tagging please refer to the User Guide.
Index: src/main/java/com/xpn/xwiki/XWiki.java
===================================================================
--- src/main/java/com/xpn/xwiki/XWiki.java (revision 23562)
+++ src/main/java/com/xpn/xwiki/XWiki.java (working copy)
@@ -2746,11 +2746,7 @@
tagClass.setRelationalStorage(true);
needsUpdate = true;
}
- String content = doc.getContent();
- if ((content == null) || (content.equals(""))) {
- needsUpdate = true;
- generatePageContent(doc, "XWiki TagClass");
- }
+ needsUpdate |= setClassDocumentFields(doc, "XWiki Tag Class");
if (needsUpdate) {
saveDocument(doc, context);
@@ -2787,9 +2783,8 @@
needsUpdate |= bclass.addTextField("defaultEditMode", "Default Edit Mode", 15);
if (doc.isNew()) {
- generatePageContent(doc, "Sheet Class");
+ needsUpdate |= setClassDocumentFields(doc, "XWiki Sheet Class");
doc.setContent(doc.getContent() + "\n\nClass that should be used to recognize sheet pages.");
- doc.setParent("XWiki.XWikiClasses");
}
if (needsUpdate) {
@@ -2841,12 +2836,7 @@
needsUpdate |= bclass.addTextField("skin", "skin", 30);
needsUpdate |= bclass.addStaticListField("pageWidth", "Preferred page width", "default|640|800|1024|1280|1600");
needsUpdate |= bclass.addTextField("avatar", "Avatar", 30);
-
- String content = doc.getContent();
- if ((content == null) || (content.equals(""))) {
- needsUpdate = true;
- generatePageContent(doc, "XWiki Users");
- }
+ needsUpdate |= setClassDocumentFields(doc, "XWiki User Class");
if (needsUpdate) {
saveDocument(doc, context);
@@ -2878,12 +2868,8 @@
bclass.setName("XWiki.GlobalRedirect");
needsUpdate |= bclass.addTextField("pattern", "Pattern", 30);
- needsUpdate |= bclass.addTextField("destination", "Destination", 30);
- String content = doc.getContent();
- if ((content == null) || (content.equals(""))) {
- needsUpdate = true;
- generatePageContent(doc, "XWiki Global Redirect Class");
- }
+ needsUpdate |= bclass.addTextField("destination", "Destination", 30);
+ needsUpdate |= setClassDocumentFields(doc, "XWiki Global Redirect Class");
if (needsUpdate) {
saveDocument(doc, context);
@@ -3026,12 +3012,8 @@
((BooleanClass) bclass.get("showRightPanels")).setDisplayType("yesno");
needsUpdate = true;
}
-
- String content = doc.getContent();
- if ((content == null) || (content.equals(""))) {
- needsUpdate = true;
- generatePageContent(doc, "XWiki Preferences");
- }
+
+ needsUpdate |= setClassDocumentFields(doc, "XWiki Preferences");
String menu = doc.getStringValue("XWiki.XWikiPreferences", "menu");
if (menu.indexOf("../..") != -1) {
@@ -3068,11 +3050,7 @@
bclass.setName("XWiki.XWikiGroups");
needsUpdate |= bclass.addTextField("member", "Member", 30);
-
- String content = doc.getContent();
- if ((content == null) || (content.equals(""))) {
- generatePageContent(doc, "XWiki Groups");
- }
+ needsUpdate |= setClassDocumentFields(doc, "XWiki Group Class");
if (needsUpdate) {
saveDocument(doc, context);
@@ -3095,8 +3073,8 @@
template.setSyntaxId(XWikiDocument.XWIKI10_SYNTAXID);
}
template.createNewObject(bclass.getName(), context);
- template.setCreator("XWiki.Admin");
- template.setAuthor("XWiki.Admin");
+ template.setCreator(XWikiRightService.SUPERADMIN_USER);
+ template.setAuthor(template.getCreator());
List args = new ArrayList(1);
args.add("Group");
saveDocument(template, context.getMessageTool().get("core.comment.createdTemplate", args), context);
@@ -3157,12 +3135,16 @@
afield.setDefaultValue(1);
needsUpdate = true;
}
-
- String content = doc.getContent();
- if ((content == null) || (content.equals(""))) {
- generatePageContent(doc, "XWiki " + pagename + " Class");
+
+ String title;
+ if (pagename.equals("XWikiGlobalRights")) {
+ title = "XWiki Global Rights Class";
+ } else {
+ title = "XWiki Rights Class";
}
+ needsUpdate |= setClassDocumentFields(doc, title);
+
if (needsUpdate) {
saveDocument(doc, context);
}
@@ -3197,12 +3179,7 @@
needsUpdate |= bclass.addNumberField("replyto", "Reply To", 5, "integer");
needsUpdate |= bclass.addDateField("date", "Date");
needsUpdate |= bclass.addTextAreaField("comment", "Comment", 40, 5);
-
- String content = doc.getContent();
- if ((content == null) || (content.equals(""))) {
- needsUpdate = true;
- generatePageContent(doc, "XWiki Comment Class");
- }
+ needsUpdate |= setClassDocumentFields(doc, "XWiki Comment Class");
if (needsUpdate) {
saveDocument(doc, context);
@@ -3232,12 +3209,7 @@
needsUpdate |= bclass.addTemplateField("viewheader.vm", "View Header");
needsUpdate |= bclass.addTemplateField("view.vm", "View");
needsUpdate |= bclass.addTemplateField("edit.vm", "Edit");
-
- String content = doc.getContent();
- if ((content == null) || (content.equals(""))) {
- needsUpdate = true;
- generatePageContent(doc, "XWiki Skin Class");
- }
+ needsUpdate |= setClassDocumentFields(doc, "XWiki Skin Class");
if (needsUpdate) {
saveDocument(doc, context);
@@ -3310,7 +3282,7 @@
String parent = request.getParameter("parent");
String validkey = null;
- if ("superadmin".equalsIgnoreCase(xwikiname)) {
+ if (XWikiRightService.SUPERADMIN_USER.equalsIgnoreCase(xwikiname)) {
return -8;
}
try {
@@ -4718,7 +4690,8 @@
int active = 1;
// These users are necessarly active
- if (user.equals("XWiki.XWikiGuest") || (user.equals("XWiki.superadmin"))) {
+ if (user.equals(XWikiRightService.GUEST_USER_FULLNAME)
+ || (user.equals(XWikiRightService.SUPERADMIN_USER_FULLNAME))) {
return active;
}
@@ -6817,21 +6790,45 @@
}
/**
- * Create a default content for the document passed as parameter. Can generate content for both XWiki Syntax 1.0 and
+ * Set the fields of the class document passed as parameter. Can generate content for both XWiki Syntax 1.0 and
* XWiki Syntax 2.0. If new documents are set to be created in XWiki Syntax 1.0 then generate XWiki 1.0 Syntax
* otherwise generate XWiki Syntax 2.0.
*
- * @param pageHeader the page header to set
+ * @param title the page title to set
+ * @return true if the document has been modified, false otherwise
*/
- private void generatePageContent(XWikiDocument document, String pageHeader)
+ private boolean setClassDocumentFields(XWikiDocument doc, String title)
{
- if (!getDefaultDocumentSyntax().equals(XWikiDocument.XWIKI10_SYNTAXID)) {
- document.setContent("= " + pageHeader);
- document.setSyntaxId(XWikiDocument.XWIKI20_SYNTAXID);
- } else {
- document.setContent("1 " + pageHeader);
- document.setSyntaxId(XWikiDocument.XWIKI10_SYNTAXID);
+ boolean needsUpdate = false;
+
+ if (StringUtils.isBlank(doc.getCreator())) {
+ needsUpdate = true;
+ doc.setCreator(XWikiRightService.SUPERADMIN_USER);
}
+ if (StringUtils.isBlank(doc.getAuthor())) {
+ needsUpdate = true;
+ doc.setAuthor(doc.getCreator());
+ }
+ if (StringUtils.isBlank(doc.getParent())) {
+ needsUpdate = true;
+ doc.setParent("XWiki.XWikiClasses");
+ }
+ if (StringUtils.isBlank(doc.getTitle())) {
+ needsUpdate = true;
+ doc.setTitle(title);
+ }
+ if (StringUtils.isBlank(doc.getContent())) {
+ needsUpdate = true;
+ if (!getDefaultDocumentSyntax().equals(XWikiDocument.XWIKI10_SYNTAXID)) {
+ doc.setContent("{{include document=\"XWiki.ClassSheet\" /}}");
+ doc.setSyntaxId(XWikiDocument.XWIKI20_SYNTAXID);
+ } else {
+ doc.setContent("#includeForm(\"XWiki.ClassSheet\")");
+ doc.setSyntaxId(XWikiDocument.XWIKI10_SYNTAXID);
+ }
+ }
+
+ return needsUpdate;
}
/**
Index: src/main/java/com/xpn/xwiki/internal/DefaultWikiMacroInitializer.java
===================================================================
--- src/main/java/com/xpn/xwiki/internal/DefaultWikiMacroInitializer.java (revision 23562)
+++ src/main/java/com/xpn/xwiki/internal/DefaultWikiMacroInitializer.java (working copy)
@@ -24,6 +24,7 @@
import java.util.List;
import java.util.Map;
+import org.apache.commons.lang.StringUtils;
import org.xwiki.component.annotation.Component;
import org.xwiki.component.annotation.Requirement;
import org.xwiki.component.logging.AbstractLogEnabled;
@@ -38,6 +39,7 @@
import com.xpn.xwiki.XWikiException;
import com.xpn.xwiki.doc.XWikiDocument;
import com.xpn.xwiki.objects.classes.BaseClass;
+import com.xpn.xwiki.user.api.XWikiRightService;
/**
* A {@link DefaultWikiMacroInitializer} providing wiki macros.
@@ -131,6 +133,35 @@
wikiMacroManager.registerWikiMacro(MAIN_WIKI + ":" + documentName, wikiMacros.get(documentName));
}
}
+
+ private boolean setWikiMacroClassesDocumentFields(XWikiDocument doc, String title)
+ {
+ boolean needsUpdate = false;
+
+ if (StringUtils.isBlank(doc.getCreator())) {
+ needsUpdate = true;
+ doc.setCreator(XWikiRightService.SUPERADMIN_USER);
+ }
+ if (StringUtils.isBlank(doc.getAuthor())) {
+ needsUpdate = true;
+ doc.setAuthor(doc.getCreator());
+ }
+ if (StringUtils.isBlank(doc.getParent())) {
+ needsUpdate = true;
+ doc.setParent("XWiki.XWikiClasses");
+ }
+ if (StringUtils.isBlank(doc.getTitle())) {
+ needsUpdate = true;
+ doc.setTitle(title);
+ }
+ if (StringUtils.isBlank(doc.getContent()) || !XWikiDocument.XWIKI20_SYNTAXID.equals(doc.getSyntaxId())) {
+ needsUpdate = true;
+ doc.setContent("{{include document=\"XWiki.ClassSheet\" /}}");
+ doc.setSyntaxId(XWikiDocument.XWIKI20_SYNTAXID);
+ }
+
+ return needsUpdate;
+ }
/**
* Installs or upgrades XWiki.WikiMacroClass & XWiki.WikiMacroParameterClass.
@@ -147,7 +178,8 @@
bclass.setName(WIKI_MACRO_CLASS);
boolean needsUpdate = false;
-
+
+ needsUpdate |= setWikiMacroClassesDocumentFields(doc, "XWiki Wiki Macro Class");
needsUpdate |= bclass.addTextField(MACRO_ID_PROPERTY, "Macro id", 30);
needsUpdate |= bclass.addTextField(MACRO_NAME_PROPERTY, "Macro name", 30);
needsUpdate |= bclass.addTextAreaField(MACRO_DESCRIPTION_PROPERTY, "Macro description", 40, 5);
@@ -172,6 +204,7 @@
needsUpdate = false;
+ needsUpdate |= setWikiMacroClassesDocumentFields(doc, "XWiki Wiki Macro Parameter Class");
needsUpdate |= bclass.addTextField(PARAMETER_NAME_PROPERTY, "Parameter name", 30);
needsUpdate |= bclass.addTextAreaField(PARAMETER_DESCRIPTION_PROPERTY, "Parameter description", 40, 5);
needsUpdate |= bclass.addBooleanField(PARAMETER_MANDATORY_PROPERTY, "Parameter mandatory", "select");
Index: src/main/java/com/xpn/xwiki/plugin/feed/FeedPlugin.java
===================================================================
--- src/main/java/com/xpn/xwiki/plugin/feed/FeedPlugin.java (revision 23562)
+++ src/main/java/com/xpn/xwiki/plugin/feed/FeedPlugin.java (working copy)
@@ -35,6 +35,7 @@
import java.util.Map;
import java.util.Vector;
+import org.apache.commons.lang.StringUtils;
import org.xwiki.cache.Cache;
import org.xwiki.cache.CacheException;
import org.xwiki.cache.config.CacheConfiguration;
@@ -57,6 +58,7 @@
import com.xpn.xwiki.objects.classes.BaseClass;
import com.xpn.xwiki.plugin.XWikiDefaultPlugin;
import com.xpn.xwiki.plugin.XWikiPluginInterface;
+import com.xpn.xwiki.user.api.XWikiRightService;
public class FeedPlugin extends XWikiDefaultPlugin implements XWikiPluginInterface
{
@@ -574,23 +576,32 @@
needsUpdate |= bclass.addTextField("imgurl", "Image url", 80);
needsUpdate |= bclass.addDateField("date", "date", "dd/MM/yyyy HH:mm:ss");
needsUpdate |= bclass.addNumberField("nb", "nb", 5, "integer");
-
- String content = doc.getContent();
- if ((content == null) || (content.equals(""))) {
+
+ if (StringUtils.isBlank(doc.getCreator())) {
needsUpdate = true;
- doc.setContent("#includeForm(\"XWiki.ClassSheet\")");
- doc.setSyntaxId(XWikiDocument.XWIKI10_SYNTAXID);
+ doc.setCreator(XWikiRightService.SUPERADMIN_USER);
}
-
- String parent = doc.getParent();
- if ((parent == null) || (parent.trim().equals(""))) {
+ if (StringUtils.isBlank(doc.getAuthor())) {
+ needsUpdate = true;
+ doc.setAuthor(doc.getCreator());
+ }
+ if (StringUtils.isBlank(doc.getTitle())) {
+ needsUpdate = true;
+ doc.setTitle("XWiki Aggregator URL Class");
+ }
+ if (StringUtils.isBlank(doc.getContent()) || !XWikiDocument.XWIKI20_SYNTAXID.equals(doc.getSyntaxId())) {
+ needsUpdate = true;
+ doc.setContent("{{include document=\"XWiki.ClassSheet\" /}}");
+ doc.setSyntaxId(XWikiDocument.XWIKI20_SYNTAXID);
+ }
+ if (StringUtils.isBlank(doc.getParent())) {
needsUpdate = true;
doc.setParent("XWiki.XWikiClasses");
}
-
if (needsUpdate) {
context.getWiki().saveDocument(doc, context);
}
+
return bclass;
}
@@ -626,15 +637,28 @@
needsUpdate |= bclass.addNumberField("read", "Read", 5, "integer");
needsUpdate |= bclass.addStaticListField("tags", "Tags", 1, true, true, "", null, null);
- String content = doc.getContent();
- if ((content == null) || (content.equals(""))) {
+ if (StringUtils.isBlank(doc.getCreator())) {
needsUpdate = true;
- doc.setContent("#includeForm(\"XWiki.ClassSheet\")");
- doc.setSyntaxId(XWikiDocument.XWIKI10_SYNTAXID);
+ doc.setCreator(XWikiRightService.SUPERADMIN_USER);
+ }
+
+ if (StringUtils.isBlank(doc.getAuthor())) {
+ needsUpdate = true;
+ doc.setAuthor(doc.getCreator());
+ }
+
+ if (StringUtils.isBlank(doc.getTitle())) {
+ needsUpdate = true;
+ doc.setTitle("XWiki Feed Entry Class");
}
- String parent = doc.getParent();
- if ((parent == null) || (parent.trim().equals(""))) {
+ if (StringUtils.isBlank(doc.getContent()) || !XWikiDocument.XWIKI20_SYNTAXID.equals(doc.getSyntaxId())) {
+ needsUpdate = true;
+ doc.setContent("{{include document=\"XWiki.ClassSheet\" /}}");
+ doc.setSyntaxId(XWikiDocument.XWIKI20_SYNTAXID);
+ }
+
+ if (StringUtils.isBlank(doc.getParent())) {
needsUpdate = true;
doc.setParent("XWiki.XWikiClasses");
}
Index: src/main/java/com/xpn/xwiki/user/api/XWikiRightService.java
===================================================================
--- src/main/java/com/xpn/xwiki/user/api/XWikiRightService.java (revision 23562)
+++ src/main/java/com/xpn/xwiki/user/api/XWikiRightService.java (working copy)
@@ -29,6 +29,16 @@
public interface XWikiRightService
{
+ /**
+ * The Superadmin username.
+ */
+ public static final String SUPERADMIN_USER = "superadmin";
+
+ /**
+ * The Superadmin full name.
+ */
+ public static final String SUPERADMIN_USER_FULLNAME = "XWiki.superadmin";
+
public boolean checkAccess(String action, XWikiDocument doc, XWikiContext context) throws XWikiException;
public boolean hasAccessLevel(String right, String username, String docname, XWikiContext context)
Index: src/main/java/com/xpn/xwiki/user/impl/xwiki/AbstractXWikiAuthService.java
===================================================================
--- src/main/java/com/xpn/xwiki/user/impl/xwiki/AbstractXWikiAuthService.java (revision 23562)
+++ src/main/java/com/xpn/xwiki/user/impl/xwiki/AbstractXWikiAuthService.java (working copy)
@@ -27,6 +27,7 @@
import com.xpn.xwiki.XWikiContext;
import com.xpn.xwiki.user.api.XWikiAuthService;
+import com.xpn.xwiki.user.api.XWikiRightService;
/**
* Common methods useful to all Authentication services implementations.
@@ -43,17 +44,17 @@
/**
* The Superadmin username.
*/
- private static final String SUPERADMIN = "superadmin";
-
+ private static final String SUPERADMIN = XWikiRightService.SUPERADMIN_USER;
+
/**
- * The XWiki config property for storing the superadmin password.
+ * The Superadmin full name.
*/
- private static final String SUPERADMIN_PASSWORD_CONFIG = "xwiki.superadminpassword";
-
+ private static final String SUPERADMIN_FULLNAME = XWikiRightService.SUPERADMIN_USER_FULLNAME;
+
/**
- * The Superadmin full name.
+ * The XWiki config property for storing the superadmin password.
*/
- private static final String SUPERADMIN_FULLNAME = "XWiki.superadmin";
+ private static final String SUPERADMIN_PASSWORD_CONFIG = "xwiki.superadminpassword";
/**
* @param username the username to check for superadmin access
Index: src/main/java/com/xpn/xwiki/user/impl/xwiki/XWikiRightServiceImpl.java
===================================================================
--- src/main/java/com/xpn/xwiki/user/impl/xwiki/XWikiRightServiceImpl.java (revision 23562)
+++ src/main/java/com/xpn/xwiki/user/impl/xwiki/XWikiRightServiceImpl.java (working copy)
@@ -711,7 +711,8 @@
{
String database = context.getDatabase();
boolean allow;
- if (name.equals("XWiki.superadmin") || name.endsWith(":XWiki.superadmin")) {
+ if (name.equals(XWikiRightService.SUPERADMIN_USER_FULLNAME)
+ || name.endsWith(":" + XWikiRightService.SUPERADMIN_USER_FULLNAME)) {
logAllow(name, resourceKey, accessLevel, "super admin level");
return true;
}