当前位置: 首页>>代码示例>>Java>>正文


Java Extension类代码示例

本文整理汇总了Java中org.gbif.api.vocabulary.Extension的典型用法代码示例。如果您正苦于以下问题:Java Extension类的具体用法?Java Extension怎么用?Java Extension使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


Extension类属于org.gbif.api.vocabulary包,在下文中一共展示了Extension类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: interpretVernacularNames

import org.gbif.api.vocabulary.Extension; //导入依赖的package包/类
private void interpretVernacularNames(NameUsage u, UsageExtensions e, VerbatimNameUsage v) {
  if (v.hasExtension(Extension.VERNACULAR_NAME)) {
    for (Map<Term, String> rec : v.getExtensions().get(Extension.VERNACULAR_NAME)) {
      VernacularName vn = new VernacularName();
      vn.setVernacularName(value(rec, DwcTerm.vernacularName));
      if (vn.getVernacularName() == null) {
        u.addIssue(NameUsageIssue.VERNACULAR_NAME_INVALID);
        continue;
      }
      // locationID > locality
      vn.setArea(value(rec, DwcTerm.locationID, DwcTerm.locality));
      vn.setCountry(enumify(rec, null, countryParser, u,
                            DwcTerm.countryCode, DwcTerm.country, DwcTerm.locationID, DwcTerm.locality));
      vn.setLanguage(enumify(rec, NameUsageIssue.VERNACULAR_NAME_INVALID, languageParser, u, DcTerm.language));
      vn.setLifeStage(enumify(rec, NameUsageIssue.VERNACULAR_NAME_INVALID, lifeStageParser, u, DwcTerm.lifeStage));
      vn.setPlural(bool(rec, NameUsageIssue.VERNACULAR_NAME_INVALID, u, GbifTerm.isPlural));
      vn.setPreferred(bool(rec, NameUsageIssue.VERNACULAR_NAME_INVALID, u, GbifTerm.isPreferredName));
      vn.setSex(enumify(rec, NameUsageIssue.VERNACULAR_NAME_INVALID, sexParser, u, DwcTerm.sex));
      vn.setSource(value(rec, DcTerm.source));
      // interpret rec
      e.vernacularNames.add(vn);
    }
  }
}
 
开发者ID:gbif,项目名称:checklistbank,代码行数:25,代码来源:ExtensionInterpreter.java

示例2: interpretTypes

import org.gbif.api.vocabulary.Extension; //导入依赖的package包/类
/**
 * We only keep type names and ignore specimens...
 */
private void interpretTypes(NameUsage u, UsageExtensions e, VerbatimNameUsage v) {
  if (v.hasExtension(Extension.TYPES_AND_SPECIMEN)) {
    for (Map<Term, String> rec : v.getExtensions().get(Extension.TYPES_AND_SPECIMEN)) {
      TypeSpecimen t = new TypeSpecimen();
      // interpret
      t.setScientificName(expandGenus(value(rec, DwcTerm.scientificName), u.getScientificName()));

      if (t.getScientificName() == null || t.getScientificName().equalsIgnoreCase(u.getScientificName())) {
        LOG.debug("Ignore type name for {} as the name is the same as the taxon", u.getScientificName());
        continue;
      }
      t.setTypeDesignatedBy(value(rec, GbifTerm.typeDesignatedBy));
      t.setTypeStatus(enumify(rec, null, typeStatusParser, u, DwcTerm.typeStatus));
      t.setSource(value(rec, DcTerm.source));
      //t.setCitation(value(rec, DcTerm.bibliographicCitation));
      //t.setTypeDesignationType(value(rec, GbifTerm.typeDesignatedType));
      e.typeSpecimens.add(t);
    }
  }
}
 
开发者ID:gbif,项目名称:checklistbank,代码行数:24,代码来源:ExtensionInterpreter.java

示例3: interpretSpeciesProfiles

