@@ -27,12 +27,16 @@ public class AndroidClientCodegen extends DefaultCodegen implements CodegenConfi
27
27
protected String sourceFolder = projectFolder + "/java" ;
28
28
protected Boolean useAndroidMavenGradlePlugin = true ;
29
29
30
+ // requestPackage and authPackage are used by the "volley" template/library
31
+ protected String requestPackage = "io.swagger.client.request" ;
32
+ protected String authPackage = "io.swagger.client.auth" ;
33
+
30
34
public AndroidClientCodegen () {
31
35
super ();
32
36
outputFolder = "generated-code/android" ;
33
37
modelTemplateFiles .put ("model.mustache" , ".java" );
34
38
apiTemplateFiles .put ("api.mustache" , ".java" );
35
- embeddedTemplateDir = templateDir = "android-java " ;
39
+ embeddedTemplateDir = templateDir = "android" ;
36
40
apiPackage = "io.swagger.client.api" ;
37
41
modelPackage = "io.swagger.client.model" ;
38
42
@@ -70,6 +74,12 @@ public AndroidClientCodegen() {
70
74
cliOptions .add (new CliOption (CodegenConstants .SOURCE_FOLDER , CodegenConstants .SOURCE_FOLDER_DESC ));
71
75
cliOptions .add (CliOption .newBoolean (USE_ANDROID_MAVEN_GRADLE_PLUGIN , "A flag to toggle android-maven gradle plugin." )
72
76
.defaultValue (Boolean .TRUE .toString ()));
77
+
78
+ supportedLibraries .put ("<default>" , "HTTP client: Apache HttpClient 4.3.6. JSON processing: Gson 2.3.1" );
79
+ supportedLibraries .put ("volley" , "HTTP client: Volley 1.0.19" );
80
+ CliOption library = new CliOption (CodegenConstants .LIBRARY , "library template (sub-template) to use" );
81
+ library .setEnum (supportedLibraries );
82
+ cliOptions .add (library );
73
83
}
74
84
75
85
@ Override
@@ -236,22 +246,67 @@ public void processOpts() {
236
246
additionalProperties .put (USE_ANDROID_MAVEN_GRADLE_PLUGIN , useAndroidMavenGradlePlugin );
237
247
}
238
248
239
- supportingFiles .add (new SupportingFile ("pom.mustache" , "" , "pom.xml" ));
240
- additionalProperties .put (USE_ANDROID_MAVEN_GRADLE_PLUGIN , useAndroidMavenGradlePlugin );
249
+ if (additionalProperties .containsKey (CodegenConstants .LIBRARY )) {
250
+ this .setLibrary ((String ) additionalProperties .get (CodegenConstants .LIBRARY ));
251
+ }
241
252
253
+ if (StringUtils .isEmpty (getLibrary ())) {
254
+ addSupportingFilesForDefault ();
255
+ } else if ("volley" .equals (getLibrary ())) {
256
+ addSupportingFilesForVolley ();
257
+ }
258
+ }
259
+
260
+ private void addSupportingFilesForDefault () {
261
+ supportingFiles .add (new SupportingFile ("pom.mustache" , "" , "pom.xml" ));
242
262
supportingFiles .add (new SupportingFile ("settings.gradle.mustache" , "" , "settings.gradle" ));
243
263
supportingFiles .add (new SupportingFile ("build.mustache" , "" , "build.gradle" ));
244
264
supportingFiles .add (new SupportingFile ("manifest.mustache" , projectFolder , "AndroidManifest.xml" ));
245
265
supportingFiles .add (new SupportingFile ("apiInvoker.mustache" ,
246
- (sourceFolder + File .separator + invokerPackage ).replace ("." , java . io . File .separator ), "ApiInvoker.java" ));
266
+ (sourceFolder + File .separator + invokerPackage ).replace ("." , File .separator ), "ApiInvoker.java" ));
247
267
supportingFiles .add (new SupportingFile ("httpPatch.mustache" ,
248
- (sourceFolder + File .separator + invokerPackage ).replace ("." , java .io .File .separator ), "HttpPatch.java" ));
268
+ (sourceFolder + File .separator + invokerPackage ).replace ("." , File .separator ), "HttpPatch.java" ));
269
+ supportingFiles .add (new SupportingFile ("jsonUtil.mustache" ,
270
+ (sourceFolder + File .separator + invokerPackage ).replace ("." , File .separator ), "JsonUtil.java" ));
271
+ supportingFiles .add (new SupportingFile ("apiException.mustache" ,
272
+ (sourceFolder + File .separator + invokerPackage ).replace ("." , File .separator ), "ApiException.java" ));
273
+ supportingFiles .add (new SupportingFile ("Pair.mustache" ,
274
+ (sourceFolder + File .separator + invokerPackage ).replace ("." , File .separator ), "Pair.java" ));
275
+ }
276
+
277
+ private void addSupportingFilesForVolley () {
278
+ // supportingFiles.add(new SupportingFile("pom.mustache", "", "pom.xml"));
279
+ // supportingFiles.add(new SupportingFile("settings.gradle.mustache", "", "settings.gradle"));
280
+ supportingFiles .add (new SupportingFile ("build.mustache" , "" , "build.gradle" ));
281
+ supportingFiles .add (new SupportingFile ("manifest.mustache" , projectFolder , "AndroidManifest.xml" ));
282
+ supportingFiles .add (new SupportingFile ("apiInvoker.mustache" ,
283
+ (sourceFolder + File .separator + invokerPackage ).replace ("." , File .separator ), "ApiInvoker.java" ));
284
+ supportingFiles .add (new SupportingFile ("responses.mustache" ,
285
+ (sourceFolder + File .separator + invokerPackage ).replace ("." , File .separator ), "Responses.java" ));
286
+ // supportingFiles.add(new SupportingFile("httpPatch.mustache",
287
+ // (sourceFolder + File.separator + invokerPackage).replace(".", File.separator), "HttpPatch.java"));
249
288
supportingFiles .add (new SupportingFile ("jsonUtil.mustache" ,
250
- (sourceFolder + File .separator + invokerPackage ).replace ("." , java . io . File .separator ), "JsonUtil.java" ));
289
+ (sourceFolder + File .separator + invokerPackage ).replace ("." , File .separator ), "JsonUtil.java" ));
251
290
supportingFiles .add (new SupportingFile ("apiException.mustache" ,
252
- (sourceFolder + File .separator + invokerPackage ).replace ("." , java . io . File .separator ), "ApiException.java" ));
291
+ (sourceFolder + File .separator + invokerPackage ).replace ("." , File .separator ), "ApiException.java" ));
253
292
supportingFiles .add (new SupportingFile ("Pair.mustache" ,
254
- (sourceFolder + File .separator + invokerPackage ).replace ("." , java .io .File .separator ), "Pair.java" ));
293
+ (sourceFolder + File .separator + invokerPackage ).replace ("." , File .separator ), "Pair.java" ));
294
+ supportingFiles .add (new SupportingFile ("request/getrequest.mustache" ,
295
+ (sourceFolder + File .separator + requestPackage ).replace ("." , File .separator ), "GetRequest.java" ));
296
+ supportingFiles .add (new SupportingFile ("request/postrequest.mustache" ,
297
+ (sourceFolder + File .separator + requestPackage ).replace ("." , File .separator ), "PostRequest.java" ));
298
+ supportingFiles .add (new SupportingFile ("request/putrequest.mustache" ,
299
+ (sourceFolder + File .separator + requestPackage ).replace ("." , File .separator ), "PutRequest.java" ));
300
+ supportingFiles .add (new SupportingFile ("request/deleterequest.mustache" ,
301
+ (sourceFolder + File .separator + requestPackage ).replace ("." , File .separator ), "DeleteRequest.java" ));
302
+ supportingFiles .add (new SupportingFile ("request/patchrequest.mustache" ,
303
+ (sourceFolder + File .separator + requestPackage ).replace ("." , File .separator ), "PatchRequest.java" ));
304
+ supportingFiles .add (new SupportingFile ("auth/apikeyauth.mustache" ,
305
+ (sourceFolder + File .separator + authPackage ).replace ("." , File .separator ), "ApiKeyAuth.java" ));
306
+ supportingFiles .add (new SupportingFile ("auth/httpbasicauth.mustache" ,
307
+ (sourceFolder + File .separator + authPackage ).replace ("." , File .separator ), "HttpBasicAuth.java" ));
308
+ supportingFiles .add (new SupportingFile ("auth/authentication.mustache" ,
309
+ (sourceFolder + File .separator + authPackage ).replace ("." , File .separator ), "Authentication.java" ));
255
310
}
256
311
257
312
public Boolean getUseAndroidMavenGradlePlugin () {
0 commit comments