FINERACT-822 Enforce MutablePublicArray check

This commit is contained in:
percyashu
2020-06-29 22:28:17 +02:00
committed by Michael Vorburger ⛑️
parent 63c72ee53c
commit 649eb4f843
9 changed files with 21 additions and 15 deletions
+1 -1
View File
@@ -390,7 +390,6 @@ tasks.withType(JavaCompile) {
"JdkObsolete", "JdkObsolete",
"EmptyBlockTag", "EmptyBlockTag",
"MissingSummary", "MissingSummary",
"MutablePublicArray",
"InvalidParam", "InvalidParam",
"ReturnFromVoid", "ReturnFromVoid",
"AlmostJavadoc", "AlmostJavadoc",
@@ -456,6 +455,7 @@ tasks.withType(JavaCompile) {
"ModifyCollectionInEnhancedForLoop", "ModifyCollectionInEnhancedForLoop",
"NonCanonicalType", "NonCanonicalType",
"InvalidInlineTag", "InvalidInlineTag",
"MutablePublicArray",
"OperatorPrecedence", "OperatorPrecedence",
"EqualsGetClass", "EqualsGetClass",
"EqualsUnsafeCast", "EqualsUnsafeCast",
@@ -23,13 +23,14 @@ import static org.apache.fineract.interoperation.util.InteropUtil.PARAM_VALUE;
import com.google.gson.JsonObject; import com.google.gson.JsonObject;
import java.util.Arrays; import java.util.Arrays;
import java.util.List;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
import org.apache.fineract.infrastructure.core.data.DataValidatorBuilder; import org.apache.fineract.infrastructure.core.data.DataValidatorBuilder;
import org.apache.fineract.infrastructure.core.serialization.FromJsonHelper; import org.apache.fineract.infrastructure.core.serialization.FromJsonHelper;
public class ExtensionData { public class ExtensionData {
public static final String[] PARAMS = { PARAM_KEY, PARAM_VALUE }; public static final List<String> PARAMS = List.copyOf(Arrays.asList(PARAM_KEY, PARAM_VALUE));
@NotNull @NotNull
private final String key; private final String key;
@@ -58,7 +59,7 @@ public class ExtensionData {
return null; return null;
} }
jsonHelper.checkForUnsupportedParameters(element, Arrays.asList(PARAMS)); jsonHelper.checkForUnsupportedParameters(element, PARAMS);
String key = jsonHelper.extractStringNamed(PARAM_KEY, element); String key = jsonHelper.extractStringNamed(PARAM_KEY, element);
DataValidatorBuilder dataValidatorCopy = dataValidator.reset().parameter(PARAM_KEY).value(key).notBlank(); DataValidatorBuilder dataValidatorCopy = dataValidator.reset().parameter(PARAM_KEY).value(key).notBlank();
@@ -23,13 +23,14 @@ import static org.apache.fineract.interoperation.util.InteropUtil.PARAM_LONGITUD
import com.google.gson.JsonObject; import com.google.gson.JsonObject;
import java.util.Arrays; import java.util.Arrays;
import java.util.List;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
import org.apache.fineract.infrastructure.core.data.DataValidatorBuilder; import org.apache.fineract.infrastructure.core.data.DataValidatorBuilder;
import org.apache.fineract.infrastructure.core.serialization.FromJsonHelper; import org.apache.fineract.infrastructure.core.serialization.FromJsonHelper;
public class GeoCodeData { public class GeoCodeData {
public static final String[] PARAMS = { PARAM_LATITUDE, PARAM_LONGITUDE }; public static final List<String> PARAMS = List.copyOf(Arrays.asList(PARAM_LATITUDE, PARAM_LONGITUDE));
@NotNull @NotNull
private final String latitude; private final String latitude;
@@ -54,7 +55,7 @@ public class GeoCodeData {
return null; return null;
} }
jsonHelper.checkForUnsupportedParameters(element, Arrays.asList(PARAMS)); jsonHelper.checkForUnsupportedParameters(element, PARAMS);
String latitude = jsonHelper.extractStringNamed(PARAM_LATITUDE, element); String latitude = jsonHelper.extractStringNamed(PARAM_LATITUDE, element);
DataValidatorBuilder dataValidatorCopy = dataValidator.reset().parameter(PARAM_LATITUDE).value(latitude).notBlank(); DataValidatorBuilder dataValidatorCopy = dataValidator.reset().parameter(PARAM_LATITUDE).value(latitude).notBlank();
@@ -27,6 +27,7 @@ import static org.apache.fineract.interoperation.util.InteropUtil.PARAM_SUB_SCEN
import com.google.gson.JsonObject; import com.google.gson.JsonObject;
import java.util.Arrays; import java.util.Arrays;
import java.util.List;
import javax.validation.Valid; import javax.validation.Valid;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
import org.apache.fineract.infrastructure.core.data.DataValidatorBuilder; import org.apache.fineract.infrastructure.core.data.DataValidatorBuilder;
@@ -37,8 +38,8 @@ import org.apache.fineract.interoperation.domain.InteropTransactionScenario;
public class InteropTransactionTypeData { public class InteropTransactionTypeData {
public static final String[] PARAMS = { PARAM_SCENARIO, PARAM_SUB_SCENARIO, PARAM_INITIATOR, PARAM_INITIATOR_TYPE, PARAM_REFUND_INFO, public static final List<String> PARAMS = List.copyOf(Arrays.asList(PARAM_SCENARIO, PARAM_SUB_SCENARIO, PARAM_INITIATOR,
PARAM_BALANCE_OF_PAYMENTS }; PARAM_INITIATOR_TYPE, PARAM_REFUND_INFO, PARAM_BALANCE_OF_PAYMENTS));
@NotNull @NotNull
private final InteropTransactionScenario scenario; private final InteropTransactionScenario scenario;
@@ -92,7 +93,7 @@ public class InteropTransactionTypeData {
return null; return null;
} }
jsonHelper.checkForUnsupportedParameters(element, Arrays.asList(PARAMS)); jsonHelper.checkForUnsupportedParameters(element, PARAMS);
String scenarioString = jsonHelper.extractStringNamed(PARAM_SCENARIO, element); String scenarioString = jsonHelper.extractStringNamed(PARAM_SCENARIO, element);
DataValidatorBuilder dataValidatorCopy = dataValidator.reset().parameter(PARAM_SCENARIO).value(scenarioString).notBlank(); DataValidatorBuilder dataValidatorCopy = dataValidator.reset().parameter(PARAM_SCENARIO).value(scenarioString).notBlank();
@@ -26,6 +26,7 @@ import static org.apache.fineract.interoperation.util.InteropUtil.PARAM_LOCALE;
import com.google.gson.JsonObject; import com.google.gson.JsonObject;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Arrays; import java.util.Arrays;
import java.util.List;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
import org.apache.fineract.infrastructure.core.data.DataValidatorBuilder; import org.apache.fineract.infrastructure.core.data.DataValidatorBuilder;
import org.apache.fineract.infrastructure.core.serialization.FromJsonHelper; import org.apache.fineract.infrastructure.core.serialization.FromJsonHelper;
@@ -34,7 +35,7 @@ import org.apache.fineract.organisation.monetary.domain.MonetaryCurrency;
public class MoneyData { public class MoneyData {
public static final String[] PARAMS = { PARAM_AMOUNT, PARAM_CURRENCY, PARAM_LOCALE }; public static final List<String> PARAMS = List.copyOf(Arrays.asList(PARAM_AMOUNT, PARAM_CURRENCY, PARAM_LOCALE));
@NotNull @NotNull
private final BigDecimal amount; private final BigDecimal amount;
@@ -70,7 +71,7 @@ public class MoneyData {
return null; return null;
} }
jsonHelper.checkForUnsupportedParameters(element, Arrays.asList(PARAMS)); jsonHelper.checkForUnsupportedParameters(element, PARAMS);
String locale = jsonHelper.extractStringNamed(PARAM_LOCALE, element); String locale = jsonHelper.extractStringNamed(PARAM_LOCALE, element);
BigDecimal amount = locale == null ? jsonHelper.extractBigDecimalNamed(PARAM_AMOUNT, element, DEFAULT_LOCALE) BigDecimal amount = locale == null ? jsonHelper.extractBigDecimalNamed(PARAM_AMOUNT, element, DEFAULT_LOCALE)
@@ -18,6 +18,9 @@
*/ */
package org.apache.fineract.portfolio.search.data; package org.apache.fineract.portfolio.search.data;
import java.util.Arrays;
import java.util.List;
public interface AdHocQuerySearchConstants { public interface AdHocQuerySearchConstants {
public static final String AD_HOC_SEARCH_QUERY_RESOURCE_NAME = "adHocQuery"; public static final String AD_HOC_SEARCH_QUERY_RESOURCE_NAME = "adHocQuery";
@@ -53,6 +56,6 @@ public interface AdHocQuerySearchConstants {
public static final String closedLoanStatusOption = "closed"; public static final String closedLoanStatusOption = "closed";
public static final String writeoffLoanStatusOption = "writeoff"; public static final String writeoffLoanStatusOption = "writeoff";
public static final Object[] entityTypeOptions = { "clients", "groups", "loans", "clientIdentifiers" }; public static final List<Object> entityTypeOptions = List.copyOf(Arrays.asList("clients", "groups", "loans", "clientIdentifiers"));
} }
@@ -21,6 +21,7 @@ package org.apache.fineract.portfolio.self.registration;
import java.util.Arrays; import java.util.Arrays;
import java.util.Collections; import java.util.Collections;
import java.util.HashSet; import java.util.HashSet;
import java.util.List;
import java.util.Set; import java.util.Set;
public class SelfServiceApiConstants { public class SelfServiceApiConstants {
@@ -43,7 +44,8 @@ public class SelfServiceApiConstants {
mobileNumberParamName, lastNameParamName, emailParamName, authenticationModeParamName))); mobileNumberParamName, lastNameParamName, emailParamName, authenticationModeParamName)));
public static final Set<String> CREATE_USER_REQUEST_DATA_PARAMETERS = Collections public static final Set<String> CREATE_USER_REQUEST_DATA_PARAMETERS = Collections
.unmodifiableSet(new HashSet<>(Arrays.asList(requestIdParamName, authenticationTokenParamName))); .unmodifiableSet(new HashSet<>(Arrays.asList(requestIdParamName, authenticationTokenParamName)));
public static final Object[] SUPPORTED_AUTHENTICATION_MODE_PARAMETERS = new Object[] { emailModeParamName, mobileModeParamName }; public static final List<Object> SUPPORTED_AUTHENTICATION_MODE_PARAMETERS = List
.copyOf(Arrays.asList(emailModeParamName, mobileModeParamName));
public static final String SELF_SERVICE_USER_ROLE = "Self Service User"; public static final String SELF_SERVICE_USER_ROLE = "Self Service User";
} }
@@ -48,12 +48,10 @@ public class RestAssuredFixture {
this.responseSpec = new ResponseSpecBuilder().expectStatusCode(200).build(); this.responseSpec = new ResponseSpecBuilder().expectStatusCode(200).build();
} }
@SuppressWarnings("TypeParameterUnusedInFormals")
public <T> T httpGet(String apiPath, String jsonAttributeToGetBack) { public <T> T httpGet(String apiPath, String jsonAttributeToGetBack) {
return Utils.performServerGet(this.requestSpec, this.responseSpec, getApiPath(apiPath), jsonAttributeToGetBack); return Utils.performServerGet(this.requestSpec, this.responseSpec, getApiPath(apiPath), jsonAttributeToGetBack);
} }
@SuppressWarnings("TypeParameterUnusedInFormals")
public <T> T httpGet(String apiPath) { public <T> T httpGet(String apiPath) {
return httpGet(apiPath, ""); return httpGet(apiPath, "");
} }
@@ -69,7 +69,6 @@ public class Utils {
} }
} }
@SuppressWarnings("TypeParameterUnusedInFormals")
public static <T> T performServerGet(final RequestSpecification requestSpec, final ResponseSpecification responseSpec, public static <T> T performServerGet(final RequestSpecification requestSpec, final ResponseSpecification responseSpec,
final String getURL, final String jsonAttributeToGetBack) { final String getURL, final String jsonAttributeToGetBack) {
final String json = given().spec(requestSpec).expect().spec(responseSpec).log().ifError().when().get(getURL).andReturn().asString(); final String json = given().spec(requestSpec).expect().spec(responseSpec).log().ifError().when().get(getURL).andReturn().asString();