import org.gbif.api.vocabulary.Extension; //导入依赖的package包/类
private void interpretSpeciesProfiles(NameUsage u, UsageExtensions e, VerbatimNameUsage v) {
  if (v.hasExtension(Extension.SPECIES_PROFILE)) {
    for (Map<Term, String> rec : v.getExtensions().get(Extension.SPECIES_PROFILE)) {
      SpeciesProfile s = new SpeciesProfile();
      // interpret rec
      s.setSource(value(rec, DcTerm.source));
      s.setAgeInDays(integer(rec, NameUsageIssue.SPECIES_PROFILE_INVALID, u, GbifTerm.ageInDays));
      s.setMassInGram(integer(rec, NameUsageIssue.SPECIES_PROFILE_INVALID, u, GbifTerm.massInGram));
      s.setSizeInMillimeter(integer(rec, NameUsageIssue.SPECIES_PROFILE_INVALID, u, GbifTerm.sizeInMillimeter));
      s.setHybrid(bool(rec, NameUsageIssue.SPECIES_PROFILE_INVALID, u, GbifTerm.isHybrid));
      s.setMarine(bool(rec, NameUsageIssue.SPECIES_PROFILE_INVALID, u, GbifTerm.isMarine));
      s.setFreshwater(bool(rec, NameUsageIssue.SPECIES_PROFILE_INVALID, u, GbifTerm.isFreshwater));
      s.setTerrestrial(bool(rec, NameUsageIssue.SPECIES_PROFILE_INVALID, u, GbifTerm.isTerrestrial));
      s.setExtinct(bool(rec, NameUsageIssue.SPECIES_PROFILE_INVALID, u, GbifTerm.isExtinct));
      s.setLivingPeriod(value(rec, GbifTerm.livingPeriod));
      s.setLifeForm(value(rec, GbifTerm.lifeForm));
      s.setHabitat(value(rec, DwcTerm.habitat));
      e.speciesProfiles.add(s);
    }
  }
}
 
开发者ID:gbif,项目名称:checklistbank,代码行数:22,代码来源:ExtensionInterpreter.java

示例4: interpretReference

import org.gbif.api.vocabulary.Extension; //导入依赖的package包/类
private void interpretReference(NameUsage u, UsageExtensions e, VerbatimNameUsage v) {
  if (v.hasExtension(Extension.REFERENCE)) {
    for (Map<Term, String> rec : v.getExtensions().get(Extension.REFERENCE)) {
      Reference r = new Reference();
      // interpret rec
      r.setType(value(rec, DcTerm.type));
      r.setCitation(value(rec, DcTerm.bibliographicCitation));
      r.setTitle(value(rec, DcTerm.title));
      r.setAuthor(value(rec, DcTerm.creator));
      r.setDate(value(rec, DcTerm.date, DcTerm.created));
      r.setSource(value(rec, DcTerm.source));
      r.setRemarks(value(rec, DwcTerm.taxonRemarks));
      // TODO: need to check this mapping!
      r.setDoi(value(rec, DcTerm.identifier));
      r.setLink(value(rec, DcTerm.references));
      e.referenceList.add(r);
    }
  }
}
 
开发者ID:gbif,项目名称:checklistbank,代码行数:20,代码来源:ExtensionInterpreter.java

示例5: interpretMultimedia

import org.gbif.api.vocabulary.Extension; //导入依赖的package包/类
private void interpretMultimedia(NameUsage u, UsageExtensions e, VerbatimNameUsage v) {
  extractMedia(u, e, v, Extension.IMAGE, false);
  extractMedia(u, e, v, Extension.MULTIMEDIA, false);
  extractMedia(u, e, v, Extension.EOL_MEDIA, true);
  extractMedia(u, e, v, Extension.AUDUBON, false);
  extractMediaCore(u, e, v);
  /**
   * merges media records if the same image URL or link is given several times.
   * Remove any media that has not either a file or webpage uri.
   */
  Map<String, NameUsageMediaObject> media = Maps.newLinkedHashMap();
  for (NameUsageMediaObject m : e.media) {
    // we can get file uris or weblinks. Prefer file URIs as they clearly identify a single image
    URI uri = m.getIdentifier() != null ? m.getIdentifier() : m.getReferences();
    if (uri != null) {
      String url = uri.toString();
      if (media.containsKey(url)) {
        // TODO: merge infos about the same image?
      } else {
        media.put(url, m);
      }
    }
  }
  e.media = Lists.newArrayList(media.values());
}
 
