Example usage for org.springframework.transaction.support DefaultTransactionDefinition setPropagationBehavior

List of usage examples for org.springframework.transaction.support DefaultTransactionDefinition setPropagationBehavior

Introduction

In this page you can find the example usage for org.springframework.transaction.support DefaultTransactionDefinition setPropagationBehavior.

Prototype

public final void setPropagationBehavior(int propagationBehavior) 

Source Link

Document

Set the propagation behavior.

Usage

From source file:com.krawler.spring.crm.emailMarketing.crmEmailMarketingController.java

public ModelAndView scheduleEmailMarketing(HttpServletRequest request, HttpServletResponse response)
        throws ServletException {
    JSONObject jobj = new JSONObject();
    //Create transaction
    DefaultTransactionDefinition def = new DefaultTransactionDefinition();
    def.setName("JE_Tx");
    def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED);
    def.setIsolationLevel(TransactionDefinition.ISOLATION_READ_UNCOMMITTED);
    TransactionStatus status = txnManager.getTransaction(def);
    try {//www . j  av a2  s . c om
        jobj.put("success", false);
        HashMap<String, Object> requestParams = new HashMap<String, Object>();

        requestParams.put("emailmarketingid", request.getParameter("emailmarketingid"));
        requestParams.put("userid", sessionHandlerImpl.getUserid(request));
        Long scheduledate = Long.parseLong(request.getParameter("scheduledate"));
        String scheduletime = request.getParameter("scheduletime");
        requestParams.put("scheduledate", scheduledate);
        requestParams.put("scheduletime", scheduletime);

        KwlReturnObject kmsg = crmEmailMarketingDAOObj.scheduleEmailMarketing(requestParams);
        jobj.put("success", kmsg.isSuccessFlag());
        txnManager.commit(status);
    } catch (SessionExpiredException e) {
        logger.warn(e.getMessage(), e);
        txnManager.rollback(status);
    } catch (ServiceException e) {
        logger.warn(e.getMessage(), e);
        txnManager.rollback(status);
    } catch (JSONException e) {
        logger.warn(e.getMessage(), e);
        txnManager.rollback(status);
    }
    return new ModelAndView("jsonView", "model", jobj.toString());
}

From source file:com.krawler.spring.crm.emailMarketing.crmEmailMarketingController.java

public ModelAndView sendEmailMarketMail(HttpServletRequest request, HttpServletResponse response)
        throws ServletException {
    JSONObject jobj = new JSONObject();
    //Create transaction
    DefaultTransactionDefinition def = new DefaultTransactionDefinition();
    def.setName("JE_Tx");
    def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED);
    def.setIsolationLevel(TransactionDefinition.ISOLATION_READ_UNCOMMITTED);
    TransactionStatus status = txnManager.getTransaction(def);
    String msg = "";
    try {/*  w  ww  . j  av  a  2s .  c  om*/
        jobj.put("success", false);
        HashMap<String, Object> requestParams = new HashMap<String, Object>();
        requestParams.put("userid", sessionHandlerImpl.getUserid(request));
        requestParams.put("companyid", sessionHandlerImpl.getCompanyid(request));
        requestParams.put("campaignid", request.getParameter("campid"));
        requestParams.put("emailmarkid", request.getParameter("emailmarkid"));
        requestParams.put("resume", Boolean.parseBoolean(request.getParameter("resume")));
        requestParams.put("baseurl", URLUtil.getRequestPageURL(request, Links.UnprotectedLoginPageFull));
        KwlReturnObject kmsg = crmEmailMarketingDAOObj.sendEmailMarketMail(requestParams);
        jobj.put("success", kmsg.isSuccessFlag());
        msg = kmsg.getEntityList().get(0).toString();
        jobj.put("msgs", msg);
        txnManager.commit(status);
    } catch (SessionExpiredException e) {
        logger.warn(e.getMessage(), e);
        txnManager.rollback(status);
    } catch (ServiceException e) {
        logger.warn(e.getMessage(), e);
        txnManager.rollback(status);
    } catch (JSONException e) {
        logger.warn(e.getMessage(), e);
        txnManager.rollback(status);
    }
    return new ModelAndView("jsonView", "model", jobj.toString());
}

From source file:com.krawler.spring.crm.emailMarketing.crmEmailMarketingController.java

