Example usage for org.w3c.dom Text getData

List of usage examples for org.w3c.dom Text getData

Introduction

In this page you can find the example usage for org.w3c.dom Text getData.

Prototype

public String getData() throws DOMException;

Source Link

Document

The character data of the node that implements this interface.

Usage

From source file:com.enonic.vertical.adminweb.ContentObjectHandlerServlet.java

public void handlerCopy(HttpServletRequest request, HttpServletResponse response, HttpSession session,
        AdminService admin, ExtendedMap formItems, User user, int key)
        throws VerticalAdminException, VerticalEngineException {

    String xmlCO = admin.getContentObject(Integer.parseInt(request.getParameter("key")));
    Document doc = XMLTool.domparse(xmlCO);

    Element nameElem = (Element) XMLTool.selectNode(doc, "/contentobjects/contentobject/name");
    Node[] nameArray = XMLTool.filterNodes(nameElem.getChildNodes(), Node.TEXT_NODE);

    Text name = (Text) nameArray[0];
    AdminConsoleTranslationService languageMap = AdminConsoleTranslationService.getInstance();
    Map translationMap = languageMap.getTranslationMap(user.getSelectedLanguageCode());
    name.setData(name.getData() + " (" + translationMap.get("%txtCopy%") + ")");

    Element coElem = (Element) XMLTool.selectNode(doc, "/contentobjects/contentobject");
    coElem.removeAttribute("key");

    Element docRoot = doc.getDocumentElement();
    doc.replaceChild(coElem, docRoot);//from  w w w .  j  av  a 2  s .  c  o  m

    key = admin.createContentObject(user, XMLTool.documentToString(doc));

    redirectClientToReferer(request, response);
}

From source file:com.enonic.vertical.engine.handlers.PageTemplateHandler.java

public int copyPageTemplate(User user, PageTemplateKey pageTemplateKey) throws VerticalCopyException {

    Document doc = getPageTemplate(pageTemplateKey).getAsDOMDocument();
    Element root = doc.getDocumentElement();
    Element pagetemplateElem = XMLTool.getFirstElement(root);
    int newPageTemplateKey = -1;
    if (pagetemplateElem != null) {
        // rename copy
        Map translationMap = languageMap.getTranslationMap(user.getSelectedLanguageCode());
        Element nameElem = XMLTool.getElement(pagetemplateElem, "name");
        Text nameNode = (Text) nameElem.getFirstChild();
        nameNode.setData(nameNode.getData() + " (" + translationMap.get("%txtCopy%") + ")");

        // remove old parameter keys and save position
        Map<String, String> paramKeyMap = new HashMap<String, String>();
        Element[] paramElems = XMLTool
                .getElements(XMLTool.getElement(pagetemplateElem, "pagetemplateparameters"));
        for (int i = 0; i < paramElems.length; i++) {
            String key = paramElems[i].getAttribute("key");
            paramKeyMap.put(key, "_" + i);
            paramElems[i].removeAttribute("key");
        }/*from   ww w.  j a va 2 s.  c  o m*/

        // replace old parameter keys with saved position
        Element[] contentobjectElems = XMLTool
                .getElements(XMLTool.getElement(pagetemplateElem, "contentobjects"));
        for (Element contentobjectElem : contentobjectElems) {
            String key = contentobjectElem.getAttribute("parameterkey");
            contentobjectElem.setAttribute("parameterkey", paramKeyMap.get(key));
        }

        try {
            int[] keys = createPageTemplate(null, doc, false);
            if (keys != null && keys.length == 1) {
                newPageTemplateKey = keys[0];
            }
        } catch (VerticalCreateException vce) {
            String message = "Failed to create copy of framework: %t";
            VerticalEngineLogger.errorCopy(this.getClass(), 0, message, vce);
        }
    }
    return newPageTemplateKey;
}

From source file:com.konakart.actions.gateways.CommideaVanguardBaseAction.java

/**
 * Method that manages the VGTOKENREGISTRATIONREQUEST and the VGTOKENREGISTRATIONRESPONSE.
 * //from  w  ww .j  av  a2s .  c o  m
 * @param kkAppEng
 * @param order
 * @param ipnHistory
 * @return Returns "1" or "0" depending on whether the authentication enrollment check request
 *         should be made. i.e. Should be "0" for AMEX cards
 * @throws Exception
 */