开发者ID:gbif,项目名称:checklistbank,代码行数:26,代码来源:ExtensionInterpreter.java

示例6: interpretIdentifier

import org.gbif.api.vocabulary.Extension; //导入依赖的package包/类
private void interpretIdentifier(NameUsage u, UsageExtensions e, VerbatimNameUsage v) {
  if (v.hasExtension(Extension.IDENTIFIER)) {
    for (Map<Term, String> rec : v.getExtensions().get(Extension.IDENTIFIER)) {
      Identifier i = new Identifier();
      // interpret rec
      i.setIdentifier(value(rec, DcTerm.identifier));
      if (i.getIdentifier() == null) {
        u.addIssue(NameUsageIssue.ALT_IDENTIFIER_INVALID);
        continue;
      }
      i.setTitle(value(rec, DcTerm.title));
      i.setType(IdentifierType.inferFrom(i.getIdentifier()));
      e.identifiers.add(i);
    }
  }
}
 
开发者ID:gbif,项目名称:checklistbank,代码行数:17,代码来源:ExtensionInterpreter.java

示例7: testVernacularNames

import org.gbif.api.vocabulary.Extension; //导入依赖的package包/类
@Test
public void testVernacularNames() throws Exception {
  ExtensionInterpreter interp = new ExtensionInterpreter();
  NameUsage u = new NameUsage();
  VerbatimNameUsage v = new VerbatimNameUsage();

  Map<Term, String> v1 = Maps.newHashMap();
  v1.put(DwcTerm.vernacularName, "palmeirinha");
  v1.put(DcTerm.language, "PORTUGUES");
  v1.put(DwcTerm.locality, "Acre");

  Map<Term, String> v2 = Maps.newHashMap();
  v2.put(DwcTerm.vernacularName, "ubim");
  v2.put(DcTerm.language, "PORTUGUES");
  v2.put(DwcTerm.locality, "Acre");

  v.getExtensions().put(Extension.VERNACULAR_NAME, Lists.newArrayList(v1, v2));

  UsageExtensions ext = interp.interpret(u, v);
  assertEquals(2, ext.vernacularNames.size());
  assertTrue(u.getIssues().isEmpty());
  assertEquals("palmeirinha", ext.vernacularNames.get(0).getVernacularName());
  assertEquals(Language.PORTUGUESE, ext.vernacularNames.get(0).getLanguage());
  assertEquals("Acre", ext.vernacularNames.get(0).getArea());
}
 
开发者ID:gbif,项目名称:checklistbank,代码行数:26,代码来源:ExtensionInterpreterTest.java

示例8: testRoundTripping

import org.gbif.api.vocabulary.Extension; //导入依赖的package包/类
@Test
public void testRoundTripping() throws Exception {
  VerbatimNameUsage v = new VerbatimNameUsage();
  v.setCoreField(DwcTerm.scientificName, "Abies alba");
  v.setCoreField(DwcTerm.taxonRank, "Gattung");
  v.setCoreField(DwcTerm.taxonID, "dqwd23");
  v.setCoreField(GbifTerm.depth, "1200");
  v.setCoreField(new UnknownTerm(qname1), "1200");
  v.setCoreField(new UnknownTerm(qname2), null);

  List<Map<Term, String>> vernaculars = Lists.newArrayList();
  vernaculars.add(map(DwcTerm.vernacularName, "Tanne", DcTerm.language, "de"));
  vernaculars.add(map(DwcTerm.vernacularName, "Fir", DcTerm.language, "en", new UnknownTerm(qname2), ""));
  v.getExtensions().put(Extension.VERNACULAR_NAME, vernaculars);

  List<Map<Term, String>> infos = Lists.newArrayList();
  infos.add(map(GbifTerm.ageInDays, "750", IucnTerm.threatStatus, "extinct", GbifTerm.isExtinct, "true"));
  v.getExtensions().put(Extension.SPECIES_PROFILE, infos);

  String json = mapper.write(v);

  VerbatimNameUsage v2 = mapper.read(json);
  assertEquals(v, v2);
}
 