public ModelAndView sendTemplateTestMail(HttpServletRequest request, HttpServletResponse response)
        throws ServletException {
    JSONObject myjobj = null;//ww  w .  j a v a  2 s  . c om
    DefaultTransactionDefinition def = new DefaultTransactionDefinition();
    def.setName("JE_Tx");
    def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED);
    def.setIsolationLevel(TransactionDefinition.ISOLATION_READ_UNCOMMITTED);
    TransactionStatus status = txnManager.getTransaction(def);
    try {
        myjobj = new JSONObject();
        String bodyhtml = StringUtil.checkForNull(request.getParameter("bodyhtml"));
        String subject = StringUtil.checkForNull(request.getParameter("tsubject"));
        User user = profileHandlerDAOObj.getUserObject(sessionHandlerImpl.getUserid(request));
        String mailid = StringUtil.checkForNull(user.getEmailID());
        myjobj.put("valid", true);
        if (!StringUtil.isNullOrEmpty(mailid)) {
            try {
                String baseUrl = com.krawler.common.util.URLUtil.getRequestPageURL(request,
                        Links.UnprotectedLoginPageFull);
                bodyhtml = bodyhtml.replaceAll("src=\"[^\"]*?video.jsp", "src=\"" + baseUrl + "video.jsp");
                SendMailHandler.postMail(new String[] { mailid }, subject, bodyhtml, "",
                        storageHandlerImpl.GetNewsLetterAddress());
                myjobj.put("data", "{success: true, msg: Test mail sent to your registerd mail id}");
            } catch (Exception e) {
                myjobj.put("data", "{success: true, msg: " + e.getMessage() + "}");
            }
        } else {
            myjobj.put("data", "{success: false, errormsg: No emailid specified}");
        }
        txnManager.commit(status);
    } catch (JSONException e) {
        logger.warn(e.getMessage(), e);
        txnManager.rollback(status);
    } catch (Exception e) {
        logger.warn(e.getMessage(), e);
        txnManager.rollback(status);
    }
    return new ModelAndView("jsonView", "model", myjobj.toString());
}

From source file:com.krawler.spring.crm.emailMarketing.crmEmailMarketingController.java

public ModelAndView saveCampaignTarget(HttpServletRequest request, HttpServletResponse response)
        throws ServletException {
    JSONObject myjobj = new JSONObject();
    KwlReturnObject kmsg = null;/*from   ww w  .ja  v  a  2 s  .  c o m*/
    //Create transaction
    DefaultTransactionDefinition def = new DefaultTransactionDefinition();
    def.setName("JE_Tx");
    def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED);
    def.setIsolationLevel(TransactionDefinition.ISOLATION_READ_UNCOMMITTED);
    TransactionStatus status = txnManager.getTransaction(def);
    try {
        myjobj.put("success", false);
        int type = Integer.parseInt(request.getParameter("type"));
        JSONObject jobj = new JSONObject();

        if (type == 1) {
            String targID = request.getParameter("targID");
            String campID = request.getParameter("campID");
            String userid = sessionHandlerImpl.getUserid(request);
            String camptargetid = java.util.UUID.randomUUID().toString();

            jobj.put("userid", userid);
            jobj.put("campid", campID);
            jobj.put("targetid", targID);
            jobj.put("camptargetid", camptargetid);
            jobj.put("userid", userid);
            jobj.put("createdon", new Date().getTime());
            kmsg = crmEmailMarketingDAOObj.addCampaignTarget(jobj);
        } else if (type == 2) {
            String camptargetid = request.getParameter("ctID");
            jobj.put("camptargetid", camptargetid);
            jobj.put("deleted", 1);
            kmsg = crmEmailMarketingDAOObj.editCampaignTarget(jobj);
        }
        myjobj.put("success", true);
        txnManager.commit(status);
    } catch (Exception e) {
        logger.warn(e.getMessage(), e);
        txnManager.rollback(status);
    }
    return new ModelAndView("jsonView", "model", myjobj.toString());
}

From source file:com.krawler.spring.crm.emailMarketing.crmEmailMarketingController.java

