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 a21ff29f fix issues after split
a21ff29f is described below
commit a21ff29f0937e0d8bd48ac5150876fd59000031b
Author: Marat Gubaidullin <[email protected]>
AuthorDate: Tue May 28 17:08:43 2024 -0400
fix issues after split
---
.../apache/camel/karavan/api/ProjectResource.java | 7 +++---
karavan-app/src/main/webui/src/api/ProjectStore.ts | 8 ++----
.../src/main/webui/src/project/trace/TraceTab.tsx | 29 +---------------------
.../apache/camel/karavan/status/StatusCache.java | 9 ++++---
.../camel/karavan/status/model/CamelStatus.java | 5 ++++
5 files changed, 17 insertions(+), 41 deletions(-)
diff --git
a/karavan-app/src/main/java/org/apache/camel/karavan/api/ProjectResource.java
b/karavan-app/src/main/java/org/apache/camel/karavan/api/ProjectResource.java
index c64c14c8..e4eb4da7 100644
---
a/karavan-app/src/main/java/org/apache/camel/karavan/api/ProjectResource.java
+++
b/karavan-app/src/main/java/org/apache/camel/karavan/api/ProjectResource.java
@@ -150,7 +150,7 @@ public class ProjectResource {
public Response getCamelStatusForProjectAndEnv(@PathParam("projectId")
String projectId, @PathParam("env") String env) {
List<CamelStatus> statuses =
statusCache.getCamelStatusesByProjectAndEnv(projectId, env)
.stream().map(camelStatus -> {
- var stats = camelStatus.getStatuses().stream().filter(s ->
!Objects.equals(s.getName(), CamelStatusValue.Name.trace)).toList();
+ var stats =
List.copyOf(camelStatus.getStatuses()).stream().filter(s ->
!Objects.equals(s.getName(), CamelStatusValue.Name.trace)).toList();
camelStatus.setStatuses(stats);
return camelStatus;
}).toList();
@@ -166,10 +166,9 @@ public class ProjectResource {
@Path("/traces/{projectId}/{env}")
public Response getCamelTracesForProjectAndEnv(@PathParam("projectId")
String projectId, @PathParam("env") String env) {
List<CamelStatus> statuses =
statusCache.getCamelStatusesByProjectAndEnv(projectId, env)
- .stream().map(camelStatus -> {
- var stats = camelStatus.getStatuses().stream().filter(s ->
Objects.equals(s.getName(), CamelStatusValue.Name.trace)).toList();
+ .stream().peek(camelStatus -> {
+ var stats =
List.copyOf(camelStatus.getStatuses()).stream().filter(s ->
Objects.equals(s.getName(), CamelStatusValue.Name.trace)).toList();
camelStatus.setStatuses(stats);
- return camelStatus;
}).toList();
if (!statuses.isEmpty()) {
return Response.ok(statuses).build();
diff --git a/karavan-app/src/main/webui/src/api/ProjectStore.ts
b/karavan-app/src/main/webui/src/api/ProjectStore.ts
index 135f7753..6476d58c 100644
--- a/karavan-app/src/main/webui/src/api/ProjectStore.ts
+++ b/karavan-app/src/main/webui/src/api/ProjectStore.ts
@@ -171,17 +171,13 @@ export const useProjectStore =
createWithEqualityFn<ProjectState>((set) => ({
camelStatuses: [],
setCamelStatuses: (camelStatuses: CamelStatus[]) => {
set((state: ProjectState) => {
- state.camelStatuses.length = 0;
- state.camelStatuses.push(...camelStatuses);
- return {camelStatuses: state.camelStatuses};
+ return {camelStatuses: camelStatuses};
});
},
camelTraces: [],
setCamelTraces: (camelTraces: CamelStatus[]) => {
set((state: ProjectState) => {
- state.camelTraces.length = 0;
- state.camelTraces.push(...camelTraces);
- return {camelTraces: state.camelTraces};
+ return {camelTraces: camelTraces};
});
},
refreshTrace: false,
diff --git a/karavan-app/src/main/webui/src/project/trace/TraceTab.tsx
b/karavan-app/src/main/webui/src/project/trace/TraceTab.tsx
index a21fc0f4..2736df4d 100644
--- a/karavan-app/src/main/webui/src/project/trace/TraceTab.tsx
+++ b/karavan-app/src/main/webui/src/project/trace/TraceTab.tsx
@@ -14,13 +14,8 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-import React, {useEffect, useState} from 'react';
+import React, {useState} from 'react';
import {
- Bullseye,
- Button,
- EmptyState,
- EmptyStateIcon,
- EmptyStateVariant,
Flex,
FlexItem,
Panel,
@@ -30,33 +25,11 @@ import {
TextContent,
TextVariants,
PageSection,
- EmptyStateHeader,
- Card,
- CardBody,
- Divider,
- Tabs,
- Tab,
- TabTitleText,
ToggleGroup, ToggleGroupItem,
} from '@patternfly/react-core';
import '../../designer/karavan.css';
-import {RunnerInfoTraceModal} from "./RunnerInfoTraceModal";
-import {
- Tbody,
- Td,
- Th,
- Thead,
- Tr
-} from '@patternfly/react-table';
-import {
- Table
-} from '@patternfly/react-table/deprecated';
-import SearchIcon from "@patternfly/react-icons/dist/esm/icons/search-icon";
import {useProjectStore, useStatusesStore} from "../../api/ProjectStore";
import {shallow} from "zustand/shallow";
-import {InfoContainer} from "../dashboard/InfoContainer";
-import {InfoMemory} from "../dashboard/InfoMemory";
-import {InfoContext} from "../dashboard/InfoContext";
import {TraceTable} from "./TraceTable";
export function TraceTab() {
diff --git
a/karavan-statuses/src/main/java/org/apache/camel/karavan/status/StatusCache.java
b/karavan-statuses/src/main/java/org/apache/camel/karavan/status/StatusCache.java
index b6e9c122..80448312 100644
---
a/karavan-statuses/src/main/java/org/apache/camel/karavan/status/StatusCache.java
+++
b/karavan-statuses/src/main/java/org/apache/camel/karavan/status/StatusCache.java
@@ -135,15 +135,18 @@ public class StatusCache {
}
public List<CamelStatus> getCamelStatusesByEnv(CamelStatusValue.Name name)
{
- return camelStatuses.values().stream().map(cs -> {
+ List<CamelStatus> copy = new ArrayList<>(camelStatuses.size());
+ camelStatuses.values().forEach(camelStatus ->
copy.add(camelStatus.clone()));
+ return copy.stream().peek(cs -> {
var values = cs.getStatuses();
cs.setStatuses(values.stream().filter(v ->
Objects.equals(v.getName(), name)).toList());
- return cs;
}).toList();
}
public List<CamelStatus> getCamelStatusesByProjectAndEnv(String projectId,
String env) {
- return camelStatuses.values().stream().filter(el ->
Objects.equals(el.getProjectId(), projectId) && Objects.equals(el.getEnv(),
env)).toList();
+ List<CamelStatus> copy = new ArrayList<>(camelStatuses.size());
+ camelStatuses.values().forEach(camelStatus ->
copy.add(camelStatus.clone()));
+ return copy.stream().filter(el -> Objects.equals(el.getProjectId(),
projectId) && Objects.equals(el.getEnv(), env)).toList();
}
public void saveCamelStatus(CamelStatus status) {
diff --git
a/karavan-statuses/src/main/java/org/apache/camel/karavan/status/model/CamelStatus.java
b/karavan-statuses/src/main/java/org/apache/camel/karavan/status/model/CamelStatus.java
index c299952f..f79fce56 100644
---
a/karavan-statuses/src/main/java/org/apache/camel/karavan/status/model/CamelStatus.java
+++
b/karavan-statuses/src/main/java/org/apache/camel/karavan/status/model/CamelStatus.java
@@ -64,4 +64,9 @@ public class CamelStatus {
public void setEnv(String env) {
this.env = env;
}
+
+ @Override
+ public CamelStatus clone() {
+ return new CamelStatus(this.projectId, this.containerName,
List.copyOf(this.statuses), this.env);
+ }
}