source: trunk/gsdl3/src/java/org/greenstone/gsdl3/service/MGPPService.java@ 3222

Last change on this file since 3222 was 3222, checked in by kjdon, 22 years ago

Initial revision

  • Property svn:keywords set to Author Date Id Revision
File size: 3.7 KB
Line 
1package org.greenstone.gsdl3.service;
2
3import org.w3c.dom.Document;
4import org.w3c.dom.Node;
5import org.w3c.dom.Text;
6import org.w3c.dom.Element;
7import org.w3c.dom.NodeList;
8
9
10public class MGPPService
11 extends ServiceModule {
12
13 /** passes the request Element to the appropriate service function*/
14 protected Element processService(String name, Element request) {
15
16 // dont need to check that the service name is supported for this particular object, because that has been checked by ServiceModule
17 if (name.equals("TextQuery")) {
18 return processTextQuery(request);
19 } else if(name.equals("FieldQuery")) {
20 return processFieldQuery(request);
21 } else if (name.equals("DocRetrieve")) {
22 return processDocRetrieve(request);
23 } else if (name.equals("MetadataRetrieve")) {
24 return processMetadataRetrieve(request);
25 }
26
27 System.err.println("MGPPService:should never get here. service type wrong:"+name);
28 return null;
29
30
31 }
32
33
34 public boolean configure(Element info) {
35
36 System.out.println("configuring MGPPService");
37
38 Element e = null;
39 // these entries should reflect the build config file - some services may not be available depending on how the colleciton was built.
40 // set up short_service_info_ - for now just has name and type
41 e = doc_.createElement("service");
42 e.setAttribute("type", "query");
43 e.setAttribute("name", "TextQuery");
44 short_service_info_.appendChild(e);
45
46 e = doc_.createElement("service");
47 e.setAttribute("type", "query");
48 e.setAttribute("name", "FieldQuery");
49 short_service_info_.appendChild(e);
50
51 e = doc_.createElement("service");
52 e.setAttribute("type", "query");
53 e.setAttribute("name", "DocRetrieve");
54 short_service_info_.appendChild(e);
55
56 e = doc_.createElement("service");
57 e.setAttribute("type", "query");
58 e.setAttribute("name", "MetadataRetrieve");
59 short_service_info_.appendChild(e);
60
61 // set up service_info_map_ - for now, just has the same elements as above
62 // should have full details about each service incl params lists etc.
63 e = doc_.createElement("service");
64 e.setAttribute("type", "query");
65 e.setAttribute("name", "TextQuery");
66 service_info_map_.put("TextQuery", e);
67
68 e = doc_.createElement("service");
69 e.setAttribute("type", "query");
70 e.setAttribute("name", "FieldQuery");
71 service_info_map_.put("FieldQuery", e);
72
73 e = doc_.createElement("service");
74 e.setAttribute("type", "query");
75 e.setAttribute("name", "DocRetrieve");
76 service_info_map_.put("DocRetrieve", e);
77
78 e = doc_.createElement("service");
79 e.setAttribute("type", "query");
80 e.setAttribute("name", "MetadataRetrieve");
81 service_info_map_.put("MetadataRetrieve", e);
82 return true;
83 }
84
85 protected Element processTextQuery(Element request) {
86 Element result = doc_.createElement("response");
87 result.setAttribute("name", "TextQuery");
88
89 // dummy result
90 Text t = null;
91 t = doc_.createTextNode("Textquery result... ");
92 result.appendChild(t);
93 return result;
94 }
95
96 protected Element processFieldQuery(Element request) {
97 Element result = doc_.createElement("response");
98 result.setAttribute("name", "FieldQuery");
99
100 // dummy result
101 Text t = null;
102 t = doc_.createTextNode("Fieldquery result... ");
103 result.appendChild(t);
104 return result;
105 }
106
107 protected Element processDocRetrieve(Element request) {
108 Element result = doc_.createElement("response");
109 result.setAttribute("name", "DocRetrieve");
110
111 // dummy result
112 Text t = null;
113 t = doc_.createTextNode("DocRetrieve result... ");
114 result.appendChild(t);
115 return result;
116 }
117
118 protected Element processMetadataRetrieve(Element request) {
119 Element result = doc_.createElement("response");
120 result.setAttribute("name", "MetadataRetrieve");
121
122 // dummy result
123 Text t = null;
124 t = doc_.createTextNode("MetadataRetrieve result... ");
125 result.appendChild(t);
126 return result;
127 }
128
129}
130
131
Note: See TracBrowser for help on using the repository browser.