[gatein-issues] [JBoss JIRA] (GTNPORTAL-3262) Error on importing new group from LDAP whose name contains ampersand character
Vu Viet Phuong (JIRA)
jira-events at lists.jboss.org
Fri Sep 6 03:11:03 EDT 2013
Vu Viet Phuong created GTNPORTAL-3262:
-----------------------------------------
Summary: Error on importing new group from LDAP whose name contains ampersand character
Key: GTNPORTAL-3262
URL: https://issues.jboss.org/browse/GTNPORTAL-3262
Project: GateIn Portal
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: Identity integration
Affects Versions: 3.6.1.Final
Reporter: Vu Viet Phuong
Assignee: Vu Viet Phuong
Priority: Minor
As far as I know, by default, group name containing ampersand (&) character is forbidden in GateIn. As the result, we cannot create a group with ampersand in UI.
However, ampersand is legal character in LDAP. As the result, when we synchronize this type of group, there are several exception.
Case to reproduce in PLF with OpenDS
- In OpenDS server, create _dc=nodomain_ context and import [^Ampersand.ldif]
- Extract and add the [^portal.zip] to gatein/conf. These files provide sample config to integrate OpenDS with PLF server and activate the automatic synchronization on start up.
- Start server
-> Exception in console
{noformat}
2013-09-03 16:36:02,972 | ERROR | Error parsing document (line 27, col 23) file: /group/template/group/group.xml [o.e.p.config.NewPortalConfigListener<Catalina-startStop-1>]
org.jibx.runtime.JiBXException: Error parsing document (line 27, col 23)
at org.jibx.runtime.impl.XMLPullReaderFactory$XMLPullReader.nextToken(XMLPullReaderFactory.java:281) ~[jibx-run-1.2.5.jar:na]
at org.jibx.runtime.impl.UnmarshallingContext.accumulateText(UnmarshallingContext.java:840) ~[jibx-run-1.2.5.jar:na]
at org.jibx.runtime.impl.UnmarshallingContext.parseContentText(UnmarshallingContext.java:874) ~[jibx-run-1.2.5.jar:na]
at org.jibx.runtime.impl.UnmarshallingContext.parseElementText(UnmarshallingContext.java:936) ~[jibx-run-1.2.5.jar:na]
at org.exoplatform.portal.config.model.PortalConfig.JiBX_binding_unmarshal_2_0(PortalConfig.java) ~[exo.portal.component.portal-3.5.6-PLF.jar:3.5.6-PLF]
at org.exoplatform.portal.config.model.JiBX_bindingPortalConfig_access.unmarshal() ~[exo.portal.component.portal-3.5.6-PLF.jar:3.5.6-PLF]
at org.jibx.runtime.impl.UnmarshallingContext.unmarshalElement(UnmarshallingContext.java:2757) ~[jibx-run-1.2.5.jar:na]
at org.exoplatform.portal.config.model.ModelUnmarshaller.unmarshall(ModelUnmarshaller.java:50) ~[exo.portal.component.portal-3.5.6-PLF.jar:3.5.6-PLF]
at org.exoplatform.portal.config.NewPortalConfigListener.fromXML(NewPortalConfigListener.java:655) ~[exo.portal.component.portal-3.5.6-PLF.jar:3.5.6-PLF]
at org.exoplatform.portal.config.NewPortalConfigListener.getConfig(NewPortalConfigListener.java:565) ~[exo.portal.component.portal-3.5.6-PLF.jar:3.5.6-PLF]
at org.exoplatform.portal.config.NewPortalConfigListener.createPortalConfig(NewPortalConfigListener.java:453) ~[exo.portal.component.portal-3.5.6-PLF.jar:3.5.6-PLF]
at org.exoplatform.portal.config.UserPortalConfigService.createUserPortalConfig(UserPortalConfigService.java:346) ~[exo.portal.component.portal-3.5.6-PLF.jar:3.5.6-PLF]
at org.exoplatform.portal.config.UserPortalConfigService.createGroupSite(UserPortalConfigService.java:320) ~[exo.portal.component.portal-3.5.6-PLF.jar:3.5.6-PLF]
at org.exoplatform.portal.config.GroupPortalConfigListener.preSave(GroupPortalConfigListener.java:113) [exo.portal.component.portal-3.5.6-PLF.jar:3.5.6-PLF]
at org.exoplatform.platform.organization.integration.OrganizationIntegrationService.invokeListenersToSavedGroup(OrganizationIntegrationService.java:1149) [platform-component-organization-4.0.2.jar:4.0.2]
at org.exoplatform.platform.organization.integration.OrganizationIntegrationService.syncGroup(OrganizationIntegrationService.java:405) [platform-component-organization-4.0.2.jar:4.0.2]
at org.exoplatform.platform.organization.integration.OrganizationIntegrationService.syncAllGroups(OrganizationIntegrationService.java:339) [platform-component-organization-4.0.2.jar:4.0.2]
at org.exoplatform.platform.organization.integration.OrganizationIntegrationService.start(OrganizationIntegrationService.java:164) [platform-component-organization-4.0.2.jar:4.0.2]
at sun.reflect.GeneratedMethodAccessor88.invoke(Unknown Source) ~[na:na]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) ~[na:1.6.0_27]
at java.lang.reflect.Method.invoke(Method.java:597) ~[na:1.6.0_27]
at org.exoplatform.container.LifecycleVisitor.traverse(LifecycleVisitor.java:100) [exo.kernel.container-2.4.5-GA.jar:2.4.5-GA]
at org.exoplatform.container.LifecycleVisitor.start(LifecycleVisitor.java:170) [exo.kernel.container-2.4.5-GA.jar:2.4.5-GA]
at org.exoplatform.container.ConcurrentPicoContainer.start(ConcurrentPicoContainer.java:554) [exo.kernel.container-2.4.5-GA.jar:2.4.5-GA]
at org.exoplatform.container.ExoContainer.start(ExoContainer.java:275) [exo.kernel.container-2.4.5-GA.jar:2.4.5-GA]
at org.exoplatform.container.PortalContainer.start(PortalContainer.java:683) [exo.kernel.container-2.4.5-GA.jar:2.4.5-GA]
at org.exoplatform.container.ExoContainer.start(ExoContainer.java:263) [exo.kernel.container-2.4.5-GA.jar:2.4.5-GA]
at org.exoplatform.container.RootContainer.createPortalContainer(RootContainer.java:681) [exo.kernel.container-2.4.5-GA.jar:2.4.5-GA]
at org.exoplatform.container.RootContainer.createPortalContainers(RootContainer.java:346) [exo.kernel.container-2.4.5-GA.jar:2.4.5-GA]
at org.exoplatform.platform.server.tomcat.PortalContainersCreator$1.run(PortalContainersCreator.java:52) [plf-tomcat-pc-creator-listener-4.0.2.jar:4.0.2]
at org.exoplatform.platform.server.tomcat.PortalContainersCreator$1.run(PortalContainersCreator.java:50) [plf-tomcat-pc-creator-listener-4.0.2.jar:4.0.2]
at org.exoplatform.commons.utils.SecurityHelper.doPrivilegedAction(SecurityHelper.java:290) [exo.kernel.commons-2.4.5-GA.jar:2.4.5-GA]
at org.exoplatform.platform.server.tomcat.PortalContainersCreator.createPortalContainers(PortalContainersCreator.java:50) [plf-tomcat-pc-creator-listener-4.0.2.jar:4.0.2]
at org.exoplatform.platform.server.tomcat.PortalContainersCreator.lifecycleEvent(PortalContainersCreator.java:39) [plf-tomcat-pc-creator-listener-4.0.2.jar:4.0.2]
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) [catalina.jar:7.0.42]
at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90) [catalina.jar:7.0.42]
at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:402) [catalina.jar:7.0.42]
at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:347) [catalina.jar:7.0.42]
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1140) [catalina.jar:7.0.42]
at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:800) [catalina.jar:7.0.42]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) [catalina.jar:7.0.42]
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559) [catalina.jar:7.0.42]
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549) [catalina.jar:7.0.42]
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) [na:1.6.0_27]
at java.util.concurrent.FutureTask.run(FutureTask.java:138) [na:1.6.0_27]
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [na:1.6.0_27]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [na:1.6.0_27]
at java.lang.Thread.run(Thread.java:662) [na:1.6.0_27]
Caused by: org.xmlpull.v1.XmlPullParserException: entity reference name can not contain character <' (position: TEXT seen ...<portal-name>/R&D<... @27:23)
at org.xmlpull.mxp1.MXParser.parseEntityRef(MXParser.java:2222) ~[xpp3-1.1.4c.jar:na]
at org.xmlpull.mxp1.MXParser.nextImpl(MXParser.java:1275) ~[xpp3-1.1.4c.jar:na]
at org.xmlpull.mxp1.MXParser.nextToken(MXParser.java:1100) ~[xpp3-1.1.4c.jar:na]
at org.jibx.runtime.impl.XMLPullReaderFactory$XMLPullReader.nextToken(XMLPullReaderFactory.java:277) ~[jibx-run-1.2.5.jar:na]
... 47 common frames omitted
2013-09-03 16:36:02,973 | ERROR | Could not load file: /group/template/group/group.xml [o.e.p.config.NewPortalConfigListener<Catalina-startStop-1>]
2013-09-03 16:36:02,976 | WARN | Failed to call preSave on /R&D Group, listener = class org.exoplatform.portal.config.GroupPortalConfigListener [o.e.p.o.i.OrganizationIntegrationService<Catalina-startStop-1>]
org.jibx.runtime.JiBXException: Error parsing document (line 27, col 23)
at org.jibx.runtime.impl.XMLPullReaderFactory$XMLPullReader.nextToken(XMLPullReaderFactory.java:281) ~[jibx-run-1.2.5.jar:na]
at org.jibx.runtime.impl.UnmarshallingContext.accumulateText(UnmarshallingContext.java:840) ~[jibx-run-1.2.5.jar:na]
at org.jibx.runtime.impl.UnmarshallingContext.parseContentText(UnmarshallingContext.java:874) ~[jibx-run-1.2.5.jar:na]
at org.jibx.runtime.impl.UnmarshallingContext.parseElementText(UnmarshallingContext.java:936) ~[jibx-run-1.2.5.jar:na]
at org.exoplatform.portal.config.model.PortalConfig.JiBX_binding_unmarshal_2_0(PortalConfig.java) ~[exo.portal.component.portal-3.5.6-PLF.jar:3.5.6-PLF]
at org.exoplatform.portal.config.model.JiBX_bindingPortalConfig_access.unmarshal() ~[exo.portal.component.portal-3.5.6-PLF.jar:3.5.6-PLF]
at org.jibx.runtime.impl.UnmarshallingContext.unmarshalElement(UnmarshallingContext.java:2757) ~[jibx-run-1.2.5.jar:na]
at org.exoplatform.portal.config.model.ModelUnmarshaller.unmarshall(ModelUnmarshaller.java:50) ~[exo.portal.component.portal-3.5.6-PLF.jar:3.5.6-PLF]
at org.exoplatform.portal.config.NewPortalConfigListener.fromXML(NewPortalConfigListener.java:655) ~[exo.portal.component.portal-3.5.6-PLF.jar:3.5.6-PLF]
at org.exoplatform.portal.config.NewPortalConfigListener.getConfig(NewPortalConfigListener.java:565) ~[exo.portal.component.portal-3.5.6-PLF.jar:3.5.6-PLF]
at org.exoplatform.portal.config.NewPortalConfigListener.createPortalConfig(NewPortalConfigListener.java:453) ~[exo.portal.component.portal-3.5.6-PLF.jar:3.5.6-PLF]
at org.exoplatform.portal.config.UserPortalConfigService.createUserPortalConfig(UserPortalConfigService.java:346) ~[exo.portal.component.portal-3.5.6-PLF.jar:3.5.6-PLF]
at org.exoplatform.portal.config.UserPortalConfigService.createGroupSite(UserPortalConfigService.java:320) ~[exo.portal.component.portal-3.5.6-PLF.jar:3.5.6-PLF]
at org.exoplatform.portal.config.GroupPortalConfigListener.preSave(GroupPortalConfigListener.java:113) ~[exo.portal.component.portal-3.5.6-PLF.jar:3.5.6-PLF]
at org.exoplatform.platform.organization.integration.OrganizationIntegrationService.invokeListenersToSavedGroup(OrganizationIntegrationService.java:1149) ~[platform-component-organization-4.0.2.jar:4.0.2]
at org.exoplatform.platform.organization.integration.OrganizationIntegrationService.syncGroup(OrganizationIntegrationService.java:405) ~[platform-component-organization-4.0.2.jar:4.0.2]
at org.exoplatform.platform.organization.integration.OrganizationIntegrationService.syncAllGroups(OrganizationIntegrationService.java:339) ~[platform-component-organization-4.0.2.jar:4.0.2]
at org.exoplatform.platform.organization.integration.OrganizationIntegrationService.start(OrganizationIntegrationService.java:164) ~[platform-component-organization-4.0.2.jar:4.0.2]
at sun.reflect.GeneratedMethodAccessor88.invoke(Unknown Source) ~[na:na]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) ~[na:1.6.0_27]
at java.lang.reflect.Method.invoke(Method.java:597) ~[na:1.6.0_27]
at org.exoplatform.container.LifecycleVisitor.traverse(LifecycleVisitor.java:100) [exo.kernel.container-2.4.5-GA.jar:2.4.5-GA]
at org.exoplatform.container.LifecycleVisitor.start(LifecycleVisitor.java:170) [exo.kernel.container-2.4.5-GA.jar:2.4.5-GA]
at org.exoplatform.container.ConcurrentPicoContainer.start(ConcurrentPicoContainer.java:554) [exo.kernel.container-2.4.5-GA.jar:2.4.5-GA]
at org.exoplatform.container.ExoContainer.start(ExoContainer.java:275) [exo.kernel.container-2.4.5-GA.jar:2.4.5-GA]
at org.exoplatform.container.PortalContainer.start(PortalContainer.java:683) [exo.kernel.container-2.4.5-GA.jar:2.4.5-GA]
at org.exoplatform.container.ExoContainer.start(ExoContainer.java:263) [exo.kernel.container-2.4.5-GA.jar:2.4.5-GA]
at org.exoplatform.container.RootContainer.createPortalContainer(RootContainer.java:681) [exo.kernel.container-2.4.5-GA.jar:2.4.5-GA]
at org.exoplatform.container.RootContainer.createPortalContainers(RootContainer.java:346) [exo.kernel.container-2.4.5-GA.jar:2.4.5-GA]
at org.exoplatform.platform.server.tomcat.PortalContainersCreator$1.run(PortalContainersCreator.java:52) [plf-tomcat-pc-creator-listener-4.0.2.jar:4.0.2]
at org.exoplatform.platform.server.tomcat.PortalContainersCreator$1.run(PortalContainersCreator.java:50) [plf-tomcat-pc-creator-listener-4.0.2.jar:4.0.2]
at org.exoplatform.commons.utils.SecurityHelper.doPrivilegedAction(SecurityHelper.java:290) [exo.kernel.commons-2.4.5-GA.jar:2.4.5-GA]
at org.exoplatform.platform.server.tomcat.PortalContainersCreator.createPortalContainers(PortalContainersCreator.java:50) [plf-tomcat-pc-creator-listener-4.0.2.jar:4.0.2]
at org.exoplatform.platform.server.tomcat.PortalContainersCreator.lifecycleEvent(PortalContainersCreator.java:39) [plf-tomcat-pc-creator-listener-4.0.2.jar:4.0.2]
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) [catalina.jar:7.0.42]
at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90) [catalina.jar:7.0.42]
at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:402) [catalina.jar:7.0.42]
at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:347) [catalina.jar:7.0.42]
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1140) [catalina.jar:7.0.42]
at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:800) [catalina.jar:7.0.42]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) [catalina.jar:7.0.42]
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559) [catalina.jar:7.0.42]
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549) [catalina.jar:7.0.42]
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) [na:1.6.0_27]
at java.util.concurrent.FutureTask.run(FutureTask.java:138) [na:1.6.0_27]
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [na:1.6.0_27]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [na:1.6.0_27]
at java.lang.Thread.run(Thread.java:662) [na:1.6.0_27]
Caused by: org.xmlpull.v1.XmlPullParserException: entity reference name can not contain character <' (position: TEXT seen ...<portal-name>/R&D<... @27:23)
at org.xmlpull.mxp1.MXParser.parseEntityRef(MXParser.java:2222) ~[xpp3-1.1.4c.jar:na]
at org.xmlpull.mxp1.MXParser.nextImpl(MXParser.java:1275) ~[xpp3-1.1.4c.jar:na]
at org.xmlpull.mxp1.MXParser.nextToken(MXParser.java:1100) ~[xpp3-1.1.4c.jar:na]
at org.jibx.runtime.impl.XMLPullReaderFactory$XMLPullReader.nextToken(XMLPullReaderFactory.java:277) ~[jibx-run-1.2.5.jar:na]
... 47 common frames omitted
{noformat}
In GateIn tomcat standalone, we can reproduce as follow
- Edit the [webapps/portal.war!/WEB-INF/conf/organization/organization-configuration.xml] to add new group whose name contains ampersand.
- Start GateIn server
-> The same exception as above
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the gatein-issues
mailing list