开发者ID:gbif,项目名称:checklistbank,代码行数:25,代码来源:VerbatimNameUsageMapperJsonTest.java

示例9: testHasExtension

import org.gbif.api.vocabulary.Extension; //导入依赖的package包/类
@Test
public void testHasExtension() throws IOException {
  VerbatimNameUsage v1 = new VerbatimNameUsage();
  v1.setCoreField(DwcTerm.taxonID, "IPNI342");
  v1.setCoreField(DwcTerm.scientificName, "Abies alba");
  v1.setCoreField(DwcTerm.scientificNameAuthorship, "Miller");
  v1.setCoreField(DwcTerm.taxonRank, "species");
  assertFalse(v1.hasExtension(Extension.IDENTIFICATION));

  List<Map<Term, String>> exts = Lists.newArrayList();
  v1.getExtensions().put(Extension.IDENTIFICATION, exts);
  assertFalse(v1.hasExtension(Extension.IDENTIFICATION));
  assertFalse(v1.hasExtension(DwcTerm.Identification));

  exts.add(Maps.<Term, String>newHashMap());
  assertTrue(v1.hasExtension(Extension.IDENTIFICATION));
  assertTrue(v1.hasExtension(DwcTerm.Identification));
  assertFalse(v1.hasExtension(DwcTerm.MeasurementOrFact));

}
 
开发者ID:gbif,项目名称:gbif-api,代码行数:21,代码来源:VerbatimNameUsageTest.java

示例10: extractMedia

import org.gbif.api.vocabulary.Extension; //导入依赖的package包/类
private void extractMedia(NameUsage u, UsageExtensions e, VerbatimNameUsage v, Extension ext, boolean requireType) {
  if (v.hasExtension(ext)) {
    for (Map<Term, String> rec : v.getExtensions().get(ext)) {
      URI uri = UrlParser.parse(value(rec, AcTerm.accessURI, DcTerm.identifier, DcElement.identifier));
      URI link = UrlParser.parse(value(rec, AcTerm.furtherInformationURL, DcTerm.references, AcTerm.attributionLinkURL));
      // EOL media extension is also used to publish text descriptions - avoid those
      MediaType type = enumify(rec, null, mediaTypeParser, u, DcTerm.type, DcElement.type);
      if (requireType && type == null) {
        continue;
      }
      // link or media uri must exist
      if (uri == null && link == null) {
        u.addIssue(NameUsageIssue.MULTIMEDIA_INVALID);
      } else {
        NameUsageMediaObject m = new NameUsageMediaObject();
        m.setType(type);
        m.setIdentifier(uri);
        m.setReferences(link);
        m.setTitle(value(rec, DcTerm.title, AcTerm.caption));
        m.setDescription(value(rec, DcTerm.description));
        m.setLicense(value(rec, DcTerm.license, XmpRightsTerm.UsageTerms, DcTerm.rights));
        m.setPublisher(value(rec, DcTerm.publisher));
        m.setContributor(value(rec, DcTerm.contributor));
        m.setSource(value(rec, AcTerm.derivedFrom, DcTerm.source));
        m.setAudience(value(rec, DcTerm.audience));
        m.setRightsHolder(value(rec, XmpRightsTerm.Owner, DcTerm.rightsHolder));
        m.setCreator(value(rec, DcTerm.creator));
        m.setFormat(mediaParser.parseMimeType(value(rec, DcTerm.format)));
        String created = value(rec, XmpTerm.CreateDate, DcTerm.created, DcTerm.date);
        if (created != null) {
          m.setCreated(DateParseUtils.parse(created).getPayload());
        }
        mediaParser.detectType(m);
        e.media.add(m);
      }
    }
  }
}
 
