changed crs type to a string to be able to handle only the allowed types. #19
diff --git a/src/main/java/org/geojson/Crs.java b/src/main/java/org/geojson/Crs.java
index b8fcd69..6c102cd 100644
--- a/src/main/java/org/geojson/Crs.java
+++ b/src/main/java/org/geojson/Crs.java
@@ -1,17 +1,23 @@
package org.geojson;
+import org.geojson.jackson.CrsType;
+
import java.util.HashMap;
import java.util.Map;
public class Crs {
- private String type = "name";
+ private CrsType type = CrsType.name;
private Map<String, Object> properties = new HashMap<String, Object>();
- public String getType() {
+ public CrsType getType() {
return type;
}
+ public void setType(CrsType type) {
+ this.type = type;
+ }
+
public Map<String, Object> getProperties() {
return properties;
}
diff --git a/src/main/java/org/geojson/jackson/CrsType.java b/src/main/java/org/geojson/jackson/CrsType.java
new file mode 100644
index 0000000..2be1b21
--- /dev/null
+++ b/src/main/java/org/geojson/jackson/CrsType.java
@@ -0,0 +1,5 @@
+package org.geojson.jackson;
+
+public enum CrsType {
+ name, link;
+}
diff --git a/src/test/java/org/geojson/jackson/CrsTest.java b/src/test/java/org/geojson/jackson/CrsTest.java
index 627736e..7f9e7f6 100644
--- a/src/test/java/org/geojson/jackson/CrsTest.java
+++ b/src/test/java/org/geojson/jackson/CrsTest.java
@@ -1,11 +1,13 @@
package org.geojson.jackson;
-import static org.junit.Assert.*;
-
+import com.fasterxml.jackson.databind.ObjectMapper;
+import org.geojson.Crs;
import org.geojson.GeoJsonObject;
+import org.geojson.Point;
import org.junit.Test;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
public class CrsTest {
@@ -17,6 +19,16 @@
+ "{ \"href\": \"http://example.com/crs/42\", \"type\": \"proj4\" }},"
+ "\"type\":\"Point\",\"coordinates\":[100.0,5.0]}", GeoJsonObject.class);
assertNotNull(value);
- assertEquals("link", value.getCrs().getType());
+ assertEquals(CrsType.link, value.getCrs().getType());
+ }
+
+ @Test
+ public void itShouldSerializeCrsWithLink() throws Exception {
+ Point point = new Point();
+ Crs crs = new Crs();
+ crs.setType(CrsType.link);
+ point.setCrs(crs);
+ String value = mapper.writeValueAsString(point);
+ assertEquals("{\"type\":\"Point\",\"crs\":{\"type\":\"link\",\"properties\":{}},\"properties\":{}}", value);
}
}