protected String vgtokenregistrationrequest(KKAppEng kkAppEng, OrderIf order, IpnHistoryIf ipnHistory)
        throws Exception {

    StringBuffer msg = new StringBuffer();
    msg.append(getHeader("VGTOKENREGISTRATIONREQUEST", order, /* sendAttempt */0));

    // Token expiration date formatted to DDMMCCYY (e.g. 14092011)
    long timeInMillis = System.currentTimeMillis();
    Date expiryDate = new Date(timeInMillis + (DAY_IN_MILLIS * 365L));
    GregorianCalendar expiryGC = new GregorianCalendar();
    expiryGC.setTime(expiryDate);
    int day = expiryGC.get(Calendar.DAY_OF_MONTH);
    int month = expiryGC.get(Calendar.MONTH) + 1;
    int year = expiryGC.get(Calendar.YEAR);
    String dayStr = (day < 10) ? "0" + day : "" + day;
    String monthStr = (month < 10) ? "0" + month : "" + month;
    String dateStr = dayStr + monthStr + year;

    String req = "<vgtokenregistrationrequest xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" "
            + "xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" " + "xmlns=\"VANGUARD\">" + "<sessionguid>"
            + getSessionId(order.getPaymentDetails().getCustom1()) + "</sessionguid>" + "<purchase>" + "true"
            + "</purchase>" + "<refund>" + "true" + "</refund>" + "<cashback>" + "false" + "</cashback>"
            + "<tokenexpirationdate>" + dateStr + "</tokenexpirationdate>" + "</vgtokenregistrationrequest>";

    msg.append(req);

    msg.append(getFooter());

    if (log.isDebugEnabled()) {
        log.debug("GatewayRequest (VGTOKENREGISTRATIONREQUEST) =\n"
                + RegExpUtils.maskCreditCard(PrettyXmlPrinter.printXml(msg.toString())));
    }

    String gatewayResp = null;
    try {
        gatewayResp = postData(msg, order.getPaymentDetails(), null);
    } catch (Exception e) {
        if (log.isDebugEnabled()) {
            log.debug("Problem posting request to " + order.getPaymentDetails().getRequestUrl() + " : "
                    + e.getMessage());
        }
        throw e;
    }

    if (log.isDebugEnabled()) {
        log.debug("Unformatted GatewayResp (VGTOKENREGISTRATIONRESPONSE) =\n" + gatewayResp);
        try {
            log.debug("Formatted GatewayResp (VGTOKENREGISTRATIONRESPONSE) =\n"
                    + PrettyXmlPrinter.printXml(gatewayResp));
        } catch (Exception e) {
            log.debug("Exception pretty-printing gateway response (VGTOKENREGISTRATIONRESPONSE) : "
                    + e.getMessage());
        }
    }

    // Now process the XML response

    String sessionguid = null;
    String tokenid = null;
    String errorcode = null;
    String errordescription = null;

    if (gatewayResp != null) {
        try {
            DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance();
            DocumentBuilder builder = builderFactory.newDocumentBuilder();
            ByteArrayInputStream bais = new ByteArrayInputStream(gatewayResp.getBytes());
            Document doc = builder.parse(bais);

            // get the root node
            Node rootnode = doc.getDocumentElement();
            String rootName = rootnode.getNodeName();

            if (rootName != "soap:Envelope") {
                throw new KKException("Unexpected root element in VGTOKENREGISTRATIONRESPONSE: " + rootName);
            }

            // get all elements
            NodeList list = doc.getElementsByTagName("*");
            for (int i = 0; i < list.getLength(); i++) {
                Node node = list.item(i);
                String name = node.getNodeName();
                if (name != null && name.equals("MsgData")) {
                    Text datanode = (Text) node.getFirstChild();
                    String xml = kkAppEng.removeCData(datanode.getData());
                    ByteArrayInputStream bais1 = new ByteArrayInputStream(xml.getBytes());
                    Document doc1 = builder.parse(bais1);
                    NodeList list1 = doc1.getElementsByTagName("*");
                    for (int j = 0; j < list1.getLength(); j++) {
                        Node node1 = list1.item(j);
                        String name1 = node1.getNodeName();
                        if (name1.equals("sessionguid")) {
                            sessionguid = getNodeValue(node1);
                        } else if (name1.equals("errorcode")) {
                            errorcode = getNodeValue(node1);
                        } else if (name1.equals("errordescription")) {
                            errordescription = getNodeValue(node1);
                        } else if (name1.equals("tokenid")) {
                            tokenid = getNodeValue(node1);
                        }
                    }
                }
            }

            if (log.isDebugEnabled()) {
                log.debug("Commidea VGTOKENREGISTRATIONRESPONSE response data:"
                        + "\n    sessionguid               = " + sessionguid
                        + "\n    errorcode                 = " + errorcode
                        + "\n    errordescription          = " + errordescription
                        + "\n    tokenId                   = " + tokenid);
            }
        } catch (Exception e) {
            // Problems parsing the XML
            if (log.isDebugEnabled()) {
                log.debug("Problems parsing Commidea VGTOKENREGISTRATIONRESPONSE response: " + e.getMessage());
            }
            throw e;
        }
    }

    /*
     * Save the IPN History record
     */
    String codePlusTxt = getResultDescription(
            RET1_DESC + errorcode + ((errordescription == null) ? "" : " : " + errordescription));
    if (errorcode != null && errorcode.equals("0")) {
        ipnHistory.setKonakartResultDescription(RET0_DESC);
        ipnHistory.setKonakartResultId(RET0);
        ipnHistory.setGatewayResult(tokenid);
    } else {
        ipnHistory.setKonakartResultDescription(codePlusTxt);
        ipnHistory.setKonakartResultId(RET1);
        ipnHistory.setGatewayResult("ERROR");
    }

    ipnHistory.setGatewayTransactionId("vgtokenregistrationrequest");
    ipnHistory.setGatewayFullResponse(gatewayResp);
    kkAppEng.getEng().saveIpnHistory(kkAppEng.getSessionId(), ipnHistory);

    return errorcode;
}

From source file:com.konakart.actions.gateways.CommideaVanguardBaseAction.java

/**
 * Method that manages the VGTRANSACTIONREQUEST and the VGTRANSACTIONRESPONSE. The method places
 * the following data in the custom fields of the PaymentDetails object.
 * <ul>/*from  ww  w.  j av a  2 s. co m*/
 * <li>Custom2 - authcode</li>
 * </ul>
 * 
 * @param kkAppEng
 * @param order
 * @param ipnHistory
 * @return Returns the Commidea error code
 * @throws Exception
 */
protected String vgtransactionrequest(KKAppEng kkAppEng, OrderIf order, IpnHistoryIf ipnHistory)
        throws Exception {
    StringBuffer msg = new StringBuffer();
    msg.append(getHeader("VGTRANSACTIONREQUEST", order, /* sendAttempt */0));

    String req = "<vgtransactionrequest xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" "
            + "xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" " + "xmlns=\"VANGUARD\">" + "<sessionguid>"
            + getSessionId(order.getPaymentDetails().getCustom1()) + "</sessionguid>" + "<accountid>"
            + parmMap.get("mkaccountid") + "</accountid>" + "<txntype>" + "01" + "</txntype>"
            + "<transactioncurrencycode>" + parmMap.get("transactioncurrencycode")
            + "</transactioncurrencycode>" + "<apacsterminalcapabilities>" + "4298"
            + "</apacsterminalcapabilities>" + "<capturemethod>" + "12" + "</capturemethod>"
            + "<processingidentifier>" + parmMap.get("processingidentifier") + "</processingidentifier>"
            + "<txnvalue>" + parmMap.get("transactiondisplayamount") + "</txnvalue>" + "<terminalcountrycode>"
            + parmMap.get("terminalcountrycode") + "</terminalcountrycode>" + "<accountpasscode>"
            + parmMap.get("accountpasscode") + "</accountpasscode>" + "<returnhash>" + "1" + "</returnhash>"
            + "</vgtransactionrequest>";

    msg.append(req);

    msg.append(getFooter());

    if (log.isDebugEnabled()) {
        log.debug("GatewayRequest (VGTRANSACTIONREQUEST) =\n"
                + RegExpUtils.maskCreditCard(PrettyXmlPrinter.printXml(msg.toString())));
    }

    String gatewayResp = null;
    try {
        gatewayResp = postData(msg, order.getPaymentDetails(), null);
    } catch (Exception e) {
        if (log.isDebugEnabled()) {
            log.debug("Problem posting request to " + order.getPaymentDetails().getRequestUrl() + " : "
                    + e.getMessage());
        }
        throw e;
    }

    if (log.isDebugEnabled()) {
        log.debug("Unformatted GatewayResp (VGTRANSACTIONRESPONSE) =\n" + gatewayResp);
        try {
            log.debug("Formatted GatewayResp (VGTRANSACTIONRESPONSE) =\n"
                    + PrettyXmlPrinter.printXml(gatewayResp));
        } catch (Exception e) {
            log.debug("Exception pretty-printing gateway response (VGTRANSACTIONRESPONSE) : " + e.getMessage());
        }
    }

    // Now process the XML response

    String sessionguid = null;
    String transactionid = null;
    String errormsg = null;
    String authcode = null;
    String authmessage = null;
    String txnresult = null;
    String errorMsgCode = null;
    String errorMsgTxt = null;

    if (gatewayResp != null) {
        try {
            DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance();
            DocumentBuilder builder = builderFactory.newDocumentBuilder();
            ByteArrayInputStream bais = new ByteArrayInputStream(gatewayResp.getBytes());
            Document doc = builder.parse(bais);

            // get the root node
            Node rootnode = doc.getDocumentElement();
            String rootName = rootnode.getNodeName();

            if (rootName != "soap:Envelope") {
                throw new KKException("Unexpected root element in VGTRANSACTIONRESPONSE: " + rootName);
            }

            // get all elements
            NodeList list = doc.getElementsByTagName("*");
            for (int i = 0; i < list.getLength(); i++) {
                Node node = list.item(i);
                String name = node.getNodeName();
                if (name != null && name.equals("MsgData")) {
                    Text datanode = (Text) node.getFirstChild();
                    String xml = kkAppEng.removeCData(datanode.getData());
                    ByteArrayInputStream bais1 = new ByteArrayInputStream(xml.getBytes());
                    Document doc1 = builder.parse(bais1);
                    NodeList list1 = doc1.getElementsByTagName("*");
                    for (int j = 0; j < list1.getLength(); j++) {
                        Node node1 = list1.item(j);
                        String name1 = node1.getNodeName();
                        if (name1.equals("sessionguid")) {
                            sessionguid = getNodeValue(node1);
                        } else if (name1.equals("transactionid")) {
                            transactionid = getNodeValue(node1);
                        } else if (name1.equals("errormsg")) {
                            errormsg = getNodeValue(node1);
                        } else if (name1.equals("authcode")) {
                            authcode = getNodeValue(node1);
                        } else if (name1.equals("authmessage")) {
                            authmessage = getNodeValue(node1);
                        } else if (name1.equals("txnresult")) {
                            txnresult = getNodeValue(node1);
                        } else if (name1.equals("CODE")) {
                            errorMsgCode = getNodeValue(node1);
                        } else if (name1.equals("MSGTXT")) {
                            errorMsgTxt = getNodeValue(node1);
                        }
                    }
                }
            }

            order.getPaymentDetails().setCustom2(authcode);

            if (log.isDebugEnabled()) {
                log.debug("Commidea VGTRANSACTIONRESPONSE response data:" + "\n    transactionid          = "
                        + transactionid + "\n    errormsg               = " + errormsg
                        + "\n    authcode               = " + authcode + "\n    authmessage            = "
                        + authmessage + "\n    txnresult              = " + txnresult
                        + "\n    sessionguid            = " + sessionguid + "\n    errorMsgCode           = "
                        + errorMsgCode + "\n    errorMsgTxt            = " + errorMsgTxt);
            }
        } catch (Exception e) {
            // Problems parsing the XML
            if (log.isDebugEnabled()) {
                log.debug("Problems parsing Commidea VGTRANSACTIONRESPONSE response: " + e.getMessage());
            }
            throw e;
        }
    }

    /*
     * Save the IPN History record
     */
    if (errorMsgCode != null) {
        ipnHistory.setKonakartResultDescription(RET1_DESC + errorMsgCode);
        ipnHistory.setKonakartResultId(RET1);
    } else {
        ipnHistory.setKonakartResultDescription(RET0_DESC);
        ipnHistory.setKonakartResultId(RET0);
    }

    ipnHistory.setGatewayResult("Authcode=" + authcode + "  Authmessage=" + authmessage);
    ipnHistory.setGatewayTransactionId((transactionid == null) ? "vgtransactionrequest" : transactionid);
    ipnHistory.setGatewayFullResponse(gatewayResp);
    kkAppEng.getEng().saveIpnHistory(kkAppEng.getSessionId(), ipnHistory);

    return txnresult;
}

