blob: f33bdc3008c5c33334fadfda6e402d8b2c4019d4 [file] [log] [blame]
/**
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.fineract.infrastructure.bulkimport.populator;
import java.util.List;
import org.apache.fineract.infrastructure.bulkimport.constants.TemplatePopulateImportConstants;
import org.apache.fineract.portfolio.savings.data.SavingsAccountData;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
public class SavingsAccountSheetPopulator extends AbstractWorkbookPopulator {
private List<SavingsAccountData> savingsAccountDataList;
private static final int SAVINGS_ACCOUNT_ID_COL = 0;
private static final int SAVING_ACCOUNT_NO = 1;
private static final int CURRENCY_COL = 2;
private static final int CLIENT_NAME = 3;
public SavingsAccountSheetPopulator(List<SavingsAccountData> savingsAccountDataList) {
this.savingsAccountDataList = savingsAccountDataList;
}
@Override
public void populate(Workbook workbook, String dateFormat) {
Sheet savingsSheet = workbook.createSheet(TemplatePopulateImportConstants.SAVINGS_ACCOUNTS_SHEET_NAME);
setLayout(savingsSheet);
populateSavingsSheet(savingsSheet);
savingsSheet.protectSheet("");
}
private void populateSavingsSheet(Sheet savingsSheet) {
int rowIndex = 1;
for (SavingsAccountData savings : savingsAccountDataList) {
Row row = savingsSheet.createRow(rowIndex++);
writeLong(SAVINGS_ACCOUNT_ID_COL, row, savings.getId());
writeString(SAVING_ACCOUNT_NO, row, savings.getAccountNo());
writeString(CURRENCY_COL, row, savings.getCurrency().getCode());
writeString(CLIENT_NAME, row, savings.getClientName());
}
}
private void setLayout(Sheet savingsSheet) {
Row rowHeader = savingsSheet.createRow(TemplatePopulateImportConstants.ROWHEADER_INDEX);
rowHeader.setHeight(TemplatePopulateImportConstants.ROW_HEADER_HEIGHT);
savingsSheet.setColumnWidth(SAVINGS_ACCOUNT_ID_COL, TemplatePopulateImportConstants.MEDIUM_COL_SIZE);
writeString(SAVINGS_ACCOUNT_ID_COL, rowHeader, "Savings Account Id");
savingsSheet.setColumnWidth(SAVING_ACCOUNT_NO, TemplatePopulateImportConstants.MEDIUM_COL_SIZE);
writeString(SAVING_ACCOUNT_NO, rowHeader, "Savings Account No");
savingsSheet.setColumnWidth(CURRENCY_COL, TemplatePopulateImportConstants.SMALL_COL_SIZE);
writeString(CURRENCY_COL, rowHeader, "Currency Code");
savingsSheet.setColumnWidth(CLIENT_NAME, TemplatePopulateImportConstants.SMALL_COL_SIZE);
writeString(CLIENT_NAME, rowHeader, "Client Name");
}
}