Examples of BerNode


Examples of org.hxzon.asn1.core.type.base.BerNode

//        System.out.println(reverse);
        ByteArrayInputStream inStream = new ByteArrayInputStream(data);
        BerInputStream in = new BerInputStream(inStream);

        GoosePduParser parser = GoosePduParser.parser;
        BerNode node;
        while (null != (node = parser.readPacket(in))) {
            System.out.println(node.toString());
        }
    }
View Full Code Here

Examples of org.hxzon.asn1.core.type.base.BerNode

        }
        //FIXME right?
        if ("01000100".equals(getHexString(getPayloadOffset(), 4))) {
            return new OsiSessionPacket();
        }
        BerNode node = OsiPresentationParser.parser.parsePresentation(getSrcData(), getPayloadOffset());
        return new BerNodePayload(node, this);
    }
View Full Code Here

Examples of org.hxzon.asn1.core.type.base.BerNode

        return _reserved2;
    }

    public IPacketPayload fetchGoosepdu() {
        if (_goosePdu == null) {
            BerNode berNode = GoosePduParser.parser.parseGoose(super.getSrcData(), super.getPayloadOffset());
            _goosePdu = new BerNodePayload(berNode, this);
        }
        return _goosePdu;
    }
View Full Code Here

Examples of org.hxzon.asn1.core.type.base.BerNode

//  {
//  typeName    ObjectName,
//  typeSpecification  TypeSpecification
//  }
    public BerNode create(int tag, BerInputStream stream) {
        BerNode node = new ObjectName().init("typeName", "typeName", tag, stream);
        if (((ObjectName) node).getRealNode() instanceof UnknownBerNode) {
            node = new TypeSpecification().init("typeSpecification", "typeSpecification", tag, stream);
        }
        return node;
//    switch(tag){
View Full Code Here

Examples of org.hxzon.asn1.core.type.base.BerNode

        }
        return buffer.toString();
    }

    public static BerNode createUnknown(int tag, BerInputStream stream) {
        BerNode node = null;
        switch (tag) {
        case Tag.UNIVERSAL | Tag.BITSTRING:
            node = new BerBitString();
            break;
        case Tag.UNIVERSAL | Tag.BMPSTRING:
            node = new BerBMPString();
            break;
        case Tag.UNIVERSAL | Tag.BOOLEAN:
            node = new BerBoolean();
            break;
        case Tag.UNIVERSAL | Tag.CHARACTERSTRING:
            node = new BerCharacterString();
            break;
        case Tag.UNIVERSAL | Tag.EMBEDDEDPDV:
            node = new BerEmbeddedPDV();
            break;
        case Tag.UNIVERSAL | Tag.ENUMERATED:
            node = new BerEnumerated();
            break;
        case Tag.UNIVERSAL | Tag.EXTERNAL:
            node = new BerExternal();
            break;
        case Tag.UNIVERSAL | Tag.GENERALSTRING:
            node = new BerGeneralString();
            break;
        case Tag.UNIVERSAL | Tag.GENERALTIME:
            node = new BerGeneralTime();
            break;
        case Tag.UNIVERSAL | Tag.GRAPHICSTRING:
            node = new BerGraphicsString();
            break;
        case Tag.UNIVERSAL | Tag.IA5STRING:
            node = new BerIA5String();
            break;
        case Tag.UNIVERSAL | Tag.INTEGER:
            node = new BerInteger();
            break;
        case Tag.UNIVERSAL | Tag.NULL:
            node = new BerNull();
            break;
        case Tag.UNIVERSAL | Tag.NUMERICSTRING:
            node = new BerNumericString();
            break;
        case Tag.UNIVERSAL | Tag.OBJECTDESCRIPTOR:
            node = new BerObjectDescriptor();
            break;
        case Tag.UNIVERSAL | Tag.OBJECTID:
            node = new BerOID();
            break;
        case Tag.UNIVERSAL | Tag.OCTETSTRING:
            node = new BerOctetString();
            break;
        case Tag.UNIVERSAL | Tag.PRINTABLESTRING:
            node = new BerPrintableString();
            break;
        case Tag.UNIVERSAL | Tag.REAL:
            node = new BerReal();
            break;
        case Tag.UNIVERSAL | Tag.RELATIVEOID:
            node = new BerRelativeOID();
            break;
        case Tag.UNIVERSAL | Tag.SEQUENCE:
            node = new BerSequence();
            break;
        case Tag.UNIVERSAL | Tag.SET:
            node = new BerSet();
            break;
        case Tag.UNIVERSAL | Tag.TELETEXSTRING:
            node = new BerTeletexString();
            break;
        case Tag.UNIVERSAL | Tag.UNIVERSALSTRING:
            node = new BerUniversalString();
            break;
        case Tag.UNIVERSAL | Tag.UTCTIME:
            node = new BerUTCTime();
            break;
        case Tag.UNIVERSAL | Tag.UTF8STRING:
            node = new BerUTF8String();
            break;
        case Tag.UNIVERSAL | Tag.VIDEOTEXTSTRING:
            node = new BerVideoTextString();
            break;
        case Tag.UNIVERSAL | Tag.VISIBLESTRING:
            node = new BerVisibleString();
            break;
        default:
            node = new UnknownBerNode(tag);
            break;
        }
        return node.init(tag, stream).setName("unknown " + Tag.toString(tag));
    }
View Full Code Here

Examples of org.hxzon.asn1.core.type.base.BerNode

        return _reserved2;
    }

    public IPacketPayload fetchSvpdu() {
        if (_svPdu == null) {
            BerNode node = SvPduParser.parser.parseSv(getSrcData(), getPayloadOffset());
            _svPdu = new BerNodePayload(node, this);
        }
        return _svPdu;
    }
