Changeset 2562
- Timestamp:
- 02/11/13 08:55:16 (11 years ago)
- Location:
- ComponentRegistry/trunk/ComponentRegistry/src/main
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
ComponentRegistry/trunk/ComponentRegistry/src/main/java/clarin/cmdi/componentregistry/servlet/IsocatServlet.java
r1292 r2562 2 2 3 3 import clarin.cmdi.componentregistry.Configuration; 4 import com.sun.jersey.api.client.Client; 5 import com.sun.jersey.api.client.WebResource; 6 import com.sun.jersey.core.util.MultivaluedMapImpl; 4 7 import java.io.IOException; 5 8 import java.net.URI; 6 7 9 import javax.servlet.ServletConfig; 8 10 import javax.servlet.ServletException; … … 13 15 import javax.ws.rs.core.MultivaluedMap; 14 16 import javax.ws.rs.core.UriBuilder; 15 16 import com.sun.jersey.api.client.Client; 17 import com.sun.jersey.api.client.WebResource; 18 import com.sun.jersey.core.util.MultivaluedMapImpl; 17 import org.slf4j.Logger; 18 import org.slf4j.LoggerFactory; 19 19 20 20 /** 21 * 21 * 22 22 * Servlet responsible for providing a bridge to the isocat REST interface. Can be called by the frontend to circumvent crosscripting and 23 23 * FLASH/Browser limitation in setting the headers of a request. 24 * 24 * 25 25 */ 26 26 public class IsocatServlet extends HttpServlet { 27 27 28 private final static Logger logger = LoggerFactory.getLogger(IsocatServlet.class); 28 29 private static final long serialVersionUID = 1L; 29 30 private transient WebResource service; … … 32 33 @Override 33 34 public void init(ServletConfig config) throws ServletException { 34 super.init(config); 35 URI uri = UriBuilder.fromUri(Configuration.getInstance().getIsocatRestUrl()).build(); 36 Client client = Client.create(); 37 service = client.resource(uri); 35 super.init(config); 36 URI uri = UriBuilder.fromUri(Configuration.getInstance().getIsocatRestUrl()).build(); 37 Client client = Client.create(); 38 service = client.resource(uri); 39 logger.info("Instantiated ISOcat servlet on URI {}", uri); 38 40 } 39 41 40 42 @Override 41 43 protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { 42 MultivaluedMap<String, String> queryParams = new MultivaluedMapImpl(); 43 queryParams.add("dcif-mode", "list"); 44 String keywords = req.getParameter("keywords"); 45 queryParams.add("keywords", keywords); 46 String type = req.getParameter("type"); //simple, complex or no type param to search in everything 47 if (type != null) { 48 queryParams.add("type", type); 49 } 50 queryParams.add("profile", "Metadata"); //always search in metadata profile 51 resp.setContentType(MediaType.TEXT_XML); 52 String result = service.path("/user/guest/search").queryParams(queryParams).accept(DCIF_XML).get(String.class); 53 resp.getWriter().write(result); 54 resp.flushBuffer(); 44 MultivaluedMap<String, String> queryParams = new MultivaluedMapImpl(); 45 queryParams.add("dcif-mode", "list"); 46 String keywords = req.getParameter("keywords"); 47 logger.debug("ISOcat request: keywords = {}", keywords); 48 queryParams.add("keywords", keywords); 49 String type = req.getParameter("type"); //simple, complex or no type param to search in everything 50 logger.debug("ISOcat request: type = {}", type); 51 if (type != null) { 52 queryParams.add("type", type); 53 } 54 queryParams.add("profile", "Metadata"); //always search in metadata profile 55 resp.setContentType(MediaType.TEXT_XML); 56 57 final WebResource requestResource = service.path("/user/guest/search").queryParams(queryParams); 58 logger.info("Forwarding ISOcat request to {}", requestResource.getURI()); 59 60 final String result = requestResource.accept(DCIF_XML).get(String.class); 61 logger.debug("ISOcat result: {}", result); 62 resp.getWriter().write(result); 63 resp.flushBuffer(); 55 64 } 56 57 65 } -
ComponentRegistry/trunk/ComponentRegistry/src/main/resources/log4j.properties
r2561 r2562 13 13 log4j.logger.clarin.cmdi.componentregistry.rest=WARN 14 14 log4j.logger.clarin.cmdi.componentregistry.impl.database=WARN 15 log4j.logger.clarin.cmdi.componentregistry.servlet.IsocatServlet=WARN 15 16 16 17 # Logging for initialization
Note: See TracChangeset
for help on using the changeset viewer.