{
if (labelb == null) {
Reply reply = request.makeReply(HTTP.INTERNAL_SERVER_ERROR);
reply.setContent("LabelBureauFrame not configured properly: "+
"must be attached to a LabelBureauResource.");
throw new HTTPException(reply);
}
// Get opt (only generic/normal/insert)
String opt = data.getValue("opt") ;
String urls[] = parseURLs (data.getMultipleValues ("u")) ;
int iformat = parseFormat(request,data.getValue("format"));
String services[] = parseURLs (data.getMultipleValues ("s")) ;
if (services == null)
services = labelb.getServices();
if ((services == null) || (services.length == 0))
return labelb.makePICSErrorReply(request,
"no-ratings \"unknown service\"");
// Perform request
if (labelb.getDebugFlag()) {
System.out.println("******** PICS REQUEST ********");
System.out.println("opt : "+opt);
System.out.println("format : "+data.getValue("format"));
System.out.print("services : ");
for (int i=0; i < services.length; i++)
System.out.println(services[i]);
System.out.print("urls : ");
for (int i=0; i < urls.length; i++)
System.out.println(urls[i]);
System.out.println("******************************");
}
if ( opt.equals ("generic") ) {
return labelb.getGenericLabels (request, iformat,
urls, services, data) ;
} else if ( opt.equals ("normal") ) {
return labelb.getNormalLabels (request, iformat, urls,
services, data) ;
} else if ( opt.equals ("tree") ) {
return labelb.getTreeLabels (request, iformat, urls,
services, data) ;
} else if ( opt.equals ("generic+tree") ) {
return labelb.getGenericTreeLabels(request,iformat,
urls, services, data);
} else {
Reply error = request.makeReply(HTTP.BAD_REQUEST);
error.setContent ("Invalid label bureau query, bad option: "+opt);
throw new HTTPException (error) ;
}
}