protected void doDSGet(Context context, HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException,
SQLException {
Researcher util = new Researcher();
ApplicationService applicationService = util.getApplicationService();
CrisSearchService searchService = (CrisSearchService) util
.getCrisSearchService();
String idString = request.getPathInfo();
String[] pathInfo = idString.split("/", 2);
String authority = pathInfo[1];
String target = request.getParameter("target");
String depth = request.getParameter("depth");
String root = request.getParameter("root");
String typo = request.getParameter("typo");
Pattern patt = Pattern.compile("rp[0-9]{5}$");
if (root == null) {
response.sendError(HttpServletResponse.SC_NOT_FOUND);
return;
}
String focus = authority;
if(!root.equals(authority)) {
focus = root;
}
Matcher matcher1 = patt.matcher(focus);
if(matcher1.find()) {
typo = "rp";
request.setAttribute("fullname", ResearcherPageUtils.getFullName(focus));
}
ResearcherPage researcherTarget = new ResearcherPage();
String authorityTarget = target;
if (target != null) {
Matcher matcher = patt.matcher(target);
if (matcher.find()) {
researcherTarget = applicationService
.getResearcherByAuthorityKey(target);
} else {
researcherTarget.setInternalRP(false);
researcherTarget.setFullName(target);