Example usage for org.springframework.context ApplicationContext getMessage

List of usage examples for org.springframework.context ApplicationContext getMessage

Introduction

In this page you can find the example usage for org.springframework.context ApplicationContext getMessage.

Prototype

String getMessage(String code, @Nullable Object[] args, Locale locale) throws NoSuchMessageException;

Source Link

Document

Try to resolve the message.

Usage

From source file:org.openmrs.module.vcttrac.web.controller.VCTClientViewController.java

/**
 * Auto generated method comment/*from  www  . j  ava 2 s .  c om*/
 * 
 * @param request
 * @param mav
 */
private void manageListing(HttpServletRequest request, ModelAndView mav, HttpServletResponse response) {
    VCTModuleService service = (VCTModuleService) ServiceContext.getInstance()
            .getService(VCTModuleService.class);
    int pageSize;
    String pageNumber = request.getParameter("page");
    List<VCTClient> clients = new ArrayList<VCTClient>();

    List<Integer> res;

    List<Integer> numberOfPages;

    try {

        if (VCTConfigurationUtil.isConfigured()) {
            pageSize = VCTConfigurationUtil.getNumberOfRecordPerPage();

            if (pageNumber.compareToIgnoreCase("1") == 0 || pageNumber.compareToIgnoreCase("") == 0) {
                res = new ArrayList<Integer>();

                res = service.getVCTClientsWaitingFromHIVTest();
                request.getSession().setAttribute("cl_view_res", res);

                //data collection
                for (int i = 0; i < pageSize; i++) {
                    if (res.size() == 0)
                        break;
                    if (i >= res.size() - 1) {
                        clients.add(service.getClientById(res.get(i)));
                        break;
                    } else
                        clients.add(service.getClientById(res.get(i)));
                }

                //---------paging-------navigation between pages--------
                int n = (res.size() == ((int) (res.size() / pageSize)) * pageSize) ? (res.size() / pageSize)
                        : ((int) (res.size() / pageSize)) + 1;
                numberOfPages = new ArrayList<Integer>();
                for (int i = 1; i <= n; i++) {
                    numberOfPages.add(i);
                }

                request.getSession().setAttribute("cl_view_numberOfPages", numberOfPages);
                //----------------

            } else {
                res = (List<Integer>) request.getSession().getAttribute("cl_view_res");
                numberOfPages = (List<Integer>) request.getSession().getAttribute("cl_view_numberOfPages");
                for (int i = (pageSize * (Integer.parseInt(pageNumber) - 1)); i < pageSize
                        * (Integer.parseInt(pageNumber)); i++) {
                    if (i >= res.size())
                        break;
                    else
                        clients.add(service.getClientById(res.get(i)));
                }
            }

            if (Integer.valueOf(pageNumber).intValue() > 1)
                mav.addObject("prevPage", (Integer.valueOf(pageNumber)) - 1);
            else
                mav.addObject("prevPage", -1);
            if (Integer.valueOf(pageNumber).intValue() < numberOfPages.size())
                mav.addObject("nextPage", (Integer.valueOf(pageNumber)) + 1);
            else
                mav.addObject("nextPage", -1);
            mav.addObject("lastPage", ((numberOfPages.size() >= 1) ? numberOfPages.size() : 1));

            String title = VCTTracUtil.getMessage("vcttrac.clientWaitingForResult", null);
            mav.addObject("title", title);

            //page infos
            Object[] pagerInfos = new Object[3];
            pagerInfos[0] = (res.size() == 0) ? 0 : (pageSize * (Integer.parseInt(pageNumber) - 1)) + 1;
            pagerInfos[1] = (pageSize * (Integer.parseInt(pageNumber)) <= res.size())
                    ? pageSize * (Integer.parseInt(pageNumber))
                    : res.size();
            pagerInfos[2] = res.size();

            ApplicationContext appContext = ContextProvider.getApplicationContext();

            mav.addObject("numberOfPages", numberOfPages);
            mav.addObject("clients", clients);
            mav.addObject("pageSize", pageSize);
            mav.addObject("pageInfos", appContext.getMessage("vcttrac.pagingInfo.showingResults", pagerInfos,
                    Context.getLocale()));

            FileExporter fexp = new FileExporter();

            if (request.getParameter("export") != null
                    && request.getParameter("export").compareToIgnoreCase("csv") == 0) {
                List<VCTClient> clientList = new ArrayList<VCTClient>();
                for (Integer clientId : res) {
                    clientList.add(service.getClientById(clientId));
                }
                fexp.exportToCSVFile(request, response, clientList,
                        "list_of_clients_in_vct_program_" + title + ".csv", title.toUpperCase(), "");
            }

        }
    } catch (Exception e) {
        log.error(">>>>>>>VCT>>Client>>waiting>>for>>HIV>>Test>> " + e.getMessage());
        e.printStackTrace();
    }
}

From source file:org.openmrs.module.vcttrac.web.controller.VCTProgramEnrollmentController.java

/**
 * Auto generated method comment/*from  w  w w .j a  va2s. c  om*/
 * 
 * @param request
 * @param response
 * @param mav
 */
