[
http://jira.amdatu.org/jira/browse/AMDATU-291?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Ivo Ladage - van Doorn updated AMDATU-291:
------------------------------------------
Estimated Eng Workload: 6
> Bugs/concerns from quick code review on shindig extender filter
> ---------------------------------------------------------------
>
> Key: AMDATU-291
> URL: http://jira.amdatu.org/jira/browse/AMDATU-291
> Project: Amdatu
> Issue Type: Task
> Components: Amdatu OpenSocial
> Reporter: Bram de Kruijff
> Assignee: Ivo Ladage - van Doorn
> Fix For: 0.2.0
>
>
> I have some concerns with regard to
> org.amdatu.opensocial.shindig.service.TenantHostnameDispatchExtenderFilter
> besides the fact that it introduces redundant resolving as described in
> AMDATU-288. Specifically the use of a static method to grant access to the
> mostly unrelated class CassandraAppDataServiceStore is obviosly a quick hack
> en smells.... Besides the potential exceptions indicated below some
> fundamental questions:
> 1) The static method access couples the availibility to the classloader
> lifecycle while the availibility of bundlecontext (etc) is coupled to service
> lifecycle
> 2) The useradmin lookup code (should it be here anyway?) uses
> getAllServiceReferences which does not check compatibility restrictions
> Annotated code:
> private static ThreadLocal<Tenant> m_properties = null;
> public static Tenant getTenant() {
> return m_properties.get();
>
> <====== potential NullPointerException
> }
> public void doFilter(ServletRequest request, ServletResponse response,
> FilterChain chain) throws
> IOException, ServletException {
> ....
> }
> public static UserAdmin getUserAdmin() throws InvalidSyntaxException {
> Tenant tenant = getTenant();
> ServiceReference[] refs =
> m_bundleContext.getAllServiceReferences(UserAdmin.class.getName(), null);
> <====== potential NullPointerException
> for (ServiceReference ref : refs) {
>
> <====== potential NullPointerException
> if
> (tenant.getId().equals(ref.getProperty(Tenant.TENANT_ID_SERVICEPROPERTY))) {
> <====== potential NullPointerException
> return (UserAdmin)
> m_bundleContext.getService(ref);
> <====== potential ClassCastException
> }
> }
> return null;
> }
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
_______________________________________________
Amdatu-developers mailing list
[email protected]
http://lists.amdatu.org/mailman/listinfo/amdatu-developers