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 f0df947  Fix #509
f0df947 is described below

commit f0df9474bd786cd743225d450e970013828b9a14
Author: Marat Gubaidullin <[email protected]>
AuthorDate: Mon Oct 31 18:37:27 2022 -0400

    Fix #509
---
 .../apache/camel/karavan/informer/DeploymentEventHandler.java    | 1 +
 .../java/org/apache/camel/karavan/service/InfinispanService.java | 5 +++++
 karavan-app/src/main/webapp/src/dashboard/DashboardPage.tsx      | 4 ++++
 karavan-app/src/main/webapp/src/projects/ProjectInfo.tsx         | 9 ++++-----
 4 files changed, 14 insertions(+), 5 deletions(-)

diff --git 
a/karavan-app/src/main/java/org/apache/camel/karavan/informer/DeploymentEventHandler.java
 
b/karavan-app/src/main/java/org/apache/camel/karavan/informer/DeploymentEventHandler.java
index 31784ff..166005e 100644
--- 
a/karavan-app/src/main/java/org/apache/camel/karavan/informer/DeploymentEventHandler.java
+++ 
b/karavan-app/src/main/java/org/apache/camel/karavan/informer/DeploymentEventHandler.java
@@ -51,6 +51,7 @@ public class DeploymentEventHandler implements 
ResourceEventHandler<Deployment>
                     kubernetesService.getCluster(),
                     kubernetesService.environment);
             infinispanService.deleteDeploymentStatus(ds);
+            infinispanService.deleteCamelStatus(ds.getName(), ds.getEnv());
         } catch (Exception e){
             LOGGER.error(e.getMessage());
         }
diff --git 
a/karavan-app/src/main/java/org/apache/camel/karavan/service/InfinispanService.java
 
b/karavan-app/src/main/java/org/apache/camel/karavan/service/InfinispanService.java
index dd4cc70..e6de4f0 100644
--- 
a/karavan-app/src/main/java/org/apache/camel/karavan/service/InfinispanService.java
+++ 
b/karavan-app/src/main/java/org/apache/camel/karavan/service/InfinispanService.java
@@ -283,6 +283,10 @@ public class InfinispanService {
         camelStatuses.put(GroupedKey.create(status.getProjectId(), 
status.getEnv()), status);
     }
 
+    public void deleteCamelStatus(String name, String env) {
+        camelStatuses.remove(GroupedKey.create(name, env));
+    }
+
     public List<String> getKameletNames() {
         return kamelets.keySet().stream().collect(Collectors.toList());
     }
@@ -303,4 +307,5 @@ public class InfinispanService {
         environments.put(environment.getName(), environment);
     }
 
+
 }
diff --git a/karavan-app/src/main/webapp/src/dashboard/DashboardPage.tsx 
b/karavan-app/src/main/webapp/src/dashboard/DashboardPage.tsx
index f69a984..79fde5f 100644
--- a/karavan-app/src/main/webapp/src/dashboard/DashboardPage.tsx
+++ b/karavan-app/src/main/webapp/src/dashboard/DashboardPage.tsx
@@ -21,6 +21,7 @@ import {KaravanApi} from "../api/KaravanApi";
 import Icon from "../Logo";
 import UpIcon from "@patternfly/react-icons/dist/esm/icons/check-circle-icon";
 import DownIcon from 
"@patternfly/react-icons/dist/esm/icons/error-circle-o-icon";
+import RefreshIcon from "@patternfly/react-icons/dist/esm/icons/sync-alt-icon";
 
 interface Props {
     config: any,
@@ -114,6 +115,9 @@ export class DashboardPage extends React.Component<Props, 
State> {
 
     tools = () => (<Toolbar id="toolbar-group-types">
         <ToolbarContent>
+            <ToolbarItem>
+                <Button variant="link" icon={<RefreshIcon/>} onClick={e => 
this.onGetProjects()}/>
+            </ToolbarItem>
             <ToolbarItem>
                 <ToggleGroup aria-label="Default with single selectable">
                     {this.getEnvironments().map(env => (
diff --git a/karavan-app/src/main/webapp/src/projects/ProjectInfo.tsx 
b/karavan-app/src/main/webapp/src/projects/ProjectInfo.tsx
index 5eb0108..5059449 100644
--- a/karavan-app/src/main/webapp/src/projects/ProjectInfo.tsx
+++ b/karavan-app/src/main/webapp/src/projects/ProjectInfo.tsx
@@ -41,7 +41,6 @@ interface State {
     deleteEntityName?: string,
     deleteEntityEnv?: string,
     environment: string,
-    key?: string,
 }
 
 export class ProjectInfo extends React.Component<Props, State> {
@@ -81,19 +80,19 @@ export class ProjectInfo extends React.Component<Props, 
State> {
         const environment = this.state.environment;
         if (this.props.project) {
             KaravanApi.getProjectPipelineStatus(projectId, environment, 
(status: PipelineStatus) => {
-                this.setState({key: Math.random().toString(), pipelineStatus: 
status});
+                this.setState({pipelineStatus: status});
                 // console.log(status);
             });
             KaravanApi.getProjectDeploymentStatus(projectId, environment, 
(status: DeploymentStatus) => {
-                this.setState({key: Math.random().toString(), 
deploymentStatus: status});
+                this.setState({ deploymentStatus: status});
                 // console.log(status);
             });
             KaravanApi.getProjectPodStatuses(projectId, environment, 
(statuses: PodStatus[]) => {
-                this.setState({key: Math.random().toString(), podStatuses: 
statuses});
+                this.setState({podStatuses: statuses});
                 // console.log(status);
             });
             KaravanApi.getProjectCamelStatus(projectId, environment, (status: 
CamelStatus) => {
-                this.setState({key: Math.random().toString(), camelStatus: 
status});
+                this.setState({camelStatus: status});
                 // console.log(status);
             });
         }

Reply via email to