开发者ID:gbif,项目名称:checklistbank,代码行数:39,代码来源:ExtensionInterpreter.java

示例11: interpretDistribution

import org.gbif.api.vocabulary.Extension; //导入依赖的package包/类
private void interpretDistribution(NameUsage u, UsageExtensions e, VerbatimNameUsage v) {
  if (v.hasExtension(Extension.DISTRIBUTION)) {
    for (Map<Term, String> rec : v.getExtensions().get(Extension.DISTRIBUTION)) {
      Distribution d = new Distribution();
      // interpret rec
      d.setLocality(value(rec, DwcTerm.locality));
      d.setLocationId(value(rec, DwcTerm.locationID));
      d.setCountry(enumify(rec, NameUsageIssue.DISTRIBUTION_INVALID, countryParser, u, DwcTerm.country, DwcTerm.countryCode));
      // some location is required, otherwise its pointless
      if (d.getLocality() == null && d.getLocationId() == null && d.getCountry() == null) {
        u.addIssue(NameUsageIssue.DISTRIBUTION_INVALID);
        continue;
      }
      d.setStatus(enumify(rec, NameUsageIssue.DISTRIBUTION_INVALID, occurrenceStatusParser, u, DwcTerm.occurrenceStatus));
      d.setEstablishmentMeans(enumify(rec, NameUsageIssue.DISTRIBUTION_INVALID, establishmentMeansParser, u, DwcTerm.establishmentMeans));
      d.setAppendixCites(enumify(rec, NameUsageIssue.DISTRIBUTION_INVALID, citesAppendixParser, u, GbifTerm.appendixCITES));
      d.setThreatStatus(enumify(rec, NameUsageIssue.DISTRIBUTION_INVALID, threatStatusParser, u, IucnTerm.threatStatus));
      d.setLifeStage(enumify(rec, NameUsageIssue.DISTRIBUTION_INVALID, lifeStageParser, u, DwcTerm.lifeStage));
      d.setTemporal(value(rec, DwcTerm.eventDate, DcTerm.temporal));
      d.setEndDayOfYear(integer(rec, NameUsageIssue.DISTRIBUTION_INVALID, u, DwcTerm.endDayOfYear));
      d.setStartDayOfYear(integer(rec, NameUsageIssue.DISTRIBUTION_INVALID, u, DwcTerm.startDayOfYear));
      d.setRemarks(value(rec, DwcTerm.occurrenceRemarks, DwcTerm.taxonRemarks));
      d.setSource(value(rec, DcTerm.source));
      e.distributions.add(d);
    }
  }
}
 
开发者ID:gbif,项目名称:checklistbank,代码行数:28,代码来源:ExtensionInterpreter.java

示例12: testEolMedia

