root / trunk / extensions / extWCS / src / es / uji / lsi / wcs / XmlWcsParsing / DescribeCoverageResponse.java @ 1877
History | View | Annotate | Download (3.12 KB)
1 |
package es.uji.lsi.wcs.XmlWcsParsing; |
---|---|
2 |
/*
|
3 |
* DescribeCoverage.java
|
4 |
*
|
5 |
* Created on 31 de diciembre de 2004, 15:03
|
6 |
*/
|
7 |
import java.util.*; |
8 |
import java.io.*; |
9 |
|
10 |
|
11 |
/**
|
12 |
*
|
13 |
* @author jaume
|
14 |
*/
|
15 |
public class DescribeCoverageResponse { |
16 |
private String version; |
17 |
private String updateSequence; |
18 |
private ArrayList coverageOfferingList = new ArrayList(); |
19 |
|
20 |
/** Creates a new instance of DescribeCoverage */
|
21 |
public DescribeCoverageResponse(XMLNode node, Capabilities capabilities) {
|
22 |
fillupDescribeCoverage(node, capabilities); |
23 |
} |
24 |
|
25 |
public DescribeCoverageResponse(File file, Capabilities capabilities){ |
26 |
// for debugging purposes only
|
27 |
try {
|
28 |
XMLNode node = new XMLNode(file);
|
29 |
fillupDescribeCoverage(node, capabilities); |
30 |
} catch (Exception e){ |
31 |
System.out.println("Exception: " + e.getMessage()); |
32 |
} |
33 |
} |
34 |
|
35 |
public void fillupDescribeCoverage(XMLNode node, Capabilities capabilities){ |
36 |
try{
|
37 |
checkDescribeCoverageDocument(node); |
38 |
for (int i=0; i<node.getNumSubNodes(); i++){ |
39 |
XMLNode subnode = node.getSubNode(i); |
40 |
|
41 |
if (WCSToolkit.isWCSTab(subnode, "CoverageOffering")) coverageOfferingList.add(new CoverageOffering(subnode, capabilities)); |
42 |
} |
43 |
} catch (NotAnDescribeCoverageXmlDocumentException e){
|
44 |
new Error("Unrecognized DescribeCapabilities format"); |
45 |
} |
46 |
} |
47 |
|
48 |
public boolean checkDescribeCoverageDocument(XMLNode node) throws NotAnDescribeCoverageXmlDocumentException{ |
49 |
if (WCSToolkit.isWCSTab(node, "CoverageDescription")){ |
50 |
version = node.getAttribute("version");
|
51 |
updateSequence = node.getAttribute("updateSequence");
|
52 |
return true; |
53 |
} else throw new NotAnDescribeCoverageXmlDocumentException(); |
54 |
} |
55 |
|
56 |
public String getVersion(){ |
57 |
return version;
|
58 |
} |
59 |
|
60 |
public String getUpdateSequence(){ |
61 |
return updateSequence;
|
62 |
} |
63 |
|
64 |
public ArrayList getCoverageOfferingList(){ |
65 |
return coverageOfferingList;
|
66 |
} |
67 |
|
68 |
public CoverageOffering getCoverageOffering(String coverage_name){ |
69 |
// returns the coverage named coverage_name from the list
|
70 |
Iterator it = coverageOfferingList.iterator();
|
71 |
while (it.hasNext()){
|
72 |
CoverageOffering co = (CoverageOffering) it.next(); |
73 |
if (co.getCoverageOfferingBrief().getName().equals(coverage_name)){
|
74 |
return co;
|
75 |
} |
76 |
} |
77 |
return null; |
78 |
} |
79 |
|
80 |
public String toString(){ |
81 |
Iterator it = coverageOfferingList.iterator();
|
82 |
String s = ""; |
83 |
while (it.hasNext()){
|
84 |
s += "\nNext item: "+it.next();
|
85 |
} |
86 |
return "\nDESCRIBE COVERAGE"+ |
87 |
"\nVersion: "+version+
|
88 |
"\nUpdate Sequence: "+updateSequence+
|
89 |
"\nCoverage Offering list: "+s;
|
90 |
} |
91 |
|
92 |
} |
93 |
|
94 |
class NotAnDescribeCoverageXmlDocumentException extends Exception{ |
95 |
public NotAnDescribeCoverageXmlDocumentException(){
|
96 |
super();
|
97 |
} |
98 |
|
99 |
public NotAnDescribeCoverageXmlDocumentException(String s){ |
100 |
super(s);
|
101 |
} |
102 |
} |