dhis2-devs team mailing list archive
-
dhis2-devs team
-
Mailing list archive
-
Message #26260
[Branch ~dhis2-devs-core/dhis2/trunk] Rev 13009: Add longitude, latitude properties into ProgramStageInstance object, remove coordinate property o...
------------------------------------------------------------
revno: 13009
committer: Tran Chau <tran.hispvietnam@xxxxxxxxx>
branch nick: dhis2
timestamp: Mon 2013-11-25 13:30:47 +0700
message:
Add longitude, latitude properties into ProgramStageInstance object, remove coordinate property of it.
modified:
dhis-2/dhis-api/src/main/java/org/hisp/dhis/program/ProgramStageInstance.java
dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/events/event/AbstractEventService.java
dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/patient/startup/TableAlteror.java
dhis-2/dhis-services/dhis-service-patient/src/main/resources/org/hisp/dhis/program/hibernate/ProgramStageInstance.hbm.xml
dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/caseentry/GetProgramStageInstanceAction.java
dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/caseentry/LoadDataEntryAction.java
dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/caseentry/SaveCoordinatesEventAction.java
dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/caseentry/UploadAnonymousEventAction.java
--
lp:dhis2
https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk
Your team DHIS 2 developers is subscribed to branch lp:dhis2.
To unsubscribe from this branch go to https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk/+edit-subscription
=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/program/ProgramStageInstance.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/program/ProgramStageInstance.java 2013-10-16 17:00:52 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/program/ProgramStageInstance.java 2013-11-25 06:30:47 +0000
@@ -81,7 +81,9 @@
private Integer status = ACTIVE_STATUS;
- private String coordinates;
+ private Double longitude;
+
+ private Double latitude;
private String completedUser;
@@ -292,16 +294,6 @@
this.status = status;
}
- public String getCoordinates()
- {
- return coordinates;
- }
-
- public void setCoordinates( String coordinates )
- {
- this.coordinates = coordinates;
- }
-
public List<MessageConversation> getMessageConversations()
{
return messageConversations;
@@ -312,6 +304,26 @@
this.messageConversations = messageConversations;
}
+ public Double getLongitude()
+ {
+ return longitude;
+ }
+
+ public void setLongitude( Double longitude )
+ {
+ this.longitude = longitude;
+ }
+
+ public Double getLatitude()
+ {
+ return latitude;
+ }
+
+ public void setLatitude( Double latitude )
+ {
+ this.latitude = latitude;
+ }
+
public Integer getEventStatus()
{
if ( this.status != 0 )
=== modified file 'dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/events/event/AbstractEventService.java'
--- dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/events/event/AbstractEventService.java 2013-11-19 10:02:44 +0000
+++ dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/events/event/AbstractEventService.java 2013-11-25 06:30:47 +0000
@@ -72,7 +72,8 @@
/**
* @author Morten Olav Hansen <mortenoh@xxxxxxxxx>
*/
-public abstract class AbstractEventService implements EventService
+public abstract class AbstractEventService
+ implements EventService
{
// -------------------------------------------------------------------------
// Dependencies
@@ -170,7 +171,8 @@
if ( programStage == null && !program.isSingleEvent() )
{
- return new ImportSummary( ImportStatus.ERROR, "Event.programStage does not point to a valid programStage, and program is multi stage" );
+ return new ImportSummary( ImportStatus.ERROR,
+ "Event.programStage does not point to a valid programStage, and program is multi stage" );
}
else if ( programStage == null )
{
@@ -182,14 +184,16 @@
if ( verifyProgramAccess( program ) )
{
- return new ImportSummary( ImportStatus.ERROR, "Current user does not have permission to access this program." );
+ return new ImportSummary( ImportStatus.ERROR,
+ "Current user does not have permission to access this program." );
}
if ( program.isRegistration() )
{
if ( event.getPerson() == null )
{
- return new ImportSummary( ImportStatus.ERROR, "No Event.person was provided for registration based program." );
+ return new ImportSummary( ImportStatus.ERROR,
+ "No Event.person was provided for registration based program." );
}
Patient patient = patientService.getPatient( event.getPerson() );
@@ -204,13 +208,14 @@
if ( programInstances.isEmpty() )
{
- return new ImportSummary( ImportStatus.ERROR, "Person " + patient.getUid() + " is not enrolled in program " + program.getUid() );
+ return new ImportSummary( ImportStatus.ERROR, "Person " + patient.getUid()
+ + " is not enrolled in program " + program.getUid() );
}
else if ( programInstances.size() > 1 )
{
- return new ImportSummary( ImportStatus.ERROR,
- "Person " + patient.getUid() + " have multiple active enrollments into program " + program.getUid()
- + " please check and correct your database." );
+ return new ImportSummary( ImportStatus.ERROR, "Person " + patient.getUid()
+ + " have multiple active enrollments into program " + program.getUid()
+ + " please check and correct your database." );
}
programInstance = programInstances.get( 0 );
@@ -222,13 +227,14 @@
if ( programStageInstances.isEmpty() )
{
- return new ImportSummary( ImportStatus.ERROR, "Person " + patient.getUid() + " is not enrolled in programStage " + programStage.getUid() );
+ return new ImportSummary( ImportStatus.ERROR, "Person " + patient.getUid()
+ + " is not enrolled in programStage " + programStage.getUid() );
}
else if ( programStageInstances.size() > 1 )
{
- return new ImportSummary( ImportStatus.ERROR,
- "Person " + patient.getUid() + " have multiple active enrollments into programStage " + programStage.getUid()
- + " please check and correct your database for multiple active stages." );
+ return new ImportSummary( ImportStatus.ERROR, "Person " + patient.getUid()
+ + " have multiple active enrollments into programStage " + programStage.getUid()
+ + " please check and correct your database for multiple active stages." );
}
programStageInstance = programStageInstances.get( 0 );
@@ -237,7 +243,8 @@
{
if ( !programStage.getIrregular() )
{
- programStageInstance = programStageInstanceService.getProgramStageInstance( programInstance, programStage );
+ programStageInstance = programStageInstanceService.getProgramStageInstance( programInstance,
+ programStage );
}
else
@@ -261,13 +268,15 @@
if ( programInstances.isEmpty() )
{
- return new ImportSummary( ImportStatus.ERROR, "No active event exists for single event no registration program " + program.getUid()
- + ", please check and correct your database." );
+ return new ImportSummary( ImportStatus.ERROR,
+ "No active event exists for single event no registration program " + program.getUid()
+ + ", please check and correct your database." );
}
else if ( programInstances.size() > 1 )
{
- return new ImportSummary( ImportStatus.ERROR, "Multiple active events exists for single event no registration program " + program.getUid()
- + ", please check and correct your database." );
+ return new ImportSummary( ImportStatus.ERROR,
+ "Multiple active events exists for single event no registration program " + program.getUid()
+ + ", please check and correct your database." );
}
programInstance = programInstances.get( 0 );
@@ -286,7 +295,8 @@
return new ImportSummary( ImportStatus.ERROR, "Program is not assigned to this organisation unit." );
}
- return saveEvent( program, programInstance, programStage, programStageInstance, organisationUnit, event, importOptions );
+ return saveEvent( program, programInstance, programStage, programStageInstance, organisationUnit, event,
+ importOptions );
}
// -------------------------------------------------------------------------
@@ -314,7 +324,8 @@
}
@Override
- public Events getEvents( Program program, OrganisationUnit organisationUnit, Person person, Date startDate, Date endDate )
+ public Events getEvents( Program program, OrganisationUnit organisationUnit, Person person, Date startDate,
+ Date endDate )
{
List<Event> eventList = eventStore.getAll( program, organisationUnit, person, startDate, endDate );
Events events = new Events();
@@ -344,7 +355,8 @@
}
@Override
- public Events getEvents( ProgramStage programStage, OrganisationUnit organisationUnit, Person person, Date startDate, Date endDate )
+ public Events getEvents( ProgramStage programStage, OrganisationUnit organisationUnit, Person person,
+ Date startDate, Date endDate )
{
List<Event> eventList = eventStore.getAll( programStage, organisationUnit, person, startDate, endDate );
Events events = new Events();
@@ -364,7 +376,8 @@
}
@Override
- public Events getEvents( Program program, ProgramStage programStage, OrganisationUnit organisationUnit, Person person )
+ public Events getEvents( Program program, ProgramStage programStage, OrganisationUnit organisationUnit,
+ Person person )
{
List<Event> eventList = eventStore.getAll( program, programStage, organisationUnit, person );
Events events = new Events();
@@ -374,7 +387,8 @@
}
@Override
- public Events getEvents( Program program, ProgramStage programStage, OrganisationUnit organisationUnit, Date startDate, Date endDate )
+ public Events getEvents( Program program, ProgramStage programStage, OrganisationUnit organisationUnit,
+ Date startDate, Date endDate )
{
List<Event> eventList = eventStore.getAll( program, programStage, organisationUnit, startDate, endDate );
Events events = new Events();
@@ -384,7 +398,8 @@
}
@Override
- public Events getEvents( Program program, ProgramStage programStage, OrganisationUnit organisationUnit, Person person, Date startDate, Date endDate )
+ public Events getEvents( Program program, ProgramStage programStage, OrganisationUnit organisationUnit,
+ Person person, Date startDate, Date endDate )
{
List<Event> eventList = eventStore.getAll( program, programStage, organisationUnit, person, startDate, endDate );
Events events = new Events();
@@ -394,7 +409,8 @@
}
@Override
- public Events getEvents( List<Program> programs, List<ProgramStage> programStages, List<OrganisationUnit> organisationUnits, Date startDate, Date endDate )
+ public Events getEvents( List<Program> programs, List<ProgramStage> programStages,
+ List<OrganisationUnit> organisationUnits, Date startDate, Date endDate )
{
List<Event> eventList = eventStore.getAll( programs, programStages, organisationUnits, startDate, endDate );
Events events = new Events();
@@ -423,7 +439,8 @@
@Override
public void updateEvent( Event event )
{
- ProgramStageInstance programStageInstance = programStageInstanceService.getProgramStageInstance( event.getEvent() );
+ ProgramStageInstance programStageInstance = programStageInstanceService.getProgramStageInstance( event
+ .getEvent() );
if ( programStageInstance == null )
{
@@ -452,13 +469,15 @@
programStageInstanceService.updateProgramStageInstance( programStageInstance );
- Set<PatientDataValue> patientDataValues = new HashSet<PatientDataValue>( patientDataValueService.getPatientDataValues( programStageInstance ) );
+ Set<PatientDataValue> patientDataValues = new HashSet<PatientDataValue>(
+ patientDataValueService.getPatientDataValues( programStageInstance ) );
for ( DataValue value : event.getDataValues() )
{
DataElement dataElement = dataElementService.getDataElement( value.getDataElement() );
- PatientDataValue patientDataValue = patientDataValueService.getPatientDataValue( programStageInstance, dataElement );
+ PatientDataValue patientDataValue = patientDataValueService.getPatientDataValue( programStageInstance,
+ dataElement );
if ( patientDataValue != null )
{
@@ -470,7 +489,8 @@
}
else
{
- saveDataValue( programStageInstance, event.getStoredBy(), dataElement, value.getValue(), value.getProvidedElsewhere() );
+ saveDataValue( programStageInstance, event.getStoredBy(), dataElement, value.getValue(),
+ value.getProvidedElsewhere() );
}
}
@@ -487,7 +507,8 @@
@Override
public void deleteEvent( Event event )
{
- ProgramStageInstance programStageInstance = programStageInstanceService.getProgramStageInstance( event.getEvent() );
+ ProgramStageInstance programStageInstance = programStageInstanceService.getProgramStageInstance( event
+ .getEvent() );
if ( programStageInstance != null )
{
@@ -518,13 +539,14 @@
if ( programStageInstance.getProgramStage().getCaptureCoordinates() )
{
- Coordinate coordinate = new Coordinate();
+ Coordinate coordinate = null;
+ if ( programStageInstance.getLongitude() != null && programStageInstance.getLongitude() != null )
+ {
+ coordinate = new Coordinate( programStageInstance.getLongitude(), programStageInstance.getLatitude() );
- if ( programStageInstance.getCoordinates() != null )
- {
try
{
- List<Double> list = objectMapper.readValue( programStageInstance.getCoordinates(), new TypeReference<List<Double>>()
+ List<Double> list = objectMapper.readValue( coordinate.getCoordinateString(), new TypeReference<List<Double>>()
{
} );
@@ -542,7 +564,8 @@
}
}
- Collection<PatientDataValue> patientDataValues = patientDataValueService.getPatientDataValues( programStageInstance );
+ Collection<PatientDataValue> patientDataValues = patientDataValueService
+ .getPatientDataValues( programStageInstance );
for ( PatientDataValue patientDataValue : patientDataValues )
{
@@ -589,7 +612,8 @@
private boolean validateDataElement( DataElement dataElement, String value, ImportSummary importSummary )
{
- InputValidationService.Status status = inputValidationService.validateDataElement( dataElement, value, getFormat() );
+ InputValidationService.Status status = inputValidationService.validateDataElement( dataElement, value,
+ getFormat() );
if ( !status.isSuccess() )
{
@@ -613,21 +637,25 @@
{
if ( importSummary != null )
{
- importSummary.getConflicts().add( new ImportConflict( "storedBy", storedBy + " is more than 31 characters, using current username instead." ) );
+ importSummary.getConflicts().add(
+ new ImportConflict( "storedBy", storedBy
+ + " is more than 31 characters, using current username instead." ) );
}
storedBy = currentUserService.getCurrentUsername();
}
return storedBy;
}
- private void saveDataValue( ProgramStageInstance programStageInstance, String storedBy, DataElement dataElement, String value, Boolean providedElsewhere )
+ private void saveDataValue( ProgramStageInstance programStageInstance, String storedBy, DataElement dataElement,
+ String value, Boolean providedElsewhere )
{
if ( value != null && value.trim().length() == 0 )
{
value = null;
}
- PatientDataValue patientDataValue = patientDataValueService.getPatientDataValue( programStageInstance, dataElement );
+ PatientDataValue patientDataValue = patientDataValueService.getPatientDataValue( programStageInstance,
+ dataElement );
if ( value != null )
{
@@ -655,17 +683,21 @@
}
}
- private ProgramStageInstance createProgramStageInstance( ProgramStage programStage, ProgramInstance programInstance, OrganisationUnit organisationUnit, Date date, Boolean completed,
+ private ProgramStageInstance createProgramStageInstance( ProgramStage programStage,
+ ProgramInstance programInstance, OrganisationUnit organisationUnit, Date date, Boolean completed,
Coordinate coordinate, String storedBy )
{
ProgramStageInstance programStageInstance = new ProgramStageInstance();
- updateProgramStageInstance( programStage, programInstance, organisationUnit, date, completed, coordinate, storedBy, programStageInstance );
+ updateProgramStageInstance( programStage, programInstance, organisationUnit, date, completed, coordinate,
+ storedBy, programStageInstance );
programStageInstanceService.addProgramStageInstance( programStageInstance );
return programStageInstance;
}
- private void updateProgramStageInstance( ProgramStage programStage, ProgramInstance programInstance, OrganisationUnit organisationUnit, Date date, Boolean completed, Coordinate coordinate, String storedBy, ProgramStageInstance programStageInstance )
+ private void updateProgramStageInstance( ProgramStage programStage, ProgramInstance programInstance,
+ OrganisationUnit organisationUnit, Date date, Boolean completed, Coordinate coordinate, String storedBy,
+ ProgramStageInstance programStageInstance )
{
programStageInstance.setProgramInstance( programInstance );
programStageInstance.setProgramStage( programStage );
@@ -677,11 +709,8 @@
{
if ( coordinate.isValid() )
{
- programStageInstance.setCoordinates( coordinate.getCoordinateString() );
- }
- else
- {
- programStageInstance.setCoordinates( null );
+ programStageInstance.setLongitude( coordinate.getLongitude() );
+ programStageInstance.setLatitude( coordinate.getLatitude() );
}
}
@@ -696,7 +725,9 @@
}
}
- private ImportSummary saveEvent( Program program, ProgramInstance programInstance, ProgramStage programStage, ProgramStageInstance programStageInstance, OrganisationUnit organisationUnit, Event event, ImportOptions importOptions )
+ private ImportSummary saveEvent( Program program, ProgramInstance programInstance, ProgramStage programStage,
+ ProgramStageInstance programStageInstance, OrganisationUnit organisationUnit, Event event,
+ ImportOptions importOptions )
{
Assert.notNull( program );
Assert.notNull( programInstance );
@@ -719,13 +750,14 @@
{
if ( programStageInstance == null )
{
- programStageInstance = createProgramStageInstance( programStage, programInstance, organisationUnit, eventDate,
- EventStatus.COMPLETED.equals( event.getStatus() ), event.getCoordinate(), storedBy );
+ programStageInstance = createProgramStageInstance( programStage, programInstance, organisationUnit,
+ eventDate, EventStatus.COMPLETED.equals( event.getStatus() ), event.getCoordinate(), storedBy );
}
else
{
updateProgramStageInstance( programStage, programInstance, organisationUnit, eventDate,
- EventStatus.COMPLETED.equals( event.getStatus() ), event.getCoordinate(), storedBy, programStageInstance );
+ EventStatus.COMPLETED.equals( event.getStatus() ), event.getCoordinate(), storedBy,
+ programStageInstance );
}
importSummary.setReference( programStageInstance.getUid() );
@@ -737,7 +769,8 @@
if ( dataElement == null )
{
- importSummary.getConflicts().add( new ImportConflict( "dataElement", dataValue.getDataElement() + " is not a valid dataElementId." ) );
+ importSummary.getConflicts().add(
+ new ImportConflict( "dataElement", dataValue.getDataElement() + " is not a valid dataElementId." ) );
importSummary.getDataValueCount().incrementIgnored();
}
else
@@ -748,7 +781,8 @@
if ( !dryRun )
{
- saveDataValue( programStageInstance, dataValueStoredBy, dataElement, dataValue.getValue(), dataValue.getProvidedElsewhere() );
+ saveDataValue( programStageInstance, dataValueStoredBy, dataElement, dataValue.getValue(),
+ dataValue.getProvidedElsewhere() );
}
importSummary.getDataValueCount().incrementImported();
=== modified file 'dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/patient/startup/TableAlteror.java'
--- dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/patient/startup/TableAlteror.java 2013-10-16 17:29:40 +0000
+++ dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/patient/startup/TableAlteror.java 2013-11-25 06:30:47 +0000
@@ -46,6 +46,7 @@
import org.hisp.dhis.program.ProgramStage;
import org.hisp.dhis.program.ProgramStageService;
import org.hisp.dhis.system.startup.AbstractStartupRoutine;
+import org.hisp.dhis.system.util.ValidationUtils;
import org.springframework.transaction.annotation.Transactional;
/**
@@ -248,9 +249,9 @@
executeSql( "update patientidentifiertype set orgunitScope=false where orgunitScope is null" );
executeSql( "update patientidentifiertype set programScope=false where programScope is null" );
-
+
executeSql( "update programstageinstance set status=0 where status is null" );
- executeSql( "ALTER TABLE patienttabularreport RENAME level TO ouMode" );
+ executeSql( "ALTER TABLE patienttabularreport RENAME level TO ouMode" );
executeSql( "ALTER TABLE program DROP COLUMN facilityLB" );
executeSql( "DROP TABLE patienttabularreport_attributes" );
executeSql( "DROP TABLE patienttabularreport_filtervalues" );
@@ -265,10 +266,12 @@
executeSql( "DROP TABLE patientaggregatereport_organisationunits" );
executeSql( "DROP TABLE patientaggregatereport_relativeperiods" );
executeSql( "DROP TABLE patientaggregatereport_startdates" );
- executeSql( "ALTER TABLE patientaggregatereport RENAME level TO ouMode" );
+ executeSql( "ALTER TABLE patientaggregatereport RENAME level TO ouMode" );
executeSql( "ALTER TABLE patientaggregatereport DROP COLUMN facilityLB" );
executeSql( "update programstage_dataelements set allowDateInFuture=false where allowDateInFuture is null" );
executeSql( "update programstage set autoGenerateEvent=true where programid in ( select programid from program where type=2 )" );
+
+ updateCoordinatesProgramStageInstance();
}
// -------------------------------------------------------------------------
@@ -403,6 +406,38 @@
executeSql( "ALTER TABLE programinstance DROP COLUMN completed" );
}
+ private void updateCoordinatesProgramStageInstance()
+ {
+ StatementHolder holder = statementManager.getHolder();
+
+ try
+ {
+ Statement statement = holder.getStatement();
+
+ ResultSet resultSet = statement
+ .executeQuery( "SELECT programstageinstanceid, coordinates FROM programstageinstance where coordinates is not null" );
+
+ while ( resultSet.next() )
+ {
+ String coordinates = resultSet.getString( "coordinates" );
+ String longitude = ValidationUtils.getLongitude( coordinates );
+ String latitude = ValidationUtils.getLatitude( coordinates );
+ executeSql( "UPDATE programstageinstance SET longitude='" + longitude + "', latitude='" + latitude
+ + "' WHERE programstageinstanceid=" + resultSet.getInt( "programstageinstanceid" ) );
+ }
+
+ executeSql( "ALTER TABLE programstageinstance DROP COLUMN coordinates" );
+ }
+ catch ( Exception ex )
+ {
+ log.debug( ex );
+ }
+ finally
+ {
+ holder.close();
+ }
+ }
+
private int executeSql( String sql )
{
try
=== modified file 'dhis-2/dhis-services/dhis-service-patient/src/main/resources/org/hisp/dhis/program/hibernate/ProgramStageInstance.hbm.xml'
--- dhis-2/dhis-services/dhis-service-patient/src/main/resources/org/hisp/dhis/program/hibernate/ProgramStageInstance.hbm.xml 2013-10-30 16:09:53 +0000
+++ dhis-2/dhis-services/dhis-service-patient/src/main/resources/org/hisp/dhis/program/hibernate/ProgramStageInstance.hbm.xml 2013-11-25 06:30:47 +0000
@@ -50,8 +50,10 @@
<property name="status" column="status" />
- <property name="coordinates" />
+ <property name="longitude" />
+ <property name="latitude" />
+
<property name="completedUser" />
<property name="completedDate" />
=== modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/caseentry/GetProgramStageInstanceAction.java'
--- dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/caseentry/GetProgramStageInstanceAction.java 2013-08-23 16:05:01 +0000
+++ dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/caseentry/GetProgramStageInstanceAction.java 2013-11-25 06:30:47 +0000
@@ -28,22 +28,23 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-import com.opensymphony.xwork2.Action;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Map;
+
import org.hisp.dhis.patientdatavalue.PatientDataValue;
import org.hisp.dhis.patientdatavalue.PatientDataValueService;
import org.hisp.dhis.program.ProgramStageInstance;
import org.hisp.dhis.program.ProgramStageInstanceService;
-import org.hisp.dhis.system.util.ValidationUtils;
import org.hisp.dhis.user.CurrentUserService;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Map;
+import com.opensymphony.xwork2.Action;
/**
* @author Morten Olav Hansen <mortenoh@xxxxxxxxx>
*/
-public class GetProgramStageInstanceAction implements Action
+public class GetProgramStageInstanceAction
+ implements Action
{
// -------------------------------------------------------------------------
@@ -89,16 +90,16 @@
return programStageInstance;
}
- private String latitude;
+ private Double latitude;
- public String getLatitude()
+ public Double getLatitude()
{
return latitude;
}
- private String longitude;
+ private Double longitude;
- public String getLongitude()
+ public Double getLongitude()
{
return longitude;
}
@@ -122,7 +123,8 @@
// -------------------------------------------------------------------------
@Override
- public String execute() throws Exception
+ public String execute()
+ throws Exception
{
if ( programStageInstanceId == null )
{
@@ -138,6 +140,10 @@
return SUCCESS;
}
+ // -------------------------------------------------------------------------
+ // Supportive methods
+ // -------------------------------------------------------------------------
+
private void populateCurrentUsername()
{
currentUsername = currentUserService.getCurrentUsername();
@@ -148,8 +154,8 @@
if ( programStageInstance != null && programStageInstance.getProgramStage() != null
&& programStageInstance.getProgramStage().getCaptureCoordinates() )
{
- longitude = ValidationUtils.getLongitude( programStageInstance.getCoordinates() );
- latitude = ValidationUtils.getLatitude( programStageInstance.getCoordinates() );
+ longitude = programStageInstance.getLongitude();
+ latitude = programStageInstance.getLatitude();
}
}
@@ -166,4 +172,3 @@
}
}
}
-
=== modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/caseentry/LoadDataEntryAction.java'
--- dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/caseentry/LoadDataEntryAction.java 2013-11-19 06:51:39 +0000
+++ dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/caseentry/LoadDataEntryAction.java 2013-11-25 06:30:47 +0000
@@ -55,7 +55,6 @@
import org.hisp.dhis.program.ProgramStageService;
import org.hisp.dhis.program.comparator.ProgramStageDataElementSortOrderComparator;
import org.hisp.dhis.program.comparator.ProgramStageSectionSortOrderComparator;
-import org.hisp.dhis.system.util.ValidationUtils;
import com.opensymphony.xwork2.Action;
@@ -241,16 +240,16 @@
return calAttributeValueMap;
}
- private String longitude;
+ private Double longitude;
- public String getLongitude()
+ public Double getLongitude()
{
return longitude;
}
- private String latitude;
+ private Double latitude;
- public String getLatitude()
+ public Double getLatitude()
{
return latitude;
}
@@ -357,8 +356,8 @@
// Allow update only if org unit does not have polygon coordinates
// -----------------------------------------------------------------
- longitude = ValidationUtils.getLongitude( programStageInstance.getCoordinates() );
- latitude = ValidationUtils.getLatitude( programStageInstance.getCoordinates() );
+ longitude = programStageInstance.getLongitude();
+ latitude = programStageInstance.getLatitude();
}
return SUCCESS;
=== modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/caseentry/SaveCoordinatesEventAction.java'
--- dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/caseentry/SaveCoordinatesEventAction.java 2013-08-23 16:05:01 +0000
+++ dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/caseentry/SaveCoordinatesEventAction.java 2013-11-25 06:30:47 +0000
@@ -30,7 +30,6 @@
import org.hisp.dhis.program.ProgramStageInstance;
import org.hisp.dhis.program.ProgramStageInstanceService;
-import org.hisp.dhis.system.util.ValidationUtils;
import com.opensymphony.xwork2.Action;
@@ -64,16 +63,16 @@
this.programStageInstanceId = programStageInstanceId;
}
- private String longitude;
+ private Double longitude;
- public void setLongitude( String longitude )
+ public void setLongitude( Double longitude )
{
this.longitude = longitude;
}
- private String latitude;
+ private Double latitude;
- public void setLatitude( String latitude )
+ public void setLatitude( Double latitude )
{
this.latitude = latitude;
}
@@ -85,9 +84,6 @@
public String execute()
throws Exception
{
- longitude = (longitude == null || longitude.isEmpty() ) ? null : longitude;
- latitude = (latitude == null || latitude.isEmpty() ) ? null : latitude;
-
// ---------------------------------------------------------------------
// Set coordinates and feature type to point if valid
// ---------------------------------------------------------------------
@@ -97,20 +93,12 @@
if ( longitude != null && latitude != null )
{
- String coordinates = ValidationUtils.getCoordinate( longitude, latitude );
-
- if ( ValidationUtils.coordinateIsValid( coordinates ) )
- {
- programStageInstance.setCoordinates( coordinates );
- }
- }
- else
- {
- programStageInstance.setCoordinates( null );
+ programStageInstance.setLongitude( longitude );
+ programStageInstance.setLatitude( latitude );
}
programStageInstanceService.updateProgramStageInstance( programStageInstance );
-
+
return SUCCESS;
}
}
=== modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/caseentry/UploadAnonymousEventAction.java'
--- dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/caseentry/UploadAnonymousEventAction.java 2013-09-17 12:15:39 +0000
+++ dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/caseentry/UploadAnonymousEventAction.java 2013-11-25 06:30:47 +0000
@@ -58,7 +58,8 @@
/**
* @author Morten Olav Hansen <mortenoh@xxxxxxxxx>
*/
-public class UploadAnonymousEventAction implements Action
+public class UploadAnonymousEventAction
+ implements Action
{
// -------------------------------------------------------------------------
// Dependencies
@@ -108,14 +109,16 @@
// -------------------------------------------------------------------------
@Override
- @SuppressWarnings("unchecked")
- public String execute() throws Exception
+ @SuppressWarnings( "unchecked" )
+ public String execute()
+ throws Exception
{
ServletInputStream inputStream = ServletActionContext.getRequest().getInputStream();
- Map<String, Object> input = JacksonUtils.getJsonMapper().readValue( inputStream, new TypeReference<HashMap<String, Object>>()
- {
- } );
+ Map<String, Object> input = JacksonUtils.getJsonMapper().readValue( inputStream,
+ new TypeReference<HashMap<String, Object>>()
+ {
+ } );
Map<String, Object> executionDate = (Map<String, Object>) input.get( "executionDate" );
@@ -136,17 +139,16 @@
{
}
- Coordinate coordinate = null;
+ Double longitude = null;
+ Double latitude = null;
Map<String, String> coord = (Map<String, String>) input.get( "coordinate" );
if ( coord != null )
{
try
{
- double lng = Double.parseDouble( coord.get( "longitude" ) );
- double lat = Double.parseDouble( coord.get( "latitude" ) );
-
- coordinate = new Coordinate( lng, lat );
+ longitude = Double.parseDouble( coord.get( "longitude" ) );
+ latitude = Double.parseDouble( coord.get( "latitude" ) );
}
catch ( NullPointerException ignored )
{
@@ -171,7 +173,7 @@
if ( programStageInstanceId != null )
{
programStageInstance = programStageInstanceService.getProgramStageInstance( programStageInstanceId );
- updateExecutionDate( programStageInstance, date, completed, coordinate );
+ updateExecutionDate( programStageInstance, date, completed, longitude, latitude );
}
else
{
@@ -191,7 +193,7 @@
return INPUT;
}
- programStageInstance = saveExecutionDate( programId, organisationUnitId, date, completed, coordinate );
+ programStageInstance = saveExecutionDate( programId, organisationUnitId, date, completed, longitude, latitude );
}
Map<String, Object> values = (Map<String, Object>) input.get( "values" );
@@ -213,7 +215,8 @@
return SUCCESS;
}
- private void updateExecutionDate( ProgramStageInstance programStageInstance, Date date, Boolean completed, Coordinate coordinate )
+ private void updateExecutionDate( ProgramStageInstance programStageInstance, Date date, Boolean completed,
+ Double longitude, Double latitude )
{
if ( date != null )
{
@@ -230,13 +233,10 @@
if ( programStageInstance.getProgramStage().getCaptureCoordinates() )
{
- if ( coordinate != null && coordinate.isValid() )
- {
- programStageInstance.setCoordinates( coordinate.getCoordinateString() );
- }
- else
- {
- programStageInstance.setCoordinates( null );
+ if ( longitude != null && latitude != null )
+ {
+ programStageInstance.setLongitude( longitude );
+ programStageInstance.setLatitude( latitude );
}
}
@@ -245,8 +245,8 @@
programStageInstanceService.updateProgramStageInstance( programStageInstance );
}
- private ProgramStageInstance saveExecutionDate( Integer programId, Integer organisationUnitId, Date date, Boolean completed,
- Coordinate coordinate )
+ private ProgramStageInstance saveExecutionDate( Integer programId, Integer organisationUnitId, Date date,
+ Boolean completed, Double longitude, Double latitude )
{
OrganisationUnit organisationUnit = organisationUnitService.getOrganisationUnit( organisationUnitId );
Program program = programService.getProgram( programId );
@@ -269,13 +269,10 @@
if ( programStage.getCaptureCoordinates() )
{
- if ( coordinate != null && coordinate.isValid() )
- {
- programStageInstance.setCoordinates( coordinate.getCoordinateString() );
- }
- else
- {
- programStageInstance.setCoordinates( null );
+ if ( longitude != null && latitude != null )
+ {
+ programStageInstance.setLongitude( longitude );
+ programStageInstance.setLatitude( latitude );
}
}
@@ -286,7 +283,8 @@
return programStageInstance;
}
- private void saveDataValue( ProgramStageInstance programStageInstance, DataElement dataElement, String value, Boolean providedElsewhere )
+ private void saveDataValue( ProgramStageInstance programStageInstance, DataElement dataElement, String value,
+ Boolean providedElsewhere )
{
String storedBy = currentUserService.getCurrentUsername();
@@ -295,7 +293,8 @@
value = null;
}
- PatientDataValue patientDataValue = patientDataValueService.getPatientDataValue( programStageInstance, dataElement );
+ PatientDataValue patientDataValue = patientDataValueService.getPatientDataValue( programStageInstance,
+ dataElement );
if ( value != null )
{