Skip to content

Commit

Permalink
Fix new Sonar smells
Browse files Browse the repository at this point in the history
  • Loading branch information
artembilan committed Aug 21, 2020
1 parent 973276f commit 3fb6567
Show file tree
Hide file tree
Showing 3 changed files with 47 additions and 32 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.jetbrains.annotations.NotNull;
import org.w3c.dom.Element;

import org.springframework.beans.BeanMetadataElement;
Expand Down Expand Up @@ -91,31 +92,10 @@ private static BeanDefinitionBuilder parseSqlParameter(Element storedProcCompone
String typeName = childElement.getAttribute("type-name");
String returnType = childElement.getAttribute("return-type");

if (StringUtils.hasText(typeName) && StringUtils.hasText(scale)) {
parserContext.getReaderContext().error("'type-name' and 'scale' attributes are mutually exclusive " +
"for 'sql-parameter-definition' element.", storedProcComponent);
}

if (StringUtils.hasText(returnType) && StringUtils.hasText(scale)) {
parserContext.getReaderContext().error("'returnType' and 'scale' attributes are mutually exclusive " +
"for 'sql-parameter-definition' element.", storedProcComponent);
}

final BeanDefinitionBuilder parameterBuilder;
validateParameterAttributes(storedProcComponent, parserContext, scale, typeName, returnType);

if ("OUT".equalsIgnoreCase(direction)) {
parameterBuilder = BeanDefinitionBuilder.genericBeanDefinition(SqlOutParameter.class);
}
else if ("INOUT".equalsIgnoreCase(direction)) {
parameterBuilder = BeanDefinitionBuilder.genericBeanDefinition(SqlInOutParameter.class);
}
else {
parameterBuilder = BeanDefinitionBuilder.genericBeanDefinition(SqlParameter.class);
if (StringUtils.hasText(returnType)) {
parserContext.getReaderContext().error("'return-type' attribute can't be provided " +
"for IN 'sql-parameter-definition' element.", storedProcComponent);
}
}
BeanDefinitionBuilder parameterBuilder =
createParameterBeanDefinitionBuilder(storedProcComponent, parserContext, direction, returnType);

if (StringUtils.hasText(name)) {
parameterBuilder.addConstructorArgValue(name);
Expand All @@ -127,7 +107,6 @@ else if ("INOUT".equalsIgnoreCase(direction)) {

if (StringUtils.hasText(sqlType)) {
JdbcTypesEnum jdbcTypeEnum = JdbcTypesEnum.convertToJdbcTypesEnum(sqlType);

if (jdbcTypeEnum != null) {
parameterBuilder.addConstructorArgValue(jdbcTypeEnum.getCode());
}
Expand Down Expand Up @@ -155,6 +134,42 @@ else if (StringUtils.hasText(scale)) {
return parameterBuilder;
}

private static void validateParameterAttributes(Element storedProcComponent, ParserContext parserContext,
String scale, String typeName, String returnType) {

if (StringUtils.hasText(typeName) && StringUtils.hasText(scale)) {
parserContext.getReaderContext().error("'type-name' and 'scale' attributes are mutually exclusive " +
"for 'sql-parameter-definition' element.", storedProcComponent);
}

if (StringUtils.hasText(returnType) && StringUtils.hasText(scale)) {
parserContext.getReaderContext().error("'returnType' and 'scale' attributes are mutually exclusive " +
"for 'sql-parameter-definition' element.", storedProcComponent);
}
}

@NotNull
private static BeanDefinitionBuilder createParameterBeanDefinitionBuilder(Element storedProcComponent,
ParserContext parserContext, String direction, String returnType) {

final BeanDefinitionBuilder parameterBuilder;

if ("OUT".equalsIgnoreCase(direction)) {
parameterBuilder = BeanDefinitionBuilder.genericBeanDefinition(SqlOutParameter.class);
}
else if ("INOUT".equalsIgnoreCase(direction)) {
parameterBuilder = BeanDefinitionBuilder.genericBeanDefinition(SqlInOutParameter.class);
}
else {
parameterBuilder = BeanDefinitionBuilder.genericBeanDefinition(SqlParameter.class);
if (StringUtils.hasText(returnType)) {
parserContext.getReaderContext().error("'return-type' attribute can't be provided " +
"for IN 'sql-parameter-definition' element.", storedProcComponent);
}
}
return parameterBuilder;
}

/**
* @param storedProcComponent The element.
* @param parserContext The parser context.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -248,18 +248,18 @@ private void getRequestSendAndProduceReply(byte[] value, String uuid) {
}
Message<?> replyMessage = sendAndReceiveMessage(requestMessage);
if (replyMessage != null) {
byte[] replyPayload = null;
if (this.extractPayload) {
value = extractReplyPayload(replyMessage);
replyPayload = extractReplyPayload(replyMessage);
}
else {
if (this.serializer != null) {
value = ((RedisSerializer<Object>) this.serializer).serialize(replyMessage);
if (value == null) {
return;
}
replyPayload = ((RedisSerializer<Object>) this.serializer).serialize(replyMessage);
}
}
this.template.boundListOps(uuid + QUEUE_NAME_SUFFIX).leftPush(value);
if (replyPayload != null) {
this.template.boundListOps(uuid + QUEUE_NAME_SUFFIX).leftPush(replyPayload);
}
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ public RFC5424SyslogParser(boolean retainOriginal) {
catch (IllegalStateException | StringIndexOutOfBoundsException ex) {
map.put(SyslogHeaders.DECODE_ERRORS, "true");
map.put(SyslogHeaders.ERRORS,
(ex instanceof StringIndexOutOfBoundsException ? "Unexpected end of message: " : "")
(ex instanceof StringIndexOutOfBoundsException ? "Unexpected end of message: " : "") // NOSONAR
+ ex.getMessage());
map.put(SyslogHeaders.UNDECODED, line);
}
Expand Down

0 comments on commit 3fb6567

Please sign in to comment.