id,summary,reporter,owner,description,type,status,priority,milestone,component,version,resolution,keywords,cc,drp_resources,i_links,o_links,remaining_time,sprint 216,Hide OmeroContext methods by splitting class and using BeanPostProcessor,jamoore,jamoore,"Currently `OmeroContext` '''extends''' `ConfigurableApplicationContext` as this was the easiest way to have it injected directly. Attempts to use delegation failed with `ClassCastExceptions` because instead the delegate (non-`OmeroContext`.class) were injected. Instead, we could create an `OmeroContext` interface, implementors of which could delegate to `ConfigurableAppCtx`. Then, instead of marking classes `ApplicationContextAware` we could mark them `OmeroContextAware` and an `OmeroContextAwareProcessor` could inject the `OmeroContext`. (A mouth full) See: http://www.springframework.org/docs/reference/beans.html#beans-factory-customizing",task,new,minor,GatherReqs,Configuration,3.0-M3,,"spring,context,customization",,,,,,