public ModelAndView deleteTargetList(HttpServletRequest request, HttpServletResponse response)
        throws ServletException {
    String retMsg = "{success:false}";
    //Create transaction
    DefaultTransactionDefinition def = new DefaultTransactionDefinition();
    def.setName("JE_Tx");
    def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED);
    def.setIsolationLevel(TransactionDefinition.ISOLATION_READ_UNCOMMITTED);
    TransactionStatus status = txnManager.getTransaction(def);
    try {//from   w ww . ja  v  a 2s. co m
        if (!StringUtil.isNullOrEmpty(request.getParameter("jsondata"))) {
            String jsondata = request.getParameter("jsondata");
            JSONArray jarr = new JSONArray("[" + jsondata + "]");
            for (int i = 0; i < jarr.length(); i++) {
                String listid = jarr.getJSONObject(i).getString("listid");
                HashMap<String, Object> requestParams = new HashMap<String, Object>();
                requestParams.put("mode", 2);
                requestParams.put("listid", listid);
                KwlReturnObject kmsg = crmEmailMarketingDAOObj.saveTargetListTargets(requestParams);

                HashMap<String, Object> subRequestParams = new HashMap<String, Object>();
                ArrayList filter_names = new ArrayList();
                ArrayList filter_params = new ArrayList();
                filter_names.add("deleted");
                filter_params.add(0);
                filter_names.add("targetlist.id");
                filter_params.add(listid);
                subRequestParams.put("filter_names", filter_names);
                subRequestParams.put("filter_params", filter_params);
                subRequestParams.put("allflag", true);
                KwlReturnObject subkmsg = crmEmailMarketingDAOObj.getCampaignTarget(subRequestParams);
                Iterator ite = subkmsg.getEntityList().iterator();
                while (ite.hasNext()) {
                    CampaignTarget ct = (CampaignTarget) ite.next();
                    JSONObject jObj = new JSONObject();
                    jObj.put("camptargetid", ct.getId());
                    jObj.put("deleted", 1);
                    crmEmailMarketingDAOObj.editCampaignTarget(jObj);
                }
            }
        }
        retMsg = "{success:true}";
        txnManager.commit(status);
    } catch (ServiceException e) {
        logger.warn(e.getMessage(), e);
        txnManager.rollback(status);
    } catch (Exception e) {
        logger.warn(e.getMessage(), e);
        txnManager.rollback(status);
    }
    return new ModelAndView("jsonView", "model", retMsg);
}

From source file:com.krawler.spring.crm.emailMarketing.crmEmailMarketingController.java

public ModelAndView saveEmailType(HttpServletRequest request, HttpServletResponse response)
        throws ServletException {
    JSONObject myjobj = new JSONObject();
    KwlReturnObject kmsg = null;/*from  www  .ja v a  2  s. c o m*/
    //Create transaction
    DefaultTransactionDefinition def = new DefaultTransactionDefinition();
    def.setName("JE_Tx");
    def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED);
    def.setIsolationLevel(TransactionDefinition.ISOLATION_READ_UNCOMMITTED);
    TransactionStatus status = txnManager.getTransaction(def);
    try {
        myjobj.put("success", false);
        JSONObject jobj = new JSONObject();
        String companyid = sessionHandlerImpl.getCompanyid(request);
        String templatename = request.getParameter("tname");
        templatename = templatename.replaceAll("\\s+", " ").trim();
        jobj.put("userid", sessionHandlerImpl.getUserid(request));
        jobj.put("tbody", request.getParameter("tbody"));
        jobj.put("description", request.getParameter("tdesc"));
        jobj.put("subject", request.getParameter("tsub"));
        jobj.put("name", templatename);
        jobj.put("plaintext", request.getParameter("plaintext"));
        jobj.put("companyid", companyid);

        ArrayList filter_names = new ArrayList();
        ArrayList filter_params = new ArrayList();
        filter_names.add("c.name");
        filter_params.add(templatename);
        filter_names.add("c.company.companyID");
        filter_params.add(companyid);

        HashMap<String, Object> requestParams = new HashMap<String, Object>();
        requestParams.put("filter_names", filter_names);
        requestParams.put("filter_params", filter_params);
        KwlReturnObject kmsg1 = crmEmailMarketingDAOObj.getEmailTypeContent(requestParams);
        if (kmsg1.getRecordTotalCount() > 0) {
            List<EnumEmailType> enumEmailList = kmsg1.getEntityList();
            for (EnumEmailType eet : enumEmailList) {
                jobj.put("modifiedon", new Date().getTime());
                jobj.put("tid", eet.getTypeid());
            }
            kmsg = crmEmailMarketingDAOObj.editEmailType(jobj);
        } else {
            jobj.put("modifiedon", new Date().getTime());
            jobj.put("createdon", new Date().getTime());
            kmsg = crmEmailMarketingDAOObj.addEmailType(jobj);
        }

        myjobj.put("success", true);
        txnManager.commit(status);
    } catch (Exception e) {
        logger.warn(e.getMessage(), e);
        txnManager.rollback(status);
    }
    return new ModelAndView("jsonView", "model", myjobj.toString());
}

