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

Michael Brohl closed OFBIZ-9683.
--------------------------------
       Resolution: Implemented
    Fix Version/s: Upcoming Release

Thanks Julian,

your patch is in trunk r1812897.


> [FB] Package org.apache.ofbiz.service.eca
> -----------------------------------------
>
>                 Key: OFBIZ-9683
>                 URL: https://issues.apache.org/jira/browse/OFBIZ-9683
>             Project: OFBiz
>          Issue Type: Sub-task
>          Components: ALL APPLICATIONS, ALL COMPONENTS
>    Affects Versions: Trunk
>            Reporter: Julian Leichert
>            Assignee: Michael Brohl
>            Priority: Minor
>             Fix For: Upcoming Release
>
>         Attachments: OFBIZ-9683_org.apache.ofbiz.service.eca_bugfixes.patch
>
>
> ServiceEcaAction.java:43, SE_NO_SERIALVERSIONID
> - SnVI: org.apache.ofbiz.service.eca.ServiceEcaAction 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.
> ServiceEcaAction.java:237, HE_EQUALS_USE_HASHCODE
> - HE: org.apache.ofbiz.service.eca.ServiceEcaAction defines equals and uses 
> Object.hashCode()
> This class overrides equals(Object), but does not override hashCode(), and 
> inherits the implementation of hashCode() from java.lang.Object (which 
> returns the identity hash code, an arbitrary value assigned to the object by 
> the VM).  Therefore, the class is very likely to violate the invariant that 
> equal objects must have equal hashcodes.
> If you don't think instances of this class will ever be inserted into a 
> HashMap/HashTable, the recommended hashCode implementation to use is:
> public int hashCode() {
>   assert false : "hashCode not designed";
>   return 42; // any arbitrary constant will do
>   }
> ServiceEcaCondition.java:42, SE_NO_SERIALVERSIONID
> - SnVI: org.apache.ofbiz.service.eca.ServiceEcaCondition 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.
> ServiceEcaCondition.java:78, RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE
> - RCN: Redundant nullcheck of 
> org.apache.ofbiz.service.eca.ServiceEcaCondition.lhsValueName, which is known 
> to be non-null in new 
> org.apache.ofbiz.service.eca.ServiceEcaCondition(Element, boolean, boolean)
> This method contains a redundant check of a known non-null value against the 
> constant null.
> ServiceEcaCondition.java:81, RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE
> - RCN: Redundant nullcheck of 
> org.apache.ofbiz.service.eca.ServiceEcaCondition.rhsValueName, which is known 
> to be non-null in new 
> org.apache.ofbiz.service.eca.ServiceEcaCondition(Element, boolean, boolean)
> This method contains a redundant check of a known non-null value against the 
> constant null.
> ServiceEcaCondition.java:219, HE_EQUALS_USE_HASHCODE
> - HE: org.apache.ofbiz.service.eca.ServiceEcaCondition defines equals and 
> uses Object.hashCode()
> This class overrides equals(Object), but does not override hashCode(), and 
> inherits the implementation of hashCode() from java.lang.Object (which 
> returns the identity hash code, an arbitrary value assigned to the object by 
> the VM).  Therefore, the class is very likely to violate the invariant that 
> equal objects must have equal hashcodes.
> If you don't think instances of this class will ever be inserted into a 
> HashMap/HashTable, the recommended hashCode implementation to use is:
> public int hashCode() {
>   assert false : "hashCode not designed";
>   return 42; // any arbitrary constant will do
>   }
> ServiceEcaRule.java:-1, CI_CONFUSED_INHERITANCE, Priorität: Niedrig
> CI: Class org.apache.ofbiz.service.eca.ServiceEcaRule is final but declares 
> protected field org.apache.ofbiz.service.eca.ServiceEcaRule.actionsAndSets
> 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.
> ServiceEcaRule.java:-1, CI_CONFUSED_INHERITANCE
> - CI: Class org.apache.ofbiz.service.eca.ServiceEcaRule is final but declares 
> protected field org.apache.ofbiz.service.eca.ServiceEcaRule.enabled
> 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.
> ServiceEcaRule.java:-1, CI_CONFUSED_INHERITANCE
> - CI: Class org.apache.ofbiz.service.eca.ServiceEcaRule is final but declares 
> protected field org.apache.ofbiz.service.eca.ServiceEcaRule.runOnFailure
> 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.
> ServiceEcaRule.java:-1, CI_CONFUSED_INHERITANCE
> - CI: Class org.apache.ofbiz.service.eca.ServiceEcaRule is final but declares 
> protected field org.apache.ofbiz.service.eca.ServiceEcaRule.serviceName
> 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.
> ServiceEcaRule.java:-1, CI_CONFUSED_INHERITANCE
> - CI: Class org.apache.ofbiz.service.eca.ServiceEcaRule is final but declares 
> protected field org.apache.ofbiz.service.eca.ServiceEcaRule.runOnError
> 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.
> ServiceEcaRule.java:-1, CI_CONFUSED_INHERITANCE
> - CI: Class org.apache.ofbiz.service.eca.ServiceEcaRule is final but declares 
> protected field org.apache.ofbiz.service.eca.ServiceEcaRule.conditions
> 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.
> ServiceEcaRule.java:-1, CI_CONFUSED_INHERITANCE
> - CI: Class org.apache.ofbiz.service.eca.ServiceEcaRule is final but declares 
> protected field org.apache.ofbiz.service.eca.ServiceEcaRule.definitionLocation
> 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.
> ServiceEcaRule.java:-1, CI_CONFUSED_INHERITANCE
> - CI: Class org.apache.ofbiz.service.eca.ServiceEcaRule is final but declares 
> protected field org.apache.ofbiz.service.eca.ServiceEcaRule.eventName
> 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.
> ServiceEcaRule.java:41, SE_NO_SERIALVERSIONID
> - SnVI: org.apache.ofbiz.service.eca.ServiceEcaRule 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.
> ServiceEcaRule.java:181, HE_EQUALS_USE_HASHCODE
> - HE: org.apache.ofbiz.service.eca.ServiceEcaRule defines equals and uses 
> Object.hashCode()
> This class overrides equals(Object), but does not override hashCode(), and 
> inherits the implementation of hashCode() from java.lang.Object (which 
> returns the identity hash code, an arbitrary value assigned to the object by 
> the VM).  Therefore, the class is very likely to violate the invariant that 
> equal objects must have equal hashcodes.
> If you don't think instances of this class will ever be inserted into a 
> HashMap/HashTable, the recommended hashCode implementation to use is:
> public int hashCode() {
>   assert false : "hashCode not designed";
>   return 42; // any arbitrary constant will do
>   }
> ServiceEcaSetField.java:109, DM_CONVERT_CASE
> - Dm: Use of non-localized String.toUpperCase() or String.toLowerCase() in 
> org.apache.ofbiz.service.eca.ServiceEcaSetField.format(String, Map)
> 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.
> ServiceEcaSetField.java:144, HE_EQUALS_USE_HASHCODE
> - HE: org.apache.ofbiz.service.eca.ServiceEcaSetField defines equals and uses 
> Object.hashCode()
> This class overrides equals(Object), but does not override hashCode(), and 
> inherits the implementation of hashCode() from java.lang.Object (which 
> returns the identity hash code, an arbitrary value assigned to the object by 
> the VM).  Therefore, the class is very likely to violate the invariant that 
> equal objects must have equal hashcodes.
> If you don't think instances of this class will ever be inserted into a 
> HashMap/HashTable, the recommended hashCode implementation to use is:
> public int hashCode() {
>   assert false : "hashCode not designed";
>   return 42; // any arbitrary constant will do
>   }
> ServiceEcaUtil.java:156, NP_NULL_ON_SOME_PATH
> - NP: Possible null pointer dereference of ServiceEcaUtil.ecaCache in 
> org.apache.ofbiz.service.eca.ServiceEcaUtil.getServiceEventMap(String)
> There is a branch of statement that, if executed, guarantees that a null 
> value will be dereferenced, which would generate a NullPointerException when 
> the code is executed. Of course, the problem might be that the branch or 
> statement is infeasible and that the null pointer exception can't ever be 
> executed; deciding that is beyond the ability of FindBugs.



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

Reply via email to