diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/calendar/api/CalendarsApiResource.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/calendar/api/CalendarsApiResource.java index f115fc694..d9fa91303 100644 --- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/calendar/api/CalendarsApiResource.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/calendar/api/CalendarsApiResource.java @@ -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 associationParameters = ApiParameterHelper.extractAssociationsForResponseIfProvided(uriInfo.getQueryParameters()); Collection calendarsData = new ArrayList(); + List 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 createEnumOptionDataListFromQueryParameter(String calendarTypeQuery) { - List calendarTypeOptions = null; + List calendarTypeOptions = new ArrayList(); + // 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 calendarTypeOptionsInQuery = new ArrayList(); StringTokenizer st = new StringTokenizer(calendarTypeQuery, ","); @@ -204,6 +210,7 @@ public class CalendarsApiResource { calendarTypeOptions.add(CalendarEnumerations.calendarType(CalendarType.GENERAL)); } } + return calendarTypeOptions; } diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/calendar/service/CalendarReadPlatformServiceImpl.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/calendar/service/CalendarReadPlatformServiceImpl.java index c8d28d219..3ae02e02a 100644 --- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/calendar/service/CalendarReadPlatformServiceImpl.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/calendar/service/CalendarReadPlatformServiceImpl.java @@ -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; diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/service/LoanReadPlatformServiceImpl.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/service/LoanReadPlatformServiceImpl.java index 2d53cecd3..0792a2d9e 100644 --- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/service/LoanReadPlatformServiceImpl.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/service/LoanReadPlatformServiceImpl.java @@ -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 retrieveCalendars(Long groupId) { Collection calendarsData = new ArrayList(); - 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; }