From source file:com.krawler.spring.crm.emailMarketing.crmEmailMarketingController.java

public ModelAndView saveEmailTemplate(HttpServletRequest request, HttpServletResponse response)
        throws ServletException {
    JSONObject myjobj = new JSONObject();
    KwlReturnObject kmsg = null;//  ww  w. ja va  2 s .  c  om
    //Create transaction
    DefaultTransactionDefinition def = new DefaultTransactionDefinition();
    def.setName("JE_Tx");
    def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED);
    def.setIsolationLevel(TransactionDefinition.ISOLATION_READ_UNCOMMITTED);
    TransactionStatus status = txnManager.getTransaction(def);
    try {
        myjobj.put("success", false);
        int mode = Integer.parseInt(request.getParameter("mode"));
        String templateClass = request.getParameter("templateclass");
        JSONObject jobj = new JSONObject();
        String companyid = sessionHandlerImpl.getCompanyid(request);
        String templatename = request.getParameter("tname");
        templatename = templatename.replaceAll("\\s+", " ").trim();
        jobj.put("userid", sessionHandlerImpl.getUserid(request));
        jobj.put("tbody", request.getParameter("tbody"));
        jobj.put("description", request.getParameter("tdesc"));
        jobj.put("subject", request.getParameter("tsub"));
        jobj.put("name", templatename);

        ArrayList filter_names = new ArrayList();
        ArrayList filter_params = new ArrayList();
        filter_names.add("c.name");
        filter_params.add(templatename);
        filter_names.add("c.creator.company.companyID");
        filter_params.add(companyid);
        filter_names.add("c.deleted");
        filter_params.add(0);

        HashMap<String, Object> requestParams = new HashMap<String, Object>();
        requestParams.put("filter_names", filter_names);
        requestParams.put("filter_params", filter_params);

        KwlReturnObject kmsg1 = crmEmailMarketingDAOObj.getTemplateContent(requestParams);
        if (kmsg1.getRecordTotalCount() > 0 && (mode == 0 || templateClass.equals("DefaultTemplates"))) {
            myjobj.put("msg", "Email template with ' " + templatename
                    + " ' name already exists. Please change the name and save it again.");
        } else {
            if (mode == 0) {
                jobj.put("modifiedon", new Date().getTime());
                jobj.put("createdon", new Date().getTime());
                kmsg = crmEmailMarketingDAOObj.addEmailTemplate(jobj);
            } else {
                jobj.put("modifiedon", new Date().getTime());
                jobj.put("deleted", "0");
                if (templateClass.equals("DefaultTemplates")) {
                    HashMap<String, Object> params = new HashMap<String, Object>();
                    params.put("userid", sessionHandlerImpl.getUserid(request));
                    params.put("templateid", request.getParameter("tid"));
                    KwlReturnObject copyMsg = crmEmailMarketingDAOObj.copyDefaultTemplates(params);
                    List templateid = copyMsg.getEntityList();
                    jobj.put("tid", templateid.get(0));
                } else {
                    jobj.put("tid", request.getParameter("tid"));
                }
                kmsg = crmEmailMarketingDAOObj.editEmailTemplate(jobj);
            }
        }
        myjobj.put("success", true);
        txnManager.commit(status);
    } catch (Exception e) {
        logger.warn(e.getMessage(), e);
        txnManager.rollback(status);
    }
    return new ModelAndView("jsonView", "model", myjobj.toString());
}

From source file:com.krawler.spring.crm.emailMarketing.crmEmailMarketingController.java

