@Test
  public void datasetStoreTest() {
    try {

      Dataset dataset = DatasetTestFactory.getDataset();
      datasetService.store(dataset);
      Dataset theDataset = datasetService.getApprovedDatasetByName(dataset.getTitleId());

      Assert.assertTrue(dataset.getTitle().equals(theDataset.getTitle()));
      Assert.assertTrue(dataset.getTitleId().equals(theDataset.getTitleId()));
      Assert.assertTrue(dataset.getLicense().equals(theDataset.getLicense()));
      Assert.assertTrue(dataset.getAccessURL().equals(theDataset.getAccessURL()));
      Assert.assertTrue(dataset.getDataQuality().equals(theDataset.getDataQuality()));
      Assert.assertTrue(dataset.getLocation().equals(theDataset.getLocation()));
      Assert.assertTrue(dataset.getModified().equals(theDataset.getModified()));
      Assert.assertTrue(dataset.getDescription().equals(theDataset.getDescription()));
      Assert.assertTrue(dataset.getSpatial().equals(theDataset.getSpatial()));
      Assert.assertTrue(dataset.getTemporal().equals(theDataset.getTemporal()));
      Assert.assertTrue(dataset.getFormat().equals(theDataset.getFormat()));
      Assert.assertTrue(dataset.getPublisherName().equals(theDataset.getPublisherName()));

    } catch (Exception e) {
      e.printStackTrace();
    }
  }
  @RequestMapping(method = RequestMethod.GET)
  public void exportDatasets(HttpServletRequest request, HttpServletResponse response) {

    response.setContentType("application/octet-stream");

    Iterable<Dataset> listDataset = this.datasetService.getAllApprovedDatasets();

    String text = "";
    for (Dataset d : listDataset) {
      String line = "";
      line = d.getTitle() + ";";
      line += d.getLicense() + ";";
      Set<String> myTags = d.getKeyword();
      for (String s : myTags) {
        line += s + ",";
      }
      line = line.substring(0, line.length() - 1);
      line += ";";
      line += d.getDataQuality() + ";";
      line += d.getModified().substring(0, 10) + ";";
      line += d.getSpatial() + ";";
      line += d.getTemporal() + ";";
      line += d.getPublisherName() + ";";
      line += d.getAccessURL() + ";";
      line += d.getSize() + ";";
      line += d.getFormat() + ";";
      if (d.getDistribution() instanceof Feed) {
        line += "Feed,";
      } else if (d.getDistribution() instanceof WebService) {
        line += "Web Service;";
      } else {
        line += "Download;";
      }
      line += d.getLocation() + ";";
      line += d.getDescription();
      line += "\n";
      text += line;
    }
    response.setHeader("Content-Disposition", "attachment; filename=\"Datasets.csv");
    response.setContentLength(text.length());

    ServletOutputStream out = null;
    try {
      out = response.getOutputStream();
      out.write(text.getBytes());
    } catch (IOException e) {
      logger.error(e.getMessage());
      logger.error(e.getStackTrace());
    }
  }