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;
}
Show replies by date