/** {@inheritDoc} */ protected byte[] fetchMetadata() throws MetadataProviderException { try { validateMetadataFile(metadataFile); DateTime metadataUpdateTime = new DateTime(metadataFile.lastModified(), ISOChronology.getInstanceUTC()); if (getLastRefresh() == null || getLastUpdate() == null || metadataUpdateTime.isAfter(getLastRefresh())) { return inputstreamToByteArray(new FileInputStream(metadataFile)); } return null; } catch (IOException e) { String errMsg = "Unable to read metadata file " + metadataFile.getAbsolutePath(); log.error(errMsg, e); throw new MetadataProviderException(errMsg, e); } }