Exemple #1
0
  @Override
  public void askDetails(StoredDocumentList incomplete) {
    for (StoredDocument stored : incomplete) {
      String id = getDetailInfo(stored);
      if (id != null) {
        try {
          URI uri =
              new URI(
                  "http",
                  "www.mendeley.com",
                  "/oapi/documents/details/" + id,
                  "consumer_key=" + CONSUMER_KEY,
                  null);

          String json = getNet().read(uri, "UTF-8");
          json = json.replace("\"abstract\":", "\"abstrakt\":");
          MendeleyDocDetails docDetails = gson.fromJson(json, MendeleyDocDetails.class);

          if (docDetails != null) {
            Document document = stored.getDocument();
            String abstrakt = docDetails.getAbstrakt();
            if (abstrakt != null) {
              document.setFieldValue(Field.ABSTRACT, abstrakt);
            }
            String pages = docDetails.getPages();
            if (pages != null) {
              document.setFieldValue(Field.PAGES, pages);
            }
            String volume = docDetails.getVolume();
            if (volume != null) {
              document.setFieldValue(Field.VOLUME, volume);
            }
          }

          setDetailTimestampToCurrent(stored);
        } catch (JsonParseException e) {
          logger.error(e.getMessage(), e);
        } catch (URISyntaxException e) {
          logger.error(e.getMessage(), e);
        }
      }
    }
  }