Author: bpapez
Date: Tue Aug 21 12:15:58 2007
New Revision: 18213
URL: https://svndev.jahia.net/websvn/listing.php?sc=3D1&rev=3D18213&repname=
=3Djahia
Log:
Further clean up of the slide transaction API usage:
* commit or rollback transactions only where they were really begun (and we=
re not already opened furhter up the stack)
* make an exception for the thumbnail generation, because the current solut=
ion is creating the thumbnail in a WebDAV event listener, while the thumbna=
il is being requested. The WebDav handler is opening a transaction, which =
we commit inside, so that the revision will be already seen on the GET. =
Modified:
branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/admin/sites/Manage=
Sites.java
branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/blogs/actions/NewM=
ediaObjectAction.java
branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/engines/filemanage=
r/DAVFilemanager_Engine.java
branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/engines/importexpo=
rt/ManageImportExport.java
branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/engines/shared/DAV=
File_Field.java
branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/importexp=
ort/FilesAclImportHandler.java
branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/importexp=
ort/ImportExportBaseService.java
branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/webdav/li=
steners/IMGSlideContentListener.java
branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/taglibs/form/FormC=
ontentMapperHandlerTag.java
branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/taglibs/mediagalle=
ry/MediaThumbTag.java
Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/admin/sites/=
ManageSites.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/java/org/jahia/admin/sites/ManageSites.java&rev=3D18213&re=
pname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/admin/sites/Manage=
Sites.java (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/admin/sites/Manage=
Sites.java Tue Aug 21 12:15:58 2007
@@ -1098,7 +1098,7 @@
+ jParams.getUser().getUsername() + "/priv=
ate";
DAVFileAccess dav =3D new DAVFileAccess(jParams, j=
Params
.getSite(), jParams.getUser(), path);
- dav.beginTransaction();
+ boolean transactionOpenedHere =3D dav.beginTransac=
tion();
try {
dav.createCollection("imports");
path =3D "/users/" + jParams.getUser().getUser=
name()
@@ -1108,9 +1108,12 @@
dav.uploadFile(uploadname, new FileInputStream(
initialZip), initialZip.length(),
"application/zip");
- dav.commitTransaction();
+ if (transactionOpenedHere) {
+ dav.commitTransaction();
+ }
} finally {
- if (dav.getTransactionStatus() =3D=3D Status.S=
TATUS_ACTIVE) {
+ if (transactionOpenedHere
+ && dav.getTransactionStatus() =3D=3D S=
tatus.STATUS_ACTIVE) {
dav.rollbackTransaction();
}
}
Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/blogs/action=
s/NewMediaObjectAction.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/java/org/jahia/blogs/actions/NewMediaObjectAction.java&rev=
=3D18213&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/blogs/actions/NewM=
ediaObjectAction.java (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/blogs/actions/NewM=
ediaObjectAction.java Tue Aug 21 12:15:58 2007
@@ -92,52 +92,52 @@
final DAVFileAccess dav =3D JahiaWebdavBaseService.getInstance().
getDAVFileAccess(jParams, jParams.getSite(), user, dir);
=
- dav.beginTransaction();
+ boolean transactionOpenedHere =3D dav.beginTransaction();
try {
File f =3D File.createTempFile("blogUpload", ".tmp");
FileOutputStream fos =3D new FileOutputStream(f);
- fos.write((byte[])struct.get(MediaObject.BITS));
+ fos.write((byte[]) struct.get(MediaObject.BITS));
fos.flush();
fos.close();
- =
- log.debug("blogUpload TmpFile: "+f.getName());
- =
- final String contentType =3D (String)struct.get(MediaObject.TY=
PE);
- final String finalName =3D dav.uploadFile((String)struct.get(
- MediaObject.NAME), f, contentType, =
- ServletResources.getCurrentRequest());
- =
- dav.commitTransaction();
- =
+
+ log.debug("blogUpload TmpFile: " + f.getName());
+
+ final String contentType =3D (String) struct.get(MediaObject.T=
YPE);
+ final String finalName =3D dav.uploadFile((String) struct
+ .get(MediaObject.NAME), f, contentType, ServletResourc=
es
+ .getCurrentRequest());
+ if (transactionOpenedHere) {
+ dav.commitTransaction();
+ }
+
StringBuffer buffer =3D new StringBuffer();
- buffer.append(ServletResources.getCurrentRequest().
- getScheme());
+ buffer.append(ServletResources.getCurrentRequest().getScheme()=
);
buffer.append("://");
- buffer.append(ServletResources.getCurrentRequest().
- getServerName());
+ buffer.append(ServletResources.getCurrentRequest().getServerNa=
me());
buffer.append(":");
- buffer.append(ServletResources.getCurrentRequest().
- getServerPort());
- buffer.append(ServletResources.getCurrentRequest().
- getContextPath());
+ buffer.append(ServletResources.getCurrentRequest().getServerPo=
rt());
+ buffer
+ .append(ServletResources.getCurrentRequest()
+ .getContextPath());
buffer.append(WEBDAV_SERVLET);
buffer.append(dir);
buffer.append("/");
buffer.append(finalName);
- =
+
Hashtable result =3D new Hashtable(1);
result.put(MediaObject.URL, buffer.toString());
- =
- log.debug("Media Object URL is: "+result);
+
+ log.debug("Media Object URL is: " + result);
f.delete();
return result;
- =
+
} catch (IOException e) {
throw new JahiaException(e.getMessage(), e.getMessage(),
- JahiaException.APPLICATION_ERROR, =
+ JahiaException.APPLICATION_ERROR,
JahiaException.ERROR_SEVERITY, e);
} finally {
- if (dav.getTransactionStatus() =3D=3D Status.STATUS_ACTIVE) {
+ if (transactionOpenedHere
+ && dav.getTransactionStatus() =3D=3D Status.STATUS_ACT=
IVE) {
dav.rollbackTransaction();
}
}
Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/engines/file=
manager/DAVFilemanager_Engine.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/java/org/jahia/engines/filemanager/DAVFilemanager_Engine.j=
ava&rev=3D18213&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/engines/filemanage=
r/DAVFilemanager_Engine.java (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/engines/filemanage=
r/DAVFilemanager_Engine.java Tue Aug 21 12:15:58 2007
@@ -197,7 +197,8 @@
if ("fileLock".equals(davAction)) {
for (int i =3D 0; i < objectDaves.length; i++) {
final DAVFileAccess objectDav =3D objectDaves[i];
- objectDav.beginTransaction();
+ boolean transactionOpenedHere =3D objectDav
+ .beginTransaction();
try {
if (objectDav.isLocked()
&& (objectDav.getLock().getOwnerInfo().equ=
als(
@@ -209,11 +210,12 @@
} else {
ok =3D objectDav.lockFile(jParams.getUser().is=
Root());
}
- if (ok) {
+ if (ok && transactionOpenedHere) {
objectDav.commitTransaction();
}
} finally {
- if (objectDav.getTransactionStatus() =3D=3D Status=
.STATUS_ACTIVE) {
+ if (transactionOpenedHere
+ && objectDav.getTransactionStatus() =3D=3D=
Status.STATUS_ACTIVE) {
objectDav.rollbackTransaction();
}
}
@@ -382,7 +384,7 @@
jParams, jParams.getSite(), jParams.getUser(), TableEntry.=
javascriptDecode(pathes[0]));
=
if (objectDav.getException() =3D=3D null) {
- objectDav.beginTransaction();
+ boolean transactionOpenedHere =3D objectDav.beginTransaction();
try {
if (actionScreen.equals("save")) {
jParams.setParameter("screen", "close");
@@ -568,11 +570,13 @@
}
=
if (result) {
- try {
- objectDav.commitTransaction();
- logger.debug("commitTransaction");
- } catch (Throwable e) {
- logger.debug(e, e);
+ if (transactionOpenedHere) {
+ try {
+ objectDav.commitTransaction();
+ logger.debug("commitTransaction");
+ } catch (Throwable e) {
+ logger.debug(e, e);
+ }
}
} else {
jParams.getSessionState().removeAttribute(
@@ -590,7 +594,8 @@
}
}
} finally {
- if (objectDav.getTransactionStatus() =3D=3D Status.STATUS_=
ACTIVE) {
+ if (transactionOpenedHere
+ && objectDav.getTransactionStatus() =3D=3D Status.=
STATUS_ACTIVE) {
objectDav.rollbackTransaction();
}
} =
@@ -1260,14 +1265,18 @@
processingContext.getSite(), adminUser, buff.t=
oString());
if (! tmp.isValid()) {
String result;
- parent.beginTransaction();
+ boolean transactionOpenedHere =3D parent
+ .beginTransaction();
try {
result =3D parent.createCollection(token);
logger.debug("Creating dir: " + token + " -> "
+ result);
- parent.commitTransaction();
+ if (transactionOpenedHere) {
+ parent.commitTransaction();
+ }
} finally {
- if (parent.getTransactionStatus() =3D=3D Statu=
s.STATUS_ACTIVE) { =
+ if (transactionOpenedHere
+ && parent.getTransactionStatus() =3D=
=3D Status.STATUS_ACTIVE) {
parent.rollbackTransaction();
}
} =
@@ -1327,18 +1336,21 @@
}
}
logger.debug("About to upload: " + fileName + " in " + pat=
h);
- uploadDir.beginTransaction();
+ boolean transactionOpenedHere =3D uploadDir.beginTransacti=
on();
try {
final boolean result =3D doUpload(fupload, name, param=
Bean,
fileName, uploadDir);
if (result) {
- uploadDir.commitTransaction();
+ if (transactionOpenedHere) {
+ uploadDir.commitTransaction();
+ }
} else {
return null;
}
logger.debug("Finished uploading: " + result);
} finally {
- if (uploadDir.getTransactionStatus() =3D=3D Status.STA=
TUS_ACTIVE) {
+ if (transactionOpenedHere
+ && uploadDir.getTransactionStatus() =3D=3D Sta=
tus.STATUS_ACTIVE) {
uploadDir.rollbackTransaction();
}
}
Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/engines/impo=
rtexport/ManageImportExport.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/java/org/jahia/engines/importexport/ManageImportExport.jav=
a&rev=3D18213&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/engines/importexpo=
rt/ManageImportExport.java (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/engines/importexpo=
rt/ManageImportExport.java Tue Aug 21 12:15:58 2007
@@ -237,7 +237,7 @@
String path =3D "/users/" + jParams.getUser().getUsern=
ame() + "/private";
String uploadname =3D "importInto_" + dkey + "_" + dat=
eOfExport + ext; =
DAVFileAccess dav =3D new DAVFileAccess(jParams, jPara=
ms.getSite(), jParams.getUser(), path);
- dav.beginTransaction();
+ boolean transactionOpenedHere =3D dav.beginTransaction=
();
try {
dav.createCollection("imports");
path =3D "/users/" + jParams.getUser().getUsername=
()
@@ -246,9 +246,12 @@
jParams.getUser(), path);
dav.uploadFile(uploadname, new FileInputStream(fil=
e),
file.length(), contentType);
- dav.commitTransaction();
+ if (transactionOpenedHere) {
+ dav.commitTransaction();
+ }
} finally {
- if (dav.getTransactionStatus() =3D=3D Status.STATU=
S_ACTIVE) {
+ if (transactionOpenedHere
+ && dav.getTransactionStatus() =3D=3D Statu=
s.STATUS_ACTIVE) {
dav.rollbackTransaction();
}
} =
Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/engines/shar=
ed/DAVFile_Field.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/java/org/jahia/engines/shared/DAVFile_Field.java&rev=3D182=
13&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/engines/shared/DAV=
File_Field.java (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/engines/shared/DAV=
File_Field.java Tue Aug 21 12:15:58 2007
@@ -153,12 +153,15 @@
}
}
if (!uris.isEmpty()) {
- objectDav.beginTransaction();
+ boolean transactionOpenedHere =3D objectDav.beginTransaction();
try {
objectDav.alignPermsWithField(theField, uris);
- objectDav.commitTransaction();
+ if (transactionOpenedHere) {
+ objectDav.commitTransaction();
+ }
} finally {
- if (objectDav.getTransactionStatus() =3D=3D Status.STATUS_=
ACTIVE) {
+ if (transactionOpenedHere
+ && objectDav.getTransactionStatus() =3D=3D Status.=
STATUS_ACTIVE) {
objectDav.rollbackTransaction();
}
} =
Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/imp=
ortexport/FilesAclImportHandler.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/java/org/jahia/services/importexport/FilesAclImportHandler=
.java&rev=3D18213&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/importexp=
ort/FilesAclImportHandler.java (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/importexp=
ort/FilesAclImportHandler.java Tue Aug 21 12:15:58 2007
@@ -54,7 +54,7 @@
String acl =3D attributes.getValue(ImportExportBaseService.JAH=
IA_URI, "fileacl");
DAVFileAccess f =3D JahiaWebdavBaseService.getInstance ().getD=
AVFileAccess (jParams, jParams.getSite(), jParams.getUser(), path);
if (f.isValid()) {
- f.beginTransaction();
+ boolean transactionOpenedHere =3D f.beginTransaction();
try {
if (acl !=3D null && acl.length() > 0) {
StringTokenizer st =3D new StringTokenizer(acl, "|=
");
@@ -107,9 +107,12 @@
f.setProperty(attUri, attName, attValue, false=
);
}
}
- f.commitTransaction();
+ if (transactionOpenedHere) {
+ f.commitTransaction();
+ }
} finally {
- if (f.getTransactionStatus() =3D=3D Status.STATUS_ACTI=
VE) {
+ if (transactionOpenedHere
+ && f.getTransactionStatus() =3D=3D Status.STAT=
US_ACTIVE) {
f.rollbackTransaction();
}
} =
Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/imp=
ortexport/ImportExportBaseService.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/java/org/jahia/services/importexport/ImportExportBaseServi=
ce.java&rev=3D18213&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/importexp=
ort/ImportExportBaseService.java (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/importexp=
ort/ImportExportBaseService.java Tue Aug 21 12:15:58 2007
@@ -1457,13 +1457,17 @@
String filename =3D name.substring(name.lastIndexO=
f('/') + 1);
if (dir !=3D null) {
String contentType =3D Jahia.getStaticServletC=
onfig().getServletContext().getMimeType(filename);
- dir.beginTransaction();
+ boolean transactionOpenedHere =3D dir
+ .beginTransaction();
try {
dir.uploadFile(filename, zis, zipentry
.getSize(), contentType);
- dir.commitTransaction();
+ if (transactionOpenedHere) {
+ dir.commitTransaction();
+ }
} finally {
- if (dir.getTransactionStatus() =3D=3D Stat=
us.STATUS_ACTIVE) {
+ if (transactionOpenedHere
+ && dir.getTransactionStatus() =3D=
=3D Status.STATUS_ACTIVE) {
dir.rollbackTransaction();
}
} =
@@ -1605,13 +1609,16 @@
if (parentDir =3D=3D null) {
return null;
}
- parentDir.beginTransaction();
+ boolean transactionOpenedHere =3D parentDir.beginTransaction();
try {
parentDir.createCollection(name
.substring(name.lastIndexOf('/') + 1));
- parentDir.commitTransaction();
+ if (transactionOpenedHere) {
+ parentDir.commitTransaction();
+ }
} finally {
- if (parentDir.getTransactionStatus() =3D=3D Status.STATUS_=
ACTIVE) { =
+ if (transactionOpenedHere
+ && parentDir.getTransactionStatus() =3D=3D Status.=
STATUS_ACTIVE) {
parentDir.rollbackTransaction();
}
} =
@@ -1633,15 +1640,18 @@
}
JahiaFileField jahiaFileField =3D file.getJahiaFileField();
logger.debug("Add file to " + parentDir.getPath() + " (valid=
=3D" + parentDir.isValid() + ")");
- parentDir.beginTransaction();
+ boolean transactionOpenedHere =3D parentDir.beginTransaction();
try {
String res =3D parentDir.uploadFile(path.substring(path
.lastIndexOf('/') + 1), file.downloadFile(),
jahiaFileField.getSize(), jahiaFileField.getType()=
);
- logger.debug("File added -> "+res); =
- parentDir.commitTransaction();
+ logger.debug("File added -> " + res);
+ if (transactionOpenedHere) {
+ parentDir.commitTransaction();
+ }
} finally {
- if (parentDir.getTransactionStatus() =3D=3D Status.STATUS_=
ACTIVE) {
+ if (transactionOpenedHere
+ && parentDir.getTransactionStatus() =3D=3D Status.=
STATUS_ACTIVE) {
parentDir.rollbackTransaction();
}
} =
Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/web=
dav/listeners/IMGSlideContentListener.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/java/org/jahia/services/webdav/listeners/IMGSlideContentLi=
stener.java&rev=3D18213&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/webdav/li=
steners/IMGSlideContentListener.java (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/webdav/li=
steners/IMGSlideContentListener.java Tue Aug 21 12:15:58 2007
@@ -696,7 +696,7 @@
logger.debug("Cannot create thumbnail, no write access");
return;
}
- parentDir.beginTransaction();
+ boolean transactionOpenedHere =3D parentDir.beginTransaction();
try {
DAVFileAccess source =3D getSource(parentDir, basename);
if (source =3D=3D null || !source.isValid()) {
@@ -732,10 +732,21 @@
imgpro.createThumb(source.downloadFile(), ext, f, size, fQ=
ual);
parentDir.uploadFile(thumbName, new FileInputStream(f), f
.length(), source.getContentType());
+ =
+ // We need to commit here regardless whether the transacti=
on was =
+ // opened here or not as the thumbnail is created in an ev=
ent listener,
+ // while it is already being requested, as otherwise the r=
evision will =
+ // not be seen. If the transaction was opened before, we b=
egin a new =
+ // one (quite a dirty solution)
parentDir.commitTransaction();
+ if (!transactionOpenedHere) {
+ parentDir.beginTransaction();
+ }
+
f.delete();
} finally {
- if (parentDir.getTransactionStatus() =3D=3D Status.STATUS_=
ACTIVE) {
+ if (transactionOpenedHere
+ && parentDir.getTransactionStatus() =3D=3D Status.=
STATUS_ACTIVE) {
parentDir.rollbackTransaction();
}
} =
Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/taglibs/form=
/FormContentMapperHandlerTag.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/java/org/jahia/taglibs/form/FormContentMapperHandlerTag.ja=
va&rev=3D18213&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/taglibs/form/FormC=
ontentMapperHandlerTag.java (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/taglibs/form/FormC=
ontentMapperHandlerTag.java Tue Aug 21 12:15:58 2007
@@ -292,12 +292,16 @@
}
}
if (!uris.isEmpty()) {
- objectDav.beginTransaction();
+ boolean transactionOpenedHere =3D objectDav
+ .beginTransaction();
try {
objectDav.alignPermsWithField(curField, ur=
is);
- objectDav.commitTransaction();
+ if (transactionOpenedHere) {
+ objectDav.commitTransaction();
+ }
} finally {
- if (objectDav.getTransactionStatus() =3D=
=3D Status.STATUS_ACTIVE) {
+ if (transactionOpenedHere
+ && objectDav.getTransactionStatus(=
) =3D=3D Status.STATUS_ACTIVE) {
objectDav.rollbackTransaction();
}
} =
Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/taglibs/medi=
agallery/MediaThumbTag.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/java/org/jahia/taglibs/mediagallery/MediaThumbTag.java&rev=
=3D18213&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/taglibs/mediagalle=
ry/MediaThumbTag.java (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/taglibs/mediagalle=
ry/MediaThumbTag.java Tue Aug 21 12:15:58 2007
@@ -398,29 +398,31 @@
processor.createThumb(source.downloadFile(), ext, f, newwidth, fQu=
al);
logger.debug("uploading thumb " + thumbname + " mediatype: " + mty=
pe);
DAVFileAccess parentdir =3D getParentDir(jParams, source);
- if (parentdir.beginTransaction()) {
+ boolean transactionOpenedHere =3D parentdir.beginTransaction();
+ try {
+ String resultthumb;
try {
- String resultthumb;
- try {
- resultthumb =3D parentdir.uploadFile(thumbname + "." +=
ext,
- new FileInputStream(f), f.length(), mtype);
- logger.debug("uploaded thumb:" + resultthumb);
- } catch (FileNotFoundException e) {
- logger.error("file not found", e);
- return;
- }
- if (resultthumb =3D=3D null)
- logger.debug("uploading of " + thumbname
- + " had some problems");
+ resultthumb =3D parentdir.uploadFile(thumbname + "." + ext,
+ new FileInputStream(f), f.length(), mtype);
+ logger.debug("uploaded thumb:" + resultthumb);
+ } catch (FileNotFoundException e) {
+ logger.error("file not found", e);
+ return;
+ }
+ if (resultthumb =3D=3D null)
+ logger
+ .debug("uploading of " + thumbname
+ + " had some problems");
+ if (transactionOpenedHere) {
parentdir.commitTransaction();
- } finally {
- if (parentdir.getTransactionStatus() =3D=3D Status.STATUS_=
ACTIVE) {
- parentdir.rollbackTransaction();
- }
- } =
- } else {
- logger.debug("no transaction available");
- }
+ }
+ } finally {
+ if (transactionOpenedHere
+ && parentdir.getTransactionStatus() =3D=3D Status.STAT=
US_ACTIVE) {
+ parentdir.rollbackTransaction();
+ }
+ } =
+ =
f.delete();
}
=
_______________________________________________
cvs_list mailing list
[email protected]
http://lists.jahia.org/cgi-bin/mailman/listinfo/cvs_list