This is an automated email from the ASF dual-hosted git repository.
marat pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-karavan.git
The following commit(s) were added to refs/heads/main by this push:
new 2d18e47 generare routes (#324)
2d18e47 is described below
commit 2d18e47e498fa99ce471b2441955b56aad2ebf59
Author: Marat Gubaidullin <[email protected]>
AuthorDate: Thu Apr 21 10:37:55 2022 -0400
generare routes (#324)
---
karavan-vscode/src/openapiView.ts | 22 ++++++++++++++++++----
karavan-vscode/src/utils.ts | 5 +++--
2 files changed, 21 insertions(+), 6 deletions(-)
diff --git a/karavan-vscode/src/openapiView.ts
b/karavan-vscode/src/openapiView.ts
index 542b165..eb169dc 100644
--- a/karavan-vscode/src/openapiView.ts
+++ b/karavan-vscode/src/openapiView.ts
@@ -71,6 +71,20 @@ export class OpenApiItem extends vscode.TreeItem {
contextValue = "openapi";
}
+/**
+ * Select routes generation
+ */
+export async function selectRouteGeneration(openApiFullPath: string, fullPath:
string, add: boolean, crd?: boolean) {
+ const options = ["Generate REST and Routes", 'Generate REST only'];
+ await window.showQuickPick(options, {
+ title: "Generate route stubs for REST API",
+ placeHolder: 'Select option',
+ }).then(option => {
+ const generateRoutes: boolean = option !== undefined && option
=== options[0];
+ utils.camelJbangGenerate(openApiFullPath, fullPath, add, crd,
generateRoutes);
+ });
+}
+
/**
* Select file and add REST API
*/
@@ -80,9 +94,9 @@ export async function selectFileName(rootPath?: string,
openApi?: OpenApiItem) {
await window.showQuickPick(files, {
title: "Select Integration file to add REST API",
placeHolder: 'Select file',
- }).then(filename => {
- if (filename && openApi?.fsPath) {
- utils.camelJbangGenerate(openApi.fsPath,
filename, true, undefined);
+ }).then(fullPath => {
+ if (fullPath && openApi?.fsPath) {
+ selectRouteGeneration(openApi.fsPath, fullPath,
true, undefined);
}
});
}
@@ -106,7 +120,7 @@ export async function inputFileName(crd: boolean,
rootPath?: string, openApi?: O
}).then(filename => {
if (filename && openApi?.fsPath) {
const fullPath = rootPath + path.sep + filename;
- utils.camelJbangGenerate(openApi.fsPath, fullPath,
false, crd);
+ selectRouteGeneration(openApi.fsPath, fullPath, false,
crd);
}
});
}
\ No newline at end of file
diff --git a/karavan-vscode/src/utils.ts b/karavan-vscode/src/utils.ts
index 659da44..df000fb 100644
--- a/karavan-vscode/src/utils.ts
+++ b/karavan-vscode/src/utils.ts
@@ -143,9 +143,10 @@ export function getIntegrationFiles(baseDir: string):
string[]{
});
}
-export function camelJbangGenerate(openApiFullPath: string, fullPath: string,
add: boolean, crd?: boolean) {
+export function camelJbangGenerate(openApiFullPath: string, fullPath: string,
add: boolean, crd?: boolean, generateRoutes?: boolean) {
const version = vscode.workspace.getConfiguration().get("camel.version");
- const command = "jbang -Dcamel.jbang.version=" + version + "
camel@apache/camel generate rest -i " + openApiFullPath;
+ let command = "jbang -Dcamel.jbang.version=" + version + "
camel@apache/camel generate rest -i " + openApiFullPath;
+ if (generateRoutes === true) command = command + " --routes";
const jbang = shell.which('jbang');
if (jbang){
shell.config.execPath = String(jbang);