You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ma...@apache.org on 2023/11/28 22:54:37 UTC

(camel-karavan) 01/02: Fix #1005

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

commit 0d521f4518123ed842dcde32bb603e6f8c5f0c8b
Author: Marat Gubaidullin <ma...@talismancloud.io>
AuthorDate: Tue Nov 28 17:54:07 2023 -0500

    Fix #1005
---
 .../src/designer/route/property/InfrastructureSelector.tsx  | 11 ++++++-----
 .../apache/camel/karavan/api/InfrastructureResource.java    |  9 +++++----
 .../src/designer/route/property/InfrastructureSelector.tsx  | 11 ++++++-----
 .../src/main/webui/src/project/DevModeToolbar.tsx           | 13 ++++++++-----
 4 files changed, 25 insertions(+), 19 deletions(-)

diff --git a/karavan-designer/src/designer/route/property/InfrastructureSelector.tsx b/karavan-designer/src/designer/route/property/InfrastructureSelector.tsx
index 38555892..e849b94d 100644
--- a/karavan-designer/src/designer/route/property/InfrastructureSelector.tsx
+++ b/karavan-designer/src/designer/route/property/InfrastructureSelector.tsx
@@ -34,7 +34,8 @@ interface Props {
 
 export function InfrastructureSelector(props: Props) {
 
-    const [tabIndex, setTabIndex] = useState<string | number>("configMap");
+    const tabs = InfrastructureAPI.infrastructure === 'kubernetes' ? ['configMap', 'secret', 'services'] : ['services'];
+    const [tabIndex, setTabIndex] = useState<string | number>(tabs[0]);
     const [filter, setFilter] = useState<string>();
 
     function checkFilter  (name: string): boolean {
@@ -49,9 +50,9 @@ export function InfrastructureSelector(props: Props) {
         return (
             <Form isHorizontal className="search" autoComplete="off">
                 <FormGroup fieldId="search">
-                    <TextInput className="text-field" type="text" id="search" name="search" 
-                            value={filter}
-                            onChange={(_, value) => setFilter(value)}/>
+                    <TextInput className="text-field" type="text" id="search" name="search"
+                               value={filter}
+                               onChange={(_, value) => setFilter(value)}/>
                 </FormGroup>
             </Form>
         )
@@ -190,7 +191,7 @@ export function InfrastructureSelector(props: Props) {
         )
     }
 
-    const tabs = InfrastructureAPI.infrastructure === 'kubernetes' ? ['configMap', 'secret', 'services'] : ['services'];
+
     return (
         <Modal
             aria-label="Select from Infrastructure"
diff --git a/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/api/InfrastructureResource.java b/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/api/InfrastructureResource.java
index 8b62d4c0..1385c384 100644
--- a/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/api/InfrastructureResource.java
+++ b/karavan-web/karavan-app/src/main/java/org/apache/camel/karavan/api/InfrastructureResource.java
@@ -64,9 +64,9 @@ public class InfrastructureResource {
     @Path("/deployment/{env}")
     public List<DeploymentStatus> getDeploymentStatusesByEnv(@PathParam("env") String env) throws Exception {
         if (infinispanService.isReady()) {
-        return infinispanService.getDeploymentStatuses(env).stream()
-                .sorted(Comparator.comparing(DeploymentStatus::getProjectId))
-                .collect(Collectors.toList());
+            return infinispanService.getDeploymentStatuses(env).stream()
+                    .sorted(Comparator.comparing(DeploymentStatus::getProjectId))
+                    .collect(Collectors.toList());
         } else {
             return List.of();
         }
@@ -140,7 +140,8 @@ public class InfrastructureResource {
                 return Response.ok(kubernetesService.getServices(kubernetesService.getNamespace())).build();
             } else {
                 List<String> list = infinispanService.getContainerStatuses(environment).stream()
-                        .map(ci -> ci.getPorts().stream().map(i -> ci.getContainerName() + ":" + i).collect(Collectors.toList()))
+                        .filter(ci -> !ci.getPorts().isEmpty())
+                        .map(ci -> ci.getPorts().stream().map(i -> ci.getContainerName() + "|" + ci.getContainerName() + ":" + i.getPrivatePort()).collect(Collectors.toList()))
                         .flatMap(List::stream).collect(Collectors.toList());
                 return Response.ok(list).build();
             }
diff --git a/karavan-web/karavan-app/src/main/webui/src/designer/route/property/InfrastructureSelector.tsx b/karavan-web/karavan-app/src/main/webui/src/designer/route/property/InfrastructureSelector.tsx
index 38555892..e849b94d 100644
--- a/karavan-web/karavan-app/src/main/webui/src/designer/route/property/InfrastructureSelector.tsx
+++ b/karavan-web/karavan-app/src/main/webui/src/designer/route/property/InfrastructureSelector.tsx
@@ -34,7 +34,8 @@ interface Props {
 
 export function InfrastructureSelector(props: Props) {
 
-    const [tabIndex, setTabIndex] = useState<string | number>("configMap");
+    const tabs = InfrastructureAPI.infrastructure === 'kubernetes' ? ['configMap', 'secret', 'services'] : ['services'];
+    const [tabIndex, setTabIndex] = useState<string | number>(tabs[0]);
     const [filter, setFilter] = useState<string>();
 
     function checkFilter  (name: string): boolean {
@@ -49,9 +50,9 @@ export function InfrastructureSelector(props: Props) {
         return (
             <Form isHorizontal className="search" autoComplete="off">
                 <FormGroup fieldId="search">
-                    <TextInput className="text-field" type="text" id="search" name="search" 
-                            value={filter}
-                            onChange={(_, value) => setFilter(value)}/>
+                    <TextInput className="text-field" type="text" id="search" name="search"
+                               value={filter}
+                               onChange={(_, value) => setFilter(value)}/>
                 </FormGroup>
             </Form>
         )
@@ -190,7 +191,7 @@ export function InfrastructureSelector(props: Props) {
         )
     }
 
-    const tabs = InfrastructureAPI.infrastructure === 'kubernetes' ? ['configMap', 'secret', 'services'] : ['services'];
+
     return (
         <Modal
             aria-label="Select from Infrastructure"
diff --git a/karavan-web/karavan-app/src/main/webui/src/project/DevModeToolbar.tsx b/karavan-web/karavan-app/src/main/webui/src/project/DevModeToolbar.tsx
index f9056c14..bcb46dc4 100644
--- a/karavan-web/karavan-app/src/main/webui/src/project/DevModeToolbar.tsx
+++ b/karavan-web/karavan-app/src/main/webui/src/project/DevModeToolbar.tsx
@@ -81,10 +81,10 @@ export function DevModeToolbar(props: Props) {
         <FlexItem className="refresher">
             {poll && <Spinner className="spinner" size="lg" aria-label="Refresh"/>}
             <Tooltip content={poll ? "Stop refresh" : "Refresh auto"} position={TooltipPosition.bottom}>
-            <Button className="button"
-                    icon={poll ? <StopIcon/> : <RefreshIcon/>}
-                    variant={"link"}
-                    onClick={e => setPoll(!poll)}/>
+                <Button className="button"
+                        icon={poll ? <StopIcon/> : <RefreshIcon/>}
+                        variant={"link"}
+                        onClick={e => setPoll(!poll)}/>
             </Tooltip>
         </FlexItem>
         {/*Replace with something else because Spinner is used fo refresh*/}
@@ -145,7 +145,10 @@ export function DevModeToolbar(props: Props) {
                         isDisabled={!commands.includes('delete') || inTransit}
                         variant={"control"}
                         icon={<DeleteIcon/>}
-                        onClick={() => ProjectService.deleteDevModeContainer(project)}>
+                        onClick={() => {
+                            setPoll(true);
+                            ProjectService.deleteDevModeContainer(project);
+                        }}>
                 </Button>
             </Tooltip>
         </FlexItem>}