View Javadoc

1   /*
2    * $Id: GetMetadata.java,v 1.3 2005/03/21 18:45:55 mch 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  
14  /***
15   * A servlet for returning the generated metadata
16   *
17   * @author mch
18   */
19  public class GetMetadata extends DefaultServlet {
20     
21     
22     public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
23  
24        try {
25           response.setContentType("text/xml");
26  
27           //see if a particular resource type has bee requested
28           String resourceType = request.getParameter("Resource");
29           
30           //nothing - all
31           if (resourceType == null) {
32              response.getWriter().write(VoDescriptionServer.makeVoDescription());
33           }
34           //CEA resources
35           else if (resourceType.toUpperCase().equals("CEA")) {
36              response.getWriter().write(CEAComponentManagerFactory.getInstance().getMetadataService().returnRegistryEntry());
37           }
38           //look for the one with the same name
39           else  {
40              //we still need to wrap it in a VoDescription so that it's a valid document
41              response.getWriter().write(VoDescriptionServer.VODESCRIPTION_ELEMENT);
42              response.getWriter().write(DomHelper.ElementToString(VoDescriptionServer.getResource(resourceType)));
43              response.getWriter().write(VoDescriptionServer.VODESCRIPTION_ELEMENT_END);
44           }
45        }
46        catch (Throwable th) {
47           doError(response, "Geting Metadata",th);
48        }
49     }
50  
51  
52  }