source: trunk/gsdl3/src/java/org/greenstone/gsdl3/service/MGGDBMService.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.1 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 MGGDBMService
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("DocRetrieve")) {
20 return processDocRetrieve(request);
21 } else if (name.equals("MetadataRetrieve")) {
22 return processMetadataRetrieve(request);
23 }
24
25 System.err.println("MGGDBMService:should never get here. service type wrong:"+name);
26 return null;
27 }
28
29 public boolean configure(Element info) {
30
31 System.out.println("configuring MGGDBMService");
32
33 Element e = null;
34 // these entries should reflect the build config file - some services may not be available depending on how the colleciton was built.
35 // set up short_service_info_ - for now just has name and type
36 e = doc_.createElement("service");
37 e.setAttribute("type", "query");
38 e.setAttribute("name", "TextQuery");
39 short_service_info_.appendChild(e);
40
41 e = doc_.createElement("service");
42 e.setAttribute("type", "query");
43 e.setAttribute("name", "DocRetrieve");
44 short_service_info_.appendChild(e);
45
46 e = doc_.createElement("service");
47 e.setAttribute("type", "query");
48 e.setAttribute("name", "MetadataRetrieve");
49 short_service_info_.appendChild(e);
50
51
52 // set up service_info_map_ - for now, just has the same elements as above
53 // should have full details about each service incl params lists etc.
54 e = doc_.createElement("service");
55 e.setAttribute("type", "query");
56 e.setAttribute("name", "TextQuery");
57 service_info_map_.put("TextQuery", e);
58
59 e = doc_.createElement("service");
60 e.setAttribute("type", "query");
61 e.setAttribute("name", "DocRetrieve");
62 service_info_map_.put("DocRetrieve", e);
63
64 e = doc_.createElement("service");
65 e.setAttribute("type", "query");
66 e.setAttribute("name", "MetadataRetrieve");
67 service_info_map_.put("MetadataRetrieve", e);
68
69 return true;
70 }
71
72 protected Element processTextQuery(Element request) {
73 Element result = doc_.createElement("response");
74 result.setAttribute("name", "TextQuery");
75
76 // dummy result
77 Text t = null;
78 t = doc_.createTextNode("Textquery result... ");
79 result.appendChild(t);
80 return result;
81 }
82
83 protected Element processDocRetrieve(Element request) {
84 Element result = doc_.createElement("response");
85 result.setAttribute("name", "DocRetrieve");
86
87 // dummy result
88 Text t = null;
89 t = doc_.createTextNode("DocRetrieve result... ");
90 result.appendChild(t);
91 return result;
92 }
93
94 protected Element processMetadataRetrieve(Element request) {
95 Element result = doc_.createElement("response");
96 result.setAttribute("name", "MetadataRetrieve");
97
98 // dummy result
99 Text t = null;
100 t = doc_.createTextNode("MetadataRetrieve result... ");
101 result.appendChild(t);
102 return result;
103 }
104
105}
Note: See TracBrowser for help on using the repository browser.