import org.gbif.api.vocabulary.Extension; //导入依赖的package包/类
@Test
public void testEolMedia() throws Exception {
    ExtensionInterpreter interp = new ExtensionInterpreter();
    NameUsage u = new NameUsage();
    VerbatimNameUsage v = new VerbatimNameUsage();

    Map<Term, String> doc1 = Maps.newHashMap();
    doc1.put(DcTerm.type, "http://purl.org/dc/dcmitype/StillImage");
    doc1.put(DcTerm.format, "image/jpeg");
    doc1.put(DcTerm.language, "en");
    doc1.put(DcTerm.identifier, "1013-sp1-Image-1");
    doc1.put(DwcTerm.taxonID, "1013-sp1");
    doc1.put(AcTerm.accessURI, "http://pwt.pensoft.net//showfigure.php?filename=big_4805.jpg");
    doc1.put(AcTerm.furtherInformationURL, "http://dx.doi.org/10.3897/BDJ.1.e1013");

    Map<Term, String> doc2 = Maps.newHashMap();
    doc2.put(DcTerm.type, "http://purl.org/dc/dcmitype/Text");
    doc2.put(DcTerm.format, "text/html");
    doc2.put(DcTerm.language, "en");
    doc2.put(DcTerm.identifier, "1013-sp1-text-3");
    doc2.put(DwcTerm.taxonID, "1013-sp1");
    doc2.put(DcTerm.description, "Eupolybothrus cavernicolus is so far known only from the caves Miljacka");
    doc2.put(DcTerm.title, "Description of the type locality");
    doc2.put(AcTerm.furtherInformationURL, "http://dx.doi.org/10.3897/BDJ.1.e1013");
    doc2.put(XmpRightsTerm.UsageTerms, "http://creativecommons.org/licenses/by/4.0/");

    v.getExtensions().put(Extension.EOL_MEDIA, Lists.newArrayList(doc1, doc2));

    UsageExtensions ext = interp.interpret(u, v);
    assertEquals(1, ext.media.size());
    assertEquals(URI.create("http://pwt.pensoft.net//showfigure.php?filename=big_4805.jpg"), ext.media.get(0).getIdentifier());
    assertEquals(URI.create("http://dx.doi.org/10.3897/BDJ.1.e1013"), ext.media.get(0).getReferences());

    assertEquals(1, ext.descriptions.size());
    assertEquals("Description of the type locality", ext.descriptions.get(0).getType());
    assertEquals("http://creativecommons.org/licenses/by/4.0/", ext.descriptions.get(0).getLicense());
    assertEquals("Eupolybothrus cavernicolus is so far known only from the caves Miljacka", ext.descriptions.get(0).getDescription());
}
 
开发者ID:gbif,项目名称:checklistbank,代码行数:39,代码来源:ExtensionInterpreterTest.java

示例13: getExtensions

import org.gbif.api.vocabulary.Extension; //导入依赖的package包/类
/**
 * A map of extension records, holding all verbatim extension terms.
 */
@NotNull
@JsonSerialize(keyUsing = ExtensionSerializer.class, contentUsing = TermMapListSerializer.class)
@JsonDeserialize(keyUsing = ExtensionKeyDeserializer.class, contentUsing = TermMapListDeserializer.class)
public Map<Extension, List<Map<Term, String>>> getExtensions() {
  return extensions;
}
 
开发者ID:gbif,项目名称:gbif-api,代码行数:10,代码来源:VerbatimNameUsage.java

示例14: getExtensions

import org.gbif.api.vocabulary.Extension; //导入依赖的package包/类
/**
 * A map holding all verbatim extension terms.
 */
@NotNull
@JsonSerialize(keyUsing = ExtensionSerializer.class, contentUsing = TermMapListSerializer.class)
@JsonDeserialize(keyUsing = ExtensionKeyDeserializer.class, contentUsing = TermMapListDeserializer.class)
public Map<Extension, List<Map<Term, String>>> getExtensions() {
  return extensions;
}
 
开发者ID:gbif,项目名称:gbif-api,代码行数:10,代码来源:VerbatimOccurrence.java

示例15: deserialize

import org.gbif.api.vocabulary.Extension; //导入依赖的package包/类
@Override
public Extension deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException {
  if (jp.getCurrentToken() == JsonToken.VALUE_STRING) {
    return Extension.fromRowType(jp.getText());
  }
  throw ctxt.mappingException("Expected JSON String");
}
 
开发者ID:gbif,项目名称:gbif-api,代码行数:8,代码来源:ExtensionDeserializer.java


注:本文中的org.gbif.api.vocabulary.Extension类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。