org.openmrs.reporting.export.CohortColumn.java Source code

Java tutorial

Introduction

Here is the source code for org.openmrs.reporting.export.CohortColumn.java

Source

/**
 * The contents of this file are subject to the OpenMRS Public License
 * Version 1.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://license.openmrs.org
 *
 * Software distributed under the License is distributed on an "AS IS"
 * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
 * License for the specific language governing rights and limitations
 * under the License.
 *
 * Copyright (C) OpenMRS, LLC.  All Rights Reserved.
 */
package org.openmrs.reporting.export;

import java.io.Serializable;

import org.openmrs.api.context.Context;
import org.openmrs.reporting.ReportObjectService;
import org.springframework.util.StringUtils;

public class CohortColumn implements ExportColumn, Serializable {

    private static final long serialVersionUID = 1L;

    private String columnType = "cohort";

    private String columnName = "";

    private String valueIfTrue = "Yes";

    private String valueIfFalse = "No";

    private Integer cohortId;

    private Integer filterId;

    private Integer patientSearchId;

    public CohortColumn() {
    }

    public CohortColumn(String columnName, Integer cohortId, Integer filterId, Integer patientSearchId,
            String valueIfTrue, String valueIfFalse) {
        this.columnName = columnName;
        this.valueIfTrue = valueIfTrue;
        this.valueIfFalse = StringUtils.hasText(valueIfFalse) ? valueIfFalse : "";
        if (cohortId != null) {
            this.cohortId = cohortId;
            if (!StringUtils.hasText(columnName)) {
                this.columnName = Context.getCohortService().getCohort(cohortId).getName();
            }
            if (!StringUtils.hasText(valueIfTrue)) {
                this.valueIfTrue = Context.getCohortService().getCohort(cohortId).getName();
            }
        } else if (filterId != null) {
            this.filterId = filterId;
            if (!StringUtils.hasText(columnName)) {
                this.columnName = Context.getService(ReportObjectService.class).getPatientFilterById(filterId)
                        .getName();
            }
            if (!StringUtils.hasText(valueIfTrue)) {
                this.valueIfTrue = Context.getService(ReportObjectService.class).getPatientFilterById(filterId)
                        .getName();
            }
        } else { // assert patientSearchId != null
            this.patientSearchId = patientSearchId;
            if (!StringUtils.hasText(columnName)) {
                this.columnName = Context.getService(ReportObjectService.class).getReportObject(patientSearchId)
                        .getName();
            }
            if (!StringUtils.hasText(valueIfTrue)) {
                this.valueIfTrue = Context.getService(ReportObjectService.class).getReportObject(patientSearchId)
                        .getName();
            }
        }
    }

    public String getColumnName() {
        return this.columnName;
    }

    public void setColumnName(String columnName) {
        this.columnName = columnName;
    }

    public String getTemplateColumnName() {
        return columnName;
    }

    public String toTemplateString() {
        if (cohortId != null) {
            return "$!{fn.getCohortMembership(" + cohortId + ", '" + valueIfTrue + "', '" + valueIfFalse + "')}";
        } else if (filterId != null) {
            return "$!{fn.getCohortDefinitionMembership(" + filterId + ", '" + valueIfTrue + "', '" + valueIfFalse
                    + "')}";
        } else {
            return "$!{fn.getPatientSearchMembership(" + patientSearchId + ", '" + valueIfTrue + "', '"
                    + valueIfFalse + "')}";
        }
    }

    public Integer getCohortId() {
        return cohortId;
    }

    public void setCohortId(Integer cohortId) {
        this.cohortId = cohortId;
    }

    public Integer getFilterId() {
        return filterId;
    }

    public void setFilterId(Integer filterId) {
        this.filterId = filterId;
    }

    public Integer getPatientSearchId() {
        return patientSearchId;
    }

    public void setPatientSearchId(Integer patientSearchId) {
        this.patientSearchId = patientSearchId;
    }

    public String getColumnType() {
        return columnType;
    }

    public void setColumnType(String columnType) {
        this.columnType = columnType;
    }

    public String getValueIfFalse() {
        return valueIfFalse;
    }

    public void setValueIfFalse(String valueIfFalse) {
        this.valueIfFalse = valueIfFalse;
    }

    public String getValueIfTrue() {
        return valueIfTrue;
    }

    public void setValueIfTrue(String valueIfTrue) {
        this.valueIfTrue = valueIfTrue;
    }

}