From source file:com.konakart.actions.gateways.CommideaVanguardBaseAction.java

/**
 * Method that manages the VGGENERATESESSIONREQUEST and the VGGENERATESESSIONRESPONSE. The
 * method places the following data in the custom fields of the PaymentDetails object so that
 * they can be picked up by the JSP that posts the credit card details to Commidea.
 * <ul>//from w  w w.  j  av a 2  s .c  o  m
 * <li>Custom1 - sessionguid + ";" + processingDB</li>
 * <li>Custom2 - sessionpasscode</li>
 * <li>Custom4 - ccDetailPostUrl</li>
 * </ul>
 * 
 * @param kkAppEng
 * @param order
 * @param ipnHistory
 * @return Returns the Commidea error code
 * @throws Exception
 */
protected String vggeneratesessionrequest(KKAppEng kkAppEng, OrderIf order, IpnHistoryIf ipnHistory)
        throws Exception {

    StringBuffer msg = new StringBuffer();
    msg.append(getHeader("VGGENERATESESSIONREQUEST", order, /* sendAttempt */0));

    String req = "<vggeneratesessionrequest xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\""
            + " xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns=\"VANGUARD\">" + "<returnurl>"
            + parmMap.get("returnurl") + "</returnurl>" + "<fullcapture>true</fullcapture>"
            + "</vggeneratesessionrequest>";
    msg.append(req);

    msg.append(getFooter());

    if (log.isDebugEnabled()) {
        log.debug("GatewayRequest (VGGENERATESESSIONREQUEST) =\n"
                + RegExpUtils.maskCreditCard(PrettyXmlPrinter.printXml(msg.toString())));
    }

    String gatewayResp = null;
    try {
        gatewayResp = postData(msg, order.getPaymentDetails(), null);
    } catch (Exception e) {
        if (log.isDebugEnabled()) {
            log.debug("Problem posting request to " + order.getPaymentDetails().getRequestUrl() + " : "
                    + e.getMessage());
        }
        throw e;
    }

    if (log.isDebugEnabled()) {
        log.debug("Unformatted GatewayResp (VGGENERATESESSIONRESPONSE) =\n" + gatewayResp);
        try {
            log.debug("Formatted GatewayResp (VGGENERATESESSIONRESPONSE) =\n"
                    + PrettyXmlPrinter.printXml(gatewayResp));
        } catch (Exception e) {
            log.debug("Exception pretty-printing gateway response (VGGENERATESESSIONRESPONSE) : "
                    + e.getMessage());
        }
    }

    // Now process the XML response

    String sessionguid = null;
    String sessionpasscode = null;
    String errorcode = null;
    String errordescription = null;
    String processingDB = null;
    String errorMsgCode = null;
    String errorMsgTxt = null;

    if (gatewayResp != null) {
        try {
            DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance();
            DocumentBuilder builder = builderFactory.newDocumentBuilder();
            ByteArrayInputStream bais = new ByteArrayInputStream(gatewayResp.getBytes());
            Document doc = builder.parse(bais);

            // get the root node
            Node rootnode = doc.getDocumentElement();
            String rootName = rootnode.getNodeName();

            if (rootName != "soap:Envelope") {
                throw new KKException("Unexpected root element in VGGENERATESESSIONRESPONSE: " + rootName);
            }

            // get all elements
            NodeList list = doc.getElementsByTagName("*");
            for (int i = 0; i < list.getLength(); i++) {
                Node node = list.item(i);
                String name = node.getNodeName();
                if (name != null && name.equals("ClientHeader")) {
                    NodeList nodeList = node.getChildNodes();
                    int listLength = nodeList.getLength();
                    for (int j = 0; j < listLength; j++) {
                        Node innerNode = nodeList.item(j);
                        if (innerNode.getNodeName().equals("ProcessingDB")) {
                            processingDB = innerNode.getFirstChild().getNodeValue();
                        }
                    }
                } else if (name != null && name.equals("MsgData")) {
                    Text datanode = (Text) node.getFirstChild();
                    String xml = kkAppEng.removeCData(datanode.getData());
                    ByteArrayInputStream bais1 = new ByteArrayInputStream(xml.getBytes());
                    Document doc1 = builder.parse(bais1);
                    NodeList list1 = doc1.getElementsByTagName("*");
                    for (int j = 0; j < list1.getLength(); j++) {
                        Node node1 = list1.item(j);
                        String name1 = node1.getNodeName();
                        if (name1.equals("sessionguid")) {
                            sessionguid = getNodeValue(node1);
                        } else if (name1.equals("sessionpasscode")) {
                            sessionpasscode = getNodeValue(node1);
                        } else if (name1.equals("errorcode")) {
                            errorcode = getNodeValue(node1);
                        } else if (name1.equals("errordescription")) {
                            errordescription = getNodeValue(node1);
                        } else if (name1.equals("errormessage")) {
                            errordescription = getNodeValue(node1);
                        } else if (name1.equals("CODE")) {
                            errorMsgCode = getNodeValue(node1);
                        } else if (name1.equals("MSGTXT")) {
                            errorMsgTxt = getNodeValue(node1);
                        }
                    }
                }
            }

            if (log.isDebugEnabled()) {
                log.debug("Commidea VGGENERATESESSIONRESPONSE response data:"
                        + "\n    sessionguid               = " + sessionguid
                        + "\n    sessionpasscode           = " + sessionpasscode
                        + "\n    ProcessingDB              = " + processingDB
                        + "\n    errorcode                 = " + errorcode
                        + "\n    errordescription          = " + errordescription
                        + "\n    errorMsgCode              = " + errorMsgCode
                        + "\n    errorMsgTxt               = " + errorMsgTxt);
            }
        } catch (Exception e) {
            // Problems parsing the XML
            if (log.isDebugEnabled()) {
                log.debug("Problems parsing Commidea VGGENERATESESSIONRESPONSE response: " + e.getMessage());
            }
            throw e;
        }
    }

    /*
     * Add response data to PaymentDetails Object so that this data can be picked up by the JSP
     * that will post the credit card details to commidea
     */
    order.getPaymentDetails().setCustom1(sessionguid + ";" + processingDB);
    order.getPaymentDetails().setCustom2(sessionpasscode);
    order.getPaymentDetails().setCustom4(parmMap.get("ccDetailPostUrl"));

    /*
     * Save the IPN History record
     */
    errorMsgCode = (errorMsgCode != null) ? errorMsgCode : errorcode;
    errorMsgTxt = (errorMsgTxt != null) ? errorMsgTxt : errordescription;
    String codePlusTxt = getResultDescription(
            RET1_DESC + errorMsgCode + ((errorMsgTxt == null) ? "" : " : " + errorMsgTxt));
    if (errorMsgCode != null && errorMsgCode.equals("0")) {
        ipnHistory.setKonakartResultDescription(RET0_DESC);
        ipnHistory.setKonakartResultId(RET0);
    } else {
        ipnHistory.setKonakartResultDescription(codePlusTxt);
        ipnHistory.setKonakartResultId(RET1);
    }

    ipnHistory.setGatewayResult(sessionguid);
    ipnHistory.setGatewayTransactionId("vggeneratesessionrequest");
    ipnHistory.setGatewayFullResponse(gatewayResp);
    kkAppEng.getEng().saveIpnHistory(kkAppEng.getSessionId(), ipnHistory);

    return errorMsgCode;
}

