neo4j/community — pull request #589 by jakewins (2012-06-07 08:21:35+00:00)
Title: Server cleanup again

This refactoring:

* Deprecates specialized methods on WebServer (such as addSecurityFilter and addRequestLimitFilter)
and replaces them with a single addFilter method. This simplifies for implementors of WebServer.

* Removes all uses of getJetty(), resealing the abstraction WebServer was meant to provide,
this prepares the way for other WebServer implementations.

* Changes the method of generating specialized NeoServer types (Community, Advanced, Enterprise, Wrapping)
from using factory methods sent into the constructor to using subclassing.

* Clarifies the distinction between NeoServer and Bootstrapper. NeoServer acts as an assembly class,
bootstrapper instantiates and starts/stops NeoServer. This change is reflected by the introduction
of AbstractNeoServer, and the replacement of NeoServerWithEmbeddedWebServer with CommunityNeoServer.

* Modifies the ServerModule interface such that the interface moves closer to the LifeCycle interface,
to lead the way for ServerModule eventually extending that.

After this is reviewed, corresponding PR in advanced can be found here: https://github.com/neo4j/advanced/pull/12