Procházet zdrojové kódy

support hyphenated operations

master
Jonathan Cobb před 3 roky
rodič
revize
5afb20eef0
1 změnil soubory, kde provedl 12 přidání a 1 odebrání
  1. +12
    -1
      src/main/java/jvcl/service/json/JOperationFactory.java

+ 12
- 1
src/main/java/jvcl/service/json/JOperationFactory.java Zobrazit soubor

@@ -8,6 +8,7 @@ import jvcl.model.JOperation;
import jvcl.operation.exec.ExecBase;

import java.io.IOException;
import java.util.StringTokenizer;

import static com.fasterxml.jackson.databind.type.TypeBindings.emptyBindings;
import static org.apache.commons.lang3.StringUtils.capitalize;
@@ -37,11 +38,21 @@ public class JOperationFactory extends DeserializationProblemHandler {
if (id.contains(".")) {
className = id;
} else {
className = OPERATION_DEFAULT_PACKAGE + "." + capitalize(id) + OPERATION_CLASSNAME_SUFFIX;
className = OPERATION_DEFAULT_PACKAGE
+ "."
+ (id.contains("-") ? replaceHyphens(id) : capitalize(id))
+ OPERATION_CLASSNAME_SUFFIX;
}
return forName(className);
}

private static String replaceHyphens(String id) {
final StringBuilder b = new StringBuilder();
final StringTokenizer st = new StringTokenizer(id, "-");
while (st.hasMoreTokens()) b.append(capitalize(st.nextToken()));
return b.toString();
}

public static <OP extends JOperation> Class<? extends ExecBase<OP>> getOperationExecClass(Class<? extends JOperation> opClass) {
final String name = opClass.getSimpleName();
if (!name.endsWith(OPERATION_CLASSNAME_SUFFIX)) {


Načítá se…
Zrušit
Uložit