Skip to content

Commit

Permalink
Merge pull request #256 from Tpt/geoShape
Browse files Browse the repository at this point in the history
Adds geo-shape datatype support
  • Loading branch information
Tpt committed Jul 3, 2017
2 parents db80dea + 3a4df8b commit c956bdd
Show file tree
Hide file tree
Showing 4 changed files with 28 additions and 46 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -73,5 +73,9 @@ public interface DatatypeIdValue extends IriIdentifiedValue {
* IRI of the math datatype in Wikibase.
*/
String DT_MATH = "http://wikiba.se/ontology#Math";
/**
* IRI of the geo shape datatype in Wikibase.
*/
String DT_GEO_SHAPE = "http://wikiba.se/ontology#GeoShape";

}
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,11 @@ public class JacksonDatatypeId implements DatatypeIdValue {
* {@link DatatypeIdValue#DT_MATH} in JSON.
*/
public static final String JSON_DT_MATH = "math";
/**
* String used to refer to the property datatype
* {@link DatatypeIdValue#DT_GEO_SHAPE} in JSON.
*/
public static final String JSON_DT_GEO_SHAPE = "geo-shape";

/**
* Datatype IRI as used in Wikidata Toolkit.
Expand Down Expand Up @@ -129,6 +134,8 @@ public static String getDatatypeIriFromJsonDatatype(String jsonDatatype) {
return DT_EXTERNAL_ID;
case JSON_DT_MATH:
return DT_MATH;
case JSON_DT_GEO_SHAPE:
return DT_GEO_SHAPE;
default:
throw new IllegalArgumentException("Unknown JSON datatype \""
+ jsonDatatype + "\"");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,52 +20,13 @@
* #L%
*/

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.wikidata.wdtk.datamodel.helpers.Datamodel;
import org.wikidata.wdtk.datamodel.helpers.DatamodelConverter;
import org.wikidata.wdtk.datamodel.interfaces.Claim;
import org.wikidata.wdtk.datamodel.interfaces.DataObjectFactory;
import org.wikidata.wdtk.datamodel.interfaces.DatatypeIdValue;
import org.wikidata.wdtk.datamodel.interfaces.EntityIdValue;
import org.wikidata.wdtk.datamodel.interfaces.GlobeCoordinatesValue;
import org.wikidata.wdtk.datamodel.interfaces.ItemDocument;
import org.wikidata.wdtk.datamodel.interfaces.ItemIdValue;
import org.wikidata.wdtk.datamodel.interfaces.MonolingualTextValue;
import org.wikidata.wdtk.datamodel.interfaces.NoValueSnak;
import org.wikidata.wdtk.datamodel.interfaces.PropertyDocument;
import org.wikidata.wdtk.datamodel.interfaces.PropertyIdValue;
import org.wikidata.wdtk.datamodel.interfaces.QuantityValue;
import org.wikidata.wdtk.datamodel.interfaces.Reference;
import org.wikidata.wdtk.datamodel.interfaces.SiteLink;
import org.wikidata.wdtk.datamodel.interfaces.Snak;
import org.wikidata.wdtk.datamodel.interfaces.SnakGroup;
import org.wikidata.wdtk.datamodel.interfaces.SomeValueSnak;
import org.wikidata.wdtk.datamodel.interfaces.Statement;
import org.wikidata.wdtk.datamodel.interfaces.StatementGroup;
import org.wikidata.wdtk.datamodel.interfaces.StatementRank;
import org.wikidata.wdtk.datamodel.interfaces.StringValue;
import org.wikidata.wdtk.datamodel.interfaces.TimeValue;
import org.wikidata.wdtk.datamodel.interfaces.Value;
import org.wikidata.wdtk.datamodel.interfaces.ValueSnak;
import org.wikidata.wdtk.datamodel.json.jackson.datavalues.JacksonInnerEntityId;
import org.wikidata.wdtk.datamodel.json.jackson.datavalues.JacksonInnerGlobeCoordinates;
import org.wikidata.wdtk.datamodel.json.jackson.datavalues.JacksonInnerMonolingualText;
import org.wikidata.wdtk.datamodel.json.jackson.datavalues.JacksonInnerQuantity;
import org.wikidata.wdtk.datamodel.json.jackson.datavalues.JacksonInnerTime;
import org.wikidata.wdtk.datamodel.json.jackson.datavalues.JacksonValue;
import org.wikidata.wdtk.datamodel.json.jackson.datavalues.JacksonValueGlobeCoordinates;
import org.wikidata.wdtk.datamodel.json.jackson.datavalues.JacksonValueItemId;
import org.wikidata.wdtk.datamodel.json.jackson.datavalues.JacksonValueMonolingualText;
import org.wikidata.wdtk.datamodel.json.jackson.datavalues.JacksonValuePropertyId;
import org.wikidata.wdtk.datamodel.json.jackson.datavalues.JacksonValueQuantity;
import org.wikidata.wdtk.datamodel.json.jackson.datavalues.JacksonValueString;
import org.wikidata.wdtk.datamodel.json.jackson.datavalues.JacksonValueTime;
import org.wikidata.wdtk.datamodel.interfaces.*;
import org.wikidata.wdtk.datamodel.json.jackson.datavalues.*;

import java.math.BigDecimal;
import java.util.*;

/**
* Factory implementation to create Jackson versions of the datamodel objects,
Expand Down Expand Up @@ -393,6 +354,9 @@ public PropertyDocument getPropertyDocument(PropertyIdValue propertyId,
case DatatypeIdValue.DT_MATH:
result.setJsonDatatype(JacksonDatatypeId.JSON_DT_MATH);
break;
case DatatypeIdValue.DT_GEO_SHAPE:
result.setJsonDatatype(JacksonDatatypeId.JSON_DT_GEO_SHAPE);
break;
default:
throw new IllegalArgumentException("Unknown datatype: "
+ datatypeId.getIri());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,11 @@
* #L%
*/

import static org.junit.Assert.assertEquals;

import org.junit.Test;
import org.wikidata.wdtk.datamodel.interfaces.DatatypeIdValue;

import static org.junit.Assert.assertEquals;

public class TestDatatypeId extends JsonTestData {

@Test
Expand Down Expand Up @@ -90,6 +90,13 @@ public void testIriForMath() {
assertEquals(uut.getIri(), DatatypeIdValue.DT_MATH);
}

@Test
public void testIriForGeoShape() {
JacksonDatatypeId uut = new JacksonDatatypeId(
JacksonDatatypeId.JSON_DT_GEO_SHAPE);
assertEquals(uut.getIri(), DatatypeIdValue.DT_GEO_SHAPE);
}

@Test
public void testIriForUrl() {
JacksonDatatypeId uut = new JacksonDatatypeId(
Expand Down

0 comments on commit c956bdd

Please sign in to comment.