[ 
https://issues.apache.org/jira/browse/RANGER-5018?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17903564#comment-17903564
 ] 

Madhan Neethiraj edited comment on RANGER-5018 at 12/6/24 9:19 PM:
-------------------------------------------------------------------

* [Patch in review board|https://reviews.apache.org/r/75299]
 * [PR #424|https://github.com/apache/ranger/pull/424]


was (Author: madhan.neethiraj):
[PR #424|https://github.com/apache/ranger/pull/424]

> 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