[ 
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)

Reply via email to