private void manageListing(HttpServletRequest request, HttpServletResponse response, ModelAndView mav) {
    VCTModuleService service = Context.getService(VCTModuleService.class);

    String pageNumber = (request.getParameter("page") != null) ? request.getParameter("page") : "1";
    //      StringBuilder parameters = new StringBuilder();
    //      parameters.append("");
    int pageSize;//, type;
    List<VCTClient> clients = new ArrayList<VCTClient>();

    List<Integer> res;

    List<Integer> numberOfPages;

    try {
        if (VCTConfigurationUtil.isConfigured()) {
            //            type = Integer.valueOf(request.getParameter("type"));
            //            parameters.append("&type=" + request.getParameter("type"));

            pageSize = Integer.valueOf(VCTConfigurationUtil.getNumberOfRecordPerPage());
            if (pageNumber.compareToIgnoreCase("1") == 0 || pageNumber.compareToIgnoreCase("") == 0) {
                res = new ArrayList<Integer>();

                //               if (request.getParameter("type") != null && request.getParameter("type").compareToIgnoreCase("0") == 0) {
                res = service.getVCTClientsWaitingToBeEnrolledInHIVProgram();
                /*   type = 0;
                } else if (request.getParameter("type") != null
                        && request.getParameter("type").compareToIgnoreCase("1") == 0) {
                   if (request.getParameter("from") != null
                  && request.getParameter("from").compareToIgnoreCase("pit") == 0)
                      res = service.getVCTClientsFromPIT();
                   else if (request.getParameter("from") != null
                  && request.getParameter("from").compareToIgnoreCase("vct") == 0)
                      res = service.getVoluntaryClients();
                   type = 1;
                   parameters.append("&from=" + request.getParameter("from"));
                } else if (request.getParameter("type") != null
                        && request.getParameter("type").compareToIgnoreCase("2") == 0) {
                   res = service.getVCTClientsBasedOnGender(request.getParameter("gender"));
                   type = 2;
                   parameters.append("&gender=" + request.getParameter("gender"));
                } else if (request.getParameter("type") != null
                        && request.getParameter("type").compareToIgnoreCase("3") == 0) {
                   if (request.getParameter("attributeTypeId") != null && request.getParameter("value") != null)
                      res = service.getVCTClientsBasedOnAttributeType(Integer.valueOf(request
                     .getParameter("attributeTypeId")), Integer.valueOf(request.getParameter("value")));
                           
                   type = 3;
                   parameters.append("&attributeTypeId=" + request.getParameter("attributeTypeId"));
                   parameters.append("&value=" + request.getParameter("value"));
                } else if (request.getParameter("type") != null
                        && request.getParameter("type").compareToIgnoreCase("4") == 0
                        && request.getParameter("tested") != null) {
                   res = service.getVCTClientsTested((request.getParameter("tested").compareTo("yes") == 0) ? true
                  : false);
                           
                   type = 4;
                   parameters.append("&tested=" + request.getParameter("tested"));
                } else if (request.getParameter("type") != null
                        && request.getParameter("type").compareToIgnoreCase("5") == 0) {
                   if (request.getParameter("conceptId") != null && request.getParameter("value") != null
                  && request.getParameter("gotresult") != null) {
                      res = service.getVCTClientsBasedOnConceptObs(Integer.valueOf(request.getParameter("conceptId")),
                 Integer.valueOf(request.getParameter("value")), (request.getParameter("gotresult")
                         .compareToIgnoreCase("true") == 0));
                              
                      parameters.append("&value=" + request.getParameter("value"));
                   } else if (request.getParameter("gotresult") != null) {
                      res = service.getVCTClientsBasedOnConceptObs(Integer.valueOf(request.getParameter("conceptId")),
                 null, (request.getParameter("gotresult").compareToIgnoreCase("true") == 0));
                   }
                   type = 5;
                   parameters.append("&conceptId=" + request.getParameter("conceptId"));
                   parameters.append("&gotresult=" + request.getParameter("gotresult"));
                } else if (request.getParameter("type") != null
                        && request.getParameter("type").compareToIgnoreCase("6") == 0) {
                   if (request.getParameter("counselingType") != null)
                      res = service.getVCTClientsBasedOnCounselingType(Integer.valueOf(request
                     .getParameter("counselingType")));
                           
                   type = 6;
                   parameters.append("&counselingType=" + request.getParameter("counselingType"));
                }*/

                request.getSession().setAttribute("prg_enrollment_res", res);

                //data collection
                for (int i = 0; i < pageSize; i++) {
                    if (res.size() == 0)
                        break;
                    if (i >= res.size() - 1) {
                        clients.add(service.getClientById(res.get(i)));
                        break;
                    } else
                        clients.add(service.getClientById(res.get(i)));
                }

                //---------paging-------navigation between pages--------
                int n = (res.size() == ((int) (res.size() / pageSize)) * pageSize) ? (res.size() / pageSize)
                        : ((int) (res.size() / pageSize)) + 1;
                numberOfPages = new ArrayList<Integer>();
                for (int i = 1; i <= n; i++) {
                    numberOfPages.add(i);
                }

                request.getSession().setAttribute("prg_enrollment_numberOfPages", numberOfPages);

                if (Integer.valueOf(pageNumber) > 1)
                    mav.addObject("prevPage", (Integer.valueOf(pageNumber)) - 1);
                else
                    mav.addObject("prevPage", -1);
                if (Integer.valueOf(pageNumber) < numberOfPages.size())
                    mav.addObject("nextPage", (Integer.valueOf(pageNumber)) + 1);
                else
                    mav.addObject("nextPage", -1);
                mav.addObject("lastPage", ((numberOfPages.size() >= 1) ? numberOfPages.size() : 1));
                //----------------

            } else {
                res = (List<Integer>) request.getSession().getAttribute("prg_enrollment_res");
                numberOfPages = (List<Integer>) request.getSession()
                        .getAttribute("prg_enrollment_numberOfPages");
                for (int i = (pageSize * (Integer.parseInt(pageNumber) - 1)); i < pageSize
                        * (Integer.parseInt(pageNumber)); i++) {
                    if (i >= res.size())
                        break;
                    else
                        clients.add(service.getClientById(res.get(i)));
                }
            }

            String title = VCTTracUtil.getMessage("vcttrac.statistic.clientwaitingenrollment", null);

            mav.addObject("title", title);

            /*switch (type) {
               case 0: {
                  title = "All Clients";
                  mav.addObject("title", title);
                  break;
               }
               case 1: {
                  title = "Clients from " + request.getParameter("from").toUpperCase();
                  mav.addObject("title", title);
                  break;
               }
               case 2: {
                  title = "Gender : " + ((request.getParameter("gender").compareTo("f") == 0) ? "Female" : "Male");
                  mav.addObject("title", title);
                  break;
               }
               case 3: {
                  title = Context.getPersonService().getPersonAttribute(
              Integer.valueOf(request.getParameter("attributeTypeId"))).getAttributeType().getName()
                  + " : "
                  + Context.getConceptService().getConcept(Integer.valueOf(request.getParameter("value")))
                          .getDisplayString();
                  mav.addObject("title", title);
                  break;
               }
               case 4: {
                  title = "Tested : " + request.getParameter("tested").toUpperCase();
                          
                  mav.addObject("title", title);
                  break;
               }
               case 5: {
                  title = Context.getConceptService().getConcept(Integer.valueOf(request.getParameter("conceptId")))
                  .getDisplayString()
                  + " : "
                  + ((request.getParameter("value") != null) ? Context.getConceptService().getConcept(
                      Integer.valueOf(request.getParameter("value"))).getDisplayString() : "ALL RESULTS");
                          
                  mav.addObject("title", title);
                  break;
               }
               case 6: {
                  title = "Counseling Type : "
                  + ((request.getParameter("counselingType").compareToIgnoreCase("1") == 0) ? "Individual"
                          : "Couples");
                          
                  mav.addObject("title", title);
                  break;
               }
               default: {
                  title = "...";
                  mav.addObject("title", "...");
                  break;
               }
            }*/

            //page infos
            Object[] pagerInfos = new Object[3];
            pagerInfos[0] = (res.size() == 0) ? 0 : (pageSize * (Integer.parseInt(pageNumber) - 1)) + 1;
            pagerInfos[1] = (pageSize * (Integer.parseInt(pageNumber)) <= res.size())
                    ? pageSize * (Integer.parseInt(pageNumber))
                    : res.size();
            pagerInfos[2] = res.size();

            ApplicationContext appContext = ContextProvider.getApplicationContext();

            mav.addObject("numberOfPages", numberOfPages);
            mav.addObject("clients", clients);
            //            mav.addObject("parameters", parameters.toString());
            mav.addObject("pageSize", pageSize);
            mav.addObject("pageInfos", appContext.getMessage("vcttrac.pagingInfo.showingResults", pagerInfos,
                    Context.getLocale()));

            FileExporter fexp = new FileExporter();

            if (request.getParameter("export") != null
                    && request.getParameter("export").compareToIgnoreCase("csv") == 0) {
                List<VCTClient> clientList = new ArrayList<VCTClient>();
                for (Integer clientId : res) {
                    clientList.add(service.getClientById(clientId));
                }
                fexp.exportToCSVFile(request, response, clientList,
                        "list_of_clients_in_vct_program_" + title + ".csv",
                        VCTTracUtil.getMessage("vcttrac.statistic.clientlist", null) + " : "
                                + title.toUpperCase(),
                        "Client waiting to be enrolled in Program");
            }
        }

    } catch (Exception e) {
        request.getSession().setAttribute(WebConstants.OPENMRS_ERROR_ATTR,
                VCTTracUtil.getMessage("vcttrac.error.loadingData", null));

        log.error(">>>>>>>>>>>>VCT>>Statistics>>>> An error occured : " + e.getMessage());
        e.printStackTrace();
    }
}