View Full Code Here

Examples of org.hxzon.asn1.core.type.base.BerNode

//  scatteredAccessDescription  [3] IMPLICIT ScatteredAccessDescription,
//  invalidated      [4] IMPLICIT NULL
//  }
    public BerNode create(int tag, BerInputStream stream) {
        //TODO
        BerNode node = new Address().init("address", "address", tag, stream);
        if (((Address) node).getRealNode() instanceof UnknownBerNode) {
            node = new TypeSpecification().init("typeSpecification", "typeSpecification", tag, stream);
        }
        return node;
//    switch (tag) {
View Full Code Here

Examples of org.hxzon.asn1.core.type.base.BerNode

    public void reInit() {
        for (BerNode node : getChildren()) {
            if ("listOfAccessResult".equals(node.getId())) {
                int index = 0;
                BerSequenceOf seqOf = (BerSequenceOf) node;
                BerNode successDataRealNode = getAccessResult_Success_RealNode(seqOf, index);
                successDataRealNode.setId("reportId");
                successDataRealNode.setName("报告标志");
                reportIdNode = successDataRealNode;
                index++;
                successDataRealNode = getAccessResult_Success_RealNode(seqOf, index);
                successDataRealNode.setId("reportedOptFields");
                successDataRealNode.setName("报告所含字段");
                String bitString = successDataRealNode.getValueAsString().replace(" ", "");
                if (bitString.charAt(1) == '1') {
                    index++;
                    successDataRealNode = getAccessResult_Success_RealNode(seqOf, index);
                    successDataRealNode.setId("seqNum");
                    successDataRealNode.setName("顺序编号");
                }
                if (bitString.charAt(2) == '1') {
                    index++;
                    successDataRealNode = getAccessResult_Success_RealNode(seqOf, index);
                    successDataRealNode.setId("timeOfEntry");
                    successDataRealNode.setName("条目时间");
                }
                if (bitString.charAt(4) == '1') {
                    index++;
                    successDataRealNode = getAccessResult_Success_RealNode(seqOf, index);
                    successDataRealNode.setId("DataSet");
                    successDataRealNode.setName("数据集名称");
                }
                if (bitString.charAt(6) == '1') {
                    index++;
                    successDataRealNode = getAccessResult_Success_RealNode(seqOf, index);
                    successDataRealNode.setId("bufOverflow");
                    successDataRealNode.setName("缓冲溢出");
                }
                if (bitString.charAt(7) == '1') {
                    index++;
                    successDataRealNode = getAccessResult_Success_RealNode(seqOf, index);
                    successDataRealNode.setId("entryId");
                    successDataRealNode.setName("条目标识");
                }
                if (bitString.charAt(9) == '1') {
                    successDataRealNode = getAccessResult_Success_RealNode(seqOf, index);
                    successDataRealNode.setId("subSeqNum");
                    successDataRealNode.setName("子序号");
                    index++;
                    successDataRealNode = getAccessResult_Success_RealNode(seqOf, index);
                    successDataRealNode.setId("moreSegmentFollow");
                    successDataRealNode.setName("有后续数据段");
                }
                //
                index++;
                successDataRealNode = getAccessResult_Success_RealNode(seqOf, index);
                successDataRealNode.setId("inclusionBitstring");
                successDataRealNode.setName("包含位串");
                int datasetNum = 0;
                String inclusionBitString = successDataRealNode.getValueAsString();
                for (char c : inclusionBitString.toCharArray()) {
                    datasetNum += (c == '1' ? 1 : 0);
                }
                if (bitString.charAt(5) == '1') {
                    for (int i = 0; i < datasetNum; i++) {
                        index++;
                        if (index >= seqOf.size()) {
                            logger.error("index " + index + " out of range:" + seqOf.size());
                            break;
                        }
                        successDataRealNode = getAccessResult_Success_RealNode(seqOf, index);
                        successDataRealNode.setId("dataReferences");
                        successDataRealNode.setName("数据集引用");
                    }
                }
                //
                valueNodes = new ArrayList<BerNode>(datasetNum);
                for (int i = 0; i < datasetNum; i++) {
                    index++;
                    if (index >= seqOf.size()) {
                        logger.error("index " + index + " out of range:" + seqOf.size());
                        break;
                    }
                    successDataRealNode = getAccessResult_Success_RealNode(seqOf, index);
                    successDataRealNode.setId("values");
                    successDataRealNode.setName("值");
                    valueNodes.add(successDataRealNode);
                }
                //
                if (bitString.charAt(3) == '1') {
                    for (int i = 0; i < datasetNum; i++) {
                        index++;
                        if (index >= seqOf.size()) {
                            logger.error("index " + index + " out of range:" + seqOf.size());
                            break;
                        }
                        successDataRealNode = getAccessResult_Success_RealNode(seqOf, index);
                        successDataRealNode.setId("reasonCodes");
                        successDataRealNode.setName("原因代码");
                    }
                }
            }
        }
    }
View Full Code Here

Examples of org.hxzon.asn1.core.type.base.BerNode

        }
    }

    private BerNode getAccessResult_Success_RealNode(BerSequenceOf seqOf, int i) {
        AccessResult accessResult = (AccessResult) seqOf.getChildren()[i];
        BerNode result = accessResult.getChildren()[0];
        if (result instanceof Data) {
            return ((Data) result).getChildren()[0];
        }
        return null;
    }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.