[exo-jcr-commits] exo-jcr SVN: r1378 - in jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src: main/java/org/exoplatform/services/jcr/dataflow/persistent and 16 other directories.
do-not-reply at jboss.org
do-not-reply at jboss.org
Wed Jan 13 11:24:33 EST 2010
Author: pnedonosko
Date: 2010-01-13 11:24:32 -0500 (Wed, 13 Jan 2010)
New Revision: 1378
Added:
jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/nodetype/registration/JCRNodeTypeDataPersister.java
Removed:
jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/nodetype/registration/JcrNodeTypeDataPersister.java
jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/NodeIteratorOnDemand.java
Modified:
jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/dataflow/TransactionChangesLog.java
jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/dataflow/persistent/PersistedNodeData.java
jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/RepositoryContainer.java
jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/config/JDBCConfigurationPersister.java
jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/ItemImpl.java
jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/NamespaceDataPersister.java
jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/NodeImpl.java
jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/PropertyImpl.java
jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/SessionDataManager.java
jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/nodetype/AbstractNodeTypeRepository.java
jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/nodetype/ItemAutocreator.java
jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/nodetype/NodeTypeDefinitionImpl.java
jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/nodetype/NodeTypeImpl.java
jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/nodetype/registration/NodeTypeDataBuilder.java
jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/nodetype/registration/NodeTypeReadException.java
jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/value/ValueConstraintsMatcher.java
jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/version/FrozenNodeInitializer.java
jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/AbstractItemDataCopyVisitor.java
jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/DefaultItemDataCopyVisitor.java
jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/TransientNodeData.java
jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/TransientValueData.java
jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/ACLInheritanceSupportedWorkspaceDataManager.java
jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/CacheableWorkspaceDataManager.java
jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/CleanableFilePersistedValueData.java
jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/VersionableWorkspaceDataManager.java
jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/jbosscache/JBossCacheWorkspaceStorageCache.java
jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/serialization/PersistedValueDataWriter.java
jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/session/SessionChangesLog.java
jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/StandaloneStoragePluginProvider.java
jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/xml/importing/BaseXmlImporter.java
jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/core/TestSessionDataManager.java
Log:
EXOJCR-378: cleanups
Modified: jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/dataflow/TransactionChangesLog.java
===================================================================
--- jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/dataflow/TransactionChangesLog.java 2010-01-13 15:57:16 UTC (rev 1377)
+++ jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/dataflow/TransactionChangesLog.java 2010-01-13 16:24:32 UTC (rev 1378)
@@ -76,10 +76,8 @@
return new ChangesLogIterator(changesLogs);
}
- /*
- * (non-Javadoc)
- *
- * @see org.exoplatform.services.jcr.dataflow.ItemStateChangesLog#getAllStates()
+ /**
+ * {@inheritDoc}
*/
public List<ItemState> getAllStates()
{
@@ -98,10 +96,8 @@
return states;
}
- /*
- * (non-Javadoc)
- *
- * @see org.exoplatform.services.jcr.dataflow.ItemStateChangesLog#getSize()
+ /**
+ * {@inheritDoc}
*/
public int getSize()
{
@@ -168,68 +164,6 @@
return list;
}
- /**
- * Find if the node ancestor was renamed in this changes log.
- *
- * @param item - target node
- * @return - the pair of states of item ancestor, ItemState[] {DELETED,
- * RENAMED} or null if renaming is not detected.
- * @throws IllegalPathException
- */
- @Deprecated
- public ItemState[] findRenamed(ItemData item) throws IllegalPathException
- {
- List<ItemState> allStates = getAllStates();
- // search from the end for DELETED state.
- // RENAMED comes after the DELETED in the log immediately
- for (int i = allStates.size() - 1; i >= 0; i--)
- {
- ItemState state = allStates.get(i);
- if (state.getState() == ItemState.DELETED && !state.isPersisted()
- && item.getQPath().isDescendantOf(state.getData().getQPath()))
- {
- // 1. if it's a parent or the parent is descendant of logged data
- try
- {
- ItemState delete = state;
- ItemState rename = allStates.get(i + 1);
-
- if (rename.getState() == ItemState.RENAMED && rename.isPersisted()
- && rename.getData().getIdentifier().equals(delete.getData().getIdentifier()))
- {
-
- // 2. search of most fresh state of rename for searched rename state
- // (i.e. for ancestor
- // state of the given node)
- for (int bi = allStates.size() - 1; bi >= i + 2; bi--)
- {
- state = allStates.get(bi);
- if (state.getState() == ItemState.RENAMED && state.isPersisted()
- && state.getData().getIdentifier().equals(rename.getData().getIdentifier()))
- {
- // got much fresh
- rename = state;
- delete = allStates.get(i - 1); // try the fresh delete state
- if (delete.getData().getIdentifier().equals(rename.getData().getIdentifier()))
- return new ItemState[]{delete, rename}; // 3. ok, got it
- }
- }
-
- return new ItemState[]{delete, rename}; // 4. ok, there are no
- // more fresh we have
- // found before p.2
- } // else, it's not a rename, search deeper
- }
- catch (IndexOutOfBoundsException e)
- {
- // the pair not found
- return null;
- }
- }
- }
- return null;
- }
-
public String dump()
{
String str = "ChangesLog: size" + changesLogs.size() + "\n ";
Modified: jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/dataflow/persistent/PersistedNodeData.java
===================================================================
--- jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/dataflow/persistent/PersistedNodeData.java 2010-01-13 15:57:16 UTC (rev 1377)
+++ jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/dataflow/persistent/PersistedNodeData.java 2010-01-13 16:24:32 UTC (rev 1378)
@@ -55,13 +55,10 @@
private static final int ACL_IS_NOT_NULL = 1;
- //TODO remove final
protected int orderNumber;
- //TODO remove final
protected InternalQName primaryTypeName;
- //TODO remove final
protected InternalQName[] mixinTypeNames;
protected AccessControlList acl;
Modified: jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/RepositoryContainer.java
===================================================================
--- jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/RepositoryContainer.java 2010-01-13 15:57:16 UTC (rev 1377)
+++ jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/RepositoryContainer.java 2010-01-13 16:24:32 UTC (rev 1378)
@@ -43,7 +43,7 @@
import org.exoplatform.services.jcr.impl.core.lock.LockManagerImpl;
import org.exoplatform.services.jcr.impl.core.nodetype.NodeTypeDataManagerImpl;
import org.exoplatform.services.jcr.impl.core.nodetype.NodeTypeManagerImpl;
-import org.exoplatform.services.jcr.impl.core.nodetype.registration.JcrNodeTypeDataPersister;
+import org.exoplatform.services.jcr.impl.core.nodetype.registration.JCRNodeTypeDataPersister;
import org.exoplatform.services.jcr.impl.core.observation.ObservationManagerRegistry;
import org.exoplatform.services.jcr.impl.core.query.QueryManagerFactory;
import org.exoplatform.services.jcr.impl.core.query.RepositoryIndexSearcherHolder;
@@ -495,7 +495,7 @@
registerComponentImplementation(LocationFactory.class);
registerComponentImplementation(ValueFactoryImpl.class);
- registerComponentImplementation(JcrNodeTypeDataPersister.class);
+ registerComponentImplementation(JCRNodeTypeDataPersister.class);
registerComponentImplementation(NamespaceDataPersister.class);
registerComponentImplementation(NamespaceRegistryImpl.class);
@@ -561,8 +561,8 @@
nsRegistry.start();
//Node types now.
- JcrNodeTypeDataPersister nodeTypePersister =
- (JcrNodeTypeDataPersister)this.getComponentInstanceOfType(JcrNodeTypeDataPersister.class);
+ JCRNodeTypeDataPersister nodeTypePersister =
+ (JCRNodeTypeDataPersister)this.getComponentInstanceOfType(JCRNodeTypeDataPersister.class);
NodeTypeDataManagerImpl ntManager =
(NodeTypeDataManagerImpl)this.getComponentInstanceOfType(NodeTypeDataManagerImpl.class);
Modified: jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/config/JDBCConfigurationPersister.java
===================================================================
--- jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/config/JDBCConfigurationPersister.java 2010-01-13 15:57:16 UTC (rev 1377)
+++ jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/config/JDBCConfigurationPersister.java 2010-01-13 16:24:32 UTC (rev 1378)
@@ -22,6 +22,8 @@
import org.exoplatform.services.jcr.config.ConfigurationPersister;
import org.exoplatform.services.jcr.config.RepositoryConfigurationException;
import org.exoplatform.services.jcr.impl.storage.jdbc.DBConstants;
+import org.exoplatform.services.log.ExoLogger;
+import org.exoplatform.services.log.Log;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
@@ -39,14 +41,14 @@
/**
* Repository service configuration persister.
*
- * TODO use log.
- *
* @author <a href="mailto:peter.nedonosko at exoplatform.com.ua">Peter Nedonosko</a>
* @version $Id: JDBCConfigurationPersister.java 11907 2008-03-13 15:36:21Z ksm $
*/
public class JDBCConfigurationPersister implements ConfigurationPersister
{
+ protected static Log LOG = ExoLogger.getLogger("jcr.JDBCConfigurationPersister");
+
public final static String PARAM_SOURCE_NAME = "source-name";
public final static String PARAM_DIALECT = "dialect";
@@ -112,8 +114,10 @@
{
sourceNameParam = params.getProperty("sourceName"); // try old, pre 1.9 name
if (sourceNameParam == null)
+ {
throw new RepositoryConfigurationException("Repository service configuration. Source name ("
+ PARAM_SOURCE_NAME + ") is expected");
+ }
}
String dialectParam = params.getProperty(PARAM_DIALECT);
@@ -154,8 +158,10 @@
protected void checkInitialized() throws RepositoryConfigurationException
{
if (sourceName == null)
+ {
throw new RepositoryConfigurationException(
"Repository service configuration persister isn not initialized. Call init() before.");
+ }
}
protected Connection openConnection() throws NamingException, SQLException
@@ -322,9 +328,8 @@
if (ps.executeUpdate() <= 0)
{
- System.out
- .println(this.getClass().getCanonicalName()
- + " [WARN] Repository service configuration doesn't stored ok. No rows was affected in JDBC operation. Datasource "
+ LOG
+ .warn("Repository service configuration doesn't stored ok. No rows was affected in JDBC operation. Datasource "
+ sourceName + ". SQL: " + sql);
}
}
Modified: jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/ItemImpl.java
===================================================================
--- jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/ItemImpl.java 2010-01-13 15:57:16 UTC (rev 1377)
+++ jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/ItemImpl.java 2010-01-13 16:24:32 UTC (rev 1378)
@@ -806,19 +806,6 @@
abstract void loadData(ItemData data, NodeData parent) throws RepositoryException;
/**
- * Loads data.
- *
- * @param data
- * source item data
- * @param itemDefinitionData
- * source item definition data
- * @throws RepositoryException
- * if errors occurs
- */
- @Deprecated
- abstract void loadData(ItemData data, ItemDefinitionData itemDefinitionData) throws RepositoryException;
-
- /**
* Returns Item definition data.
*
* @return
Modified: jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/NamespaceDataPersister.java
===================================================================
--- jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/NamespaceDataPersister.java 2010-01-13 15:57:16 UTC (rev 1377)
+++ jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/NamespaceDataPersister.java 2010-01-13 16:24:32 UTC (rev 1378)
@@ -403,8 +403,6 @@
dataManager.save(new TransactionChangesLog(changesLog));
}
- // TODO remove me
- @Deprecated
private boolean isInialized()
{
return nsRoot != null;
Modified: jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/NodeImpl.java
===================================================================
--- jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/NodeImpl.java 2010-01-13 15:57:16 UTC (rev 1377)
+++ jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/NodeImpl.java 2010-01-13 16:24:32 UTC (rev 1378)
@@ -44,7 +44,6 @@
import org.exoplatform.services.jcr.impl.Constants;
import org.exoplatform.services.jcr.impl.core.itemfilters.ItemDataFilter;
import org.exoplatform.services.jcr.impl.core.itemfilters.ItemDataNamePatternFilter;
-import org.exoplatform.services.jcr.impl.core.itemfilters.NamePatternFilter;
import org.exoplatform.services.jcr.impl.core.lock.LockImpl;
import org.exoplatform.services.jcr.impl.core.nodetype.ItemAutocreator;
import org.exoplatform.services.jcr.impl.core.nodetype.NodeDefinitionImpl;
@@ -1504,13 +1503,6 @@
ConstraintViolationException
{
- // TODO
- // if (data == null)
- // {
- // throw new InvalidItemStateException("Data is null for " + this.getPath()
- // + " Probably was deleted by another session and can not be loaded from container ");
- // }
-
if (data.isNode())
{
NodeData nodeData = (NodeData)data;
@@ -1547,46 +1539,6 @@
}
/**
- * {@inheritDoc}
- */
- @Override
- @Deprecated
- public void loadData(ItemData data, ItemDefinitionData itemDefinitionData) throws RepositoryException,
- InvalidItemStateException, ConstraintViolationException
- {
-
- if (data == null)
- {
- throw new InvalidItemStateException("Data is null for " + this.getPath()
- + " Probably was deleted by another session and can not be loaded from container ");
- }
-
- if (!data.isNode())
- {
- throw new RepositoryException("Load data failed: Node expected");
- }
-
- NodeData nodeData = (NodeData)data;
-
- // TODO do we need this three checks here?
- if (nodeData.getPrimaryTypeName() == null)
- throw new RepositoryException("Load data: NodeData has no primaryTypeName. Null value found. "
- + (nodeData.getQPath() != null ? nodeData.getQPath().getAsString() : "[null path node]") + " " + nodeData);
-
- if (nodeData.getMixinTypeNames() == null)
- throw new RepositoryException("Load data: NodeData has no mixinTypeNames. Null value found. "
- + (nodeData.getQPath() != null ? nodeData.getQPath().getAsString() : "[null path node]"));
-
- if (nodeData.getACL() == null)
- throw new RepositoryException("ACL is NULL " + nodeData.getQPath().getAsString());
-
- this.data = nodeData;
- this.location = null;
- this.qpath = nodeData.getQPath();
- this.definition = (NodeDefinitionData)itemDefinitionData;
- }
-
- /**
* Init NodeDefinition.
*
* @param parent NodeData
Modified: jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/PropertyImpl.java
===================================================================
--- jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/PropertyImpl.java 2010-01-13 15:57:16 UTC (rev 1377)
+++ jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/PropertyImpl.java 2010-01-13 16:24:32 UTC (rev 1378)
@@ -26,12 +26,9 @@
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.ValueData;
import org.exoplatform.services.jcr.impl.Constants;
import org.exoplatform.services.jcr.impl.core.nodetype.PropertyDefinitionImpl;
import org.exoplatform.services.jcr.impl.core.value.BaseValue;
-import org.exoplatform.services.jcr.impl.dataflow.TransientPropertyData;
-import org.exoplatform.services.jcr.impl.dataflow.TransientValueData;
import java.io.InputStream;
import java.util.Calendar;
Modified: jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/SessionDataManager.java
===================================================================
--- jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/SessionDataManager.java 2010-01-13 15:57:16 UTC (rev 1377)
+++ jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/SessionDataManager.java 2010-01-13 16:24:32 UTC (rev 1378)
@@ -28,7 +28,6 @@
import org.exoplatform.services.jcr.dataflow.PlainChangesLog;
import org.exoplatform.services.jcr.dataflow.SharedDataManager;
import org.exoplatform.services.jcr.datamodel.IllegalPathException;
-import org.exoplatform.services.jcr.datamodel.InternalQName;
import org.exoplatform.services.jcr.datamodel.ItemData;
import org.exoplatform.services.jcr.datamodel.NodeData;
import org.exoplatform.services.jcr.datamodel.PropertyData;
@@ -1497,48 +1496,6 @@
}
/**
- * Wraps NodeData into NodeImpl.
- *
- * @param data
- * NodeData to wrap
- * @param parentPrimaryTypeName
- * parent primary type name
- * @param parentMixinTypeNames
- * parent mixin type names
- * @param pool
- * indicates does the item fall in pool
- * @return NodeImpl object
- * @throws RepositoryException
- * if errors is occurs
- */
- public NodeImpl wrapNodeData(NodeData data, NodeData parent) throws RepositoryException
- {
-
- NodeImpl node = itemFactory.createNode(data, parent);
- //NodeImpl node = (NodeImpl)itemsPool.get(data);
- session.getActionHandler().postRead(node);
-
- NodeImpl pooledItem = (NodeImpl)itemsPool.getItem(data.getIdentifier());
- if (pooledItem == null)
- {
- NodeData pooledData = (NodeData)itemsPool.getData(data.getIdentifier());
- if (pooledData != null)
- {
- node.loadData(pooledData);
- }
-
- // TODO
- node = (NodeImpl)itemsPool.get(node);
- }
- else
- {
- node = pooledItem;
- }
-
- return node;
- }
-
- /**
* Removes all pending changes of this item
*
* @param item
@@ -1988,30 +1945,6 @@
}
/**
- * @param newItem
- * @return the item
- * @throws RepositoryException
- */
- @Deprecated
- ItemImpl get(ItemImpl newItem) throws RepositoryException
- {
- String identifier = newItem.getInternalIdentifier();
-
- ItemImpl item = items.get(identifier);
- if (item == null)
- {
- //datas.remove(identifier);
- items.put(identifier, newItem);
- return newItem;
- }
- else
- {
- item.loadData(newItem.getData(), newItem.getItemDefinitionData());
- return item;
- }
- }
-
- /**
* Get ItemImpl from the pool using given data.
*
* @param newData ItemData
@@ -2056,32 +1989,6 @@
}
/**
- * Gets item from pool.
- *
- * @param identifier
- * item identifier
- * @return ItemImpl object from pool
- */
- @Deprecated
- ItemImpl getItem(String identifier)
- {
- return items.get(identifier);
- }
-
- /**
- * Gets item from pool.
- *
- * @param identifier
- * item identifier
- * @return ItemData object from pool
- */
- @Deprecated
- ItemData getData(String identifier)
- {
- return null; //datas.get(identifier);
- }
-
- /**
* Reload an existed item in the pool with given data
*
* @param itemData
Modified: jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/nodetype/AbstractNodeTypeRepository.java
===================================================================
--- jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/nodetype/AbstractNodeTypeRepository.java 2010-01-13 15:57:16 UTC (rev 1377)
+++ jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/nodetype/AbstractNodeTypeRepository.java 2010-01-13 16:24:32 UTC (rev 1378)
@@ -34,7 +34,6 @@
import javax.jcr.RepositoryException;
-
/**
* @author <a href="mailto:Sergey.Kabashnyuk at exoplatform.org">Sergey Kabashnyuk</a>
* @version $Id: exo-jboss-codetemplates.xml 34360 2009-07-22 23:58:59Z ksm $
@@ -58,22 +57,19 @@
*/
public List<NodeTypeData> getAllNodeTypes() throws RepositoryException
{
- // TODO Auto-generated method stub
return nodeTypeDataPersister.getAllNodeTypes();
}
/**
- * @see org.exoplatform.services.jcr.core.ComponentPersister#isStorageFilled()
+ * {@inheritDoc}
*/
public boolean isStorageFilled()
{
- // TODO Auto-generated method stub
return nodeTypeDataPersister.isStorageFilled();
}
/**
- * @throws RepositoryException
- * @see org.exoplatform.services.jcr.impl.core.nodetype.NodeTypeRepository#update(java.util.List, org.exoplatform.services.jcr.impl.core.nodetype.registration.UpdateNodeTypeObserver)
+ * {@inheritDoc}
*/
public void registerNodeType(final List<NodeTypeData> nodeTypes, final NodeTypeDataManager nodeTypeDataManager,
final String accessControlPolicy, final int alreadyExistsBehaviour) throws RepositoryException
@@ -163,7 +159,6 @@
*/
public void start()
{
- // TODO Auto-generated method stub
}
@@ -172,7 +167,6 @@
*/
public void stop()
{
- // TODO Auto-generated method stub
}
}
Modified: jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/nodetype/ItemAutocreator.java
===================================================================
--- jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/nodetype/ItemAutocreator.java 2010-01-13 15:57:16 UTC (rev 1377)
+++ jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/nodetype/ItemAutocreator.java 2010-01-13 16:24:32 UTC (rev 1378)
@@ -19,7 +19,6 @@
package org.exoplatform.services.jcr.impl.core.nodetype;
import org.exoplatform.services.jcr.access.AccessControlEntry;
-import org.exoplatform.services.jcr.access.AccessControlList;
import org.exoplatform.services.jcr.core.nodetype.NodeDefinitionData;
import org.exoplatform.services.jcr.core.nodetype.NodeTypeData;
import org.exoplatform.services.jcr.core.nodetype.NodeTypeDataManager;
Modified: jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/nodetype/NodeTypeDefinitionImpl.java
===================================================================
--- jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/nodetype/NodeTypeDefinitionImpl.java 2010-01-13 15:57:16 UTC (rev 1377)
+++ jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/nodetype/NodeTypeDefinitionImpl.java 2010-01-13 16:24:32 UTC (rev 1378)
@@ -28,7 +28,6 @@
import javax.jcr.RepositoryException;
import javax.jcr.ValueFactory;
import javax.jcr.nodetype.NodeDefinition;
-
import javax.jcr.nodetype.PropertyDefinition;
/**
Modified: jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/nodetype/NodeTypeImpl.java
===================================================================
--- jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/nodetype/NodeTypeImpl.java 2010-01-13 15:57:16 UTC (rev 1377)
+++ jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/nodetype/NodeTypeImpl.java 2010-01-13 16:24:32 UTC (rev 1378)
@@ -27,6 +27,7 @@
import org.exoplatform.services.jcr.datamodel.InternalQName;
import org.exoplatform.services.jcr.impl.Constants;
import org.exoplatform.services.jcr.impl.core.LocationFactory;
+import org.exoplatform.services.jcr.impl.core.nodetype.registration.NodeTypeReadException;
import org.exoplatform.services.jcr.impl.util.JCRDateFormat;
import org.exoplatform.services.log.ExoLogger;
import org.exoplatform.services.log.Log;
@@ -44,7 +45,6 @@
import javax.jcr.RepositoryException;
import javax.jcr.Value;
import javax.jcr.ValueFactory;
-import javax.jcr.ValueFormatException;
import javax.jcr.nodetype.NoSuchNodeTypeException;
import javax.jcr.nodetype.NodeDefinition;
import javax.jcr.nodetype.NodeType;
Copied: jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/nodetype/registration/JCRNodeTypeDataPersister.java (from rev 1377, jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/nodetype/registration/JcrNodeTypeDataPersister.java)
===================================================================
--- jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/nodetype/registration/JCRNodeTypeDataPersister.java (rev 0)
+++ jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/nodetype/registration/JCRNodeTypeDataPersister.java 2010-01-13 16:24:32 UTC (rev 1378)
@@ -0,0 +1,418 @@
+/*
+ * 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.
+ */
+/**
+ * Created by The eXo Platform SAS.
+ *
+ * @author <a href="mailto:Sergey.Kabashnyuk at gmail.com">Sergey Kabashnyuk</a>
+ * @version $Id: $
+ */
+package org.exoplatform.services.jcr.impl.core.nodetype.registration;
+
+import org.exoplatform.services.jcr.access.AccessControlEntry;
+import org.exoplatform.services.jcr.access.AccessControlList;
+import org.exoplatform.services.jcr.access.AccessControlPolicy;
+import org.exoplatform.services.jcr.config.RepositoryEntry;
+import org.exoplatform.services.jcr.core.ExtendedPropertyType;
+import org.exoplatform.services.jcr.core.nodetype.NodeTypeData;
+import org.exoplatform.services.jcr.dataflow.DataManager;
+import org.exoplatform.services.jcr.dataflow.ItemState;
+import org.exoplatform.services.jcr.dataflow.PlainChangesLog;
+import org.exoplatform.services.jcr.dataflow.PlainChangesLogImpl;
+import org.exoplatform.services.jcr.dataflow.TransactionChangesLog;
+import org.exoplatform.services.jcr.datamodel.InternalQName;
+import org.exoplatform.services.jcr.datamodel.ItemData;
+import org.exoplatform.services.jcr.datamodel.NodeData;
+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.dataflow.ItemDataRemoveVisitor;
+import org.exoplatform.services.jcr.impl.dataflow.TransientNodeData;
+import org.exoplatform.services.jcr.impl.dataflow.TransientPropertyData;
+import org.exoplatform.services.jcr.impl.dataflow.TransientValueData;
+import org.exoplatform.services.log.ExoLogger;
+import org.exoplatform.services.log.Log;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.jcr.PropertyType;
+import javax.jcr.RepositoryException;
+import javax.jcr.nodetype.NoSuchNodeTypeException;
+
+/**
+ * Created by The eXo Platform SAS.
+ *
+ * @author <a href="mailto:Sergey.Kabashnyuk at gmail.com">Sergey Kabashnyuk</a>
+ * @version $Id: $
+ */
+public class JCRNodeTypeDataPersister implements NodeTypeDataPersister
+{
+
+ protected final Log log = ExoLogger.getLogger(getClass().getName());
+
+ private final DataManager dataManager;
+
+ private NodeData nodeTypeStorageRoot;
+
+ private final NodeTypeDefinitionAccessProvider definitionAccessProvider;
+
+ private final boolean addACL;
+
+ private boolean started = false;
+
+ /**
+ * @param dataManager
+ * @throws RepositoryException
+ */
+ public JCRNodeTypeDataPersister(DataManager dataManager, boolean addACL) throws RepositoryException
+ {
+ super();
+ this.dataManager = dataManager;
+ this.addACL = addACL;
+
+ this.definitionAccessProvider = new NodeTypeDefinitionAccessProvider(dataManager);
+ }
+
+ /**
+ * @param dataManager
+ * @throws RepositoryException
+ */
+ public JCRNodeTypeDataPersister(DataManager dataManager, NodeData nodeTypeStorageRoot) throws RepositoryException
+ {
+ super();
+ this.dataManager = dataManager;
+ this.nodeTypeStorageRoot = nodeTypeStorageRoot;
+ this.definitionAccessProvider = new NodeTypeDefinitionAccessProvider(dataManager);
+ this.addACL = true;
+
+ }
+
+ /**
+ * @param dataManager
+ * @throws RepositoryException
+ */
+ public JCRNodeTypeDataPersister(DataManager dataManager, RepositoryEntry repConfig) throws RepositoryException
+ {
+ this(dataManager, !repConfig.getAccessControl().equals(AccessControlPolicy.DISABLE));
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public void addNodeType(NodeTypeData nodeType) throws RepositoryException
+ {
+ if (!started)
+ {
+ log.warn("Unable save nodetype " + nodeType.getName().getAsString()
+ + " in to the storage. Storage not initialized");
+ return;
+ }
+
+ PlainChangesLog changesLog = new PlainChangesLogImpl();
+ definitionAccessProvider.write(changesLog, nodeTypeStorageRoot, nodeType);
+ dataManager.save(new TransactionChangesLog(changesLog));
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public boolean hasNodeType(InternalQName nodeTypeName) throws RepositoryException
+ {
+ if (!validatate())
+ {
+ return false;
+ }
+
+ NodeData nodeTypeData = (NodeData)dataManager.getItemData(nodeTypeStorageRoot, new QPathEntry(nodeTypeName, 1));
+
+ return nodeTypeData != null;
+ }
+
+ public NodeData initNodetypesRoot(NodeData nsSystem, boolean addACL) throws RepositoryException
+ {
+ PlainChangesLog changesLog = new PlainChangesLogImpl();
+ TransientNodeData jcrNodetypes;
+
+ long start = System.currentTimeMillis();
+
+ if (addACL)
+ {
+ AccessControlList acl = new AccessControlList();
+ InternalQName[] mixins = new InternalQName[]{Constants.EXO_OWNEABLE, Constants.EXO_PRIVILEGEABLE};
+
+ jcrNodetypes =
+ TransientNodeData.createNodeData(nsSystem, Constants.JCR_NODETYPES, Constants.NT_UNSTRUCTURED, mixins,
+ Constants.NODETYPESROOT_UUID);
+
+ TransientPropertyData primaryType =
+ TransientPropertyData.createPropertyData(jcrNodetypes, Constants.JCR_PRIMARYTYPE, PropertyType.NAME, false,
+ new TransientValueData(jcrNodetypes.getPrimaryTypeName()));
+
+ changesLog.add(ItemState.createAddedState(jcrNodetypes)).add(ItemState.createAddedState(primaryType));
+
+ // jcr:mixinTypes
+ List<ValueData> mixValues = new ArrayList<ValueData>();
+ for (InternalQName mixin : mixins)
+ {
+ mixValues.add(new TransientValueData(mixin));
+ }
+ TransientPropertyData exoMixinTypes =
+ TransientPropertyData.createPropertyData(jcrNodetypes, Constants.JCR_MIXINTYPES, PropertyType.NAME, true,
+ mixValues);
+
+ TransientPropertyData exoOwner =
+ TransientPropertyData.createPropertyData(jcrNodetypes, Constants.EXO_OWNER, PropertyType.STRING, false,
+ new TransientValueData(acl.getOwner()));
+
+ List<ValueData> permsValues = new ArrayList<ValueData>();
+ for (int i = 0; i < acl.getPermissionEntries().size(); i++)
+ {
+ AccessControlEntry entry = acl.getPermissionEntries().get(i);
+ permsValues.add(new TransientValueData(entry));
+ }
+ TransientPropertyData exoPerms =
+ TransientPropertyData.createPropertyData(jcrNodetypes, Constants.EXO_PERMISSIONS,
+ ExtendedPropertyType.PERMISSION, true, permsValues);
+
+ changesLog.add(ItemState.createAddedState(exoMixinTypes)).add(ItemState.createAddedState(exoOwner)).add(
+ ItemState.createAddedState(exoPerms));
+ changesLog.add(new ItemState(jcrNodetypes, ItemState.MIXIN_CHANGED, false, null));
+ }
+ else
+ {
+ jcrNodetypes =
+ TransientNodeData.createNodeData(nsSystem, Constants.JCR_NODETYPES, Constants.NT_UNSTRUCTURED,
+ Constants.NODETYPESROOT_UUID);
+
+ TransientPropertyData primaryType =
+ TransientPropertyData.createPropertyData(jcrNodetypes, Constants.JCR_PRIMARYTYPE, PropertyType.NAME, false,
+ new TransientValueData(jcrNodetypes.getPrimaryTypeName()));
+
+ changesLog.add(ItemState.createAddedState(jcrNodetypes)).add(ItemState.createAddedState(primaryType));
+ }
+
+ if (log.isDebugEnabled())
+ log.debug("/jcr:system/jcr:nodetypes is created, creation time: " + (System.currentTimeMillis() - start)
+ + " ms");
+
+ dataManager.save(new TransactionChangesLog(changesLog));
+
+ return jcrNodetypes;
+
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public boolean isStorageFilled()
+ {
+ if (nodeTypeStorageRoot == null)
+ {
+ log.warn(" Storage not initialized");
+ return false;
+ }
+ try
+ {
+ List<NodeData> storageContent = dataManager.getChildNodesData(nodeTypeStorageRoot);
+ return storageContent.size() > 0;
+ }
+ catch (RepositoryException e)
+ {
+ log.error(e.getLocalizedMessage(), e);
+
+ }
+ return false;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public void addNodeTypes(List<NodeTypeData> nodeTypes) throws RepositoryException
+ {
+ if (!validatate())
+ {
+ return;
+ }
+
+ PlainChangesLog changesLog = new PlainChangesLogImpl();
+ for (NodeTypeData nodeTypeData : nodeTypes)
+ {
+ definitionAccessProvider.write(changesLog, nodeTypeStorageRoot, nodeTypeData);
+ }
+
+ dataManager.save(new TransactionChangesLog(changesLog));
+
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public void removeNodeType(NodeTypeData nodeType) throws RepositoryException
+ {
+ if (!validatate())
+ {
+ return;
+ }
+
+ validatate();
+ NodeData nodeTypeData =
+ (NodeData)dataManager.getItemData(nodeTypeStorageRoot, new QPathEntry(nodeType.getName(), 1));
+ ItemDataRemoveVisitor removeVisitor = new ItemDataRemoveVisitor(dataManager, nodeTypeStorageRoot.getQPath());
+ nodeTypeData.accept(removeVisitor);
+
+ PlainChangesLog changesLog = new PlainChangesLogImpl();
+ changesLog.addAll(removeVisitor.getRemovedStates());
+ dataManager.save(new TransactionChangesLog(changesLog));
+ }
+
+ public void start()
+ {
+ if (!started)
+ {
+ try
+ {
+ NodeData jcrSystem = (NodeData)dataManager.getItemData(Constants.SYSTEM_UUID);
+ if (jcrSystem != null)
+ {
+ NodeData jcrNodetypes =
+ (NodeData)dataManager.getItemData(jcrSystem, new QPathEntry(Constants.JCR_NODETYPES, 1));
+ if (jcrNodetypes == null)
+ this.nodeTypeStorageRoot = initNodetypesRoot(jcrSystem, addACL);
+ else
+ this.nodeTypeStorageRoot = jcrNodetypes;
+ }
+ else
+ {
+ throw new RuntimeException("Nodetypes storage (/jcr:systemnode) is not initialized.");
+ }
+ }
+ catch (RepositoryException e)
+ {
+ throw new RuntimeException(e.getLocalizedMessage(), e);
+ }
+ started = true;
+ }
+ }
+
+ public void stop()
+ {
+ }
+
+ /**
+ * @see org.exoplatform.services.jcr.impl.core.nodetype.registration.NodeTypeDataPersister#unmarshall(org.exoplatform.services.jcr.datamodel.InternalQName, java.util.Set)
+ */
+ public NodeTypeData getNodeType(InternalQName nodeTypeName) throws RepositoryException, NoSuchNodeTypeException
+ {
+ if (nodeTypeStorageRoot == null)
+ {
+ log.warn(" Storage not initialized");
+ return null;
+ }
+ //Searching nodeType root
+ ItemData nodeType = dataManager.getItemData(nodeTypeStorageRoot, new QPathEntry(nodeTypeName, 1));
+ if (nodeType == null)
+ throw new NoSuchNodeTypeException("Node type definition " + nodeTypeName.getAsString() + "not found");
+ if (!nodeType.isNode())
+ throw new RepositoryException("Unexpected property found " + nodeType.getQPath().getAsString()
+ + ". Should be node.");
+
+ NodeData nodeTypeRoot = (NodeData)nodeType;
+
+ if (!Constants.NT_NODETYPE.equals(nodeTypeRoot.getPrimaryTypeName()))
+ throw new RepositoryException("Unexpected node type of NodeData found "
+ + nodeTypeRoot.getPrimaryTypeName().getAsString() + ". Should be " + Constants.NT_NODETYPE.getAsString());
+
+ return definitionAccessProvider.read(nodeTypeRoot);
+ }
+
+ /**
+ * @see org.exoplatform.services.jcr.impl.core.nodetype.registration.NodeTypeDataPersister#getNodeType(java.util.Set)
+ */
+ public List<NodeTypeData> getAllNodeTypes() throws RepositoryException
+ {
+ if (!validatate())
+ {
+ return new ArrayList<NodeTypeData>();
+ }
+
+ validatate();
+ List<NodeData> nodeTypes = dataManager.getChildNodesData(nodeTypeStorageRoot);
+ List<NodeTypeData> result = new ArrayList<NodeTypeData>();
+ for (NodeData nodeData : nodeTypes)
+ {
+ if (Constants.NT_NODETYPE.equals(nodeData.getPrimaryTypeName()))
+ result.add(definitionAccessProvider.read(nodeData));
+ }
+ return result;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public void update(List<NodeTypeData> nodeTypes, UpdateNodeTypeObserver observer) throws RepositoryException
+ {
+
+ PlainChangesLog changesLog = new PlainChangesLogImpl();
+
+ for (NodeTypeData nodeTypeData : nodeTypes)
+ {
+
+ if (observer != null)
+ {
+ if (observer.shouldSkip(nodeTypeData, changesLog))
+ continue;
+ observer.beforeUpdate(nodeTypeData, changesLog);
+
+ }
+ if (!validatate())
+ {
+ continue;
+ }
+ // remove first
+ NodeData removeNodeTypeData =
+ (NodeData)dataManager.getItemData(nodeTypeStorageRoot, new QPathEntry(nodeTypeData.getName(), 1));
+ if (removeNodeTypeData != null)
+ {
+ ItemDataRemoveVisitor removeVisitor =
+ new ItemDataRemoveVisitor(dataManager, nodeTypeStorageRoot.getQPath());
+ removeNodeTypeData.accept(removeVisitor);
+
+ changesLog.addAll(removeVisitor.getRemovedStates());
+ }
+ // add
+ definitionAccessProvider.write(changesLog, nodeTypeStorageRoot, nodeTypeData);
+ if (observer != null)
+ observer.afterUpdate(nodeTypeData, changesLog);
+ }
+
+ dataManager.save(new TransactionChangesLog(changesLog));
+
+ }
+
+ private boolean validatate()
+ {
+ if (this.nodeTypeStorageRoot == null)
+ {
+ if (log.isDebugEnabled())
+ log.debug(" Storage not initialized");
+ return false;
+ }
+ return true;
+ }
+}
Deleted: jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/nodetype/registration/JcrNodeTypeDataPersister.java
===================================================================
--- jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/nodetype/registration/JcrNodeTypeDataPersister.java 2010-01-13 15:57:16 UTC (rev 1377)
+++ jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/nodetype/registration/JcrNodeTypeDataPersister.java 2010-01-13 16:24:32 UTC (rev 1378)
@@ -1,425 +0,0 @@
-/*
- * 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.
- */
-/**
- * Created by The eXo Platform SAS.
- *
- * @author <a href="mailto:Sergey.Kabashnyuk at gmail.com">Sergey Kabashnyuk</a>
- * @version $Id: $
- */
-package org.exoplatform.services.jcr.impl.core.nodetype.registration;
-
-import org.exoplatform.services.jcr.access.AccessControlEntry;
-import org.exoplatform.services.jcr.access.AccessControlList;
-import org.exoplatform.services.jcr.access.AccessControlPolicy;
-import org.exoplatform.services.jcr.config.RepositoryEntry;
-import org.exoplatform.services.jcr.core.ExtendedPropertyType;
-import org.exoplatform.services.jcr.core.nodetype.NodeTypeData;
-import org.exoplatform.services.jcr.dataflow.DataManager;
-import org.exoplatform.services.jcr.dataflow.ItemState;
-import org.exoplatform.services.jcr.dataflow.ItemStateChangesLog;
-import org.exoplatform.services.jcr.dataflow.PlainChangesLog;
-import org.exoplatform.services.jcr.dataflow.PlainChangesLogImpl;
-import org.exoplatform.services.jcr.dataflow.TransactionChangesLog;
-import org.exoplatform.services.jcr.datamodel.InternalQName;
-import org.exoplatform.services.jcr.datamodel.ItemData;
-import org.exoplatform.services.jcr.datamodel.NodeData;
-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.dataflow.ItemDataRemoveVisitor;
-import org.exoplatform.services.jcr.impl.dataflow.TransientNodeData;
-import org.exoplatform.services.jcr.impl.dataflow.TransientPropertyData;
-import org.exoplatform.services.jcr.impl.dataflow.TransientValueData;
-import org.exoplatform.services.log.ExoLogger;
-import org.exoplatform.services.log.Log;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.jcr.PropertyType;
-import javax.jcr.RepositoryException;
-import javax.jcr.nodetype.NoSuchNodeTypeException;
-
-/**
- * Created by The eXo Platform SAS.
- *
- * @author <a href="mailto:Sergey.Kabashnyuk at gmail.com">Sergey Kabashnyuk</a>
- * @version $Id: $
- */
-public class JcrNodeTypeDataPersister implements NodeTypeDataPersister
-{
-
- protected final Log log = ExoLogger.getLogger(getClass().getName());
-
- private final DataManager dataManager;
-
- private NodeData nodeTypeStorageRoot;
-
- private final NodeTypeDefinitionAccessProvider definitionAccessProvider;
-
- private final boolean addACL;
-
- private boolean started = false;
-
- // /**
- // * ChangesLog Buffer (used for saves before start).
- // */
- // private List<ItemStateChangesLog> changesLogBuffer = new ArrayList<ItemStateChangesLog>();
-
- /**
- * @param dataManager
- * @throws RepositoryException
- */
- public JcrNodeTypeDataPersister(DataManager dataManager, boolean addACL) throws RepositoryException
- {
- super();
- this.dataManager = dataManager;
- this.addACL = addACL;
-
- this.definitionAccessProvider = new NodeTypeDefinitionAccessProvider(dataManager);
- }
-
- /**
- * @param dataManager
- * @throws RepositoryException
- */
- public JcrNodeTypeDataPersister(DataManager dataManager, NodeData nodeTypeStorageRoot) throws RepositoryException
- {
- super();
- this.dataManager = dataManager;
- this.nodeTypeStorageRoot = nodeTypeStorageRoot;
- this.definitionAccessProvider = new NodeTypeDefinitionAccessProvider(dataManager);
- this.addACL = true;
-
- }
-
- /**
- * @param dataManager
- * @throws RepositoryException
- */
- public JcrNodeTypeDataPersister(DataManager dataManager, RepositoryEntry repConfig) throws RepositoryException
- {
- this(dataManager, !repConfig.getAccessControl().equals(AccessControlPolicy.DISABLE));
- }
-
- /**
- * {@inheritDoc}
- */
- public void addNodeType(NodeTypeData nodeType) throws RepositoryException
- {
- if (!started)
- {
- log.warn("Unable save nodetype " + nodeType.getName().getAsString()
- + " in to the storage. Storage not initialized");
- return;
- }
-
- PlainChangesLog changesLog = new PlainChangesLogImpl();
- definitionAccessProvider.write(changesLog, nodeTypeStorageRoot, nodeType);
- dataManager.save(new TransactionChangesLog(changesLog));
- }
-
- /**
- * {@inheritDoc}
- */
- public boolean hasNodeType(InternalQName nodeTypeName) throws RepositoryException
- {
- if (!validatate())
- {
- return false;
- }
-
- NodeData nodeTypeData = (NodeData)dataManager.getItemData(nodeTypeStorageRoot, new QPathEntry(nodeTypeName, 1));
-
- return nodeTypeData != null;
- }
-
- public NodeData initNodetypesRoot(NodeData nsSystem, boolean addACL) throws RepositoryException
- {
- PlainChangesLog changesLog = new PlainChangesLogImpl();
- TransientNodeData jcrNodetypes;
-
- long start = System.currentTimeMillis();
-
- if (addACL)
- {
- AccessControlList acl = new AccessControlList();
- InternalQName[] mixins = new InternalQName[]{Constants.EXO_OWNEABLE, Constants.EXO_PRIVILEGEABLE};
-
- jcrNodetypes =
- TransientNodeData.createNodeData(nsSystem, Constants.JCR_NODETYPES, Constants.NT_UNSTRUCTURED, mixins,
- Constants.NODETYPESROOT_UUID);
-
- TransientPropertyData primaryType =
- TransientPropertyData.createPropertyData(jcrNodetypes, Constants.JCR_PRIMARYTYPE, PropertyType.NAME, false,
- new TransientValueData(jcrNodetypes.getPrimaryTypeName()));
-
- changesLog.add(ItemState.createAddedState(jcrNodetypes)).add(ItemState.createAddedState(primaryType));
-
- // jcr:mixinTypes
- List<ValueData> mixValues = new ArrayList<ValueData>();
- for (InternalQName mixin : mixins)
- {
- mixValues.add(new TransientValueData(mixin));
- }
- TransientPropertyData exoMixinTypes =
- TransientPropertyData.createPropertyData(jcrNodetypes, Constants.JCR_MIXINTYPES, PropertyType.NAME, true,
- mixValues);
-
- TransientPropertyData exoOwner =
- TransientPropertyData.createPropertyData(jcrNodetypes, Constants.EXO_OWNER, PropertyType.STRING, false,
- new TransientValueData(acl.getOwner()));
-
- List<ValueData> permsValues = new ArrayList<ValueData>();
- for (int i = 0; i < acl.getPermissionEntries().size(); i++)
- {
- AccessControlEntry entry = acl.getPermissionEntries().get(i);
- permsValues.add(new TransientValueData(entry));
- }
- TransientPropertyData exoPerms =
- TransientPropertyData.createPropertyData(jcrNodetypes, Constants.EXO_PERMISSIONS,
- ExtendedPropertyType.PERMISSION, true, permsValues);
-
- changesLog.add(ItemState.createAddedState(exoMixinTypes)).add(ItemState.createAddedState(exoOwner)).add(
- ItemState.createAddedState(exoPerms));
- changesLog.add(new ItemState(jcrNodetypes, ItemState.MIXIN_CHANGED, false, null));
- }
- else
- {
- jcrNodetypes =
- TransientNodeData.createNodeData(nsSystem, Constants.JCR_NODETYPES, Constants.NT_UNSTRUCTURED,
- Constants.NODETYPESROOT_UUID);
-
- TransientPropertyData primaryType =
- TransientPropertyData.createPropertyData(jcrNodetypes, Constants.JCR_PRIMARYTYPE, PropertyType.NAME, false,
- new TransientValueData(jcrNodetypes.getPrimaryTypeName()));
-
- changesLog.add(ItemState.createAddedState(jcrNodetypes)).add(ItemState.createAddedState(primaryType));
- }
-
- if (log.isDebugEnabled())
- log.debug("/jcr:system/jcr:nodetypes is created, creation time: " + (System.currentTimeMillis() - start)
- + " ms");
-
- dataManager.save(new TransactionChangesLog(changesLog));
-
- return jcrNodetypes;
-
- }
-
- /**
- * {@inheritDoc}
- */
- public boolean isStorageFilled()
- {
- if (nodeTypeStorageRoot == null)
- {
- log.warn(" Storage not initialized");
- return false;
- }
- try
- {
- List<NodeData> storageContent = dataManager.getChildNodesData(nodeTypeStorageRoot);
- return storageContent.size() > 0;
- }
- catch (RepositoryException e)
- {
- log.error(e.getLocalizedMessage(), e);
-
- }
- return false;
- }
-
- /**
- * {@inheritDoc}
- */
- public void addNodeTypes(List<NodeTypeData> nodeTypes) throws RepositoryException
- {
- if (!validatate())
- {
- return;
- }
-
- PlainChangesLog changesLog = new PlainChangesLogImpl();
- for (NodeTypeData nodeTypeData : nodeTypes)
- {
- definitionAccessProvider.write(changesLog, nodeTypeStorageRoot, nodeTypeData);
- }
-
- dataManager.save(new TransactionChangesLog(changesLog));
-
- }
-
- /**
- * {@inheritDoc}
- */
- public void removeNodeType(NodeTypeData nodeType) throws RepositoryException
- {
- if (!validatate())
- {
- return;
- }
-
- validatate();
- NodeData nodeTypeData =
- (NodeData)dataManager.getItemData(nodeTypeStorageRoot, new QPathEntry(nodeType.getName(), 1));
- ItemDataRemoveVisitor removeVisitor = new ItemDataRemoveVisitor(dataManager, nodeTypeStorageRoot.getQPath());
- nodeTypeData.accept(removeVisitor);
-
- PlainChangesLog changesLog = new PlainChangesLogImpl();
- changesLog.addAll(removeVisitor.getRemovedStates());
- dataManager.save(new TransactionChangesLog(changesLog));
-
- }
-
- public void start()
- {
- if (!started)
- {
- try
- {
- NodeData jcrSystem = (NodeData)dataManager.getItemData(Constants.SYSTEM_UUID);
- if (jcrSystem != null)
- {
- NodeData jcrNodetypes =
- (NodeData)dataManager.getItemData(jcrSystem, new QPathEntry(Constants.JCR_NODETYPES, 1));
- if (jcrNodetypes == null)
- this.nodeTypeStorageRoot = initNodetypesRoot(jcrSystem, addACL);
- else
- this.nodeTypeStorageRoot = jcrNodetypes;
- }
- else
- {
- throw new RuntimeException("Nodetypes storage (/jcr:systemnode) is not initialized.");
- }
- }
- catch (RepositoryException e)
- {
- throw new RuntimeException(e.getLocalizedMessage(), e);
- }
- started = true;
- }
- }
-
- public void stop()
- {
- }
-
- /**
- * @see org.exoplatform.services.jcr.impl.core.nodetype.registration.NodeTypeDataPersister#unmarshall(org.exoplatform.services.jcr.datamodel.InternalQName, java.util.Set)
- */
- public NodeTypeData getNodeType(InternalQName nodeTypeName) throws RepositoryException, NoSuchNodeTypeException
- {
- if (nodeTypeStorageRoot == null)
- {
- log.warn(" Storage not initialized");
- return null;
- }
- //Searching nodeType root
- ItemData nodeType = dataManager.getItemData(nodeTypeStorageRoot, new QPathEntry(nodeTypeName, 1));
- if (nodeType == null)
- throw new NoSuchNodeTypeException("Node type definition " + nodeTypeName.getAsString() + "not found");
- if (!nodeType.isNode())
- throw new RepositoryException("Unexpected property found " + nodeType.getQPath().getAsString()
- + ". Should be node.");
-
- NodeData nodeTypeRoot = (NodeData)nodeType;
-
- if (!Constants.NT_NODETYPE.equals(nodeTypeRoot.getPrimaryTypeName()))
- throw new RepositoryException("Unexpected node type of NodeData found "
- + nodeTypeRoot.getPrimaryTypeName().getAsString() + ". Should be " + Constants.NT_NODETYPE.getAsString());
-
- return definitionAccessProvider.read(nodeTypeRoot);
- }
-
- /**
- * @see org.exoplatform.services.jcr.impl.core.nodetype.registration.NodeTypeDataPersister#getNodeType(java.util.Set)
- */
- public List<NodeTypeData> getAllNodeTypes() throws RepositoryException
- {
- if (!validatate())
- {
- return new ArrayList<NodeTypeData>();
- }
-
- validatate();
- List<NodeData> nodeTypes = dataManager.getChildNodesData(nodeTypeStorageRoot);
- List<NodeTypeData> result = new ArrayList<NodeTypeData>();
- for (NodeData nodeData : nodeTypes)
- {
- if (Constants.NT_NODETYPE.equals(nodeData.getPrimaryTypeName()))
- result.add(definitionAccessProvider.read(nodeData));
- }
- return result;
- }
-
- /**
- * {@inheritDoc}
- */
- public void update(List<NodeTypeData> nodeTypes, UpdateNodeTypeObserver observer) throws RepositoryException
- {
-
- PlainChangesLog changesLog = new PlainChangesLogImpl();
-
- for (NodeTypeData nodeTypeData : nodeTypes)
- {
-
- if (observer != null)
- {
- if (observer.shouldSkip(nodeTypeData, changesLog))
- continue;
- observer.beforeUpdate(nodeTypeData, changesLog);
-
- }
- if (!validatate())
- {
- continue;
- }
- // remove first
- NodeData removeNodeTypeData =
- (NodeData)dataManager.getItemData(nodeTypeStorageRoot, new QPathEntry(nodeTypeData.getName(), 1));
- if (removeNodeTypeData != null)
- {
- ItemDataRemoveVisitor removeVisitor =
- new ItemDataRemoveVisitor(dataManager, nodeTypeStorageRoot.getQPath());
- removeNodeTypeData.accept(removeVisitor);
-
- changesLog.addAll(removeVisitor.getRemovedStates());
- }
- // add
- definitionAccessProvider.write(changesLog, nodeTypeStorageRoot, nodeTypeData);
- if (observer != null)
- observer.afterUpdate(nodeTypeData, changesLog);
- }
-
- dataManager.save(new TransactionChangesLog(changesLog));
-
- }
-
- private boolean validatate()
- {
- if (this.nodeTypeStorageRoot == null)
- {
- if (log.isDebugEnabled())
- log.debug(" Storage not initialized");
- return false;
- }
- return true;
- }
-}
Modified: jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/nodetype/registration/NodeTypeDataBuilder.java
===================================================================
--- jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/nodetype/registration/NodeTypeDataBuilder.java 2010-01-13 15:57:16 UTC (rev 1377)
+++ jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/nodetype/registration/NodeTypeDataBuilder.java 2010-01-13 16:24:32 UTC (rev 1378)
@@ -25,7 +25,6 @@
import org.exoplatform.services.jcr.datamodel.InternalQName;
import org.exoplatform.services.jcr.impl.Constants;
-
import java.util.LinkedList;
import java.util.List;
Modified: jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/nodetype/registration/NodeTypeReadException.java
===================================================================
--- jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/nodetype/registration/NodeTypeReadException.java 2010-01-13 15:57:16 UTC (rev 1377)
+++ jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/nodetype/registration/NodeTypeReadException.java 2010-01-13 16:24:32 UTC (rev 1378)
@@ -39,7 +39,6 @@
public NodeTypeReadException()
{
super();
- // TODO Auto-generated constructor stub
}
/**
@@ -49,7 +48,6 @@
public NodeTypeReadException(String message, Throwable rootCause)
{
super(message, rootCause);
- // TODO Auto-generated constructor stub
}
/**
@@ -58,7 +56,6 @@
public NodeTypeReadException(String message)
{
super(message);
- // TODO Auto-generated constructor stub
}
/**
@@ -67,7 +64,6 @@
public NodeTypeReadException(Throwable rootCause)
{
super(rootCause);
- // TODO Auto-generated constructor stub
}
}
Modified: jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/value/ValueConstraintsMatcher.java
===================================================================
--- jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/value/ValueConstraintsMatcher.java 2010-01-13 15:57:16 UTC (rev 1377)
+++ jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/value/ValueConstraintsMatcher.java 2010-01-13 16:24:32 UTC (rev 1378)
@@ -27,7 +27,6 @@
import org.exoplatform.services.jcr.impl.core.JCRPath;
import org.exoplatform.services.jcr.impl.core.JCRPathMatcher;
import org.exoplatform.services.jcr.impl.core.LocationFactory;
-import org.exoplatform.services.jcr.impl.dataflow.TransientValueData;
import org.exoplatform.services.jcr.impl.util.JCRDateFormat;
import org.exoplatform.services.log.ExoLogger;
import org.exoplatform.services.log.Log;
Modified: jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/version/FrozenNodeInitializer.java
===================================================================
--- jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/version/FrozenNodeInitializer.java 2010-01-13 15:57:16 UTC (rev 1377)
+++ jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/version/FrozenNodeInitializer.java 2010-01-13 16:24:32 UTC (rev 1378)
@@ -21,7 +21,6 @@
import org.exoplatform.services.jcr.core.nodetype.NodeDefinitionData;
import org.exoplatform.services.jcr.core.nodetype.NodeTypeDataManager;
import org.exoplatform.services.jcr.core.nodetype.PropertyDefinitionData;
-import org.exoplatform.services.jcr.dataflow.ItemDataTraversingVisitor;
import org.exoplatform.services.jcr.dataflow.ItemState;
import org.exoplatform.services.jcr.dataflow.PlainChangesLog;
import org.exoplatform.services.jcr.datamodel.InternalQName;
@@ -41,7 +40,6 @@
import org.exoplatform.services.log.ExoLogger;
import org.exoplatform.services.log.Log;
-import java.util.ArrayList;
import java.util.List;
import java.util.Stack;
Modified: jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/AbstractItemDataCopyVisitor.java
===================================================================
--- jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/AbstractItemDataCopyVisitor.java 2010-01-13 15:57:16 UTC (rev 1377)
+++ jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/AbstractItemDataCopyVisitor.java 2010-01-13 16:24:32 UTC (rev 1378)
@@ -63,7 +63,6 @@
{
for (ValueData vd : src)
{
- // TODO fix according OPT branch code
if (vd.isByteArray())
{
copy.add(new TransientValueData(vd.getOrderNumber(), vd.getAsByteArray()));
Modified: jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/DefaultItemDataCopyVisitor.java
===================================================================
--- jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/DefaultItemDataCopyVisitor.java 2010-01-13 15:57:16 UTC (rev 1377)
+++ jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/DefaultItemDataCopyVisitor.java 2010-01-13 16:24:32 UTC (rev 1378)
@@ -27,12 +27,8 @@
import org.exoplatform.services.jcr.datamodel.ValueData;
import org.exoplatform.services.jcr.impl.Constants;
import org.exoplatform.services.jcr.impl.core.SessionDataManager;
-import org.exoplatform.services.jcr.impl.util.io.FileCleaner;
import org.exoplatform.services.jcr.util.IdGenerator;
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
import java.util.Stack;
Modified: jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/TransientNodeData.java
===================================================================
--- jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/TransientNodeData.java 2010-01-13 15:57:16 UTC (rev 1377)
+++ jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/TransientNodeData.java 2010-01-13 16:24:32 UTC (rev 1378)
@@ -42,7 +42,6 @@
import java.io.ObjectInput;
import java.io.ObjectOutput;
-import javax.jcr.PathNotFoundException;
import javax.jcr.RepositoryException;
public class TransientNodeData extends TransientItemData implements Comparable, NodeData, ItemData, Externalizable
Modified: jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/TransientValueData.java
===================================================================
--- jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/TransientValueData.java 2010-01-13 15:57:16 UTC (rev 1377)
+++ jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/TransientValueData.java 2010-01-13 16:24:32 UTC (rev 1378)
@@ -185,9 +185,6 @@
{
if (isByteArrayAfterSpool())
{
- // TODO JCR-992 don't copy bytes
- // byte[] bytes = new byte[data.length];
- // System.arraycopy(data, 0, bytes, 0, data.length);
return data;
}
else
@@ -1105,7 +1102,7 @@
* int
*/
// TODO make it protected
- public TransientValueData()
+ TransientValueData()
{
}
Modified: jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/ACLInheritanceSupportedWorkspaceDataManager.java
===================================================================
--- jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/ACLInheritanceSupportedWorkspaceDataManager.java 2010-01-13 15:57:16 UTC (rev 1377)
+++ jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/ACLInheritanceSupportedWorkspaceDataManager.java 2010-01-13 16:24:32 UTC (rev 1378)
@@ -18,12 +18,6 @@
*/
package org.exoplatform.services.jcr.impl.dataflow.persistent;
-import java.util.Calendar;
-import java.util.List;
-
-import javax.jcr.InvalidItemStateException;
-import javax.jcr.RepositoryException;
-
import org.exoplatform.services.jcr.access.AccessControlList;
import org.exoplatform.services.jcr.dataflow.ItemStateChangesLog;
import org.exoplatform.services.jcr.dataflow.SharedDataManager;
@@ -35,6 +29,12 @@
import org.exoplatform.services.log.ExoLogger;
import org.exoplatform.services.log.Log;
+import java.util.Calendar;
+import java.util.List;
+
+import javax.jcr.InvalidItemStateException;
+import javax.jcr.RepositoryException;
+
/**
* Created by The eXo Platform SAS. Data Manager supported ACL Inheritance
*
Modified: jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/CacheableWorkspaceDataManager.java
===================================================================
--- jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/CacheableWorkspaceDataManager.java 2010-01-13 15:57:16 UTC (rev 1377)
+++ jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/CacheableWorkspaceDataManager.java 2010-01-13 16:24:32 UTC (rev 1378)
@@ -290,8 +290,6 @@
this.requestCache = new HashMap<Integer, DataRequest>();
addItemPersistenceListener(cache);
- //TODO transactionManager = null;
-
if (cache instanceof JBossCacheWorkspaceStorageCache)
{
transactionManager = ((JBossCacheWorkspaceStorageCache)cache).getTransactionManager();
Modified: jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/CleanableFilePersistedValueData.java
===================================================================
--- jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/CleanableFilePersistedValueData.java 2010-01-13 15:57:16 UTC (rev 1377)
+++ jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/CleanableFilePersistedValueData.java 2010-01-13 16:24:32 UTC (rev 1378)
@@ -25,7 +25,6 @@
import org.exoplatform.services.log.Log;
import java.io.FileNotFoundException;
-import java.io.IOException;
import javax.jcr.RepositoryException;
Modified: jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/VersionableWorkspaceDataManager.java
===================================================================
--- jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/VersionableWorkspaceDataManager.java 2010-01-13 15:57:16 UTC (rev 1377)
+++ jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/VersionableWorkspaceDataManager.java 2010-01-13 16:24:32 UTC (rev 1378)
@@ -18,12 +18,6 @@
*/
package org.exoplatform.services.jcr.impl.dataflow.persistent;
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.jcr.InvalidItemStateException;
-import javax.jcr.RepositoryException;
-
import org.exoplatform.services.jcr.dataflow.ChangesLogIterator;
import org.exoplatform.services.jcr.dataflow.CompositeChangesLog;
import org.exoplatform.services.jcr.dataflow.DataManager;
@@ -42,6 +36,12 @@
import org.exoplatform.services.log.ExoLogger;
import org.exoplatform.services.log.Log;
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.jcr.InvalidItemStateException;
+import javax.jcr.RepositoryException;
+
/**
* Created by The eXo Platform SAS. Responsible for: *redirecting repository operations if item is
* descendant of /jcr:system/jcr:versionStorage *adding version history for newly added/assigned
Modified: jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/jbosscache/JBossCacheWorkspaceStorageCache.java
===================================================================
--- jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/jbosscache/JBossCacheWorkspaceStorageCache.java 2010-01-13 15:57:16 UTC (rev 1377)
+++ jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/jbosscache/JBossCacheWorkspaceStorageCache.java 2010-01-13 16:24:32 UTC (rev 1378)
@@ -689,40 +689,6 @@
return Fqn.fromRelativeElements(root, parentId);
}
- // /**
- // * Internal put Item.
- // *
- // * @param item ItemData, new data to put in the cache
- // * @return ItemData, previous data or null
- // */
- // protected ItemData cacheItem(ItemData item)
- // {
- // if (item.isNode())
- // {
- // if (item.getParentIdentifier() != null)
- // {
- // // if not a root node - add in CHILD_NODES
- // cache.put(makeChildFqn(childNodes, item.getParentIdentifier(), item.getQPath().getEntries()[item.getQPath()
- // .getEntries().length - 1]), ITEM_ID, item.getIdentifier());
- // }
- // }
- // else
- // {
- // // add in CHILD_PROPS
- // cache.put(makeChildFqn(childProps, item.getParentIdentifier(), item.getQPath().getEntries()[item.getQPath()
- // .getEntries().length - 1]), ITEM_ID, item.getIdentifier());
- //
- // // TODO REFERENCEs hadnling
- // //if (prop.getType() == PropertyType.REFERENCE)
- // //{
- // // addReferences(data);
- // //}
- // }
- //
- // // add in ITEMS
- // return (ItemData)cache.put(makeItemFqn(item.getIdentifier()), ITEM_DATA, item);
- // }
-
/**
* Internal put Item.
*
Modified: jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/serialization/PersistedValueDataWriter.java
===================================================================
--- jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/serialization/PersistedValueDataWriter.java 2010-01-13 15:57:16 UTC (rev 1377)
+++ jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/serialization/PersistedValueDataWriter.java 2010-01-13 16:24:32 UTC (rev 1378)
@@ -21,7 +21,6 @@
import org.exoplatform.services.jcr.dataflow.serialization.ObjectWriter;
import org.exoplatform.services.jcr.dataflow.serialization.SerializationConstants;
import org.exoplatform.services.jcr.impl.dataflow.AbstractPersistedValueData;
-import org.exoplatform.services.jcr.impl.dataflow.TransientValueData;
import org.exoplatform.services.jcr.impl.dataflow.persistent.FilePersistedValueData;
import org.exoplatform.services.jcr.util.IdGenerator;
Modified: jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/session/SessionChangesLog.java
===================================================================
--- jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/session/SessionChangesLog.java 2010-01-13 15:57:16 UTC (rev 1377)
+++ jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/session/SessionChangesLog.java 2010-01-13 16:24:32 UTC (rev 1378)
@@ -27,7 +27,6 @@
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.dataflow.TransientItemData;
import java.util.ArrayList;
import java.util.Collection;
Modified: jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/StandaloneStoragePluginProvider.java
===================================================================
--- jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/StandaloneStoragePluginProvider.java 2010-01-13 15:57:16 UTC (rev 1377)
+++ jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/StandaloneStoragePluginProvider.java 2010-01-13 16:24:32 UTC (rev 1378)
@@ -125,10 +125,7 @@
}
/**
- * @param property
- * @return ValueIOChannel appropriate for this property (by path, id etc) or null if no such
- * channel found
- * @throws IOException
+ * {@inheritDoc}
*/
public ValueIOChannel getApplicableChannel(PropertyData property, int valueOrderNumer) throws IOException
{
@@ -146,6 +143,9 @@
return null;
}
+ /**
+ * {@inheritDoc}
+ */
public void checkConsistency(WorkspaceStorageConnection dataConnection)
{
Iterator<ValueStoragePlugin> plugins = iterator();
@@ -156,6 +156,9 @@
}
}
+ /**
+ * {@inheritDoc}
+ */
public ValueIOChannel getChannel(String storageId) throws IOException, ValueStorageNotFoundException
{
Iterator<ValueStoragePlugin> plugins = iterator();
Deleted: jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/NodeIteratorOnDemand.java
===================================================================
--- jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/NodeIteratorOnDemand.java 2010-01-13 15:57:16 UTC (rev 1377)
+++ jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/NodeIteratorOnDemand.java 2010-01-13 16:24:32 UTC (rev 1378)
@@ -1,173 +0,0 @@
-/*
- * Copyright (C) 2003-2009 eXo Platform SAS.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License
- * as published by the Free Software Foundation; either version 3
- * of the License, or (at your option) any later version.
- *
- * This program 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 General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, see<http://www.gnu.org/licenses/>.
- */
-package org.exoplatform.services.jcr.impl.util;
-
-import org.exoplatform.services.jcr.datamodel.NodeData;
-import org.exoplatform.services.jcr.impl.core.NodeImpl;
-import org.exoplatform.services.jcr.impl.core.SessionDataManager;
-import org.exoplatform.services.log.ExoLogger;
-import org.exoplatform.services.log.Log;
-
-import java.util.Iterator;
-import java.util.List;
-
-import javax.jcr.Node;
-import javax.jcr.RepositoryException;
-
-/**
- * Created by The eXo Platform SAS.
- *
- * <br/>
- * Date: 2009
- *
- * @author <a href="mailto:anatoliy.bazko at exoplatform.com.ua">Anatoliy Bazko</a>
- * @version $Id$
- */
- at Deprecated
-public class NodeIteratorOnDemand extends EntityCollection
-{
- protected static Log log = ExoLogger.getLogger("jcr.NodeIteratorOnDemand");
-
- private final Iterator<Object> iter;
-
- private final List<Object> list;
-
- private final SessionDataManager dataManager;
-
- private final NodeData parent;
-
- private NodeImpl next;
-
- private int pos;
-
- /**
- * NodeIteratorOnDemand constructor. Gets list of NodeData and returns NodeImpl object on demand.
- * NodeImpl objects will be created on next() or nextNode() methods when will be called.
- *
- * @param list
- * NodeData list
- * @param parentPrimaryTypeName
- * parent primary type name
- * @param parentMixinTypeNames
- * parent mixin type names
- * @param dataManager
- * session data manager
- */
- @Deprecated
- public NodeIteratorOnDemand(List<Object> list, SessionDataManager dataManager, NodeData parent)
- {
- this.list = list;
-
- this.dataManager = dataManager;
- this.parent = parent;
-
- this.iter = list.iterator();
- this.pos = 0;
- }
-
- /**
- * {@inheritDoc}
- */
- public Node nextNode()
- {
- wrapNodeData();
-
- pos++;
- return (Node)iter.next();
- }
-
- /**
- * {@inheritDoc}
- */
- public void skip(long skipNum)
- {
- pos += skipNum;
- while (skipNum-- > 0)
- {
- iter.next();
- }
- }
-
- /**
- * {@inheritDoc}
- */
- public long getSize()
- {
- return list.size();
- }
-
- /**
- * {@inheritDoc}
- */
- public long getPosition()
- {
- return pos;
- }
-
- /**
- * {@inheritDoc}
- */
- public boolean hasNext()
- {
- return iter.hasNext();
- }
-
- /**
- * {@inheritDoc}
- */
- public Object next()
- {
- wrapNodeData();
-
- pos++;
- return iter.next();
- }
-
- /**
- * {@inheritDoc}
- */
- public void remove()
- {
- iter.remove();
- }
-
- /**
- * Wraps NodeData into NodeImpl.
- */
- private void wrapNodeData()
- {
- if (pos >= list.size())
- {
- return;
- }
-
- Object item = list.get(pos);
- if (!(item instanceof NodeImpl))
- {
- try
- {
- list.set(pos, dataManager.wrapNodeData((NodeData)item, parent));
- }
- catch (RepositoryException e)
- {
- log.error(e);
- }
- }
- }
-
-
-}
Modified: jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/xml/importing/BaseXmlImporter.java
===================================================================
--- jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/xml/importing/BaseXmlImporter.java 2010-01-13 15:57:16 UTC (rev 1377)
+++ jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/xml/importing/BaseXmlImporter.java 2010-01-13 16:24:32 UTC (rev 1378)
@@ -40,7 +40,6 @@
import org.exoplatform.services.jcr.impl.core.RepositoryImpl;
import org.exoplatform.services.jcr.impl.core.value.ValueFactoryImpl;
import org.exoplatform.services.jcr.impl.dataflow.ItemDataRemoveVisitor;
-import org.exoplatform.services.jcr.impl.dataflow.TransientNodeData;
import org.exoplatform.services.jcr.impl.dataflow.version.VersionHistoryDataHelper;
import org.exoplatform.services.jcr.impl.xml.VersionHistoryRemover;
import org.exoplatform.services.jcr.impl.xml.importing.dataflow.ImportItemData;
Modified: jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/core/TestSessionDataManager.java
===================================================================
--- jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/core/TestSessionDataManager.java 2010-01-13 15:57:16 UTC (rev 1377)
+++ jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/core/TestSessionDataManager.java 2010-01-13 16:24:32 UTC (rev 1378)
@@ -124,7 +124,7 @@
System.out.println("item >" + node1.getPath());
assertTrue(pool.contains(uuid));
// return the same value
- assertEquals(node1, pool.get(node1));
+ assertEquals(node1, pool.get(node1.getData()));
// add one more node
data =
More information about the exo-jcr-commits
mailing list