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
            Priority: Minor


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