Ampersand in Group Name Breaks WebServer

Issue:

NexOSS Web server does not restart.

Log message:

$ cd $NexOSS_HOME/WebServer/logs
$ more catalina_log.2012-10-09.txt
2012-10-09 17:19:22 UserDatabaseRealm[Standalone]: Exception looking up UserDatabase under key UserDatabase
javax.naming.NamingException: The reference to entity "M-Concrete" must end with the ';' delimiter.
at org.apache.naming.NamingContext.lookup(NamingContext.java:844)
at org.apache.naming.NamingContext.lookup(NamingContext.java:194)
at org.apache.catalina.realm.UserDatabaseRealm.start(UserDatabaseRealm.java:302)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1173)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:363)
at org.apache.catalina.core.StandardService.start(StandardService.java:497)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:2190)
at org.apache.catalina.startup.Catalina.start(Catalina.java:512)
at org.apache.catalina.startup.Catalina.execute(Catalina.java:400)
at org.apache.catalina.startup.Catalina.process(Catalina.java:180)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:203)
 
$ more catalina.out
~
INFO: Initializing Coyote HTTP/1.1 on port 7080
Oct 9, 2012 5:19:22 PM org.apache.commons.digester.Digester fatalError
SEVERE: Parse Fatal Error at line 41 column 33: The reference to entity "M-Concrete" must end with the ';' delimiter.
org.xml.sax.SAXParseException: The reference to entity "M-Concrete" must end with the ';' delimiter.
at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)

Troubleshoot:

If you use the “User Management” tool in NexOSS to create a new group, the “Group Name” cannot include an ampersand. The tool will allow you to add the Group Name which includes the ampersand, but if the WebServer is ever stopped, it will not restart.

Note: The WebServer will however restart with a “User Name” that includes an ampersand.