From 3a72627940bcced491c168595515dcb95c19e18c Mon Sep 17 00:00:00 2001 From: Kai Zimmermann Date: Wed, 6 Jul 2016 09:17:31 +0200 Subject: [PATCH] Add traffic stats to mgmt API Signed-off-by: Kai Zimmermann --- .../systemmanagement/MgmtSystemTenantServiceUsage.java | 10 +++++++++- .../rest/resource/MgmtSystemManagementResource.java | 1 + .../hawkbit/repository/TenantStatsManagement.java | 6 ++++-- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/hawkbit-mgmt-api/src/main/java/org/eclipse/hawkbit/mgmt/json/model/systemmanagement/MgmtSystemTenantServiceUsage.java b/hawkbit-mgmt-api/src/main/java/org/eclipse/hawkbit/mgmt/json/model/systemmanagement/MgmtSystemTenantServiceUsage.java index 8cce4314b..8086323de 100644 --- a/hawkbit-mgmt-api/src/main/java/org/eclipse/hawkbit/mgmt/json/model/systemmanagement/MgmtSystemTenantServiceUsage.java +++ b/hawkbit-mgmt-api/src/main/java/org/eclipse/hawkbit/mgmt/json/model/systemmanagement/MgmtSystemTenantServiceUsage.java @@ -25,6 +25,7 @@ public class MgmtSystemTenantServiceUsage { private long artifacts; private long actions; private long overallArtifactVolumeInBytes; + private long overallArtifactTrafficInBytes; /** * Constructor. @@ -32,10 +33,17 @@ public class MgmtSystemTenantServiceUsage { * @param tenantName */ public MgmtSystemTenantServiceUsage(final String tenantName) { - super(); this.tenantName = tenantName; } + public long getOverallArtifactTrafficInBytes() { + return overallArtifactTrafficInBytes; + } + + public void setOverallArtifactTrafficInBytes(final long overallArtifactTrafficInBytes) { + this.overallArtifactTrafficInBytes = overallArtifactTrafficInBytes; + } + public long getTargets() { return targets; } diff --git a/hawkbit-mgmt-resource/src/main/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtSystemManagementResource.java b/hawkbit-mgmt-resource/src/main/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtSystemManagementResource.java index 3392d2659..d1586a299 100644 --- a/hawkbit-mgmt-resource/src/main/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtSystemManagementResource.java +++ b/hawkbit-mgmt-resource/src/main/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtSystemManagementResource.java @@ -87,6 +87,7 @@ public class MgmtSystemManagementResource implements MgmtSystemManagementRestApi result.setArtifacts(tenant.getArtifacts()); result.setOverallArtifactVolumeInBytes(tenant.getOverallArtifactVolumeInBytes()); result.setTargets(tenant.getTargets()); + result.setOverallArtifactTrafficInBytes(tenant.getOverallArtifactTrafficInBytes()); return result; } diff --git a/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/TenantStatsManagement.java b/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/TenantStatsManagement.java index 48a012b06..9811b3c1a 100644 --- a/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/TenantStatsManagement.java +++ b/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/TenantStatsManagement.java @@ -25,14 +25,16 @@ public interface TenantStatsManagement { */ @PreAuthorize(SpringEvalExpressions.HAS_AUTH_READ_REPOSITORY + SpringEvalExpressions.HAS_AUTH_OR + SpringEvalExpressions.HAS_AUTH_READ_TARGET + SpringEvalExpressions.HAS_AUTH_OR - + SpringEvalExpressions.HAS_AUTH_TENANT_CONFIGURATION) + + SpringEvalExpressions.HAS_AUTH_TENANT_CONFIGURATION + SpringEvalExpressions.HAS_AUTH_OR + + SpringEvalExpressions.IS_SYSTEM_CODE) TenantUsage getStatsOfTenant(); /** * Resets {@link TenantUsage#getOverallArtifactTrafficInBytes()} to zero. * */ - @PreAuthorize(SpringEvalExpressions.HAS_AUTH_TENANT_CONFIGURATION) + @PreAuthorize(SpringEvalExpressions.HAS_AUTH_TENANT_CONFIGURATION + SpringEvalExpressions.HAS_AUTH_OR + + SpringEvalExpressions.IS_SYSTEM_CODE) void resetTrafficStatsOfTenant(); } \ No newline at end of file