Package org.kapott.hbci.protocol

Examples of org.kapott.hbci.protocol.SyntaxElement


                MSG.CHECK_SEQ,MSG.DONT_CHECK_VALIDS);
       
        // in einer Schleife durch alle SuppSecMethods-Datens�tze laufen
        for (int i=0;;i++) {
            String        elemBaseName=HBCIUtilsInternal.withCounter(myMsgName+".BPD.SecMethod.SuppSecMethods",i);
            SyntaxElement elem=msg.getElement(elemBaseName+".method");

            if (elem==null) {
                break;
            }
           
            // Methodenbezeichner extrahieren
            String method=elem.toString();
            if (method.equals("TAN")) { // "TAN" ist ung�ltiger Bezeichner
                HBCIUtils.log("there is an invalid sec type (TAN) in this BPD - removing it",HBCIUtils.LOG_WARN);

                // Elternelement finden (Segment "SecMethods")
                SyntaxElement parent=elem.getParent().getParent().getParent().getParent();
                String        parentPath=parent.getPath();
                int           number=0;
               
                // durch alle Elemente dieses Segmentes laufen, bis die Multiple-DEG
                // mit den unterst�tzten SecMethods gefunden wurde
                for (Iterator<MultipleSyntaxElements> it=parent.getChildContainers().iterator();it.hasNext();) {
                    MultipleSyntaxElements childContainer= it.next();
                    if (childContainer.getPath().equals(parentPath+".SuppSecMethods")) {
                        // die Anzahl der eingestellten unterst�tzten SecMethods herausholen
                        number=childContainer.getElements().size();
                        break;
                    }
                }
               
                int startpos;
                int endpos;
               
                /* wenn mehr als eine SecMethod im Segment stand, dann braucht nur
                 * das eine der multiplen DEGs entfernt werden. Wenn aber nur die eine
                 * fehlerhafte Info enthalten war, dann muss das gesamte Segment
                 * entfernt werden, weil ein SecMethods-Segment ohne tats�chliche Daten
                 * �ber unterst�tzte SecMethods ung�ltig ist. */
               
                if (number>1) { // nur das eine fehlerhafte TAN:1 l�schen
                    startpos=elem.getPosInMsg();
                    endpos=startpos
                        +1
                        +elem.toString(0).length()
                        +1
                        +msg.getElement(elemBaseName+".version").toString(0).length();
                } else { // komplettes segment "SecMethod" l�schen
                    startpos=parent.getPosInMsg()+1;
                    endpos=startpos+parent.toString(0).length();
                    /* der Fehler, der hier gemacht wird (nachfolgende Segment-
                     * Sequenznummern sind falsch), wird durch ein nachgeschaltetes
                     * Olly-Modul korrigiert */
                }
               
View Full Code Here


                MSG.DONT_CHECK_SEQ,MSG.DONT_CHECK_VALIDS);
       
        // in einer Schleife durch alle SuppVersions-Datens�tze laufen
        for (int i=0;;i++) {
            String        elemName=HBCIUtilsInternal.withCounter(myMsgName+".BPD.BPA.SuppVersions.version",i);
            SyntaxElement elem=msg.getElement(elemName);

            if (elem==null) {
                break;
            }
           
            // Versionsnummer extrahieren
            String version=elem.toString();
            if (version.equals("2")) { // "2" ist ung�ltige Versionsnummer
                HBCIUtils.log("there is an invalid hbci version number ('2') in this BPD - replacing it with '210'",HBCIUtils.LOG_WARN);

                // versionsnummer "2" im string durch "210" ersetzen
                int startpos=elem.getPosInMsg()+1// +1 wegen �berspringen des pre-delimiters
                st=new StringBuffer(st).replace(startpos,startpos+1,"210").toString();
                HBCIUtils.log("new message after replacing: "+st,HBCIUtils.LOG_DEBUG);
                break;
            }
        }
View Full Code Here

TOP

Related Classes of org.kapott.hbci.protocol.SyntaxElement

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.