From source file:org.openmrs.module.tracpatienttransfer.web.view.chart.OverviewOnExitPieChartView.java

@Override
protected JFreeChart createChart(Map<String, Object> model, HttpServletRequest request) {

    JFreeChart chart = null;// w w  w .j  ava2 s .  c o m
    UserContext userContext = Context.getUserContext();
    ApplicationContext appContext = ContextProvider.getApplicationContext();
    try {
        DefaultPieDataset pieDataset = new DefaultPieDataset();
        Concept reasonForExitCare = Context.getConceptService()
                .getConcept(TransferOutInPatientConstant.REASON_PATIENT_EXITED_FROM_CARE);
        Collection<ConceptAnswer> answers = reasonForExitCare.getAnswers();

        int total = Integer.valueOf(TransferOutInPatientTag.getNumberOfPatientExitedFromCare());

        int other = 0;
        Float percentage = 0f;
        for (ConceptAnswer ca : answers) {
            int nbrOfPatient = (Integer.valueOf(TransferOutInPatientTag
                    .getNumberOfPatientExitedFromCareWithReason(ca.getAnswerConcept().getConceptId())));
            percentage = (100f * nbrOfPatient / total);

            if (percentage > 5)
                pieDataset.setValue(
                        ca.getAnswerConcept().getDisplayString() + " (" + nbrOfPatient + " - "
                                + MohTracUtil.roundTo2DigitsAfterComma(percentage.doubleValue()) + "%)",
                        MohTracUtil.roundTo2DigitsAfterComma(percentage.doubleValue()));
            else
                other += nbrOfPatient;
        }

        if (other > 0) {
            String otherTitle = appContext.getMessage("tracpatienttransfer.others", null,
                    userContext.getLocale());
            percentage = (100f * other / total);
            pieDataset.setValue(
                    otherTitle + " (" + other + " - "
                            + MohTracUtil.roundTo2DigitsAfterComma(percentage.doubleValue()) + "%)",
                    MohTracUtil.roundTo2DigitsAfterComma(percentage.doubleValue()));
        }
        chart = ChartFactory.createPieChart(reasonForExitCare.getDisplayString(), pieDataset, true, true,
                false);
    } catch (Exception e) {
        e.printStackTrace();
    }
    return chart;
}

From source file:org.openmrs.module.pmtct.web.view.chart.HivStatusPieChartView.java

