Issue-331

This commit is contained in:
kushagrasingh
2013-05-08 12:03:17 +05:30
parent db9a5b6d16
commit e55a37fe1a
3 changed files with 21 additions and 26 deletions
@@ -91,15 +91,17 @@ public class CalendarsApiResource {
@Consumes({ MediaType.APPLICATION_JSON })
@Produces({ MediaType.APPLICATION_JSON })
public String retrieveCalendarsByEntity(@PathParam("entityType") final String entityType, @PathParam("entityId") final Long entityId,
@Context final UriInfo uriInfo, @QueryParam("calendarType") String calendarType) {
@Context final UriInfo uriInfo,@DefaultValue("all") @QueryParam("calendarType") String calendarType) {
this.context.authenticatedUser().validateHasReadPermission(this.resourceNameForPermissions);
final Set<String> associationParameters = ApiParameterHelper.extractAssociationsForResponseIfProvided(uriInfo.getQueryParameters());
Collection<CalendarData> calendarsData = new ArrayList<CalendarData>();
List<EnumOptionData> calendarTypeOptions = createEnumOptionDataListFromQueryParameter(calendarType);
if (!associationParameters.isEmpty()) {
if (associationParameters.contains("parentCalendars")) {
calendarsData.addAll(this.readPlatformService.retrieveParentCalendarsByEntity(entityId,
@@ -185,7 +187,11 @@ public class CalendarsApiResource {
public List<EnumOptionData> createEnumOptionDataListFromQueryParameter(String calendarTypeQuery) {
List<EnumOptionData> calendarTypeOptions = null;
List<EnumOptionData> calendarTypeOptions = new ArrayList<EnumOptionData>();
// adding all calendar Types if
if(calendarTypeQuery.equalsIgnoreCase("all")){
return calendarTypeOptions;
}
// creating a list of calendar type options from the comma separated query parameter.
List<String> calendarTypeOptionsInQuery = new ArrayList<String>();
StringTokenizer st = new StringTokenizer(calendarTypeQuery, ",");
@@ -204,6 +210,7 @@ public class CalendarsApiResource {
calendarTypeOptions.add(CalendarEnumerations.calendarType(CalendarType.GENERAL));
}
}
return calendarTypeOptions;
}
@@ -111,7 +111,7 @@ public class CalendarReadPlatformServiceImpl implements CalendarReadPlatformServ
result = this.jdbcTemplate.query(sql, rm, new Object[] { entityId, entityTypeId });
} else if(!calendarTypeOptions.isEmpty()){
String sqlCalendarTypeOptions = createSqlValuesInString(calendarTypeOptions);
sql = rm.schema() + " and ci.entity_id = ? and ci.entity_type_enum = ? and c.calendar_type_enum in ? order by c.start_date ";
sql = rm.schema() + " and ci.entity_id = ? and ci.entity_type_enum = ? and c.calendar_type_enum in (?) order by c.start_date ";
result = this.jdbcTemplate.query(sql,rm, new Object[] {entityId, entityTypeId, sqlCalendarTypeOptions});
}
return result;
@@ -5,13 +5,6 @@
*/
package org.mifosplatform.portfolio.loanaccount.service;
import java.math.BigDecimal;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import org.joda.time.Days;
import org.joda.time.LocalDate;
import org.mifosplatform.infrastructure.codes.data.CodeValueData;
@@ -38,20 +31,8 @@ import org.mifosplatform.portfolio.fund.data.FundData;
import org.mifosplatform.portfolio.fund.service.FundReadPlatformService;
import org.mifosplatform.portfolio.group.data.GroupGeneralData;
import org.mifosplatform.portfolio.group.service.GroupReadPlatformService;
import org.mifosplatform.portfolio.loanaccount.data.DisbursementData;
import org.mifosplatform.portfolio.loanaccount.data.LoanAccountData;
import org.mifosplatform.portfolio.loanaccount.data.LoanApplicationTimelineData;
import org.mifosplatform.portfolio.loanaccount.data.LoanStatusEnumData;
import org.mifosplatform.portfolio.loanaccount.data.LoanSummaryData;
import org.mifosplatform.portfolio.loanaccount.data.LoanTransactionData;
import org.mifosplatform.portfolio.loanaccount.data.LoanTransactionEnumData;
import org.mifosplatform.portfolio.loanaccount.data.PaymentDetailData;
import org.mifosplatform.portfolio.loanaccount.data.RepaymentScheduleRelatedLoanData;
import org.mifosplatform.portfolio.loanaccount.domain.Loan;
import org.mifosplatform.portfolio.loanaccount.domain.LoanRepository;
import org.mifosplatform.portfolio.loanaccount.domain.LoanTransaction;
import org.mifosplatform.portfolio.loanaccount.domain.LoanTransactionRepository;
import org.mifosplatform.portfolio.loanaccount.domain.LoanTransactionType;
import org.mifosplatform.portfolio.loanaccount.data.*;
import org.mifosplatform.portfolio.loanaccount.domain.*;
import org.mifosplatform.portfolio.loanaccount.exception.LoanNotFoundException;
import org.mifosplatform.portfolio.loanaccount.exception.LoanTransactionNotFoundException;
import org.mifosplatform.portfolio.loanaccount.loanschedule.data.LoanScheduleData;
@@ -70,6 +51,13 @@ import org.springframework.jdbc.core.RowMapper;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.math.BigDecimal;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
@Service
public class LoanReadPlatformServiceImpl implements LoanReadPlatformService {
@@ -847,8 +835,8 @@ public class LoanReadPlatformServiceImpl implements LoanReadPlatformService {
@Override
public Collection<CalendarData> retrieveCalendars(Long groupId) {
Collection<CalendarData> calendarsData = new ArrayList<CalendarData>();
calendarsData.addAll(this.calendarReadPlatformService.retrieveParentCalendarsByEntity(groupId,CalendarEntityType.GROUPS.getValue()));
calendarsData.addAll(this.calendarReadPlatformService.retrieveCalendarsByEntity(groupId,CalendarEntityType.GROUPS.getValue()));
calendarsData.addAll(this.calendarReadPlatformService.retrieveParentCalendarsByEntity(groupId,CalendarEntityType.GROUPS.getValue(),null));
calendarsData.addAll(this.calendarReadPlatformService.retrieveCalendarsByEntity(groupId,CalendarEntityType.GROUPS.getValue(),null));
calendarsData = this.calendarReadPlatformService.generateRecurringDates(calendarsData);
return calendarsData;
}