[ 
https://issues.apache.org/jira/browse/SLING-2222?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13106529#comment-13106529
 ] 

Justin Edelson commented on SLING-2222:
---------------------------------------

...which would be an API change.

> SlingServerRepository startup and potential NPE
> -----------------------------------------------
>
>                 Key: SLING-2222
>                 URL: https://issues.apache.org/jira/browse/SLING-2222
>             Project: Sling
>          Issue Type: Bug
>          Components: JCR
>         Environment: Eclipse Equinox
>            Reporter: Aleksander Bandelj
>            Assignee: Justin Edelson
>            Priority: Minor
>             Fix For: JCR Base 2.1.2
>
>
> I'm starting Sling bundles from Equinox and there is now a NPE when starting 
> repository (doesn't seem to happen in launchpad, probably because component 
> and bundle activation order is different there). 
> AbstractNamespaceMappingRepository#namespaceMapperTracker is used before 
> initialized with #setup.   
> SlingServerRepository(AbstractNamespaceMappingRepository).defineNamespacePrefixes(Session)
>  line: 65   
> SlingServerRepository(AbstractNamespaceMappingRepository).getNamespaceAwareSession(Session)
>  line: 92  
> SlingServerRepository(AbstractSlingRepository).login(Credentials, String) 
> line: 216   
> SlingServerRepository(AbstractSlingRepository).loginAdministrative(String) 
> line: 171  
> SlingServerRepository(AbstractSlingRepository).pingAndCheck() line: 499       
> SlingServerRepository(AbstractSlingRepository).startRepository() line: 755    
> SlingServerRepository(AbstractSlingRepository).activate(ComponentContext) 
> line: 581
> the above will hit SlingServerRepository before #setup is called. #setup will 
> be called second time around:
> SlingServerRepository(AbstractNamespaceMappingRepository).setup(BundleContext)
>  line: 46       
> SlingServerRepository(AbstractSlingRepository).setupRepository(Repository) 
> line: 426  
> SlingServerRepository(AbstractSlingRepository).startRepository() line: 758    
> SlingServerRepository(AbstractSlingRepository).activate(ComponentContext) 
> line: 581   
> I've added NPE check for namespaceMapperTracker in defineNamespacePrefixes 
> which works around this issue. NPE check for other namespaceHandler is 
> already present.
> I would be good to simplify repository pinging code path and avoid the NPE 
> checks though.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to