public ModelAndView saveEmailTemplateFiles(HttpServletRequest request, HttpServletResponse response)
        throws ServletException {
    JSONObject result = new JSONObject();
    DefaultTransactionDefinition def = new DefaultTransactionDefinition();
    def.setName("JE_Tx");
    def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED);
    def.setIsolationLevel(TransactionDefinition.ISOLATION_READ_UNCOMMITTED);
    TransactionStatus status = txnManager.getTransaction(def);
    try {/*  w w w .  j  a va 2s . c  o m*/
        result.put("success", false);
        int file_type = 1;
        String fType = request.getParameter("type");
        if (fType != null && fType.compareTo("img") == 0) {
            file_type = 0;
        }
        String companyid = sessionHandlerImpl.getCompanyid(request);
        String filename = "";
        ServletFileUpload fu = new ServletFileUpload(
                new DiskFileItemFactory(DiskFileItemFactory.DEFAULT_SIZE_THRESHOLD, new File("/tmp")));
        if (fu.isMultipartContent(request)) {
            List<FileItem> fileItems = fu.parseRequest(request);
            for (FileItem field : fileItems) {
                if (!field.isFormField()) {
                    String fname = new String(field.getName().getBytes(), "UTF8");
                    String file_id = java.util.UUID.randomUUID().toString();
                    String file_extn = fname.substring(fname.lastIndexOf("."));
                    filename = file_id.concat(file_extn);
                    boolean isUploaded = false;
                    fname = fname.substring(fname.lastIndexOf("\\") + 1);
                    if (field.getSize() != 0) {
                        String basePath = StorageHandler.GetDocStorePath() + companyid + "/" + fType;
                        File destDir = new File(basePath);
                        if (!destDir.exists()) {
                            destDir.mkdirs();
                        }
                        File uploadFile = new File(basePath + "/" + filename);
                        field.write(uploadFile);
                        isUploaded = true;
                        String id = request.getParameter("fileid");
                        if (StringUtil.isNullOrEmpty(id)) {
                            id = file_id;
                        }

                        crmEmailMarketingDAOObj.saveEmailTemplateFile(id, fname, file_extn, new Date(),
                                file_type, sessionHandlerImplObj.getUserid());
                    }
                }
            }
        }
        txnManager.commit(status);
        result.put("success", true);
    } catch (ServiceException e) {
        logger.warn(e.getMessage(), e);
        txnManager.rollback(status);
        try {
            result.put("msg", e.getMessage());
        } catch (Exception je) {
        }
    } catch (UnsupportedEncodingException ex) {
        logger.warn(ex.getMessage(), ex);
        txnManager.rollback(status);
        try {
            result.put("msg", ex.getMessage());
        } catch (Exception je) {
        }
    } catch (Exception e) {
        logger.warn(e.getMessage(), e);
        txnManager.rollback(status);
        try {
            result.put("msg", e.getMessage());
        } catch (Exception je) {
        }
    }
    return new ModelAndView("jsonView", "model", result.toString());
}

From source file:com.krawler.spring.crm.emailMarketing.crmEmailMarketingController.java

