Skip to content

Commit d5112ee

Browse files
committed
Extract constants
1 parent 3b6d05c commit d5112ee

File tree

3 files changed

+14
-8
lines changed

3 files changed

+14
-8
lines changed

src/main/java/gr/uom/java/xmi/Constants.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
public enum Constants {
44
JAVA(";\n", "return ", "return;\n", "return true;\n", "return false;\n", "return null;\n", "return this;\n", "=", "break;\n", "continue;\n",
5-
" -> ", "::", " + ", "throw ", "case ", "try", "{", "}", "{", "}", "this.");
5+
" -> ", "::", " + ", "throw ", "case ", "try", "{", "}", "{", "}", "this.", " ? ", " : ");
66
public final String STATEMENT_TERMINATION;
77
public final String RETURN_SPACE;
88
public final String RETURN_STATEMENT;
@@ -24,6 +24,8 @@ public enum Constants {
2424
public final String OPEN_ARRAY_INITIALIZER;
2525
public final String CLOSE_ARRAY_INITIALIZER;
2626
public final String THIS_DOT;
27+
public final String TERNARY_CONDITION;
28+
public final String TERNARY_ELSE;
2729

2830
Constants(
2931
String STATEMENT_TERMINATION,
@@ -46,7 +48,9 @@ public enum Constants {
4648
String CLOSE_BLOCK,
4749
String OPEN_ARRAY_INITIALIZER,
4850
String CLOSE_ARRAY_INITIALIZER,
49-
String THIS_DOT) {
51+
String THIS_DOT,
52+
String TERNARY_CONDITION,
53+
String TERNARY_ELSE) {
5054
this.STATEMENT_TERMINATION = STATEMENT_TERMINATION;
5155
this.RETURN_SPACE = RETURN_SPACE;
5256
this.RETURN_STATEMENT = RETURN_STATEMENT;
@@ -68,5 +72,7 @@ public enum Constants {
6872
this.OPEN_ARRAY_INITIALIZER = OPEN_ARRAY_INITIALIZER;
6973
this.CLOSE_ARRAY_INITIALIZER = CLOSE_ARRAY_INITIALIZER;
7074
this.THIS_DOT = THIS_DOT;
75+
this.TERNARY_CONDITION = TERNARY_CONDITION;
76+
this.TERNARY_ELSE = TERNARY_ELSE;
7177
}
7278
}

src/main/java/gr/uom/java/xmi/decomposition/AbstractCall.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1153,7 +1153,7 @@ private int argumentIsWrappedInExceptionAndThrown(String statement) {
11531153
}
11541154

11551155
private boolean indexCondition(String statement, int index) {
1156-
return (arguments().size() <= 2 && (index == 0 || this.getName().equals("assertThrows") || "Assert".equals(this.getExpression()))) || (statement.contains(" ? ") && statement.contains(" : "));
1156+
return (arguments().size() <= 2 && (index == 0 || this.getName().equals("assertThrows") || "Assert".equals(this.getExpression()))) || (statement.contains(JAVA.TERNARY_CONDITION) && statement.contains(JAVA.TERNARY_ELSE));
11571157
}
11581158

11591159
public Replacement makeReplacementForReturnedArgument(String statement) {
@@ -1210,7 +1210,7 @@ else if((index = argumentIsExpression(statement)) != -1 && indexCondition(statem
12101210
}
12111211

12121212
public Replacement makeReplacementForWrappedLambda(String statement) {
1213-
if(argumentIsLambdaStatement(statement) && (arguments().size() == 1 || (statement.contains(" ? ") && statement.contains(" : ")))) {
1213+
if(argumentIsLambdaStatement(statement) && (arguments().size() == 1 || (statement.contains(JAVA.TERNARY_CONDITION) && statement.contains(JAVA.TERNARY_ELSE)))) {
12141214
return new Replacement(statement.substring(0, statement.length()-JAVA.STATEMENT_TERMINATION.length()), arguments().get(0),
12151215
ReplacementType.ARGUMENT_REPLACED_WITH_EXPRESSION);
12161216
}
@@ -1252,7 +1252,7 @@ private boolean expressionIsAssigned(String statement) {
12521252

12531253
public Replacement makeReplacementForAssignedArgument(String statement) {
12541254
int index = argumentIsAssigned(statement);
1255-
if(index >= 0 && (arguments().size() == 1 || (statement.contains(" ? ") && statement.contains(" : ")))) {
1255+
if(index >= 0 && (arguments().size() == 1 || (statement.contains(JAVA.TERNARY_CONDITION) && statement.contains(JAVA.TERNARY_ELSE)))) {
12561256
return new Replacement(statement.substring(statement.indexOf(JAVA.ASSIGNMENT)+1, statement.length()-JAVA.STATEMENT_TERMINATION.length()),
12571257
arguments().get(index), ReplacementType.ARGUMENT_REPLACED_WITH_RIGHT_HAND_SIDE_OF_ASSIGNMENT_EXPRESSION);
12581258
}

src/main/java/gr/uom/java/xmi/decomposition/StringBasedHeuristics.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -373,7 +373,7 @@ else if(variableDeclarations2.size() == 0 && !r.getAfter().contains("[") && !r.g
373373
for(String key1 : methodInvocationMap1.keySet()) {
374374
for(AbstractCall invocation1 : methodInvocationMap1.get(key1)) {
375375
if(invocation1.actualString().equals(diff1) && invocation1.arguments().contains(diff2) &&
376-
(invocation1.arguments().size() == 1 || (diff2.contains(" ? ") && diff2.contains(" : ")))) {
376+
(invocation1.arguments().size() == 1 || (diff2.contains(JAVA.TERNARY_CONDITION) && diff2.contains(JAVA.TERNARY_ELSE)))) {
377377
if(!variableDeclarationNameReplaced(variableDeclarations1, variableDeclarations2, info.getReplacements()) && !returnExpressionReplaced(s1, s2, info.getReplacements())) {
378378
Replacement r = new VariableReplacementWithMethodInvocation(diff1, diff2, invocation1, Direction.INVOCATION_TO_VARIABLE);
379379
info.addReplacement(r);
@@ -385,7 +385,7 @@ else if(variableDeclarations2.size() == 0 && !r.getAfter().contains("[") && !r.g
385385
for(String key2 : methodInvocationMap2.keySet()) {
386386
for(AbstractCall invocation2 : methodInvocationMap2.get(key2)) {
387387
if(invocation2.actualString().equals(diff2) && invocation2.arguments().contains(diff1) &&
388-
(invocation2.arguments().size() == 1 || (diff1.contains(" ? ") && diff1.contains(" : ")))) {
388+
(invocation2.arguments().size() == 1 || (diff1.contains(JAVA.TERNARY_CONDITION) && diff1.contains(JAVA.TERNARY_ELSE)))) {
389389
if(!variableDeclarationNameReplaced(variableDeclarations1, variableDeclarations2, info.getReplacements()) && !returnExpressionReplaced(s1, s2, info.getReplacements())) {
390390
Replacement r = new VariableReplacementWithMethodInvocation(diff1, diff2, invocation2, Direction.VARIABLE_TO_INVOCATION);
391391
info.addReplacement(r);
@@ -2945,7 +2945,7 @@ protected static boolean commonConditional(String s1, String s2, Map<String, Str
29452945
}
29462946
boolean containsTernaryOperatorReplacement = false;
29472947
for(Replacement replacement : info.getReplacements()) {
2948-
if(replacement.getAfter().contains(" ? ") && replacement.getAfter().contains(" : ")) {
2948+
if(replacement.getAfter().contains(JAVA.TERNARY_CONDITION) && replacement.getAfter().contains(JAVA.TERNARY_ELSE)) {
29492949
containsTernaryOperatorReplacement = true;
29502950
}
29512951
}

0 commit comments

Comments
 (0)