Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

This is an attempt to sketch out the admin and developer visible changes that could be used to support version specific contributors.

Below is a sample of how the ServiceDeploymentContributor contract could be enhanced to declare support for particular versions.

Code Block
languagejava
titleVersionedServiceDeploymentContributor
linenumberstrue
package org.apache.hadoop.gateway.deploy;
import org.apache.hadoop.gateway.topology.Service;
// An extension to base interface for backward compatibility with existing contributors.
// Service located and loaded via the base interface.
public interface VersionedServiceDeploymentContributor extends ServiceDeploymentContributor {
  // The list of versions supported by this contributor.
  // Each element is formatted according to the Maven Enforcer plugin syntax.
  // Returning null indicates that all versions are supported.
  String[] getVersions();
}

 

Below is a sample of how version could be added to the topology file.

Code Block
languagexml
titleToplogy File
linenumberstrue
<topology>
    <gateway>
    ...
    </gateway>
    ....
    <service>
        <role>HIVE</role>
        <version>0.13.0</version>
        <url>http://localhost:10001/cliservice</url>
    </service>
</topology>

...