Skip to content

Commit e6413e6

Browse files
committed
server: fixes in client generator
1 parent 940affc commit e6413e6

File tree

2 files changed

+35
-8
lines changed

2 files changed

+35
-8
lines changed

opencga-server/src/main/java/org/opencb/opencga/server/generator/config/ApiConfig.java

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ public class ApiConfig {
99
private List<Shortcut> shortcuts;
1010
private String executorsParentClass;
1111
private String optionsParserParentClass;
12+
private String opencgaClientClassName;
1213

1314
public ApiConfig() {
1415
}
@@ -17,13 +18,23 @@ public ApiConfig(List<CategoryConfig> categoryConfigList) {
1718
this.categoryConfigList = categoryConfigList;
1819
}
1920

21+
public ApiConfig(List<CategoryConfig> categoryConfigList, List<Shortcut> shortcuts, String executorsParentClass,
22+
String optionsParserParentClass, String opencgaClientClassName) {
23+
this.categoryConfigList = categoryConfigList;
24+
this.shortcuts = shortcuts;
25+
this.executorsParentClass = executorsParentClass;
26+
this.optionsParserParentClass = optionsParserParentClass;
27+
this.opencgaClientClassName = opencgaClientClassName;
28+
}
29+
2030
@Override
2131
public String toString() {
2232
final StringBuilder sb = new StringBuilder("ApiConfig{");
2333
sb.append("categoryConfigList=").append(categoryConfigList);
2434
sb.append(", shortcuts=").append(shortcuts);
2535
sb.append(", executorsParentClass='").append(executorsParentClass).append('\'');
2636
sb.append(", optionsParserParentClass='").append(optionsParserParentClass).append('\'');
37+
sb.append(", opencgaClientClassName='").append(opencgaClientClassName).append('\'');
2738
sb.append('}');
2839
return sb.toString();
2940
}
@@ -63,4 +74,13 @@ public ApiConfig setOptionsParserParentClass(String optionsParserParentClass) {
6374
this.optionsParserParentClass = optionsParserParentClass;
6475
return this;
6576
}
77+
78+
public String getOpencgaClientClassName() {
79+
return opencgaClientClassName;
80+
}
81+
82+
public ApiConfig setOpencgaClientClassName(String opencgaClientClassName) {
83+
this.opencgaClientClassName = opencgaClientClassName;
84+
return this;
85+
}
6686
}

opencga-server/src/main/java/org/opencb/opencga/server/generator/writers/cli/ExecutorsCliRestApiWriter.java

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -217,16 +217,18 @@ private String methodExecute(RestCategory restCategory, CategoryConfig config) {
217217
return sb.toString();
218218
}
219219

220-
private String getExtendedClass(String name, CategoryConfig config) {
221-
String res = "OpencgaCommandExecutor";
222-
if (config.isExecutorExtended()) {
223-
if (StringUtils.isNotEmpty(config.getExecutorExtendedClassName())) {
224-
res = config.getExecutorExtendedClassName();
220+
private String getExtendedClass(String name, CategoryConfig categoryConfig) {
221+
String parentClass = StringUtils.isEmpty(this.config.getApiConfig().getExecutorsParentClass())
222+
? "OpencgaCommandExecutor"
223+
: this.config.getApiConfig().getExecutorsParentClass();
224+
if (categoryConfig.isExecutorExtended()) {
225+
if (StringUtils.isNotEmpty(categoryConfig.getExecutorExtendedClassName())) {
226+
parentClass = categoryConfig.getExecutorExtendedClassName();
225227
} else {
226-
res = "Parent" + name + "CommandExecutor";
228+
parentClass = "Parent" + name + "CommandExecutor";
227229
}
228230
}
229-
return res;
231+
return parentClass;
230232
}
231233

232234
@Override
@@ -265,7 +267,12 @@ protected String getClassMethods(String key) {
265267
}
266268

267269
private String getReturn(RestCategory restCategory, RestEndpoint restEndpoint, CategoryConfig config, String commandName) {
268-
String res = " return openCGAClient.get" + getAsClassName(config.getKey()) + "Client()."
270+
String opencgaClientObjectName = StringUtils.isEmpty(this.config.getApiConfig().getOpencgaClientClassName())
271+
? "openCGAClient"
272+
: this.config.getApiConfig().getOpencgaClientClassName().toLowerCase().charAt(0)
273+
+ this.config.getApiConfig().getOpencgaClientClassName().substring(1);
274+
275+
String res = " return " + opencgaClientObjectName + ".get" + getAsClassName(config.getKey()) + "Client()."
269276
+ getJavaMethodName(config, commandName) + "(";
270277
res += restEndpoint.getPathParams();
271278
res += restEndpoint.getMandatoryQueryParams(config, commandName);

0 commit comments

Comments
 (0)