11/*
2- * This file is part of git-commit-id-maven-plugin by Konrad 'ktoso' Malawski <[email protected] > 2+ * This file is part of git-commit-id-maven-plugin
3+ * Originally invented by Konrad 'ktoso' Malawski <[email protected] > 34 *
45 * git-commit-id-maven-plugin is free software: you can redistribute it and/or modify
56 * it under the terms of the GNU Lesser General Public License as published by
1718
1819package pl .project13 .maven .git ;
1920
21+ import java .util .List ;
22+ import java .util .Optional ;
23+ import java .util .Properties ;
24+ import java .util .regex .Pattern ;
2025import org .apache .maven .plugin .PluginParameterExpressionEvaluator ;
2126import pl .project13 .core .log .LogInterface ;
2227
23- import java .util .*;
24- import java .util .regex .Pattern ;
25-
2628/**
27- * This class encapsulates logic to perform property replacements.
28- * For a use-case refer to https://github.com/git-commit-id/git-commit-id-maven-plugin/issues/317.
29+ * This class encapsulates logic to perform property replacements. For a use-case refer to
30+ * https://github.com/git-commit-id/git-commit-id-maven-plugin/issues/317.
2931 */
3032public class PropertiesReplacer {
3133 private final LogInterface log ;
3234 private final PluginParameterExpressionEvaluator expressionEvaluator ;
3335
3436 /**
3537 * Constructor to encapsulates all references required to perform property replacements.
38+ *
3639 * @param log The logger to log any messages
37- * @param expressionEvaluator Maven's PluginParameterExpressionEvaluator
38- * (see https://github.com/git-commit-id/git-commit-id-maven-plugin/issues/413 why it's needed)
40+ * @param expressionEvaluator Maven's PluginParameterExpressionEvaluator (see
41+ * https://github.com/git-commit-id/git-commit-id-maven-plugin/issues/413 why it's needed)
3942 */
40- public PropertiesReplacer (LogInterface log , PluginParameterExpressionEvaluator expressionEvaluator ) {
43+ public PropertiesReplacer (
44+ LogInterface log , PluginParameterExpressionEvaluator expressionEvaluator ) {
4145 this .log = log ;
4246 this .expressionEvaluator = expressionEvaluator ;
4347 }
4448
4549 /**
4650 * Method that performs the actual property replacement.
51+ *
4752 * @param properties all properties that are being generated by the plugin
4853 * @param replacementProperties list of all replacement actions to perform
4954 */
50- public void performReplacement (Properties properties , List <ReplacementProperty > replacementProperties ) {
55+ public void performReplacement (
56+ Properties properties , List <ReplacementProperty > replacementProperties ) {
5157 if ((replacementProperties != null ) && (properties != null )) {
52- for (ReplacementProperty replacementProperty : replacementProperties ) {
58+ for (ReplacementProperty replacementProperty : replacementProperties ) {
5359 String propertyKey = replacementProperty .getProperty ();
5460 if (propertyKey == null ) {
5561 performReplacementOnAllGeneratedProperties (properties , replacementProperty );
@@ -60,63 +66,112 @@ public void performReplacement(Properties properties, List<ReplacementProperty>
6066 }
6167 }
6268
63- private void performReplacementOnAllGeneratedProperties (Properties properties , ReplacementProperty replacementProperty ) {
69+ private void performReplacementOnAllGeneratedProperties (
70+ Properties properties , ReplacementProperty replacementProperty ) {
6471 for (String propertyName : properties .stringPropertyNames ()) {
6572 String content = properties .getProperty (propertyName );
6673 String result = performReplacement (replacementProperty , content );
67- if ((replacementProperty .getPropertyOutputSuffix () != null ) && (!replacementProperty .getPropertyOutputSuffix ().isEmpty ())) {
74+ if ((replacementProperty .getPropertyOutputSuffix () != null )
75+ && (!replacementProperty .getPropertyOutputSuffix ().isEmpty ())) {
6876 String newPropertyKey = propertyName + "." + replacementProperty .getPropertyOutputSuffix ();
6977 properties .setProperty (newPropertyKey , result );
70- log .info ("apply replace on property " + propertyName + " and save to " + newPropertyKey + ": original value '" + content + "' with '" + result + "'" );
78+ log .info (
79+ "apply replace on property "
80+ + propertyName
81+ + " and save to "
82+ + newPropertyKey
83+ + ": original value '"
84+ + content
85+ + "' with '"
86+ + result
87+ + "'" );
7188 } else {
7289 properties .setProperty (propertyName , result );
73- log .info ("apply replace on property " + propertyName + ": original value '" + content + "' with '" + result + "'" );
90+ log .info (
91+ "apply replace on property "
92+ + propertyName
93+ + ": original value '"
94+ + content
95+ + "' with '"
96+ + result
97+ + "'" );
7498 }
7599 }
76100 }
77101
78- private void performReplacementOnSingleProperty (Properties properties , ReplacementProperty replacementProperty , String propertyKey ) {
102+ private void performReplacementOnSingleProperty (
103+ Properties properties , ReplacementProperty replacementProperty , String propertyKey ) {
79104 String content = properties .getProperty (propertyKey );
80105 String result = performReplacement (replacementProperty , content );
81- if ((replacementProperty .getPropertyOutputSuffix () != null ) && (!replacementProperty .getPropertyOutputSuffix ().isEmpty ())) {
106+ if ((replacementProperty .getPropertyOutputSuffix () != null )
107+ && (!replacementProperty .getPropertyOutputSuffix ().isEmpty ())) {
82108 String newPropertyKey = propertyKey + "." + replacementProperty .getPropertyOutputSuffix ();
83109 properties .setProperty (newPropertyKey , result );
84- log .info ("apply replace on property " + propertyKey + " and save to " + newPropertyKey + ": original value '" + content + "' with '" + result + "'" );
110+ log .info (
111+ "apply replace on property "
112+ + propertyKey
113+ + " and save to "
114+ + newPropertyKey
115+ + ": original value '"
116+ + content
117+ + "' with '"
118+ + result
119+ + "'" );
85120 } else {
86121 properties .setProperty (propertyKey , result );
87- log .info ("apply replace on property " + propertyKey + ": original value '" + content + "' with '" + result + "'" );
122+ log .info (
123+ "apply replace on property "
124+ + propertyKey
125+ + ": original value '"
126+ + content
127+ + "' with '"
128+ + result
129+ + "'" );
88130 }
89131 }
90132
91133 private String performReplacement (ReplacementProperty replacementProperty , String content ) {
92134 String evaluationContent = content ;
93- if (evaluationContent == null || evaluationContent .isEmpty () || replacementProperty .isForceValueEvaluation ()) {
135+ if (evaluationContent == null
136+ || evaluationContent .isEmpty ()
137+ || replacementProperty .isForceValueEvaluation ()) {
94138 evaluationContent = replacementProperty .getValue ();
95139 }
96140 String result = "" ;
97141 try {
98- result = Optional
99- .ofNullable (expressionEvaluator .evaluate (evaluationContent ))
100- .map (x -> x .toString ()).orElse (evaluationContent );
142+ result =
143+ Optional .ofNullable (expressionEvaluator .evaluate (evaluationContent ))
144+ .map (x -> x .toString ())
145+ .orElse (evaluationContent );
101146 } catch (Exception e ) {
102147 log .error ("Something went wrong performing the replacement." , e );
103148 }
104149 if (replacementProperty != null ) {
105- result = performTransformationRules (replacementProperty , result , TransformationRule .ApplyEnum .BEFORE );
150+ result =
151+ performTransformationRules (
152+ replacementProperty , result , TransformationRule .ApplyEnum .BEFORE );
106153 if (replacementProperty .isRegex ()) {
107- result = replaceRegex (result , replacementProperty .getToken (), replacementProperty .getValue ());
154+ result =
155+ replaceRegex (result , replacementProperty .getToken (), replacementProperty .getValue ());
108156 } else {
109- result = replaceNonRegex (result , replacementProperty .getToken (), replacementProperty .getValue ());
157+ result =
158+ replaceNonRegex (result , replacementProperty .getToken (), replacementProperty .getValue ());
110159 }
111- result = performTransformationRules (replacementProperty , result , TransformationRule .ApplyEnum .AFTER );
160+ result =
161+ performTransformationRules (
162+ replacementProperty , result , TransformationRule .ApplyEnum .AFTER );
112163 }
113164 return result ;
114165 }
115166
116- private String performTransformationRules (ReplacementProperty replacementProperty , String content , TransformationRule .ApplyEnum forRule ) {
167+ private String performTransformationRules (
168+ ReplacementProperty replacementProperty ,
169+ String content ,
170+ TransformationRule .ApplyEnum forRule ) {
117171 String result = content ;
118- if ((replacementProperty .getTransformationRules () != null ) && (!replacementProperty .getTransformationRules ().isEmpty ())) {
119- for (TransformationRule transformationRule : replacementProperty .getTransformationRules ()) {
172+ if ((replacementProperty .getTransformationRules () != null )
173+ && (!replacementProperty .getTransformationRules ().isEmpty ())) {
174+ for (TransformationRule transformationRule : replacementProperty .getTransformationRules ()) {
120175 if (transformationRule .getApplyRule ().equals (forRule )) {
121176 result = transformationRule .getActionRule ().perform (result );
122177 }
0 commit comments