From source file:com.konakart.actions.gateways.CommideaVanguardBaseAction.java

/**
 * Method that manages the VGGETCARDDETAILSREQUEST and the VGGETCARDDETAILSRESPONSE.
 * /*w  w w. j a v a 2  s. co  m*/
 * @param kkAppEng
 * @param order
 * @param ipnHistory
 * @return Returns "1" or "0" depending on whether the authentication enrollment check request
 *         should be made. i.e. Should be "0" for AMEX cards
 * @throws Exception
 */
protected String vggetcarddetailsrequest(KKAppEng kkAppEng, OrderIf order, IpnHistoryIf ipnHistory)
        throws Exception {

    StringBuffer msg = new StringBuffer();
    msg.append(getHeader("VGGETCARDDETAILSREQUEST", order, /* sendAttempt */0));

    String req = "<vggetcarddetailsrequest xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" "
            + "xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" " + "xmlns=\"VANGUARD\">" + "<sessionguid>"
            + getSessionId(order.getPaymentDetails().getCustom1()) + "</sessionguid>"
            + "</vggetcarddetailsrequest>";

    msg.append(req);

    msg.append(getFooter());

    if (log.isDebugEnabled()) {
        log.debug("GatewayRequest (VGGETCARDDETAILSREQUEST) =\n"
                + RegExpUtils.maskCreditCard(PrettyXmlPrinter.printXml(msg.toString())));
    }

    String gatewayResp = null;
    try {
        gatewayResp = postData(msg, order.getPaymentDetails(), null);
    } catch (Exception e) {
        if (log.isDebugEnabled()) {
            log.debug("Problem posting request to " + order.getPaymentDetails().getRequestUrl() + " : "
                    + e.getMessage());
        }
        throw e;
    }

    if (log.isDebugEnabled()) {
        log.debug("Unformatted GatewayResp (VGGETCARDDETAILSRESPONSE) =\n" + gatewayResp);
        try {
            log.debug("Formatted GatewayResp (VGGETCARDDETAILSRESPONSE) =\n"
                    + PrettyXmlPrinter.printXml(gatewayResp));
        } catch (Exception e) {
            log.debug("Exception pretty-printing gateway response (VGGETCARDDETAILSRESPONSE) : "
                    + e.getMessage());
        }
    }

    // Now process the XML response

    String sessionguid = null;
    String mkcardschemeid = null;
    String issuenolength = null;
    String startdaterequired = null;
    String csclength = null;
    String allowpayerauth = null;
    String cpcoption = null;
    String errorcode = null;
    String errordescription = null;
    String errorMsgCode = null;
    String errorMsgTxt = null;

    if (gatewayResp != null) {
        try {
            DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance();
            DocumentBuilder builder = builderFactory.newDocumentBuilder();
            ByteArrayInputStream bais = new ByteArrayInputStream(gatewayResp.getBytes());
            Document doc = builder.parse(bais);

            // get the root node
            Node rootnode = doc.getDocumentElement();
            String rootName = rootnode.getNodeName();

            if (rootName != "soap:Envelope") {
                throw new KKException("Unexpected root element in VGGETCARDDETAILSRESPONSE: " + rootName);
            }

            // get all elements
            NodeList list = doc.getElementsByTagName("*");
            for (int i = 0; i < list.getLength(); i++) {
                Node node = list.item(i);
                String name = node.getNodeName();
                if (name != null && name.equals("MsgData")) {
                    Text datanode = (Text) node.getFirstChild();
                    String xml = kkAppEng.removeCData(datanode.getData());
                    ByteArrayInputStream bais1 = new ByteArrayInputStream(xml.getBytes());
                    Document doc1 = builder.parse(bais1);
                    NodeList list1 = doc1.getElementsByTagName("*");
                    for (int j = 0; j < list1.getLength(); j++) {
                        Node node1 = list1.item(j);
                        String name1 = node1.getNodeName();
                        if (name1.equals("sessionguid")) {
                            sessionguid = getNodeValue(node1);
                        } else if (name1.equals("errorcode")) {
                            errorcode = getNodeValue(node1);
                        } else if (name1.equals("errordescription")) {
                            errordescription = getNodeValue(node1);
                        } else if (name1.equals("mkcardschemeid")) {
                            mkcardschemeid = getNodeValue(node1);
                        } else if (name1.equals("issuenolength")) {
                            issuenolength = getNodeValue(node1);
                        } else if (name1.equals("startdaterequired")) {
                            startdaterequired = getNodeValue(node1);
                        } else if (name1.equals("csclength")) {
                            csclength = getNodeValue(node1);
                        } else if (name1.equals("allowpayerauth")) {
                            allowpayerauth = getNodeValue(node1);
                        } else if (name1.equals("cpcoption")) {
                            cpcoption = getNodeValue(node1);
                        } else if (name1.equals("CODE")) {
                            errorMsgCode = getNodeValue(node1);
                        } else if (name1.equals("MSGTXT")) {
                            errorMsgTxt = getNodeValue(node1);
                        }
                    }
                }
            }

            if (log.isDebugEnabled()) {
                log.debug("Commidea VGGETCARDDETAILSRESPONSE response data:"
                        + "\n    mkcardschemeid            = " + mkcardschemeid
                        + "\n    issuenolength             = " + issuenolength
                        + "\n    startdaterequired         = " + startdaterequired
                        + "\n    csclength                 = " + csclength
                        + "\n    allowpayerauth            = " + allowpayerauth
                        + "\n    cpcoption                 = " + cpcoption
                        + "\n    sessionguid               = " + sessionguid
                        + "\n    errorcode                 = " + errorcode
                        + "\n    errordescription          = " + errordescription
                        + "\n    errorMsgCode              = " + errorMsgCode
                        + "\n    errorMsgTxt               = " + errorMsgTxt);

            }
        } catch (Exception e) {
            // Problems parsing the XML
            if (log.isDebugEnabled()) {
                log.debug("Problems parsing Commidea VGGETCARDDETAILSRESPONSE response: " + e.getMessage());
            }
            throw e;
        }
    }

    /*
     * Save the IPN History record
     */
    errorMsgCode = (errorMsgCode != null) ? errorMsgCode : errorcode;
    errorMsgTxt = (errorMsgTxt != null) ? errorMsgTxt : errordescription;
    String codePlusTxt = getResultDescription(
            RET1_DESC + errorMsgCode + ((errorMsgTxt == null) ? "" : " : " + errorMsgTxt));
    if (errorMsgCode != null && errorMsgCode.equals("0")) {
        ipnHistory.setKonakartResultDescription(RET0_DESC);
        ipnHistory.setKonakartResultId(RET0);
    } else {
        ipnHistory.setKonakartResultDescription(codePlusTxt);
        ipnHistory.setKonakartResultId(RET1);
    }

    ipnHistory.setGatewayResult(allowpayerauth);
    ipnHistory.setGatewayTransactionId("vggetcarddetailsrequest");
    ipnHistory.setGatewayFullResponse(gatewayResp);
    kkAppEng.getEng().saveIpnHistory(kkAppEng.getSessionId(), ipnHistory);

    if (errorMsgCode != null && errorMsgCode.equals("0")) {
        return allowpayerauth;
    }

    return errorMsgCode;
}

