1
2
3
4
5 package org.astrogrid.dataservice.service.servlet;
6 import java.io.IOException;
7 import javax.servlet.http.HttpServletRequest;
8 import javax.servlet.http.HttpServletResponse;
9 import org.astrogrid.applications.component.CEAComponentManagerFactory;
10 import org.astrogrid.dataservice.metadata.VoDescriptionServer;
11 import org.astrogrid.xml.DomHelper;
12 import org.astrogrid.webapp.DefaultServlet;
13 import org.astrogrid.tableserver.test.SampleStarsPlugin;
14 import org.astrogrid.cfg.ConfigFactory;
15
16
17 /***
18 * A servlet for returning the generated metadata
19 *
20 * @author mch
21 */
22 public class GetMetadata extends DefaultServlet {
23
24 public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
25
26
27
28 String plugin = ConfigFactory.getCommonConfig().getString(
29 "datacenter.querier.plugin");
30 if (plugin.equals("org.astrogrid.tableserver.test.SampleStarsPlugin")) {
31
32 SampleStarsPlugin.initialise();
33 }
34 try {
35 response.setContentType("text/xml");
36
37
38 String resourceType = request.getParameter("Resource");
39
40
41 if (resourceType == null) {
42 response.getWriter().write(VoDescriptionServer.makeVoDescription());
43 }
44
45 else if (resourceType.toUpperCase().equals("CEA")) {
46
47
48
49
50 response.getWriter().write(
51 DomHelper.ElementToString(
52 CEAComponentManagerFactory.getInstance().getMetadataService().returnRegistryEntry().getDocumentElement()
53 )
54 );
55 }
56
57 else {
58
59 response.getWriter().write(VoDescriptionServer.VODESCRIPTION_ELEMENT);
60 response.getWriter().write(DomHelper.ElementToString(VoDescriptionServer.getResource(resourceType)));
61 response.getWriter().write(VoDescriptionServer.VODESCRIPTION_ELEMENT_END);
62 }
63 }
64 catch (Throwable th) {
65 doError(response, "Getting Metadata",th);
66 }
67 }
68
69
70 }