I don't think i'll have time to look at your new patch today, design wise i think you are right, but there was still stuff that needed to be refactored out of core.update and into the UpdateHandler wasn't there?
Yes, I avoided doing that in an effort to minimize refactoring and focus just on adding ContentStreams to RequestHandlers. I just posted (yet another) update to SOLR-104. This one moves the core.update logic into UpdateRequestHander, and adds some glue to make old request behave as they used to. I also deprecated the exception in SolrQueryResponse. Handlers should throw the exception, not put it in the response. (If you want error messages, put that in the response, not the exception) It still needs some cleanup and some idea what data/messages should be returned in the SolrResponse. The bottom of http://localhost:8983/solr/test.html has a form calling /update2 with posted XML so you can see the output
a couple of minor comments i had when i read the last patch (but didn't mention since i was focusing on design issues) ... 1) why rename the servlets "Legacy*" instead of just marking them deprecated?
In the new version, I got rid of both Servlets and am handling the 'legacy' cases explicitly in the dispatch filter. This minimizes the duplicated code and keeps things consisten.
2) getSourceId and getSoure need to be left in the concrete Handlers so they get illed in with the correct file version info on checkout.
done.
3) there's a comment in RequestHandlerBase.init about "indexOf" that comes form the existing impl in DismaxRequestHandler -- but doesn't match the new code ... i also wasn't certain that the change you made matches the old semantics for dismax (i don't think we have a unit test for that case)
When you get a chance to look at the patch, can you investigate this. I just copied the code from DismaxRequestHandler and made sure it passes the tests. I don't totally understand what that case is doing.
4) ContentStream.getFieldName() would proabably be more general as ContentStream.getSourceInfo() ...
done.