/*
* Copyright (C) 2010-2012 Stichting Akvo (Akvo Foundation)
*
* This file is part of Akvo FLOW.
*
* Akvo FLOW is free software: you can redistribute it and modify it under the terms of
* the GNU Affero General Public License (AGPL) as published by the Free Software Foundation,
* either version 3 of the License or any later version.
*
* Akvo FLOW is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU Affero General Public License included below for more details.
*
* The full license text can also be seen at <http://www.gnu.org/licenses/agpl.html>.
*/
package org.waterforpeople.mapping.helper;
import java.util.ArrayList;
import java.util.UUID;
import java.util.logging.Logger;
import org.waterforpeople.mapping.dao.GeoRegionDAO;
import org.waterforpeople.mapping.domain.GeoRegion;
import com.google.appengine.api.datastore.Key;
public class GeoRegionHelper {
private static final Logger log = Logger.getLogger(GeoRegionHelper.class
.getName());
public ArrayList<GeoRegion> processRegionsSurvey(
ArrayList<String> regionLines) {
ArrayList<GeoRegion> geoRegions = null;
GeoRegionDAO grDAO = new GeoRegionDAO();
int iCurrRegion = 1;
int iCurrRow = 1;
UUID currentUUID = UUID.randomUUID();
MappingSummarizationHelper mappingHelper = new MappingSummarizationHelper();
for (String s : regionLines) {
GeoRegion gr = new GeoRegion();
String[] contents = s.split(",");
Integer iLineRegion = new Integer(contents[0]);
if (iCurrRow == 1) {
iCurrRegion = iLineRegion;
} else if (iCurrRegion != iLineRegion) {
iCurrRegion = iLineRegion;
currentUUID = UUID.randomUUID();
}
mappingHelper.addPointToRegion(currentUUID.toString(), contents[3],
contents[4]);
gr.setUuid(currentUUID.toString());
gr.setOrder(new Long(contents[1]));
gr.setName(contents[2]);
gr.setLatitiude(new Double(contents[3]));
gr.setLongitude(new Double(contents[4]));
// gr.setCreateDateTime(new Date(contents[5]));
Key key = (grDAO.save(gr)).getKey();
iCurrRow++;
log.info("Saved RegionRow: " + key.toString());
}
mappingHelper.saveRegions();
return geoRegions;
}
}