http://www.springframework.org/schema/beans/spring-beans-2.5.xsd\r
http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-2.0.xsd">\r
\r
- <reference id="repository" interface="javax.jcr.Repository" />\r
+ <reference id="jcrRepository" interface="javax.jcr.Repository" />\r
</beans:beans>
\ No newline at end of file
private final static Log log = LogFactory
.getLog(ExtendedDispatcherServlet.class);
- protected void service(HttpServletRequest req, HttpServletResponse resp)
- throws ServletException, java.io.IOException {
+ protected void service(HttpServletRequest request,
+ HttpServletResponse response) throws ServletException,
+ java.io.IOException {
// see http://forum.springsource.org/showthread.php?t=53472
try {
if (log.isTraceEnabled())
- log.debug("Received request with method '" + req.getMethod()
- + "'");
- doService(req, resp);
+ log.trace("Received request " + request);
+ doService(request, response);
} catch (Exception e) {
throw new ArgeoException("Cannot process request", e);
}
protected void service(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
if (log.isTraceEnabled())
- log.debug("Received request with method '" + request.getMethod()
- + "'");
+ log.trace("Received request " + request);
super.service(request, response);
if (log.isTraceEnabled()) {
- log.debug("Webdav response: " + response);
+ log.trace("Webdav response: " + response);
// response.
}
}
// private String restoreBase = "/.restore";
+ public JcrResourceAdapter() {
+ }
+
+ public JcrResourceAdapter(Session session) {
+ this.session = session;
+ }
+
public void mkdirs(String path) {
JcrUtils.mkdirs(session(), path, "nt:folder", versioning);
}
public void setSession(Session session) {
this.session = session;
}
-
-
+
}
import java.util.List;
import java.util.StringTokenizer;
+import javax.jcr.Session;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.context.request.RequestAttributes;
+import org.springframework.web.context.request.WebRequest;
@Controller
-public class JcrManagerController implements MvcConstants {
+public class JcrManagerController implements MvcConstants, JcrMvcConstants {
private final static Log log = LogFactory
.getLog(JcrManagerController.class);
- private JcrResourceAdapter resourceAdapter;
-
// Create a factory for disk-based file items
private FileItemFactory factory = new DiskFileItemFactory();
@SuppressWarnings("unchecked")
@RequestMapping("/upload/**")
@ModelAttribute(ANSWER_MODEL_KEY_AS_HTML)
- public ServerAnswer upload(HttpServletRequest request,
- HttpServletResponse response) throws Exception {
+ public ServerAnswer upload(WebRequest webRequest,
+ HttpServletRequest request, HttpServletResponse response)
+ throws Exception {
+
+ Session session = ((Session) webRequest.getAttribute(
+ REQUEST_ATTR_SESSION, RequestAttributes.SCOPE_REQUEST));
+ JcrResourceAdapter resourceAdapter = new JcrResourceAdapter(session);
// Parse the request
List<FileItem> items = upload.parseRequest(request);
return ServerAnswer.ok("File " + path + " imported");
}
- public void setResourceAdapter(JcrResourceAdapter resourceAdapter) {
- this.resourceAdapter = resourceAdapter;
- }
-
}
<module>org.argeo.server.hibernate</module>
<module>org.argeo.server.ads</module>
<module>org.argeo.server.jackrabbit</module>
+ <module>org.argeo.server.jcr</module>
</modules>
<build>
<resources>