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

Madhan Neethiraj updated RANGER-5018:
-------------------------------------
    Description: 
Here are the steps I used to update the sources to be compliant with the 
checkstyle requirements:
 # Update IntelliJ IDE (one time operation) with code schema corresponding to 
Ranger checkstyle requirements:
 ## IntelliJ IDEA/Settings/Editor/Code Style/Java
 ## Click on icon next to Scheme, then select Import Scheme/IntelliJ IDEA code 
style XML
 ## Pick dev-support/RangerCodeScheme-IntelliJ.xml from Apache Ranger master 
branch
 ## Click OK, OK
 # Steps to update Java sources in a module to comply with checkstyle 
requirements:
 ## Add following property to module's pom.xml, so that build will fail on 
checkstyle violations
 *** <checkstyle.failOnViolation>true</checkstyle.failOnViolation>
 ## Click on the module name in the Project navigation at the left side of the 
IDE
 ## Click on menu (at the top of the IDE): Code/Reformat Code
 ## Check the following boxes, and click Run
 *** Optimize Imports
 *** Rearrange entries
 *** Cleanup Code
 *** Filters: Scope - All Places
 *** Filters: File mask(s) - *.java
 ## Build the module with command: *mvn clean install*
 ## Review reported errors, similar to errors shown below, update sources to 
address them, ensure that the build succeeds with no errors
 *** [ERROR] src/main/java/org/apache/ranger/audit/test/TestEvents.java:[35] 
(regexp) RegexpMultiline: Blank line after opening brace
 *** [ERROR] src/main/java/org/apache/ranger/audit/test/TestEvents.java:[35,1] 
(design) HideUtilityClassConstructor: Utility classes should not have a public 
or default constructor.
 *** [ERROR] src/main/java/org/apache/ranger/audit/test/TestEvents.java:[45,20] 
(naming) LocalVariableName: Name 'AUDIT_PROPERTIES_FILE' must match pattern 
'^([a-z][a-zA-Z0-9]*|_)$'.
 *** [ERROR] 
src/main/java/org/apache/ranger/audit/provider/AuditMessageException.java:[27] 
(regexp) RegexpMultiline: Blank line after opening brace
 *** [ERROR] 
src/main/java/org/apache/ranger/audit/provider/BufferedAuditProvider.java:[26,44]
 (coding) ExplicitInitialization: Variable 'mBuffer' explicitly initialized to 
'null' (default value for its type).
 *** [ERROR] 
src/main/java/org/apache/ranger/audit/provider/BufferedAuditProvider.java:[27,44]
 (coding) ExplicitInitialization: Variable 'mDestination' explicitly 
initialized to 'null' (default value for its type).
 *** [ERROR] 
src/main/java/org/apache/ranger/audit/provider/AuditWriterFactory.java:[1] 
(misc) NewlineAtEndOfFile: File does not end with a newline
 *** [ERROR] 
src/main/java/org/apache/ranger/audit/provider/AuditWriterFactory.java:[35,49] 
(coding) ExplicitInitialization: Variable 'me' explicitly initialized to 'null' 
(default value for its type).
 *** ...
 *** [ERROR] Failed to execute goal 
org.apache.maven.plugins:maven-checkstyle-plugin:3.1.0:check (checkstyle-check) 
on project ranger-plugins-audit: You have 399 Checkstyle violations. -> [Help 1]
 ## Review each Java file in the module for the following and update where 
necessary
 ### Ensure that Logger initialization is at the top of the class, immediately 
after class declartion. It is likely that the code reformat performed earlier 
pushed this line after other initializations
 **** private static final Logger LOG = 
LoggerFactory.getLogger(TestEvents.class);


 ### Separate member declaration of different scope/visibility with an empty 
line - if it helps readability. Example:
 **** private static final Logger logger = 
LoggerFactory.getLogger(AuditWriterFactory.class);
 ****  
 **** public static final  String AUDIT_FILETYPE_DEFAULT     = "json";
 **** public static final  String AUDIT_JSON_FILEWRITER_IMPL = 
