You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by sy...@apache.org on 2005/09/21 16:29:52 UTC
svn commit: r290710 -
/cocoon/blocks/jcr/trunk/java/org/apache/cocoon/jcr/AbstractRepository.java
Author: sylvain
Date: Wed Sep 21 07:29:48 2005
New Revision: 290710
URL: http://svn.apache.org/viewcvs?rev=290710&view=rev
Log:
We do not always have an object model at hand
Modified:
cocoon/blocks/jcr/trunk/java/org/apache/cocoon/jcr/AbstractRepository.java
Modified: cocoon/blocks/jcr/trunk/java/org/apache/cocoon/jcr/AbstractRepository.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/jcr/trunk/java/org/apache/cocoon/jcr/AbstractRepository.java?rev=290710&r1=290709&r2=290710&view=diff
==============================================================================
--- cocoon/blocks/jcr/trunk/java/org/apache/cocoon/jcr/AbstractRepository.java (original)
+++ cocoon/blocks/jcr/trunk/java/org/apache/cocoon/jcr/AbstractRepository.java Wed Sep 21 07:29:48 2005
@@ -252,9 +252,17 @@
// =============================================================================================
private Session getCachedSession(String workspace) {
+ Map objectModel;
+ try {
+ objectModel = ContextHelper.getObjectModel(context);
+ } catch(Exception e) {
+ // We don't have an object model (happens e.g. at init time or in a cron job)
+ return null;
+ }
+
String attributeName = workspace == null ?
JCR_SESSION_REQUEST_ATTRIBUTE : JCR_SESSION_REQUEST_ATTRIBUTE + "/" + workspace;
- Map objectModel = ContextHelper.getObjectModel(context);
+
Request request = ObjectModelHelper.getRequest(objectModel);
Session session = (Session) request.getAttribute(attributeName);
@@ -262,17 +270,33 @@
}
private void cacheSession(Session session, String workspace) {
+ Map objectModel;
+ try {
+ objectModel = ContextHelper.getObjectModel(context);
+ } catch(Exception e) {
+ // We don't have an object model (happens e.g. at init time or in a cron job)
+ return;
+ }
+
String attributeName = workspace == null ?
JCR_SESSION_REQUEST_ATTRIBUTE : JCR_SESSION_REQUEST_ATTRIBUTE + "/" + workspace;
- Map objectModel = ContextHelper.getObjectModel(context);
+
Request request = ObjectModelHelper.getRequest(objectModel);
request.setAttribute(attributeName, session);
}
private Credentials getCredentials() throws LoginException {
if (this.loginResolver != null) {
+
+ Map objectModel;
+ try {
+ objectModel = ContextHelper.getObjectModel(context);
+ } catch(Exception e) {
+ // We don't have an object model (happens e.g. at init time or in a cron job)
+ throw new LoginException("No objectModel to evaluate credentials", e);
+ }
+
try {
- Map objectModel = ContextHelper.getObjectModel(context);
String login = this.loginResolver.resolve(objectModel);
String password = this.loginResolver.resolve(objectModel);
return new SimpleCredentials(login, password.toCharArray());