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
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
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
@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
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
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