You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by la...@apache.org on 2013/07/11 07:17:54 UTC
[03/27] aplying 0001-Refactor-usage-module-to-apache-stratos.patch
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/df3475cc/components/stratos/usage/org.wso2.carbon.usage/2.1.2/src/main/java/org/wso2/carbon/usage/api/TenantUsageRetriever.java
----------------------------------------------------------------------
diff --git a/components/stratos/usage/org.wso2.carbon.usage/2.1.2/src/main/java/org/wso2/carbon/usage/api/TenantUsageRetriever.java b/components/stratos/usage/org.wso2.carbon.usage/2.1.2/src/main/java/org/wso2/carbon/usage/api/TenantUsageRetriever.java
deleted file mode 100644
index 22037e2..0000000
--- a/components/stratos/usage/org.wso2.carbon.usage/2.1.2/src/main/java/org/wso2/carbon/usage/api/TenantUsageRetriever.java
+++ /dev/null
@@ -1,518 +0,0 @@
-/*
- * Copyright (c) 2008, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.wso2.carbon.usage.api;
-
-import org.apache.axis2.context.ConfigurationContext;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.wso2.carbon.stratos.common.constants.UsageConstants;
-import org.wso2.carbon.stratos.common.util.CommonUtil;
-import org.wso2.carbon.registry.core.exceptions.RegistryException;
-import org.wso2.carbon.registry.core.service.RegistryService;
-import org.wso2.carbon.usage.beans.*;
-import org.wso2.carbon.usage.util.DataAccessObject;
-import org.wso2.carbon.usage.util.Util;
-import org.wso2.carbon.user.core.UserRealm;
-import org.wso2.carbon.user.core.UserStoreException;
-import org.wso2.carbon.user.core.tenant.TenantManager;
-
-import java.util.*;
-
-public class TenantUsageRetriever {
- private static final Log log = LogFactory.getLog(TenantUsageRetriever.class);
- private static final String DEFAULT_SERVICE_NAME = "Stratos";
- private static final String METERING_ENDPOINT = "local://services/MeteringQueryDS";
- private static final String TOTAL_LABEL = "Total";
- public static final int REG_BANDWIDTH_INDEX = 0;
- public static final int SVC_BANDWIDTH_INDEX = 1;
- public static final int WEBAPP_BANDWIDTH_INDEX = 2;
- public static final int API_CALL_STATS=3;
-
- private RegistryService registryService;
- private DataAccessObject dao;
-
- public TenantUsageRetriever(RegistryService registryService, ConfigurationContext configContext)
- throws Exception {
-
- // we are loading the essentials from the constructors in order to restrict the users
- // to use the usage retrievers.
- this.registryService = registryService;
- this.dao = new DataAccessObject();
- }
-
-
- public TenantDataCapacity getDataCapacity(int tenantId, Calendar startDate, Calendar endDate,
- boolean currentMonth) throws Exception {
- TenantDataCapacity dataCapacity = null;
-
- if(currentMonth){
- dataCapacity = dao.getTenantDataCapacity(tenantId);
- } else {
- //we don't have a way to see the registry usage of last months yet
- }
-
- return dataCapacity;
-
- }
-
- /**
- * This returns the number of users in a given tenant
- * @param tenantId Tenant ID
- * @return Number of users
- * @throws RegistryException
- */
- public int getCurrentUserCount(int tenantId) throws RegistryException {
- UserRealm userRealm = registryService.getUserRealm(tenantId);
- int usersCount;
- try {
- String[] users = userRealm.getUserStoreManager().listUsers("*", -1);
- usersCount = users.length;
- } catch (UserStoreException e) {
- String msg = "Error in getting the current users.";
- log.error(msg, e);
- throw new RegistryException(msg, e);
- }
- return usersCount;
- }
-
- public BandwidthStatistics[][] getBandwidthStatistics(int tenantId, Calendar startDate,
- Calendar endDate, boolean currentMonth) throws Exception {
- //return the bandwidth usage of a user for a given period
- BandwidthStatistics[] stats;
- if (currentMonth) {
- //get from daily usage stats
- List<BandwidthStatistics> bwsList = new ArrayList<BandwidthStatistics>();
- bwsList = dao.getDailyBandwidthStats(tenantId, startDate, endDate);
-
- //next we'll get from the houlry stats to get the stats which are not yet
- //summarized to the daily stats table
- Calendar startHour = Calendar.getInstance();
- startHour.set(Calendar.HOUR, 0);
- startHour.set(Calendar.MINUTE, 0);
- startHour.set(Calendar.SECOND, 0);
-
- Calendar endHour = Calendar.getInstance();
-
- bwsList.addAll(dao.getHourlyBandwidthStats(tenantId, startHour, endHour));
- stats = convertBWListToArray(bwsList);
-
- } else {
- //get from monthly usage stats
- Calendar monthCal = (Calendar) endDate.clone();
- monthCal.set(Calendar.DATE, 0);
- monthCal.set(Calendar.HOUR, 0);
- monthCal.set(Calendar.MINUTE, 0);
- monthCal.set(Calendar.SECOND, 0);
-
- stats = convertBWListToArray(dao.getMonthlyBandwidthStats(tenantId, monthCal));
- }
-
- // store the statistics in a temporary map. This is because, we are getting the server name
- // from the URL and there might be two distinct URL gives same server name.
- // For example, http://esb.a.b/ and http://esb.c.d/ both will give the server name as "esb"
- // Hence, the value should be accumulated value
- HashMap<String, BandwidthStatistics> regBwMap = new HashMap<String, BandwidthStatistics>();
- HashMap<String, BandwidthStatistics> svcBwMap = new HashMap<String, BandwidthStatistics>();
- HashMap<String, BandwidthStatistics> webappBwMap = new HashMap<String, BandwidthStatistics>();
-
- if (stats != null) {
- for (BandwidthStatistics stat : stats) {
- //Proceed only if incoming bandwidth or outgoing bandwidth is not zero
- if (stat.getIncomingBandwidth() == 0 && stat.getOutgoingBandwidth() == 0) {
- continue;
- }
-
- //TODO: fix the extractServiceUrl method properly
- String serverName = extractServiceNameFromUrl(stat.getServerUrl());
- String bandwidthName = stat.getKey();
-
- HashMap<String, BandwidthStatistics> bwMap;
- if (bandwidthName.equals(UsageConstants.REGISTRY_INCOMING_BW) ||
- bandwidthName.equals(UsageConstants.REGISTRY_OUTGOING_BW)) {
- bwMap = regBwMap;
- } else if (bandwidthName.equals(UsageConstants.SERVICE_INCOMING_BW) ||
- bandwidthName.equals(UsageConstants.SERVICE_OUTGOING_BW)) {
- bwMap = svcBwMap;
- } else if (bandwidthName.equals(UsageConstants.WEBAPP_INCOMING_BW) ||
- bandwidthName.equals(UsageConstants.WEBAPP_OUTGOING_BW)) {
- bwMap = webappBwMap;
- } else {
- log.warn("Unable to identify bandwidth name " + bandwidthName);
- continue;
- }
-
- //find whether the map already has this key; If not, insert a new one
- BandwidthStatistics reqStat = bwMap.get(serverName);
- if (reqStat == null) {
- reqStat = new BandwidthStatistics(serverName);
- bwMap.put(serverName, reqStat);
- }
-
- // Update the service specific statistics
- reqStat.setIncomingBandwidth(
- reqStat.getIncomingBandwidth() + stat.getIncomingBandwidth());
- reqStat.setOutgoingBandwidth(
- reqStat.getOutgoingBandwidth() + stat.getOutgoingBandwidth());
- }
- }
-
- //Convert to array and return it
- BandwidthStatistics[][] returnValue = new BandwidthStatistics[3][];
- Collection<BandwidthStatistics> values = regBwMap.values();
- returnValue[REG_BANDWIDTH_INDEX] = values.toArray(new BandwidthStatistics[values.size()]);
- values = svcBwMap.values();
- returnValue[SVC_BANDWIDTH_INDEX] = values.toArray(new BandwidthStatistics[values.size()]);
- values = webappBwMap.values();
- returnValue[WEBAPP_BANDWIDTH_INDEX] = values.toArray(new BandwidthStatistics[values.size()]);
-
- return returnValue;
- }
-
-
- public APIManagerUsageStats[] getAPIManagerUsageStats(int tenantId, Calendar startDate,
- Calendar endDate, boolean currentMonth) throws Exception {
- //return the bandwidth usage of a user for a given period
- APIManagerUsageStats[] stats;
- if (currentMonth) {
- //get from daily usage stats
- List<APIManagerUsageStats> bwsList = new ArrayList<APIManagerUsageStats>();
- bwsList = dao.getDailyAPIManagerUsageStats(tenantId, startDate, endDate);
-
- //next we'll get from the houlry stats to get the stats which are not yet
- //summarized to the daily stats table
- Calendar startHour = Calendar.getInstance();
- startHour.set(Calendar.HOUR, 0);
- startHour.set(Calendar.MINUTE, 0);
- startHour.set(Calendar.SECOND, 0);
-
- Calendar endHour = Calendar.getInstance();
-
- bwsList.addAll(dao.getHourlyAPIManagerUsageStats(tenantId, startHour, endHour));
- stats = convertAPIStatListToArray(bwsList);
-
- } else {
- //get from monthly usage stats
- Calendar monthCal = (Calendar) endDate.clone();
- monthCal.set(Calendar.DATE, 0);
- monthCal.set(Calendar.HOUR, 0);
- monthCal.set(Calendar.MINUTE, 0);
- monthCal.set(Calendar.SECOND, 0);
-
- stats = convertAPIStatListToArray(dao.getMonthlyAPIManagerUsageStats(tenantId, monthCal));
- }
- HashMap<String, APIManagerUsageStats> statMap = new HashMap<String, APIManagerUsageStats>();
- if (stats != null) {
- for (APIManagerUsageStats stat : stats) {
- if (stat.getRequestCount() == 0) {
- continue;
- }
- String serverName = extractServiceNameFromUrl(stat.getServerUrl());
- String statName = stat.getKey();
-
- HashMap<String, APIManagerUsageStats> statsHashMap;
- if (statName.equals("API-Call")) {
- statsHashMap = statMap;
- } else {
- log.warn("Unable to identify bandwidth name " + statName);
- continue;
- }
-
- //find whether the map already has this key; If not, insert a new one
- APIManagerUsageStats reqStat = statsHashMap.get(serverName);
- if (reqStat == null) {
- reqStat = new APIManagerUsageStats(serverName);
- statsHashMap.put(serverName, reqStat);
- }
- reqStat.setRequestCount(stat.getRequestCount());
- }
- }
-
- //Convert to array and return it
- APIManagerUsageStats[] returnValue = new APIManagerUsageStats[0];
- Collection<APIManagerUsageStats> values = statMap.values();
- returnValue = values.toArray(new APIManagerUsageStats[values.size()]);
- return returnValue;
- }
-
-
- public RequestStatistics[] getRequestStatistics(int tenantId, Calendar startDate,
- Calendar endDate, boolean currentMonth) throws Exception {
- RequestStatistics[] stats;
- if (currentMonth) {
- //get from daily usage stats
- List<RequestStatistics> rsList = new ArrayList<RequestStatistics>();
- rsList = dao.getDailyRequestStats(tenantId, startDate, endDate);
-
- //next we'll get from the houlry stats to get the stats which are not yet
- //summarized to the daily stats table
- Calendar startHour = Calendar.getInstance();
- startHour.set(Calendar.HOUR, 0);
- startHour.set(Calendar.MINUTE, 0);
- startHour.set(Calendar.SECOND, 0);
-
- Calendar endHour = Calendar.getInstance();
-
- rsList.addAll(dao.getHourlyRequestStats(tenantId, startHour, endHour));
-
- stats = convertRSListToArray(rsList);
- } else {
- //get from monthly usage stats
- Calendar monthCal = (Calendar) endDate.clone();
- monthCal.set(Calendar.DATE, 0);
- monthCal.set(Calendar.HOUR, 0);
- monthCal.set(Calendar.MINUTE, 0);
- monthCal.set(Calendar.SECOND, 0);
-
- stats = convertRSListToArray(dao.getMonthlyRequestStats(tenantId, monthCal));
- }
-
- // store the statistics in a temporary map. This is because, we are getting the server name
- // from the URL and there might be two distinct URL gives same server name.
- // For example, http://esb.a.b/ and http://esb.c.d/ both will give the server name as "esb"
- // Hence, the value should be accumulated value
- HashMap<String, RequestStatistics> tempReqStatMap = new HashMap<String, RequestStatistics>();
-
- if (stats != null) {
- for (RequestStatistics stat : stats) {
- //Proceed only if request count is not zero
- if (stat.getRequestCount() == 0) {
- continue;
- }
-
- String serverName = extractServiceNameFromUrl(stat.getKey());
-
- //find whether the map already has this key; If not, insert a new one
- RequestStatistics reqStat = tempReqStatMap.get(serverName);
- if (reqStat == null) {
- reqStat = new RequestStatistics(serverName);
- tempReqStatMap.put(serverName, reqStat);
- }
-
- // Update the service specific statistics
- reqStat.setRequestCount(reqStat.getRequestCount() + stat.getRequestCount());
- reqStat.setResponseCount(reqStat.getResponseCount() + stat.getResponseCount());
- reqStat.setFaultCount(reqStat.getFaultCount() + stat.getFaultCount());
- }
- }
-
- //Convert to array and return it
- Collection<RequestStatistics> values = tempReqStatMap.values();
- return values.toArray(new RequestStatistics[values.size()]);
-
- }
-
- public TenantUsage getTenantUsage(int tenantId, String yearMonth) throws Exception {
- //get the domain name
- TenantManager tenantManger = Util.getRealmService().getTenantManager();
- String domain = tenantManger.getDomain(tenantId);
- TenantUsage tenantUsage = new TenantUsage(tenantId, domain);
-
- //Get the startDate, endDate from yearMonth String
- Date date = CommonUtil.getDateFromMonthString(yearMonth);
- Calendar startDate = Calendar.getInstance();
- startDate.setTime(date);
- Calendar endDate = (Calendar) startDate.clone();
- endDate.add(Calendar.MONTH, 1);
-
- //Calculate whether the yearMonth fits to current month; if the current date is less than
- // endDate, then we treat it as current month
- boolean isCurrentMonth = (Calendar.getInstance().compareTo(endDate) <= 0);
-
- //get the data capacity
- TenantDataCapacity capacity;
- try {
- capacity = getDataCapacity(tenantId, startDate, endDate, isCurrentMonth);
- } catch (Exception e) {
- String msg = "Error in getting data capacity from metering service.";
- log.error(msg, e);
- throw new Exception(msg, e);
- }
- tenantUsage.setRegistryCapacity(capacity);
-
- //get the service request statistics
- RequestStatistics[] reqStats = null;
- try {
- reqStats = getRequestStatistics(tenantId, startDate, endDate, isCurrentMonth);
- } catch (Exception e) {
- String msg = "Error in getting request statistics from metering service.";
- log.error(msg, e);
- throw new Exception(msg, e);
- }
- tenantUsage.setRequestStatistics(reqStats);
-
- //Calculate total Request statistics
- RequestStatistics totalReqStat = new RequestStatistics(TOTAL_LABEL);
- long totalReq = 0;
- long totalRes = 0;
- long totalFault = 0;
- if(reqStats!=null){
- for (RequestStatistics stat : reqStats) {
- totalReq += stat.getRequestCount();
- totalRes += stat.getResponseCount();
- totalFault += stat.getFaultCount();
- }
- totalReqStat.setRequestCount(totalReq);
- totalReqStat.setResponseCount(totalRes);
- totalReqStat.setFaultCount(totalFault);
- }
- tenantUsage.setTotalRequestStatistics(totalReqStat);
-
- //get Bandwidth statistics
- BandwidthStatistics[][] bwStats = null;
- try {
- bwStats = getBandwidthStatistics(tenantId, startDate, endDate, isCurrentMonth);
- } catch (Exception e) {
- String msg = "Error in getting bandwidth statistics from metering service.";
- log.error(msg, e);
- throw new Exception(msg, e);
- }
- tenantUsage.setRegistryBandwidthStatistics(bwStats[REG_BANDWIDTH_INDEX]);
- tenantUsage.setServiceBandwidthStatistics(bwStats[SVC_BANDWIDTH_INDEX]);
- tenantUsage.setWebappBandwidthStatistics(bwStats[WEBAPP_BANDWIDTH_INDEX]);
-
- //get the total bandwidths
- int index = 0;
- for (BandwidthStatistics[] bwArray : bwStats) {
- long incomingBandwidth = 0;
- long outgoingBandwidth = 0;
- for (BandwidthStatistics bandwidth : bwArray) {
- incomingBandwidth += bandwidth.getIncomingBandwidth();
- outgoingBandwidth += bandwidth.getOutgoingBandwidth();
- }
- BandwidthStatistics total = new BandwidthStatistics(TOTAL_LABEL);
- total.setIncomingBandwidth(incomingBandwidth);
- total.setOutgoingBandwidth(outgoingBandwidth);
- switch (index) {
- case REG_BANDWIDTH_INDEX:
- tenantUsage.setTotalRegistryBandwidth(total);
- break;
- case SVC_BANDWIDTH_INDEX:
- tenantUsage.setTotalServiceBandwidth(total);
- break;
- case WEBAPP_BANDWIDTH_INDEX:
- tenantUsage.setTotalWebappBandwidth(total);
- break;
- }
- ++index;
- }
-
- // the users count will be calculated only if the yearMonth is the current yearMonth
- if (isCurrentMonth) {
- int usersCount = getCurrentUserCount(tenantId);
- tenantUsage.setNumberOfUsers(usersCount);
- }
- // get the API invocation data
- APIManagerUsageStats[] apiStats = null;
- try {
- apiStats = getAPIManagerUsageStats(tenantId, startDate, endDate, isCurrentMonth);
- } catch (Exception e) {
- String msg = "Error in getting bandwidth statistics from metering service.";
- log.error(msg, e);
- throw new Exception(msg, e);
- }
- tenantUsage.setApiManagerUsageStats(apiStats);
- return tenantUsage;
- }
-
- /**
- * @param serviceURL
- * @return service name
- * <p/>
- * Extract the stratos service part from URL; expecting the URL as
- * protocol://service.domain:port/tenant-domain/ or service.domain:port/tenant
- * We are interested in "service" part only
- */
- private String extractServiceNameFromUrl(String serviceURL) {
- if (serviceURL == null || serviceURL.equals("")) {
- //No service URL is given, so return a default value
- return DEFAULT_SERVICE_NAME;
- }
-
- int startIndex = serviceURL.indexOf("://"); //exclude protocol:// part
- if (startIndex != -1) {
- // protocol://service.domain:port/tenant-domain/ case
- startIndex += 3;
- } else {
- //service.domain:port/tenant case
- startIndex = 0;
- }
-
- int endIndex = serviceURL.indexOf('.', startIndex); //take upto first "."
- if (endIndex == -1) {
- // "." is not there; search for ":"
- endIndex = serviceURL.indexOf(':', startIndex);
-
- if (endIndex == -1) {
- //Still could not find ":", then search for "/"
- endIndex = serviceURL.indexOf('/', startIndex);
-
- if (endIndex == -1) {
- //Noting is there, so take the whole service URL
- endIndex = serviceURL.length();
- }
- }
-
- }
- return serviceURL.substring(startIndex, endIndex);
- }
-
- /**
- * @return Instance Usages Statics Array that contains data
- * @throws Exception when back end error occurs
- */
- public InstanceUsageStatics[] getInstanceUsages() throws Exception {
-
- //TODO: implement
- return null;
- /*InstanceUsageStat[] instanceData = meteringStub.getInstanceUsageStats();
- if (instanceData == null || instanceData.length == 0) {
- return null;
- }
- InstanceUsageStatics[] returnValue = new InstanceUsageStatics[instanceData.length];
- int elementID = 0;
- for (InstanceUsageStat iu : instanceData) {
- InstanceUsageStatics iu1 = new InstanceUsageStatics();
- iu1.setInstanceID(iu.getInstanceId().intValue());
- iu1.setInstanceURL(iu.getServerURL());
- iu1.setStartTime(iu.getStartTimestamp());
- iu1.setStopTime(iu.getStopTimestamp());
- iu1.setRunning(iu.getIsRunning());
- returnValue[elementID] = iu1;
- elementID = elementID + 1;
- }
- return returnValue;
- */
- }
-
-
- private BandwidthStatistics[] convertBWListToArray(List<BandwidthStatistics> bwsList) {
- BandwidthStatistics[] bwsArray = new BandwidthStatistics[bwsList.size()];
- bwsArray = bwsList.toArray(bwsArray);
- return bwsArray;
- }
-
- private APIManagerUsageStats[] convertAPIStatListToArray(List<APIManagerUsageStats> bwsList) {
- APIManagerUsageStats[] bwsArray = new APIManagerUsageStats[bwsList.size()];
- bwsArray = bwsList.toArray(bwsArray);
- return bwsArray;
- }
-
- private RequestStatistics[] convertRSListToArray(List<RequestStatistics> rsList) {
- RequestStatistics[] rsArray = new RequestStatistics[rsList.size()];
- rsArray = rsList.toArray(rsArray);
- return rsArray;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/df3475cc/components/stratos/usage/org.wso2.carbon.usage/2.1.2/src/main/java/org/wso2/carbon/usage/beans/APIManagerUsageStats.java
----------------------------------------------------------------------
diff --git a/components/stratos/usage/org.wso2.carbon.usage/2.1.2/src/main/java/org/wso2/carbon/usage/beans/APIManagerUsageStats.java b/components/stratos/usage/org.wso2.carbon.usage/2.1.2/src/main/java/org/wso2/carbon/usage/beans/APIManagerUsageStats.java
deleted file mode 100644
index 9321011..0000000
--- a/components/stratos/usage/org.wso2.carbon.usage/2.1.2/src/main/java/org/wso2/carbon/usage/beans/APIManagerUsageStats.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
-* Copyright (c) 2005-2010, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
-*
-* WSO2 Inc. licenses this file to you under the Apache License,
-* Version 2.0 (the "License"); you may not use this file except
-* in compliance with the License.
-* You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing,
-* software distributed under the License is distributed on an
-* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-* KIND, either express or implied. See the License for the
-* specific language governing permissions and limitations
-* under the License.
-*/
-package org.wso2.carbon.usage.beans;
-
-public class APIManagerUsageStats {
- private String key;
- private String serverUrl;
- private long incomingBandwidth;
- private long outgoingBandwidth;
- private long requestCount;
-
- public long getRequestCount() {
- return requestCount;
- }
-
- public void setRequestCount(long requestCount) {
- this.requestCount = requestCount;
- }
-
-
- public APIManagerUsageStats(String key) {
- this.key = key;
- }
-
- public String getKey() {
- return key;
- }
-
- public void setKey(String key) {
- this.key = key;
- }
-
- public long getIncomingBandwidth() {
- return incomingBandwidth;
- }
-
- public void setIncomingBandwidth(long incomingBandwidth) {
- this.incomingBandwidth = incomingBandwidth;
- }
-
- public long getOutgoingBandwidth() {
- return outgoingBandwidth;
- }
-
- public void setOutgoingBandwidth(long outgoingBandwidth) {
- this.outgoingBandwidth = outgoingBandwidth;
- }
-
- public String getServerUrl() {
- return serverUrl;
- }
-
- public void setServerUrl(String serverUrl) {
- this.serverUrl = serverUrl;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/df3475cc/components/stratos/usage/org.wso2.carbon.usage/2.1.2/src/main/java/org/wso2/carbon/usage/beans/BandwidthStatistics.java
----------------------------------------------------------------------
diff --git a/components/stratos/usage/org.wso2.carbon.usage/2.1.2/src/main/java/org/wso2/carbon/usage/beans/BandwidthStatistics.java b/components/stratos/usage/org.wso2.carbon.usage/2.1.2/src/main/java/org/wso2/carbon/usage/beans/BandwidthStatistics.java
deleted file mode 100644
index f236e0f..0000000
--- a/components/stratos/usage/org.wso2.carbon.usage/2.1.2/src/main/java/org/wso2/carbon/usage/beans/BandwidthStatistics.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/**
- * Copyright (c) 2010, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.wso2.carbon.usage.beans;
-
-/**
- *
- */
-public class BandwidthStatistics {
- private String key;
- private String serverUrl;
- private long incomingBandwidth;
- private long outgoingBandwidth;
-
- public BandwidthStatistics(String key){
- this.key = key;
- }
-
- public String getKey() {
- return key;
- }
-
- public void setKey(String key) {
- this.key = key;
- }
-
- public long getIncomingBandwidth() {
- return incomingBandwidth;
- }
-
- public void setIncomingBandwidth(long incomingBandwidth) {
- this.incomingBandwidth = incomingBandwidth;
- }
-
- public long getOutgoingBandwidth() {
- return outgoingBandwidth;
- }
-
- public void setOutgoingBandwidth(long outgoingBandwidth) {
- this.outgoingBandwidth = outgoingBandwidth;
- }
-
- public String getServerUrl() {
- return serverUrl;
- }
-
- public void setServerUrl(String serverUrl) {
- this.serverUrl = serverUrl;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/df3475cc/components/stratos/usage/org.wso2.carbon.usage/2.1.2/src/main/java/org/wso2/carbon/usage/beans/InstanceUsageStatics.java
----------------------------------------------------------------------
diff --git a/components/stratos/usage/org.wso2.carbon.usage/2.1.2/src/main/java/org/wso2/carbon/usage/beans/InstanceUsageStatics.java b/components/stratos/usage/org.wso2.carbon.usage/2.1.2/src/main/java/org/wso2/carbon/usage/beans/InstanceUsageStatics.java
deleted file mode 100644
index 25cb759..0000000
--- a/components/stratos/usage/org.wso2.carbon.usage/2.1.2/src/main/java/org/wso2/carbon/usage/beans/InstanceUsageStatics.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
-* Copyright (c) 2005-2010, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
-*
-* WSO2 Inc. licenses this file to you under the Apache License,
-* Version 2.0 (the "License"); you may not use this file except
-* in compliance with the License.
-* You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing,
-* software distributed under the License is distributed on an
-* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-* KIND, either express or implied. See the License for the
-* specific language governing permissions and limitations
-* under the License.
-*/
-package org.wso2.carbon.usage.beans;
-
-import java.util.Calendar;
-
-public class InstanceUsageStatics {
-
- private Calendar startTime;
- private Calendar stopTime;
- private String instanceURL;
- private Integer instanceID;
- private long usedTimeInSeconds;
- private boolean running;
-
- public boolean isRunning() {
- return running;
- }
-
- public void setRunning(boolean running) {
- this.running = running;
- }
-
- public Calendar getStartTime() {
- return startTime;
- }
-
- public void setStartTime(Calendar startTime) {
- this.startTime = startTime;
- }
-
- public Calendar getStopTime() {
- return stopTime;
- }
-
- public void setStopTime(Calendar stopTime) {
- //Check weather stop time is Default value in database in that case
- //server should still running so set isRunning as true
- Calendar fixedDate = Calendar.getInstance();
- fixedDate.set(2001, 1, 1, 00, 00, 00);
- if (stopTime.compareTo(fixedDate) == 0) {
- this.running = true;
- }
- this.stopTime = stopTime;
- }
-
- public String getInstanceURL() {
- return instanceURL;
- }
-
- public void setInstanceURL(String instanceURL) {
- this.instanceURL = instanceURL;
- }
-
- public Integer getInstanceID() {
- return instanceID;
- }
-
- public void setInstanceID(Integer instanceID) {
- this.instanceID = instanceID;
- }
-
- public long getUsedTimeInSeconds() {
- long returnValue = (this.stopTime.getTimeInMillis() -
- this.startTime.getTimeInMillis()) / 1000;
- if (returnValue < 0) {
- running = true;
- }
- return usedTimeInSeconds;
- }
- public void setUsedTimeInSeconds(long value){
- this.usedTimeInSeconds=value;
- }
-
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/df3475cc/components/stratos/usage/org.wso2.carbon.usage/2.1.2/src/main/java/org/wso2/carbon/usage/beans/PaginatedInstanceUsage.java
----------------------------------------------------------------------
diff --git a/components/stratos/usage/org.wso2.carbon.usage/2.1.2/src/main/java/org/wso2/carbon/usage/beans/PaginatedInstanceUsage.java b/components/stratos/usage/org.wso2.carbon.usage/2.1.2/src/main/java/org/wso2/carbon/usage/beans/PaginatedInstanceUsage.java
deleted file mode 100644
index b7407af..0000000
--- a/components/stratos/usage/org.wso2.carbon.usage/2.1.2/src/main/java/org/wso2/carbon/usage/beans/PaginatedInstanceUsage.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
-* Copyright (c) 2005-2010, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
-*
-* WSO2 Inc. licenses this file to you under the Apache License,
-* Version 2.0 (the "License"); you may not use this file except
-* in compliance with the License.
-* You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing,
-* software distributed under the License is distributed on an
-* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-* KIND, either express or implied. See the License for the
-* specific language governing permissions and limitations
-* under the License.
-*/
-
-package org.wso2.carbon.usage.beans;
-
-import java.util.Arrays;
-
-public class PaginatedInstanceUsage {
- private InstanceUsageStatics[] instanceUsages;
- private int pageNumber;
- private int numberOfPages;
-
- public InstanceUsageStatics[] getInstanceUsages() {
- if(instanceUsages != null) {
- return Arrays.copyOf(instanceUsages, instanceUsages.length);
- }
-
- return null;
- }
-
- public void setInstanceUsages(InstanceUsageStatics[] instanceUsages) {
- if(instanceUsages != null) {
- this.instanceUsages = Arrays.copyOf(instanceUsages, instanceUsages.length);
- }
- }
-
- public int getPageNumber() {
- return pageNumber;
- }
-
- public void setPageNumber(int pageNumber) {
- this.pageNumber = pageNumber;
- }
-
- public int getNumberOfPages() {
- return numberOfPages;
- }
-
- public void setNumberOfPages(int numberOfPages) {
- this.numberOfPages = numberOfPages;
- }
-
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/df3475cc/components/stratos/usage/org.wso2.carbon.usage/2.1.2/src/main/java/org/wso2/carbon/usage/beans/PaginatedTenantUsageInfo.java
----------------------------------------------------------------------
diff --git a/components/stratos/usage/org.wso2.carbon.usage/2.1.2/src/main/java/org/wso2/carbon/usage/beans/PaginatedTenantUsageInfo.java b/components/stratos/usage/org.wso2.carbon.usage/2.1.2/src/main/java/org/wso2/carbon/usage/beans/PaginatedTenantUsageInfo.java
deleted file mode 100644
index 0a3bd1b..0000000
--- a/components/stratos/usage/org.wso2.carbon.usage/2.1.2/src/main/java/org/wso2/carbon/usage/beans/PaginatedTenantUsageInfo.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
-* Copyright (c) 2005-2010, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
-*
-* WSO2 Inc. licenses this file to you under the Apache License,
-* Version 2.0 (the "License"); you may not use this file except
-* in compliance with the License.
-* You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing,
-* software distributed under the License is distributed on an
-* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-* KIND, either express or implied. See the License for the
-* specific language governing permissions and limitations
-* under the License.
-*/
-package org.wso2.carbon.usage.beans;
-
-import java.util.Arrays;
-
-public class PaginatedTenantUsageInfo {
- private TenantUsage[] tenantUsages;
- private int pageNumber;
- private int numberOfPages;
-
- public TenantUsage[] getTenantUsages() {
- return Arrays.copyOf(tenantUsages, tenantUsages.length);
- }
- public void setTenantUsages(TenantUsage[] tenantUsages) {
- this.tenantUsages = Arrays.copyOf(tenantUsages, tenantUsages.length);
- }
- public int getPageNumber() {
- return pageNumber;
- }
- public void setPageNumber(int pageNumber) {
- this.pageNumber = pageNumber;
- }
- public int getNumberOfPages() {
- return numberOfPages;
- }
- public void setNumberOfPages(int numberOfPages) {
- this.numberOfPages = numberOfPages;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/df3475cc/components/stratos/usage/org.wso2.carbon.usage/2.1.2/src/main/java/org/wso2/carbon/usage/beans/RequestStatistics.java
----------------------------------------------------------------------
diff --git a/components/stratos/usage/org.wso2.carbon.usage/2.1.2/src/main/java/org/wso2/carbon/usage/beans/RequestStatistics.java b/components/stratos/usage/org.wso2.carbon.usage/2.1.2/src/main/java/org/wso2/carbon/usage/beans/RequestStatistics.java
deleted file mode 100644
index 085b91a..0000000
--- a/components/stratos/usage/org.wso2.carbon.usage/2.1.2/src/main/java/org/wso2/carbon/usage/beans/RequestStatistics.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Copyright (c) 2008, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.wso2.carbon.usage.beans;
-public class RequestStatistics {
- private String key;
- private long requestCount;
- private long responseCount;
- private long faultCount;
-
- public RequestStatistics(String key) {
- this.key = key;
- }
-
- public String getKey() {
- return key;
- }
-
- public void setKey(String key) {
- this.key = key;
- }
-
- public long getRequestCount() {
- return requestCount;
- }
-
- public void setRequestCount(long requestCount) {
- this.requestCount = requestCount;
- }
-
- public long getResponseCount() {
- return responseCount;
- }
-
- public void setResponseCount(long responseCount) {
- this.responseCount = responseCount;
- }
-
- public long getFaultCount() {
- return faultCount;
- }
-
- public void setFaultCount(long faultCount) {
- this.faultCount = faultCount;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/df3475cc/components/stratos/usage/org.wso2.carbon.usage/2.1.2/src/main/java/org/wso2/carbon/usage/beans/TenantDataCapacity.java
----------------------------------------------------------------------
diff --git a/components/stratos/usage/org.wso2.carbon.usage/2.1.2/src/main/java/org/wso2/carbon/usage/beans/TenantDataCapacity.java b/components/stratos/usage/org.wso2.carbon.usage/2.1.2/src/main/java/org/wso2/carbon/usage/beans/TenantDataCapacity.java
deleted file mode 100644
index 543126d..0000000
--- a/components/stratos/usage/org.wso2.carbon.usage/2.1.2/src/main/java/org/wso2/carbon/usage/beans/TenantDataCapacity.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/**
- * Copyright (c) 2010, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.wso2.carbon.usage.beans;
-
-public class TenantDataCapacity {
-
- private long registryContentCapacity;
- private long registryContentHistoryCapacity;
-
- public TenantDataCapacity() {
- }
-
- /**
- * @param registryContentCapacity
- * @param registryContentHistoryCapacity
- */
- public TenantDataCapacity(
- long registryContentCapacity, long registryContentHistoryCapacity) {
- this.registryContentCapacity = registryContentCapacity;
- this.registryContentHistoryCapacity = registryContentHistoryCapacity;
- }
-
- public long getRegistryContentCapacity() {
- return registryContentCapacity;
- }
-
- public void setRegistryContentCapacity(long registryContentCapacity) {
- this.registryContentCapacity = registryContentCapacity;
- }
-
- public long getRegistryContentHistoryCapacity() {
- return registryContentHistoryCapacity;
- }
-
- public void setRegistryContentHistoryCapacity(long registryContentHistoryCapacity) {
- this.registryContentHistoryCapacity = registryContentHistoryCapacity;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/df3475cc/components/stratos/usage/org.wso2.carbon.usage/2.1.2/src/main/java/org/wso2/carbon/usage/beans/TenantUsage.java
----------------------------------------------------------------------
diff --git a/components/stratos/usage/org.wso2.carbon.usage/2.1.2/src/main/java/org/wso2/carbon/usage/beans/TenantUsage.java b/components/stratos/usage/org.wso2.carbon.usage/2.1.2/src/main/java/org/wso2/carbon/usage/beans/TenantUsage.java
deleted file mode 100644
index 9b6e116..0000000
--- a/components/stratos/usage/org.wso2.carbon.usage/2.1.2/src/main/java/org/wso2/carbon/usage/beans/TenantUsage.java
+++ /dev/null
@@ -1,198 +0,0 @@
-/*
- * Copyright (c) 2008, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.wso2.carbon.usage.beans;
-
-public class TenantUsage {
- private int tenantId;
- private String domain;
- private int numberOfUsers;
- private UsageEntry[] usageEntries;
- private BandwidthStatistics[] registryBandwidthStatistics;
- private BandwidthStatistics[] serviceBandwidthStatistics;
- private BandwidthStatistics[] webappBandwidthStatistics;
- private RequestStatistics[] requestStatistics;
- private TenantDataCapacity registryCapacity;
- private RequestStatistics totalRequestStatistics;
- private BandwidthStatistics totalRegistryBandwidth;
- private BandwidthStatistics totalServiceBandwidth;
- private BandwidthStatistics totalWebappBandwidth;
- private APIManagerUsageStats[] apiManagerUsageStats;
-
- public APIManagerUsageStats[] getApiManagerUsageStats() {
- return apiManagerUsageStats;
- }
-
- public void setApiManagerUsageStats(APIManagerUsageStats[] apiManagerUsageStats) {
- this.apiManagerUsageStats = apiManagerUsageStats;
- }
-
- public BandwidthStatistics[] getRegistryBandwidthStatistics() {
- return registryBandwidthStatistics;
- }
-
- public void setRegistryBandwidthStatistics(BandwidthStatistics[] registryBandwidthStatistics) {
- this.registryBandwidthStatistics = registryBandwidthStatistics;
- }
-
- public BandwidthStatistics[] getServiceBandwidthStatistics() {
- return serviceBandwidthStatistics;
- }
-
- public void setServiceBandwidthStatistics(BandwidthStatistics[] serviceBandwidthStatistics) {
- this.serviceBandwidthStatistics = serviceBandwidthStatistics;
- }
-
- public BandwidthStatistics[] getWebappBandwidthStatistics() {
- return webappBandwidthStatistics;
- }
-
- public void setWebappBandwidthStatistics(BandwidthStatistics[] webappBandwidthStatistics) {
- this.webappBandwidthStatistics = webappBandwidthStatistics;
- }
-
- public RequestStatistics getTotalRequestStatistics() {
- return totalRequestStatistics;
- }
-
- public void setTotalRequestStatistics(RequestStatistics totalRequestStatistics) {
- this.totalRequestStatistics = totalRequestStatistics;
- }
-
- public BandwidthStatistics getTotalRegistryBandwidth() {
- return totalRegistryBandwidth;
- }
-
- public void setTotalRegistryBandwidth(BandwidthStatistics totalRegistryBandwidth) {
- this.totalRegistryBandwidth = totalRegistryBandwidth;
- }
-
- public BandwidthStatistics getTotalServiceBandwidth() {
- return totalServiceBandwidth;
- }
-
- public void setTotalServiceBandwidth(BandwidthStatistics totalServiceBandwidth) {
- this.totalServiceBandwidth = totalServiceBandwidth;
- }
-
- public BandwidthStatistics getTotalWebappBandwidth() {
- return totalWebappBandwidth;
- }
-
- public void setTotalWebappBandwidth(BandwidthStatistics totalWebappBandwidth) {
- this.totalWebappBandwidth = totalWebappBandwidth;
- }
-
- public TenantUsage() {
- // empty method required for used in web services
- }
-
- public TenantUsage(int tenantId, String domain) {
- this.tenantId = tenantId;
- this.domain = domain;
- }
-
- public int getTenantId() {
- return tenantId;
- }
-
- public void setTenantId(int tenantId) {
- this.tenantId = tenantId;
- }
-
- public String getDomain() {
- return domain;
- }
-
- public void setDomain(String domain) {
- this.domain = domain;
- }
-
- public UsageEntry[] getUsageEntries() {
- return usageEntries;
- }
-
- public void setUsageEntries(UsageEntry[] usageEntries) {
- this.usageEntries = usageEntries;
- }
-
- public RequestStatistics[] getRequestStatistics() {
- return requestStatistics;
- }
-
- public void setRequestStatistics(RequestStatistics[] requestStatistics) {
- this.requestStatistics = requestStatistics;
- }
-
- public TenantDataCapacity getRegistryCapacity() {
- return registryCapacity;
- }
-
- public void setRegistryCapacity(TenantDataCapacity registryCapacity) {
- this.registryCapacity = registryCapacity;
- }
-
- public int getNumberOfUsers() {
- return numberOfUsers;
- }
-
- public void setNumberOfUsers(int numberOfUsers) {
- this.numberOfUsers = numberOfUsers;
- }
-
- public long getRegistryContentCapacity(){
- long retValue = 0;
- if (registryCapacity != null) {
- retValue = registryCapacity.getRegistryContentCapacity();
- }
- return retValue;
- }
-
- public long getRegistryContentHistoryCapacity(){
- long retValue = 0;
- if (registryCapacity != null) {
- retValue = registryCapacity.getRegistryContentHistoryCapacity();
- }
- return retValue;
- }
-
- public long getTotalIncomingBandwidth(){
- long incomingBW = 0;
- if(totalRegistryBandwidth != null){
- incomingBW += totalRegistryBandwidth.getIncomingBandwidth();
- }
- if(totalServiceBandwidth != null){
- incomingBW += totalServiceBandwidth.getIncomingBandwidth();
- }
- if(totalWebappBandwidth != null){
- incomingBW += totalWebappBandwidth.getIncomingBandwidth();
- }
- return incomingBW;
- }
-
- public long getTotalOutgoingBandwidth(){
- long outgoingBW = 0;
- if(totalRegistryBandwidth != null){
- outgoingBW += totalRegistryBandwidth.getOutgoingBandwidth();
- }
- if(totalServiceBandwidth != null){
- outgoingBW += totalServiceBandwidth.getOutgoingBandwidth();
- }
- if(totalWebappBandwidth != null){
- outgoingBW += totalWebappBandwidth.getOutgoingBandwidth();
- }
- return outgoingBW;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/df3475cc/components/stratos/usage/org.wso2.carbon.usage/2.1.2/src/main/java/org/wso2/carbon/usage/beans/UsageEntry.java
----------------------------------------------------------------------
diff --git a/components/stratos/usage/org.wso2.carbon.usage/2.1.2/src/main/java/org/wso2/carbon/usage/beans/UsageEntry.java b/components/stratos/usage/org.wso2.carbon.usage/2.1.2/src/main/java/org/wso2/carbon/usage/beans/UsageEntry.java
deleted file mode 100644
index ff9c4be..0000000
--- a/components/stratos/usage/org.wso2.carbon.usage/2.1.2/src/main/java/org/wso2/carbon/usage/beans/UsageEntry.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Copyright (c) 2008, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.wso2.carbon.usage.beans;
-
-public class UsageEntry {
- private String key;
- private String value;
-
- public UsageEntry() {
- // empty constructor to used in web services
- }
-
- public UsageEntry(String key, String value) {
- this.key = key;
- this.value = value;
- }
-
- public String getKey() {
- return key;
- }
-
- public void setKey(String key) {
- this.key = key;
- }
-
- public String getValue() {
- return value;
- }
-
- public void setValue(String value) {
- this.value = value;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/df3475cc/components/stratos/usage/org.wso2.carbon.usage/2.1.2/src/main/java/org/wso2/carbon/usage/internal/UsageServiceComponent.java
----------------------------------------------------------------------
diff --git a/components/stratos/usage/org.wso2.carbon.usage/2.1.2/src/main/java/org/wso2/carbon/usage/internal/UsageServiceComponent.java b/components/stratos/usage/org.wso2.carbon.usage/2.1.2/src/main/java/org/wso2/carbon/usage/internal/UsageServiceComponent.java
deleted file mode 100644
index cc30312..0000000
--- a/components/stratos/usage/org.wso2.carbon.usage/2.1.2/src/main/java/org/wso2/carbon/usage/internal/UsageServiceComponent.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
-* Copyright (c) 2005-2010, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
-*
-* WSO2 Inc. licenses this file to you under the Apache License,
-* Version 2.0 (the "License"); you may not use this file except
-* in compliance with the License.
-* You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing,
-* software distributed under the License is distributed on an
-* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-* KIND, either express or implied. See the License for the
-* specific language governing permissions and limitations
-* under the License.
-*/
-package org.wso2.carbon.usage.internal;
-
-import org.apache.axis2.context.ConfigurationContext;
-import org.apache.axis2.engine.AxisConfiguration;
-import org.apache.axis2.transport.local.LocalTransportReceiver;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.osgi.service.component.ComponentContext;
-import org.wso2.carbon.registry.core.service.RegistryService;
-import org.wso2.carbon.usage.util.Util;
-import org.wso2.carbon.user.core.service.RealmService;
-import org.wso2.carbon.utils.ConfigurationContextService;
-import org.wso2.carbon.ndatasource.core.DataSourceService;
-
-/**
- * @scr.component name="org.wso2.carbon.usage" immediate="true"
- * @scr.reference name="registry.service"
- * interface="org.wso2.carbon.registry.core.service.RegistryService" cardinality="1..1"
- * policy="dynamic" bind="setRegistryService" unbind="unsetRegistryService"
- * @scr.reference name="user.realmservice.default"
- * interface="org.wso2.carbon.user.core.service.RealmService" cardinality="1..1"
- * policy="dynamic" bind="setRealmService" unbind="unsetRealmService"
- * @scr.reference name="config.context.service"
- * interface="org.wso2.carbon.utils.ConfigurationContextService" cardinality="1..1"
- * policy="dynamic" bind="setConfigurationContextService" unbind="unsetConfigurationContextService"
- * @scr.reference name="datasources.service"
- * interface="org.wso2.carbon.ndatasource.core.DataSourceService"
- * cardinality="1..1" policy="dynamic"
- * bind="setDataSourceService" unbind="unsetDataSourceService"
- */
-public class UsageServiceComponent {
- private static Log log = LogFactory.getLog(UsageServiceComponent.class);
-
-
- protected void activate(ComponentContext context) {
- try {
- Util.registerRetrieverServices(context.getBundleContext());
- log.debug("******* Usage bundle is activated ******* ");
- } catch (Exception e) {
- log.error("******* Error in activating Usage bundle ******* ");
- }
- }
-
- protected void deactivate(ComponentContext context) {
- log.debug("******* Usage is deactivated ******* ");
- }
-
- protected void setRegistryService(RegistryService registryService) {
- Util.setRegistryService(registryService);
- }
-
- protected void unsetRegistryService(RegistryService registryService) {
- Util.setRegistryService(null);
- }
-
- protected void setRealmService(RealmService realmService) {
- Util.setRealmService(realmService);
- }
-
- protected void unsetRealmService(RealmService realmService) {
- Util.setRealmService(null);
- }
-
- protected void setConfigurationContextService(ConfigurationContextService ccService) {
- //commented to work with the local transport
- /*ConfigurationContext serverCtx = ccService.getServerConfigContext();
- AxisConfiguration serverConfig = serverCtx.getAxisConfiguration();
- LocalTransportReceiver.CONFIG_CONTEXT = new ConfigurationContext(serverConfig);
- LocalTransportReceiver.CONFIG_CONTEXT.setServicePath("services");
- LocalTransportReceiver.CONFIG_CONTEXT.setContextRoot("local:/");
- */
- Util.setConfigurationContextService(ccService);
- }
-
- protected void unsetConfigurationContextService(ConfigurationContextService ccService) {
- Util.setConfigurationContextService(null);
- }
-
- protected void setDataSourceService(DataSourceService dataSourceService){
- Util.setDataSourceService(dataSourceService);
- }
-
- protected void unsetDataSourceService(DataSourceService dataSourceService){
- Util.setDataSourceService(null);
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/df3475cc/components/stratos/usage/org.wso2.carbon.usage/2.1.2/src/main/java/org/wso2/carbon/usage/services/UsageService.java
----------------------------------------------------------------------
diff --git a/components/stratos/usage/org.wso2.carbon.usage/2.1.2/src/main/java/org/wso2/carbon/usage/services/UsageService.java b/components/stratos/usage/org.wso2.carbon.usage/2.1.2/src/main/java/org/wso2/carbon/usage/services/UsageService.java
deleted file mode 100644
index 2348b2b..0000000
--- a/components/stratos/usage/org.wso2.carbon.usage/2.1.2/src/main/java/org/wso2/carbon/usage/services/UsageService.java
+++ /dev/null
@@ -1,203 +0,0 @@
-/*
-* Copyright (c) 2005-2010, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
-*
-* WSO2 Inc. licenses this file to you under the Apache License,
-* Version 2.0 (the "License"); you may not use this file except
-* in compliance with the License.
-* You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing,
-* software distributed under the License is distributed on an
-* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-* KIND, either express or implied. See the License for the
-* specific language governing permissions and limitations
-* under the License.
-*/
-package org.wso2.carbon.usage.services;
-
-import org.wso2.carbon.stratos.common.util.CommonUtil;
-import org.wso2.carbon.core.AbstractAdmin;
-import org.wso2.carbon.registry.core.session.UserRegistry;
-import org.wso2.carbon.usage.beans.InstanceUsageStatics;
-import org.wso2.carbon.usage.beans.PaginatedInstanceUsage;
-import org.wso2.carbon.usage.beans.PaginatedTenantUsageInfo;
-import org.wso2.carbon.usage.beans.TenantUsage;
-import org.wso2.carbon.usage.util.Util;
-import org.wso2.carbon.user.core.tenant.Tenant;
-import org.wso2.carbon.user.core.tenant.TenantManager;
-
-import java.text.ParseException;
-import java.util.*;
-
-public class UsageService extends AbstractAdmin {
- /**
- * Return the usage of the current logged in tenant
- *
- * @param yearMonth year month
- * @return the current usage of the tenant
- * @throws Exception
- */
- public TenantUsage retrieveCurrentTenantUsage(String yearMonth) throws Exception {
- UserRegistry registry = (UserRegistry) getConfigUserRegistry();
- int tenantId = registry.getTenantId();
- return Util.getTenantUsageRetriever().getTenantUsage(tenantId, yearMonth);
- }
-
- /**
- * Return the all the tenant usages, requires super admin permissions
- *
- * @param yearMonth
- * @return
- * @throws Exception
- */
- public TenantUsage[] retrieveTenantUsages(String yearMonth) throws Exception {
- TenantManager tenantManager = Util.getRealmService().getTenantManager();
- Tenant[] tenants = (Tenant[]) tenantManager.getAllTenants();
- List<TenantUsage> tenantUsages = new ArrayList<TenantUsage>();
- for (Tenant tenant : tenants) {
- if (tenant.isActive()) {
- TenantUsage tenantUsage = Util.getTenantUsageRetriever().getTenantUsage(
- tenant.getId(), yearMonth);
- tenantUsages.add(tenantUsage);
- }
- }
- return tenantUsages.toArray(new TenantUsage[tenantUsages.size()]);
- }
-
- /**
- * Return the all the tenant usages paginated, requires super admin permissions
- *
- * @param yearMonth
- * @param pageNumber
- * @param entriesPerPage
- * @return PaginatedTenantUsageInfo
- * @throws Exception
- */
- public PaginatedTenantUsageInfo retrievePaginatedTenantUsages(String yearMonth, int pageNumber,
- int entriesPerPage) throws Exception {
- TenantManager tenantManager = Util.getRealmService().getTenantManager();
- Tenant[] tenants = (Tenant[]) tenantManager.getAllTenants();
- List<TenantUsage> tenantUsages = new ArrayList<TenantUsage>();
-
- int i = 0;
- int numberOfPages = 0;
- for (Tenant tenant : tenants) {
- if (tenant.isActive()) {
- if (i % entriesPerPage == 0) {
- numberOfPages++;
- }
- if (numberOfPages == pageNumber) {
- TenantUsage tenantUsage = Util.getTenantUsageRetriever().getTenantUsage(
- tenant.getId(), yearMonth);
- tenantUsages.add(tenantUsage);
- }
- i++;
- }
- }
- PaginatedTenantUsageInfo paginatedTenantInfo = new PaginatedTenantUsageInfo();
- paginatedTenantInfo.setTenantUsages(
- tenantUsages.toArray(new TenantUsage[tenantUsages.size()]));
- paginatedTenantInfo.setNumberOfPages(numberOfPages);
- paginatedTenantInfo.setPageNumber(pageNumber);
- return paginatedTenantInfo;
- }
-
- /**
- * Returns usage of a particular tenant, requires super admin permissions
- *
- * @param yearMonth
- * @param tenantId
- * @return
- * @throws Exception
- */
- public TenantUsage retrieveTenantUsage(String yearMonth, int tenantId) throws Exception {
- return Util.getTenantUsageRetriever().getTenantUsage(tenantId, yearMonth);
- }
-
- public InstanceUsageStatics[] retrieveInstanceUsage() throws Exception {
- return Util.getTenantUsageRetriever().getInstanceUsages();
- }
-
- /**
- * @param yearMonth year and month that used to retrieve data
- * @param pageNumber
- * @param entriesPerPage number of entries per page
- * @return PaginatedInstanceUsage object that hold instance data and other parameters
- * @throws Exception when retrieving Paginated Instance Usage error occurs
- */
- public PaginatedInstanceUsage retrievePaginatedInstanceUsage(String yearMonth, int pageNumber,
- int entriesPerPage) throws Exception {
- InstanceUsageStatics[] instanceUsages = retrieveInstanceUsage();
- List<InstanceUsageStatics> instanceUsagesList = new ArrayList<InstanceUsageStatics>();
- PaginatedInstanceUsage paginatedInstanceUsages = new PaginatedInstanceUsage();
- int i = 0;
- int numberOfPages = 0;
- if (instanceUsages != null && instanceUsages.length > 0) {
- for (InstanceUsageStatics usage : instanceUsages) {
- InstanceUsageStatics instance = getValidUsageEntry(usage, yearMonth);
- if (instance != null) {
- if (i % entriesPerPage == 0) {
- numberOfPages++;
- }
- }
- }
-
- paginatedInstanceUsages.setInstanceUsages(
- instanceUsagesList.toArray(new InstanceUsageStatics[instanceUsagesList.size()]));
- } else {
- paginatedInstanceUsages.setInstanceUsages(null);
- }
-
- paginatedInstanceUsages.setNumberOfPages(numberOfPages);
- paginatedInstanceUsages.setPageNumber(pageNumber);
- return paginatedInstanceUsages;
- }
-
- /**
- * @param usage is Instance usage Statics object that holds data
- * @param yearMonth year and month that need to check with instance usage data
- * @return instance static if instance usage data match with given year and month, else null
- */
- public InstanceUsageStatics getValidUsageEntry(InstanceUsageStatics usage, String yearMonth) {
- Date date = Calendar.getInstance().getTime();
- if (yearMonth != null) {
- try {
- date = CommonUtil.getDateFromMonthString(yearMonth);
- } catch (ParseException e) {
-
- }
- }
- Calendar startDate = Calendar.getInstance();
- startDate.setTime(date);
- Calendar endDate = (Calendar) startDate.clone();
- endDate.add(Calendar.MONTH, 1);
- if (usage.getStartTime().compareTo(startDate) <= 0 && usage.getStopTime().compareTo(endDate) >= 0) {
- usage.setUsedTimeInSeconds((endDate.getTimeInMillis() -
- startDate.getTimeInMillis()) / 1000);
- return usage;
- }
- if (usage.getStartTime().compareTo(startDate) > 0 && usage.getStartTime().compareTo(endDate) < 0) {
- if (usage.getStopTime().compareTo(endDate) < 0) {
- usage.setUsedTimeInSeconds((usage.getStopTime().getTimeInMillis() -
- usage.getStartTime().getTimeInMillis()) / 1000);
- return usage;
-
- } else if (usage.getStopTime().compareTo(endDate) > 0) {
- usage.setUsedTimeInSeconds((endDate.getTimeInMillis() -
- usage.getStartTime().getTimeInMillis()) / 1000);
- return usage;
-
- }
- }
- if (usage.getStartTime().compareTo(startDate) < 0 && usage.getStopTime().compareTo(endDate) < 0) {
- if (usage.getStopTime().compareTo(startDate) > 0) {
- usage.setUsedTimeInSeconds((usage.getStopTime().getTimeInMillis() -
- startDate.getTimeInMillis()) / 1000);
- return usage;
- }
- }
- return null;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/df3475cc/components/stratos/usage/org.wso2.carbon.usage/2.1.2/src/main/java/org/wso2/carbon/usage/util/DataAccessObject.java
----------------------------------------------------------------------
diff --git a/components/stratos/usage/org.wso2.carbon.usage/2.1.2/src/main/java/org/wso2/carbon/usage/util/DataAccessObject.java b/components/stratos/usage/org.wso2.carbon.usage/2.1.2/src/main/java/org/wso2/carbon/usage/util/DataAccessObject.java
deleted file mode 100644
index d5b5072..0000000
--- a/components/stratos/usage/org.wso2.carbon.usage/2.1.2/src/main/java/org/wso2/carbon/usage/util/DataAccessObject.java
+++ /dev/null
@@ -1,498 +0,0 @@
-package org.wso2.carbon.usage.util;
-
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.wso2.carbon.stratos.common.constants.UsageConstants;
-import org.wso2.carbon.usage.beans.APIManagerUsageStats;
-import org.wso2.carbon.usage.beans.BandwidthStatistics;
-import org.wso2.carbon.usage.beans.RequestStatistics;
-import org.wso2.carbon.usage.beans.TenantDataCapacity;
-
-import javax.sql.DataSource;
-import java.sql.*;
-import java.util.ArrayList;
-import java.util.Calendar;
-import java.util.List;
-
-public class DataAccessObject {
-
- private static Log log = LogFactory.getLog(DataAccessObject.class);
- private DataSource dataSource;
-
-
- public DataAccessObject(){
- if(Util.getDataSourceService()!=null){
- try{
- this.dataSource = (DataSource)Util.getDataSourceService().
- getDataSource(Util.BILLING_DATA_SOURCE_NAME).getDSObject();
- }catch(Exception e){
- log.error("Error occurred while obtaining " + Util.BILLING_DATA_SOURCE_NAME +
- " datasource from data source service.", e);
- dataSource=null;
- }
- }else{
- log.error("Cannot obtain data source " + Util.BILLING_DATA_SOURCE_NAME + ". Datasource service is null");
- dataSource=null;
- }
- }
-
-
- public List<BandwidthStatistics> getHourlyBandwidthStats(int tenantId, Calendar startDate,
- Calendar endDate) throws Exception{
- Connection connection = null;
- List<BandwidthStatistics> bwsList = new ArrayList<BandwidthStatistics>();
-
- try{
- connection = dataSource.getConnection();
- String sql = "SELECT * FROM USAGE_HOURLY_ANALYTICS WHERE TENANT_ID = ? AND HOUR_FACT >= ? AND HOUR_FACT <= ?";
- PreparedStatement ps = connection.prepareStatement(sql);
- ps.setInt(1, tenantId);
- ps.setTimestamp(2, new Timestamp(startDate.getTimeInMillis()));
- ps.setTimestamp(3, new Timestamp(endDate.getTimeInMillis()));
- ResultSet resultSet = ps.executeQuery();
-
- while(resultSet.next()){
- String key = resultSet.getString("PAYLOAD_TYPE");
- BandwidthStatistics bws = new BandwidthStatistics(key);
-
- if(UsageConstants.SERVICE_INCOMING_BW.equals(key) ||
- UsageConstants.WEBAPP_INCOMING_BW.equals(key) ||
- UsageConstants.REGISTRY_INCOMING_BW.equals(key)){
- bws.setIncomingBandwidth(resultSet.getLong("PAYLOAD_VALUE"));
-
- }else if(UsageConstants.SERVICE_OUTGOING_BW.equals(key) ||
- UsageConstants.WEBAPP_OUTGOING_BW.equals(key) ||
- UsageConstants.REGISTRY_OUTGOING_BW.equals(key)){
- bws.setOutgoingBandwidth(resultSet.getLong("PAYLOAD_VALUE"));
- }else {
- //Do nothing
- }
-
- bws.setServerUrl(resultSet.getString("SERVER_NAME"));
-
- bwsList.add(bws);
- }
- }catch(SQLException e){
- log.error("Error occurred while retrieving hourly usage data from the database. ", e);
-
- }finally {
- if(connection!=null){
- connection.close();
- }
- }
-
- return bwsList;
-
- }
-
- /**
- *
- * @param tenantId Tenant ID
- * @param startDate Start date - Stats of this date will be included
- * @param endDate End date - Stats of this date will be included
- * @return A list of BandwidthStatistics objects
- * @throws Exception
- */
- public List<BandwidthStatistics> getDailyBandwidthStats(int tenantId, Calendar startDate,
- Calendar endDate) throws Exception{
- Connection connection = null;
- List<BandwidthStatistics> bwsList = new ArrayList<BandwidthStatistics>();
-
- try{
- connection = dataSource.getConnection();
- String sql = "SELECT * FROM USAGE_DAILY_ANALYTICS WHERE TENANT_ID = ? AND DAY_FACT >= ? AND DAY_FACT <= ?";
- PreparedStatement ps = connection.prepareStatement(sql);
- ps.setInt(1, tenantId);
- ps.setTimestamp(2, new Timestamp(startDate.getTimeInMillis()));
- ps.setTimestamp(3, new Timestamp(endDate.getTimeInMillis()));
- ResultSet resultSet = ps.executeQuery();
-
- while(resultSet.next()){
- String key = resultSet.getString("PAYLOAD_TYPE");
- BandwidthStatistics bws = new BandwidthStatistics(key);
-
- if(UsageConstants.SERVICE_INCOMING_BW.equals(key) ||
- UsageConstants.WEBAPP_INCOMING_BW.equals(key) ||
- UsageConstants.REGISTRY_INCOMING_BW.equals(key)){
- bws.setIncomingBandwidth(resultSet.getLong("PAYLOAD_VALUE"));
-
- }else if(UsageConstants.SERVICE_OUTGOING_BW.equals(key) ||
- UsageConstants.WEBAPP_OUTGOING_BW.equals(key) ||
- UsageConstants.REGISTRY_OUTGOING_BW.equals(key)){
- bws.setOutgoingBandwidth(resultSet.getLong("PAYLOAD_VALUE"));
- }else {
- //Do nothing
- }
-
- bws.setServerUrl(resultSet.getString("SERVER_NAME"));
-
- bwsList.add(bws);
- }
- }catch(SQLException e){
- log.error("Error occurred while retrieving daily usage data from the database. ", e);
-
- }finally {
- if(connection!=null){
- connection.close();
- }
- }
-
- return bwsList;
-
- }
-
- /**
- *
- * @param tenantId Tenant ID
- * @param month Stats of this month will be retrieved
- * @return A list of BandwidthStatistics objects
- * @throws Exception
- */
- public List<BandwidthStatistics> getMonthlyBandwidthStats(int tenantId,
- Calendar month) throws Exception{
- Connection connection = null;
- List<BandwidthStatistics> bwsList = new ArrayList<BandwidthStatistics>();
-
- try{
- connection = dataSource.getConnection();
- String sql = "SELECT * FROM USAGE_MONTHLY_ANALYTICS WHERE TENANT_ID = ? AND MONTH_FACT = ?";
- PreparedStatement ps = connection.prepareStatement(sql);
- ps.setInt(1, tenantId);
- ps.setTimestamp(2, new Timestamp(month.getTimeInMillis()));
- ResultSet resultSet = ps.executeQuery();
-
- while(resultSet.next()){
- String key = resultSet.getString("PAYLOAD_DATA");
- BandwidthStatistics bws = new BandwidthStatistics(key);
-
- if(UsageConstants.SERVICE_INCOMING_BW.equals(key) ||
- UsageConstants.WEBAPP_INCOMING_BW.equals(key) ||
- UsageConstants.REGISTRY_INCOMING_BW.equals(key)){
- bws.setIncomingBandwidth(resultSet.getLong("PAYLOAD_VALUE"));
-
- }else if(UsageConstants.SERVICE_OUTGOING_BW.equals(key) ||
- UsageConstants.WEBAPP_OUTGOING_BW.equals(key) ||
- UsageConstants.REGISTRY_OUTGOING_BW.equals(key)){
- bws.setOutgoingBandwidth(resultSet.getLong("PAYLOAD_VALUE"));
- }else {
- //Do nothing
- }
-
- bws.setServerUrl(resultSet.getString("SERVER_NAME"));
-
- bwsList.add(bws);
- }
- }catch(SQLException e){
- log.error("Error occurred while retrieving monthly usage data from the database. ", e);
-
- }finally {
- if(connection!=null){
- connection.close();
- }
- }
-
- return bwsList;
-
- }
-
- /**
- *
- * @param tenantId Tenant ID
- * @param startDate Start date - Stats of this date will be included
- * @param endDate End date - Stats of this date will be included
- * @return A list of RequestStatistics objects
- * @throws Exception
- */
- public List<RequestStatistics> getHourlyRequestStats(int tenantId, Calendar startDate,
- Calendar endDate) throws Exception{
- Connection connection = null;
- List<RequestStatistics> rsList = new ArrayList<RequestStatistics>();
-
- try{
- connection = dataSource.getConnection();
- String sql = "SELECT * FROM SERVICE_STATS_HOURLY_ANALYTICS WHERE TENANT_ID = ? AND HOUR_FACT >= ? AND HOUR_FACT <= ?";
- PreparedStatement ps = connection.prepareStatement(sql);
- ps.setInt(1, tenantId);
- ps.setTimestamp(2, new Timestamp(startDate.getTimeInMillis()));
- ps.setTimestamp(3, new Timestamp(endDate.getTimeInMillis()));
- ResultSet resultSet = ps.executeQuery();
-
- while(resultSet.next()){
- String key = resultSet.getString("SERVER_NAME");
- RequestStatistics reqStat = new RequestStatistics(key);
- reqStat.setRequestCount(resultSet.getInt("REQUEST_COUNT"));
- reqStat.setResponseCount(resultSet.getInt("RESPONSE_COUNT"));
- reqStat.setFaultCount(resultSet.getInt("FAULT_COUNT"));
-
- rsList.add(reqStat);
- }
- }catch(SQLException e){
- log.error("Error occurred while retrieving hourly service request stats from the database. ", e);
-
- }finally {
- if(connection!=null){
- connection.close();
- }
- }
-
- return rsList;
-
- }
-
-
- /**
- *
- * @param tenantId Tenant ID
- * @param startDate Start date - Stats of this date will be included
- * @param endDate End date - Stats of this date will be included
- * @return A list of RequestStatistics objects
- * @throws Exception
- */
- public List<RequestStatistics> getDailyRequestStats(int tenantId, Calendar startDate,
- Calendar endDate) throws Exception{
- Connection connection = null;
- List<RequestStatistics> rsList = new ArrayList<RequestStatistics>();
-
- try{
- connection = dataSource.getConnection();
- String sql = "SELECT * FROM SERVICE_STATS_DAILY_ANALYTICS WHERE TENANT_ID = ? AND DAY_FACT >= ? AND DAY_FACT <= ?";
- PreparedStatement ps = connection.prepareStatement(sql);
- ps.setInt(1, tenantId);
- ps.setTimestamp(2, new Timestamp(startDate.getTimeInMillis()));
- ps.setTimestamp(3, new Timestamp(endDate.getTimeInMillis()));
- ResultSet resultSet = ps.executeQuery();
-
- while(resultSet.next()){
- String key = resultSet.getString("SERVER_NAME");
- RequestStatistics reqStat = new RequestStatistics(key);
- reqStat.setRequestCount(resultSet.getInt("REQUEST_COUNT"));
- reqStat.setResponseCount(resultSet.getInt("RESPONSE_COUNT"));
- reqStat.setFaultCount(resultSet.getInt("FAULT_COUNT"));
-
- rsList.add(reqStat);
- }
- }catch(SQLException e){
- log.error("Error occurred while retrieving daily service request stats from the database. ", e);
-
- }finally {
- if(connection!=null){
- connection.close();
- }
- }
-
- return rsList;
-
- }
-
- /**
- *
- * @param tenantId Tenant ID
- * @param month Month - Stats of this month will be retrieved
- * @return A list of RequestStatistics objects
- * @throws Exception
- */
- public List<RequestStatistics> getMonthlyRequestStats(int tenantId,
- Calendar month) throws Exception{
- Connection connection = null;
- List<RequestStatistics> rsList = new ArrayList<RequestStatistics>();
-
- try{
- connection = dataSource.getConnection();
- String sql = "SELECT * FROM SERVICE_STATS_MONTHLY_ANALYTICS WHERE TENANT_ID = ? AND MONTH_FACT = ?";
- PreparedStatement ps = connection.prepareStatement(sql);
- ps.setInt(1, tenantId);
- ps.setTimestamp(2, new Timestamp(month.getTimeInMillis()));
- ResultSet resultSet = ps.executeQuery();
-
- while(resultSet.next()){
- String key = resultSet.getString("SERVER_NAME");
- RequestStatistics reqStat = new RequestStatistics(key);
- reqStat.setRequestCount(resultSet.getInt("REQUEST_COUNT"));
- reqStat.setResponseCount(resultSet.getInt("RESPONSE_COUNT"));
- reqStat.setFaultCount(resultSet.getInt("FAULT_COUNT"));
-
- rsList.add(reqStat);
- }
- }catch(SQLException e){
- log.error("Error occurred while retrieving monthly service request stats from the database. ", e);
-
- }finally {
- if(connection!=null){
- connection.close();
- }
- }
-
- return rsList;
-
- }
-
- public TenantDataCapacity getTenantDataCapacity(int tenantId) throws Exception{
- Connection connection = null;
- TenantDataCapacity tenantDataCapacity = null;
-
- try{
- connection = dataSource.getConnection();
- String id = "" + tenantId + "Final";
- String sql = "SELECT * FROM REGISTRY_USAGE_HOURLY_ANALYTICS WHERE ID = ?";
- PreparedStatement ps = connection.prepareStatement(sql);
- ps.setString(1, id);
- ResultSet resultSet = ps.executeQuery();
-
- while(resultSet.next()){
- long currentCapacity = resultSet.getLong("CURRENT_USAGE");
- long historyCapacity = resultSet.getLong("HISTORY_USAGE");
-
- tenantDataCapacity = new TenantDataCapacity(currentCapacity, historyCapacity);
- }
- }catch(SQLException e){
- log.error("Error occurred while retrieving registry data usage from . ", e);
-
- }finally {
- if(connection!=null){
- connection.close();
- }
- }
-
- return tenantDataCapacity;
- }
-
- /**
- * @param tenantId Tenant Id of associated tenant
- * @param startDate Start Date start time stamp of hour
- * @param endDate End date end time stamp of hour
- * @return APIManagerUsageStats objects
- * @throws Exception
- */
- public List<APIManagerUsageStats> getHourlyAPIManagerUsageStats(int tenantId, Calendar startDate,
- Calendar endDate) throws Exception {
- Connection connection = null;
- List<APIManagerUsageStats> bwsList = new ArrayList<APIManagerUsageStats>();
-
- try {
- connection = dataSource.getConnection();
- String sql = "SELECT * FROM USAGE_HOURLY_ANALYTICS WHERE TENANT_ID = ? AND HOUR_FACT >= ? AND HOUR_FACT <= ?";
- PreparedStatement ps = connection.prepareStatement(sql);
- ps.setInt(1, tenantId);
- ps.setTimestamp(2, new Timestamp(startDate.getTimeInMillis()));
- ps.setTimestamp(3, new Timestamp(endDate.getTimeInMillis()));
- ResultSet resultSet = ps.executeQuery();
-
- while (resultSet.next()) {
- String key = resultSet.getString("PAYLOAD_TYPE");
- APIManagerUsageStats stats = new APIManagerUsageStats(key);
-
- if (UsageConstants.API_CALL_COUNT.equals(key)) {
- stats.setIncomingBandwidth(resultSet.getLong("PAYLOAD_VALUE"));
-
- } else {
- //Do nothing
- }
-
- stats.setServerUrl(resultSet.getString("SERVER_NAME"));
- bwsList.add(stats);
- }
- } catch (SQLException e) {
- log.error("Error occurred while retrieving hourly usage data from the database. ", e);
-
- } finally {
- if (connection != null) {
- connection.close();
- }
- }
-
- return bwsList;
-
- }
-
- /**
- * @param tenantId Tenant ID
- * @param startDate Start date - Stats of this date will be included
- * @param endDate End date - Stats of this date will be included
- * @return A list of APIManagerUsageStats objects
- * @throws Exception
- */
- public List<APIManagerUsageStats> getDailyAPIManagerUsageStats(int tenantId, Calendar startDate,
- Calendar endDate) throws Exception {
- Connection connection = null;
- List<APIManagerUsageStats> bwsList = new ArrayList<APIManagerUsageStats>();
-
- try {
- connection = dataSource.getConnection();
- String sql = "SELECT * FROM USAGE_DAILY_ANALYTICS WHERE TENANT_ID = ? AND DAY_FACT >= ? AND DAY_FACT <= ?";
- PreparedStatement ps = connection.prepareStatement(sql);
- ps.setInt(1, tenantId);
- ps.setTimestamp(2, new Timestamp(startDate.getTimeInMillis()));
- ps.setTimestamp(3, new Timestamp(endDate.getTimeInMillis()));
- ResultSet resultSet = ps.executeQuery();
-
- while (resultSet.next()) {
- String key = resultSet.getString("PAYLOAD_TYPE");
- APIManagerUsageStats stats = new APIManagerUsageStats(key);
-
- if ("API-Call".equals(key)) {
- stats.setRequestCount(resultSet.getLong("PAYLOAD_VALUE"));
- } else {
- //Do nothing
- }
-
- stats.setServerUrl(resultSet.getString("SERVER_NAME"));
- bwsList.add(stats);
- }
- } catch (SQLException e) {
- log.error("Error occurred while retrieving daily usage data from the database. ", e);
-
- } finally {
- if (connection != null) {
- connection.close();
- }
- }
- return bwsList;
- }
-
- /**
- * @param tenantId Tenant ID
- * @param month Stats of this month will be retrieved
- * @return A list of APIManagerUsageStats objects
- * @throws Exception
- */
- public List<APIManagerUsageStats> getMonthlyAPIManagerUsageStats(int tenantId,
- Calendar month) throws Exception {
- Connection connection = null;
- List<APIManagerUsageStats> bwsList = new ArrayList<APIManagerUsageStats>();
-
- try {
- connection = dataSource.getConnection();
- String sql = "SELECT * FROM USAGE_MONTHLY_ANALYTICS WHERE TENANT_ID = ? AND MONTH_FACT = ?";
- PreparedStatement ps = connection.prepareStatement(sql);
- ps.setInt(1, tenantId);
- ps.setTimestamp(2, new Timestamp(month.getTimeInMillis()));
- ResultSet resultSet = ps.executeQuery();
-
- while (resultSet.next()) {
- String key = resultSet.getString("PAYLOAD_DATA");
- APIManagerUsageStats stats = new APIManagerUsageStats(key);
-
- if (UsageConstants.API_CALL_COUNT.equals(key)) {
- stats.setIncomingBandwidth(resultSet.getLong("PAYLOAD_VALUE"));
-
- } else {
- //Do nothing
- }
-
- stats.setServerUrl(resultSet.getString("SERVER_NAME"));
- bwsList.add(stats);
- }
- } catch (SQLException e) {
- log.error("Error occurred while retrieving monthly usage data from the database. ", e);
-
- } finally {
- if (connection != null) {
- connection.close();
- }
- }
-
- return bwsList;
-
- }
-}