------------------------------------------------------------ revno: 17481 committer: Lars Helge Overland <[email protected]> branch nick: dhis2 timestamp: Sat 2014-11-15 14:56:50 +0100 message: Event import, error handling for background process modified: 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/importsummary/ImportSummaries.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-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 2014-11-11 06:42:33 +0000 +++ dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/events/event/AbstractEventService.java 2014-11-15 13:56:50 +0000 @@ -28,10 +28,22 @@ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -import com.fasterxml.jackson.core.type.TypeReference; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.google.common.cache.Cache; -import com.google.common.cache.CacheBuilder; +import static org.hisp.dhis.system.notification.NotificationLevel.ERROR; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.Date; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.concurrent.Callable; +import java.util.concurrent.ExecutionException; +import java.util.concurrent.TimeUnit; + import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.hibernate.SessionFactory; @@ -61,9 +73,8 @@ import org.hisp.dhis.scheduling.TaskId; import org.hisp.dhis.system.notification.NotificationLevel; import org.hisp.dhis.system.notification.Notifier; -import org.hisp.dhis.system.timer.SystemTimer; -import org.hisp.dhis.system.timer.Timer; import org.hisp.dhis.system.util.DateUtils; +import org.hisp.dhis.system.util.DebugUtils; import org.hisp.dhis.system.util.ValidationUtils; import org.hisp.dhis.trackedentity.TrackedEntityInstanceService; import org.hisp.dhis.trackedentitycomment.TrackedEntityComment; @@ -75,19 +86,10 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.util.Assert; -import java.io.IOException; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collection; -import java.util.Date; -import java.util.HashMap; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.concurrent.Callable; -import java.util.concurrent.ExecutionException; -import java.util.concurrent.TimeUnit; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.google.common.cache.Cache; +import com.google.common.cache.CacheBuilder; /** * @author Morten Olav Hansen <[email protected]> @@ -180,23 +182,24 @@ { notifier.clear( taskId ).notify( taskId, "Importing events" ); - Timer timer = new SystemTimer().start(); - - ImportSummaries importSummaries = addEvents( events, importOptions ); - - timer.stop(); - - if ( taskId != null ) - { - notifier.notify( taskId, NotificationLevel.INFO, "Import done. Completed in " + timer.toString() + ".", true ). - addTaskSummary( taskId, importSummaries ); - } - else - { - log.info( "Import done, completed in " + timer.toString() ); - } - - return importSummaries; + try + { + ImportSummaries importSummaries = addEvents( events, importOptions ); + + if ( taskId != null ) + { + notifier.notify( taskId, NotificationLevel.INFO, "Import done", true ).addTaskSummary( taskId, importSummaries ); + } + + return importSummaries; + } + catch ( RuntimeException ex ) + { + log.error( DebugUtils.getStackTrace( ex ) ); + notifier.notify( taskId, ERROR, "Process failed: " + ex.getMessage(), true ); + return new ImportSummaries().addImportSummary( new ImportSummary( ImportStatus.ERROR, "The import process failed: " + ex.getMessage() ) ); + } + } @Override === modified file 'dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/importsummary/ImportSummaries.java' --- dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/importsummary/ImportSummaries.java 2014-08-15 07:40:20 +0000 +++ dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/importsummary/ImportSummaries.java 2014-11-15 13:56:50 +0000 @@ -55,7 +55,7 @@ { } - public void addImportSummary( ImportSummary importSummary ) + public ImportSummaries addImportSummary( ImportSummary importSummary ) { if ( importSummary.getDataValueCount() != null ) { @@ -72,6 +72,8 @@ } importSummaries.add( importSummary ); + + return this; } @JsonProperty
_______________________________________________ Mailing list: https://launchpad.net/~dhis2-devs Post to : [email protected] Unsubscribe : https://launchpad.net/~dhis2-devs More help : https://help.launchpad.net/ListHelp

