[
https://issues.apache.org/jira/browse/AMBARI-4375?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Tom Beerbower updated AMBARI-4375:
----------------------------------
Component/s: Ambari-SCOM
> Ambari-SCOM : Remove Resource.Type switch statements.
> -----------------------------------------------------
>
> Key: AMBARI-4375
> URL: https://issues.apache.org/jira/browse/AMBARI-4375
> Project: Ambari
> Issue Type: Improvement
> Components: Ambari-SCOM
> Reporter: Tom Beerbower
> Assignee: Tom Beerbower
>
> Currently Resource.Type is an enum. In order to allow for the extension of
> resources by adding new types it should be converted to a class. One thing
> that prevents this is the use of the Type enum in switch statements ...
> {code}
> switch (type) {
> case Cluster:
> return new ClusterProvider(clusterDefinition);
> case Service:
> return new ServiceProvider(clusterDefinition);
> case Component:
> return new ComponentProvider(clusterDefinition);
> case Host:
> return new HostProvider(clusterDefinition);
> case HostComponent:
> return new HostComponentProvider(clusterDefinition);
> case Request:
> return new RequestProvider(clusterDefinition);
> case Task:
> return new TaskProvider(clusterDefinition);
> default:
> return new NoOpProvider(type, clusterDefinition);
> }
> {code}
> We should convert these usages to a static Map<Type, ResourceProvider> lookup
> if possible, or if statements.
> It looks like this needs to be done in AbstractResourceProvider and
> SQLProviderModule for Ambari SCOM.
>
--
This message was sent by Atlassian JIRA
(v6.1.5#6160)