Skip to content

Commit a4cce70

Browse files
List usage records for network offering (usage type 13) when offering id is specified in usage id (#10852)
1 parent 8d3ae3e commit a4cce70

File tree

1 file changed

+12
-1
lines changed

1 file changed

+12
-1
lines changed

server/src/main/java/com/cloud/usage/UsageServiceImpl.java

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,8 @@
2727
import javax.naming.ConfigurationException;
2828

2929
import com.cloud.domain.Domain;
30+
import com.cloud.offerings.NetworkOfferingVO;
31+
import com.cloud.offerings.dao.NetworkOfferingDao;
3032
import org.apache.cloudstack.api.command.admin.usage.GenerateUsageRecordsCmd;
3133
import org.apache.cloudstack.api.command.admin.usage.ListUsageRecordsCmd;
3234
import org.apache.cloudstack.api.command.admin.usage.RemoveRawUsageRecordsCmd;
@@ -122,6 +124,8 @@ public class UsageServiceImpl extends ManagerBase implements UsageService, Manag
122124
private IPAddressDao _ipDao;
123125
@Inject
124126
private HostDao _hostDao;
127+
@Inject
128+
private NetworkOfferingDao _networkOfferingDao;
125129

126130
public UsageServiceImpl() {
127131
}
@@ -253,6 +257,7 @@ public Pair<List<? extends Usage>, Integer> getUsageRecords(ListUsageRecordsCmd
253257
}
254258

255259
Long usageDbId = null;
260+
boolean offeringExistsForNetworkOfferingType = false;
256261

257262
switch (usageType.intValue()) {
258263
case UsageTypes.NETWORK_BYTES_RECEIVED:
@@ -326,13 +331,19 @@ public Pair<List<? extends Usage>, Integer> getUsageRecords(ListUsageRecordsCmd
326331
usageDbId = ip.getId();
327332
}
328333
break;
334+
case UsageTypes.NETWORK_OFFERING:
335+
NetworkOfferingVO networkOffering = _networkOfferingDao.findByUuidIncludingRemoved(usageId);
336+
if (networkOffering != null) {
337+
offeringExistsForNetworkOfferingType = true;
338+
sc.addAnd("offeringId", SearchCriteria.Op.EQ, networkOffering.getId());
339+
}
329340
default:
330341
break;
331342
}
332343

333344
if (usageDbId != null) {
334345
sc.addAnd("usageId", SearchCriteria.Op.EQ, usageDbId);
335-
} else {
346+
} else if (!offeringExistsForNetworkOfferingType) {
336347
// return an empty list if usageId was not found
337348
return new Pair<List<? extends Usage>, Integer>(new ArrayList<Usage>(), new Integer(0));
338349
}

0 commit comments

Comments
 (0)