[exo-jcr-commits] exo-jcr SVN: r2797 - in jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/resource: jcr and 1 other directory.
do-not-reply at jboss.org
do-not-reply at jboss.org
Fri Jul 16 07:39:08 EDT 2010
Author: aparfonov
Date: 2010-07-16 07:39:07 -0400 (Fri, 16 Jul 2010)
New Revision: 2797
Modified:
jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/resource/JcrURLConnection.java
jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/resource/jcr/Handler.java
Log:
EXOJCR-859 :
Modified: jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/resource/JcrURLConnection.java
===================================================================
--- jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/resource/JcrURLConnection.java 2010-07-15 14:11:57 UTC (rev 2796)
+++ jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/resource/JcrURLConnection.java 2010-07-16 11:39:07 UTC (rev 2797)
@@ -45,7 +45,25 @@
private Session session;
+ private boolean closeSessionProvider;
+
public JcrURLConnection(UnifiedNodeReference nodeReference, SessionProvider sessionProvider,
+ NodeRepresentationService nodeRepresentationService, boolean closeSessionProvider) throws MalformedURLException
+ {
+
+ super(nodeReference.getURL());
+ this.sessionProvider = sessionProvider;
+ this.nodeReference = nodeReference;
+ this.nodeRepresentationService = nodeRepresentationService;
+ this.closeSessionProvider = closeSessionProvider;
+
+ doOutput = false;
+ allowUserInteraction = false;
+ useCaches = false;
+ ifModifiedSince = 0;
+ }
+
+ public JcrURLConnection(UnifiedNodeReference nodeReference, SessionProvider sessionProvider,
NodeRepresentationService nodeRepresentationService) throws MalformedURLException
{
@@ -312,7 +330,10 @@
{
try
{
- sessionProvider.close();
+ if (closeSessionProvider)
+ {
+ sessionProvider.close();
+ }
}
catch (Throwable t)
{
Modified: jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/resource/jcr/Handler.java
===================================================================
--- jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/resource/jcr/Handler.java 2010-07-15 14:11:57 UTC (rev 2796)
+++ jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/resource/jcr/Handler.java 2010-07-16 11:39:07 UTC (rev 2797)
@@ -105,12 +105,18 @@
// ThreadLocalSessionProvider or System SessionProvider
SessionProvider sessionProvider = threadLocalSessionProviderService.getSessionProvider(null);
+ boolean closeSessionProvider = false;
if (sessionProvider == null && ConversationState.getCurrent() != null)
+ {
sessionProvider =
(SessionProvider)ConversationState.getCurrent().getAttribute(SessionProvider.SESSION_PROVIDER);
+ }
if (sessionProvider == null)
- sessionProvider = SessionProvider.createSystemProvider();
+ {
+ sessionProvider = SessionProvider.createAnonimProvider();
+ closeSessionProvider = true;
+ }
String repositoryName = nodeReference.getRepository();
if (repositoryName != null && repositoryName.length() > 0)
@@ -125,7 +131,8 @@
sessionProvider.setCurrentWorkspace(workspaceName);
}
- JcrURLConnection conn = new JcrURLConnection(nodeReference, sessionProvider, nodeRepresentationService);
+ JcrURLConnection conn =
+ new JcrURLConnection(nodeReference, sessionProvider, nodeRepresentationService, closeSessionProvider);
return conn;
}
More information about the exo-jcr-commits
mailing list