@Override
    public void endElement(String uri, String localName, String qName) throws SAXException {
        if ("Node".equals(qName)) {
            node = new Node(this.name, this.np, this.ntype, QueueState.fromString(this.state));
            if (StringUtils.isNotBlank(properties)) {
                final String[] props = properties.split(",");
                for (final String prop : props) {
                    node.getProperties().add(prop);
                }
            }
            if (StringUtils.isNotBlank(status)) {
                final String[] statuses = status.split(",");
                for (final String statuss : statuses) {
                    if (statuss.indexOf('=') > 0) {
                        String[] temp = statuss.split("=");
                        if (temp.length == 2)
                            node.getStatus().put(temp[0].trim(), temp[1].trim());
                    }
                }
            }
            if (StringUtils.isNotBlank(jobs)) {
                final String[] jobses = jobs.split(",");
                for (String jobss : jobses) {
                    if (jobss.indexOf('/') > 0) {
                        String[] temp = jobss.split("/");
                        if (temp.length == 2) {
                            int index = Integer.parseInt(temp[0].trim());
                            String name = temp[1];
                            Job job = new Job();
                            job.setQueueIndex(index);
                            job.setName(name);
                            node.getJobs().add(job);
                        }
                    }
                }
            }
            this.nodes.add(node);
        }
    }
@ Override public void endElement ( String uri , String localName , String qName ) throws SAXException { if ( "Node" . equals ( qName ) ) { node = new Node ( this . name , this . np , this . ntype , QueueState . fromString ( this . state ) ) ; if ( StringUtils . isNotBlank ( properties ) ) { final String [ ] props = properties . split ( "," ) ; for ( final String prop : props ) { node . getProperties ( ) . add ( prop ) ; } } if ( StringUtils . isNotBlank ( status ) ) { final String [ ] statuses = status . split ( "," ) ; for ( final String statuss : statuses ) { if ( statuss . indexOf ( '=' ) > 0 ) { String [ ] temp = statuss . split ( "=" ) ; if ( temp . length == 2 ) node . getStatus ( ) . put ( temp [ 0 ] . trim ( ) , temp [ 1 ] . trim ( ) ) ; } } } if ( StringUtils . isNotBlank ( jobs ) ) { final String [ ] jobses = jobs . split ( "," ) ; for ( String jobss : jobses ) { if ( jobss . indexOf ( '/' ) > 0 ) { String [ ] temp = jobss . split ( "/" ) ; if ( temp . length == 2 ) { int index = Integer . parseInt ( temp [ 0 ] . trim ( ) ) ; String name = temp [ 1 ] ; Job job = new Job ( ) ; job . setQueueIndex ( index ) ; job . setName ( name ) ; node . getJobs ( ) . add ( job ) ; } } } } this . nodes . add ( node ) ; } }
/*
(non-Javadoc)
@see org.xml.sax.helpers.DefaultHandler#endElement(java.lang.String, java.lang.String, java.lang.String)