JC created CLOUDSTACK-9856:
------------------------------

             Summary: Possible code smell that returns always true in if 
condition
                 Key: CLOUDSTACK-9856
                 URL: https://issues.apache.org/jira/browse/CLOUDSTACK-9856
             Project: CloudStack
          Issue Type: Bug
      Security Level: Public (Anyone can view this level - this is the default.)
            Reporter: JC
            Priority: Trivial


Hi

In recent Github mirror, I've found following code smell.

Path: framework/db/src/com/cloud/utils/db/EcInfo.java

{code}
51             Class<?> rawClazz = (Class<?>)rawType;
52             try {
53                 if (!Modifier.isAbstract(rawClazz.getModifiers()) && 
!rawClazz.isInterface() &&     rawClazz.getConstructors().length != 0 &&
54                     rawClazz.getConstructor() != null) {
55                     rawClass = rawClazz;
56                 } else if (Set.class == rawClazz) {
57                     rawClass = HashSet.class;
58                 } else if (List.class == rawClazz) {
59                     rawClass = ArrayList.class;
60                 } else if (Collection.class == Collection.class) {
61                     rawClass = ArrayList.class;
62                 } else {
63                     assert (false) : " We don't know how to create this 
calss " + rawType.toStri    ng() + " for " + attr.field.getName();
64                 }
65             } catch (NoSuchMethodException e) {
66                 throw new CloudRuntimeException("Write your own support for 
" + rawClazz + " def    ined by " + attr.field.getName());
{code}

Since I don't have domain knowledge about this project, I have no idea, 
rawClazz can have other types rather Set or List. If rawClazz can have other 
types, it will always be ArrayList.class as default (Line 60 and 61). So, the 
else block is dead code. It seems this is intended but wanted to report just in 
case.

Thanks!



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to