diff --git a/src/main/java/net/geant/nmaas/portal/service/impl/ApplicationStatePerDomainServiceImpl.java b/src/main/java/net/geant/nmaas/portal/service/impl/ApplicationStatePerDomainServiceImpl.java index 297af2ebcc25cc6f74df8103c18012adf3c8c45b..c11f3b1d65bd9ce246b3749ae73aa79220e2b8f2 100644 --- a/src/main/java/net/geant/nmaas/portal/service/impl/ApplicationStatePerDomainServiceImpl.java +++ b/src/main/java/net/geant/nmaas/portal/service/impl/ApplicationStatePerDomainServiceImpl.java @@ -9,6 +9,7 @@ import net.geant.nmaas.portal.persistent.entity.ApplicationBase; import net.geant.nmaas.portal.persistent.entity.ApplicationStatePerDomain; import net.geant.nmaas.portal.persistent.entity.Domain; import net.geant.nmaas.portal.persistent.repositories.ApplicationBaseRepository; +import net.geant.nmaas.portal.persistent.repositories.DomainGroupRepository; import net.geant.nmaas.portal.persistent.repositories.DomainRepository; import net.geant.nmaas.portal.service.ApplicationStatePerDomainService; import org.springframework.stereotype.Service; @@ -25,6 +26,7 @@ public class ApplicationStatePerDomainServiceImpl implements ApplicationStatePer private final DomainRepository domainRepository; private final ApplicationBaseRepository applicationBaseRepository; + private final DomainGroupRepository domainGroupRepository; @Override public List<ApplicationStatePerDomain> generateListOfDefaultApplicationStatesPerDomain() { @@ -44,6 +46,11 @@ public class ApplicationStatePerDomainServiceImpl implements ApplicationStatePer appState.setPvStorageSizeLimit(ApplicationStatePerDomainServiceImpl.DEFAULT_PV_STORAGE_SIZE_LIMIT); List<Domain> allDomains = domainRepository.findAll(); allDomains.forEach(domain -> domain.addApplicationState(appState)); + //update domains groups - set app to false by default + appState.setEnabled(false); + domainGroupRepository.findAll().forEach(d -> { + d.getApplicationStatePerDomain().add(appState); + }); return domainRepository.saveAll(allDomains); } diff --git a/src/test/java/net/geant/nmaas/portal/service/impl/ApplicationStatePerDomainServiceImplTest.java b/src/test/java/net/geant/nmaas/portal/service/impl/ApplicationStatePerDomainServiceImplTest.java index 2203f1e381dc2d6afc70d4723e6d161b59eedecb..0bfe44f773f19f8d25861184806fe385e6734479 100644 --- a/src/test/java/net/geant/nmaas/portal/service/impl/ApplicationStatePerDomainServiceImplTest.java +++ b/src/test/java/net/geant/nmaas/portal/service/impl/ApplicationStatePerDomainServiceImplTest.java @@ -5,6 +5,7 @@ import net.geant.nmaas.portal.persistent.entity.ApplicationBase; import net.geant.nmaas.portal.persistent.entity.ApplicationStatePerDomain; import net.geant.nmaas.portal.persistent.entity.Domain; import net.geant.nmaas.portal.persistent.repositories.ApplicationBaseRepository; +import net.geant.nmaas.portal.persistent.repositories.DomainGroupRepository; import net.geant.nmaas.portal.persistent.repositories.DomainRepository; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; @@ -28,6 +29,8 @@ public class ApplicationStatePerDomainServiceImplTest { private final DomainRepository domains = mock(DomainRepository.class); private final ApplicationBaseRepository applications = mock(ApplicationBaseRepository.class); + private final DomainGroupRepository domainGroupRepository = mock(DomainGroupRepository.class); + private ApplicationStatePerDomainServiceImpl appState; private final Domain domain1 = mock(Domain.class); @@ -35,7 +38,7 @@ public class ApplicationStatePerDomainServiceImplTest { @BeforeEach void setup() { - appState = new ApplicationStatePerDomainServiceImpl(domains, applications); + appState = new ApplicationStatePerDomainServiceImpl(domains, applications, domainGroupRepository); } @Test