Example usage for org.springframework.transaction TransactionDefinition PROPAGATION_REQUIRED

List of usage examples for org.springframework.transaction TransactionDefinition PROPAGATION_REQUIRED

Introduction

In this page you can find the example usage for org.springframework.transaction TransactionDefinition PROPAGATION_REQUIRED.

Prototype

int PROPAGATION_REQUIRED

To view the source code for org.springframework.transaction TransactionDefinition PROPAGATION_REQUIRED.

Click Source Link

Document

Support a current transaction; create a new one if none exists.

Usage

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

public ModelAndView importTargetList(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 {/*from   w  ww  . j a v a 2  s . c o m*/
        HashMap<String, Object> requestParams = new HashMap<String, Object>();
        requestParams.put("importtl", request.getParameter("importtl"));
        requestParams.put("listid", request.getParameter("listid"));
        requestParams.put("userid", sessionHandlerImpl.getUserid(request));

        KwlReturnObject kmsg = crmEmailMarketingDAOObj.importTargetList(requestParams);
        TargetList tl = (TargetList) kmsg.getEntityList().get(0);

        jobj.put("success", true);
        jobj.put("TLID", tl.getId());
        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", jobj.toString());
}

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

public ModelAndView deleteTargets(HttpServletRequest request, HttpServletResponse response)
        throws ServletException {
    String retMsg = "";
    //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   www  . j  a va2  s  .co m
        HashMap<String, Object> requestParams = new HashMap<String, Object>();
        requestParams.put("relatedid", request.getParameter("relatedid"));
        requestParams.put("listid", request.getParameter("listid"));
        if (!StringUtil.isNullOrEmpty(request.getParameter("targetid"))) {
            requestParams.put("targetid", request.getParameter("targetid"));
        }
        KwlReturnObject kmsg = crmEmailMarketingDAOObj.deleteTargets(requestParams);
        retMsg = kmsg.getEntityList().get(0).toString();
        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 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 {/*from w ww. j av  a 2 s .  c om*/
        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 checkBounceStatus(HttpServletRequest request, HttpServletResponse response)
        throws ServletException {
    JSONObject myjobj = new JSONObject();
    KwlReturnObject kmsg = null;/*from  w  w w  .  jav a  2  s  .co 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);
        kmsg = bounceHandlerImplObj.checkBounceStatus();
        myjobj.put("success", kmsg.isSuccessFlag());
        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 deleteBouncedTargets(HttpServletRequest request, HttpServletResponse response)
        throws ServletException {
    JSONObject myjobj = null;// ww w  .ja va 2  s . c o m
    KwlReturnObject kmsg = 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();
        myjobj.put("success", false);
        String[] targets = request.getParameter("targets").split(",");
        kmsg = bounceHandlerImplObj.deleteBouncedTargets(targets);
        myjobj.put("success", kmsg.isSuccessFlag());
        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 sendTemplateTestMail(HttpServletRequest request, HttpServletResponse response)
        throws ServletException {
    JSONObject myjobj = null;/*from  w w w.j ava 2 s.  c  o  m*/
    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 RedirectView trackUrl(HttpServletRequest request, HttpServletResponse response) throws ServletException {
    String origUrl = request.getParameter("origurl");
    String trackid = request.getParameter("trackid");
    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 .j  a  va2  s . co m
        crmEmailMarketingDAOObj.trackUrl(trackid, origUrl, new Date());
        txnManager.commit(status);
    } catch (ServiceException e) {
        logger.warn(e.getMessage(), e);
        txnManager.rollback(status);
    }
    return new RedirectView(origUrl);
}

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

public ModelAndView updateEmailMarketingDefaults(HttpServletRequest request, HttpServletResponse response)
        throws ServletException {
    String emid = request.getParameter("emailmarketingid");
    JSONObject jobj = new JSONObject();
    EmailMarketingDefault emDefault;// w w  w  . j ava 2 s. com

    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 {
        JSONArray jArr = new JSONArray(request.getParameter("defaults"));
        crmEmailMarketingDAOObj.removeEmailMarketingDefaults(emid);
        EmailMarketing em = crmEmailMarketingDAOObj.getEmailMarketing(emid);
        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 (JSONException e) {
        logger.warn(e.getMessage(), e);
        txnManager.rollback(status);
    } catch (ServiceException e) {
        logger.warn(e.getMessage(), e);
        txnManager.rollback(status);
    }
    return new ModelAndView("jsonView", "model", jobj.toString());
}

From source file:com.krawler.spring.crm.leadModule.crmLeadCommonController.java

public ModelAndView convertLeads(HttpServletRequest request, HttpServletResponse response)
        throws ServletException {
    JSONObject myjobj = null;// w  ww . j av  a 2s. c o m
    boolean refNotFoundFlag = false;
    String refNotFoundStr = "";
    KwlReturnObject kmsg = null;
    CrmLead lead = null;
    CrmAccount acc = null;
    CrmOpportunity opp = null;
    String contactid = null;
    boolean b = 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);
    JSONObject accModulejObj = new JSONObject();
    JSONObject oppModulejObj = new JSONObject();
    JSONObject contactModulejObj = new JSONObject();
    JSONObject resJson = new JSONObject();
    try {
        Map<String, Object> moduleFields = new HashMap<String, Object>();
        Map<String, Object> columnMappedList = new HashMap<String, Object>();
        JSONArray moduleCustomfieldArray;
        myjobj = new JSONObject();
        myjobj.put("success", false);
        String timeZoneDiff = sessionHandlerImpl.getTimeZoneDifference(request);
        String timeFormatId = sessionHandlerImpl.getUserTimeFormat(request);
        boolean convertedflag = true;
        boolean companyNotifyFlag = sessionHandlerImpl.getCompanyNotifyOnFlag(request);

        // extract ip address
        String ipAddress = SystemUtil.getIpAddress(request);
        String companyid = sessionHandlerImpl.getCompanyid(request);
        if (StringUtil.bNull(request.getParameter("jsondata"))) {
            String userid = sessionHandlerImpl.getUserid(request);
            String conversiontype = " ";
            String jsondata = request.getParameter("jsondata");
            JSONArray jarr = new JSONArray("[" + jsondata + "]");
            JSONObject jobj = jarr.getJSONObject(0);
            String leadid = jobj.getString("leadid");
            CrmLead CrmLeadObj = crmLeadDAOObj.getLead(leadid);
            if (CrmLeadObj == null || CrmLeadObj.getIsconverted().equals("1")) {
                convertedflag = false;
                refNotFoundStr = " Selected lead already converted successfully.";
            }
            if (convertedflag) {

                String accflag = jobj.getString("accflag");
                String conflag = jobj.optString("conflag");
                String oppflag = jobj.getString("oppflag");
                String taskflag = jobj.getString("taskflag");

                Long closingdate = jobj.getLong("closingdate");
                String lastname = jobj.getString("lastname");
                String accountname = jobj.getString("accountname");
                String oppParentaccountid = jobj.getString("oppparentaccountid");
                String oppname = jobj.getString("oppname");
                String oppstageid = jobj.getString("oppstageid");
                String validflag = jobj.getString("validflag");
                String leadType = jobj.getString("type");
                boolean transfer = false;
                String details = "";
                String accid = java.util.UUID.randomUUID().toString();

                // check all mandatory column mapped
                resJson.put("success", true);
                if (accflag.equals("1")) {
                    accModulejObj = getModuleRecord(request, Constants.MODULE_ACCOUNT, companyid, jobj,
                            moduleFields, columnMappedList);
                    checkManadatoryColumnMapped(resJson, Constants.MODULE_ACCOUNT, companyid, moduleFields,
                            columnMappedList);
                }
                if (oppflag.equals("1")) {
                    oppModulejObj = getModuleRecord(request, Constants.MODULE_OPPORTUNITY, companyid, jobj,
                            moduleFields, columnMappedList);
                    // check all mandatory column mapped
                    checkManadatoryColumnMapped(resJson, Constants.MODULE_OPPORTUNITY, companyid, moduleFields,
                            columnMappedList);
                }
                if (conflag.equals("1")) {
                    contactModulejObj = getModuleRecord(request, Constants.MODULE_CONTACT, companyid, jobj,
                            moduleFields, columnMappedList);
                    // check all mandatory column mapped
                    checkManadatoryColumnMapped(resJson, Constants.MODULE_CONTACT, companyid, moduleFields,
                            columnMappedList);
                }
                if (!resJson.getBoolean("success")) {
                    refNotFoundFlag = true;
                    refNotFoundStr = resJson.getString("msg");
                }
                if (!refNotFoundFlag) {
                    // Convert into Account
                    if (accflag.equals("1")) {
                        conversiontype = "1";
                        refNotFoundStr = "";
                        if (accModulejObj.getBoolean("success")) {
                            accModulejObj.put("accountname", accountname);
                            accModulejObj.put("leadid", leadid);
                            accModulejObj.put("companyid", companyid);
                            accModulejObj.put("userid", userid);
                            accModulejObj.put("updatedon", new Date());
                            accModulejObj.put("accountid", accid);
                            accModulejObj.put("validflag", "0");
                            accModulejObj.put("tzdiff", timeZoneDiff);
                            kmsg = crmAccountDAOObj.addAccounts(accModulejObj);

                            moduleCustomfieldArray = accModulejObj.getJSONArray("customfield");
                            if (moduleCustomfieldArray.length() > 0) {
                                KwlReturnObject customDataresult = fieldDataManagercntrl.setcustomdata(
                                        moduleCustomfieldArray, Constants.Crm_account_moduleid, accid,
                                        companyid, true);
                                if (customDataresult != null && customDataresult.getEntityList().size() > 0) {
                                    JSONObject accJObj = new JSONObject();
                                    accJObj.put("accountid", accid);
                                    accJObj.put("CrmAccountCustomDataobj", accid);
                                    accJObj.put("tzdiff", timeZoneDiff);
                                    kmsg = crmAccountDAOObj.editAccounts(accJObj);
                                }
                                //                            fieldManager.storeCustomFields(moduleCustomfieldArray,"account",true,accid,"1");
                            }
                            crmCommentDAOObj.CreateDuplicateComments(leadid, accid);

                            documentConversion(leadid, accid, "4");

                            auditTrailDAOObj.insertAuditLog(AuditAction.ACCOUNT_CREATE,
                                    accountname + " - Account created from Lead - " + lastname, request, accid);
                            acc = (CrmAccount) kmsg.getEntityList().get(0);
                            //Save Account Owner
                            saveAccOwnersFromLead(leadid, accid);
                            details += " Account - [ " + accountname + " ], ";
                            if (oppflag.equals("1")) {
                                transfer = false;
                            } else {
                                transfer = true;
                            }

                            if (leadType.equals("1")) { // checked for Lead Type - if Company then associated contacts must be linked with newly added Account
                                linkLeadsContactsToAccount(leadid, accid, userid, companyid, timeZoneDiff,
                                        ipAddress);
                            }

                        } else {
                            myjobj.put("success", false);
                            refNotFoundStr += "Data not found in Account module for following fields - <BR /> "
                                    + accModulejObj.getString("msg") + "<BR /><BR />";
                            refNotFoundFlag = true;
                        }

                        // Add Activity
                        if (taskflag.equals("1")) {
                            if (StringUtil.bNull(request.getParameter("activitydata"))) {
                                String activityjson = request.getParameter("activitydata");
                                JSONObject activityJSON = new JSONObject(activityjson);
                                activityJSON.put("relatedtoid", Constants.MODULE_ACCOUNT);
                                activityJSON.put("relatedtonameid", accid);
                                String loginURL = URLUtil.getRequestPageURL(request, Links.loginpageFull);
                                String partnerName = sessionHandlerImpl.getPartnerName(request);
                                activityManagementService.saveActivity(companyid, userid, timeFormatId,
                                        timeZoneDiff, ipAddress, activityJSON, companyNotifyFlag, loginURL,
                                        partnerName);
                            }
                        }
                    }

                    String oppid = java.util.UUID.randomUUID().toString();

                    // Convert into Opportunity
                    if (oppflag.equals("1")) {
                        conversiontype = "2";
                        if (oppModulejObj.getBoolean("success")) {
                            oppModulejObj.put("oppid", oppid);
                            oppModulejObj.put("companyid", companyid);
                            oppModulejObj.put("userid", userid);
                            oppModulejObj.put("updatedon", new Date().getTime());
                            oppModulejObj.put("tzdiff", timeZoneDiff);
                            //                    oppJObj.put("createdon", new Date());
                            oppModulejObj.put("leadid", leadid);
                            if (accflag.equals("1")) {
                                oppModulejObj.put("accountnameid", accid);
                            } else {
                                oppModulejObj.put("accountnameid", oppParentaccountid);
                            }
                            //                        String timeFormatId = sessionHandlerImpl.getUserTimeFormat(request);
                            //                        String timeZoneDiff = sessionHandlerImpl.getTimeZoneDifference(request);
                            if (jobj.has("closingdate")) {
                                oppModulejObj.put("closingdate", jobj.getLong("closingdate"));
                            }
                            oppModulejObj.put("validflag", "0");
                            oppModulejObj.put("oppstageid", oppstageid);
                            oppModulejObj.put("currencyid", "0");
                            oppModulejObj.put("oppname", oppname);
                            kmsg = crmOpportunityDAOObj.addOpportunities(oppModulejObj);

                            moduleCustomfieldArray = oppModulejObj.getJSONArray("customfield");
                            if (moduleCustomfieldArray.length() > 0) {
                                //                            fieldManager.storeCustomFields(moduleCustomfieldArray,"opportunity",true,oppid,"5");
                                KwlReturnObject customDataresult = fieldDataManagercntrl.setcustomdata(
                                        moduleCustomfieldArray, Constants.Crm_opportunity_moduleid, oppid,
                                        companyid, true);
                                if (customDataresult != null && customDataresult.getEntityList().size() > 0) {
                                    JSONObject oppJObj = new JSONObject();
                                    oppJObj.put("oppid", oppid);
                                    oppJObj.put("CrmOpportunityCustomDataobj", oppid);
                                    oppJObj.put("tzdiff", timeZoneDiff);
                                    kmsg = crmOpportunityDAOObj.editOpportunities(oppJObj);
                                }
                            }
                            opp = (CrmOpportunity) kmsg.getEntityList().get(0);
                            //Save Opportunity Owner
                            saveOppOwnersFromLead(leadid, oppid);
                            crmCommentDAOObj.CreateDuplicateComments(leadid, oppid);

                            documentConversion(leadid, oppid, "5");

                            auditTrailDAOObj.insertAuditLog(AuditAction.OPPORTUNITY_CREATE,
                                    oppname + " - Opportunity created from Lead - " + lastname, request, oppid);
                            details += "Opportunity [ " + oppname + " ], ";

                            if (accflag.equals("1")) {
                                //  transfer = true;
                            }
                            b = true;
                        } else {
                            myjobj.put("success", false);
                            refNotFoundStr += "Data not found in Opportunity module for following fields - <BR /> "
                                    + oppModulejObj.getString("msg") + "<BR /><BR />";
                            refNotFoundFlag = true;
                        }
                    }

                    // Convert into Contact
                    if (conflag.equals("1")) {
                        if (leadType.equals("0")) { // checked for Lead Type - if Company then don't convert to contact
                            if (contactModulejObj.getBoolean("success")) {
                                //   conversiontype="3";
                                contactModulejObj.put("leadid", leadid);
                                if (accflag.equals("1")) {
                                    contactModulejObj.put("accountid", accid);
                                } else if (oppflag.equals("1")) {
                                    contactModulejObj.put("accountid", oppParentaccountid);
                                }
                                contactModulejObj.put("validflag", "0");

                                // add new contact
                                JSONObject contactJson = contactManagementService.saveContact(companyid, userid,
                                        timeZoneDiff, ipAddress, contactModulejObj);
                                contactid = contactJson.getString("ID");

                                moduleCustomfieldArray = contactModulejObj.getJSONArray("customfield");
                                if (moduleCustomfieldArray.length() > 0) {
                                    //                                fieldManager.storeCustomFields(moduleCustomfieldArray,"contact",true,conid,"6");
                                    KwlReturnObject customDataresult = fieldDataManagercntrl.setcustomdata(
                                            moduleCustomfieldArray, Constants.Crm_contact_moduleid, contactid,
                                            companyid, true);
                                    if (customDataresult != null
                                            && customDataresult.getEntityList().size() > 0) {
                                        JSONObject contactJObj = new JSONObject();
                                        contactJObj.put("contactid", contactid);
                                        contactJObj.put("CrmContactCustomDataobj", contactid);
                                        contactJObj.put("tzdiff", timeZoneDiff);
                                        contactJson = contactManagementService.saveContact(companyid, userid,
                                                timeZoneDiff, ipAddress, contactJObj);
                                    }
                                }

                                //Save Contact Owner
                                saveContactOwnersFromLead(leadid, contactid);
                                //                    auditTrailDAOObj.insertAuditLog(AuditAction.CONTACT_CREATE,
                                //                                    firstname + " " + lastname + " - Contact created from Lead - "+kmsg.getEntityList().getFirstname()+" "+leadd.getLastname(),
                                //                                    request, conid);
                                String firstname = "";
                                String contactName = "";
                                String lName = "";
                                if (contactModulejObj.has("firstname")) {
                                    firstname = contactModulejObj.get("firstname").toString().trim();
                                }
                                if (contactModulejObj.has("lastname")) {
                                    lName = contactModulejObj.get("lastname").toString().trim();
                                }
                                contactName = (firstname + " " + lName).trim();

                                crmCommentDAOObj.CreateDuplicateComments(leadid, contactid);
                                documentConversion(leadid, contactid, "2");

                                auditTrailDAOObj.insertAuditLog(AuditAction.CONTACT_CREATE,
                                        contactName + " - Contact created from Lead - " + lastname, request,
                                        contactid);
                                if (oppflag.equals("1")) {
                                    transfer = false;
                                } else {
                                    transfer = true;
                                }
                                b = true;

                            } else {
                                myjobj.put("success", false);
                                refNotFoundStr += "Data not found in Contact module for following fields - <BR /> "
                                        + contactModulejObj.getString("msg") + "<BR /><BR />";
                                refNotFoundFlag = true;
                            }
                        } else {
                            if (accflag.equals("1")) {
                                accid = acc.getAccountid();
                            } else if (oppflag.equals("1")) {
                                if (opp.getCrmAccount() != null)
                                    accid = opp.getCrmAccount().getAccountid();
                                else
                                    accid = "";
                            } else {
                                accid = "";
                            }
                            updateContacts(leadid, accid, timeZoneDiff, ipAddress);
                        }
                    }

                }
                if (!refNotFoundFlag) {
                    kmsg = crmManagerDAOObj.getMasterIDCompany(companyid, Constants.LEADSTATUSID_QUALIFIED);
                    DefaultMasterItem obj = (DefaultMasterItem) kmsg.getEntityList().get(0);
                    JSONObject leadJObj = new JSONObject();
                    if (transfer) {
                        leadJObj.put("istransfered", "1");
                    }

                    leadJObj.put("leadid", leadid);
                    leadJObj.put("leadstatusid", obj.getID());
                    leadJObj.put("conversiontype", conversiontype);
                    leadJObj.put("leadconversiondate", conversiontype);
                    leadJObj.put("isconverted", "1");
                    leadJObj.put("updatedon", new Date());
                    leadJObj.put("tzdiff", timeZoneDiff);
                    kmsg = crmLeadDAOObj.editLeads(leadJObj);
                    lead = (CrmLead) kmsg.getEntityList().get(0);
                    auditTrailDAOObj.insertAuditLog(AuditAction.LEAD_CONVERT,
                            details + " created by converting Lead - " + lead.getLastname(), request, leadid);
                    b = true;
                    myjobj.put("success", b);
                }
            } // end of if
        }

        if (!refNotFoundFlag && convertedflag) {
            txnManager.commit(status);
            if (acc != null)
                crmCommonDAOObj.validaterecorsingledHB("Account", acc.getAccountid(), companyid);
            if (opp != null)
                crmCommonDAOObj.validaterecorsingledHB("Opportunity", opp.getOppid(), companyid);
            if (contactid != null)
                crmCommonDAOObj.validaterecorsingledHB("Contact", contactid, companyid);
        } else {
            myjobj.put("msg", refNotFoundStr);

            txnManager.rollback(status);
        }
    } catch (JSONException e) {
        txnManager.rollback(status);
        logger.warn(e.getMessage(), e);
    } catch (Exception e) {
        txnManager.rollback(status);
        logger.warn(e.getMessage(), e);
    }
    return new ModelAndView(successView, "model", myjobj.toString());
}

From source file:com.krawler.spring.crm.leadModule.crmLeadCommonController.java

public ModelAndView saveEditWTLForm(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 {//from  w ww  .  jav a 2  s .co  m
        String formfields = request.getParameter("formfields");
        String formname = request.getParameter("formname");
        String formdomain = request.getParameter("formdomain");
        String redirecturl = request.getParameter("redirectURL");
        String leadowner = request.getParameter("leadowner");
        String companyid = sessionHandlerImpl.getCompanyid(request);
        String formid = request.getParameter("formid");

        jobj = webtoLeadFormHandlerObj.saveEditWTLForm(formname, formdomain, redirecturl, formfields, companyid,
                formid, leadowner);

        txnManager.commit(status);
    } catch (Exception e) {
        txnManager.rollback(status);
        logger.warn(e.getMessage(), e);
    }
    return new ModelAndView(successView, "model", jobj.toString());
}