diff --git a/Modules/Core/Metadata/include/otbMetadataSupplierInterface.h b/Modules/Core/Metadata/include/otbMetadataSupplierInterface.h
index b78599207c2daad1dcb35584cf44d0d5f06e9564..edc5b2aa1d15c61da590fc67cfb25458073cba37 100644
--- a/Modules/Core/Metadata/include/otbMetadataSupplierInterface.h
+++ b/Modules/Core/Metadata/include/otbMetadataSupplierInterface.h
@@ -70,6 +70,8 @@ public:
   {
     bool hasValue;
     std::string ret = GetMetadataValue(path, hasValue, band);
+    std::cout << "hasValue : " << hasValue << std::endl ;
+    std::cout << "ret : " << ret << std::endl ;
     if (!hasValue)
     {
       otbGenericExceptionMacro(MissingMetadataException,<<"Missing metadata '"<<path<<"'")
diff --git a/Modules/Core/Metadata/include/otbRadarsat2ImageMetadataInterface.h b/Modules/Core/Metadata/include/otbRadarsat2ImageMetadataInterface.h
index 91fb7893b1622c0d27d6cc8ead2b0e0dec4e5643..36fece91a70ab87a7cfaa09180f302a1c484c4ff 100644
--- a/Modules/Core/Metadata/include/otbRadarsat2ImageMetadataInterface.h
+++ b/Modules/Core/Metadata/include/otbRadarsat2ImageMetadataInterface.h
@@ -98,6 +98,8 @@ public:
   /*get lookup data for calculating backscatter */
   void CreateCalibrationLookupData(const short type) override;
 
+  void Parse(const MetadataSupplierInterface *) override;
+
 
 protected:
   /* class constructor */
diff --git a/Modules/Core/Metadata/src/otbImageMetadataInterfaceBase.cxx b/Modules/Core/Metadata/src/otbImageMetadataInterfaceBase.cxx
index 7d662a217eb6c8101c25a4a53406e729e252a935..afd58a4f6eadc54b88f8da071f2a17bd032deaf3 100644
--- a/Modules/Core/Metadata/src/otbImageMetadataInterfaceBase.cxx
+++ b/Modules/Core/Metadata/src/otbImageMetadataInterfaceBase.cxx
@@ -661,12 +661,15 @@ ImageMetadataInterfaceBase::Fetch(
   const char *path,
   int band)
 {
+  std::cout << "Fetching..." << std::endl ;
   if (band >= 0)
     {
     assert( (size_t)(band) < m_Imd.Bands.size());
     m_Imd.Bands[band].Add(key, mds.GetAs<MetaData::Time>(path, band));
     return m_Imd.Bands[band][key];
     }
+  std::cout << "path : " << path << std::endl ;
+
   m_Imd.Add(key, mds.GetAs<MetaData::Time>(path));
   return m_Imd[key];
 }
diff --git a/Modules/Core/Metadata/src/otbRadarsat2ImageMetadataInterface.cxx b/Modules/Core/Metadata/src/otbRadarsat2ImageMetadataInterface.cxx
index ecd98438bab2f42e87ca3be3134d2dacf0ab5f1f..19b2bc66219ff4a0929727f14946657fad68d7be 100644
--- a/Modules/Core/Metadata/src/otbRadarsat2ImageMetadataInterface.cxx
+++ b/Modules/Core/Metadata/src/otbRadarsat2ImageMetadataInterface.cxx
@@ -119,6 +119,8 @@ void Radarsat2ImageMetadataInterface::ParseDateTime(const char* key, std::vector
   }
 }
 
+
+
 int Radarsat2ImageMetadataInterface::GetYear() const
 {
   int value = 0;
@@ -237,4 +239,30 @@ Radarsat2ImageMetadataInterface::UIntVectorType Radarsat2ImageMetadataInterface:
   return rgb;
 }
 
+
+void Radarsat2ImageMetadataInterface::Parse(const MetadataSupplierInterface *mds)
+{
+  assert(mds);
+  assert(mds->GetNbBands() == this->m_Imd.Bands.size());
+
+  // Metadata read by GDAL
+  Fetch(MDTime::AcquisitionStartTime, *mds, "ACQUISITION_START_TIME");
+  // Fetch(MDTime::AcquisitionStopTime, *mds, "ACQUISITION_STOP_TIME");
+  Fetch(MDStr::BeamMode, *mds, "BEAM_MODE");
+  // Fetch(MDStr::BeamSwath, *mds, "BEAM_SWATH");
+  Fetch("FACILITY_IDENTIFIER", *mds, "FACILITY_IDENTIFIER");
+  Fetch(MDNum::LineSpacing, *mds, "LINE_SPACING");
+  // Fetch(MDStr::Mission, *mds, "MISSION_ID");
+  // Fetch(MDStr::Mode, *mds, "MODE");
+  Fetch(MDStr::OrbitDirection, *mds, "ORBIT_DIRECTION");
+  // Fetch(MDNum::OrbitNumber, *mds, "ORBIT_NUMBER");
+  Fetch(MDNum::PixelSpacing, *mds, "PIXEL_SPACING");
+  Fetch(MDStr::ProductType, *mds, "PRODUCT_TYPE");
+  Fetch(MDStr::Instrument, *mds, "SATELLITE_IDENTIFIER");
+  Fetch(MDStr::SensorID, *mds, "SENSOR_IDENTIFIER");
+  // Fetch(MDStr::Swath, *mds, "SWATH");
+
+  }
+
 } // end namespace otb
+
diff --git a/Modules/Core/Metadata/test/CMakeLists.txt b/Modules/Core/Metadata/test/CMakeLists.txt
index 852b117e9271a30beffc736b748c282e6b76ea4e..b20374f6cb6f07306decc9a23e0266553790531f 100644
--- a/Modules/Core/Metadata/test/CMakeLists.txt
+++ b/Modules/Core/Metadata/test/CMakeLists.txt
@@ -429,3 +429,11 @@ otb_add_test(NAME ioTuotbXMLMetadataSupplierTest COMMAND otbMetadataTestDriver
   ${INPUTDATA}/ioTuotbXMLMetadataSupplierTest.xml
   ${TEMP}/ioTuotbXMLMetadataSupplierTest.txt
   )
+
+
+
+otb_add_test(NAME ioTvImageMetadataInterfaceTest_Radarsat2 COMMAND otbMetadataTestDriver
+  otbImageMetadataInterfaceTest
+  LARGEINPUT{RADARSAT2/ALTONA/Fine_Quad-Pol_Dataset/PK6621_DK406_FQ9_20080405_124900_HH_VV_HV_VH_SLC_Altona}
+  ${TEMP}/ioTvImageMetadataInterfaceTest_Radarsat2.txt
+  )
\ No newline at end of file