public ModelAndView deleteemailMarketing(HttpServletRequest request, HttpServletResponse response)
        throws ServletException {
    JSONObject myjobj = null;//w  w  w . j  ava2 s.c om
    KwlReturnObject kmsg = null;
    KwlReturnObject kmsg1 = null;
    //Create transaction
    DefaultTransactionDefinition def = new DefaultTransactionDefinition();
    def.setName("JE_Tx");
    def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED);
    def.setIsolationLevel(TransactionDefinition.ISOLATION_READ_UNCOMMITTED);
    TransactionStatus status = txnManager.getTransaction(def);
    try {
        myjobj = new JSONObject();
        JSONArray deletejarr = new JSONArray();
        JSONArray failDeletejarr = new JSONArray();
        myjobj.put(Constants.success, false);
        if (StringUtil.bNull(request.getParameter(Constants.jsondata))) {
            String jsondata = request.getParameter(Constants.jsondata);
            JSONArray jarr = new JSONArray("[" + jsondata + "]");
            for (int i = 0; i < jarr.length(); i++) {
                JSONObject jobj = new JSONObject();
                String templateid = jarr.getJSONObject(i).getString(Constants.templateid);
                List<EmailMarketing> ll = crmEmailMarketingHandler
                        .getCampEmailMarketList(crmEmailMarketingDAOObj, templateid);
                JSONObject jobjmsg = new JSONObject();

                if (ll.isEmpty()) {
                    if (StringUtil.equal(templateid, Constants.DEFAULT_BASIC_TEMPLATEID)
                            || StringUtil.equal(templateid, Constants.DEFAULT_LEFTCOLUMN_TEMPLATEID)
                            || StringUtil.equal(templateid, Constants.DEFAULT_POSTCARD_TEMPLATEID)
                            || StringUtil.equal(templateid, Constants.DEFAULT_RICHTEXT_TEMPLATEID)
                            || StringUtil.equal(templateid, Constants.DEFAULT_RIGHTCOLUMN_TEMPLATEID)) {
                        HashMap requestParams = new HashMap();
                        ArrayList filter_names = new ArrayList();
                        ArrayList filter_params = new ArrayList();
                        filter_names.add("c.templateid");
                        filter_params.add(templateid);
                        requestParams.put("filter_names", filter_names);
                        requestParams.put("filter_params", filter_params);
                        kmsg1 = crmEmailMarketingDAOObj.getDefaultEmailTemplate(requestParams);
                        DefaultTemplates obj = (DefaultTemplates) kmsg1.getEntityList().get(0);
                        jobjmsg.put(Constants.name, obj.getName());
                        jobjmsg.put(Constants.moduleName, "Default Template");
                        failDeletejarr.put(jobjmsg);
                    } else {
                        jobj.put(Constants.modifiedon, new Date().getTime());
                        jobj.put(Constants.tid, templateid);
                        jobj.put(Constants.deleted, 1);
                        kmsg = crmEmailMarketingDAOObj.editEmailTemplate(jobj);
                        if (kmsg.isSuccessFlag()) {
                            EmailTemplate obj = (EmailTemplate) kmsg.getEntityList().get(0);
                            jobjmsg.put(Constants.name, obj.getName());
                            jobjmsg.put(Constants.moduleName, Constants.MODULE_EmailTemplate);
                            deletejarr.put(jobjmsg);
                        }
                    }

                } else {
                    EmailTemplate obj = ll.get(0).getTemplateid();
                    String emarkt = "";
                    for (EmailMarketing em : ll) {
                        emarkt += em.getName() + ", ";
                    }
                    emarkt = emarkt.substring(0, emarkt.length() - 2);
                    jobjmsg.put(Constants.name, obj.getName());
                    jobjmsg.put(Constants.moduleName, emarkt);
                    failDeletejarr.put(jobjmsg);
                }
            }
            myjobj.put(Constants.success, true);
            if (failDeletejarr.length() > 0) {
                myjobj.put(Constants.successDeleteArr, deletejarr);
                myjobj.put(Constants.failDelete, failDeletejarr);
            }
        }
        txnManager.commit(status);
    } catch (JSONException e) {
        logger.warn(e.getMessage(), e);
        txnManager.rollback(status);
    } catch (Exception e) {
        logger.warn(e.getMessage(), e);
        txnManager.rollback(status);
    }
    return new ModelAndView("jsonView", "model", myjobj.toString());
}

From source file:com.krawler.spring.crm.emailMarketing.crmEmailMarketingController.java

