adapting tests to modified cyprus map request parameter creation
[cdmlib.git] / cdmlib-ext / src / test / java / eu / etaxonomy / cdm / ext / geo / EditGeoServiceTest.java
index ee9c770b537f7e7be2a5317577d22e3d4b21b5ec..265e73497699da490bdf3ea0e019ce9d2fd8bab4 100644 (file)
@@ -15,6 +15,7 @@ import static org.junit.Assert.assertTrue;
 import java.awt.Color;\r
 import java.io.IOException;\r
 import java.io.InputStream;\r
+import java.io.InputStreamReader;\r
 import java.net.HttpURLConnection;\r
 import java.net.MalformedURLException;\r
 import java.net.URI;\r
@@ -36,8 +37,10 @@ import org.junit.Test;
 import org.unitils.spring.annotation.SpringBeanByType;\r
 \r
 import eu.etaxonomy.cdm.api.service.ITermService;\r
+import eu.etaxonomy.cdm.api.service.IVocabularyService;\r
 import eu.etaxonomy.cdm.common.StreamUtils;\r
 import eu.etaxonomy.cdm.common.UriUtils;\r
+import eu.etaxonomy.cdm.model.common.DefinedTermBase;\r
 import eu.etaxonomy.cdm.model.common.Language;\r
 import eu.etaxonomy.cdm.model.common.TermType;\r
 import eu.etaxonomy.cdm.model.common.TermVocabulary;\r
@@ -49,13 +52,13 @@ import eu.etaxonomy.cdm.model.location.NamedArea;
 import eu.etaxonomy.cdm.model.location.NamedAreaLevel;\r
 import eu.etaxonomy.cdm.model.location.NamedAreaType;\r
 import eu.etaxonomy.cdm.persistence.dao.common.IDefinedTermDao;\r
-import eu.etaxonomy.cdm.test.integration.CdmIntegrationTest;\r
+import eu.etaxonomy.cdm.test.integration.CdmTransactionalIntegrationTest;\r
 \r
 /**\r
  * @author a.mueller\r
  * @created 08.10.2008\r
  */\r
-public class EditGeoServiceTest extends CdmIntegrationTest {\r
+public class EditGeoServiceTest extends CdmTransactionalIntegrationTest {\r
     private static final Logger logger = Logger.getLogger(EditGeoServiceTest.class);\r
 \r
     private static final String EDIT_MAPSERVICE_URI_STING = "http://edit.africamuseum.be/edit_wp5/v1.2/rest_gen.php";\r
@@ -67,9 +70,14 @@ public class EditGeoServiceTest extends CdmIntegrationTest {
     @SpringBeanByType\r
     private ITermService termService;\r
 \r
+    @SpringBeanByType\r
+    private IVocabularyService vocabService;\r
+\r
     @SpringBeanByType\r
     private GeoServiceAreaAnnotatedMapping mapping;\r
 \r
+    @SpringBeanByType\r
+    private IEditGeoService editGeoService;\r
 //\r
 //     /**\r
 //      * @throws java.lang.Exception\r
@@ -192,16 +200,19 @@ public class EditGeoServiceTest extends CdmIntegrationTest {
     public static final UUID uuidCyprusDivisionsVocabulary = UUID.fromString("2119f610-1f93-4d87-af28-40aeefaca100");\r
     private final Map<String, NamedArea> divisions = new HashMap<String, NamedArea>();\r
 \r
-    private boolean makeCyprusAreas() {\r
+    private boolean makeCyprusAreas() throws IOException {\r
         //divisions\r
 \r
 \r
         NamedAreaType areaType = NamedAreaType.NATURAL_AREA();\r
         NamedAreaLevel areaLevel = NamedAreaLevel.NewInstance("Cyprus Division", "Cyprus Division", null);\r
 \r
+        termService.saveOrUpdate(areaLevel);\r
+\r
         TermVocabulary<NamedArea> areaVocabulary = TermVocabulary.NewInstance(TermType.NamedArea, "Cyprus devisions", "Cyprus divisions", null, null);\r
         areaVocabulary.setUuid(uuidCyprusDivisionsVocabulary);\r
 \r
+\r
         for(int i = 1; i <= 8; i++){\r
             UUID divisionUuid = getNamedAreaUuid(String.valueOf(i));\r
             NamedArea division = this.newNamedArea(\r
@@ -215,6 +226,24 @@ public class EditGeoServiceTest extends CdmIntegrationTest {
             divisions.put(String.valueOf(i), division);\r
         }\r
 \r
+        vocabService.saveOrUpdate(areaVocabulary);\r
+        commitAndStartNewTransaction(null);\r
+\r
+\r
+        // import and map shapefile attributes from csv\r
+        InputStream is = getClass().getClassLoader().getResourceAsStream("eu/etaxonomy/cdm/ext/geo/cyprusdivs.csv");\r
+        List<String> idSearchFields = new ArrayList<String>();\r
+        idSearchFields.add("bdcode");\r
+        String wmsLayerName = "cyprusdivs";\r
+        editGeoService.mapShapeFileToNamedAreas(new InputStreamReader(is), idSearchFields, wmsLayerName, uuidCyprusDivisionsVocabulary, null);\r
+\r
+        divisions.clear();\r
+        Set<DefinedTermBase> terms = vocabService.load(uuidCyprusDivisionsVocabulary).getTerms();\r
+        for(DefinedTermBase dtb : terms){\r
+            divisions.put(dtb.getIdInVocabulary(), (NamedArea) dtb);\r
+        }\r
+\r
+\r
 //             indigenousStatus = (PresenceTerm)getTermService().find(CyprusTransformer.indigenousUuid);\r
 //             casualStatus = (PresenceTerm)getTermService().find(CyprusTransformer.casualUuid);\r
 //             nonInvasiveStatus = (PresenceTerm)getTermService().find(CyprusTransformer.nonInvasiveUuid);\r