@SuppressWarnings("static-access")
@Override/* ww  w. j av  a2 s .  c o  m*/
protected JFreeChart createChart(Map<String, Object> model, HttpServletRequest request) {

    UserContext userContext = Context.getUserContext();
    ApplicationContext appContext = ContextProvider.getApplicationContext();
    PmtctService pmtct = Context.getService(PmtctService.class);
    DefaultPieDataset pieDataset = new DefaultPieDataset();

    List<Object> objects = null;
    PMTCTModuleTag tag = new PMTCTModuleTag();

    List<String> hivOptions = new ArrayList<String>();
    List<Integer> hivOptionValues = new ArrayList<Integer>();
    Collection<ConceptAnswer> answers = Context.getConceptService()
            .getConcept(PMTCTConstants.RESULT_OF_HIV_TEST).getAnswers();
    try {
        objects = pmtct.getCurrentPatientsInPmtct();
        for (ConceptAnswer str : answers) {
            hivOptions.add(str.getAnswerConcept().getName().getName());
            hivOptionValues.add(0);
        }
        hivOptions.add("Others");
        hivOptionValues.add(0);

        for (Object ob : objects) {
            int patientId = (Integer) ((Object[]) ob)[0];
            String patientHivStatus = tag.lastObsValueByConceptId(patientId, PMTCTConstants.RESULT_OF_HIV_TEST);

            int i = 0;
            boolean found = false;
            for (String s : hivOptions) {
                if ((s.compareToIgnoreCase(patientHivStatus)) == 0) {
                    hivOptionValues.set(i, hivOptionValues.get(i) + 1);
                    found = true;
                }
                i++;
            }

            if (!found) {
                hivOptionValues.set(hivOptionValues.size() - 1,
                        hivOptionValues.get(hivOptionValues.size() - 1) + 1);
            }

        }

        int i = 0;
        for (String s : hivOptions) {
            if (hivOptionValues.get(i) > 0) {
                Float percentage = new Float(100 * hivOptionValues.get(i) / objects.size());
                pieDataset.setValue(s + " (" + hivOptionValues.get(i) + " , " + percentage + "%)", percentage);
            }
            i++;
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
    String title = appContext.getMessage("pmtct.menu.patientInPmtct", null, userContext.getLocale());

    JFreeChart chart = ChartFactory.createPieChart(title + " : " + Context.getConceptService()
            .getConcept(PMTCTConstants.HIV_STATUS).getPreferredName(userContext.getLocale()), pieDataset, true,
            true, false);

    return chart;
}

From source file:org.openmrs.module.pmtct.web.view.chart.InfantPCRPieChartView.java

/**
 * @see org.openmrs.module.pmtct.web.view.chart.AbstractChartView#createChart(java.util.Map,
 *      javax.servlet.http.HttpServletRequest)
 *///from   www.  ja v a  2s  . c o m
@Override
protected JFreeChart createChart(Map<String, Object> model, HttpServletRequest request) {
    UserContext userContext = Context.getUserContext();
    ApplicationContext appContext = ContextProvider.getApplicationContext();
    PMTCTModuleTag tag = new PMTCTModuleTag();

    List<Object> res = new ArrayList<Object>();

    DefaultPieDataset pieDataset = new DefaultPieDataset();
    String title = "", descriptionTitle = "", dateInterval = "";
    Concept concept = null;
    SimpleDateFormat df = Context.getDateFormat();

    //            Date myDate1 = new Date("1/1/" + ((new Date()).getYear() + 1900));
    //            String startDate1 = df.format(myDate1);

    Date today = new Date();
    Date oneYearFromNow = new Date(new Date().getTime() - PMTCTConstants.YEAR_IN_MILLISECONDS);

    String endDate1 = df.format(today);
    String startDate1 = df.format(oneYearFromNow);

    dateInterval = "(" + new SimpleDateFormat("dd-MMM-yyyy").format(oneYearFromNow) + " - "
            + new SimpleDateFormat("dd-MMM-yyyy").format(today) + ")";

    try {

        PmtctService pmtct;
        pmtct = Context.getService(PmtctService.class);
        try {
            res = pmtct.getGeneralStatForInfantTests_Charting_PCR(startDate1, endDate1);
        } catch (SQLException ex) {
            ex.printStackTrace();
        } catch (Exception ex) {
            ex.printStackTrace();
        }

        List<String> hivTestResultOptions = new ArrayList<String>();

        List<Integer> pcr_hivTestResultValues = new ArrayList<Integer>();

        Collection<ConceptAnswer> answers = Context.getConceptService()
                .getConcept(PMTCTConstants.RESULT_OF_HIV_TEST).getAnswers();
        for (ConceptAnswer str : answers) {
            hivTestResultOptions.add(str.getAnswerConcept().getName().getName());

            pcr_hivTestResultValues.add(0);
        }
        hivTestResultOptions.add("Others");
        pcr_hivTestResultValues.add(0);

        for (Object ob : res) {
            int val = 0;
            String temp = "", pcr_hivTestResult = "";

            temp = "" + ((Object[]) ob)[2];
            val = (temp.compareTo("") == 0) ? 0 : Integer.parseInt(temp);
            if (val > 0)
                pcr_hivTestResult = tag.getConceptNameById(temp);

            int i = 0;
            boolean pcr_found = false;
            for (String s : hivTestResultOptions) {
                if ((s.compareToIgnoreCase(pcr_hivTestResult)) == 0) {
                    pcr_hivTestResultValues.set(i, pcr_hivTestResultValues.get(i) + 1);
                    pcr_found = true;
                }
                i++;
            }

            if (!pcr_found) {
                pcr_hivTestResultValues.set(pcr_hivTestResultValues.size() - 1,
                        pcr_hivTestResultValues.get(pcr_hivTestResultValues.size() - 1) + 1);
            }
        }

        int i = 0;
        for (String s : hivTestResultOptions) {
            if (pcr_hivTestResultValues.get(i) > 0) {
                Float percentage = new Float(100 * pcr_hivTestResultValues.get(i) / res.size());
                pieDataset.setValue(s + " (" + pcr_hivTestResultValues.get(i) + " , " + percentage + "%)",
                        percentage);
            }
            i++;
        }

        title = appContext.getMessage("pmtct.menu.infantTest", null, userContext.getLocale());
        concept = null;
        descriptionTitle = Context.getEncounterService()
                .getEncounterType(PMTCTConfigurationUtils.getPCRTestEncounterTypeId()).getName();
        descriptionTitle += dateInterval;
    } catch (Exception ex) {
        ex.printStackTrace();
    }

    JFreeChart chart = ChartFactory.createPieChart(title + " : "
            + ((null != concept) ? concept.getPreferredName(userContext.getLocale()) : descriptionTitle),
            pieDataset, true, true, false);

    return chart;
}

From source file:org.openmrs.module.pmtct.web.view.chart.InfantPieChartView.java

/**
 * @see org.openmrs.module.pmtct.web.view.chart.AbstractChartView#createChart(java.util.Map,
 *      javax.servlet.http.HttpServletRequest)
 *//*from w w  w  .  ja v a  2  s .  c o  m*/
@Override
protected JFreeChart createChart(Map<String, Object> model, HttpServletRequest request) {
    UserContext userContext = Context.getUserContext();
    ApplicationContext appContext = ContextProvider.getApplicationContext();
    PMTCTModuleTag tag = new PMTCTModuleTag();

    List<Object> res = new ArrayList<Object>();

    DefaultPieDataset pieDataset = new DefaultPieDataset();
    String title = "", descriptionTitle = "", dateInterval = "";
    Concept concept = null;
    SimpleDateFormat df = Context.getDateFormat();
    Encounter matEnc = null;

    Date today = new Date();
    Date oneYearFromNow = new Date(new Date().getTime() - PMTCTConstants.YEAR_IN_MILLISECONDS);

    String endDate = df.format(today);
    String startDate = df.format(oneYearFromNow);

    dateInterval = "(" + new SimpleDateFormat("dd-MMM-yyyy").format(oneYearFromNow) + " - "
            + new SimpleDateFormat("dd-MMM-yyyy").format(today) + ")";

    if (request.getParameter("type").compareTo("1") == 0) {
        try {
            //            Date myDate = new Date("1/1/" + ((new Date()).getYear() + 1900));
            //            String startDate = df.format(myDate);
            //            Date today=new Date();
            //            Date oneYearFromNow=new Date(new Date().getTime() - PMTCTConstants.YEAR_IN_MILLISECONDS);

            PmtctService pmtct;
            pmtct = Context.getService(PmtctService.class);
            try {
                res = pmtct.getGeneralStatForInfantTests_Charting_IFM(startDate, endDate);
            } catch (SQLException ex) {
                ex.printStackTrace();
            } catch (Exception ex) {
                ex.printStackTrace();
            }

            List<String> infantFeedingMethodOptions = new ArrayList<String>();
            List<Integer> infantFeedingMethodValues = new ArrayList<Integer>();
            Collection<ConceptAnswer> answers = Context.getConceptService()
                    .getConcept(PMTCTConstants.INFANT_FEEDING_METHOD).getAnswers();
            for (ConceptAnswer str : answers) {
                infantFeedingMethodOptions.add(str.getAnswerConcept().getName().getName());
                infantFeedingMethodValues.add(0);
            }
            infantFeedingMethodOptions.add("Others");
            infantFeedingMethodValues.add(0);

            for (Object ob : res) {
                int patientId = (Integer) ((Object[]) ob)[0];

                matEnc = tag.getMaternityEncounterInfo(patientId);

                String infantFeedingMethod = tag.observationValueByConcept(matEnc,
                        PMTCTConstants.INFANT_FEEDING_METHOD);

                int i = 0;
                boolean found = false;
                for (String s : infantFeedingMethodOptions) {
                    if ((s.compareToIgnoreCase(infantFeedingMethod)) == 0) {
                        infantFeedingMethodValues.set(i, infantFeedingMethodValues.get(i) + 1);
                        found = true;
                    }
                    i++;
                }

                if (!found) {
                    infantFeedingMethodValues.set(infantFeedingMethodValues.size() - 1,
                            infantFeedingMethodValues.get(infantFeedingMethodValues.size() - 1) + 1);
                }

            }

            int i = 0;
            for (String s : infantFeedingMethodOptions) {
                if (infantFeedingMethodValues.get(i) > 0) {
                    Float percentage = new Float(100 * infantFeedingMethodValues.get(i) / res.size());
                    pieDataset.setValue(s + " (" + infantFeedingMethodValues.get(i) + " , " + percentage + "%)",
                            percentage);
                }
                i++;
            }

            title = appContext.getMessage("pmtct.menu.infantTest", null, userContext.getLocale());
            concept = Context.getConceptService().getConcept(PMTCTConstants.INFANT_FEEDING_METHOD);

        } catch (Exception ex) {
            ex.printStackTrace();
        }
    } else if (request.getParameter("type").compareTo("2") == 0) {
        try {
            //            Date myDate2 = new Date("1/1/" + ((new Date()).getYear() + 1900));
            //            String startDate2 = df.format(myDate2);

            //            Date today=new Date();
            //            Date oneYearFromNow=new Date(new Date().getTime() - PMTCTConstants.YEAR_IN_MILLISECONDS);

            //            String endDate2 = df.format(today);
            //            String startDate2 = df.format(oneYearFromNow);

            //            dateInterval = "(" + new SimpleDateFormat("dd-MMM-yyyy").format(oneYearFromNow) + " - " + new SimpleDateFormat("dd-MMM-yyyy").format(today) + ")";

            PmtctService pmtct;
            pmtct = Context.getService(PmtctService.class);
            try {
                res = pmtct.getGeneralStatForInfantTests_Charting_SerAt9Months(startDate, endDate);
            } catch (SQLException ex) {
                ex.printStackTrace();
            } catch (Exception ex) {
                ex.printStackTrace();
            }

            List<String> hivTestResultOptions = new ArrayList<String>();

            List<Integer> ser9m_hivTestResultValues = new ArrayList<Integer>();

            Collection<ConceptAnswer> answers = Context.getConceptService()
                    .getConcept(PMTCTConstants.RESULT_OF_HIV_TEST).getAnswers();
            for (ConceptAnswer str : answers) {
                hivTestResultOptions.add(str.getAnswerConcept().getName().getName());

                ser9m_hivTestResultValues.add(0);
            }
            hivTestResultOptions.add("Others");
            ser9m_hivTestResultValues.add(0);

            for (Object ob : res) {
                int val = 0;
                String temp = "", ser9m_hivTestResult = "";

                temp = "" + ((Object[]) ob)[2];
                val = (temp.compareTo("") == 0) ? 0 : Integer.parseInt(temp);
                if (val > 0)
                    ser9m_hivTestResult = tag.getConceptNameById(temp);

                int i = 0;
                boolean ser9m_found = false;
                for (String s : hivTestResultOptions) {
                    if ((s.compareToIgnoreCase(ser9m_hivTestResult)) == 0) {
                        ser9m_hivTestResultValues.set(i, ser9m_hivTestResultValues.get(i) + 1);
                        ser9m_found = true;
                    }
                    i++;
                }

                if (!ser9m_found) {
                    ser9m_hivTestResultValues.set(ser9m_hivTestResultValues.size() - 1,
                            ser9m_hivTestResultValues.get(ser9m_hivTestResultValues.size() - 1) + 1);
                }
            }

            int i = 0;
            for (String s : hivTestResultOptions) {
                if (ser9m_hivTestResultValues.get(i) > 0) {
                    Float percentage = new Float(100 * ser9m_hivTestResultValues.get(i) / res.size());
                    pieDataset.setValue(s + " (" + ser9m_hivTestResultValues.get(i) + " , " + percentage + "%)",
                            percentage);
                }
                i++;
            }

            title = appContext.getMessage("pmtct.menu.infantTest", null, userContext.getLocale());
            concept = null;
            descriptionTitle = Context.getEncounterService()
                    .getEncounterType(PMTCTConfigurationUtils.getSerology9MonthEncounterTypeId()).getName();
            descriptionTitle += dateInterval;

        } catch (Exception ex) {
            ex.printStackTrace();
        }
    } else if (request.getParameter("type").compareTo("3") == 0) {
        try {
            //            Date myDate3 = new Date("1/1/" + ((new Date()).getYear() + 1900));
            //            String startDate3 = df.format(myDate3);

            //            String endDate3 = df.format(today);
            //            String startDate3 = df.format(oneYearFromNow);

            //            dateInterval = "(" + new SimpleDateFormat("dd-MMM-yyyy").format(oneYearFromNow) + " - " + new SimpleDateFormat("dd-MMM-yyyy").format(today) + ")";

            PmtctService pmtct;
            pmtct = Context.getService(PmtctService.class);
            try {
                res = pmtct.getGeneralStatForInfantTests_Charting_SerAt18Months(startDate, endDate);
            } catch (SQLException ex) {
                ex.printStackTrace();
            } catch (Exception ex) {
                ex.printStackTrace();
            }

            List<String> hivTestResultOptions = new ArrayList<String>();

            List<Integer> ser18m_hivTestResultValues = new ArrayList<Integer>();

            Collection<ConceptAnswer> answers = Context.getConceptService()
                    .getConcept(PMTCTConstants.RESULT_OF_HIV_TEST).getAnswers();
            for (ConceptAnswer str : answers) {
                hivTestResultOptions.add(str.getAnswerConcept().getName().getName());

                ser18m_hivTestResultValues.add(0);
            }
            hivTestResultOptions.add("Others");
            ser18m_hivTestResultValues.add(0);

            for (Object ob : res) {
                int val = 0;
                String temp = "", ser18m_hivTestResult = "";

                temp = "" + ((Object[]) ob)[2];
                val = (temp.compareTo("") == 0) ? 0 : Integer.parseInt(temp);
                if (val > 0)
                    ser18m_hivTestResult = tag.getConceptNameById(temp);

                int i = 0;
                boolean ser18m_found = false;
                for (String s : hivTestResultOptions) {
                    if ((s.compareToIgnoreCase(ser18m_hivTestResult)) == 0) {
                        ser18m_hivTestResultValues.set(i, ser18m_hivTestResultValues.get(i) + 1);
                        ser18m_found = true;
                    }
                    i++;
                }

                if (!ser18m_found) {
                    ser18m_hivTestResultValues.set(ser18m_hivTestResultValues.size() - 1,
                            ser18m_hivTestResultValues.get(ser18m_hivTestResultValues.size() - 1) + 1);
                }
            }

            int i = 0;
            for (String s : hivTestResultOptions) {
                if (ser18m_hivTestResultValues.get(i) > 0) {
                    Float percentage = new Float(100 * ser18m_hivTestResultValues.get(i) / res.size());
                    pieDataset.setValue(
                            s + " (" + ser18m_hivTestResultValues.get(i) + " , " + percentage + "%)",
                            percentage);
                }
                i++;
            }

            title = appContext.getMessage("pmtct.menu.infantTest", null, userContext.getLocale());
            concept = null;
            descriptionTitle = Context.getEncounterService()
                    .getEncounterType(PMTCTConfigurationUtils.getSerology18MonthEncounterTypeId()).getName();
            descriptionTitle += dateInterval;

        } catch (Exception ex) {
            ex.printStackTrace();
        }
    } else if (request.getParameter("type").compareTo("4") == 0) {
        try {
            PmtctService pmtct;
            pmtct = Context.getService(PmtctService.class);
            try {
                res = pmtct.getGeneralStatForInfantTests_Charting_PCR(startDate, endDate);
            } catch (SQLException ex) {
                ex.printStackTrace();
            }

            List<String> hivTestResultOptions = new ArrayList<String>();

            List<Integer> pcr_hivTestResultValues = new ArrayList<Integer>();

            Collection<ConceptAnswer> answers = Context.getConceptService()
                    .getConcept(PMTCTConstants.RESULT_OF_HIV_TEST).getAnswers();
            for (ConceptAnswer str : answers) {
                hivTestResultOptions.add(str.getAnswerConcept().getName().getName());

                pcr_hivTestResultValues.add(0);
            }
            hivTestResultOptions.add("Others");
            pcr_hivTestResultValues.add(0);

            for (Object ob : res) {
                int val = 0;
                String temp = "", pcr_hivTestResult = "";

                temp = "" + ((Object[]) ob)[2];
                val = (temp.compareTo("") == 0) ? 0 : Integer.parseInt(temp);
                if (val > 0)
                    pcr_hivTestResult = tag.getConceptNameById(temp);

                int i = 0;
                boolean pcr_found = false;
                for (String s : hivTestResultOptions) {
                    if ((s.compareToIgnoreCase(pcr_hivTestResult)) == 0) {
                        pcr_hivTestResultValues.set(i, pcr_hivTestResultValues.get(i) + 1);
                        pcr_found = true;
                    }
                    i++;
                }

                if (!pcr_found) {
                    pcr_hivTestResultValues.set(pcr_hivTestResultValues.size() - 1,
                            pcr_hivTestResultValues.get(pcr_hivTestResultValues.size() - 1) + 1);
                }
            }

            int i = 0;
            for (String s : hivTestResultOptions) {
                if (pcr_hivTestResultValues.get(i) > 0) {
                    Float percentage = new Float(100 * pcr_hivTestResultValues.get(i) / res.size());
                    pieDataset.setValue(s + " (" + pcr_hivTestResultValues.get(i) + " , " + percentage + "%)",
                            percentage);
                }
                i++;
            }

            title = appContext.getMessage("pmtct.menu.infantTest", null, userContext.getLocale());
            concept = null;
            descriptionTitle = Context.getEncounterService()
                    .getEncounterType(PMTCTConfigurationUtils.getPCRTestEncounterTypeId()).getName();
            descriptionTitle += dateInterval;
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }

    JFreeChart chart = ChartFactory.createPieChart(title + " : "
            + ((null != concept) ? concept.getPreferredName(userContext.getLocale()) + dateInterval
                    : descriptionTitle),
            pieDataset, true, true, false);

    return chart;
}

From source file:org.openmrs.module.pmtct.web.view.chart.MaternityPieChartView.java

/**
 * @see org.openmrs.module.pmtct.web.view.chart.AbstractChartView#createChart(java.util.Map,
 *      javax.servlet.http.HttpServletRequest)
 *///from  w w w  .  j a v a  2  s.  c  om
@Override
protected JFreeChart createChart(Map<String, Object> model, HttpServletRequest request) {
    UserContext userContext = Context.getUserContext();
    ApplicationContext appContext = ContextProvider.getApplicationContext();
    PMTCTModuleTag tag = new PMTCTModuleTag();

    List<Object> res = new ArrayList<Object>();
    PmtctService pmtct;
    pmtct = Context.getService(PmtctService.class);

    String startDate = "";
    String endDate = "";

    DefaultPieDataset pieDataset = new DefaultPieDataset();
    String title = "", descriptionTitle = "", dateInterval = "";
    Concept concept = null;
    Encounter enc = null;

    SimpleDateFormat df = MohTracUtil.getMySQLDateFormat();//new SimpleDateFormat("dd/MM/yyyy");

    if (request.getParameter("type").compareTo("1") == 0) {

        try {

            //            Date myDate = new Date("1/1/" + ((new Date()).getYear() + 1900));
            //            startDate = df.format(myDate);
            Date today = new Date();
            Date oneYearFromNow = new Date(new Date().getTime() - PMTCTConstants.YEAR_IN_MILLISECONDS);

            endDate = df.format(today);
            startDate = df.format(oneYearFromNow);

            dateInterval = "(" + new SimpleDateFormat("dd-MMM-yyyy").format(oneYearFromNow) + " - "
                    + new SimpleDateFormat("dd-MMM-yyyy").format(today) + ")";
            res = pmtct.getGeneralStatsForPatientsInMaternity(startDate, endDate);

            List<String> childBornOptions = new ArrayList<String>();
            List<Integer> childBornStatusValues = new ArrayList<Integer>();
            Collection<ConceptAnswer> answers = Context.getConceptService()
                    .getConcept(PMTCTConfigurationUtils.getBornStatusConceptId()).getAnswers();
            for (ConceptAnswer str : answers) {
                childBornOptions.add(str.getAnswerConcept().getName().getName());
                childBornStatusValues.add(0);
            }
            childBornOptions.add("Others");
            childBornStatusValues.add(0);

            for (Object ob : res) {
                int patientId = (Integer) ((Object[]) ob)[0];

                Encounter matEnc = tag.getMaternityEncounterInfo(patientId);

                String childResult = tag.observationValueByConcept(matEnc,
                        PMTCTConfigurationUtils.getBornStatusConceptId());

                int i = 0;
                boolean found = false;
                for (String s : childBornOptions) {
                    if ((s.compareToIgnoreCase(childResult)) == 0) {
                        childBornStatusValues.set(i, childBornStatusValues.get(i) + 1);
                        found = true;
                    }
                    i++;
                }

                if (!found) {
                    childBornStatusValues.set(childBornStatusValues.size() - 1,
                            childBornStatusValues.get(childBornStatusValues.size() - 1) + 1);
                }

            }

            int i = 0;
            for (String s : childBornOptions) {
                if (childBornStatusValues.get(i) > 0) {
                    Float percentage = new Float(100 * childBornStatusValues.get(i) / res.size());
                    pieDataset.setValue(s + " (" + childBornStatusValues.get(i) + " , " + percentage + "%)",
                            percentage);
                }
                i++;
            }
            concept = Context.getConceptService().getConcept(PMTCTConfigurationUtils.getBornStatusConceptId());
        } catch (Exception ex) {
            ex.printStackTrace();
        }

        title = MohTracUtil.getMessage("pmtct.menu.maternity", null);
    } else if (request.getParameter("type").compareTo("2") == 0) {
        try {
            res = pmtct.getExpectedPatientsInMaternity();
            String patientHivStatus = "", partnerHivStatus = "";
            int allPositive = 0, allNegative = 0, negPos = 0, posNeg = 0, other = 0;

            for (Object ob : res) {
                int patientId = (Integer) ((Object[]) ob)[0];
                enc = tag.getCPNEncounterInfo(patientId);

                patientHivStatus = tag.observationValueByConcept(enc, PMTCTConstants.RESULT_OF_HIV_TEST);
                partnerHivStatus = tag.observationValueByConcept(enc, PMTCTConstants.TESTING_STATUS_OF_PARTNER);

                if (patientHivStatus.compareTo(partnerHivStatus) == 0 && patientHivStatus.compareTo(Context
                        .getConceptService().getConcept(PMTCTConstants.POSITIVE).getName().getName()) == 0)
                    allPositive += 1;
                else if (patientHivStatus.compareTo(partnerHivStatus) == 0 && patientHivStatus.compareTo(Context
                        .getConceptService().getConcept(PMTCTConstants.NEGATIVE).getName().getName()) == 0)
                    allNegative += 1;
                else if (patientHivStatus
                        .compareTo(Context.getConceptService().getConcept(PMTCTConstants.NEGATIVE).getName()
                                .getName()) == 0
                        && partnerHivStatus.compareTo(Context.getConceptService()
                                .getConcept(PMTCTConstants.POSITIVE).getName().getName()) == 0)
                    negPos += 1;
                else if (patientHivStatus
                        .compareTo(Context.getConceptService().getConcept(PMTCTConstants.POSITIVE).getName()
                                .getName()) == 0
                        && partnerHivStatus.compareTo(Context.getConceptService()
                                .getConcept(PMTCTConstants.NEGATIVE).getName().getName()) == 0)
                    posNeg += 1;
                else
                    other += 1;
            }

            Float percentage = 0f;
            if (allPositive > 0) {
                percentage = new Float(100 * allPositive / res.size());
                title = MohTracUtil.getMessage("pmtct.menu.allPositive", null);
                pieDataset.setValue(title + " (" + allPositive + " , " + percentage + "%)", percentage);
            }

            if (allNegative > 0) {
                percentage = new Float(100 * allNegative / res.size());
                title = MohTracUtil.getMessage("pmtct.menu.allNegative", null);
                pieDataset.setValue(title + " (" + allNegative + " , " + percentage + "%)", percentage);
            }

            if (posNeg > 0) {
                percentage = new Float(100 * posNeg / res.size());
                title = MohTracUtil.getMessage("pmtct.menu.posNeg", null);
                pieDataset.setValue(title + " (" + posNeg + " , " + percentage + "%)", percentage);
            }

            if (negPos > 0) {
                percentage = new Float(100 * negPos / res.size());
                title = MohTracUtil.getMessage("pmtct.menu.negPos", null);
                pieDataset.setValue(title + " (" + negPos + " , " + percentage + "%)", percentage);
            }

            if (other > 0) {
                percentage = new Float(100 * other / res.size());
                title = MohTracUtil.getMessage("pmtct.menu.otherStatus", null);
                pieDataset.setValue(title + " (" + other + " , " + percentage + "%)", percentage);
            }

            title = MohTracUtil.getMessage("pmtct.menu.expectedMaternityPatient", null);
            descriptionTitle = MohTracUtil.getMessage("pmtct.menu.partnerStatus", null);
            concept = null;
        } catch (Exception e) {
            e.printStackTrace();
        }
    } else if (request.getParameter("type").compareTo("3") == 0) {
        log.info(">>>>>>>>>>>>>>GRAPHICS>>patientsTestedInDeliveryRoom>>>Starting...");

        try {
            //            Date myDate = new Date("1/1/" + ((new Date()).getYear() + 1900));
            //            startDate = df.format(myDate);
            Date today = new Date();
            Date oneYearFromNow = new Date(new Date().getTime() - PMTCTConstants.YEAR_IN_MILLISECONDS);

            endDate = df.format(today);
            startDate = df.format(oneYearFromNow);

            log.info(">>>>>>>>>>>>>>GRAPHICS>>patientsTestedInDeliveryRoom>>>startdate=" + startDate
                    + "  -  endDate" + endDate);

            dateInterval = "(" + new SimpleDateFormat("dd-MMM-yyyy").format(oneYearFromNow) + " - "
                    + new SimpleDateFormat("dd-MMM-yyyy").format(today) + ")";
            res = pmtct.getpatientsTestedInDeliveryRoom(startDate, endDate);
            log.info(">>>>>>>>>>>>>>GRAPHICS>>patientsTestedInDeliveryRoom>>>Result=" + res.size());
            //            log.info(">>>>>>>>>>>>>>MaternityPieChartView>> startdate=" + startDate + "----- enddate=" + endDate
            //                    + "<<=====>>" + res.size());

            List<String> resultOfHIVTestOptions = new ArrayList<String>();
            List<Integer> resultOfHIVTestValues = new ArrayList<Integer>();
            Collection<ConceptAnswer> answers = Context.getConceptService()
                    .getConcept(PMTCTConstants.RESULT_HIV_TEST_IN_DELIVERY_ROOM).getAnswers();
            for (ConceptAnswer str : answers) {
                resultOfHIVTestOptions.add(str.getAnswerConcept().getName().getName());
                resultOfHIVTestValues.add(0);
            }
            resultOfHIVTestOptions.add("Others");
            resultOfHIVTestValues.add(0);

            for (Object ob : res) {
                int patientId = (Integer) ((Object[]) ob)[0];

                Encounter matEnc = tag.getMaternityEncounterInfo(patientId);

                String hivTestResult = tag.observationValueByConcept(matEnc,
                        PMTCTConstants.RESULT_HIV_TEST_IN_DELIVERY_ROOM);

                int i = 0;
                boolean found = false;
                for (String s : resultOfHIVTestOptions) {
                    if ((s.compareToIgnoreCase(hivTestResult)) == 0) {
                        resultOfHIVTestValues.set(i, resultOfHIVTestValues.get(i) + 1);
                        found = true;
                    }
                    i++;
                }

                if (!found) {
                    resultOfHIVTestValues.set(resultOfHIVTestValues.size() - 1,
                            resultOfHIVTestValues.get(resultOfHIVTestValues.size() - 1) + 1);
                }

            }

            int i = 0;
            for (String s : resultOfHIVTestOptions) {
                if (resultOfHIVTestValues.get(i) > 0) {
                    Float percentage = new Float(100 * resultOfHIVTestValues.get(i) / res.size());
                    pieDataset.setValue(s + " (" + resultOfHIVTestValues.get(i) + " , " + percentage + "%)",
                            percentage);
                }
                i++;
            }
            concept = Context.getConceptService()
                    .getConcept(PMTCTConfigurationUtils.getHivTestInDeliveryRoomConceptId());
            log.info(">>>>>>>>>>>>>>GRAPHICS>>patientsTestedInDeliveryRoom>>>End");
        } catch (Exception ex) {
            log.error(">>>>>>>>>An error occured when trying to create piechart...");
            ex.printStackTrace();
        }

        title = appContext.getMessage("pmtct.menu.maternity", null, userContext.getLocale());
    }

    JFreeChart chart = ChartFactory.createPieChart(title + " : "
            + ((null != concept) ? concept.getPreferredName(userContext.getLocale()) + dateInterval
                    : descriptionTitle),
            pieDataset, true, true, false);

    return chart;
}