[exo-jcr-commits] exo-jcr SVN: r711 - in jcr/branches/1.12.0-JBC/component/core/src: main/java/org/exoplatform/services/jcr/impl/core and 7 other directories.
do-not-reply at jboss.org
do-not-reply at jboss.org
Tue Nov 17 06:05:04 EST 2009
Author: nzamosenchuk
Date: 2009-11-17 06:05:04 -0500 (Tue, 17 Nov 2009)
New Revision: 711
Added:
jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/dataflow/LockPlainChangesLogImpl.java
Modified:
jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/dataflow/ItemDataConsumer.java
jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/impl/core/SessionDataManager.java
jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/ACLInheritanceSupportedWorkspaceDataManager.java
jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/WorkspacePersistentDataManager.java
jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/session/LocalWorkspaceStorageDataManagerProxy.java
jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/session/TransactionableDataManager.java
jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/impl/storage/inmemory/InmemoryStorageConnection.java
jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/impl/storage/jbosscache/JBossCacheStorage.java
jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/impl/storage/jbosscache/JBossCacheStorageConnection.java
jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/impl/storage/jbosscache/JBossCacheTreeStorageConnection.java
jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/impl/storage/jbosscache/JBossCacheWorkspaceDataContainer.java
jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/JDBCStorageConnection.java
jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/storage/WorkspaceStorageConnection.java
jcr/branches/1.12.0-JBC/component/core/src/test/java/org/exoplatform/services/jcr/impl/storage/jbosscache/JBossCacheStorageConnectionTest.java
jcr/branches/1.12.0-JBC/component/core/src/test/java/org/exoplatform/services/jcr/impl/storage/jbosscache/ObservationCacheLoaderTest.java
Log:
EXOJCR-242: ItemDataConsumer and WorkspaceStorageConnection (and all their implementators) extended with getLockData() and getLocksData().
Modified: jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/dataflow/ItemDataConsumer.java
===================================================================
--- jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/dataflow/ItemDataConsumer.java 2009-11-17 09:58:24 UTC (rev 710)
+++ jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/dataflow/ItemDataConsumer.java 2009-11-17 11:05:04 UTC (rev 711)
@@ -22,6 +22,7 @@
import org.exoplatform.services.jcr.datamodel.NodeData;
import org.exoplatform.services.jcr.datamodel.PropertyData;
import org.exoplatform.services.jcr.datamodel.QPathEntry;
+import org.exoplatform.services.jcr.impl.core.lock.LockData;
import java.util.List;
@@ -56,6 +57,13 @@
ItemData getItemData(String identifier) throws RepositoryException;
/**
+ * @param identifier
+ * @return
+ * LockData by given node uuid, or null if not present
+ */
+ LockData getLockData(String identifier) throws RepositoryException;
+
+ /**
* @param parentIdentifier
* @return children data
*/
@@ -79,4 +87,10 @@
* @throws RepositoryException
*/
List<PropertyData> getReferencesData(String identifier, boolean skipVersionStorage) throws RepositoryException;
+
+ /**
+ * @return
+ * List of all locks.
+ */
+ List<LockData> getLocksData() throws RepositoryException;
}
Added: jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/dataflow/LockPlainChangesLogImpl.java
===================================================================
--- jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/dataflow/LockPlainChangesLogImpl.java (rev 0)
+++ jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/dataflow/LockPlainChangesLogImpl.java 2009-11-17 11:05:04 UTC (rev 711)
@@ -0,0 +1,57 @@
+/*
+ * Copyright (C) 2009 eXo Platform SAS.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.exoplatform.services.jcr.dataflow;
+
+import org.exoplatform.services.jcr.impl.core.lock.LockData;
+
+import java.util.ArrayList;
+
+/**
+ * This plain changes log is used to pass lock information through DataManager down to
+ * workspace persistent storage
+ *
+ * @author <a href="mailto:nikolazius at gmail.com">Nikolay Zamosenchuk</a>
+ * @version $Id$
+ *
+ */
+public class LockPlainChangesLogImpl extends PlainChangesLogImpl
+{
+ protected LockData lockData = null;
+
+ /**
+ * @param arrayList
+ * @param id
+ * @param lock
+ */
+ public LockPlainChangesLogImpl(ArrayList<ItemState> arrayList, String id, int lock)
+ {
+ super(arrayList, id, lock);
+ }
+
+ public LockData getLockData()
+ {
+ return lockData;
+ }
+
+ public void setLockData(LockData lockData)
+ {
+ this.lockData = lockData;
+ }
+
+}
Property changes on: jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/dataflow/LockPlainChangesLogImpl.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:keywords
+ Id
Name: svn:eol-style
+ native
Modified: jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/impl/core/SessionDataManager.java
===================================================================
--- jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/impl/core/SessionDataManager.java 2009-11-17 09:58:24 UTC (rev 710)
+++ jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/impl/core/SessionDataManager.java 2009-11-17 11:05:04 UTC (rev 711)
@@ -33,6 +33,7 @@
import org.exoplatform.services.jcr.datamodel.QPath;
import org.exoplatform.services.jcr.datamodel.QPathEntry;
import org.exoplatform.services.jcr.impl.Constants;
+import org.exoplatform.services.jcr.impl.core.lock.LockData;
import org.exoplatform.services.jcr.impl.core.nodetype.NodeTypeManagerImpl;
import org.exoplatform.services.jcr.impl.core.version.ChildVersionRemoveVisitor;
import org.exoplatform.services.jcr.impl.core.version.VersionHistoryImpl;
@@ -1891,4 +1892,20 @@
return -i1.getData().getQPath().compareTo(i2.getData().getQPath());
}
}
+
+ /**
+ * @see org.exoplatform.services.jcr.dataflow.ItemDataConsumer#getLockData(java.lang.String)
+ */
+ public LockData getLockData(String identifier) throws RepositoryException
+ {
+ return transactionableManager.getLockData(identifier);
+ }
+
+ /**
+ * @see org.exoplatform.services.jcr.dataflow.ItemDataConsumer#getLocksData()
+ */
+ public List<LockData> getLocksData() throws RepositoryException
+ {
+ return transactionableManager.getLocksData();
+ }
}
Modified: jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/ACLInheritanceSupportedWorkspaceDataManager.java
===================================================================
--- jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/ACLInheritanceSupportedWorkspaceDataManager.java 2009-11-17 09:58:24 UTC (rev 710)
+++ jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/ACLInheritanceSupportedWorkspaceDataManager.java 2009-11-17 11:05:04 UTC (rev 711)
@@ -25,6 +25,7 @@
import org.exoplatform.services.jcr.datamodel.NodeData;
import org.exoplatform.services.jcr.datamodel.PropertyData;
import org.exoplatform.services.jcr.datamodel.QPathEntry;
+import org.exoplatform.services.jcr.impl.core.lock.LockData;
import org.exoplatform.services.log.ExoLogger;
import org.exoplatform.services.log.Log;
@@ -172,4 +173,20 @@
{
return persistentManager.getCurrentTime();
}
+
+ /**
+ * @see org.exoplatform.services.jcr.dataflow.ItemDataConsumer#getLockData(java.lang.String)
+ */
+ public LockData getLockData(String identifier) throws RepositoryException
+ {
+ return persistentManager.getLockData(identifier);
+ }
+
+ /**
+ * @see org.exoplatform.services.jcr.dataflow.ItemDataConsumer#getLocksData()
+ */
+ public List<LockData> getLocksData() throws RepositoryException
+ {
+ return persistentManager.getLocksData();
+ }
}
Modified: jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/WorkspacePersistentDataManager.java
===================================================================
--- jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/WorkspacePersistentDataManager.java 2009-11-17 09:58:24 UTC (rev 710)
+++ jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/WorkspacePersistentDataManager.java 2009-11-17 11:05:04 UTC (rev 711)
@@ -34,6 +34,7 @@
import org.exoplatform.services.jcr.datamodel.QPath;
import org.exoplatform.services.jcr.datamodel.QPathEntry;
import org.exoplatform.services.jcr.impl.Constants;
+import org.exoplatform.services.jcr.impl.core.lock.LockData;
import org.exoplatform.services.jcr.impl.dataflow.TransientItemData;
import org.exoplatform.services.jcr.impl.storage.SystemDataContainerHolder;
import org.exoplatform.services.jcr.storage.WorkspaceDataContainer;
@@ -310,6 +311,32 @@
}
}
+ public LockData getLockData(String identifier) throws RepositoryException
+ {
+ final WorkspaceStorageConnection con = dataContainer.openConnection();
+ try
+ {
+ return con.getLockData(identifier);
+ }
+ finally
+ {
+ con.close();
+ }
+ }
+
+ public List<LockData> getLocksData() throws RepositoryException
+ {
+ final WorkspaceStorageConnection con = dataContainer.openConnection();
+ try
+ {
+ return con.getLocksData();
+ }
+ finally
+ {
+ con.close();
+ }
+ }
+
/**
* {@inheritDoc}
*/
Modified: jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/session/LocalWorkspaceStorageDataManagerProxy.java
===================================================================
--- jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/session/LocalWorkspaceStorageDataManagerProxy.java 2009-11-17 09:58:24 UTC (rev 710)
+++ jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/session/LocalWorkspaceStorageDataManagerProxy.java 2009-11-17 11:05:04 UTC (rev 711)
@@ -31,6 +31,7 @@
import org.exoplatform.services.jcr.datamodel.PropertyData;
import org.exoplatform.services.jcr.datamodel.QPathEntry;
import org.exoplatform.services.jcr.datamodel.ValueData;
+import org.exoplatform.services.jcr.impl.core.lock.LockData;
import org.exoplatform.services.jcr.impl.core.value.ValueFactoryImpl;
import org.exoplatform.services.jcr.impl.dataflow.AbstractValueData;
import org.exoplatform.services.jcr.impl.dataflow.TransientItemData;
@@ -246,4 +247,20 @@
}
return copyOfChildsProperties;
}
+
+ /**
+ * @see org.exoplatform.services.jcr.dataflow.ItemDataConsumer#getLockData(java.lang.String)
+ */
+ public LockData getLockData(String identifier) throws RepositoryException
+ {
+ return storageDataManager.getLockData(identifier);
+ }
+
+ /**
+ * @see org.exoplatform.services.jcr.dataflow.ItemDataConsumer#getLocksData()
+ */
+ public List<LockData> getLocksData() throws RepositoryException
+ {
+ return storageDataManager.getLocksData();
+ }
}
Modified: jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/session/TransactionableDataManager.java
===================================================================
--- jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/session/TransactionableDataManager.java 2009-11-17 09:58:24 UTC (rev 710)
+++ jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/session/TransactionableDataManager.java 2009-11-17 11:05:04 UTC (rev 711)
@@ -28,6 +28,7 @@
import org.exoplatform.services.jcr.datamodel.PropertyData;
import org.exoplatform.services.jcr.datamodel.QPathEntry;
import org.exoplatform.services.jcr.impl.core.SessionImpl;
+import org.exoplatform.services.jcr.impl.core.lock.LockData;
import org.exoplatform.services.jcr.impl.dataflow.persistent.LocalWorkspaceDataManagerStub;
import org.exoplatform.services.log.ExoLogger;
import org.exoplatform.services.log.Log;
@@ -262,4 +263,21 @@
return storageDataManager;
}
+ /**
+ * @see org.exoplatform.services.jcr.dataflow.ItemDataConsumer#getLockData(java.lang.String)
+ */
+ public LockData getLockData(String identifier) throws RepositoryException
+ {
+ return storageDataManager.getLockData(identifier);
+ }
+
+ /**
+ * @see org.exoplatform.services.jcr.dataflow.ItemDataConsumer#getLocksData()
+ */
+ public List<LockData> getLocksData() throws RepositoryException
+ {
+ // TODO Auto-generated method stub
+ return storageDataManager.getLocksData();
+ }
+
}
Modified: jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/impl/storage/inmemory/InmemoryStorageConnection.java
===================================================================
--- jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/impl/storage/inmemory/InmemoryStorageConnection.java 2009-11-17 09:58:24 UTC (rev 710)
+++ jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/impl/storage/inmemory/InmemoryStorageConnection.java 2009-11-17 11:05:04 UTC (rev 711)
@@ -25,6 +25,7 @@
import org.exoplatform.services.jcr.datamodel.QPathEntry;
import org.exoplatform.services.jcr.datamodel.ValueData;
import org.exoplatform.services.jcr.impl.core.JCRPath;
+import org.exoplatform.services.jcr.impl.core.lock.LockData;
import org.exoplatform.services.jcr.storage.WorkspaceStorageConnection;
import org.exoplatform.services.log.ExoLogger;
import org.exoplatform.services.log.Log;
@@ -259,4 +260,20 @@
}
+ /**
+ * @see org.exoplatform.services.jcr.storage.WorkspaceStorageConnection#getLockData(java.lang.String)
+ */
+ public LockData getLockData(String identifier)
+ {
+ return null;
+ }
+
+ /**
+ * @see org.exoplatform.services.jcr.storage.WorkspaceStorageConnection#getLocksData()
+ */
+ public List<LockData> getLocksData()
+ {
+ return null;
+ }
+
}
Modified: jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/impl/storage/jbosscache/JBossCacheStorage.java
===================================================================
--- jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/impl/storage/jbosscache/JBossCacheStorage.java 2009-11-17 09:58:24 UTC (rev 710)
+++ jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/impl/storage/jbosscache/JBossCacheStorage.java 2009-11-17 11:05:04 UTC (rev 711)
@@ -18,7 +18,6 @@
*/
package org.exoplatform.services.jcr.impl.storage.jbosscache;
-import org.exoplatform.services.jcr.datamodel.QPath;
import org.exoplatform.services.jcr.datamodel.QPathEntry;
import org.jboss.cache.Fqn;
import org.jboss.cache.Node;
@@ -42,7 +41,7 @@
public static final String PROPS = "$PROPS".intern();
- public static final String OBSERVATION = "$OBSERVATION".intern();
+ public static final String LOCKS = "$LOCKS".intern();
public static final String ITEM_DATA = "$data".intern();
@@ -51,21 +50,27 @@
public static final String SESSION_ID = "$sessionId".intern();
public static final String USER_ID = "$userId".intern();
+
+ public static final String LOCK_DATA = "$lock".intern();
protected final Node<Serializable, Object> nodesRoot;
protected final Node<Serializable, Object> propsRoot;
protected final Node<Serializable, Object> sessionRoot;
+
+ protected final Node<Serializable, Object> locksRoot;
protected JBossCacheStorage(Node<Serializable, Object> nodesRoot, Node<Serializable, Object> propsRoot,
- Node<Serializable, Object> sessionRoot)
+ Node<Serializable, Object> sessionRoot, Node<Serializable, Object> locksRoot)
{
this.nodesRoot = nodesRoot;
this.propsRoot = propsRoot;
this.sessionRoot = sessionRoot;
+
+ this.locksRoot = locksRoot;
}
/**
Modified: jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/impl/storage/jbosscache/JBossCacheStorageConnection.java
===================================================================
--- jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/impl/storage/jbosscache/JBossCacheStorageConnection.java 2009-11-17 09:58:24 UTC (rev 710)
+++ jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/impl/storage/jbosscache/JBossCacheStorageConnection.java 2009-11-17 11:05:04 UTC (rev 711)
@@ -21,8 +21,8 @@
import org.exoplatform.services.jcr.datamodel.ItemData;
import org.exoplatform.services.jcr.datamodel.NodeData;
import org.exoplatform.services.jcr.datamodel.PropertyData;
-import org.exoplatform.services.jcr.datamodel.QPath;
import org.exoplatform.services.jcr.datamodel.QPathEntry;
+import org.exoplatform.services.jcr.impl.core.lock.LockData;
import org.exoplatform.services.jcr.storage.WorkspaceStorageConnection;
import org.exoplatform.services.log.ExoLogger;
import org.exoplatform.services.log.Log;
@@ -72,9 +72,9 @@
* @param cache Cache<Serializable, Object>
*/
public JBossCacheStorageConnection(Cache<Serializable, Object> cache, Node<Serializable, Object> nodesRoot,
- Node<Serializable, Object> propsRoot, Node<Serializable, Object> sessionRoot)
+ Node<Serializable, Object> propsRoot, Node<Serializable, Object> sessionRoot, Node<Serializable, Object> locksRoot)
{
- super(nodesRoot, propsRoot, sessionRoot);
+ super(nodesRoot, propsRoot, sessionRoot, locksRoot);
this.cache = cache;
}
@@ -600,4 +600,38 @@
}
}
+ /**
+ * @see org.exoplatform.services.jcr.storage.WorkspaceStorageConnection#getLockData(java.lang.String)
+ */
+ public LockData getLockData(String identifier)
+ {
+ LockData lockData = null;
+ Node<Serializable, Object> node = locksRoot.getChild(makeNodeFqn(identifier));
+ if (node != null)
+ {
+ lockData = (LockData)node.get(JBossCacheStorage.LOCK_DATA);
+ }
+ return lockData;
+ }
+
+ /**
+ * @see org.exoplatform.services.jcr.storage.WorkspaceStorageConnection#getLocksData()
+ */
+ public List<LockData> getLocksData()
+ {
+ Set<Node<Serializable, Object>> lockSet = locksRoot.getChildren();
+ List<LockData> locksData = new ArrayList<LockData>();
+ for (Node<Serializable, Object> node : lockSet)
+ {
+ if (node != null)
+ {
+ LockData lockData = (LockData)node.get(JBossCacheStorage.LOCK_DATA);
+ if (lockData != null)
+ {
+ locksData.add(lockData);
+ }
+ }
+ }
+ return locksData;
+ }
}
Modified: jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/impl/storage/jbosscache/JBossCacheTreeStorageConnection.java
===================================================================
--- jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/impl/storage/jbosscache/JBossCacheTreeStorageConnection.java 2009-11-17 09:58:24 UTC (rev 710)
+++ jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/impl/storage/jbosscache/JBossCacheTreeStorageConnection.java 2009-11-17 11:05:04 UTC (rev 711)
@@ -18,18 +18,11 @@
*/
package org.exoplatform.services.jcr.impl.storage.jbosscache;
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Set;
-
-import javax.jcr.InvalidItemStateException;
-import javax.jcr.RepositoryException;
-
import org.exoplatform.services.jcr.datamodel.ItemData;
import org.exoplatform.services.jcr.datamodel.NodeData;
import org.exoplatform.services.jcr.datamodel.PropertyData;
import org.exoplatform.services.jcr.datamodel.QPathEntry;
+import org.exoplatform.services.jcr.impl.core.lock.LockData;
import org.exoplatform.services.jcr.storage.WorkspaceStorageConnection;
import org.exoplatform.services.log.ExoLogger;
import org.exoplatform.services.log.Log;
@@ -37,6 +30,14 @@
import org.jboss.cache.Fqn;
import org.jboss.cache.Node;
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Set;
+
+import javax.jcr.InvalidItemStateException;
+import javax.jcr.RepositoryException;
+
/**
* DEPRECATED - DO NOT USE!
*
@@ -419,4 +420,20 @@
}
}
+ /**
+ * @see org.exoplatform.services.jcr.storage.WorkspaceStorageConnection#getLockData(java.lang.String)
+ */
+ public LockData getLockData(String identifier)
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * @see org.exoplatform.services.jcr.storage.WorkspaceStorageConnection#getLocksData()
+ */
+ public List<LockData> getLocksData()
+ {
+ throw new UnsupportedOperationException();
+ }
+
}
Modified: jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/impl/storage/jbosscache/JBossCacheWorkspaceDataContainer.java
===================================================================
--- jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/impl/storage/jbosscache/JBossCacheWorkspaceDataContainer.java 2009-11-17 09:58:24 UTC (rev 710)
+++ jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/impl/storage/jbosscache/JBossCacheWorkspaceDataContainer.java 2009-11-17 11:05:04 UTC (rev 711)
@@ -73,6 +73,8 @@
private Node<Serializable, Object> session;
+ private Node<Serializable, Object> locks;
+
/**
* JBossWorkspaceDataContainer constructor.
*
@@ -128,6 +130,7 @@
this.nodes = cacheRoot.addChild(Fqn.fromElements(JBossCacheStorage.NODES));
this.properties = cacheRoot.addChild(Fqn.fromElements(JBossCacheStorage.PROPS));
this.session = cacheRoot.addChild(Fqn.fromElements(JBossCacheStorage.SESSION));
+ this.locks = cacheRoot.addChild(Fqn.fromElements(JBossCacheStorage.LOCKS));
cache.endBatch(true);
}
@@ -177,7 +180,7 @@
// throw new RepositoryException("Container is not started");
// }
- return new JBossCacheStorageConnection(cache, nodes, properties, session);
+ return new JBossCacheStorageConnection(cache, nodes, properties, session, locks);
}
/**
@@ -191,7 +194,7 @@
// throw new RepositoryException("Container is not started");
// }
- return new JBossCacheStorageConnection(cache, nodes, properties, session);
+ return new JBossCacheStorageConnection(cache, nodes, properties, session, locks);
}
/**
Modified: jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/JDBCStorageConnection.java
===================================================================
--- jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/JDBCStorageConnection.java 2009-11-17 09:58:24 UTC (rev 710)
+++ jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/JDBCStorageConnection.java 2009-11-17 11:05:04 UTC (rev 711)
@@ -33,6 +33,7 @@
import org.exoplatform.services.jcr.datamodel.QPathEntry;
import org.exoplatform.services.jcr.datamodel.ValueData;
import org.exoplatform.services.jcr.impl.Constants;
+import org.exoplatform.services.jcr.impl.core.lock.LockData;
import org.exoplatform.services.jcr.impl.dataflow.persistent.ByteArrayPersistedValueData;
import org.exoplatform.services.jcr.impl.dataflow.persistent.CleanableFileStreamValueData;
import org.exoplatform.services.jcr.impl.storage.JCRInvalidItemStateException;
@@ -698,6 +699,24 @@
}
/**
+ * @see org.exoplatform.services.jcr.storage.WorkspaceStorageConnection#getLockData(java.lang.String)
+ */
+ public LockData getLockData(String identifier)
+ {
+ // TODO Add logic HERE! Need to store locks some where
+ return null;
+ }
+
+ /**
+ * @see org.exoplatform.services.jcr.storage.WorkspaceStorageConnection#getLocksData()
+ */
+ public List<LockData> getLocksData()
+ {
+ // TODO Add logic HERE! Need to store locks some where
+ return null;
+ }
+
+ /**
* {@inheritDoc}
*/
public void addSessionInfo(String sessionId) throws RepositoryException
Modified: jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/storage/WorkspaceStorageConnection.java
===================================================================
--- jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/storage/WorkspaceStorageConnection.java 2009-11-17 09:58:24 UTC (rev 710)
+++ jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/storage/WorkspaceStorageConnection.java 2009-11-17 11:05:04 UTC (rev 711)
@@ -22,6 +22,7 @@
import org.exoplatform.services.jcr.datamodel.NodeData;
import org.exoplatform.services.jcr.datamodel.PropertyData;
import org.exoplatform.services.jcr.datamodel.QPathEntry;
+import org.exoplatform.services.jcr.impl.core.lock.LockData;
import java.util.List;
@@ -333,4 +334,17 @@
* @return boolean, true if connection is open and ready, false - otherwise
*/
boolean isOpened();
+
+ /**
+ * @param identifier
+ * @return
+ * LockData by given node uuid, or null if not present
+ */
+ LockData getLockData(String identifier);
+
+ /**
+ * @return
+ * List of all locks.
+ */
+ List<LockData> getLocksData();
}
Modified: jcr/branches/1.12.0-JBC/component/core/src/test/java/org/exoplatform/services/jcr/impl/storage/jbosscache/JBossCacheStorageConnectionTest.java
===================================================================
--- jcr/branches/1.12.0-JBC/component/core/src/test/java/org/exoplatform/services/jcr/impl/storage/jbosscache/JBossCacheStorageConnectionTest.java 2009-11-17 09:58:24 UTC (rev 710)
+++ jcr/branches/1.12.0-JBC/component/core/src/test/java/org/exoplatform/services/jcr/impl/storage/jbosscache/JBossCacheStorageConnectionTest.java 2009-11-17 11:05:04 UTC (rev 711)
@@ -62,6 +62,8 @@
protected Node<Serializable, Object> session;
+ protected Node<Serializable, Object> locks;
+
protected String jbcConfig;
/**
@@ -88,9 +90,10 @@
nodes = cacheRoot.addChild(Fqn.fromString(JBossCacheStorage.NODES));
props = cacheRoot.addChild(Fqn.fromString(JBossCacheStorage.PROPS));
session = cacheRoot.addChild(Fqn.fromString(JBossCacheStorage.SESSION));
+ locks = cacheRoot.addChild(Fqn.fromString(JBossCacheStorage.SESSION));
// JCR connection
- conn = new JBossCacheStorageConnection(cache, nodes, props, session);
+ conn = new JBossCacheStorageConnection(cache, nodes, props, session, locks);
}
protected void initJBCConfig()
Modified: jcr/branches/1.12.0-JBC/component/core/src/test/java/org/exoplatform/services/jcr/impl/storage/jbosscache/ObservationCacheLoaderTest.java
===================================================================
--- jcr/branches/1.12.0-JBC/component/core/src/test/java/org/exoplatform/services/jcr/impl/storage/jbosscache/ObservationCacheLoaderTest.java 2009-11-17 09:58:24 UTC (rev 710)
+++ jcr/branches/1.12.0-JBC/component/core/src/test/java/org/exoplatform/services/jcr/impl/storage/jbosscache/ObservationCacheLoaderTest.java 2009-11-17 11:05:04 UTC (rev 711)
@@ -37,6 +37,7 @@
import org.exoplatform.services.jcr.datamodel.QPathEntry;
import org.exoplatform.services.jcr.impl.Constants;
import org.exoplatform.services.jcr.impl.core.LocationFactory;
+import org.exoplatform.services.jcr.impl.core.lock.LockData;
import org.exoplatform.services.jcr.impl.core.observation.ListenerCriteria;
import org.exoplatform.services.jcr.impl.core.observation.ObservationManagerRegistry;
import org.exoplatform.services.jcr.impl.dataflow.TransientNodeData;
@@ -555,6 +556,22 @@
{
}
+ /**
+ * @see org.exoplatform.services.jcr.storage.WorkspaceStorageConnection#getLockData(java.lang.String)
+ */
+ public LockData getLockData(String identifier)
+ {
+ return null;
+ }
+
+ /**
+ * @see org.exoplatform.services.jcr.storage.WorkspaceStorageConnection#getLocksData()
+ */
+ public List<LockData> getLocksData()
+ {
+ return null;
+ }
+
}
}
More information about the exo-jcr-commits
mailing list