From source file:com.enonic.vertical.engine.handlers.PageTemplateHandler.java

public void copyPageTemplatesPostOp(int oldMenuKey, CopyContext copyContext) throws VerticalCopyException {

    int newMenuKey = copyContext.getMenuKey(oldMenuKey);

    Document doc = getPageTemplatesByMenu(newMenuKey, null);
    Element[] pageTemplateElems = XMLTool.getElements(doc.getDocumentElement());

    try {//from   www . j  ava  2s  .  c o m
        for (Element pageTemplateElem : pageTemplateElems) {

            // datasource
            NodeList parameterList = XMLTool.selectNodes(pageTemplateElem,
                    "datasources/datasource/parameters/parameter");
            for (int j = 0; j < parameterList.getLength(); j++) {
                Element parameterElem = (Element) parameterList.item(j);
                String name = parameterElem.getAttribute("name");
                if ("cat".equalsIgnoreCase(name)) {
                    Text text = (Text) parameterElem.getFirstChild();
                    if (text != null) {
                        String oldCategoryKey = text.getData();
                        if (oldCategoryKey != null && oldCategoryKey.length() > 0) {
                            int newCategoryKey = copyContext.getCategoryKey(Integer.parseInt(oldCategoryKey));
                            if (newCategoryKey >= 0) {
                                text.setData(String.valueOf(newCategoryKey));
                            }
                        }
                    }
                } else if ("menu".equalsIgnoreCase(name)) {
                    Text text = (Text) parameterElem.getFirstChild();
                    if (text != null) {
                        String oldKey = text.getData();
                        if (oldKey != null && oldKey.length() > 0) {
                            int newKey = copyContext.getMenuKey(Integer.parseInt(oldKey));
                            if (newKey >= 0) {
                                text.setData(String.valueOf(newKey));
                            }
                        }
                    }
                }
            }
        }

        updatePageTemplate(doc);
    } catch (VerticalUpdateException vue) {
        String message = "Failed to copy page templates (post operation): %t";
        VerticalEngineLogger.errorCopy(this.getClass(), 0, message, vue);
    }
}

From source file:com.konakart.actions.gateways.CommideaVanguardBaseAction.java

/**
 * Method that manages the VGPAYERAUTHAUTHENTICATIONCHECKREQUEST and the
 * VGPAYERAUTHAUTHENTICATIONCHECKRESPONSE.
 * // w w w  .  j a v a 2 s .c om
 * @param kkAppEng
 * @param order
 * @param ipnHistory
 * @param paRes
 * @param enrolled
 * @return Returns the Commidea error code if there is an error, otherwise returns "Y" or "N" or
 *         some other value depending whether the customer was authenticated or not
 * @throws Exception
 */