"org.apache.ranger.audit.utils.RangerJSONAuditWriter";
 **** public static final  String AUDIT_ORC_FILEWRITER_IMPL  = 
"org.apache.ranger.audit.utils.RangerORCAuditWriter";
 ****  
 **** private static volatile AuditWriterFactory me;
 ****  
 **** public Map<String, String> auditConfigs;
 **** public Properties          props;


 ### Join multiline statements into a single line. Example:
 **** long timeSinceLastFlush = System.currentTimeMillis()
              - lastFlushTime;
 **** long timeSinceLastFlush = System.currentTimeMillis() - lastFlushTime;
 ### Replace log statements having string concats with parameterized message. 
Example:
 **** LOG.info("AsyncAuditProvider-stats:" + mName + ": process lifetime"
               + ": inLogs=" + lifeTimeInLogCount.get()
               + ", outLogs=" + lifeTimeOutLogCount.get()
               + ", dropped=" + lifeTimeDropCount.get());
 **** LOG.info("AsyncAuditProvider-stats:{}: process lifetime: inLogs={}, 
outLogs={}, dropped={}", mName, lifeTimeInLogCount, lifeTimeOutLogCount, 
lifeTimeDropCount);
 ### Review Warnings flagged by the IDE by clicking on icon at the top-right of 
the source file, and address as many of them as safely possible. However, 
please make sure to not make any changes that can break existing usage (see 
examples given below). Note that usage of a class (methods, fields) may not be 
in Ranger repo - consider plugins for NiFi, Kudu, Trino that are not in Ranger 
repo.
 #### remove/rename a method or field
 #### changing visibility of a method or field
 #### changing signature of a method

