%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page trimDirectiveWhitespaces="true" %>
<%@ page import="org.crosswire.utils.Sessions" %>
<%@ page import="org.crosswire.community.RightsAndRoles" %>
<%@ page import="org.crosswire.community.projects.ntmss.data.ProjectManagement" %>
<%@ page import="org.crosswire.community.projects.ntmss.data.Document" %>
<%@ page import="org.crosswire.repo.VersionedRepo" %>
<%@ page import="org.crosswire.utils.Utils" %>
<%@ page import="org.apache.log4j.Logger" %>
<%
Logger logger = Logger.getLogger("project/data/put");
boolean pushOnCommit = "true".equals(Utils.getSysConfig(session).getProperty("VersionedRepoPushOnCommit"));
// who we are
String userName = Sessions.getSessionStringValue(request, "userName");
// who we'd like to save project/data as
String saveAsUserName = request.getParameter("userName");
int projectID = -1; try {projectID = Integer.parseInt(request.getParameter("projectID"));} catch (Exception e){}
String projectName = request.getParameter("projectName");
if (projectName != null) projectName = new String(projectName.getBytes("iso8859-1"), "UTF-8");
String key = request.getParameter("key");
String subKey = request.getParameter("subKey");
if (subKey == null) subKey = "primary";
String body = request.getParameter("data");
String push = request.getParameter("push");
//if (body != null) body = new String(body.getBytes("iso8859-1"), "UTF-8");
String role="VMR Administrator";
String role2="Project Manager";
if ((projectID > -1 || projectName != null) && key != null) {
response.setContentType("text/xml");
ProjectManagement.Project pr = projectID > -1 ? ProjectManagement.getProject(projectID) : ProjectManagement.getProject(projectName);
if (pr == null) {
out.print("
set project data
| projectID | project id to retrieve, |
| projectName | project name to retrieve |
| key | path for data, e.g., collation/regularized/Rev.1.1 |
| subKey | optional, (primary) a subKey if multiple values will be stored for this key |
| userName | optional, scoped for individual user |
| data | body of data to set |
| push | [(true)|false] should repository be pushed |