protected String vgpayerauthauthenticationcheckrequest(KKAppEng kkAppEng, OrderIf order,
        IpnHistoryIf ipnHistory, String paRes, String enrolled) throws Exception {

    StringBuffer msg = new StringBuffer();
    msg.append(getHeader("VGPAYERAUTHAUTHENTICATIONCHECKREQUEST", order, /* sendAttempt */0));

    String req = "<vgpayerauthauthenticationcheckrequest xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" "
            + "xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" " + "xmlns=\"VANGUARD\">" + "<sessionguid>"
            + getSessionId(order.getPaymentDetails().getCustom1()) + "</sessionguid>" + "<payerauthrequestid>"
            + order.getPaymentDetails().getCustom2() + "</payerauthrequestid>" + "<enrolled>" + enrolled
            + "</enrolled>" + ((paRes == null) ? "" : "<pares>" + paRes + "</pares>")
            + "</vgpayerauthauthenticationcheckrequest>";

    msg.append(req);

    msg.append(getFooter());

    if (log.isDebugEnabled()) {
        log.debug("GatewayRequest (VGPAYERAUTHAUTHENTICATIONCHECKREQUEST) =\n"
                + RegExpUtils.maskCreditCard(PrettyXmlPrinter.printXml(msg.toString())));
    }

    String gatewayResp = null;
    try {
        gatewayResp = postData(msg, order.getPaymentDetails(), null);
    } catch (Exception e) {
        if (log.isDebugEnabled()) {
            log.debug("Problem posting request to " + order.getPaymentDetails().getRequestUrl() + " : "
                    + e.getMessage());
        }
        throw e;
    }

    if (log.isDebugEnabled()) {
        log.debug("Unformatted GatewayResp (VGPAYERAUTHAUTHENTICATIONCHECKRESPONSE) =\n" + gatewayResp);
        try {
            log.debug("Formatted GatewayResp (VGPAYERAUTHAUTHENTICATIONCHECKRESPONSE) =\n"
                    + PrettyXmlPrinter.printXml(gatewayResp));
        } catch (Exception e) {
            log.debug("Exception pretty-printing gateway response (VGPAYERAUTHAUTHENTICATIONCHECKRESPONSE) : "
                    + e.getMessage());
        }
    }

    // Now process the XML response

    String sessionguid = null;
    String payerauthrequestid = null;
    String atsdata = null;
    String authenticationstatus = null;
    String authenticationcertificate = null;
    String authenticationcavv = null;
    String authenticationeci = null;
    String authenticationtime = null;
    String errorcode = null;
    String errordescription = null;
    String errorMsgCode = null;
    String errorMsgTxt = null;

    if (gatewayResp != null) {
        try {
            DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance();
            DocumentBuilder builder = builderFactory.newDocumentBuilder();
            ByteArrayInputStream bais = new ByteArrayInputStream(gatewayResp.getBytes());
            Document doc = builder.parse(bais);

            // get the root node
            Node rootnode = doc.getDocumentElement();
            String rootName = rootnode.getNodeName();

            if (rootName != "soap:Envelope") {
                throw new KKException(
                        "Unexpected root element in VGPAYERAUTHAUTHENTICATIONCHECKRESPONSE: " + rootName);
            }

            // get all elements
            NodeList list = doc.getElementsByTagName("*");
            for (int i = 0; i < list.getLength(); i++) {
                Node node = list.item(i);
                String name = node.getNodeName();
                if (name != null && name.equals("MsgData")) {
                    Text datanode = (Text) node.getFirstChild();
                    String xml = kkAppEng.removeCData(datanode.getData());
                    ByteArrayInputStream bais1 = new ByteArrayInputStream(xml.getBytes());
                    Document doc1 = builder.parse(bais1);
                    NodeList list1 = doc1.getElementsByTagName("*");
                    for (int j = 0; j < list1.getLength(); j++) {
                        Node node1 = list1.item(j);
                        String name1 = node1.getNodeName();
                        if (name1.equals("sessionguid")) {
                            sessionguid = getNodeValue(node1);
                        } else if (name1.equals("errorcode")) {
                            errorcode = getNodeValue(node1);
                        } else if (name1.equals("errordescription")) {
                            errordescription = getNodeValue(node1);
                        } else if (name1.equals("payerauthrequestid")) {
                            payerauthrequestid = getNodeValue(node1);
                        } else if (name1.equals("atsdata")) {
                            atsdata = getNodeValue(node1);
                        } else if (name1.equals("authenticationstatus")) {
                            authenticationstatus = getNodeValue(node1);
                        } else if (name1.equals("authenticationcertificate")) {
                            authenticationcertificate = getNodeValue(node1);
                        } else if (name1.equals("authenticationcavv")) {
                            authenticationcavv = getNodeValue(node1);
                        } else if (name1.equals("authenticationeci")) {
                            authenticationeci = getNodeValue(node1);
                        } else if (name1.equals("authenticationtime")) {
                            authenticationtime = getNodeValue(node1);
                        } else if (name1.equals("CODE")) {
                            errorMsgCode = getNodeValue(node1);
                        } else if (name1.equals("MSGTXT")) {
                            errorMsgTxt = getNodeValue(node1);
                        }
                    }
                }
            }

            if (log.isDebugEnabled()) {
                log.debug("Commidea VGPAYERAUTHAUTHENTICATIONCHECKRESPONSE response data:"
                        + "\n    payerauthrequestid         = " + payerauthrequestid
                        + "\n    atsdata                    = " + atsdata
                        + "\n    authenticationstatus       = " + authenticationstatus
                        + "\n    authenticationcertificate  = " + authenticationcertificate
                        + "\n    authenticationcavv         = " + authenticationcavv
                        + "\n    authenticationeci          = " + authenticationeci
                        + "\n    authenticationtime         = " + authenticationtime
                        + "\n    sessionguid                = " + sessionguid
                        + "\n    errorcode                  = " + errorcode
                        + "\n    errordescription           = " + errordescription
                        + "\n    errorMsgCode               = " + errorMsgCode
                        + "\n    errorMsgTxt                = " + errorMsgTxt);

            }
        } catch (Exception e) {
            // Problems parsing the XML
            if (log.isDebugEnabled()) {
                log.debug("Problems parsing Commidea VGPAYERAUTHAUTHENTICATIONCHECKRESPONSE response: "
                        + e.getMessage());
            }
            throw e;
        }
    }

    /*
     * Save the IPN History record
     */
    errorMsgCode = (errorMsgCode != null) ? errorMsgCode : errorcode;
    errorMsgTxt = (errorMsgTxt != null) ? errorMsgTxt : errordescription;
    String codePlusTxt = getResultDescription(
            RET1_DESC + errorMsgCode + ((errorMsgTxt == null) ? "" : " : " + errorMsgTxt));
    if (errorMsgCode != null && errorMsgCode.equals("0")) {
        ipnHistory.setKonakartResultDescription(RET0_DESC);
        ipnHistory.setKonakartResultId(RET0);
    } else {
        ipnHistory.setKonakartResultDescription(codePlusTxt);
        ipnHistory.setKonakartResultId(RET1);
    }

    ipnHistory.setGatewayResult(authenticationstatus);
    ipnHistory.setGatewayTransactionId("vgpayerauthauthenticationcheckrequest");
    ipnHistory.setGatewayFullResponse(gatewayResp);
    kkAppEng.getEng().saveIpnHistory(kkAppEng.getSessionId(), ipnHistory);

    if (errorMsgCode != null && errorMsgCode.equals("0")) {
        return authenticationstatus;
    }

    return errorMsgCode;
}

From source file:com.konakart.actions.gateways.CommideaVanguardBaseAction.java

/**
 * Method that manages the VGPAYERAUTHENROLLMENTCHECKREQUEST and the
 * VGPAYERAUTHENROLLMENTCHECKRESPONSE. The method places the following data in the custom fields
 * of the PaymentDetails object.//  w w w . j av  a2s.  co m
 * <ul>
 * <li>Custom2 - payerauthrequestid</li>
 * <li>Custom3 - acsurl</li>
 * <li>Custom4 - pareq</li>
 * <li>Custom5 - TermUrl</li>
 * </ul>
 * 
 * @param kkAppEng
 * @param order
 * @param ipnHistory
 * @return Returns the Commidea error code if there is an error, otherwise returns "Y" or "N"
 *         depending whether the customer is enrolled or not
 * @throws Exception
 */
