The way this PR is now is so similar to how bad IBM SystemML which is a hackwork of hurriedly put together and something I have often pointed out to others as a clear example of "how not to design crappy software". See this gist of an example code snippet from IBM SystemML - https://gist.github.com/smarthi/eb848e46621b7444924f
First things for the project: 1. Move away from using the java properties (this is so 2002 way of doing things) to using TypeSafe style configurations which allow for structured properties. 2. From a Responder design, there would be a Responder-impl-class property which would be read from TypeSafe config and the appropriate driver class invoked. As an example for the above ^^^ two, please look at at the Oryx 2.0 project for reference https://github.com/oryxproject/oryx On Mon, Sep 19, 2016 at 2:28 PM, Tim Ellison <[email protected]> wrote: > How about an approach like this? > https://github.com/tellison/incubator-pirk/tree/pirk-63 > > The "on-ramp" is the driver [1], which calls upon the service to find a > plug-in [2] that claims to implement the required platform responder, > e.g. [3]. > > The list of plug-ins is given in the provider's JAR file, so the ones we > provide in Pirk are listed together [4], but if you split these into > modules, or somebody brings their own JAR alongside, these would be > listed in each JAR's services/ directory. > > [1] > https://github.com/tellison/incubator-pirk/blob/pirk-63/ > src/main/java/org/apache/pirk/responder/wideskies/ResponderDriver.java > [2] > https://github.com/tellison/incubator-pirk/blob/pirk-63/ > src/main/java/org/apache/pirk/responder/spi/ResponderPlugin.java > [3] > https://github.com/tellison/incubator-pirk/blob/pirk-63/ > src/main/java/org/apache/pirk/responder/wideskies/storm/ > StormResponder.java > [4] > https://github.com/tellison/incubator-pirk/blob/pirk-63/ > src/main/services/org.apache.responder.spi.Responder > > I'm not even going to dignify this with a WIP PR, it is far from ready, > so proceed with caution. There is hopefully enough there to show the > approach, and if it is worth continuing I'm happy to do so. > > Regards, > Tim > >