> agents-audit module: update for code readability improvement
> ------------------------------------------------------------
>
>                 Key: RANGER-5018
>                 URL: https://issues.apache.org/jira/browse/RANGER-5018
>             Project: Ranger
>          Issue Type: Sub-task
>          Components: audit
>            Reporter: Madhan Neethiraj
>            Assignee: Madhan Neethiraj
>            Priority: Major
>             Fix For: 3.0.0
>
>         Attachments: RANGER-5018.patch
>
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> Here are the steps I used to update the sources to be compliant with the 
> checkstyle requirements:
>  # Update IntelliJ IDE (one time operation) with code schema corresponding to 
> Ranger checkstyle requirements:
>  ## IntelliJ IDEA/Settings/Editor/Code Style/Java
>  ## Click on icon next to Scheme, then select Import Scheme/IntelliJ IDEA 
> code style XML
>  ## Pick dev-support/RangerCodeScheme-IntelliJ.xml from Apache Ranger master 
> branch
>  ## Click OK, OK
>  # Steps to update Java sources in a module to comply with checkstyle 
> requirements:
>  ## Add following property to module's pom.xml, so that build will fail on 
> checkstyle violations
>  *** <checkstyle.failOnViolation>true</checkstyle.failOnViolation>
>  ## Click on the module name in the Project navigation at the left side of 
> the IDE
>  ## Click on menu (at the top of the IDE): Code/Reformat Code
>  ## Check the following boxes, and click Run
>  *** Optimize Imports
>  *** Rearrange entries
>  *** Cleanup Code
>  *** Filters: Scope - All Places
>  *** Filters: File mask(s) - *.java
>  ## Build the module with command: *mvn clean install*
>  ## Review reported errors, similar to errors shown below, update sources to 
> address them, ensure that the build succeeds with no errors
>  *** [ERROR] src/main/java/org/apache/ranger/audit/test/TestEvents.java:[35] 
> (regexp) RegexpMultiline: Blank line after opening brace
>  *** [ERROR] 
> src/main/java/org/apache/ranger/audit/test/TestEvents.java:[35,1] (design) 
> HideUtilityClassConstructor: Utility classes should not have a public or 
> default constructor.
>  *** [ERROR] 
> src/main/java/org/apache/ranger/audit/test/TestEvents.java:[45,20] (naming) 
> LocalVariableName: Name 'AUDIT_PROPERTIES_FILE' must match pattern 
> '^([a-z][a-zA-Z0-9]*|_)$'.
>  *** [ERROR] 
> src/main/java/org/apache/ranger/audit/provider/AuditMessageException.java:[27]
>  (regexp) RegexpMultiline: Blank line after opening brace
>  *** [ERROR] 
> src/main/java/org/apache/ranger/audit/provider/BufferedAuditProvider.java:[26,44]
>  (coding) ExplicitInitialization: Variable 'mBuffer' explicitly initialized 
> to 'null' (default value for its type).
>  *** [ERROR] 
> src/main/java/org/apache/ranger/audit/provider/BufferedAuditProvider.java:[27,44]
>  (coding) ExplicitInitialization: Variable 'mDestination' explicitly 
> initialized to 'null' (default value for its type).
>  *** [ERROR] 
> src/main/java/org/apache/ranger/audit/provider/AuditWriterFactory.java:[1] 
> (misc) NewlineAtEndOfFile: File does not end with a newline
>  *** [ERROR] 
> src/main/java/org/apache/ranger/audit/provider/AuditWriterFactory.java:[35,49]
>  (coding) ExplicitInitialization: Variable 'me' explicitly initialized to 
> 'null' (default value for its type).
>  *** ...
>  *** [ERROR] Failed to execute goal 
> org.apache.maven.plugins:maven-checkstyle-plugin:3.1.0:check 
> (checkstyle-check) on project ranger-plugins-audit: You have 399 Checkstyle 
> violations. -> [Help 1]
>  ## Review each Java file in the module for the following and update where 
> necessary
>  ### Ensure that Logger initialization is at the top of the class, 
> immediately after class declartion. It is likely that the code reformat 
> performed earlier pushed this line after other initializations
>  **** private static final Logger LOG = 
> LoggerFactory.getLogger(TestEvents.class);
>  ### Separate member declaration of different scope/visibility with an empty 
> line - if it helps readability. Example:
>  **** private static final Logger logger = 
> LoggerFactory.getLogger(AuditWriterFactory.class);
>  ****  
>  **** public static final  String AUDIT_FILETYPE_DEFAULT     = "json";
>  **** public static final  String AUDIT_JSON_FILEWRITER_IMPL = 
> "org.apache.ranger.audit.utils.RangerJSONAuditWriter";
>  **** public static final  String AUDIT_ORC_FILEWRITER_IMPL  = 
> "org.apache.ranger.audit.utils.RangerORCAuditWriter";
>  ****  
>  **** private static volatile AuditWriterFactory me;
>  ****  
>  **** public Map<String, String> auditConfigs;
>  **** public Properties          props;
>  ### Join multiline statements into a single line. Example:
>  **** long timeSinceLastFlush = System.currentTimeMillis()
>               - lastFlushTime;
>  **** long timeSinceLastFlush = System.currentTimeMillis() - lastFlushTime;
>  ### Replace log statements having string concats with parameterized message. 
> Example:
>  **** LOG.info("AsyncAuditProvider-stats:" + mName + ": process lifetime"
>                + ": inLogs=" + lifeTimeInLogCount.get()
>                + ", outLogs=" + lifeTimeOutLogCount.get()
>                + ", dropped=" + lifeTimeDropCount.get());
>  **** LOG.info("AsyncAuditProvider-stats:{}: process lifetime: inLogs={}, 
> outLogs={}, dropped={}", mName, lifeTimeInLogCount, lifeTimeOutLogCount, 
> lifeTimeDropCount);
>  ### Review Warnings flagged by the IDE by clicking on icon at the top-right 
> of the source file, and address as many of them as safely possible. However, 
> please make sure to not make any changes that can break existing usage (see 
> examples given below). Note that usage of a class (methods, fields) may not 
> be in Ranger repo - consider plugins for NiFi, Kudu, Trino that are not in 
> Ranger repo.
>  #### remove/rename a method or field
>  #### changing visibility of a method or field
>  #### changing signature of a method



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to