[Branch ~dhis2-devs-core/dhis2/trunk] Rev 94: dhis-web-dataentry: fixed bug lp:344752 unable to select current quarterly period in dataentryscreen

Very quick fix… Thanks Lars for the good work!! We r still testing.

···

Regards,
Saptarshi PURKAYASTHA
Director R & D, HISP India
Health Information Systems Programme

My Tech Blog: http://sunnytalkstech.blogspot.com

You Live by CHOICE, Not by CHANCE

2009/3/20 noreply@launchpad.net


revno: 94

committer: Lars Helge Oeverland larshelge@gmail.com

branch nick: trunk

timestamp: Fri 2009-03-20 11:30:30 +0100

message:

dhis-web-dataentry: fixed bug lp:344752 unable to select current quarterly period in dataentryscreen

modified:

dhis-2/dhis-web/dhis-web-dataentry/src/main/java/org/hisp/dhis/de/state/DefaultSelectedStateManager.java

dhis-2/dhis-web/dhis-web-dataentry/src/main/resources/META-INF/dhis/beans.xml

=== modified file ‘dhis-2/dhis-web/dhis-web-dataentry/src/main/java/org/hisp/dhis/de/state/DefaultSelectedStateManager.java’

— dhis-2/dhis-web/dhis-web-dataentry/src/main/java/org/hisp/dhis/de/state/DefaultSelectedStateManager.java 2009-03-19 17:02:24 +0000

+++ dhis-2/dhis-web/dhis-web-dataentry/src/main/java/org/hisp/dhis/de/state/DefaultSelectedStateManager.java 2009-03-20 10:30:30 +0000

@@ -28,7 +28,6 @@

*/

import java.util.ArrayList;

-import java.util.Collection;

import java.util.Date;

import java.util.HashSet;

import java.util.Iterator;

@@ -44,7 +43,6 @@

import org.hisp.dhis.ouwt.manager.OrganisationUnitSelectionManager;

import org.hisp.dhis.period.CalendarPeriodType;

import org.hisp.dhis.period.Period;

-import org.hisp.dhis.period.PeriodService;

import org.hisp.dhis.period.PeriodType;

import org.hisp.dhis.user.CurrentUserService;

import org.hisp.dhis.user.UserAuthorityGroup;

@@ -61,7 +59,7 @@

public class DefaultSelectedStateManager

 implements SelectedStateManager

{

  • private static final Log LOG = LogFactory.getLog( DefaultSelectedStateManager.class );
  • private static final Log log = LogFactory.getLog( DefaultSelectedStateManager.class );

    public static final String SESSION_KEY_SELECTED_DATASET_ID = “data_entry_selected_dataset_id”;

@@ -73,13 +71,6 @@

 // Dependencies

 // -------------------------------------------------------------------------
  • private PeriodService periodService;

  • public void setPeriodService( PeriodService periodService )

  • {

  •    this.periodService = periodService;
    
  • }

 private DataSetService dataSetService;



 public void setDataSetService( DataSetService dataSetService )

@@ -109,12 +100,6 @@

 }



 // -------------------------------------------------------------------------
  • // Cache

  • // -------------------------------------------------------------------------

  • private ThreadLocal<List> generatedPeriodsCache = new ThreadLocal<List>();

  • // -------------------------------------------------------------------------

    // SelectedStateManager implementation

    // -------------------------------------------------------------------------

