AS per JCLOUDS-1012 project and projectId parameters are not supported. This commits adds the 2 parameters to the usage response.

This commit is contained in:
John McDonnell 2015-10-10 12:14:23 +01:00 committed by Ignasi Barrera
parent 29b503afd0
commit 9f85213b4f
3 changed files with 44 additions and 9 deletions

View File

@ -114,6 +114,8 @@ public class UsageRecord {
protected Long size; protected Long size;
protected String type; protected String type;
protected UsageType usageType; protected UsageType usageType;
protected String project;
protected String projectId;
/** /**
* @see UsageRecord#getId() * @see UsageRecord#getId()
@ -283,10 +285,25 @@ public class UsageRecord {
return self(); return self();
} }
/**
* @see UsageRecord#getProject()
*/
public T project(String project) {
this.project = project;
return self();
}
/**
* @see UsageRecord#getProjectId()
*/
public T projectId(String projectId) {
this.projectId = projectId;
return self();
}
public UsageRecord build() { public UsageRecord build() {
return new UsageRecord(id, description, accountId, accountName, domainId, startDate, endDate, assignDate, releaseDate, return new UsageRecord(id, description, accountId, accountName, domainId, startDate, endDate, assignDate, releaseDate,
zoneId, virtualMachineId, virtualMachineName, serviceOfferingId, templateId, ipAddress, isSourceNAT, rawUsageHours, zoneId, virtualMachineId, virtualMachineName, serviceOfferingId, templateId, ipAddress, isSourceNAT, rawUsageHours,
usage, size, type, usageType); usage, size, type, usageType, project, projectId);
} }
public T fromUsageRecord(UsageRecord in) { public T fromUsageRecord(UsageRecord in) {
@ -311,7 +328,9 @@ public class UsageRecord {
.usage(in.getUsage()) .usage(in.getUsage())
.size(in.getSize()) .size(in.getSize())
.type(in.getType()) .type(in.getType())
.usageType(in.getUsageType()); .usageType(in.getUsageType())
.project(in.getProject())
.projectId(in.getProjectId());
} }
} }
@ -343,18 +362,20 @@ public class UsageRecord {
private final Long size; private final Long size;
private final String type; private final String type;
private final UsageType usageType; private final UsageType usageType;
private final String project;
private final String projectId;
@ConstructorProperties({ @ConstructorProperties({
"usageid", "description", "accountid", "account", "domainid", "startdate", "enddate", "assigndate", "releasedate", "usageid", "description", "accountid", "account", "domainid", "startdate", "enddate", "assigndate", "releasedate",
"zoneid", "virtualmachineid", "name", "offeringid", "templateid", "ipaddress", "issourcenat", "rawusage", "usage", "zoneid", "virtualmachineid", "name", "offeringid", "templateid", "ipaddress", "issourcenat", "rawusage", "usage",
"size", "type", "usagetype" "size", "type", "usagetype", "project", "projectId"
}) })
protected UsageRecord(String id, @Nullable String description, @Nullable String accountId, @Nullable String accountName, protected UsageRecord(String id, @Nullable String description, @Nullable String accountId, @Nullable String accountName,
@Nullable String domainId, @Nullable Date startDate, @Nullable Date endDate, @Nullable Date assignDate, @Nullable String domainId, @Nullable Date startDate, @Nullable Date endDate, @Nullable Date assignDate,
@Nullable String releaseDate, @Nullable String zoneId, @Nullable String virtualMachineId, @Nullable String virtualMachineName, @Nullable String releaseDate, @Nullable String zoneId, @Nullable String virtualMachineId, @Nullable String virtualMachineName,
@Nullable String serviceOfferingId, @Nullable String templateId, @Nullable String ipAddress, @Nullable String serviceOfferingId, @Nullable String templateId, @Nullable String ipAddress,
boolean isSourceNAT, double rawUsageHours, @Nullable String usage, @Nullable Long size, boolean isSourceNAT, double rawUsageHours, @Nullable String usage, @Nullable Long size,
@Nullable String type, @Nullable UsageType usageType) { @Nullable String type, @Nullable UsageType usageType, @Nullable String project, @Nullable String projectId) {
this.id = id; this.id = id;
this.description = description; this.description = description;
this.accountId = accountId; this.accountId = accountId;
@ -376,6 +397,8 @@ public class UsageRecord {
this.size = size; this.size = size;
this.type = type; this.type = type;
this.usageType = usageType; this.usageType = usageType;
this.project = project;
this.projectId = projectId;
} }
public String getId() { public String getId() {
@ -478,12 +501,22 @@ public class UsageRecord {
public UsageType getUsageType() { public UsageType getUsageType() {
return this.usageType; return this.usageType;
} }
@Nullable
public String getProject() {
return this.project;
}
@Nullable
public String getProjectId() {
return this.projectId;
}
@Override @Override
public int hashCode() { public int hashCode() {
return Objects.hashCode(id, description, accountId, accountName, domainId, startDate, endDate, assignDate, releaseDate, return Objects.hashCode(id, description, accountId, accountName, domainId, startDate, endDate, assignDate, releaseDate,
zoneId, virtualMachineId, virtualMachineName, serviceOfferingId, templateId, ipAddress, isSourceNAT, rawUsageHours, zoneId, virtualMachineId, virtualMachineName, serviceOfferingId, templateId, ipAddress, isSourceNAT, rawUsageHours,
size, usage, type, usageType); size, usage, type, usageType, project, projectId);
} }
@Override @Override
@ -511,7 +544,9 @@ public class UsageRecord {
&& Objects.equal(this.usage, that.usage) && Objects.equal(this.usage, that.usage)
&& Objects.equal(this.size, that.size) && Objects.equal(this.size, that.size)
&& Objects.equal(this.type, that.type) && Objects.equal(this.type, that.type)
&& Objects.equal(this.usageType, that.usageType); && Objects.equal(this.usageType, that.usageType)
&& Objects.equal(this.project, that.project)
&& Objects.equal(this.projectId, that.projectId);
} }
protected ToStringHelper string() { protected ToStringHelper string() {
@ -521,7 +556,7 @@ public class UsageRecord {
.add("releaseDate", releaseDate).add("zoneId", zoneId).add("virtualMachineId", virtualMachineId) .add("releaseDate", releaseDate).add("zoneId", zoneId).add("virtualMachineId", virtualMachineId)
.add("virtualMachineName", virtualMachineName).add("serviceOfferingId", serviceOfferingId).add("templateId", templateId) .add("virtualMachineName", virtualMachineName).add("serviceOfferingId", serviceOfferingId).add("templateId", templateId)
.add("ipAddress", ipAddress).add("isSourceNAT", isSourceNAT).add("rawUsageHours", rawUsageHours).add("usage", usage) .add("ipAddress", ipAddress).add("isSourceNAT", isSourceNAT).add("rawUsageHours", rawUsageHours).add("usage", usage)
.add("size", size).add("type", type).add("usageType", usageType); .add("size", size).add("type", type).add("usageType", usageType).add("project", project).add("projectId", projectId);
} }
@Override @Override

View File

@ -60,7 +60,7 @@ public class ListUsageRecordsResponseTest extends BaseSetParserTest<UsageRecord>
.accountName("admin").accountId("2").domainId("1").zoneId("1") .accountName("admin").accountId("2").domainId("1").zoneId("1")
.description("Template Id:203 Size:3117171712") .description("Template Id:203 Size:3117171712")
.usage("24 Hrs").usageType(UsageRecord.UsageType.TEMPLATE).rawUsageHours(24) .usage("24 Hrs").usageType(UsageRecord.UsageType.TEMPLATE).rawUsageHours(24)
.size(3117171712l).templateId("0").id("203") .size(3117171712l).templateId("0").id("203").project("project1").projectId("1")
.startDate(start).endDate(end).build()); .startDate(start).endDate(end).build());
} }

View File

@ -1 +1 @@
{ "listusagerecordsresponse" : { "count":1 ,"usagerecord" : [ {"account":"admin","accountid":2,"domainid":1,"zoneid":1,"description":"Template Id:203 Size:3117171712","usage":"24 Hrs","usagetype":7,"rawusage":"24","templateid":0,"usageid":203,"size":3117171712,"startdate":"2011-12-15'T'00:00:00+00:00","enddate":"2011-12-15'T'23:59:59+00:00"} ] } } { "listusagerecordsresponse" : { "count":1 ,"usagerecord" : [ {"account":"admin","accountid":2,"domainid":1,"zoneid":1,"description":"Template Id:203 Size:3117171712","usage":"24 Hrs","usagetype":7,"rawusage":"24","templateid":0,"usageid":203,"size":3117171712,"project":"project1","projectId":1,"startdate":"2011-12-15'T'00:00:00+00:00","enddate":"2011-12-15'T'23:59:59+00:00"} ] } }