Skip to content

Commit 051d8dd

Browse files
committed
Karavan Improvements
1 parent 2382e1d commit 051d8dd

File tree

3 files changed

+39
-3
lines changed

3 files changed

+39
-3
lines changed

karavan-app/src/main/java/org/apache/camel/karavan/KaravanCache.java

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -294,13 +294,17 @@ public CamelStatus getCamelStatus(String key) {
294294
return camelStatuses.get(key);
295295
}
296296

297-
public List<CamelStatus> getCamelStatusesByEnv(CamelStatusValue.Name name) {
297+
public List<CamelStatus> getCamelStatusesByName(CamelStatusValue.Name name) {
298298
return getCopyCamelStatuses().stream().peek(cs -> {
299299
var values = cs.getStatuses();
300300
cs.setStatuses(values.stream().filter(v -> Objects.equals(v.getName(), name)).toList());
301301
}).toList();
302302
}
303303

304+
public List<CamelStatus> getCamelAllStatuses() {
305+
return getCopyCamelStatuses();
306+
}
307+
304308
public List<CamelStatus> getCamelStatusesByProjectAndEnv(String projectId, String env) {
305309
return getCopyCamelStatuses().stream().filter(el -> Objects.equals(el.getProjectId(), projectId) && Objects.equals(el.getEnv(), env)).toList();
306310
}
@@ -328,11 +332,11 @@ public void deleteAllCamelStatuses() {
328332
}
329333

330334
public List<PodContainerStatus> getLoadedDevModeStatuses() {
331-
return getCopyPodContainerStatuses().stream().filter(el -> Objects.equals(el.getType(), PodContainerStatus.ContainerType.devmode) && Objects.equals(el.getCodeLoaded(), true)).toList();
335+
return getCopyPodContainerStatuses().stream().filter(el -> Objects.equals(el.getType(), ContainerType.devmode) && Objects.equals(el.getCodeLoaded(), true)).toList();
332336
}
333337

334338
public List<PodContainerStatus> getDevModeStatuses() {
335-
return getCopyPodContainerStatuses().stream().filter(el -> Objects.equals(el.getType(), PodContainerStatus.ContainerType.devmode)).toList();
339+
return getCopyPodContainerStatuses().stream().filter(el -> Objects.equals(el.getType(), ContainerType.devmode)).toList();
336340
}
337341

338342
public List<PodContainerStatus> getContainerStatusByEnv(String env) {

karavan-app/src/main/java/org/apache/camel/karavan/KaravanEvents.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,8 @@ public class KaravanEvents {
4242
public static final String CMD_RELOAD_PROJECT_CODE = "CMD_RELOAD_PROJECT_CODE";
4343
public static final String CMD_DELETE_CONTAINER = "CMD_DELETE_CONTAINER";
4444

45+
public static final String CMD_RESTART_INFORMERS = "CMD_RESTART_INFORMERS";
46+
4547
public static final String POD_CONTAINER_UPDATED = "POD_CONTAINER_UPDATED";
4648
public static final String POD_CONTAINER_DELETED = "POD_CONTAINER_DELETED";
4749

karavan-app/src/main/java/org/apache/camel/karavan/KaravanStartupLoader.java

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,7 @@ public void tryStart() throws Exception {
107107
addKameletsProject();
108108
addTemplatesProject();
109109
addConfigurationProject();
110+
addServicesProject();
110111
}
111112
ready.set(true);
112113
} else {
@@ -128,6 +129,8 @@ private void importAllProjects() {
128129
project = new Project(Project.Type.kamelets.name(), "Custom Kamelets", repo.getCommitId(), repo.getLastCommitTimestamp(), Project.Type.kamelets);
129130
} else if (folderName.equals(Project.Type.configuration.name())) {
130131
project = new Project(Project.Type.configuration.name(), "Configuration", repo.getCommitId(), repo.getLastCommitTimestamp(), Project.Type.configuration);
132+
} else if (folderName.equals(Project.Type.services.name())) {
133+
project = new Project(Project.Type.services.name(), "Dev Services", repo.getCommitId(), repo.getLastCommitTimestamp(), Project.Type.services);
131134
} else {
132135
project = projectService.getProjectFromRepo(repo);
133136
}
@@ -209,4 +212,31 @@ void addConfigurationProject() {
209212
LOGGER.error("Error during configuration project creation", e);
210213
}
211214
}
215+
216+
void addServicesProject() {
217+
try {
218+
Project services = karavanCache.getProject(Project.Type.services.name());
219+
if (services == null) {
220+
LOGGER.info("Add dev services project");
221+
services = new Project(Project.Type.services.name(), "Dev services", "", Instant.now().toEpochMilli(), Project.Type.services);
222+
karavanCache.saveProject(services, true);
223+
224+
codeService.getDevServicesFiles().forEach((name, value) -> {
225+
ProjectFile file = new ProjectFile(name, value, Project.Type.services.name(), Instant.now().toEpochMilli());
226+
karavanCache.saveProjectFile(file, false, true);
227+
});
228+
} else {
229+
codeService.getDevServicesFiles().forEach((name, value) -> {
230+
ProjectFile f = karavanCache.getProjectFile(Project.Type.services.name(), name);
231+
if (f == null) {
232+
LOGGER.info("Add new service " + name);
233+
ProjectFile file = new ProjectFile(name, value, Project.Type.services.name(), Instant.now().toEpochMilli());
234+
karavanCache.saveProjectFile(file, false, true);
235+
}
236+
});
237+
}
238+
} catch (Exception e) {
239+
LOGGER.error("Error during services project creation", e);
240+
}
241+
}
212242
}

0 commit comments

Comments
 (0)