public ModelAndView saveCampEmailMarketConfig(HttpServletRequest request, HttpServletResponse response)
        throws ServletException {
    String retMsg = "{success:false}";
    //Create transaction
    DefaultTransactionDefinition def = new DefaultTransactionDefinition();
    def.setName("JE_Tx");
    def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED);
    def.setIsolationLevel(TransactionDefinition.ISOLATION_READ_UNCOMMITTED);
    TransactionStatus status = txnManager.getTransaction(def);
    try {/*  w  w w. j a  v a  2s  .com*/
        String emailMarketingID = null;
        HashMap<String, Object> requestParams = new HashMap<String, Object>();
        requestParams.put("userid", sessionHandlerImpl.getUserid(request));
        requestParams.put("templateid", request.getParameter("templateid"));
        KwlReturnObject copyMsg = crmEmailMarketingDAOObj.copyDefaultTemplates(requestParams);
        String templateid = request.getParameter("templateid");
        if (copyMsg.isSuccessFlag()) {
            List template = copyMsg.getEntityList();
            templateid = template.get(0).toString();
        }
        requestParams = new HashMap<String, Object>();
        requestParams.put("mode", request.getParameter("mode"));
        requestParams.put("emailmarkid", request.getParameter("emailmarkid"));
        requestParams.put("userid", sessionHandlerImpl.getUserid(request));
        requestParams.put("name", request.getParameter("name"));
        requestParams.put("fromname", request.getParameter("fromname"));
        requestParams.put("fromaddress", request.getParameter("fromaddress"));
        requestParams.put("replyaddress", request.getParameter("replyaddress"));
        requestParams.put("inboundemail", request.getParameter("inboundemail"));
        requestParams.put("htmlcont", request.getParameter("htmlcont"));
        requestParams.put("plaincont", request.getParameter("plaincont"));
        requestParams.put("unsub", request.getParameter("unsub"));
        requestParams.put("marketingsubject", request.getParameter("marketingsubject"));
        requestParams.put("fwdfriend", request.getParameter("fwdfriend"));
        requestParams.put("archive", request.getParameter("archive"));
        requestParams.put("updatelink", request.getParameter("updatelink"));
        requestParams.put("templateid", templateid);
        requestParams.put("campid", request.getParameter("campid"));
        requestParams.put("captureLead", Boolean.parseBoolean(request.getParameter("captureLead")));
        requestParams.put("colortheme", request.getParameter("colortheme"));
        requestParams.put("targetlist", request.getParameter("targetlist"));
        requestParams.put("csaccept", Boolean.parseBoolean(request.getParameter("csaccept")));

        KwlReturnObject kmsg = crmEmailMarketingDAOObj.saveCampEmailMarketConfig(requestParams);
        Iterator ite = kmsg.getEntityList().iterator();
        while (ite.hasNext()) {
            EmailMarketing emobj = (EmailMarketing) ite.next();
            HashMap<String, Object> requestParams1 = new HashMap<String, Object>();
            emailMarketingID = emobj.getId();
            requestParams1.put("emailmarkid", emailMarketingID);
            KwlReturnObject kmsg1 = crmEmailMarketingDAOObj.deleteEmailmarketingTargetList(requestParams1);
            requestParams1.put("targetlist", request.getParameter("targetlist"));
            KwlReturnObject kmsg2 = crmEmailMarketingDAOObj.mapEmailmarketingTargetList(requestParams1);
            retMsg = kmsg2.getEntityList().get(0).toString();
        }

        HashMap<String, Object> requestParams2 = new HashMap<String, Object>();
        requestParams2.put("campaignid", request.getParameter("campid"));
        crmEmailMarketingDAOObj.deleteCampaignTarget(requestParams2);
        requestParams2.put("targetlist", request.getParameter("targetlist"));
        requestParams2.put("userid", sessionHandlerImpl.getUserid(request));
        KwlReturnObject kmsg4 = crmEmailMarketingDAOObj.saveCampaignTargetList(requestParams2);

        // To Get Default Values of Email Marketing Template
        if (emailMarketingID != null) {
            JSONArray jArr = new JSONArray(request.getParameter("defaulttemplatestore"));
            crmEmailMarketingDAOObj.removeEmailMarketingDefaults(emailMarketingID);
            EmailMarketing em = crmEmailMarketingDAOObj.getEmailMarketing(emailMarketingID);
            EmailMarketingDefault emDefault;
            for (int i = 0; i < jArr.length(); i++) {
                JSONObject obj = jArr.getJSONObject(i);
                emDefault = new EmailMarketingDefault();
                emDefault.setEmailMarketing(em);
                emDefault.setVariableName(obj.getString("varname"));
                emDefault.setDefaultValue(obj.getString("varval"));
                crmEmailMarketingDAOObj.saveEmailMarketingDefault(emDefault);
            }
        }

        txnManager.commit(status);
    } catch (ServiceException e) {
        logger.warn(e.getMessage(), e);
        txnManager.rollback(status);
    } catch (Exception e) {
        logger.warn(e.getMessage(), e);
        txnManager.rollback(status);
    }
    return new ModelAndView("jsonView", "model", retMsg);
}