Skip to content
Snippets Groups Projects
Commit ae539b43 authored by Lukasz Lopatowski's avatar Lukasz Lopatowski
Browse files

Merge branch...

Merge branch '218-deleted-applications-are-visible-in-the-domain-group-configuration-page' into 'develop'

delete appbase from appstateperdomain

See merge request !27
parents ad2a76d6 98d6384e
No related branches found
No related tags found
3 merge requests!65Resolve "Prevent users from adding an existing SSH key",!601.6.5 fix processing bulk,!27delete appbase from appstateperdomain
Pipeline #89360 passed
...@@ -23,6 +23,7 @@ import javax.validation.constraints.NotNull; ...@@ -23,6 +23,7 @@ import javax.validation.constraints.NotNull;
import java.io.Serializable; import java.io.Serializable;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Optional;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@Entity @Entity
......
package net.geant.nmaas.portal.service; package net.geant.nmaas.portal.service;
import net.geant.nmaas.portal.api.domain.DomainGroupView; import net.geant.nmaas.portal.api.domain.DomainGroupView;
import net.geant.nmaas.portal.persistent.entity.ApplicationBase;
import net.geant.nmaas.portal.persistent.entity.Domain; import net.geant.nmaas.portal.persistent.entity.Domain;
import java.util.List; import java.util.List;
...@@ -23,4 +24,6 @@ public interface DomainGroupService { ...@@ -23,4 +24,6 @@ public interface DomainGroupService {
DomainGroupView updateDomainGroup(Long domainGroupId, DomainGroupView view); DomainGroupView updateDomainGroup(Long domainGroupId, DomainGroupView view);
void deleteAppBaseFromAllAppState(ApplicationBase base);
} }
...@@ -101,5 +101,4 @@ public class ApplicationStatePerDomainServiceImpl implements ApplicationStatePer ...@@ -101,5 +101,4 @@ public class ApplicationStatePerDomainServiceImpl implements ApplicationStatePer
public boolean validateAppConfigurationAgainstState(AppConfigurationView appConfig, ApplicationStatePerDomain appState) { public boolean validateAppConfigurationAgainstState(AppConfigurationView appConfig, ApplicationStatePerDomain appState) {
return appConfig.getStorageSpace() == null || appConfig.getStorageSpace() <= appState.getPvStorageSizeLimit(); return appConfig.getStorageSpace() == null || appConfig.getStorageSpace() <= appState.getPvStorageSizeLimit();
} }
} }
...@@ -6,6 +6,7 @@ import net.geant.nmaas.portal.api.domain.ApplicationStatePerDomainView; ...@@ -6,6 +6,7 @@ import net.geant.nmaas.portal.api.domain.ApplicationStatePerDomainView;
import net.geant.nmaas.portal.api.domain.DomainGroupView; import net.geant.nmaas.portal.api.domain.DomainGroupView;
import net.geant.nmaas.portal.api.exception.MissingElementException; import net.geant.nmaas.portal.api.exception.MissingElementException;
import net.geant.nmaas.portal.api.exception.ProcessingException; import net.geant.nmaas.portal.api.exception.ProcessingException;
import net.geant.nmaas.portal.persistent.entity.ApplicationBase;
import net.geant.nmaas.portal.persistent.entity.ApplicationStatePerDomain; import net.geant.nmaas.portal.persistent.entity.ApplicationStatePerDomain;
import net.geant.nmaas.portal.persistent.entity.Domain; import net.geant.nmaas.portal.persistent.entity.Domain;
import net.geant.nmaas.portal.persistent.entity.DomainGroup; import net.geant.nmaas.portal.persistent.entity.DomainGroup;
...@@ -136,4 +137,10 @@ public class DomainGroupServiceImpl implements DomainGroupService { ...@@ -136,4 +137,10 @@ public class DomainGroupServiceImpl implements DomainGroupService {
} }
} }
public void deleteAppBaseFromAllAppState(ApplicationBase base) {
domainGroupRepository.findAll().forEach(d -> {
d.getApplicationStatePerDomain().removeIf(state -> state.getApplicationBase().equals(base));
});
}
} }
\ No newline at end of file
...@@ -536,8 +536,8 @@ public class DomainServiceImpl implements DomainService { ...@@ -536,8 +536,8 @@ public class DomainServiceImpl implements DomainService {
public void removeAppBaseFromAllDomains(ApplicationBase base) { public void removeAppBaseFromAllDomains(ApplicationBase base) {
getDomains().forEach(domain -> { getDomains().forEach(domain -> {
removeFromDomain(base, domain); removeFromDomain(base, domain);
}); });
domainGroupService.deleteAppBaseFromAllAppState(base);
} }
private void removeFromDomain(ApplicationBase base, Domain domain) { private void removeFromDomain(ApplicationBase base, Domain domain) {
......
...@@ -473,4 +473,22 @@ public class DomainServiceTest { ...@@ -473,4 +473,22 @@ public class DomainServiceTest {
assertEquals(0, domain2.getApplicationStatePerDomain().size()); assertEquals(0, domain2.getApplicationStatePerDomain().size());
} }
@Test
void shouldRemoveAppBaseFromAllDomainGroup() {
ApplicationBase applicationBase = new ApplicationBase(1L, "appBase");
ApplicationStatePerDomain statePerDomain = new ApplicationStatePerDomain(applicationBase);
DomainGroup domainGroup = new DomainGroup("test", "test1");
DomainGroup domainGroup2 = new DomainGroup("test2", "test2");
domainGroup.setApplicationStatePerDomain(new ArrayList<>(List.of(statePerDomain)));
domainGroup2.setApplicationStatePerDomain(new ArrayList<>(List.of(statePerDomain)));
when(domainGroupRepository.findAll()).thenReturn(List.of(domainGroup, domainGroup2));
domainGroupService.deleteAppBaseFromAllAppState(applicationBase);
assertEquals(0, domainGroup.getApplicationStatePerDomain().size());
assertEquals(0, domainGroup2.getApplicationStatePerDomain().size());
}
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment