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