Github user sjcorbett commented on the pull request:

    https://github.com/apache/incubator-brooklyn/pull/633#issuecomment-100871464
  
    @mikezaccardo Thanks for this. What are the differences in the entities 
between Tomcat 7 and 8? From a scan, there's not much - the new server.xml 
modifies the AccessLogValve prefix and removes this line:
    ```xml
      <Listener className="org.apache.catalina.core.JasperListener" />
    ```
    The different web.xml file changes the file's schemaLocation and version.
    
    I don't think this warrants a separate package for v8.
    
    I wonder if a simpler approach could maintain the package structure and 
reuse the existing classes: 
    * Move server.xml and web.xml to ```.tomcat``` and rename them to something 
like ~ tomcat8-server.xml and tomcat8-web.xml.
    * Add a `Tomcat8Server` interface that extends `TomcatServer` and redefines 
`SERVER_XML_RESOURCE`, `WEB_XML_RESOURCE` and the appropriate download/version 
keys. e.g.:
    ```java
        @SetFromFlag("server.xml")
        ConfigKey<String> SERVER_XML_RESOURCE = 
ConfigKeys.newConfigKeyWithDefault(
                TomcatServer.SERVER_XML_RESOURCE, "tomat8-server.xml");
    ```
    The existing driver will handle naming the file correctly when deploying 
entities.
    * Add a `Tomcat8ServerImpl` class that extends `TomcatServerImpl` and 
implements `Tomcat8Server`. It doesn't need to override any existing methods.
    
    Having compared the v7 files vs. the v8 files - but not tested! - I think 
this would work and saves the duplication.
    
    Any thoughts?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---

Reply via email to