@@ -131,7 +116,6 @@

 // DataSet

 // -------------------------------------------------------------------------
  • @SuppressWarnings( “unchecked” )

    public void setSelectedDataSet( DataSet dataSet )

    {

    getSession().put( SESSION_KEY_SELECTED_DATASET_ID, dataSet.getId() );
    

@@ -141,12 +125,7 @@

 {

     Integer id = (Integer) getSession().get( SESSION_KEY_SELECTED_DATASET_ID );
  •    if ( id == null )
    
  •    {
    
  •        return null;
    
  •    }
    
  •    return dataSetService.getDataSet( id );
    
  •    return id != null ? dataSetService.getDataSet( id ) : null;
    

    }

    public void clearSelectedDataSet()

@@ -158,6 +137,10 @@

 {

     List<DataSet> dataSets = new ArrayList<DataSet>( dataSetService.getDataSetsBySource( organisationUnit ) );
  •    // ---------------------------------------------------------------------
    
  •    // Retain only DataSets from current user's authority groups
    
  •    // ---------------------------------------------------------------------
    
     if ( !currentUserService.currentUserIsSuper() )

     {

         UserCredentials userCredentials = userStore.getUserCredentials( currentUserService.getCurrentUser() );

@@ -195,7 +178,6 @@

 // Period

 // -------------------------------------------------------------------------
  • @SuppressWarnings( “unchecked” )

    public void setSelectedPeriodIndex( Integer index )

    {

    getSession().put( SESSION_KEY_SELECTED_PERIOD_INDEX, index );
    

@@ -232,41 +214,27 @@

 public List<Period> getPeriodList()

 {
  •    List<Period> periods = generatedPeriodsCache.get();
    
       Period basePeriod = getBasePeriod();
    
  •    if ( periods == null || periods.size() == 0
    
  •        || !periods.get( 0 ).getPeriodType().equals( basePeriod.getPeriodType() ) || !periods.contains( basePeriod ) )
    
  •    {
    
  •        CalendarPeriodType periodType = (CalendarPeriodType) getPeriodType();
    
  •        LOG.debug( "Generated periods cache invalid, generating new periods based on " + basePeriod );
    
  •        periods = periodType.generatePeriods( basePeriod );
    
  •        generatedPeriodsCache.set( periods );
    
  •    }
    
  •    CalendarPeriodType periodType = (CalendarPeriodType) getPeriodType();
    
  •    List<Period> periods = periodType.generatePeriods( basePeriod );
    
     Date now = new Date();



     Iterator<Period> iterator = periods.iterator();
  •    Collection<Period> persistedPeriods = periodService.getAllPeriods();
    
     while ( iterator.hasNext() )

     {
  •        Period period = iterator.next();
    
  •        if ( period.getStartDate().after( now ) || !persistedPeriods.contains( period ) )
    
  •        if ( iterator.next().getStartDate().after( now ) )
    
           {
    
               iterator.remove();
    
           }
    
       }
    
     return periods;

 }
  • @SuppressWarnings( “unchecked” )

 public void nextPeriodSpan()

 {

     List<Period> periods = getPeriodList();

@@ -278,12 +246,9 @@

     if ( newBasePeriod.getStartDate().before( new Date() ) ) // Future periods not allowed

     {

         getSession().put( SESSION_KEY_BASE_PERIOD, newBasePeriod );
  •        generatedPeriodsCache.remove();
    
       }
    

    }

  • @SuppressWarnings( “unchecked” )

    public void previousPeriodSpan()

    {

    List<Period> periods = getPeriodList();
    

@@ -293,8 +258,6 @@

     Period newBasePeriod = periodType.getPreviousPeriod( basePeriod );



     getSession().put( SESSION_KEY_BASE_PERIOD, newBasePeriod );
  •    generatedPeriodsCache.remove();
    

    }

    // -------------------------------------------------------------------------

@@ -313,22 +276,22 @@

     return dataSet.getPeriodType();

 }
  • @SuppressWarnings( “unchecked” )

    private Period getBasePeriod()

    {

    Period basePeriod = (Period) getSession().get( SESSION_KEY_BASE_PERIOD );
    
     PeriodType periodType = getPeriodType();



     if ( basePeriod == null )

     {
  •        LOG.debug( "getBasePeriod(): Base period is null, creating new." );
    
  •        log.debug( "Base period is null, creating new" );
    
    
    
           basePeriod = periodType.createPeriod();
    
           getSession().put( SESSION_KEY_BASE_PERIOD, basePeriod );
    
       }
    
       else if ( !basePeriod.getPeriodType().equals( periodType ) )
    
       {
    
  •        LOG.debug( "getBasePeriod(): Wrong type of base period, transforming." );
    
  •        log.debug( "Wrong type of base period, transforming" );
    
    
    
           basePeriod = periodType.createPeriod( basePeriod.getStartDate() );
    
           getSession().put( SESSION_KEY_BASE_PERIOD, basePeriod );
    

@@ -338,7 +301,7 @@

 }



 @SuppressWarnings( "unchecked" )
  • private static final Map getSession()
  • private static final Map<Object, Object> getSession()

    {

    return ActionContext.getContext().getSession();
    

    }

=== modified file ‘dhis-2/dhis-web/dhis-web-dataentry/src/main/resources/META-INF/dhis/beans.xml’

— dhis-2/dhis-web/dhis-web-dataentry/src/main/resources/META-INF/dhis/beans.xml 2009-03-10 10:19:13 +0000

+++ dhis-2/dhis-web/dhis-web-dataentry/src/main/resources/META-INF/dhis/beans.xml 2009-03-20 10:30:30 +0000

@@ -32,8 +32,6 @@

   ref="org.hisp.dhis.user.UserStore"/>

 <property name="currentUserService"

   ref="org.hisp.dhis.user.CurrentUserService"/>
  •   <property name="periodService"
    
  •  ref="org.hisp.dhis.period.PeriodService"/>
    

    <bean id=“org.hisp.dhis.de.screen.DataEntryScreenManager”

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.


Mailing list: https://launchpad.net/~dhis2-devs

Post to : dhis2-devs@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-devs

More help : https://help.launchpad.net/ListHelp