/** * Processes an "update" (add, commit or optimize) and * returns the response as a String. * * @deprecated The better approach is to instantiate an Updatehandler directly * * @param xml The XML of the update * @return The XML response to the update */ @Deprecated public String update(String xml) { StringReader req = new StringReader(xml); StringWriter writer = new StringWriter(32000); updater.doLegacyUpdate(req, writer); return writer.toString(); }
@Override public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { if( hasMulticore ) { response.sendError( 400, "Missing solr core name in path" ); return; } BufferedReader requestReader = request.getReader(); response.setContentType(QueryResponseWriter.CONTENT_TYPE_XML_UTF8); if( request.getQueryString() != null ) { log.warn( "The @Deprecated SolrUpdateServlet does not accept query parameters: "+request.getQueryString()+"\n" +" If you are using solrj, make sure to register a request handler to /update rather then use this servlet.\n" +" Add: <requestHandler name=\"/update\" class=\"solr.XmlUpdateRequestHandler\" > to your solrconfig.xml\n\n" ); } PrintWriter writer = response.getWriter(); legacyUpdateHandler.doLegacyUpdate(requestReader, writer); } }