edu.cornell.mannlib.vitro.webapp.sparql.GetClazzDataProperties Maven / Gradle / Ivy
/* $This file is distributed under the terms of the license in LICENSE$ */
package edu.cornell.mannlib.vitro.webapp.sparql;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Collection;
import java.util.HashSet;
import java.util.Iterator;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import edu.cornell.mannlib.vedit.controller.BaseEditController;
import edu.cornell.mannlib.vitro.webapp.auth.permissions.SimplePermission;
import edu.cornell.mannlib.vitro.webapp.beans.DataProperty;
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
import edu.cornell.mannlib.vitro.webapp.dao.DataPropertyDao;
/**
* This servlet gets all the data properties for a given subject.
*/
@WebServlet(name = "GetClazzDataProperties", urlPatterns = {"/admin/getClazzDataProperties"})
public class GetClazzDataProperties extends BaseEditController {
private static final Log log = LogFactory.getLog(GetClazzDataProperties.class);
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
if (!isAuthorizedToDisplayPage(request, response,
SimplePermission.USE_MISCELLANEOUS_PAGES.ACTION)) {
return;
}
VitroRequest vreq = new VitroRequest(request);
String vClassURI = vreq.getParameter("vClassURI");
if (vClassURI == null || vClassURI.trim().equals("")) {
return;
}
StringBuilder respo = new StringBuilder("");
respo.append("");
// Add rdfs:label to the list
respo.append("");
DataPropertyDao ddao = vreq.getUnfilteredWebappDaoFactory()
.getDataPropertyDao();
Collection dataProps = ddao
.getDataPropertiesForVClass(vClassURI);
Iterator dataPropIt = dataProps.iterator();
HashSet dpropURIs = new HashSet();
while (dataPropIt.hasNext()) {
DataProperty dp = dataPropIt.next();
if (!(dpropURIs.contains(dp.getURI()))) {
dpropURIs.add(dp.getURI());
DataProperty dprop = (DataProperty) ddao
.getDataPropertyByURI(dp.getURI());
if (dprop != null) {
respo.append("");
}
}
}
respo.append(" ");
response.setContentType("text/xml");
response.setCharacterEncoding("UTF-8");
PrintWriter out = response.getWriter();
out.println(respo);
out.flush();
out.close();
}
/**
* The doPost method of the servlet.
*
* This method is called when a form has its tag value method equals to
* post.
*
* @param request
* the request send by the client to the server
* @param response
* the response send by the server to the client
* @throws ServletException
* if an error occurred
* @throws IOException
* if an error occurred
*/
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
}