You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nutch.apache.org by ma...@apache.org on 2015/10/31 00:55:17 UTC
svn commit: r1711565 - in /nutch/trunk: CHANGES.txt
src/java/org/apache/nutch/service/model/request/DbQuery.java
src/java/org/apache/nutch/service/resources/DbResource.java
Author: mattmann
Date: Fri Oct 30 23:55:17 2015
New Revision: 1711565
URL: http://svn.apache.org/viewvc?rev=1711565&view=rev
Log:
Fix for NUTCH-2154 Nutch REST API (DB) suffering NullPointerException contributed by Sujen Shah.
Modified:
nutch/trunk/CHANGES.txt
nutch/trunk/src/java/org/apache/nutch/service/model/request/DbQuery.java
nutch/trunk/src/java/org/apache/nutch/service/resources/DbResource.java
Modified: nutch/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/nutch/trunk/CHANGES.txt?rev=1711565&r1=1711564&r2=1711565&view=diff
==============================================================================
--- nutch/trunk/CHANGES.txt (original)
+++ nutch/trunk/CHANGES.txt Fri Oct 30 23:55:17 2015
@@ -3,6 +3,8 @@ Nutch Change Log
Nutch 1.11 Release 25/10/2015 (dd/mm/yyyy)
Release Report: http://s.apache.org/nutch11
+* NUTCH-2154 Nutch REST API (DB) suffering NullPointerException (Aron Ahmadia, Sujen Shah via mattmann)
+
* NUTCH-2150 Add protocolstats utility (Michael Joyce via mattmann)
* NUTCH-2146 hashCode on the Outlink class (jorgelbg via mattmann)
Modified: nutch/trunk/src/java/org/apache/nutch/service/model/request/DbQuery.java
URL: http://svn.apache.org/viewvc/nutch/trunk/src/java/org/apache/nutch/service/model/request/DbQuery.java?rev=1711565&r1=1711564&r2=1711565&view=diff
==============================================================================
--- nutch/trunk/src/java/org/apache/nutch/service/model/request/DbQuery.java (original)
+++ nutch/trunk/src/java/org/apache/nutch/service/model/request/DbQuery.java Fri Oct 30 23:55:17 2015
@@ -16,13 +16,14 @@
*/
package org.apache.nutch.service.model.request;
+import java.util.HashMap;
import java.util.Map;
public class DbQuery {
private String confId;
private String type;
- private Map<String, String> args;
+ private Map<String, String> args = new HashMap<String, String>();
private String crawlId;
public String getConfId() {
Modified: nutch/trunk/src/java/org/apache/nutch/service/resources/DbResource.java
URL: http://svn.apache.org/viewvc/nutch/trunk/src/java/org/apache/nutch/service/resources/DbResource.java?rev=1711565&r1=1711564&r2=1711565&view=diff
==============================================================================
--- nutch/trunk/src/java/org/apache/nutch/service/resources/DbResource.java (original)
+++ nutch/trunk/src/java/org/apache/nutch/service/resources/DbResource.java Fri Oct 30 23:55:17 2015
@@ -30,6 +30,7 @@ import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
+import javax.ws.rs.core.Response.Status;
import org.apache.hadoop.conf.Configuration;
import org.apache.nutch.crawl.CrawlDbReader;
@@ -44,8 +45,17 @@ public class DbResource extends Abstract
@POST
@Path(value = "/crawldb")
@Consumes(MediaType.APPLICATION_JSON)
- public Object readdb(DbQuery dbQuery){
+ public Response readdb(DbQuery dbQuery){
+ if(dbQuery == null)
+ return Response.status(Status.BAD_REQUEST).build();
+
Configuration conf = configManager.get(dbQuery.getConfId());
+ if(conf == null){
+ conf = configManager.get(ConfigResource.DEFAULT);
+ }
+ if(dbQuery.getCrawlId() == null || dbQuery.getType() == null){
+ return Response.status(Status.BAD_REQUEST).build();
+ }
String type = dbQuery.getType();
if(type.equalsIgnoreCase("stats")){
@@ -63,13 +73,13 @@ public class DbResource extends Abstract
return null;
}
-
+
@GET
@Path(value="/fetchdb")
public List<FetchNodeDbInfo> fetchDb(@DefaultValue("0")@QueryParam("to")int to, @DefaultValue("0")@QueryParam("from")int from){
List<FetchNodeDbInfo> listOfFetchedNodes = new ArrayList<FetchNodeDbInfo>();
Map<Integer, FetchNode> fetchNodedbMap = FetchNodeDb.getInstance().getFetchNodeDb();
-
+
if(to ==0 || to>fetchNodedbMap.size()){
to = fetchNodedbMap.size();
}
@@ -85,7 +95,7 @@ public class DbResource extends Abstract
fdbInfo.setChildNodes(node.getOutlinks());
listOfFetchedNodes.add(fdbInfo);
}
-
+
return listOfFetchedNodes;
}
@SuppressWarnings("resource")
@@ -95,7 +105,7 @@ public class DbResource extends Abstract
return Response.ok(dbr.query(args, conf, "stats", crawlId)).build();
}catch(Exception e){
e.printStackTrace();
- return Response.serverError().entity(e.getMessage()).build();
+ return Response.serverError().entity(e.getMessage()).type(MediaType.TEXT_PLAIN).build();
}
}
@@ -106,7 +116,7 @@ public class DbResource extends Abstract
return Response.ok(dbr.query(args, conf, "dump", crawlId), MediaType.APPLICATION_OCTET_STREAM).build();
}catch(Exception e){
e.printStackTrace();
- return Response.serverError().entity(e.getMessage()).build();
+ return Response.serverError().entity(e.getMessage()).type(MediaType.TEXT_PLAIN).build();
}
}
@@ -117,7 +127,7 @@ public class DbResource extends Abstract
return Response.ok(dbr.query(args, conf, "topN", crawlId), MediaType.APPLICATION_OCTET_STREAM).build();
}catch(Exception e){
e.printStackTrace();
- return Response.serverError().entity(e.getMessage()).build();
+ return Response.serverError().entity(e.getMessage()).type(MediaType.TEXT_PLAIN).build();
}
}
@@ -127,7 +137,7 @@ public class DbResource extends Abstract
return Response.ok(dbr.query(args, conf, "url", crawlId)).build();
}catch(Exception e){
e.printStackTrace();
- return Response.serverError().entity(e.getMessage()).build();
+ return Response.serverError().entity(e.getMessage()).type(MediaType.TEXT_PLAIN).build();
}
}
}