/* * The Kuali Financial System, a comprehensive financial management system for higher education. * * Copyright 2005-2014 The Kuali Foundation * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as * published by the Free Software Foundation, either version 3 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ package org.kuali.kfs.gl.businessobject; import java.sql.Date; import java.util.Comparator; import java.util.LinkedHashMap; import org.kuali.rice.krad.bo.PersistableBusinessObjectBase; public class OriginEntryGroup extends PersistableBusinessObjectBase { private static final String VALID_STRING = "Valid-"; private static final String INVALID_STRING = "Error-"; private static final String PROCESSED_STRING = "Process-"; private static final String NOT_PROCESSED_STRING = "Don't Process-"; private static final String SCRUB_STRING = "Scrub"; private static final String NO_SCRUB_STRING = "Don't Scrub"; private Integer id; private Date date; private String sourceCode; private Boolean valid; private Boolean process; private Boolean scrub; // This does not normally get populated. It only gets populated if // getAllOriginEntryGroup() is called private Integer rows = new Integer(0); private OriginEntrySource source; /** * */ public OriginEntryGroup() { super(); } protected LinkedHashMap toStringMapper_RICE20_REFACTORME() { LinkedHashMap map = new LinkedHashMap(); map.put("id", id); return map; } public String getName() { StringBuffer sb = new StringBuffer(this.getSourceCode()); sb.append(" "); sb.append(source.getName()); sb.append(" ("); sb.append(rows); sb.append(") "); sb.append(this.getId()); sb.append(" "); sb.append(this.getDate().toString()); sb.append(" "); sb.append(valid ? VALID_STRING : INVALID_STRING); sb.append(process ? PROCESSED_STRING : NOT_PROCESSED_STRING); sb.append(scrub ? SCRUB_STRING : NO_SCRUB_STRING); return sb.toString(); } public Integer getRows() { return rows; } public void setRows(Integer rows) { this.rows = rows; } public OriginEntrySource getSource() { return source; } public void setSource(OriginEntrySource oes) { source = oes; } public Date getDate() { return date; } public void setDate(Date date) { this.date = date; } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public Boolean getProcess() { return process; } public void setProcess(Boolean process) { this.process = process; } public Boolean getScrub() { return scrub; } public void setScrub(Boolean scrub) { this.scrub = scrub; } public String getSourceCode() { return sourceCode; } public void setSourceCode(String sourceCode) { this.sourceCode = sourceCode; } public Boolean getValid() { return valid; } public void setValid(Boolean valid) { this.valid = valid; } /** * An implementation of Comparator which compares origin entry groups by their source attribute */ public static class GroupTypeComparator implements Comparator { /** * Constructs a GroupTypeComparator instance */ public GroupTypeComparator() { } /** * Compares origin entry groups based on the alphabeticality of their source attributes * * @param c1 the first origin entry group to compare * @param c2 the origin entry group compared to * @return a negative if c1's source is less than c2's, 0 if they are equal, a positive if c1's source is greater than c2's * @see java.util.Comparator#compare(java.lang.Object, java.lang.Object) */ public int compare(Object c1, Object c2) { OriginEntryGroup oeg1 = (OriginEntryGroup) c1; OriginEntryGroup oeg2 = (OriginEntryGroup) c2; String sort1 = oeg1.getSourceCode(); String sort2 = oeg2.getSourceCode(); int c = sort1.compareTo(sort2); if (c != 0) { return c; } return oeg1.getId().compareTo(oeg2.getId()); } } }