protected String vgpayerauthenrollmentcheckrequest(KKAppEng kkAppEng, OrderIf order, IpnHistoryIf ipnHistory)
        throws Exception {
    StringBuffer msg = new StringBuffer();
    msg.append(getHeader("VGPAYERAUTHENROLLMENTCHECKREQUEST", order, /* sendAttempt */0));

    String visamerchantbankid = parmMap.get("visamerchantbankid");
    String visamerchantnumber = parmMap.get("visamerchantnumber");
    String visamerchantpassword = parmMap.get("visamerchantpassword");
    String mcmmerchantbankid = parmMap.get("mcmmerchantbankid");
    String mcmmerchantnumber = parmMap.get("mcmmerchantnumber");
    String mcmmerchantpassword = parmMap.get("mcmmerchantpassword");

    String req = "<vgpayerauthenrollmentcheckrequest xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" "
            + "xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" " + "xmlns=\"VANGUARD\">" + "<sessionguid>"
            + getSessionId(order.getPaymentDetails().getCustom1()) + "</sessionguid>" + "<mkaccountid>"
            + parmMap.get("mkaccountid") + "</mkaccountid>" + "<mkacquirerid>" + parmMap.get("mkacquirerid")
            + "</mkacquirerid>" + "<merchantname>" + parmMap.get("merchantname") + "</merchantname>"
            + "<merchantcountrycode>" + parmMap.get("merchantcountrycode") + "</merchantcountrycode>"
            + "<merchanturl>" + parmMap.get("merchanturl") + "</merchanturl>"
            + ((visamerchantbankid == null || visamerchantbankid.length() == 0) ? ""
                    : "<visamerchantbankid>" + visamerchantbankid + "</visamerchantbankid>")
            + ((visamerchantnumber == null || visamerchantnumber.length() == 0) ? ""
                    : "<visamerchantnumber>" + visamerchantnumber + "</visamerchantnumber>")
            + ((visamerchantpassword == null || visamerchantpassword.length() == 0) ? ""
                    : "<visamerchantpassword>" + visamerchantpassword + "</visamerchantpassword>")
            + ((mcmmerchantbankid == null || mcmmerchantbankid.length() == 0) ? ""
                    : "<mcmmerchantbankid>" + mcmmerchantbankid + "</mcmmerchantbankid>")
            + ((mcmmerchantnumber == null || mcmmerchantnumber.length() == 0) ? ""
                    : "<mcmmerchantnumber>" + mcmmerchantnumber + "</mcmmerchantnumber>")
            + ((mcmmerchantpassword == null || mcmmerchantpassword.length() == 0) ? ""
                    : "<mcmmerchantpassword>" + mcmmerchantpassword + "</mcmmerchantpassword>")
            + "<currencycode>" + parmMap.get("currencycode") + "</currencycode>" + "<currencyexponent>"
            + parmMap.get("currencyexponent") + "</currencyexponent>"
            // + "<browseracceptheader>" + "xxx" + "</browseracceptheader>"
            // + "<browseruseragentheader>" + "xxx" + "</browseruseragentheader>"
            + "<transactionamount>" + parmMap.get("transactionamount") + "</transactionamount>"
            + "<transactiondisplayamount>" + parmMap.get("transactiondisplayamount")
            + "</transactiondisplayamount>" + "</vgpayerauthenrollmentcheckrequest>";

    msg.append(req);

    msg.append(getFooter());

    if (log.isDebugEnabled()) {
        log.debug("GatewayRequest (VGPAYERAUTHENROLLMENTCHECKREQUEST) =\n"
                + RegExpUtils.maskCreditCard(PrettyXmlPrinter.printXml(msg.toString())));
    }

    String gatewayResp = null;
    try {
        gatewayResp = postData(msg, order.getPaymentDetails(), null);
    } catch (Exception e) {
        if (log.isDebugEnabled()) {
            log.debug("Problem posting request to " + order.getPaymentDetails().getRequestUrl() + " : "
                    + e.getMessage());
        }
        throw e;
    }

    if (log.isDebugEnabled()) {
        log.debug("Unformatted GatewayResp (VGPAYERAUTHENROLLMENTCHECKRESPONSE) =\n" + gatewayResp);
        try {
            log.debug("Formatted GatewayResp (VGPAYERAUTHENROLLMENTCHECKRESPONSE) =\n"
                    + PrettyXmlPrinter.printXml(gatewayResp));
        } catch (Exception e) {
            log.debug("Exception pretty-printing gateway response (VGPAYERAUTHENROLLMENTCHECKRESPONSE) : "
                    + e.getMessage());
        }
    }

    // Now process the XML response

    String sessionguid = null;
    String payerauthrequestid = null;
    String enrolled = null;
    String acsurl = null;
    String pareq = null;
    String errorcode = null;
    String errordescription = null;
    String errorMsgCode = null;
    String errorMsgTxt = null;

    if (gatewayResp != null) {
        try {
            DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance();
            DocumentBuilder builder = builderFactory.newDocumentBuilder();
            ByteArrayInputStream bais = new ByteArrayInputStream(gatewayResp.getBytes());
            Document doc = builder.parse(bais);

            // get the root node
            Node rootnode = doc.getDocumentElement();
            String rootName = rootnode.getNodeName();

            if (rootName != "soap:Envelope") {
                throw new KKException(
                        "Unexpected root element in VGPAYERAUTHENROLLMENTCHECKRESPONSE: " + rootName);
            }

            // get all elements
            NodeList list = doc.getElementsByTagName("*");
            for (int i = 0; i < list.getLength(); i++) {
                Node node = list.item(i);
                String name = node.getNodeName();
                if (name != null && name.equals("MsgData")) {
                    Text datanode = (Text) node.getFirstChild();
                    String xml = kkAppEng.removeCData(datanode.getData());
                    ByteArrayInputStream bais1 = new ByteArrayInputStream(xml.getBytes());
                    Document doc1 = builder.parse(bais1);
                    NodeList list1 = doc1.getElementsByTagName("*");
                    for (int j = 0; j < list1.getLength(); j++) {
                        Node node1 = list1.item(j);
                        String name1 = node1.getNodeName();
                        if (name1.equals("sessionguid")) {
                            sessionguid = getNodeValue(node1);
                        } else if (name1.equals("errorcode")) {
                            errorcode = getNodeValue(node1);
                        } else if (name1.equals("errordescription")) {
                            errordescription = getNodeValue(node1);
                        } else if (name1.equals("payerauthrequestid")) {
                            payerauthrequestid = getNodeValue(node1);
                        } else if (name1.equals("enrolled")) {
                            enrolled = getNodeValue(node1);
                        } else if (name1.equals("acsurl")) {
                            acsurl = getNodeValue(node1);
                        } else if (name1.equals("pareq")) {
                            pareq = getNodeValue(node1);
                        } else if (name1.equals("CODE")) {
                            errorMsgCode = getNodeValue(node1);
                        } else if (name1.equals("MSGTXT")) {
                            errorMsgTxt = getNodeValue(node1);
                        }
                    }
                }
            }

            order.getPaymentDetails().setCustom2(payerauthrequestid);
            order.getPaymentDetails().setCustom3(acsurl);
            order.getPaymentDetails().setCustom4(pareq);
            order.getPaymentDetails().setCustom5(parmMap.get("TermUrl"));

            if (log.isDebugEnabled()) {
                log.debug("Commidea VGPAYERAUTHENROLLMENTCHECKRESPONSE response data:"
                        + "\n    payerauthrequestid     = " + payerauthrequestid
                        + "\n    enrolled               = " + enrolled + "\n    acsurl                 = "
                        + acsurl + "\n    pareq                  = " + pareq + "\n    sessionguid            = "
                        + sessionguid + "\n    errorcode              = " + errorcode
                        + "\n    errordescription       = " + errordescription
                        + "\n    errorMsgCode           = " + errorMsgCode + "\n    errorMsgTxt            = "
                        + errorMsgTxt);

            }
        } catch (Exception e) {
            // Problems parsing the XML
            if (log.isDebugEnabled()) {
                log.debug("Problems parsing Commidea VGPAYERAUTHENROLLMENTCHECKRESPONSE response: "
                        + e.getMessage());
            }
            throw e;
        }
    }

    /*
     * Save the IPN History record
     */
    errorMsgCode = (errorMsgCode != null) ? errorMsgCode : errorcode;
    errorMsgTxt = (errorMsgTxt != null) ? errorMsgTxt : errordescription;
    String codePlusTxt = getResultDescription(
            RET1_DESC + errorMsgCode + ((errorMsgTxt == null) ? "" : " : " + errorMsgTxt));
    if (errorMsgCode != null && errorMsgCode.equals("0")) {
        ipnHistory.setKonakartResultDescription(RET0_DESC);
        ipnHistory.setKonakartResultId(RET0);
    } else {
        ipnHistory.setKonakartResultDescription(codePlusTxt);
        ipnHistory.setKonakartResultId(RET1);
    }

    ipnHistory.setGatewayResult(enrolled);
    ipnHistory.setGatewayTransactionId("vgpayerauthenrollmentcheckrequest");
    ipnHistory.setGatewayFullResponse(gatewayResp);
    kkAppEng.getEng().saveIpnHistory(kkAppEng.getSessionId(), ipnHistory);

    if (errorMsgCode != null && errorMsgCode.equals("0")) {
        return enrolled;
    }

    return errorMsgCode;
}

