From 8d365cbd71a62084bca3517e71c998ce402c84c3 Mon Sep 17 00:00:00 2001 From: Manoj Kumar Date: Wed, 29 Apr 2026 23:51:25 +0530 Subject: [PATCH] override findById for dnsServer --- .../api/command/user/dns/UpdateDnsServerCmd.java | 1 - .../java/org/apache/cloudstack/dns/dao/DnsServerDao.java | 3 +++ .../org/apache/cloudstack/dns/dao/DnsServerDaoImpl.java | 7 +++++++ .../apache/cloudstack/dns/DnsProviderManagerImplTest.java | 6 ++++++ 4 files changed, 16 insertions(+), 1 deletion(-) diff --git a/api/src/main/java/org/apache/cloudstack/api/command/user/dns/UpdateDnsServerCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/user/dns/UpdateDnsServerCmd.java index 96725d4a10f..8d1ce80f1ff 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/user/dns/UpdateDnsServerCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/user/dns/UpdateDnsServerCmd.java @@ -76,7 +76,6 @@ public class UpdateDnsServerCmd extends BaseCmd { private String publicDomainSuffix; @Parameter(name = ApiConstants.NAME_SERVERS, type = CommandType.LIST, collectionType = CommandType.STRING, - required = true, description = "Comma separated list of name servers; used to create NS records for the DNS Zone (for example, ns1.example.com, ns2.example.com)") private List nameServers; diff --git a/server/src/main/java/org/apache/cloudstack/dns/dao/DnsServerDao.java b/server/src/main/java/org/apache/cloudstack/dns/dao/DnsServerDao.java index 7d16370ccd6..cf8c91ae9d3 100644 --- a/server/src/main/java/org/apache/cloudstack/dns/dao/DnsServerDao.java +++ b/server/src/main/java/org/apache/cloudstack/dns/dao/DnsServerDao.java @@ -29,6 +29,9 @@ import com.cloud.utils.db.Filter; import com.cloud.utils.db.GenericDao; public interface DnsServerDao extends GenericDao { + + DnsServerVO findById(Long dnsServerId); + DnsServer findByUrlAndAccount(String url, long accountId); List listDnsServerIdsByAccountId(Long accountId); diff --git a/server/src/main/java/org/apache/cloudstack/dns/dao/DnsServerDaoImpl.java b/server/src/main/java/org/apache/cloudstack/dns/dao/DnsServerDaoImpl.java index 7540e37d942..2447a30d2b5 100644 --- a/server/src/main/java/org/apache/cloudstack/dns/dao/DnsServerDaoImpl.java +++ b/server/src/main/java/org/apache/cloudstack/dns/dao/DnsServerDaoImpl.java @@ -74,6 +74,13 @@ public class DnsServerDaoImpl extends GenericDaoBase implemen } + @Override + public DnsServerVO findById(Long dnsServerId) { + DnsServerVO dnsServer = super.findById(dnsServerId); + loadDetails(dnsServer); + return dnsServer; + } + @Override public DnsServer findByUrlAndAccount(String url, long accountId) { SearchCriteria sc = AccountUrlSearch.create(); diff --git a/server/src/test/java/org/apache/cloudstack/dns/DnsProviderManagerImplTest.java b/server/src/test/java/org/apache/cloudstack/dns/DnsProviderManagerImplTest.java index e7550f37291..f97c476b71d 100644 --- a/server/src/test/java/org/apache/cloudstack/dns/DnsProviderManagerImplTest.java +++ b/server/src/test/java/org/apache/cloudstack/dns/DnsProviderManagerImplTest.java @@ -38,7 +38,9 @@ import static org.mockito.Mockito.when; import java.io.IOException; import java.util.Arrays; import java.util.Collections; +import java.util.HashMap; import java.util.List; +import java.util.Map; import org.apache.cloudstack.api.command.user.dns.CreateDnsZoneCmd; import org.apache.cloudstack.api.command.user.dns.DeleteDnsServerCmd; @@ -158,6 +160,10 @@ public class DnsProviderManagerImplTest { serverVO = Mockito.spy( new DnsServerVO("test-server", "http://pdns:8081", 8081, DnsProviderType.PowerDNS, null, "apikey", false, null, Collections.singletonList("ns1.example.com"), ACCOUNT_ID, DOMAIN_ID)); + + Map serverDetails = new HashMap<>(); + serverDetails.put("pdsnServerId", "localhost"); + serverVO.setDetails(serverDetails); Mockito.lenient().doReturn(SERVER_ID).when(serverVO).getId(); zoneVO = Mockito.spy(