tdraier 2005/10/28 12:08:28 CEST
Modified files:
core/src/java/org/jahia/services/importexport
ImportHandler.java
Log:
lock fix
Revision Changes Path
1.35 +13 -5
jahia/core/src/java/org/jahia/services/importexport/ImportHandler.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/services/importexport/ImportHandler.java.diff?r1=1.34&r2=1.35&f=h
Index: ImportHandler.java
===================================================================
RCS file:
/home/cvs/repository/jahia/core/src/java/org/jahia/services/importexport/ImportHandler.java,v
retrieving revision 1.34
retrieving revision 1.35
diff -u -r1.34 -r1.35
--- ImportHandler.java 27 Oct 2005 14:50:13 -0000 1.34
+++ ImportHandler.java 28 Oct 2005 10:08:27 -0000 1.35
@@ -107,9 +107,15 @@
lockKey = LockKey.composeLockKey(LockKey.ADD_CONTAINER_TYPE,
currentObject.getID(), ((ContentContainerList)currentObject).getPageID());
} else if (currentObject instanceof ContentContainer) {
lockKey = LockKey.composeLockKey(LockKey.UPDATE_CONTAINER_TYPE,
currentObject.getID(), ((ContentContainer)currentObject).getPageID());
- }
- if (!lock.acquire(lockKey, jParams.getUser(),
jParams.getUser().getUserKey(), 3600)) {
- throw new SAXException("Cannot acquire lock");
+ } else if (currentObject instanceof ContentField) {
+ lockKey = LockKey.composeLockKey(LockKey.UPDATE_FIELD_TYPE,
currentObject.getID(), ((ContentField)currentObject).getPageID());
+ } else if (currentObject instanceof ContentPage) {
+ lockKey = LockKey.composeLockKey(LockKey.UPDATE_PAGE_TYPE,
currentObject.getID(), currentObject.getID());
+ }
+ if (lockKey !=null ) {
+ if (!lock.acquire(lockKey, jParams.getUser(),
jParams.getUser().getUserKey(), 3600)) {
+ throw new SAXException("Cannot acquire lock");
+ }
}
}
@@ -148,8 +154,10 @@
} catch (JahiaException e) {
throw new SAXException(e);
}
- LockService lock = ServicesRegistry.getInstance().getLockService();
- lock.release(lockKey, jParams.getUser(),
jParams.getUser().getUserKey());
+ if (lockKey !=null ) {
+ LockService lock =
ServicesRegistry.getInstance().getLockService();
+ lock.release(lockKey, jParams.getUser(),
jParams.getUser().getUserKey());
+ }
}
public void startElement(final String namespaceURI, final String
localName, final String qName, final Attributes atts) throws SAXException {