Statistics
| Revision:

svn-gvsig-desktop / branches / v02_desarrollo / libraries / sld / using-sld-model / org.gvsig.sldsupport / org.gvsig.sldsupport.lib / org.gvsig.sldsupport.lib.impl / src / main / java / org / gvsig / sldsupport / impl / parser / ExtendedKXmlParser.java @ 40758

History | View | Annotate | Download (1.45 KB)

1
package org.gvsig.sldsupport.impl.parser;
2

    
3
import org.kxml2.io.KXmlParser;
4
import org.slf4j.Logger;
5
import org.slf4j.LoggerFactory;
6
import org.xmlpull.v1.XmlPullParser;
7
import org.xmlpull.v1.XmlPullParserException;
8

    
9
/**
10
 * Overrides getName() method to get name without namespace (if namespace exists)
11
 * Addes getLongName() to get name with namespace (if namespace exists)
12
 * 
13
 * @author jldominguez
14
 *
15
 */
16
public class ExtendedKXmlParser extends KXmlParser {
17
        
18
        private static Logger logger = LoggerFactory.getLogger(ExtendedKXmlParser.class);
19
        
20
        public ExtendedKXmlParser() {
21
                super();
22
                /*
23
                 * Ensure super.getName() gets 'namespace:name'
24
                 */
25
                try {
26
                        this.setFeature(XmlPullParser.FEATURE_PROCESS_NAMESPACES, false);
27
                } catch (XmlPullParserException e) {
28
                        // This should not happen...
29
                        logger.info("While setting property in ExtendedKXmlParser.", e);
30
                }
31

    
32
        }
33
        
34
        /**
35
         * 
36
         * Returns name without namespace
37
         * 
38
         * @return
39
         */
40
        public String getName() {
41
                return this.getSimpleName();
42
        }
43

    
44
        /**
45
         * Gets name with namespace 
46
         * 
47
         * @return
48
         */
49
        public String getLongName() {
50
                return super.getName();
51
        }
52
        
53
        private String getSimpleName() {
54
            String name = super.getName();
55
            
56
            if (name == null)  {
57
                    return null;
58
            }
59
            
60
            int ind = name.indexOf(":");
61
            if (ind != -1) {
62
                    // +1 to remove ':' also
63
                    name = name.substring(ind + 1);
64
            }
65
            return name;
66
        }
67

    
68
}