View Javadoc

1   /*
2    * $Id: GetMetadata.java,v 1.6 2006/09/26 15:34:42 clq2 Exp $
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        // Initialise SampleStars plugin if required (may not be initialised
27        // if admin has not run the self-tests)
28        String plugin = ConfigFactory.getCommonConfig().getString(
29             "datacenter.querier.plugin");
30        if (plugin.equals("org.astrogrid.tableserver.test.SampleStarsPlugin")) {
31           // This has no effect if the plugin is already initialised
32           SampleStarsPlugin.initialise();  // Just in case
33        }
34        try {
35           response.setContentType("text/xml");
36  
37           //see if a particular resource type has bee requested
38           String resourceType = request.getParameter("Resource");
39           
40           //nothing - all
41           if (resourceType == null) {
42              response.getWriter().write(VoDescriptionServer.makeVoDescription());
43           }
44           //CEA resources
45           else if (resourceType.toUpperCase().equals("CEA")) {
46  //            response.getWriter().write(".... test string ....");
47  //            response.getWriter().write(
48  //				CEAComponentManagerFactory.getInstance().getMetadataService().returnRegistryEntry()
49  //				);
50              response.getWriter().write(
51  				DomHelper.ElementToString(
52  					CEAComponentManagerFactory.getInstance().getMetadataService().returnRegistryEntry().getDocumentElement()
53  					)
54  				);
55           }
56           //look for the one with the same name
57           else  {
58              //we still need to wrap it in a VoDescription so that it's a valid document
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  }