From source file:com.enonic.vertical.engine.handlers.MenuHandler.java

private void copyMenu(CopyContext copyContext, Element menuElem) throws VerticalCopyException,
        VerticalCreateException, VerticalUpdateException, VerticalSecurityException {

    if (menuElem != null) {
        User user = copyContext.getUser();
        int oldMenuKey = Integer.parseInt(menuElem.getAttribute("key"));

        //if (copyContext.getOldSiteKey() != copyContext.getNewSiteKey())
        //  menuElem.setAttribute("sitekey", String.valueOf(copyContext.getNewSiteKey()));
        //else {/*w ww . j  a v a2s  .  c  o m*/
        Element nameElem = XMLTool.getElement(menuElem, "name");
        Text text = (Text) nameElem.getFirstChild();
        Map translationMap = languageMap.getTranslationMap(user.getSelectedLanguageCode());
        text.setData(text.getData() + " (" + translationMap.get("%txtCopy%") + ")");
        //}

        Element elem = XMLTool.getElement(menuElem, "firstpage");
        String oldFirstPageKey = elem.getAttribute("key");
        elem.removeAttribute("key");

        elem = XMLTool.getElement(menuElem, "loginpage");
        String oldLoginPageKey = elem.getAttribute("key");
        elem.removeAttribute("key");

        elem = XMLTool.getElement(menuElem, "errorpage");
        String oldErrorPageKey = elem.getAttribute("key");
        elem.removeAttribute("key");

        String oldDefaultPageTemplateKey = null;
        elem = XMLTool.getElement(menuElem, "defaultpagetemplate");
        if (elem != null) {
            oldDefaultPageTemplateKey = elem.getAttribute("pagetemplatekey");
            elem.removeAttribute("pagetemplatekey");
        }

        Document newDoc = XMLTool.createDocument();
        Element newMenuElem = (Element) newDoc.importNode(menuElem, true);
        newDoc.appendChild(newMenuElem);
        Element menuitemsElem = XMLTool.getElement(newMenuElem, "menuitems");
        newMenuElem.removeChild(menuitemsElem);
        SiteKey menuKey = createMenu(user, copyContext, newDoc, false);

        // copy content objects and page templates
        ContentObjectHandler contentObjectHandler = getContentObjectHandler();
        contentObjectHandler.copyContentObjects(oldMenuKey, copyContext);
        PageTemplateHandler pageTemplateHandler = getPageTemplateHandler();
        pageTemplateHandler.copyPageTemplates(oldMenuKey, copyContext);

        Document doc = getMenu(user, menuKey.toInt(), true, true);
        Element docElem = doc.getDocumentElement();
        newMenuElem = (Element) docElem.getFirstChild();
        doc.replaceChild(newMenuElem, docElem);
        Element newMenuitemsElem = (Element) doc.importNode(menuitemsElem, true);
        menuitemsElem = XMLTool.getElement(newMenuElem, "menuitems");
        newMenuElem.replaceChild(newMenuitemsElem, menuitemsElem);

        // prepare copy of menu items
        prepareCopy(newMenuitemsElem, copyContext);
        updateMenu(user, copyContext, doc, false);

        if (oldFirstPageKey != null && oldFirstPageKey.length() > 0) {
            elem = XMLTool.createElementIfNotPresent(doc, newMenuElem, "firstpage");
            elem.setAttribute("key",
                    String.valueOf(copyContext.getMenuItemKey(Integer.parseInt(oldFirstPageKey))));
        }

        if (oldLoginPageKey != null && oldLoginPageKey.length() > 0) {
            elem = XMLTool.createElementIfNotPresent(doc, newMenuElem, "loginpage");
            elem.setAttribute("key",
                    String.valueOf(copyContext.getMenuItemKey(Integer.parseInt(oldLoginPageKey))));
        }

        if (oldErrorPageKey != null && oldErrorPageKey.length() > 0) {
            elem = XMLTool.createElementIfNotPresent(doc, newMenuElem, "errorpage");
            elem.setAttribute("key",
                    String.valueOf(copyContext.getMenuItemKey(Integer.parseInt(oldErrorPageKey))));
        }

        if (oldDefaultPageTemplateKey != null && oldDefaultPageTemplateKey.length() > 0) {
            elem = XMLTool.createElement(doc, newMenuElem, "defaultpagetemplate");
            elem.setAttribute("pagetemplatekey", String
                    .valueOf(copyContext.getPageTemplateKey(Integer.parseInt(oldDefaultPageTemplateKey))));
        }

        if (copyContext.isIncludeContents()) {
            menuitemsElem = XMLTool.getElement(newMenuElem, "menuitems");
            prepareUpdate(menuitemsElem);
        }

        // update default css
        Element menudataElem = XMLTool.getElement(newMenuElem, "menudata");
        Element defaultcssElem = XMLTool.getElement(menudataElem, "defaultcss");
        if (defaultcssElem != null) {
            String cssKey = defaultcssElem.getAttribute("key");
            if (cssKey != null && cssKey.length() > 0) {
                defaultcssElem.setAttribute("key", cssKey);
            }
        }

        updateMenu(user, copyContext, doc, true);

        // post-process content objects and page templates
        contentObjectHandler.copyContentObjectsPostOp(oldMenuKey, copyContext);
        pageTemplateHandler.copyPageTemplatesPostOp(oldMenuKey, copyContext);
    }
}