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 e45cd974 Update
e45cd974 is described below

commit e45cd9740ca8c6677eab453e360512b99bb6a60f
Author: Marat Gubaidullin <[email protected]>
AuthorDate: Mon Jan 13 18:02:03 2025 -0500

    Update
---
 .../org/apache/camel/karavan/KaravanConstants.java |  1 -
 .../apache/camel/karavan/api/DevModeResource.java  |  2 +-
 .../camel/karavan/docker/DockerForKaravan.java     |  5 +++-
 .../karavan/kubernetes/KubernetesService.java      | 28 ++++++++++------------
 .../camel/karavan/model/CamelStatusValue.java      |  3 ++-
 .../org/apache/camel/karavan/model/Project.java    |  4 ++++
 .../apache/camel/karavan/service/CodeService.java  |  3 ++-
 .../camel/karavan/service/ProjectService.java      | 26 ++++++++++----------
 karavan-app/src/main/webui/package-lock.json       |  2 +-
 9 files changed, 40 insertions(+), 34 deletions(-)

diff --git 
a/karavan-app/src/main/java/org/apache/camel/karavan/KaravanConstants.java 
b/karavan-app/src/main/java/org/apache/camel/karavan/KaravanConstants.java
index 052f19fd..8c007145 100644
--- a/karavan-app/src/main/java/org/apache/camel/karavan/KaravanConstants.java
+++ b/karavan-app/src/main/java/org/apache/camel/karavan/KaravanConstants.java
@@ -52,7 +52,6 @@ public class KaravanConstants {
 
     public static final String PROPERTY_FORMATTER_PROJECT_ID = 
PROPERTY_NAME_PROJECT_ID + "=%s";
     public static final String PROPERTY_FORMATTER_PROJECT_NAME = 
PROPERTY_NAME_PROJECT_NAME + "=%s";
-    public static final String PROPERTY_FORMATTER_GAV = PROPERTY_NAME_GAV + 
"=org.camel.karavan.demo:%s:1";
 
     public enum CamelRuntime {
         CAMEL_MAIN("camel-main"),
diff --git 
a/karavan-app/src/main/java/org/apache/camel/karavan/api/DevModeResource.java 
b/karavan-app/src/main/java/org/apache/camel/karavan/api/DevModeResource.java
index c731ac8c..2c28047e 100644
--- 
a/karavan-app/src/main/java/org/apache/camel/karavan/api/DevModeResource.java
+++ 
b/karavan-app/src/main/java/org/apache/camel/karavan/api/DevModeResource.java
@@ -57,7 +57,7 @@ public class DevModeResource {
     @Path("/{verbose}/{compile}")
     public Response runProjectInDeveloperMode(Project project, 
@PathParam("verbose") boolean verbose, @PathParam("compile") boolean compile) {
         try {
-            String containerName = 
projectService.runProjectInDeveloperMode(project, verbose, compile, Map.of(), 
Map.of());
+            String containerName = 
projectService.runProjectInDeveloperMode(project.getProjectId(), verbose, 
compile, Map.of(), Map.of());
             if (containerName != null) {
                 return Response.ok(containerName).build();
             } else {
diff --git 
a/karavan-app/src/main/java/org/apache/camel/karavan/docker/DockerForKaravan.java
 
b/karavan-app/src/main/java/org/apache/camel/karavan/docker/DockerForKaravan.java
index 34aeb727..86bc6954 100644
--- 
a/karavan-app/src/main/java/org/apache/camel/karavan/docker/DockerForKaravan.java
+++ 
b/karavan-app/src/main/java/org/apache/camel/karavan/docker/DockerForKaravan.java
@@ -22,7 +22,10 @@ import com.github.dockerjava.api.model.MountType;
 import com.github.dockerjava.api.model.RestartPolicy;
 import jakarta.enterprise.context.ApplicationScoped;
 import jakarta.inject.Inject;
-import org.apache.camel.karavan.model.*;
+import org.apache.camel.karavan.model.ContainerType;
+import org.apache.camel.karavan.model.DockerComposeService;
+import org.apache.camel.karavan.model.DockerComposeVolume;
+import org.apache.camel.karavan.model.Project;
 import org.eclipse.microprofile.config.inject.ConfigProperty;
 import org.jboss.logging.Logger;
 
diff --git 
a/karavan-app/src/main/java/org/apache/camel/karavan/kubernetes/KubernetesService.java
 
b/karavan-app/src/main/java/org/apache/camel/karavan/kubernetes/KubernetesService.java
index 6de4f755..b5d270fa 100644
--- 
a/karavan-app/src/main/java/org/apache/camel/karavan/kubernetes/KubernetesService.java
+++ 
b/karavan-app/src/main/java/org/apache/camel/karavan/kubernetes/KubernetesService.java
@@ -16,8 +16,6 @@
  */
 package org.apache.camel.karavan.kubernetes;
 
-import org.apache.camel.karavan.model.KubernetesConfigMap;
-import org.apache.camel.karavan.model.KubernetesSecret;
 import io.fabric8.kubernetes.api.model.*;
 import io.fabric8.kubernetes.api.model.apps.Deployment;
 import io.fabric8.kubernetes.client.KubernetesClient;
@@ -32,7 +30,8 @@ import jakarta.enterprise.inject.Produces;
 import jakarta.inject.Inject;
 import org.apache.camel.karavan.KaravanConstants;
 import org.apache.camel.karavan.model.ContainerType;
-import org.apache.camel.karavan.model.Project;
+import org.apache.camel.karavan.model.KubernetesConfigMap;
+import org.apache.camel.karavan.model.KubernetesSecret;
 import org.apache.camel.karavan.service.CodeService;
 import org.apache.camel.karavan.service.ConfigService;
 import org.eclipse.microprofile.config.inject.ConfigProperty;
@@ -114,10 +113,10 @@ public class KubernetesService {
         }
     }
 
-    public void runBuildProject(Project project, String podFragment) {
+    public void runBuildProject(String projectId, String podFragment) {
         try (KubernetesClient client = kubernetesClient()) {
-            String containerName = project.getProjectId() + BUILDER_SUFFIX;
-            Map<String, String> labels = getLabels(containerName, project, 
ContainerType.build);
+            String containerName = projectId + BUILDER_SUFFIX;
+            Map<String, String> labels = getLabels(containerName, projectId, 
ContainerType.build);
 
 //        Delete old build pod
             Pod old = 
client.pods().inNamespace(getNamespace()).withName(containerName).get();
@@ -134,11 +133,11 @@ public class KubernetesService {
         }
     }
 
-    private Map<String, String> getLabels(String name, Project project, 
ContainerType type) {
+    private Map<String, String> getLabels(String name, String projectId, 
ContainerType type) {
         Map<String, String> labels = new HashMap<>();
         labels.putAll(getPartOfLabels());
         labels.put("app.kubernetes.io/name", name);
-        labels.put(LABEL_PROJECT_ID, project.getProjectId());
+        labels.put(LABEL_PROJECT_ID, projectId);
         if (type != null) {
             labels.put(LABEL_TYPE, type.name());
         }
@@ -338,24 +337,23 @@ public class KubernetesService {
         return result;
     }
 
-    public void runDevModeContainer(Project project, Boolean verbose, Boolean 
compile, Map<String, String> files, String projectDevmodeImage, String 
deploymentFragment, Map<String, String> labels, Map<String, String> envVars) {
-        String name = project.getProjectId();
+    public void runDevModeContainer(String projectId, Boolean verbose, Boolean 
compile, Map<String, String> files, String projectDevmodeImage, String 
deploymentFragment, Map<String, String> labels, Map<String, String> envVars) {
         Map<String, String> podLabels = new HashMap<>(labels);
-        podLabels.putAll(getLabels(name, project, ContainerType.devmode));
+        podLabels.putAll(getLabels(projectId, projectId, 
ContainerType.devmode));
 
         try (KubernetesClient client = kubernetesClient()) {
             if (devmodePVC.orElse(false)) {
-                createPVC(name, labels);
+                createPVC(projectId, labels);
             }
-            Pod old = 
client.pods().inNamespace(getNamespace()).withName(name).get();
+            Pod old = 
client.pods().inNamespace(getNamespace()).withName(projectId).get();
             if (old == null) {
-                Pod pod = getDevModePod(name, verbose, compile, podLabels, 
projectDevmodeImage, deploymentFragment, envVars);
+                Pod pod = getDevModePod(projectId, verbose, compile, 
podLabels, projectDevmodeImage, deploymentFragment, envVars);
                 Pod result = client.resource(pod).serverSideApply();
                 copyFilesToContainer(result, files, "/karavan/code");
                 LOGGER.info("Created pod " + result.getMetadata().getName());
             }
         }
-        createService(name, podLabels);
+        createService(projectId, podLabels);
     }
 
     private void copyFilesToContainer(Pod pod, Map<String, String> files, 
String dirName) {
diff --git 
a/karavan-app/src/main/java/org/apache/camel/karavan/model/CamelStatusValue.java
 
b/karavan-app/src/main/java/org/apache/camel/karavan/model/CamelStatusValue.java
index 5d4dab4e..c5826515 100644
--- 
a/karavan-app/src/main/java/org/apache/camel/karavan/model/CamelStatusValue.java
+++ 
b/karavan-app/src/main/java/org/apache/camel/karavan/model/CamelStatusValue.java
@@ -28,7 +28,8 @@ public class CamelStatusValue {
         route,
         trace,
         jvm,
-        source
+        source,
+        debug
     }
 
     Name name;
diff --git 
a/karavan-app/src/main/java/org/apache/camel/karavan/model/Project.java 
b/karavan-app/src/main/java/org/apache/camel/karavan/model/Project.java
index 2bfb815b..a78cc582 100644
--- a/karavan-app/src/main/java/org/apache/camel/karavan/model/Project.java
+++ b/karavan-app/src/main/java/org/apache/camel/karavan/model/Project.java
@@ -73,6 +73,10 @@ public class Project {
         return projectId;
     }
 
+    public String getGavPackageSuffix() {
+        return projectId.replaceAll("[^a-zA-Z0-9]", "").toLowerCase();
+    }
+
     public void setProjectId(String projectId) {
         this.projectId = projectId;
     }
diff --git 
a/karavan-app/src/main/java/org/apache/camel/karavan/service/CodeService.java 
b/karavan-app/src/main/java/org/apache/camel/karavan/service/CodeService.java
index 403a502b..20bbba62 100644
--- 
a/karavan-app/src/main/java/org/apache/camel/karavan/service/CodeService.java
+++ 
b/karavan-app/src/main/java/org/apache/camel/karavan/service/CodeService.java
@@ -156,7 +156,8 @@ public class CodeService {
         String template = getTemplateText(APPLICATION_PROPERTIES_FILENAME);
         String code = substituteVariables(template, Map.of(
                 "projectId", project.getProjectId(),
-                "projectName", project.getName()
+                "projectName", project.getName(),
+                "packageSuffix", project.getGavPackageSuffix()
         ));
         return new ProjectFile(APPLICATION_PROPERTIES_FILENAME, code, 
project.getProjectId(), Instant.now().toEpochMilli());
     }
diff --git 
a/karavan-app/src/main/java/org/apache/camel/karavan/service/ProjectService.java
 
b/karavan-app/src/main/java/org/apache/camel/karavan/service/ProjectService.java
index 46ea88a8..a8c25e41 100644
--- 
a/karavan-app/src/main/java/org/apache/camel/karavan/service/ProjectService.java
+++ 
b/karavan-app/src/main/java/org/apache/camel/karavan/service/ProjectService.java
@@ -93,24 +93,24 @@ public class ProjectService {
         }
     }
 
-    public String runProjectInDeveloperMode(Project project, Boolean verbose, 
Boolean compile, Map<String, String> labels, Map<String, String> envVars) 
throws Exception {
-        String containerName = project.getProjectId();
-        PodContainerStatus status = 
karavanCache.getDevModePodContainerStatus(project.getProjectId(), environment);
+    public String runProjectInDeveloperMode(String projectId, Boolean verbose, 
Boolean compile, Map<String, String> labels, Map<String, String> envVars) 
throws Exception {
+        String containerName = projectId;
+        PodContainerStatus status = 
karavanCache.getDevModePodContainerStatus(projectId, environment);
         if (status == null) {
-            status = PodContainerStatus.createDevMode(project.getProjectId(), 
environment);
+            status = PodContainerStatus.createDevMode(projectId, environment);
         }
         if (!Objects.equals(status.getState(), 
PodContainerStatus.State.running.name())) {
             status.setInTransit(true);
             eventBus.publish(POD_CONTAINER_UPDATED, 
JsonObject.mapFrom(status));
 
-            Map<String, String> files = 
codeService.getProjectFilesForDevMode(project.getProjectId(), true);
-            String projectDevmodeImage = 
codeService.getProjectDevModeImage(project.getProjectId());
+            Map<String, String> files = 
codeService.getProjectFilesForDevMode(projectId, true);
+            String projectDevmodeImage = 
codeService.getProjectDevModeImage(projectId);
             if (ConfigService.inKubernetes()) {
-                String deploymentFragment = 
codeService.getDeploymentFragment(project.getProjectId());
-                kubernetesService.runDevModeContainer(project, verbose, 
compile, files, projectDevmodeImage, deploymentFragment, labels, envVars);
+                String deploymentFragment = 
codeService.getDeploymentFragment(projectId);
+                kubernetesService.runDevModeContainer(projectId, verbose, 
compile, files, projectDevmodeImage, deploymentFragment, labels, envVars);
             } else {
-                DockerComposeService compose = 
getProjectDockerComposeService(project.getProjectId());
-                dockerForKaravan.runProjectInDevMode(project.getProjectId(), 
verbose, compile, compose, files, projectDevmodeImage, labels, envVars);
+                DockerComposeService compose = 
getProjectDockerComposeService(projectId);
+                dockerForKaravan.runProjectInDevMode(projectId, verbose, 
compile, compose, files, projectDevmodeImage, labels, envVars);
             }
             return containerName;
         } else {
@@ -126,7 +126,7 @@ public class ProjectService {
         if (ConfigService.inKubernetes()) {
             String podFragment = codeService.getBuilderPodFragment();
             podFragment = codeService.substituteVariables(podFragment, Map.of( 
"projectId", project.getProjectId(), "tag", tag));
-            kubernetesService.runBuildProject(project, podFragment);
+            kubernetesService.runBuildProject(project.getProjectId(), 
podFragment);
         } else {
             Map<String, String> sshFiles = getSshFiles();
             String composeFragment =  
codeService.getBuilderComposeFragment(project.getProjectId(), tag);
@@ -203,13 +203,13 @@ public class ProjectService {
 
         String sourceProjectIdProperty = 
String.format(PROPERTY_FORMATTER_PROJECT_ID, sourceProject.getProjectId());
         String sourceProjectNameProperty = 
String.format(PROPERTY_FORMATTER_PROJECT_NAME, sourceProject.getName());
-        String sourceGavProperty = 
String.format(codeService.getGavFormatter(), sourceProject.getProjectId());
+        String sourceGavProperty = fileContent.lines().filter(line -> 
line.startsWith(PROPERTY_NAME_GAV)).findFirst().orElse("");
 
         String[] searchValues = {sourceProjectIdProperty, 
sourceProjectNameProperty, sourceGavProperty};
 
         String updatedProjectIdProperty = 
String.format(PROPERTY_FORMATTER_PROJECT_ID, project.getProjectId());
         String updatedProjectNameProperty = 
String.format(PROPERTY_FORMATTER_PROJECT_NAME, project.getName());
-        String updatedGavProperty = 
String.format(codeService.getGavFormatter(), project.getProjectId());
+        String updatedGavProperty = 
String.format(codeService.getGavFormatter(), project.getGavPackageSuffix());
 
         String[] replacementValues = {updatedProjectIdProperty, 
updatedProjectNameProperty, updatedGavProperty};
 
diff --git a/karavan-app/src/main/webui/package-lock.json 
b/karavan-app/src/main/webui/package-lock.json
index ec71e9f1..cfab1662 100644
--- a/karavan-app/src/main/webui/package-lock.json
+++ b/karavan-app/src/main/webui/package-lock.json
@@ -54,7 +54,7 @@
       }
     },
     "../../../../karavan-core": {
-      "version": "4.8.1",
+      "version": "4.8.3",
       "license": "Apache-2.0",
       "dependencies": {
         "@types/js-yaml": "^4.0.9",

Reply via email to