Skip to content

Commit 76d0c17

Browse files
committed
HBX-3189: Improve the implementation of classes StringUtil and NameConverter
Signed-off-by: Koen Aers <koen.aers@gmail.com>
1 parent b2bd1e0 commit 76d0c17

File tree

2 files changed

+25
-39
lines changed

2 files changed

+25
-39
lines changed

orm/src/main/java/org/hibernate/tool/internal/util/NameConverter.java

Lines changed: 13 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@
55

66
final public class NameConverter {
77

8-
private static Set<String> RESERVED_KEYWORDS;
8+
private static final Set<String> RESERVED_KEYWORDS;
99
static {
10-
RESERVED_KEYWORDS = new HashSet<String>();
10+
RESERVED_KEYWORDS = new HashSet<>();
1111

1212
RESERVED_KEYWORDS.add( "abstract" );
1313
RESERVED_KEYWORDS.add( "continue" );
@@ -61,29 +61,26 @@ final public class NameConverter {
6161
RESERVED_KEYWORDS.add( "while" );
6262
}
6363

64-
private NameConverter() {
65-
66-
}
64+
private NameConverter() {}
6765

6866
/**
6967
* Converts a database name (table or column) to a java name (first letter capitalised).
7068
* employee_name -> EmployeeName.
71-
*
69+
* <p>
7270
* Derived from middlegen's dbnameconverter.
7371
* @param s The database name to convert.
7472
*
7573
* @return The converted database name.
7674
*/
7775
public static String toUpperCamelCase(String s) {
78-
if ( "".equals(s) ) {
76+
if (s.isEmpty()) {
7977
return s;
8078
}
81-
StringBuffer result = new StringBuffer();
79+
StringBuilder result = new StringBuilder();
8280

8381
boolean capitalize = true;
8482
boolean lastCapital = false;
8583
boolean lastDecapitalized = false;
86-
String p = null;
8784
for (int i = 0; i < s.length(); i++) {
8885
String c = s.substring(i, i + 1);
8986
if ( "_".equals(c) || " ".equals(c) || "-".equals(c) ) {
@@ -104,26 +101,16 @@ public static String toUpperCamelCase(String s) {
104101
//if(forceFirstLetter && result.length()==0) capitalize = false;
105102

106103
if (capitalize) {
107-
if (p == null || !p.equals("_") ) {
108-
result.append(c.toUpperCase() );
109-
capitalize = false;
110-
p = c;
111-
}
112-
else {
113-
result.append(c.toLowerCase() );
114-
capitalize = false;
115-
p = c;
116-
}
117-
}
104+
result.append(c.toUpperCase());
105+
capitalize = false;
106+
}
118107
else {
119108
result.append(c.toLowerCase() );
120109
lastDecapitalized = true;
121-
p = c;
122-
}
123-
124-
}
125-
String r = result.toString();
126-
return r;
110+
}
111+
112+
}
113+
return result.toString();
127114
}
128115

129116
static public String simplePluralize(String singular) {

orm/src/main/java/org/hibernate/tool/internal/util/StringUtil.java

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package org.hibernate.tool.internal.util;
22

3+
import java.util.Objects;
34
import java.util.StringTokenizer;
45

56
/**
@@ -27,7 +28,7 @@ public static String[] split(String str, String separator) {
2728
StringTokenizer tok = null;
2829
if (separator == null) {
2930
tok = new StringTokenizer(str);
30-
}
31+
}
3132
else {
3233
tok = new StringTokenizer(str, separator);
3334
}
@@ -42,26 +43,24 @@ public static String[] split(String str, String separator) {
4243
lastTokenBegin = str.indexOf(list[i], lastTokenEnd);
4344
lastTokenEnd = lastTokenBegin + list[i].length();
4445
i++;
45-
}
46+
}
4647
return list;
4748
}
4849

4950
public static String leftPad(String str, int size) {
5051
size = (size - str.length() );
5152
if (size > 0) {
52-
StringBuffer buffer = new StringBuffer(size);
53-
for (int i = 0; i < size; i++) {
54-
buffer.append(" ");
55-
}
56-
str = buffer.toString() + str;
53+
str = " ".repeat(size) + str;
5754
}
5855
return str;
5956
}
6057

61-
public static boolean isEqual(String str1, String str2) {
62-
if(str1==str2) return true;
63-
if(str1!=null && str1.equals(str2) ) return true;
64-
return false;
65-
}
66-
58+
public static boolean isEqual(String str1, String str2) {
59+
return Objects.equals( str1, str2 );
60+
}
61+
62+
public static boolean isEmptyOrNull(String string) {
63+
return string == null || string.isEmpty();
64+
}
65+
6766
}

0 commit comments

Comments
 (0)