Skip to content

Commit e27bc86

Browse files
committed
error handling
1 parent 0bc780f commit e27bc86

File tree

5 files changed

+44
-18
lines changed

5 files changed

+44
-18
lines changed

generators/src/main/java/com/algolia/codegen/AlgoliaJavaGenerator.java

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -45,11 +45,19 @@ public Map<String, Object> postProcessOperationsWithModels(
4545
allModels
4646
);
4747

48-
Utils.generateServer(
49-
Utils.getClientNameKebabCase(results),
50-
additionalProperties
51-
);
52-
additionalProperties.put("packageVersion", Utils.getPackageVersion("java"));
48+
try {
49+
Utils.generateServer(
50+
Utils.getClientNameKebabCase(results),
51+
additionalProperties
52+
);
53+
additionalProperties.put(
54+
"packageVersion",
55+
Utils.getPackageVersion("java")
56+
);
57+
} catch (GenerationException e) {
58+
e.printStackTrace();
59+
System.exit(1);
60+
}
5361

5462
return results;
5563
}

generators/src/main/java/com/algolia/codegen/AlgoliaJavascriptGenerator.java

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -76,10 +76,15 @@ public Map<String, Object> postProcessOperationsWithModels(
7676
CLIENT = Utils.getClientNameCamelCase(results);
7777

7878
setDefaultGeneratorOptions();
79-
Utils.generateServer(
80-
Utils.getClientNameKebabCase(results),
81-
additionalProperties
82-
);
79+
try {
80+
Utils.generateServer(
81+
Utils.getClientNameKebabCase(results),
82+
additionalProperties
83+
);
84+
} catch (GenerationException e) {
85+
e.printStackTrace();
86+
System.exit(1);
87+
}
8388

8489
List<CodegenOperation> operations =
8590
((Map<String, List<CodegenOperation>>) results.get("operations")).get(

generators/src/main/java/com/algolia/codegen/AlgoliaPhpGenerator.java

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,8 +53,16 @@ public Map<String, Object> postProcessOperationsWithModels(
5353
String client = Utils.getClientNameKebabCase(results);
5454

5555
setDefaultGeneratorOptions(client);
56-
Utils.generateServer(client, additionalProperties);
57-
additionalProperties.put("packageVersion", Utils.getPackageVersion("java"));
56+
try {
57+
Utils.generateServer(client, additionalProperties);
58+
additionalProperties.put(
59+
"packageVersion",
60+
Utils.getPackageVersion("php")
61+
);
62+
} catch (GenerationException e) {
63+
e.printStackTrace();
64+
System.exit(1);
65+
}
5866

5967
return results;
6068
}

generators/src/main/java/com/algolia/codegen/GenerationException.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,8 @@ public class GenerationException extends Exception {
55
public GenerationException(String message) {
66
super(message);
77
}
8+
9+
public GenerationException(String message, Throwable cause) {
10+
super(message, cause);
11+
}
812
}

generators/src/main/java/com/algolia/codegen/Utils.java

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ public static String getClientNameCamelCase(Map<String, Object> data) {
7676
public static void generateServer(
7777
String clientKebab,
7878
Map<String, Object> additionalProperties
79-
) {
79+
) throws GenerationException {
8080
Yaml yaml = new Yaml();
8181
try {
8282
Map<String, Object> spec = yaml.load(
@@ -149,13 +149,13 @@ public static void generateServer(
149149
allowedRegions.toArray(new String[0])
150150
);
151151
} catch (Exception e) {
152-
e.printStackTrace();
153-
System.exit(1);
152+
throw new GenerationException("Couldn't generate servers", e);
154153
}
155154
}
156155

157156
// Get the package version from clients.config.json (doesn't work for JavaScript)
158-
public static String getPackageVersion(String language) {
157+
public static String getPackageVersion(String language)
158+
throws GenerationException {
159159
if (language.equals("javascript")) {
160160
throw new GenerationException(
161161
"Cannot use getPackageVersion with language=\"javascript\", " +
@@ -168,9 +168,10 @@ public static String getPackageVersion(String language) {
168168
.readTree(new File("config/clients.config.json"));
169169
return config.get(language).get("packageVersion").asText();
170170
} catch (IOException e) {
171-
e.printStackTrace();
172-
System.exit(1);
171+
throw new GenerationException(
172+
"Couldn't read packageVersion from clients.config.json",
173+
e
174+
);
173175
}
174-
return null;
175176
}
176177
}

0 commit comments

Comments
 (0)