addressed some sonar issues

This commit is contained in:
Sheldan
2020-05-27 18:41:31 +02:00
parent f05f088d58
commit 175a92408c
31 changed files with 125 additions and 95 deletions

View File

@@ -56,6 +56,6 @@ public class DatabaseTemplateLoader implements TemplateLoader {
@Override
public void closeTemplateSource(Object o) throws IOException {
// do nothing for now
}
}

View File

@@ -90,27 +90,7 @@ public class TemplateServiceBean implements TemplateService {
firstBuilder.setFooter(footer.getText(), footer.getIcon());
}
if(configuration.getFields() != null) {
for (int i = 0; i < configuration.getFields().size(); i++) {
EmbedField field = configuration.getFields().get(i);
if(field != null && field.getValue() != null) {
if(field.getValue().length() > MessageEmbed.VALUE_MAX_LENGTH) {
String substring = field.getValue().substring(MessageEmbed.VALUE_MAX_LENGTH);
field.setValue(field.getValue().substring(0, MessageEmbed.VALUE_MAX_LENGTH));
EmbedField secondPart = EmbedField.builder().inline(field.getInline()).name(field.getName() + " 2").value(substring).build();
configuration.getFields().add(i + 1, secondPart);
}
} else {
log.warn("Field {} in template {} is null.", i, key);
}
}
double neededIndex = Math.ceil(configuration.getFields().size() / 25D) - 1;
extendIfNecessary(embedBuilders, neededIndex);
for (int i = 0; i < configuration.getFields().size(); i++) {
double currentPart = Math.floor(i / 25D);
EmbedField embedField = configuration.getFields().get(i);
Boolean inline = embedField.getInline() != null ? embedField.getInline() : Boolean.FALSE;
embedBuilders.get((int) currentPart).addField(embedField.getName(), embedField.getValue(), inline);
}
createFieldsForEmbed(key, embedBuilders, configuration);
}
firstBuilder.setTimestamp(configuration.getTimeStamp());
@@ -133,6 +113,30 @@ public class TemplateServiceBean implements TemplateService {
.build();
}
private void createFieldsForEmbed(String key, List<EmbedBuilder> embedBuilders, EmbedConfiguration configuration) {
for (int i = 0; i < configuration.getFields().size(); i++) {
EmbedField field = configuration.getFields().get(i);
if(field != null && field.getValue() != null) {
if(field.getValue().length() > MessageEmbed.VALUE_MAX_LENGTH) {
String substring = field.getValue().substring(MessageEmbed.VALUE_MAX_LENGTH);
field.setValue(field.getValue().substring(0, MessageEmbed.VALUE_MAX_LENGTH));
EmbedField secondPart = EmbedField.builder().inline(field.getInline()).name(field.getName() + " 2").value(substring).build();
configuration.getFields().add(i + 1, secondPart);
}
} else {
log.warn("Field {} in template {} is null.", i, key);
}
}
double neededIndex = Math.ceil(configuration.getFields().size() / 25D) - 1;
extendIfNecessary(embedBuilders, neededIndex);
for (int i = 0; i < configuration.getFields().size(); i++) {
double currentPart = Math.floor(i / 25D);
EmbedField embedField = configuration.getFields().get(i);
Boolean inline = embedField.getInline() != null ? embedField.getInline() : Boolean.FALSE;
embedBuilders.get((int) currentPart).addField(embedField.getName(), embedField.getValue(), inline);
}
}
/**
* Enlarges the passed list of builders, if the passed index is not yet available within the list.
* When a new builder is needed, this will automatically set the footer with a page indicator.