private void validateConfig(DiskQuotaConfig quotaConfig) throws ConfigurationException { int cacheCleanUpFrequency = quotaConfig.getCacheCleanUpFrequency(); if (cacheCleanUpFrequency <= 0) { throw new ConfigurationException("cacheCleanUpFrequency shall be a positive integer"); } TimeUnit cacheCleanUpUnits = quotaConfig.getCacheCleanUpUnits(); if (cacheCleanUpUnits == null) { throw new ConfigurationException( "cacheCleanUpUnits shall be specified. Expected one of SECONDS, MINUTES, HOURS, DAYS. Got null"); } int diskBlockSize = quotaConfig.getDiskBlockSize(); if (diskBlockSize <= 0) { throw new ConfigurationException( "Disk block size shall be specified and be a positive integer"); } int maxConcurrentCleanUps = quotaConfig.getMaxConcurrentCleanUps(); if (maxConcurrentCleanUps <= 0) { throw new ConfigurationException( "maxConcurrentCleanUps shall be specified as a positive integer"); } if (null != quotaConfig.getLayerQuotas()) { for (LayerQuota lq : new ArrayList<LayerQuota>(quotaConfig.getLayerQuotas())) { if (null == lq.getQuota()) { log.info( "Configured quota for layer " + lq.getLayer() + " is null. Discarding it to be attached to the global quota"); quotaConfig.remove(lq); continue; } validateLayerQuota(quotaConfig, lq); } } }