Revision 41616

View differences:

trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.remoteclient/src/main/java/org/gvsig/remoteclient/wfs/exceptions/WFSException.java
46 46
    }	
47 47

  
48 48
    public WFSException(String wfsCode,String message) {		
49
        super(message);
49 50
        init();	
50 51
        formatString = message;
51 52
        this.wfsCode = wfsCode;
52 53
    }	
53 54

  
54 55
    public WFSException(String message) {        
56
        super(message);
55 57
        init(); 
56 58
        formatString = message;       
57 59
    }   
trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.remoteclient/src/main/java/org/gvsig/remoteclient/wfs/exceptions/ExceptionsFactory.java
29 29
import org.xmlpull.v1.XmlPullParserException;
30 30

  
31 31
import org.gvsig.remoteclient.utils.CapabilitiesTags;
32
import org.xmlpull.v1.XmlPullParser;
32 33

  
33 34
/**
34 35
 * This class parses an exception and returns it
......
80 81
		}   
81 82
		return new WFSException();
82 83
	}
83
	
84
	public static WFSException parseExceptionReport(KXmlParser parser) throws XmlPullParserException, IOException {
85
        int currentTag;
86
        boolean end = false;        
87
        
88
        currentTag = parser.next();
89
       
84

  
85
    public static WFSException parseExceptionReport(KXmlParser parser) throws XmlPullParserException, IOException {
90 86
        String code = null;
91
        
92
        while (!end) 
93
        {
94
            switch(currentTag)
95
            {
96
            case KXmlParser.START_TAG:                
97
                if (CapabilitiesTags.EXCEPTION.equals(parser.getName()))
98
                {
99
                    for (int i=0 ; i<parser.getAttributeCount() ; i++){
100
                        String attName = parser.getAttributeName(i);                       
101
                        if (CapabilitiesTags.EXCEPTION_CODE.equals(attName)){
102
                            code = parser.getAttributeValue(i);
103
                        }                                    
87
        int eventType = parser.getEventType();
88

  
89
        while ( eventType != XmlPullParser.END_DOCUMENT) {
90
            switch (eventType) {
91
                case KXmlParser.START_TAG:
92
                    if (CapabilitiesTags.EXCEPTION.equals(parser.getName())) {
93
                        for (int i = 0; i < parser.getAttributeCount(); i++) {
94
                            String attName = parser.getAttributeName(i);
95
                            if (CapabilitiesTags.EXCEPTION_CODE.equals(attName)) {
96
                                code = parser.getAttributeValue(i);
97
                            }
98
                        }
99
                    } else if (CapabilitiesTags.EXCEPTION_TEXT.equals(parser.getName())) {
100
                        parser.next();
101
                        return new WFSException(code, parser.getText());
104 102
                    }
105
                } else if (CapabilitiesTags.EXCEPTION_TEXT.equals(parser.getName())){
106
                    parser.next();
107
                    return new WFSException(code, parser.getText());
108
                }                                  
109
                break;
110
            case KXmlParser.END_TAG:
111
                if (CapabilitiesTags.EXCEPTION_REPORT.equals(parser.getName()))
112
                    end = true;
113
                break;
114
            case KXmlParser.TEXT:                   
115
                break;
103
                    break;
104
                case KXmlParser.END_TAG:
105
                    break;
106
                case KXmlParser.TEXT:
107
                    break;
116 108
            }
117
            if (!end){
118
                currentTag = parser.next();
119
            }
120
        }   
109
            parser.nextTag();
110
            eventType = parser.getEventType();
111
        }
121 112
        return new WFSException();
122 113
    }
123 114
}

Also available in: Unified diff