You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ofbiz.apache.org by "Julian Leichert (JIRA)" <ji...@apache.org> on 2017/09/14 10:42:00 UTC

[jira] [Updated] (OFBIZ-9719) [FB] Package org.apache.ofbiz.entity.model

     [ https://issues.apache.org/jira/browse/OFBIZ-9719?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Julian Leichert updated OFBIZ-9719:
-----------------------------------
    Attachment: OFBIZ-9719_org.apache.ofbiz.entity.model_bugfixes.patch

added DiamondOperators in all classes
removed trailing whitespaces

class ModelEntity
 - changed "" to '' in some lines to increase Performance
 - removed redundant null-checks

class ModelEntityChecker
 - Line 98:  added Charset
 - Line 124: added Charset
 - Line 288: changed to protected to fix Findbugs warning

class ModelField
 - Line 150: removed redundant null-check
 - Line 150,180,306: added charsets

class ModelFieldType
 - Line 93: added charset
 - changed "" to '' in some lines to increase Performance

class ModelGroupReader
 - Line 58: added keyword volatile to fix double checked locking
 - Line 144: removed redundant null-check

class ModelIndex
 - Line 80: added charset

class ModelReader
 - Line 343: removed redundant null-check

class ModelUtil
 - Line 47: added charset
 - Line 285: removed redundant if , because it's always true

class ModelViewEntity
 - changed multiple protected to public, because the inner classes are public
 - Line 1110: added variable to store length of Keymap, to increase performance
 - Line 1114: removed redundant null-check
 - changed "" to '' in some lines to increase Performance

> [FB] Package org.apache.ofbiz.entity.model
> ------------------------------------------
>
>                 Key: OFBIZ-9719
>                 URL: https://issues.apache.org/jira/browse/OFBIZ-9719
>             Project: OFBiz
>          Issue Type: Sub-task
>          Components: ALL APPLICATIONS, ALL COMPONENTS
>    Affects Versions: Trunk
>            Reporter: Julian Leichert
>            Priority: Minor
>         Attachments: OFBIZ-9719_org.apache.ofbiz.entity.model_bugfixes.patch
>
>
> ModelEntity.java:-1, SE_BAD_FIELD
> - Se: Class org.apache.ofbiz.entity.model.ModelEntity defines non-transient non-serializable instance field modelInfo
> This Serializable class defines a non-primitive instance field which is neither transient, Serializable, or java.lang.Object, and does not appear to implement the Externalizable interface or the readObject() and writeObject() methods.  Objects of this class will not be deserialized correctly if a non-Serializable object is stored in this field.
> ModelEntity.java:61, SE_NO_SERIALVERSIONID
> - SnVI: org.apache.ofbiz.entity.model.ModelEntity is Serializable; consider declaring a serialVersionUID
> This class implements the Serializable interface, but does not define a serialVersionUID field.  A change as simple as adding a reference to a .class object will add synthetic fields to the class, which will unfortunately change the implicit serialVersionUID (e.g., adding a reference to String.class will generate a static field class$java$lang$String). Also, different source code to bytecode compilers may use different naming conventions for synthetic variables generated for references to class objects or inner classes. To ensure interoperability of Serializable across versions, consider adding an explicit serialVersionUID.
> ModelEntity.java:1338, EQ_COMPARETO_USE_OBJECT_EQUALS
> - Eq: org.apache.ofbiz.entity.model.ModelEntity defines compareTo(ModelEntity) and uses Object.equals()
> This class defines a compareTo(...) method but inherits its equals() method from java.lang.Object. Generally, the value of compareTo should return zero if and only if equals returns true. If this is violated, weird and unpredictable failures will occur in classes such as PriorityQueue. In Java 5 the PriorityQueue.remove method uses the compareTo method, while in Java 6 it uses the equals method.
> From the JavaDoc for the compareTo method in the Comparable interface:
> It is strongly recommended, but not strictly required that (x.compareTo(y)==0) == (x.equals(y)). Generally speaking, any class that implements the Comparable interface and violates this condition should clearly indicate this fact. The recommended language is "Note: this class has a natural ordering that is inconsistent with equals."
> ModelEntity.java:1502, RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE
> - RCN: Redundant nullcheck of fieldIter, which is known to be non-null in org.apache.ofbiz.entity.model.ModelEntity.toXmlElement(Document, String)
> This method contains a redundant check of a known non-null value against the constant null.
> ModelEntity.java:1520, RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE
> - RCN: Redundant nullcheck of relIter, which is known to be non-null in org.apache.ofbiz.entity.model.ModelEntity.toXmlElement(Document, String)
> This method contains a redundant check of a known non-null value against the constant null.
> ModelEntity.java:1527, RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE
> - RCN: Redundant nullcheck of idxIter, which is known to be non-null in org.apache.ofbiz.entity.model.ModelEntity.toXmlElement(Document, String)
> This method contains a redundant check of a known non-null value against the constant null.
> ModelEntityChecker.java:98, DM_CONVERT_CASE
> - Dm: Use of non-localized String.toUpperCase() or String.toLowerCase() in org.apache.ofbiz.entity.model.ModelEntityChecker.checkEntities(Delegator, List)
> A String is being converted to upper or lowercase, using the platform's default encoding. This may result in improper conversions when used with international characters. Use the
> String.toUpperCase( Locale l )
> String.toLowerCase( Locale l )
> versions instead.
> ModelEntityChecker.java:288, MS_PKGPROTECT
> - MS: org.apache.ofbiz.entity.model.ModelEntityChecker.rwArray should be package protected
> A mutable static field could be changed by malicious code or by accident. The field could be made package protected to avoid this vulnerability.
> ModelField.java:40, SE_NO_SERIALVERSIONID
> - SnVI: org.apache.ofbiz.entity.model.ModelField is Serializable; consider declaring a serialVersionUID
> This class implements the Serializable interface, but does not define a serialVersionUID field.  A change as simple as adding a reference to a .class object will add synthetic fields to the class, which will unfortunately change the implicit serialVersionUID (e.g., adding a reference to String.class will generate a static field class$java$lang$String). Also, different source code to bytecode compilers may use different naming conventions for synthetic variables generated for references to class objects or inner classes. To ensure interoperability of Serializable across versions, consider adding an explicit serialVersionUID.
> ModelField.java:150, DM_CONVERT_CASE
> - Dm: Use of non-localized String.toUpperCase() or String.toLowerCase() in org.apache.ofbiz.entity.model.ModelField.create(ModelEntity, Element, boolean)
> A String is being converted to upper or lowercase, using the platform's default encoding. This may result in improper conversions when used with international characters. Use the
> String.toUpperCase( Locale l )
> String.toLowerCase( Locale l )
> versions instead.
> ModelField.java:151, RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE
> - RCN: Redundant nullcheck of encrypt, which is known to be non-null in org.apache.ofbiz.entity.model.ModelField.create(ModelEntity, Element, boolean)
> This method contains a redundant check of a known non-null value against the constant null.
> ModelField.java:180, DM_CONVERT_CASE
> - Dm: Use of non-localized String.toUpperCase() or String.toLowerCase() in org.apache.ofbiz.entity.model.ModelField.create(ModelEntity, DatabaseUtil$ColumnCheckInfo, ModelFieldTypeReader)
> A String is being converted to upper or lowercase, using the platform's default encoding. This may result in improper conversions when used with international characters. Use the
> String.toUpperCase( Locale l )
> String.toLowerCase( Locale l )
> versions instead.
> ModelField.java:306, DM_CONVERT_CASE
> - Dm: Use of non-localized String.toUpperCase() or String.toLowerCase() in org.apache.ofbiz.entity.model.ModelField.toXmlElement(Document)
> A String is being converted to upper or lowercase, using the platform's default encoding. This may result in improper conversions when used with international characters. Use the
> String.toUpperCase( Locale l )
> String.toLowerCase( Locale l )
> versions instead.
> ModelFieldType.java:-1, SE_BAD_FIELD
> - Se: Class org.apache.ofbiz.entity.model.ModelFieldType defines non-transient non-serializable instance field jdbcValueHandler
> This Serializable class defines a non-primitive instance field which is neither transient, Serializable, or java.lang.Object, and does not appear to implement the Externalizable interface or the readObject() and writeObject() methods.  Objects of this class will not be deserialized correctly if a non-Serializable object is stored in this field.
> ModelFieldType.java:35, SE_NO_SERIALVERSIONID
> - SnVI: org.apache.ofbiz.entity.model.ModelFieldType is Serializable; consider declaring a serialVersionUID
> This class implements the Serializable interface, but does not define a serialVersionUID field.  A change as simple as adding a reference to a .class object will add synthetic fields to the class, which will unfortunately change the implicit serialVersionUID (e.g., adding a reference to String.class will generate a static field class$java$lang$String). Also, different source code to bytecode compilers may use different naming conventions for synthetic variables generated for references to class objects or inner classes. To ensure interoperability of Serializable across versions, consider adding an explicit serialVersionUID.
> ModelFieldType.java:93, DM_CONVERT_CASE
> - Dm: Use of non-localized String.toUpperCase() or String.toLowerCase() in org.apache.ofbiz.entity.model.ModelFieldType.stringLength()
> A String is being converted to upper or lowercase, using the platform's default encoding. This may result in improper conversions when used with international characters. Use the
> String.toUpperCase( Locale l )
> String.toLowerCase( Locale l )
> versions instead.
> ModelFieldType.java:95, RV_CHECK_FOR_POSITIVE_INDEXOF
> - RV: org.apache.ofbiz.entity.model.ModelFieldType.stringLength() checks to see if result of String.indexOf is positive
> The method invokes String.indexOf and checks to see if the result is positive or non-positive. It is much more typical to check to see if the result is negative or non-negative. It is positive only if the substring checked for occurs at some place other than at the beginning of the String.
> ModelFieldTypeReader.java:49, SE_NO_SERIALVERSIONID
> - SnVI: org.apache.ofbiz.entity.model.ModelFieldTypeReader is Serializable; consider declaring a serialVersionUID
> This class implements the Serializable interface, but does not define a serialVersionUID field.  A change as simple as adding a reference to a .class object will add synthetic fields to the class, which will unfortunately change the implicit serialVersionUID (e.g., adding a reference to String.class will generate a static field class$java$lang$String). Also, different source code to bytecode compilers may use different naming conventions for synthetic variables generated for references to class objects or inner classes. To ensure interoperability of Serializable across versions, consider adding an explicit serialVersionUID.
> ModelGroupReader.java:55, SE_NO_SERIALVERSIONID
> - SnVI: org.apache.ofbiz.entity.model.ModelGroupReader is Serializable; consider declaring a serialVersionUID
> This class implements the Serializable interface, but does not define a serialVersionUID field.  A change as simple as adding a reference to a .class object will add synthetic fields to the class, which will unfortunately change the implicit serialVersionUID (e.g., adding a reference to String.class will generate a static field class$java$lang$String). Also, different source code to bytecode compilers may use different naming conventions for synthetic variables generated for references to class objects or inner classes. To ensure interoperability of Serializable across versions, consider adding an explicit serialVersionUID.
> ModelGroupReader.java:103, DC_DOUBLECHECK
> - DC: Possible doublecheck on org.apache.ofbiz.entity.model.ModelGroupReader.groupCache in org.apache.ofbiz.entity.model.ModelGroupReader.getGroupCache(String)
> This method may contain an instance of double-checked locking.  This idiom is not correct according to the semantics of the Java memory model.  For more information, see the web page http://www.cs.umd.edu/~pugh/java/memoryModel/DoubleCheckedLocking.html.
> ModelIndex.java:-1, SE_BAD_FIELD
> - Se: Class org.apache.ofbiz.entity.model.ModelIndex defines non-transient non-serializable instance field fields
> This Serializable class defines a non-primitive instance field which is neither transient, Serializable, or java.lang.Object, and does not appear to implement the Externalizable interface or the readObject() and writeObject() methods.  Objects of this class will not be deserialized correctly if a non-Serializable object is stored in this field.
> ModelIndex.java:49, SE_NO_SERIALVERSIONID
> - SnVI: org.apache.ofbiz.entity.model.ModelIndex is Serializable; consider declaring a serialVersionUID
> This class implements the Serializable interface, but does not define a serialVersionUID field.  A change as simple as adding a reference to a .class object will add synthetic fields to the class, which will unfortunately change the implicit serialVersionUID (e.g., adding a reference to String.class will generate a static field class$java$lang$String). Also, different source code to bytecode compilers may use different naming conventions for synthetic variables generated for references to class objects or inner classes. To ensure interoperability of Serializable across versions, consider adding an explicit serialVersionUID.
> ModelIndex.java:80, DM_CONVERT_CASE
> - Dm: Use of non-localized String.toUpperCase() or String.toLowerCase() in org.apache.ofbiz.entity.model.ModelIndex.create(ModelEntity, Element)
> A String is being converted to upper or lowercase, using the platform's default encoding. This may result in improper conversions when used with international characters. Use the
> String.toUpperCase( Locale l )
> String.toLowerCase( Locale l )
> versions instead.
> ModelKeyMap.java:35, SE_NO_SERIALVERSIONID
> - SnVI: org.apache.ofbiz.entity.model.ModelKeyMap is Serializable; consider declaring a serialVersionUID
> This class implements the Serializable interface, but does not define a serialVersionUID field.  A change as simple as adding a reference to a .class object will add synthetic fields to the class, which will unfortunately change the implicit serialVersionUID (e.g., adding a reference to String.class will generate a static field class$java$lang$String). Also, different source code to bytecode compilers may use different naming conventions for synthetic variables generated for references to class objects or inner classes. To ensure interoperability of Serializable across versions, consider adding an explicit serialVersionUID.
> ModelReader.java:60, SE_NO_SERIALVERSIONID
> - SnVI: org.apache.ofbiz.entity.model.ModelReader is Serializable; consider declaring a serialVersionUID
> This class implements the Serializable interface, but does not define a serialVersionUID field.  A change as simple as adding a reference to a .class object will add synthetic fields to the class, which will unfortunately change the implicit serialVersionUID (e.g., adding a reference to String.class will generate a static field class$java$lang$String). Also, different source code to bytecode compilers may use different naming conventions for synthetic variables generated for references to class objects or inner classes. To ensure interoperability of Serializable across versions, consider adding an explicit serialVersionUID.
> ModelReader.java:188, DC_DOUBLECHECK
> - DC: Possible doublecheck on org.apache.ofbiz.entity.model.ModelReader.entityCache in org.apache.ofbiz.entity.model.ModelReader.getEntityCache()
> This method may contain an instance of double-checked locking.  This idiom is not correct according to the semantics of the Java memory model.  For more information, see the web page http://www.cs.umd.edu/~pugh/java/memoryModel/DoubleCheckedLocking.html.
> ModelReader.java:242, BC_UNCONFIRMED_CAST_OF_RETURN_VALUE
> - BC: Unchecked/unconfirmed cast from org.apache.ofbiz.entity.model.ModelEntity to org.apache.ofbiz.entity.model.ModelViewEntity of return value in org.apache.ofbiz.entity.model.ModelReader.getEntityCache()
> This code performs an unchecked cast of the return value of a method. The code might be calling the method in such a way that the cast is guaranteed to be safe, but FindBugs is unable to verify that the cast is safe. Check that your program logic ensures that this cast will not fail.
> ModelReader.java:344, RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE
> - RCN: Redundant nullcheck of relatedEnt, which is known to be non-null in org.apache.ofbiz.entity.model.ModelReader.getEntityCache()
> This method contains a redundant check of a known non-null value against the constant null.
> ModelRelation.java:55, SE_NO_SERIALVERSIONID
> - SnVI: org.apache.ofbiz.entity.model.ModelRelation is Serializable; consider declaring a serialVersionUID
> This class implements the Serializable interface, but does not define a serialVersionUID field.  A change as simple as adding a reference to a .class object will add synthetic fields to the class, which will unfortunately change the implicit serialVersionUID (e.g., adding a reference to String.class will generate a static field class$java$lang$String). Also, different source code to bytecode compilers may use different naming conventions for synthetic variables generated for references to class objects or inner classes. To ensure interoperability of Serializable across versions, consider adding an explicit serialVersionUID.
> ModelUtil.java:47, DM_CONVERT_CASE
> - Dm: Use of non-localized String.toUpperCase() or String.toLowerCase() in org.apache.ofbiz.entity.model.ModelUtil.upperFirstChar(String)
> A String is being converted to upper or lowercase, using the platform's default encoding. This may result in improper conversions when used with international characters. Use the
> String.toUpperCase( Locale l )
> String.toLowerCase( Locale l )
> versions instead.
> ModelUtil.java:62, DM_CONVERT_CASE
> - Dm: Use of non-localized String.toUpperCase() or String.toLowerCase() in org.apache.ofbiz.entity.model.ModelUtil.lowerFirstChar(String)
> A String is being converted to upper or lowercase, using the platform's default encoding. This may result in improper conversions when used with international characters. Use the
> String.toUpperCase( Locale l )
> String.toLowerCase( Locale l )
> versions instead.
> ModelUtil.java:285, UC_USELESS_CONDITION
> Condition has no effect
> This condition always produces the same result as the value of the involved variable was narrowed before. Probably something else was meant or condition can be removed.
> ModelViewEntity.java:-1, CI_CONFUSED_INHERITANCE
> - CI: Class org.apache.ofbiz.entity.model.ModelViewEntity$ModelConversion is final but declares protected field org.apache.ofbiz.entity.model.ModelViewEntity$ModelConversion.aliasName
> This class is declared to be final, but declares fields to be protected. Since the class is final, it can not be derived from, and the use of protected is confusing. The access modifier for the field should be changed to private or public to represent the true use for the field.
> ModelViewEntity.java:-1, CI_CONFUSED_INHERITANCE
> - CI: Class org.apache.ofbiz.entity.model.ModelViewEntity$ModelAliasAll is final but declares protected field org.apache.ofbiz.entity.model.ModelViewEntity$ModelAliasAll.prefix
> This class is declared to be final, but declares fields to be protected. Since the class is final, it can not be derived from, and the use of protected is confusing. The access modifier for the field should be changed to private or public to represent the true use for the field.
> ModelViewEntity.java:-1, CI_CONFUSED_INHERITANCE
> - CI: Class org.apache.ofbiz.entity.model.ModelViewEntity$ViewConditionExpr is final but declares protected field org.apache.ofbiz.entity.model.ModelViewEntity$ViewConditionExpr.relFieldName
> This class is declared to be final, but declares fields to be protected. Since the class is final, it can not be derived from, and the use of protected is confusing. The access modifier for the field should be changed to private or public to represent the true use for the field.
> ModelViewEntity.java:-1, CI_CONFUSED_INHERITANCE
> - CI: Class org.apache.ofbiz.entity.model.ModelViewEntity$ViewEntityCondition is final but declares protected field org.apache.ofbiz.entity.model.ModelViewEntity$ViewEntityCondition.modelViewEntity
> This class is declared to be final, but declares fields to be protected. Since the class is final, it can not be derived from, and the use of protected is confusing. The access modifier for the field should be changed to private or public to represent the true use for the field.
> ModelViewEntity.java:-1, CI_CONFUSED_INHERITANCE
> - CI: Class org.apache.ofbiz.entity.model.ModelViewEntity$ModelAliasAll is final but declares protected field org.apache.ofbiz.entity.model.ModelViewEntity$ModelAliasAll.groupBy
> This class is declared to be final, but declares fields to be protected. Since the class is final, it can not be derived from, and the use of protected is confusing. The access modifier for the field should be changed to private or public to represent the true use for the field.
> ModelViewEntity.java:-1, CI_CONFUSED_INHERITANCE
> - CI: Class org.apache.ofbiz.entity.model.ModelViewEntity$ViewConditionExpr is final but declares protected field org.apache.ofbiz.entity.model.ModelViewEntity$ViewConditionExpr.viewEntityCondition
> This class is declared to be final, but declares fields to be protected. Since the class is final, it can not be derived from, and the use of protected is confusing. The access modifier for the field should be changed to private or public to represent the true use for the field.
> ModelViewEntity.java:-1, SE_BAD_FIELD
> - Se: Class org.apache.ofbiz.entity.model.ModelViewEntity$ViewConditionExpr defines non-transient non-serializable instance field viewEntityCondition
> This Serializable class defines a non-primitive instance field which is neither transient, Serializable, or java.lang.Object, and does not appear to implement the Externalizable interface or the readObject() and writeObject() methods.  Objects of this class will not be deserialized correctly if a non-Serializable object is stored in this field.
> ModelViewEntity.java:-1, CI_CONFUSED_INHERITANCE
> - CI: Class org.apache.ofbiz.entity.model.ModelViewEntity$ViewEntityCondition is final but declares protected field org.apache.ofbiz.entity.model.ModelViewEntity$ViewEntityCondition.modelViewLink
> This class is declared to be final, but declares fields to be protected. Since the class is final, it can not be derived from, and the use of protected is confusing. The access modifier for the field should be changed to private or public to represent the true use for the field.
> ModelViewEntity.java:-1, CI_CONFUSED_INHERITANCE
> - CI: Class org.apache.ofbiz.entity.model.ModelViewEntity$ViewConditionList is final but declares protected field org.apache.ofbiz.entity.model.ModelViewEntity$ViewConditionList.operator
> This class is declared to be final, but declares fields to be protected. Since the class is final, it can not be derived from, and the use of protected is confusing. The access modifier for the field should be changed to private or public to represent the true use for the field.
> ModelViewEntity.java:-1, CI_CONFUSED_INHERITANCE
> - CI: Class org.apache.ofbiz.entity.model.ModelViewEntity$ViewConditionExpr is final but declares protected field org.apache.ofbiz.entity.model.ModelViewEntity$ViewConditionExpr.relEntityAlias
> This class is declared to be final, but declares fields to be protected. Since the class is final, it can not be derived from, and the use of protected is confusing. The access modifier for the field should be changed to private or public to represent the true use for the field.
> ModelViewEntity.java:-1, CI_CONFUSED_INHERITANCE
> - CI: Class org.apache.ofbiz.entity.model.ModelViewEntity$ViewEntityCondition is final but declares protected field org.apache.ofbiz.entity.model.ModelViewEntity$ViewEntityCondition.filterByDate
> This class is declared to be final, but declares fields to be protected. Since the class is final, it can not be derived from, and the use of protected is confusing. The access modifier for the field should be changed to private or public to represent the true use for the field.
> ModelViewEntity.java:-1, CI_CONFUSED_INHERITANCE
> - CI: Class org.apache.ofbiz.entity.model.ModelViewEntity$ViewEntityCondition is final but declares protected field org.apache.ofbiz.entity.model.ModelViewEntity$ViewEntityCondition.havingCondition
> This class is declared to be final, but declares fields to be protected. Since the class is final, it can not be derived from, and the use of protected is confusing. The access modifier for the field should be changed to private or public to represent the true use for the field.
> ModelViewEntity.java:-1, CI_CONFUSED_INHERITANCE
> - CI: Class org.apache.ofbiz.entity.model.ModelViewEntity$ViewConditionExpr is final but declares protected field org.apache.ofbiz.entity.model.ModelViewEntity$ViewConditionExpr.value
> This class is declared to be final, but declares fields to be protected. Since the class is final, it can not be derived from, and the use of protected is confusing. The access modifier for the field should be changed to private or public to represent the true use for the field.
> ModelViewEntity.java:-1, CI_CONFUSED_INHERITANCE
> - CI: Class org.apache.ofbiz.entity.model.ModelViewEntity$ViewConditionExpr is final but declares protected field org.apache.ofbiz.entity.model.ModelViewEntity$ViewConditionExpr.operator
> This class is declared to be final, but declares fields to be protected. Since the class is final, it can not be derived from, and the use of protected is confusing. The access modifier for the field should be changed to private or public to represent the true use for the field.
> ModelViewEntity.java:-1, CI_CONFUSED_INHERITANCE
> - CI: Class org.apache.ofbiz.entity.model.ModelViewEntity$ModelConversion is final but declares protected field org.apache.ofbiz.entity.model.ModelViewEntity$ModelConversion.fieldMap
> This class is declared to be final, but declares fields to be protected. Since the class is final, it can not be derived from, and the use of protected is confusing. The access modifier for the field should be changed to private or public to represent the true use for the field.
> ModelViewEntity.java:-1, CI_CONFUSED_INHERITANCE
> - CI: Class org.apache.ofbiz.entity.model.ModelViewEntity$ModelAlias is final but declares protected field org.apache.ofbiz.entity.model.ModelViewEntity$ModelAlias.entityAlias
> This class is declared to be final, but declares fields to be protected. Since the class is final, it can not be derived from, and the use of protected is confusing. The access modifier for the field should be changed to private or public to represent the true use for the field.
> ModelViewEntity.java:-1, CI_CONFUSED_INHERITANCE
> - CI: Class org.apache.ofbiz.entity.model.ModelViewEntity$ModelMemberEntity is final but declares protected field org.apache.ofbiz.entity.model.ModelViewEntity$ModelMemberEntity.entityName
> This class is declared to be final, but declares fields to be protected. Since the class is final, it can not be derived from, and the use of protected is confusing. The access modifier for the field should be changed to private or public to represent the true use for the field.
> ModelViewEntity.java:-1, CI_CONFUSED_INHERITANCE
> - CI: Class org.apache.ofbiz.entity.model.ModelViewEntity$ComplexAliasField is final but declares protected field org.apache.ofbiz.entity.model.ModelViewEntity$ComplexAliasField.function
> This class is declared to be final, but declares fields to be protected. Since the class is final, it can not be derived from, and the use of protected is confusing. The access modifier for the field should be changed to private or public to represent the true use for the field.
> ModelViewEntity.java:-1, CI_CONFUSED_INHERITANCE
> - CI: Class org.apache.ofbiz.entity.model.ModelViewEntity$ViewEntityCondition is final but declares protected field org.apache.ofbiz.entity.model.ModelViewEntity$ViewEntityCondition.orderByList
> This class is declared to be final, but declares fields to be protected. Since the class is final, it can not be derived from, and the use of protected is confusing. The access modifier for the field should be changed to private or public to represent the true use for the field.
> ModelViewEntity.java:-1, CI_CONFUSED_INHERITANCE
> - CI: Class org.apache.ofbiz.entity.model.ModelViewEntity$ViewConditionList is final but declares protected field org.apache.ofbiz.entity.model.ModelViewEntity$ViewConditionList.viewEntityCondition
> This class is declared to be final, but declares fields to be protected. Since the class is final, it can not be derived from, and the use of protected is confusing. The access modifier for the field should be changed to private or public to represent the true use for the field.
> ModelViewEntity.java:-1, SE_BAD_FIELD
> - Se: Class org.apache.ofbiz.entity.model.ModelViewEntity$ViewConditionList defines non-transient non-serializable instance field viewEntityCondition
> This Serializable class defines a non-primitive instance field which is neither transient, Serializable, or java.lang.Object, and does not appear to implement the Externalizable interface or the readObject() and writeObject() methods.  Objects of this class will not be deserialized correctly if a non-Serializable object is stored in this field.
> ModelViewEntity.java:-1, CI_CONFUSED_INHERITANCE
> - CI: Class org.apache.ofbiz.entity.model.ModelViewEntity$ViewEntityCondition is final but declares protected field org.apache.ofbiz.entity.model.ModelViewEntity$ViewEntityCondition.whereCondition
> This class is declared to be final, but declares fields to be protected. Since the class is final, it can not be derived from, and the use of protected is confusing. The access modifier for the field should be changed to private or public to represent the true use for the field.
> ModelViewEntity.java:-1, CI_CONFUSED_INHERITANCE
> - CI: Class org.apache.ofbiz.entity.model.ModelViewEntity$ModelViewLink is final but declares protected field org.apache.ofbiz.entity.model.ModelViewEntity$ModelViewLink.entityAlias
> This class is declared to be final, but declares fields to be protected. Since the class is final, it can not be derived from, and the use of protected is confusing. The access modifier for the field should be changed to private or public to represent the true use for the field.
> ModelViewEntity.java:-1, CI_CONFUSED_INHERITANCE
> - CI: Class org.apache.ofbiz.entity.model.ModelViewEntity$ModelViewLink is final but declares protected field org.apache.ofbiz.entity.model.ModelViewEntity$ModelViewLink.keyMaps
> This class is declared to be final, but declares fields to be protected. Since the class is final, it can not be derived from, and the use of protected is confusing. The access modifier for the field should be changed to private or public to represent the true use for the field.
> ModelViewEntity.java:-1, CI_CONFUSED_INHERITANCE
> - CI: Class org.apache.ofbiz.entity.model.ModelViewEntity$ModelAlias is final but declares protected field org.apache.ofbiz.entity.model.ModelViewEntity$ModelAlias.complexAliasMember
> This class is declared to be final, but declares fields to be protected. Since the class is final, it can not be derived from, and the use of protected is confusing. The access modifier for the field should be changed to private or public to represent the true use for the field.
> ModelViewEntity.java:-1, CI_CONFUSED_INHERITANCE
> - CI: Class org.apache.ofbiz.entity.model.ModelViewEntity$ViewConditionExpr is final but declares protected field org.apache.ofbiz.entity.model.ModelViewEntity$ViewConditionExpr.ignoreCase
> This class is declared to be final, but declares fields to be protected. Since the class is final, it can not be derived from, and the use of protected is confusing. The access modifier for the field should be changed to private or public to represent the true use for the field.
> ModelViewEntity.java:-1, CI_CONFUSED_INHERITANCE
> - CI: Class org.apache.ofbiz.entity.model.ModelViewEntity$ComplexAliasField is final but declares protected field org.apache.ofbiz.entity.model.ModelViewEntity$ComplexAliasField.field
> This class is declared to be final, but declares fields to be protected. Since the class is final, it can not be derived from, and the use of protected is confusing. The access modifier for the field should be changed to private or public to represent the true use for the field.
> ModelViewEntity.java:-1, CI_CONFUSED_INHERITANCE
> - CI: Class org.apache.ofbiz.entity.model.ModelViewEntity$ModelAlias is final but declares protected field org.apache.ofbiz.entity.model.ModelViewEntity$ModelAlias.colAlias
> This class is declared to be final, but declares fields to be protected. Since the class is final, it can not be derived from, and the use of protected is confusing. The access modifier for the field should be changed to private or public to represent the true use for the field.
> ModelViewEntity.java:-1, CI_CONFUSED_INHERITANCE
> - CI: Class org.apache.ofbiz.entity.model.ModelViewEntity$ModelConversion is final but declares protected field org.apache.ofbiz.entity.model.ModelViewEntity$ModelConversion.fromModelEntity
> This class is declared to be final, but declares fields to be protected. Since the class is final, it can not be derived from, and the use of protected is confusing. The access modifier for the field should be changed to private or public to represent the true use for the field.
> ModelViewEntity.java:-1, CI_CONFUSED_INHERITANCE
> - CI: Class org.apache.ofbiz.entity.model.ModelViewEntity$ModelAlias is final but declares protected field org.apache.ofbiz.entity.model.ModelViewEntity$ModelAlias.description
> This class is declared to be final, but declares fields to be protected. Since the class is final, it can not be derived from, and the use of protected is confusing. The access modifier for the field should be changed to private or public to represent the true use for the field.
> ModelViewEntity.java:-1, CI_CONFUSED_INHERITANCE
> - CI: Class org.apache.ofbiz.entity.model.ModelViewEntity$ModelAlias is final but declares protected field org.apache.ofbiz.entity.model.ModelViewEntity$ModelAlias.fieldSet
> This class is declared to be final, but declares fields to be protected. Since the class is final, it can not be derived from, and the use of protected is confusing. The access modifier for the field should be changed to private or public to represent the true use for the field.
> ModelViewEntity.java:-1, CI_CONFUSED_INHERITANCE
> - CI: Class org.apache.ofbiz.entity.model.ModelViewEntity$ComplexAliasField is final but declares protected field org.apache.ofbiz.entity.model.ModelViewEntity$ComplexAliasField.entityAlias
> This class is declared to be final, but declares fields to be protected. Since the class is final, it can not be derived from, and the use of protected is confusing. The access modifier for the field should be changed to private or public to represent the true use for the field.
> ModelViewEntity.java:-1, CI_CONFUSED_INHERITANCE
> - CI: Class org.apache.ofbiz.entity.model.ModelViewEntity$ModelAlias is final but declares protected field org.apache.ofbiz.entity.model.ModelViewEntity$ModelAlias.groupBy
> This class is declared to be final, but declares fields to be protected. Since the class is final, it can not be derived from, and the use of protected is confusing. The access modifier for the field should be changed to private or public to represent the true use for the field.
> ModelViewEntity.java:-1, CI_CONFUSED_INHERITANCE
> - CI: Class org.apache.ofbiz.entity.model.ModelViewEntity$ModelAlias is final but declares protected field org.apache.ofbiz.entity.model.ModelViewEntity$ModelAlias.name
> This class is declared to be final, but declares fields to be protected. Since the class is final, it can not be derived from, and the use of protected is confusing. The access modifier for the field should be changed to private or public to represent the true use for the field.
> ModelViewEntity.java:-1, CI_CONFUSED_INHERITANCE
> - CI: Class org.apache.ofbiz.entity.model.ModelViewEntity$ViewConditionExpr is final but declares protected field org.apache.ofbiz.entity.model.ModelViewEntity$ViewConditionExpr.entityAlias
> This class is declared to be final, but declares fields to be protected. Since the class is final, it can not be derived from, and the use of protected is confusing. The access modifier for the field should be changed to private or public to represent the true use for the field.
> ModelViewEntity.java:-1, CI_CONFUSED_INHERITANCE
> - CI: Class org.apache.ofbiz.entity.model.ModelViewEntity$ComplexAlias is final but declares protected field org.apache.ofbiz.entity.model.ModelViewEntity$ComplexAlias.operator
> This class is declared to be final, but declares fields to be protected. Since the class is final, it can not be derived from, and the use of protected is confusing. The access modifier for the field should be changed to private or public to represent the true use for the field.
> ModelViewEntity.java:-1, CI_CONFUSED_INHERITANCE
> - CI: Class org.apache.ofbiz.entity.model.ModelViewEntity$ViewConditionList is final but declares protected field org.apache.ofbiz.entity.model.ModelViewEntity$ViewConditionList.conditionList
> This class is declared to be final, but declares fields to be protected. Since the class is final, it can not be derived from, and the use of protected is confusing. The access modifier for the field should be changed to private or public to represent the true use for the field.
> ModelViewEntity.java:-1, CI_CONFUSED_INHERITANCE
> - CI: Class org.apache.ofbiz.entity.model.ModelViewEntity$ViewConditionExpr is final but declares protected field org.apache.ofbiz.entity.model.ModelViewEntity$ViewConditionExpr.fieldName
> This class is declared to be final, but declares fields to be protected. Since the class is final, it can not be derived from, and the use of protected is confusing. The access modifier for the field should be changed to private or public to represent the true use for the field.
> ModelViewEntity.java:-1, CI_CONFUSED_INHERITANCE
> - CI: Class org.apache.ofbiz.entity.model.ModelViewEntity$ComplexAlias is final but declares protected field org.apache.ofbiz.entity.model.ModelViewEntity$ComplexAlias.complexAliasMembers
> This class is declared to be final, but declares fields to be protected. Since the class is final, it can not be derived from, and the use of protected is confusing. The access modifier for the field should be changed to private or public to represent the true use for the field.
> ModelViewEntity.java:-1, CI_CONFUSED_INHERITANCE
> - CI: Class org.apache.ofbiz.entity.model.ModelViewEntity$ViewEntityCondition is final but declares protected field org.apache.ofbiz.entity.model.ModelViewEntity$ViewEntityCondition.distinct
> This class is declared to be final, but declares fields to be protected. Since the class is final, it can not be derived from, and the use of protected is confusing. The access modifier for the field should be changed to private or public to represent the true use for the field.
> ModelViewEntity.java:-1, CI_CONFUSED_INHERITANCE
> - CI: Class org.apache.ofbiz.entity.model.ModelViewEntity$ModelViewLink is final but declares protected field org.apache.ofbiz.entity.model.ModelViewEntity$ModelViewLink.relOptional
> This class is declared to be final, but declares fields to be protected. Since the class is final, it can not be derived from, and the use of protected is confusing. The access modifier for the field should be changed to private or public to represent the true use for the field.
> ModelViewEntity.java:-1, CI_CONFUSED_INHERITANCE
> - CI: Class org.apache.ofbiz.entity.model.ModelViewEntity$ModelViewLink is final but declares protected field org.apache.ofbiz.entity.model.ModelViewEntity$ModelViewLink.viewEntityCondition
> This class is declared to be final, but declares fields to be protected. Since the class is final, it can not be derived from, and the use of protected is confusing. The access modifier for the field should be changed to private or public to represent the true use for the field.
> ModelViewEntity.java:-1, CI_CONFUSED_INHERITANCE
> - CI: Class org.apache.ofbiz.entity.model.ModelViewEntity$ModelAliasAll is final but declares protected field org.apache.ofbiz.entity.model.ModelViewEntity$ModelAliasAll.fieldSet
> This class is declared to be final, but declares fields to be protected. Since the class is final, it can not be derived from, and the use of protected is confusing. The access modifier for the field should be changed to private or public to represent the true use for the field.
> ModelViewEntity.java:-1, SE_BAD_FIELD
> - Se: Class org.apache.ofbiz.entity.model.ModelViewEntity$ModelViewLink defines non-transient non-serializable instance field viewEntityCondition
> This Serializable class defines a non-primitive instance field which is neither transient, Serializable, or java.lang.Object, and does not appear to implement the Externalizable interface or the readObject() and writeObject() methods.  Objects of this class will not be deserialized correctly if a non-Serializable object is stored in this field.
> ModelViewEntity.java:-1, CI_CONFUSED_INHERITANCE
> - CI: Class org.apache.ofbiz.entity.model.ModelViewEntity$ModelViewLink is final but declares protected field org.apache.ofbiz.entity.model.ModelViewEntity$ModelViewLink.relEntityAlias
> This class is declared to be final, but declares fields to be protected. Since the class is final, it can not be derived from, and the use of protected is confusing. The access modifier for the field should be changed to private or public to represent the true use for the field.
> ModelViewEntity.java:-1, CI_CONFUSED_INHERITANCE
> - CI: Class org.apache.ofbiz.entity.model.ModelViewEntity$ModelAlias is final but declares protected field org.apache.ofbiz.entity.model.ModelViewEntity$ModelAlias.function
> This class is declared to be final, but declares fields to be protected. Since the class is final, it can not be derived from, and the use of protected is confusing. The access modifier for the field should be changed to private or public to represent the true use for the field.
> ModelViewEntity.java:-1, CI_CONFUSED_INHERITANCE
> - CI: Class org.apache.ofbiz.entity.model.ModelViewEntity$ComplexAliasField is final but declares protected field org.apache.ofbiz.entity.model.ModelViewEntity$ComplexAliasField.defaultValue
> This class is declared to be final, but declares fields to be protected. Since the class is final, it can not be derived from, and the use of protected is confusing. The access modifier for the field should be changed to private or public to represent the true use for the field.
> ModelViewEntity.java:-1, CI_CONFUSED_INHERITANCE
> - CI: Class org.apache.ofbiz.entity.model.ModelViewEntity$ModelAlias is final but declares protected field org.apache.ofbiz.entity.model.ModelViewEntity$ModelAlias.field
> This class is declared to be final, but declares fields to be protected. Since the class is final, it can not be derived from, and the use of protected is confusing. The access modifier for the field should be changed to private or public to represent the true use for the field.
> ModelViewEntity.java:-1, CI_CONFUSED_INHERITANCE
> - CI: Class org.apache.ofbiz.entity.model.ModelViewEntity$ComplexAliasField is final but declares protected field org.apache.ofbiz.entity.model.ModelViewEntity$ComplexAliasField.value
> This class is declared to be final, but declares fields to be protected. Since the class is final, it can not be derived from, and the use of protected is confusing. The access modifier for the field should be changed to private or public to represent the true use for the field.
> ModelViewEntity.java:-1, CI_CONFUSED_INHERITANCE
> - CI: Class org.apache.ofbiz.entity.model.ModelViewEntity$ModelAlias is final but declares protected field org.apache.ofbiz.entity.model.ModelViewEntity$ModelAlias.isFromAliasAll
> This class is declared to be final, but declares fields to be protected. Since the class is final, it can not be derived from, and the use of protected is confusing. The access modifier for the field should be changed to private or public to represent the true use for the field.
> ModelViewEntity.java:-1, CI_CONFUSED_INHERITANCE
> - CI: Class org.apache.ofbiz.entity.model.ModelViewEntity$ModelAliasAll is final but declares protected field org.apache.ofbiz.entity.model.ModelViewEntity$ModelAliasAll.fieldsToExclude
> This class is declared to be final, but declares fields to be protected. Since the class is final, it can not be derived from, and the use of protected is confusing. The access modifier for the field should be changed to private or public to represent the true use for the field.
> ModelViewEntity.java:-1, SE_BAD_FIELD, Priorität: Normal
> - Se: Class org.apache.ofbiz.entity.model.ModelViewEntity defines non-transient non-serializable instance field viewEntityCondition
> This Serializable class defines a non-primitive instance field which is neither transient, Serializable, or java.lang.Object, and does not appear to implement the Externalizable interface or the readObject() and writeObject() methods.  Objects of this class will not be deserialized correctly if a non-Serializable object is stored in this field.
> ModelViewEntity.java:-1, CI_CONFUSED_INHERITANCE
> - CI: Class org.apache.ofbiz.entity.model.ModelViewEntity$ModelAliasAll is final but declares protected field org.apache.ofbiz.entity.model.ModelViewEntity$ModelAliasAll.entityAlias
> This class is declared to be final, but declares fields to be protected. Since the class is final, it can not be derived from, and the use of protected is confusing. The access modifier for the field should be changed to private or public to represent the true use for the field.
> ModelViewEntity.java:-1, CI_CONFUSED_INHERITANCE
> - CI: Class org.apache.ofbiz.entity.model.ModelViewEntity$ModelAlias is final but declares protected field org.apache.ofbiz.entity.model.ModelViewEntity$ModelAlias.isPk
> This class is declared to be final, but declares fields to be protected. Since the class is final, it can not be derived from, and the use of protected is confusing. The access modifier for the field should be changed to private or public to represent the true use for the field.
> ModelViewEntity.java:-1, CI_CONFUSED_INHERITANCE
> - CI: Class org.apache.ofbiz.entity.model.ModelViewEntity$ModelConversion is final but declares protected field org.apache.ofbiz.entity.model.ModelViewEntity$ModelConversion.wildcards
> This class is declared to be final, but declares fields to be protected. Since the class is final, it can not be derived from, and the use of protected is confusing. The access modifier for the field should be changed to private or public to represent the true use for the field.
> ModelViewEntity.java:-1, CI_CONFUSED_INHERITANCE
> - CI: Class org.apache.ofbiz.entity.model.ModelViewEntity$ModelAliasAll is final but declares protected field org.apache.ofbiz.entity.model.ModelViewEntity$ModelAliasAll.function
> This class is declared to be final, but declares fields to be protected. Since the class is final, it can not be derived from, and the use of protected is confusing. The access modifier for the field should be changed to private or public to represent the true use for the field.
> ModelViewEntity.java:-1, CI_CONFUSED_INHERITANCE
> - CI: Class org.apache.ofbiz.entity.model.ModelViewEntity$ModelMemberEntity is final but declares protected field org.apache.ofbiz.entity.model.ModelViewEntity$ModelMemberEntity.entityAlias
> This class is declared to be final, but declares fields to be protected. Since the class is final, it can not be derived from, and the use of protected is confusing. The access modifier for the field should be changed to private or public to represent the true use for the field.
> ModelViewEntity.java:56, SE_NO_SERIALVERSIONID
> - SnVI: org.apache.ofbiz.entity.model.ModelViewEntity is Serializable; consider declaring a serialVersionUID
> This class implements the Serializable interface, but does not define a serialVersionUID field.  A change as simple as adding a reference to a .class object will add synthetic fields to the class, which will unfortunately change the implicit serialVersionUID (e.g., adding a reference to String.class will generate a static field class$java$lang$String). Also, different source code to bytecode compilers may use different naming conventions for synthetic variables generated for references to class objects or inner classes. To ensure interoperability of Serializable across versions, consider adding an explicit serialVersionUID.
> ModelViewEntity.java:648, RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE
> - RCN: Redundant nullcheck of entFieldList, which is known to be non-null in org.apache.ofbiz.entity.model.ModelViewEntity.expandAllAliasAlls(ModelReader)
> This method contains a redundant check of a known non-null value against the constant null.
> ModelViewEntity.java:747, SE_NO_SERIALVERSIONID
> - SnVI: org.apache.ofbiz.entity.model.ModelViewEntity$ModelMemberEntity is Serializable; consider declaring a serialVersionUID
> This class implements the Serializable interface, but does not define a serialVersionUID field.  A change as simple as adding a reference to a .class object will add synthetic fields to the class, which will unfortunately change the implicit serialVersionUID (e.g., adding a reference to String.class will generate a static field class$java$lang$String). Also, different source code to bytecode compilers may use different naming conventions for synthetic variables generated for references to class objects or inner classes. To ensure interoperability of Serializable across versions, consider adding an explicit serialVersionUID.
> ModelViewEntity.java:772, SE_NO_SERIALVERSIONID
> - SnVI: org.apache.ofbiz.entity.model.ModelViewEntity$ModelAliasAll is Serializable; consider declaring a serialVersionUID
> This class implements the Serializable interface, but does not define a serialVersionUID field.  A change as simple as adding a reference to a .class object will add synthetic fields to the class, which will unfortunately change the implicit serialVersionUID (e.g., adding a reference to String.class will generate a static field class$java$lang$String). Also, different source code to bytecode compilers may use different naming conventions for synthetic variables generated for references to class objects or inner classes. To ensure interoperability of Serializable across versions, consider adding an explicit serialVersionUID.
> ModelViewEntity.java:864, SE_NO_SERIALVERSIONID
> - SnVI: org.apache.ofbiz.entity.model.ModelViewEntity$ModelAlias is Serializable; consider declaring a serialVersionUID
> This class implements the Serializable interface, but does not define a serialVersionUID field.  A change as simple as adding a reference to a .class object will add synthetic fields to the class, which will unfortunately change the implicit serialVersionUID (e.g., adding a reference to String.class will generate a static field class$java$lang$String). Also, different source code to bytecode compilers may use different naming conventions for synthetic variables generated for references to class objects or inner classes. To ensure interoperability of Serializable across versions, consider adding an explicit serialVersionUID.
> ModelViewEntity.java:979, SE_NO_SERIALVERSIONID
> - SnVI: org.apache.ofbiz.entity.model.ModelViewEntity$ComplexAlias is Serializable; consider declaring a serialVersionUID
> This class implements the Serializable interface, but does not define a serialVersionUID field.  A change as simple as adding a reference to a .class object will add synthetic fields to the class, which will unfortunately change the implicit serialVersionUID (e.g., adding a reference to String.class will generate a static field class$java$lang$String). Also, different source code to bytecode compilers may use different naming conventions for synthetic variables generated for references to class objects or inner classes. To ensure interoperability of Serializable across versions, consider adding an explicit serialVersionUID.
> ModelViewEntity.java:1037, SE_NO_SERIALVERSIONID, Priorität: Niedrig
> - SnVI: org.apache.ofbiz.entity.model.ModelViewEntity$ComplexAliasField is Serializable; consider declaring a serialVersionUID
> This class implements the Serializable interface, but does not define a serialVersionUID field.  A change as simple as adding a reference to a .class object will add synthetic fields to the class, which will unfortunately change the implicit serialVersionUID (e.g., adding a reference to String.class will generate a static field class$java$lang$String). Also, different source code to bytecode compilers may use different naming conventions for synthetic variables generated for references to class objects or inner classes. To ensure interoperability of Serializable across versions, consider adding an explicit serialVersionUID.
> ModelViewEntity.java:1100, SE_NO_SERIALVERSIONID
> - SnVI: org.apache.ofbiz.entity.model.ModelViewEntity$ModelViewLink is Serializable; consider declaring a serialVersionUID
> This class implements the Serializable interface, but does not define a serialVersionUID field.  A change as simple as adding a reference to a .class object will add synthetic fields to the class, which will unfortunately change the implicit serialVersionUID (e.g., adding a reference to String.class will generate a static field class$java$lang$String). Also, different source code to bytecode compilers may use different naming conventions for synthetic variables generated for references to class objects or inner classes. To ensure interoperability of Serializable across versions, consider adding an explicit serialVersionUID.
> ModelViewEntity.java:1114, RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE
> - RCN: Redundant nullcheck of keyMap, which is known to be non-null in new org.apache.ofbiz.entity.model.ModelViewEntity$ModelViewLink(ModelViewEntity, Element)
> This method contains a redundant check of a known non-null value against the constant null.
> ModelViewEntity.java:1192, SIC_INNER_SHOULD_BE_STATIC_NEEDS_THIS
> - SIC: The class org.apache.ofbiz.entity.model.ModelViewEntity$ModelConversion could be refactored into a _static_ inner class
> This class is an inner class, but does not use its embedded reference to the object which created it except during construction of the inner object.  This reference makes the instances of the class larger, and may keep the reference to the creator object alive longer than necessary.  If possible, the class should be made into a static inner class. Since the reference to the outer object is required during construction of the inner instance, the inner class will need to be refactored so as to pass a reference to the outer instance to the constructor for the inner class.
> ModelViewEntity.java:1192, SE_NO_SERIALVERSIONID
> - SnVI: org.apache.ofbiz.entity.model.ModelViewEntity$ModelConversion is Serializable; consider declaring a serialVersionUID
> This class implements the Serializable interface, but does not define a serialVersionUID field.  A change as simple as adding a reference to a .class object will add synthetic fields to the class, which will unfortunately change the implicit serialVersionUID (e.g., adding a reference to String.class will generate a static field class$java$lang$String). Also, different source code to bytecode compilers may use different naming conventions for synthetic variables generated for references to class objects or inner classes. To ensure interoperability of Serializable across versions, consider adding an explicit serialVersionUID.
> ModelViewEntity.java:1192, SE_INNER_CLASS
> - Se: org.apache.ofbiz.entity.model.ModelViewEntity$ModelConversion is serializable and an inner class
> This Serializable class is an inner class. Any attempt to serialize it will also serialize the associated outer instance. The outer instance is serializable, so this won't fail, but it might serialize a lot more data than intended. If possible, making the inner class a static inner class (also known as a nested class) should solve the problem.
> ModelViewEntity.java:1266, URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD
> - UrF: Unread public/protected field: org.apache.ofbiz.entity.model.ModelViewEntity$ViewEntityCondition.distinct
> This field is never read.  The field is public or protected, so perhaps it is intended to be used with classes not seen as part of the analysis. If not, consider removing it from the class.
> ModelViewEntity.java:1337, SE_NO_SERIALVERSIONID
> - SnVI: org.apache.ofbiz.entity.model.ModelViewEntity$ViewConditionExpr is Serializable; consider declaring a serialVersionUID
> This class implements the Serializable interface, but does not define a serialVersionUID field.  A change as simple as adding a reference to a .class object will add synthetic fields to the class, which will unfortunately change the implicit serialVersionUID (e.g., adding a reference to String.class will generate a static field class$java$lang$String). Also, different source code to bytecode compilers may use different naming conventions for synthetic variables generated for references to class objects or inner classes. To ensure interoperability of Serializable across versions, consider adding an explicit serialVersionUID.
> ModelViewEntity.java:1379, BC_VACUOUS_INSTANCEOF
> - BC: instanceof will always return true for all nonnull values in org.apache.ofbiz.entity.model.ModelViewEntity$ViewConditionExpr.createCondition(ModelFieldTypeReader, List), since all String are instances of String
> This instanceof test will always return true (unless the value being tested is null). Although this is safe, make sure it isn't an indication of some misunderstanding or some other logic error. If you really want to test the value for being null, perhaps it would be clearer to do better to do a null test rather than an instanceof test.
> ModelViewEntity.java:1455, SE_NO_SERIALVERSIONID
> - SnVI: org.apache.ofbiz.entity.model.ModelViewEntity$ViewConditionList is Serializable; consider declaring a serialVersionUID
> This class implements the Serializable interface, but does not define a serialVersionUID field.  A change as simple as adding a reference to a .class object will add synthetic fields to the class, which will unfortunately change the implicit serialVersionUID (e.g., adding a reference to String.class will generate a static field class$java$lang$String). Also, different source code to bytecode compilers may use different naming conventions for synthetic variables generated for references to class objects or inner classes. To ensure interoperability of Serializable across versions, consider adding an explicit serialVersionUID.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)