Revision 3483 trunk/libraries/libRemoteServices/src/org/gvsig/remoteClient/wms/wms_1_1_1/WMSLayer1_1_1.java

View differences:

WMSLayer1_1_1.java
17 17
 * 
18 18
 */
19 19
public class WMSLayer1_1_1 extends org.gvsig.remoteClient.wms.WMSLayer {
20

  
21
	
22
	public WMSLayer1_1_1()
23
	{
24
		children = new ArrayList();
25
	}
26
/**
27
 * <p>Parses the contents of the parser(WMSCapabilities)
28
 * to extract the information about an WMSLayer</p>
29
 * 
30
 */
31
   public void parse(KXmlParser parser, TreeMap layerTreeMap)
32
   throws IOException, XmlPullParserException
20
    
21
    
22
    public WMSLayer1_1_1()
33 23
    {
34
    	int currentTag;
35
    	boolean end = false;
36
    	String value;
37
    	BoundaryBox bbox;
38
    	parser.require(KXmlParser.START_TAG, null, CapabilitiesTags.LAYER);
39
    	    	
40
    	//First of all set whether the layer is Queryable reading the attribute.
41
    	value = parser.getAttributeValue("", CapabilitiesTags.QUERYABLE);
42
    	if (value != null)
43
    	{
44
    		if (value.compareTo("0")==0)
45
    			setQueryable(false);
46
    		else
47
    			setQueryable(true);
48
    	}
49
    	
50
    	currentTag = parser.nextTag();
51
    	
52
    	while (!end) 
53
    	{
54
			 switch(currentTag)
55
			 {
56
				case KXmlParser.START_TAG:
57
					if (parser.getName().compareTo(CapabilitiesTags.LAYER)==0)
58
					{	
59
						WMSLayer1_1_1 lyr = new WMSLayer1_1_1();						
60
						//parser.next(); 
61
						lyr.parse(parser, layerTreeMap);
62
						lyr.setParent(this);
63
						getChildren().add(lyr);
64
						layerTreeMap.put(lyr.getName(), lyr);
65
					}											
66
					else if (parser.getName().compareTo(CapabilitiesTags.NAME)==0)
67
					{		
68
						value = parser.nextText();
69
						if (value != null) setName(value);						
70
					}	
71
					else if (parser.getName().compareTo(CapabilitiesTags.TITLE)==0)
72
					{
73
						value = parser.nextText();
74
						if (value != null) setTitle(value);
75
					}
76
					else if (parser.getName().compareTo(CapabilitiesTags.ABSTRACT)==0)
77
					{
78
						value = parser.nextText();
79
						if (value != null) setAbstract(value);
80
					}
81
					else if (parser.getName().compareTo(CapabilitiesTags.SRS)==0)
82
					{
83
						value = parser.nextText();
84
						if (value != null) addSrs(value);
85
					}					
86
					else if (parser.getName().compareTo(CapabilitiesTags.BOUNDINGBOX)==0)
87
					{
88
						bbox = new BoundaryBox();
89
						value = parser.getAttributeValue("",CapabilitiesTags.SRS);
90
						if (value != null)
91
							bbox.setSrs(value);
92
						value = parser.getAttributeValue("",CapabilitiesTags.MINX);
93
						if ((value != null) && (Utilities.isNumber(value)))
94
							bbox.setXmin(Double.parseDouble(value));	
95
						value = parser.getAttributeValue("",CapabilitiesTags.MINY);
96
						if ((value != null) && (Utilities.isNumber(value)))
97
							bbox.setYmin(Double.parseDouble(value));	
98
						value = parser.getAttributeValue("",CapabilitiesTags.MAXX);
99
						if ((value != null) && (Utilities.isNumber(value)))
100
							bbox.setXmax(Double.parseDouble(value));	
101
						value = parser.getAttributeValue("",CapabilitiesTags.MAXY);
102
						if ((value != null) && (Utilities.isNumber(value)))
103
							bbox.setYmax(Double.parseDouble(value));	
104
						addBBox(bbox);
105
					}	
106
					else if (parser.getName().compareTo(CapabilitiesTags.LATLONBOUNDINGBOX)==0)
107
					{
108
						bbox = new BoundaryBox();
109
						bbox.setSrs("4326");
110
						value = parser.getAttributeValue("",CapabilitiesTags.MINX);
111
						if ((value != null) && (Utilities.isNumber(value)))
112
							bbox.setXmin(Double.parseDouble(value));	
113
						value = parser.getAttributeValue("",CapabilitiesTags.MINY);
114
						if ((value != null) && (Utilities.isNumber(value)))
115
							bbox.setYmin(Double.parseDouble(value));	
116
						value = parser.getAttributeValue("",CapabilitiesTags.MAXX);
117
						if ((value != null) && (Utilities.isNumber(value)))
118
							bbox.setXmax(Double.parseDouble(value));	
119
						value = parser.getAttributeValue("",CapabilitiesTags.MAXY);
120
						if ((value != null) && (Utilities.isNumber(value)))
121
							bbox.setYmax(Double.parseDouble(value));	
122
						setLatLonBox(bbox);
123
					}						
124
					else if (parser.getName().compareTo(CapabilitiesTags.SCALEHINT)==0)
125
					{
126
						value = parser.getAttributeValue("",CapabilitiesTags.MIN);
127
						if ((value != null) && (Utilities.isNumber(value)))
128
							setScaleMin(Double.parseDouble(value));
129
						value = parser.getAttributeValue("",CapabilitiesTags.MAX);
130
						if ((value != null) && (Utilities.isNumber(value)))
131
							setScaleMax(Double.parseDouble(value));																	
132
					}						
133
					else if (parser.getName().compareTo(CapabilitiesTags.STYLE)==0)
134
					{
135
						WMSStyle1_1_1 style = new WMSStyle1_1_1();
136
						style.parse(parser);
137
						if((style != null) && (style.getName() != null))
138
						{
139
							styles.put(style.getName(),style);
140
						}
141
					}					
142
					break;
143
				case KXmlParser.END_TAG:
144
					if (parser.getName().compareTo(CapabilitiesTags.LAYER) == 0)
145
						end = true;
146
					break;
147
				case KXmlParser.TEXT:					
148
					break;
149
			 }
150
			 //if (!end)
151
			 //{
152
				 currentTag = parser.next();
153
			 //}
154
    	}
155
    	//parser.require(KXmlParser.END_TAG, null, CapabilitiesTags.LAYER);
24
        children = new ArrayList();
25
    }
26
    /**
27
     * <p>Parses the contents of the parser(WMSCapabilities)
28
     * to extract the information about an WMSLayer</p>
29
     * 
30
     */
31
    public void parse(KXmlParser parser, TreeMap layerTreeMap)
32
    throws IOException, XmlPullParserException
33
    {
34
        int currentTag;
35
        boolean end = false;
36
        String value;
37
        BoundaryBox bbox;
38
        parser.require(KXmlParser.START_TAG, null, CapabilitiesTags.LAYER);
39
        
40
        //First of all set whether the layer is Queryable reading the attribute.
41
        value = parser.getAttributeValue("", CapabilitiesTags.QUERYABLE);
42
        if (value != null)
43
        {
44
            if (value.compareTo("0")==0)
45
                setQueryable(false);
46
            else
47
                setQueryable(true);
48
        }
49
        
50
        currentTag = parser.nextTag();
51
        
52
        while (!end) 
53
        {
54
            switch(currentTag)
55
            {
56
                case KXmlParser.START_TAG:
57
                    if (parser.getName().compareTo(CapabilitiesTags.LAYER)==0)
58
                    {	
59
                        WMSLayer1_1_1 lyr = new WMSLayer1_1_1();						
60
                        //parser.next(); 
61
                        lyr.parse(parser, layerTreeMap);
62
                        lyr.setParent(this);
63
                        getChildren().add(lyr);
64
                        layerTreeMap.put(lyr.getName(), lyr);
65
                    }											
66
                    else if (parser.getName().compareTo(CapabilitiesTags.NAME)==0)
67
                    {		
68
                        value = parser.nextText();
69
                        if (value != null) setName(value);						
70
                    }	
71
                    else if (parser.getName().compareTo(CapabilitiesTags.TITLE)==0)
72
                    {
73
                        value = parser.nextText();
74
                        if (value != null) setTitle(value);
75
                    }
76
                    else if (parser.getName().compareTo(CapabilitiesTags.ABSTRACT)==0)
77
                    {
78
                        value = parser.nextText();
79
                        if (value != null) setAbstract(value);
80
                    }
81
                    else if (parser.getName().compareTo(CapabilitiesTags.SRS)==0)
82
                    {
83
                        value = parser.nextText();
84
                        if (value != null) addSrs(value);
85
                    }					
86
                    else if (parser.getName().compareTo(CapabilitiesTags.BOUNDINGBOX)==0)
87
                    {
88
                        bbox = new BoundaryBox();
89
                        value = parser.getAttributeValue("",CapabilitiesTags.SRS);
90
                        if (value != null)
91
                            bbox.setSrs(value);
92
                        value = parser.getAttributeValue("",CapabilitiesTags.MINX);
93
                        if ((value != null) && (Utilities.isNumber(value)))
94
                            bbox.setXmin(Double.parseDouble(value));	
95
                        value = parser.getAttributeValue("",CapabilitiesTags.MINY);
96
                        if ((value != null) && (Utilities.isNumber(value)))
97
                            bbox.setYmin(Double.parseDouble(value));	
98
                        value = parser.getAttributeValue("",CapabilitiesTags.MAXX);
99
                        if ((value != null) && (Utilities.isNumber(value)))
100
                            bbox.setXmax(Double.parseDouble(value));	
101
                        value = parser.getAttributeValue("",CapabilitiesTags.MAXY);
102
                        if ((value != null) && (Utilities.isNumber(value)))
103
                            bbox.setYmax(Double.parseDouble(value));	
104
                        addBBox(bbox);
105
                    }	
106
                    else if (parser.getName().compareTo(CapabilitiesTags.LATLONBOUNDINGBOX)==0)
107
                    {
108
                        bbox = new BoundaryBox();
109
                        bbox.setSrs("EPSG:4326");
110
                        value = parser.getAttributeValue("",CapabilitiesTags.MINX);
111
                        if ((value != null) && (Utilities.isNumber(value)))
112
                            bbox.setXmin(Double.parseDouble(value));	
113
                        value = parser.getAttributeValue("",CapabilitiesTags.MINY);
114
                        if ((value != null) && (Utilities.isNumber(value)))
115
                            bbox.setYmin(Double.parseDouble(value));	
116
                        value = parser.getAttributeValue("",CapabilitiesTags.MAXX);
117
                        if ((value != null) && (Utilities.isNumber(value)))
118
                            bbox.setXmax(Double.parseDouble(value));	
119
                        value = parser.getAttributeValue("",CapabilitiesTags.MAXY);
120
                        if ((value != null) && (Utilities.isNumber(value)))
121
                            bbox.setYmax(Double.parseDouble(value));	
122
                        addBBox(bbox);
123
                        setLatLonBox(bbox);
124
                    }						
125
                    else if (parser.getName().compareTo(CapabilitiesTags.SCALEHINT)==0)
126
                    {
127
                        value = parser.getAttributeValue("",CapabilitiesTags.MIN);
128
                        if ((value != null) && (Utilities.isNumber(value)))
129
                            setScaleMin(Double.parseDouble(value));
130
                        value = parser.getAttributeValue("",CapabilitiesTags.MAX);
131
                        if ((value != null) && (Utilities.isNumber(value)))
132
                            setScaleMax(Double.parseDouble(value));																	
133
                    }						
134
                    else if (parser.getName().compareTo(CapabilitiesTags.STYLE)==0)
135
                    {
136
                        WMSStyle1_1_1 style = new WMSStyle1_1_1();
137
                        style.parse(parser);
138
                        if((style != null) && (style.getName() != null))
139
                        {
140
                            styles.put(style.getName(),style);
141
                        }
142
                    }					
143
                    break;
144
                case KXmlParser.END_TAG:
145
                    if (parser.getName().compareTo(CapabilitiesTags.LAYER) == 0)
146
                        end = true;
147
                    break;
148
                case KXmlParser.TEXT:					
149
                    break;
150
            }
151
            //if (!end)
152
            //{
153
            currentTag = parser.next();
154
            //}
155
        }
156
        //parser.require(KXmlParser.END_TAG, null, CapabilitiesTags.LAYER);
156 157
    }      
157
 }
158
    
159
    public String toString(){
160
        return super.toString();
161
    }
162
}

Also available in: Unified diff