public CloudTable getHourMetricsTable(StorageService service, StorageLocation location) throws URISyntaxException,
            StorageException {
        Utility.assertNotNull("service", service);
        if (location == null) {
            location = StorageLocation.PRIMARY;
        }

        switch (service) {
            case BLOB:
                if (location == StorageLocation.PRIMARY) {
                    return this.tableClient.getTableReference(
                            Constants.AnalyticsConstants.METRICS_HOUR_PRIMARY_TRANSACTIONS_BLOB);
                }
                else {
                    return this.tableClient.getTableReference(
                            Constants.AnalyticsConstants.METRICS_HOUR_SECONDARY_TRANSACTIONS_BLOB);
                }
                
            case FILE:
                if (location == StorageLocation.PRIMARY) {
                    return this.tableClient.getTableReference(
                            Constants.AnalyticsConstants.METRICS_HOUR_PRIMARY_TRANSACTIONS_FILE);
                }
                else {
                    return this.tableClient.getTableReference(
                            Constants.AnalyticsConstants.METRICS_HOUR_SECONDARY_TRANSACTIONS_FILE);
                }
                
            case QUEUE:
                if (location == StorageLocation.PRIMARY) {
                    return this.tableClient.getTableReference(
                            Constants.AnalyticsConstants.METRICS_HOUR_PRIMARY_TRANSACTIONS_QUEUE);
                }
                else {
                    return this.tableClient.getTableReference(
                            Constants.AnalyticsConstants.METRICS_HOUR_SECONDARY_TRANSACTIONS_QUEUE);
                }
                
            case TABLE:
                if (location == StorageLocation.PRIMARY) {
                    return this.tableClient.getTableReference(
                            Constants.AnalyticsConstants.METRICS_HOUR_PRIMARY_TRANSACTIONS_TABLE);
                }
                else {
                    return this.tableClient.getTableReference(
                            Constants.AnalyticsConstants.METRICS_HOUR_SECONDARY_TRANSACTIONS_TABLE);
                }
                
            default:
                throw new IllegalArgumentException(SR.INVALID_STORAGE_SERVICE);
        }
    }
public CloudTable getHourMetricsTable(StorageService service, StorageLocation location) throws URISyntaxException,
            StorageException {
        Utility.assertNotNull("service", service);
        if (location == null) {
            location = StorageLocation.PRIMARY;
        }

        switch (service) {
            case BLOB:
                if (location == StorageLocation.PRIMARY) {
                    return this.tableClient.getTableReference(
                            Constants.AnalyticsConstants.METRICS_HOUR_PRIMARY_TRANSACTIONS_BLOB);
                }
                else {
                    return this.tableClient.getTableReference(
                            Constants.AnalyticsConstants.METRICS_HOUR_SECONDARY_TRANSACTIONS_BLOB);
                }
                
            case FILE:
                if (location == StorageLocation.PRIMARY) {
                    return this.tableClient.getTableReference(
                            Constants.AnalyticsConstants.METRICS_HOUR_PRIMARY_TRANSACTIONS_FILE);
                }
                else {
                    return this.tableClient.getTableReference(
                            Constants.AnalyticsConstants.METRICS_HOUR_SECONDARY_TRANSACTIONS_FILE);
                }
                
            case QUEUE:
                if (location == StorageLocation.PRIMARY) {
                    return this.tableClient.getTableReference(
                            Constants.AnalyticsConstants.METRICS_HOUR_PRIMARY_TRANSACTIONS_QUEUE);
                }
                else {
                    return this.tableClient.getTableReference(
                            Constants.AnalyticsConstants.METRICS_HOUR_SECONDARY_TRANSACTIONS_QUEUE);
                }
                
            case TABLE:
                if (location == StorageLocation.PRIMARY) {
                    return this.tableClient.getTableReference(
                            Constants.AnalyticsConstants.METRICS_HOUR_PRIMARY_TRANSACTIONS_TABLE);
                }
                else {
                    return this.tableClient.getTableReference(
                            Constants.AnalyticsConstants.METRICS_HOUR_SECONDARY_TRANSACTIONS_TABLE);
                }
                
            default:
                throw new IllegalArgumentException(SR.INVALID_STORAGE_SERVICE);
        }
    }
public CloudTable getHourMetricsTable ( StorageService service , StorageLocation location ) throws URISyntaxException , StorageException { Utility . assertNotNull ( "service" , service ) ; if ( location == null ) { location = StorageLocation . PRIMARY ; } switch ( service ) { case BLOB : if ( location == StorageLocation . PRIMARY ) { return this . tableClient . getTableReference ( Constants . AnalyticsConstants . METRICS_HOUR_PRIMARY_TRANSACTIONS_BLOB ) ; } else { return this . tableClient . getTableReference ( Constants . AnalyticsConstants . METRICS_HOUR_SECONDARY_TRANSACTIONS_BLOB ) ; } case FILE : if ( location == StorageLocation . PRIMARY ) { return this . tableClient . getTableReference ( Constants . AnalyticsConstants . METRICS_HOUR_PRIMARY_TRANSACTIONS_FILE ) ; } else { return this . tableClient . getTableReference ( Constants . AnalyticsConstants . METRICS_HOUR_SECONDARY_TRANSACTIONS_FILE ) ; } case QUEUE : if ( location == StorageLocation . PRIMARY ) { return this . tableClient . getTableReference ( Constants . AnalyticsConstants . METRICS_HOUR_PRIMARY_TRANSACTIONS_QUEUE ) ; } else { return this . tableClient . getTableReference ( Constants . AnalyticsConstants . METRICS_HOUR_SECONDARY_TRANSACTIONS_QUEUE ) ; } case TABLE : if ( location == StorageLocation . PRIMARY ) { return this . tableClient . getTableReference ( Constants . AnalyticsConstants . METRICS_HOUR_PRIMARY_TRANSACTIONS_TABLE ) ; } else { return this . tableClient . getTableReference ( Constants . AnalyticsConstants . METRICS_HOUR_SECONDARY_TRANSACTIONS_TABLE ) ; } default : throw new IllegalArgumentException ( SR . INVALID_STORAGE_SERVICE ) ; } }
Gets the hour metrics table for a specific storage service.

@param service
A {@link StorageService} enumeration value that indicates which storage service to use.
@param location
A {@link StorageLocation} enumeration value that indicates which storage location to use.
@return
The {@link CloudTable} object for the storage service.
@throws URISyntaxException
@throws StorageException
Gets the hour metrics table for a specific storage service .