Skip to content
Closed
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -1168,7 +1168,7 @@ private List<AppFilterOptions.CountedOption> queryCountedOptions(
}

private String buildScopeClause(String libraryClause, String shelfClause, String magicBookClause) {
var sb = new StringBuilder();
var sb = new StringBuilder(128);
if (!libraryClause.isEmpty()) sb.append(" ").append(libraryClause);
if (!shelfClause.isEmpty()) sb.append(" ").append(shelfClause);
if (!magicBookClause.isEmpty()) sb.append(" ").append(magicBookClause);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ public ResponseEntity<Void> handleRedirect(
throw ApiError.GENERIC_UNAUTHORIZED.createException("Failed to obtain tokens");
}

StringBuilder fragment = new StringBuilder();
StringBuilder fragment = new StringBuilder(256);
fragment.append("access_token=").append(URLEncoder.encode(tokens.get("accessToken"), StandardCharsets.UTF_8));
fragment.append("&refresh_token=").append(URLEncoder.encode(tokens.get("refreshToken"), StandardCharsets.UTF_8));

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ private String hashToSha256(String input) {
try {
MessageDigest digest = MessageDigest.getInstance("SHA-256");
byte[] hash = digest.digest(input.getBytes(StandardCharsets.UTF_8));
StringBuilder hexString = new StringBuilder();
StringBuilder hexString = new StringBuilder(64);
for (byte b : hash) {
String hex = Integer.toHexString(0xff & b);
if (hex.length() == 1) hexString.append('0');
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -254,7 +254,7 @@ private ParsedPattern parsePattern(String pattern) {
}

List<PlaceholderMatch> placeholderMatches = findAllPlaceholders(pattern);
StringBuilder regexBuilder = new StringBuilder();
StringBuilder regexBuilder = new StringBuilder(256);
List<String> placeholderOrder = new ArrayList<>();
int lastEnd = 0;

Expand Down Expand Up @@ -327,7 +327,7 @@ private List<PlaceholderMatch> findAllPlaceholders(String pattern) {
}

private String buildRegexForDateFormat(String dateFormat) {
StringBuilder result = new StringBuilder();
StringBuilder result = new StringBuilder(64);
int i = 0;

while (i < dateFormat.length()) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -413,7 +413,7 @@ private void renderAuthor(Graphics2D g, String author, Palette p, int w, int h,
int bottomBound = h - margin;

String[] authors = author.split(",");
StringBuilder formattedAuthors = new StringBuilder();
StringBuilder formattedAuthors = new StringBuilder(128);
for (int i = 0; i < authors.length; i++) {
if (i > 0) formattedAuthors.append("\n").append(authors[i].trim());
else formattedAuthors.append(authors[i].trim());
Expand Down Expand Up @@ -642,13 +642,13 @@ private Font resolveFont(Graphics2D g, String text, int maxW, int startSize, int

private List<String> wrapText(String text, FontMetrics fm, int maxW, int maxLines) {
List<String> lines = new ArrayList<>();
StringBuilder cur = new StringBuilder();
StringBuilder cur = new StringBuilder(32);

for (String word : WS.split(text.trim())) {
if (fm.stringWidth(word) > maxW) {
if (!cur.isEmpty()) {
lines.add(cur.toString().trim());
cur = new StringBuilder();
cur.setLength(0);
}
lines.addAll(breakWord(word, fm, maxW));
continue;
Expand All @@ -660,7 +660,8 @@ private List<String> wrapText(String text, FontMetrics fm, int maxW, int maxLine
cur.append(" ").append(word);
} else {
lines.add(cur.toString().trim());
cur = new StringBuilder(word);
cur.setLength(0);
cur.append(word);
}
}

Expand All @@ -679,12 +680,12 @@ private List<String> wrapText(String text, FontMetrics fm, int maxW, int maxLine

private List<String> breakWord(String word, FontMetrics fm, int maxW) {
List<String> parts = new ArrayList<>();
StringBuilder cur = new StringBuilder();
StringBuilder cur = new StringBuilder(32);

for (char c : word.toCharArray()) {
if (fm.stringWidth(cur.toString() + c) > maxW && !cur.isEmpty()) {
parts.add(cur.toString());
cur = new StringBuilder();
cur.setLength(0);
}
cur.append(c);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -357,7 +357,7 @@ private List<AudiobookMetadata.ChapterInfo> extractChaptersWithFfprobe(File audi
pb.redirectErrorStream(true);

Process process = pb.start();
StringBuilder output = new StringBuilder();
StringBuilder output = new StringBuilder(4096);

try (BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()))) {
String line;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -291,7 +291,7 @@ private String extractPersonName(Element personElement) {
}

private String extractTextFromElement(Element element) {
StringBuilder text = new StringBuilder();
StringBuilder text = new StringBuilder(1024);
NodeList children = element.getChildNodes();

for (int i = 0; i < children.getLength(); i++) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -513,7 +513,7 @@ private String getSearchTerm(Book book, FetchMetadataRequest request) {

private String truncateToMaxWords(String input) {
String[] words = WHITESPACE_PATTERN.split(input);
StringBuilder truncated = new StringBuilder();
StringBuilder truncated = new StringBuilder(60);

for (String word : words) {
if (truncated.length() + word.length() + 1 > MAX_SEARCH_TERM_LENGTH) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -246,7 +246,7 @@ private void applyMetadataChanges(ComicInfo info, BookMetadataEntity metadata, M
info.setWeb(primaryUrl);

// Notes - Custom Metadata
StringBuilder notesBuilder = new StringBuilder();
StringBuilder notesBuilder = new StringBuilder(1024);
String existingNotes = info.getNotes();

// Preserve existing notes that don't start with [BookLore
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@ private void applyMetadataToDocument(PdfDocument doc, BookMetadataEntity entity,
MetadataCopyHelper helper = new MetadataCopyHelper(entity);

// --- PDF Info Dictionary (legacy) via PDFium4j ---
StringBuilder keywordsBuilder = new StringBuilder();
StringBuilder keywordsBuilder = new StringBuilder(256);
helper.copyCategories(clear != null && clear.isCategories(), cats -> {
if (cats != null && !cats.isEmpty()) {
keywordsBuilder.append(String.join("; ", cats));
Expand Down Expand Up @@ -326,7 +326,7 @@ private void addBookloreRating(Map<String, String> customFields, String prefix,
* insert them as a separate rdf:Description block before &lt;/rdf:RDF&gt;.
*/
private String injectBagElements(String xmpPacket, MetadataCopyHelper helper, MetadataClearFlags clear) {
StringBuilder bags = new StringBuilder();
StringBuilder bags = new StringBuilder(512);

helper.copyTags(clear != null && clear.isTags(), tags -> {
if (tags != null && !tags.isEmpty()) appendBagXml(bags, "tags", tags);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -102,11 +102,11 @@ private int naturalCompare(Path p1, Path p2) {
char c2 = s2.charAt(i2);

if (Character.isDigit(c1) && Character.isDigit(c2)) {
StringBuilder b1 = new StringBuilder();
StringBuilder b1 = new StringBuilder(10);
while (i1 < s1.length() && Character.isDigit(s1.charAt(i1))) {
b1.append(s1.charAt(i1++));
}
StringBuilder b2 = new StringBuilder();
StringBuilder b2 = new StringBuilder(10);
while (i2 < s2.length() && Character.isDigit(s2.charAt(i2))) {
b2.append(s2.charAt(i2++));
}
Expand Down
2 changes: 1 addition & 1 deletion backend/src/main/java/org/booklore/util/Md5Util.java
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ public String md5Hex(String input) {
try {
MessageDigest md = MessageDigest.getInstance("MD5");
byte[] digest = md.digest(input.getBytes(StandardCharsets.UTF_8));
StringBuilder sb = new StringBuilder();
StringBuilder sb = new StringBuilder(32);
for (byte b : digest) {
sb.append(String.format("%02x", b));
}
Comment thread
coderabbitai[bot] marked this conversation as resolved.
Outdated
Expand Down
Loading