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

Michael Brohl reassigned OFBIZ-9719:
------------------------------------

    Assignee: Michael Brohl

> [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
>            Assignee: Michael Brohl
>            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)

Reply via email to