Author: pnedonosko
Date: 2009-12-14 12:14:40 -0500 (Mon, 14 Dec 2009)
New Revision: 1049
Added:
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/AbstractPersistedValueData.java
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/AbstractTransientValueData.java
Removed:
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/AbstractValueData.java
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/PersistedValueData.java
Modified:
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/core/value/ExtendedValue.java
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/dataflow/persistent/PersistedPropertyData.java
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/datamodel/ValueData.java
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/NamespaceDataPersister.java
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/lock/LockManagerImpl.java
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/nodetype/registration/PropertyDefinitionComparator.java
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/SearchManager.java
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/NodeIndexer.java
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/value/BaseValue.java
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/EditableValueData.java
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/TransientValueData.java
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/ByteArrayPersistedValueData.java
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/FileStreamPersistedValueData.java
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/FileStreamTransientValueData.java
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/WorkspacePersistentDataManager.java
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/serialization/PersistedPropertyDataWriter.java
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/serialization/PersistedValueDataReader.java
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/serialization/PersistedValueDataWriter.java
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/session/LocalWorkspaceStorageDataManagerProxy.java
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/JDBCStorageConnection.java
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/serialization/JCRSerializationVSJavaSerializationTestLoad.java
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/usecases/RemoveVDTest.java
Log:
EXOJCR-274 TransientValueData rework part2; cleanups
Modified:
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/core/value/ExtendedValue.java
===================================================================
---
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/core/value/ExtendedValue.java 2009-12-14
16:07:53 UTC (rev 1048)
+++
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/core/value/ExtendedValue.java 2009-12-14
17:14:40 UTC (rev 1049)
@@ -39,12 +39,13 @@
*/
public int getOrderNumber();
- /**
- * Set order value in the list
- *
- * @return order value in the list
- */
- public void setOrderNumber(int orderNumber);
+ // TODO cleanup
+// /**
+// * Set order value in the list
+// *
+// * @return order value in the list
+// */
+// public void setOrderNumber(int orderNumber);
/**
* Return length of the value .
Modified:
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/dataflow/persistent/PersistedPropertyData.java
===================================================================
---
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/dataflow/persistent/PersistedPropertyData.java 2009-12-14
16:07:53 UTC (rev 1048)
+++
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/dataflow/persistent/PersistedPropertyData.java 2009-12-14
17:14:40 UTC (rev 1049)
@@ -22,7 +22,7 @@
import org.exoplatform.services.jcr.datamodel.PropertyData;
import org.exoplatform.services.jcr.datamodel.QPath;
import org.exoplatform.services.jcr.datamodel.ValueData;
-import org.exoplatform.services.jcr.impl.dataflow.PersistedValueData;
+import org.exoplatform.services.jcr.impl.dataflow.AbstractPersistedValueData;
import org.exoplatform.services.jcr.impl.dataflow.TransientItemData;
import org.exoplatform.services.jcr.impl.dataflow.TransientPropertyData;
Modified:
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/datamodel/ValueData.java
===================================================================
---
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/datamodel/ValueData.java 2009-12-14
16:07:53 UTC (rev 1048)
+++
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/datamodel/ValueData.java 2009-12-14
17:14:40 UTC (rev 1049)
@@ -32,13 +32,13 @@
{
// TODO cleanup
-// /**
-// * Set Value order number.
-// *
-// * @param orderNum
-// * int, Value order number
-// */
-// void setOrderNumber(int orderNum);
+ // /**
+ // * Set Value order number.
+ // *
+ // * @param orderNum
+ // * int, Value order number
+ // */
+ // void setOrderNumber(int orderNum);
/**
* Return Value order number.
@@ -81,7 +81,7 @@
* @return long
*/
long getLength();
-
+
/**
* Read <code>length</code> bytes from the binary value at
<code>position</code> to the
* <code>stream</code>.
@@ -98,12 +98,16 @@
*/
long read(OutputStream stream, long length, long position) throws IOException;
- // TODO
-// /**
-// * Tell if this ValueData is transient (not saved).<br/>
-// * It means this ValueData instance of <code>TransientValueData<code/>.
-// *
-// * @return boolean, true if ValueData is transient, false - otherwise
-// */
-// boolean isTransient();
+ /**
+ * Indicates whether some other ValueData is "equals to" this ValueData.
Return "true" if <code>valueData</code>
+ * can be treated as equal to this ValueData. Otherwise "false"
returned.<p/>
+ *
+ * This method assumes that ValueData.equals(Object) implemented also and uses this
method to perform the check.
+ *
+ * @see java.lang.Object#equals(Object)
+ *
+ * @param valueData, another ValueData
+ * @return boolean, "true" if this ValueData equals to another ValueData
+ */
+ boolean equals(ValueData another);
}
Modified:
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/NamespaceDataPersister.java
===================================================================
---
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/NamespaceDataPersister.java 2009-12-14
16:07:53 UTC (rev 1048)
+++
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/NamespaceDataPersister.java 2009-12-14
17:14:40 UTC (rev 1049)
@@ -26,7 +26,6 @@
import org.exoplatform.services.jcr.core.ExtendedPropertyType;
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;
@@ -37,7 +36,6 @@
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.AbstractValueData;
import org.exoplatform.services.jcr.impl.dataflow.TransientItemData;
import org.exoplatform.services.jcr.impl.dataflow.TransientNodeData;
import org.exoplatform.services.jcr.impl.dataflow.TransientPropertyData;
Modified:
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/lock/LockManagerImpl.java
===================================================================
---
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/lock/LockManagerImpl.java 2009-12-14
16:07:53 UTC (rev 1048)
+++
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/lock/LockManagerImpl.java 2009-12-14
17:14:40 UTC (rev 1049)
@@ -40,11 +40,9 @@
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.datamodel.ValueData;
import org.exoplatform.services.jcr.impl.Constants;
import org.exoplatform.services.jcr.impl.core.NodeImpl;
import org.exoplatform.services.jcr.impl.core.SessionImpl;
-import org.exoplatform.services.jcr.impl.dataflow.AbstractValueData;
import org.exoplatform.services.jcr.impl.dataflow.TransientItemData;
import org.exoplatform.services.jcr.impl.dataflow.TransientPropertyData;
import
org.exoplatform.services.jcr.impl.dataflow.persistent.WorkspacePersistentDataManager;
Modified:
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/nodetype/registration/PropertyDefinitionComparator.java
===================================================================
---
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/nodetype/registration/PropertyDefinitionComparator.java 2009-12-14
16:07:53 UTC (rev 1048)
+++
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/nodetype/registration/PropertyDefinitionComparator.java 2009-12-14
17:14:40 UTC (rev 1049)
@@ -35,7 +35,6 @@
import org.exoplatform.services.jcr.impl.core.LocationFactory;
import org.exoplatform.services.jcr.impl.core.nodetype.ItemAutocreator;
import org.exoplatform.services.jcr.impl.core.value.ValueConstraintsMatcher;
-import org.exoplatform.services.jcr.impl.dataflow.AbstractValueData;
import org.exoplatform.services.log.ExoLogger;
import org.exoplatform.services.log.Log;
Modified:
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/SearchManager.java
===================================================================
---
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/SearchManager.java 2009-12-14
16:07:53 UTC (rev 1048)
+++
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/SearchManager.java 2009-12-14
17:14:40 UTC (rev 1049)
@@ -50,7 +50,6 @@
import org.exoplatform.services.jcr.impl.core.value.NameValue;
import org.exoplatform.services.jcr.impl.core.value.PathValue;
import org.exoplatform.services.jcr.impl.core.value.ValueFactoryImpl;
-import org.exoplatform.services.jcr.impl.dataflow.AbstractValueData;
import
org.exoplatform.services.jcr.impl.dataflow.persistent.WorkspacePersistentDataManager;
import org.exoplatform.services.log.ExoLogger;
import org.exoplatform.services.log.Log;
Modified:
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/NodeIndexer.java
===================================================================
---
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/NodeIndexer.java 2009-12-14
16:07:53 UTC (rev 1048)
+++
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/NodeIndexer.java 2009-12-14
17:14:40 UTC (rev 1049)
@@ -33,7 +33,6 @@
import org.exoplatform.services.jcr.impl.Constants;
import org.exoplatform.services.jcr.impl.core.LocationFactory;
import org.exoplatform.services.jcr.impl.core.value.ValueFactoryImpl;
-import org.exoplatform.services.jcr.impl.dataflow.AbstractValueData;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
Modified:
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/value/BaseValue.java
===================================================================
---
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/value/BaseValue.java 2009-12-14
16:07:53 UTC (rev 1048)
+++
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/value/BaseValue.java 2009-12-14
17:14:40 UTC (rev 1049)
@@ -22,7 +22,7 @@
import org.exoplatform.services.jcr.core.value.ReadableBinaryValue;
import org.exoplatform.services.jcr.datamodel.ValueData;
import org.exoplatform.services.jcr.impl.Constants;
-import org.exoplatform.services.jcr.impl.dataflow.AbstractValueData;
+import org.exoplatform.services.jcr.impl.dataflow.AbstractTransientValueData;
import org.exoplatform.services.jcr.impl.util.JCRDateFormat;
import org.exoplatform.services.log.ExoLogger;
import org.exoplatform.services.log.Log;
@@ -31,6 +31,7 @@
import java.io.InputStream;
import java.io.OutputStream;
import java.io.UnsupportedEncodingException;
+import java.util.Arrays;
import java.util.Calendar;
import javax.jcr.PropertyType;
@@ -43,7 +44,7 @@
*
* @author Gennady Azarenkov
*
- * @version $Id: BaseValue.java 34801 2009-07-31 15:44:50Z dkatayev $
+ * @version $Id$
*/
public abstract class BaseValue implements ExtendedValue, ReadableBinaryValue
{
@@ -295,20 +296,21 @@
}
}
- /**
- * {@inheritDoc}
- */
- public void setOrderNumber(int order)
- {
- try
- {
- getLocalData(type == PropertyType.BINARY).setOrderNumber(order);
- }
- catch (IOException e)
- {
- throw new RuntimeException(e);
- }
- }
+ // TODO cleanup
+// /**
+// * {@inheritDoc}
+// */
+// public void setOrderNumber(int order)
+// {
+// try
+// {
+// getLocalData(type == PropertyType.BINARY).setOrderNumber(order);
+// }
+// catch (IOException e)
+// {
+// throw new RuntimeException(e);
+// }
+// }
/**
* {@inheritDoc}
@@ -321,7 +323,7 @@
/**
* Session scope ValueData.
*/
- protected class LocalTransientValueData extends AbstractValueData
+ protected class LocalTransientValueData extends AbstractTransientValueData
{
protected InputStream stream;
@@ -355,6 +357,28 @@
length = idata.getLength();
}
+ public boolean equals(ValueData another)
+ {
+ if (bytes != null)
+ {
+ // by content
+ try
+ {
+ return Arrays.equals(getAsByteArray(), another.getAsByteArray());
+ }
+ catch (IOException e)
+ {
+ log.error("Read error", e);
+ return false;
+ }
+ }
+ else
+ {
+ // TODO by stream... not equals
+ return false;
+ }
+ }
+
/**
* {@inheritDoc}
*/
Property changes on:
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/value/BaseValue.java
___________________________________________________________________
Name: svn:keywords
+ Id
Copied:
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/AbstractPersistedValueData.java
(from rev 1048,
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/PersistedValueData.java)
===================================================================
---
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/AbstractPersistedValueData.java
(rev 0)
+++
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/AbstractPersistedValueData.java 2009-12-14
17:14:40 UTC (rev 1049)
@@ -0,0 +1,73 @@
+/*
+ * 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.impl.dataflow;
+
+import org.exoplatform.services.jcr.datamodel.ValueData;
+import org.exoplatform.services.log.ExoLogger;
+import org.exoplatform.services.log.Log;
+
+import javax.jcr.RepositoryException;
+
+/**
+ * @author <a href="mailto:peter.nedonosko@exoplatform.com">Peter
Nedonosko</a>
+ * @version $Id$
+ */
+public abstract class AbstractPersistedValueData implements ValueData
+{
+
+ protected final static Log LOG =
ExoLogger.getLogger("jcr.PersistedValueData");
+
+ protected int orderNumber;
+
+ protected AbstractPersistedValueData(int orderNumber)
+ {
+ this.orderNumber = orderNumber;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public final int getOrderNumber()
+ {
+ return orderNumber;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public boolean equals(Object obj)
+ {
+ if (obj instanceof ValueData)
+ {
+ return this.equals((ValueData)obj);
+ }
+
+ return false;
+ }
+
+ /**
+ * Create transient copy of persisted data.
+ *
+ * @return TransientValueData
+ * @throws RepositoryException if error ocurs
+ */
+ @Deprecated
+ public abstract TransientValueData createTransientCopy() throws RepositoryException;
+}
Property changes on:
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/AbstractPersistedValueData.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:keywords
+ Id
Copied:
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/AbstractTransientValueData.java
(from rev 1048,
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/AbstractValueData.java)
===================================================================
---
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/AbstractTransientValueData.java
(rev 0)
+++
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/AbstractTransientValueData.java 2009-12-14
17:14:40 UTC (rev 1049)
@@ -0,0 +1,62 @@
+/*
+ * 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.impl.dataflow;
+
+import org.exoplatform.services.jcr.datamodel.ValueData;
+
+/**
+ *
+ * Created by The eXo Platform SAS .
+ *
+ * @author Gennady Azarenkov
+ * @version $Id:AbstractValueData.java 12534 2007-02-02 15:30:52Z peterit $
+ */
+
+public abstract class AbstractTransientValueData implements ValueData
+{
+
+ protected int orderNumber;
+
+ protected AbstractTransientValueData(int orderNumber)
+ {
+ this.orderNumber = orderNumber;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public final int getOrderNumber()
+ {
+ return orderNumber;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public boolean equals(Object obj)
+ {
+ if (obj instanceof ValueData)
+ {
+ return this.equals((ValueData)obj);
+ }
+
+ return false;
+ }
+}
Property changes on:
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/AbstractTransientValueData.java
___________________________________________________________________
Name: svn:keywords
+ Id
Deleted:
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/AbstractValueData.java
===================================================================
---
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/AbstractValueData.java 2009-12-14
16:07:53 UTC (rev 1048)
+++
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/AbstractValueData.java 2009-12-14
17:14:40 UTC (rev 1049)
@@ -1,52 +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.
- */
-package org.exoplatform.services.jcr.impl.dataflow;
-
-import org.exoplatform.services.jcr.datamodel.ValueData;
-import org.exoplatform.services.log.ExoLogger;
-import org.exoplatform.services.log.Log;
-
-/**
- *
- * Created by The eXo Platform SAS .
- *
- * @author Gennady Azarenkov
- * @version $Id:AbstractValueData.java 12534 2007-02-02 15:30:52Z peterit $
- */
-
-public abstract class AbstractValueData implements ValueData
-{
-
- protected int orderNumber;
-
- protected AbstractValueData(int orderNumber)
- {
- this.orderNumber = orderNumber;
- }
-
- public final int getOrderNumber()
- {
- return orderNumber;
- }
-
- public final void setOrderNumber(int orderNumber)
- {
- this.orderNumber = orderNumber;
- }
-}
Property changes on:
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/EditableValueData.java
___________________________________________________________________
Name: svn:keywords
+ Id
Deleted:
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/PersistedValueData.java
===================================================================
---
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/PersistedValueData.java 2009-12-14
16:07:53 UTC (rev 1048)
+++
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/PersistedValueData.java 2009-12-14
17:14:40 UTC (rev 1049)
@@ -1,59 +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.
- */
-package org.exoplatform.services.jcr.impl.dataflow;
-
-import org.exoplatform.services.jcr.datamodel.ValueData;
-import org.exoplatform.services.log.ExoLogger;
-import org.exoplatform.services.log.Log;
-
-import javax.jcr.RepositoryException;
-
-/**
- * @author <a href="mailto:peter.nedonosko@exoplatform.com">Peter
Nedonosko</a>
- * @version $Id$
- */
-public abstract class PersistedValueData implements ValueData
-{
-
- protected final static Log LOG =
ExoLogger.getLogger("jcr.PersistedValueData");
-
- protected int orderNumber;
-
- protected PersistedValueData(int orderNumber)
- {
- this.orderNumber = orderNumber;
- }
-
- /**
- * {@inheritDoc}
- */
- public final int getOrderNumber()
- {
- return orderNumber;
- }
-
- /**
- * Create transient copy of persisted data.
- *
- * @return TransientValueData
- * @throws RepositoryException if error ocurs
- */
- @Deprecated
- public abstract TransientValueData createTransientCopy() throws RepositoryException;
-}
Modified:
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/TransientValueData.java
===================================================================
---
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/TransientValueData.java 2009-12-14
16:07:53 UTC (rev 1048)
+++
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/TransientValueData.java 2009-12-14
17:14:40 UTC (rev 1049)
@@ -25,7 +25,6 @@
import org.exoplatform.services.jcr.datamodel.ValueData;
import org.exoplatform.services.jcr.impl.Constants;
import
org.exoplatform.services.jcr.impl.dataflow.persistent.FileStreamPersistedValueData;
-import org.exoplatform.services.jcr.impl.dataflow.persistent.StreamPersistedValueData;
import org.exoplatform.services.jcr.impl.util.JCRDateFormat;
import org.exoplatform.services.jcr.impl.util.io.FileCleaner;
import org.exoplatform.services.jcr.impl.util.io.SpoolFile;
@@ -54,19 +53,17 @@
/**
* Created by The eXo Platform SAS.<br/>
*
- * @author Gennady Azarenkov
- * @version $Id: TransientValueData.java 35209 2009-08-07 15:32:27Z pnedonosko $
+ * @author <a href="mailto:peter.nedonosko@exoplatform.com">Peter
Nedonosko</a>
+ * @version $Id$
*/
-public class TransientValueData implements ValueData /*extends AbstractValueData*/
+public class TransientValueData implements ValueData
{
protected final static Log LOG =
ExoLogger.getLogger("jcr.TransientValueData");
- private static final long serialVersionUID = -5280857006905550884L;
-
protected ValueData delegate;
- protected class NewValueData extends AbstractValueData
+ protected class NewValueData extends AbstractTransientValueData
{
protected byte[] data;
@@ -484,8 +481,82 @@
deleteCurrentSpoolFile();
}
- // ///////////////////////////////////
+ /**
+ * {@inheritDoc}
+ */
+ public boolean equals(ValueData another)
+ {
+ if (this == another)
+ {
+ return true;
+ }
+ if (isByteArray() == another.isByteArray())
+ {
+ // by content
+ try
+ {
+ if (isByteArray())
+ {
+ // compare bytes
+ return Arrays.equals(getAsByteArray(), another.getAsByteArray());
+ }
+ else
+ {
+ // it's comparison of BLOB values
+ // they can be equal in theory, but we will not check BLOB files
content due to performance
+ // check only if it's not a same file or stream (not real) backed
both
+
+ File dataFile;
+ if (another instanceof TransientValueData)
+ {
+ // if both transient... or stream of file can be equal
+ TransientValueData transnt = (TransientValueData)another;
+
+ if (transnt.delegate instanceof NewValueData)
+ {
+ // if both are transient... check stream or file
+ NewValueData otherVd = (NewValueData)transnt.delegate;
+ if (this.tmpStream == otherVd.tmpStream)
+ {
+ return true;
+ }
+ dataFile = otherVd.spoolFile;
+ }
+ else if (transnt.delegate instanceof FileStreamPersistedValueData)
+ {
+ // if other persistent as delegated - check file
+ dataFile =
((FileStreamPersistedValueData)transnt.delegate).getFile();
+ }
+ else
+ {
+ return false;
+ }
+ }
+ else if (another instanceof FileStreamPersistedValueData)
+ {
+ FileStreamPersistedValueData persisted =
(FileStreamPersistedValueData)another;
+
+ // if other persistent - check file
+ dataFile = persisted.getFile();
+ }
+ else
+ {
+ return false;
+ }
+
+ return spoolFile != null ? spoolFile.equals(dataFile) : false;
+ }
+ }
+ catch (IOException e)
+ {
+ LOG.error("Read error", e);
+ return false;
+ }
+ }
+ return false;
+ }
+
/**
* Spool ValueData InputStream to a temp File.
*/
@@ -706,13 +777,17 @@
private void deleteCurrentSpoolFile() throws IOException
{
if (spoolChannel != null)
+ {
spoolChannel.close();
+ }
if (spoolFile != null)
{
if (spoolFile instanceof SpoolFile)
+ {
((SpoolFile)spoolFile).release(this);
+ }
if (deleteSpoolFile && spoolFile.exists())
{
@@ -1137,138 +1212,28 @@
/**
* {@inheritDoc}
*/
- public boolean equals(Object obj)
+ public boolean equals(ValueData another)
{
- if (this == obj || this.delegate == obj)
+ if (this == another)
{
return true;
}
+ return delegate.equals(another);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public boolean equals(Object obj)
+ {
if (obj instanceof ValueData)
{
-
- ValueData other = (ValueData)obj;
- if (isByteArray() == other.isByteArray())
- {
- // by content
- try
- {
- if (isByteArray())
- {
- // compare bytes
- return Arrays.equals(getAsByteArray(), other.getAsByteArray());
- }
- else
- {
- // compare files
- if (other instanceof TransientValueData)
- {
-
- // if both transient... or stream of file can be equal
- TransientValueData transnt = (TransientValueData)other;
-
- if (this.delegate == transnt.delegate)
- {
- return true;
- }
-
- if (this.delegate instanceof NewValueData)
- {
- if (transnt.delegate instanceof NewValueData)
- {
- // if both are transient
- NewValueData thisVd = (NewValueData)this.delegate;
- NewValueData otherVd = (NewValueData)transnt.delegate;
- if (thisVd.tmpStream == otherVd.tmpStream)
- {
- return true;
- }
- else if (thisVd.spoolFile != null)
- {
- return thisVd.spoolFile.equals(otherVd.spoolFile);
- }
- }
- else if (transnt.delegate instanceof
FileStreamPersistedValueData)
- {
- // TODO ?
-
- }
- }
- }
- // TODO cleanup
- // else if (other instanceof
StreamPersistedValueData)
- // {
- // // else - it's comparison of values from
transient and peristent layers
- // // they can be equal in theory, but we will not
check BLOB files content due to performance
- // // check only if it's not a same file or
stream (not real) backed both
- //
- // StreamPersistedValueData persisted =
(StreamPersistedValueData)other;
- //
- // if (this.delegate instanceof NewValueData)
- // {
- // // if this is newly created/updated
- // NewValueData thisVd =
(NewValueData)this.delegate;
- //
- // if (thisVd.tmpStream ==
persisted.getStream())
- // {
- // return true;
- // }
- // else if (thisVd.spoolFile != null)
- // {
- // return
thisVd.spoolFile.equals(persisted.getFile());
- // }
- // }
- // }
- else if (other instanceof FileStreamPersistedValueData)
- {
- // else - it's comparison of values from transient and peristent
layers
- // they can be equal in theory, but we will not check BLOB files
content due to performance
- // check only if it's not a same file or stream (not real)
backed both
-
- FileStreamPersistedValueData persisted =
(FileStreamPersistedValueData)other;
-
- if (this.delegate instanceof NewValueData)
- {
- // if this is newly created/updated and other is persistent
- NewValueData thisVd = (NewValueData)this.delegate;
-
- if (thisVd.spoolFile != null)
- {
- if (persisted.getFile() == thisVd.spoolFile)
- {
- return true;
- }
-
- return thisVd.spoolFile.equals(persisted.getFile());
- }
- }
- else if (this.delegate instanceof FileStreamPersistedValueData)
- {
- // if this is two persistent comparison
- FileStreamPersistedValueData thisVd =
(FileStreamPersistedValueData)this.delegate;
-
- if (persisted.getFile() == thisVd.getFile())
- {
- return true;
- }
-
- return thisVd.getFile().equals(persisted.getFile());
- }
- else
- {
- // TODO what we ca have here more?
- }
- }
- }
- }
- catch (IOException e)
- {
- LOG.error("Read error", e);
- return false;
- }
- }
+ return equals((ValueData)obj);
}
+
return false;
}
Property changes on:
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/TransientValueData.java
___________________________________________________________________
Name: svn:keywords
+ Id
Modified:
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/ByteArrayPersistedValueData.java
===================================================================
---
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/ByteArrayPersistedValueData.java 2009-12-14
16:07:53 UTC (rev 1048)
+++
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/ByteArrayPersistedValueData.java 2009-12-14
17:14:40 UTC (rev 1049)
@@ -20,7 +20,7 @@
import org.exoplatform.services.jcr.datamodel.ValueData;
import org.exoplatform.services.jcr.impl.dataflow.EditableValueData;
-import org.exoplatform.services.jcr.impl.dataflow.PersistedValueData;
+import org.exoplatform.services.jcr.impl.dataflow.AbstractPersistedValueData;
import org.exoplatform.services.jcr.impl.dataflow.TransientValueData;
import org.exoplatform.services.log.ExoLogger;
import org.exoplatform.services.log.Log;
@@ -42,9 +42,9 @@
* Created by The eXo Platform SAS.
*
* @author Gennady Azarenkov
- * @version $Id: ByteArrayPersistedValueData.java 11907 2008-03-13 15:36:21Z ksm $
+ * @version $Id$
*/
-public class ByteArrayPersistedValueData extends PersistedValueData
+public class ByteArrayPersistedValueData extends AbstractPersistedValueData
{
protected byte[] data;
@@ -118,31 +118,28 @@
return true;
}
- @Override
- public boolean equals(Object obj)
+ /**
+ * {@inheritDoc}
+ */
+ public boolean equals(ValueData another)
{
- if (this == obj)
+ if (this == another)
{
return true;
}
- if (obj instanceof ValueData)
+ if (isByteArray() && another.isByteArray())
{
-
- ValueData other = (ValueData)obj;
- if (isByteArray() && other.isByteArray())
+ // by content
+ try
{
- // by content
- try
- {
- return Arrays.equals(getAsByteArray(), other.getAsByteArray());
- }
- catch (IOException e)
- {
- LOG.error("Read error", e);
- return false;
- }
+ return Arrays.equals(getAsByteArray(), another.getAsByteArray());
}
+ catch (IOException e)
+ {
+ LOG.error("Read error", e);
+ return false;
+ }
}
return false;
Property changes on:
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/ByteArrayPersistedValueData.java
___________________________________________________________________
Name: svn:keywords
+ Id
Modified:
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/FileStreamPersistedValueData.java
===================================================================
---
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/FileStreamPersistedValueData.java 2009-12-14
16:07:53 UTC (rev 1048)
+++
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/FileStreamPersistedValueData.java 2009-12-14
17:14:40 UTC (rev 1049)
@@ -19,7 +19,7 @@
package org.exoplatform.services.jcr.impl.dataflow.persistent;
import org.exoplatform.services.jcr.datamodel.ValueData;
-import org.exoplatform.services.jcr.impl.dataflow.PersistedValueData;
+import org.exoplatform.services.jcr.impl.dataflow.AbstractPersistedValueData;
import org.exoplatform.services.jcr.impl.dataflow.TransientValueData;
import java.io.File;
@@ -40,10 +40,10 @@
* Created by The eXo Platform SAS.
*
* @author Gennady Azarenkov
- * @version $Id: FileStreamPersistedValueData.java 11907 2008-03-13 15:36:21Z ksm $
+ * @version $Id$
*/
-public class FileStreamPersistedValueData extends PersistedValueData
+public class FileStreamPersistedValueData extends AbstractPersistedValueData
{
protected File file;
@@ -138,42 +138,37 @@
return false;
}
- @Override
- public boolean equals(Object obj)
+ /**
+ * {@inheritDoc}
+ */
+ public boolean equals(ValueData another)
{
- if (this == obj)
+ if (this == another)
{
return true;
}
- if (obj instanceof ValueData)
+ if (!isByteArray() && !another.isByteArray())
{
- ValueData other = (ValueData)obj;
- if (!isByteArray() && !other.isByteArray())
+ // compare files
+ try
{
- // by content
- try
+ if (another instanceof TransientValueData)
{
- // compare files
- if (other instanceof TransientValueData)
- {
- // if other transient... files can be equal
- return file.equals(((TransientValueData)other).getSpoolFile());
- }
- else if (other instanceof FileStreamPersistedValueData)
- {
- // else - it's comparison of values from peristent layer
- // they can be equal by file backed them
-
- return file.equals(((FileStreamPersistedValueData)other).getFile());
- }
+ // if another transient
+ return file.equals(((TransientValueData)another).getSpoolFile());
}
- catch (IOException e)
+ else if (another instanceof FileStreamPersistedValueData)
{
- LOG.error("Read error", e);
- return false;
+ // both from peristent layer
+ return file.equals(((FileStreamPersistedValueData)another).getFile());
}
}
+ catch (IOException e)
+ {
+ LOG.error("Read error", e);
+ return false;
+ }
}
return false;
}
@@ -204,7 +199,7 @@
private byte[] fileToByteArray() throws IOException
{
// TODO do refactor of work with NIO
-
+
FileChannel fch = new FileInputStream(file).getChannel();
try
Property changes on:
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/FileStreamPersistedValueData.java
___________________________________________________________________
Name: svn:keywords
+ Id
Modified:
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/FileStreamTransientValueData.java
===================================================================
---
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/FileStreamTransientValueData.java 2009-12-14
16:07:53 UTC (rev 1048)
+++
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/FileStreamTransientValueData.java 2009-12-14
17:14:40 UTC (rev 1049)
@@ -60,7 +60,7 @@
* Date: 09.06.2009
*
* @author <a href="mailto:peter.nedonosko@exoplatform.com.ua">Peter
Nedonosko</a>
- * @version $Id: FileStreamTransientValueData.java 34801 2009-07-31 15:44:50Z dkatayev $
+ * @version $Id$
*/
@Deprecated
public class FileStreamTransientValueData extends TransientValueData
Property changes on:
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/FileStreamTransientValueData.java
___________________________________________________________________
Name: svn:keywords
+ Id
Modified:
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/WorkspacePersistentDataManager.java
===================================================================
---
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/WorkspacePersistentDataManager.java 2009-12-14
16:07:53 UTC (rev 1048)
+++
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/WorkspacePersistentDataManager.java 2009-12-14
17:14:40 UTC (rev 1049)
@@ -39,7 +39,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.dataflow.PersistedValueData;
+import org.exoplatform.services.jcr.impl.dataflow.AbstractPersistedValueData;
import org.exoplatform.services.jcr.impl.dataflow.TransientValueData;
import org.exoplatform.services.jcr.impl.storage.SystemDataContainerHolder;
import org.exoplatform.services.jcr.storage.WorkspaceDataContainer;
@@ -384,7 +384,7 @@
if (vd instanceof TransientValueData)
{
TransientValueData tvd = (TransientValueData)vd;
- PersistedValueData pvd;
+ AbstractPersistedValueData pvd;
if (vd.isByteArray())
{
Modified:
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/serialization/PersistedPropertyDataWriter.java
===================================================================
---
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/serialization/PersistedPropertyDataWriter.java 2009-12-14
16:07:53 UTC (rev 1048)
+++
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/serialization/PersistedPropertyDataWriter.java 2009-12-14
17:14:40 UTC (rev 1049)
@@ -22,7 +22,7 @@
import org.exoplatform.services.jcr.dataflow.serialization.ObjectWriter;
import org.exoplatform.services.jcr.dataflow.serialization.SerializationConstants;
import org.exoplatform.services.jcr.datamodel.ValueData;
-import org.exoplatform.services.jcr.impl.dataflow.PersistedValueData;
+import org.exoplatform.services.jcr.impl.dataflow.AbstractPersistedValueData;
import java.io.IOException;
import java.util.List;
@@ -73,7 +73,7 @@
PersistedValueDataWriter wr = new PersistedValueDataWriter();
for (int i = 0; i < listSize; i++)
{
- wr.write(out, (PersistedValueData)values.get(i));
+ wr.write(out, (AbstractPersistedValueData)values.get(i));
}
}
else
Modified:
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/serialization/PersistedValueDataReader.java
===================================================================
---
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/serialization/PersistedValueDataReader.java 2009-12-14
16:07:53 UTC (rev 1048)
+++
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/serialization/PersistedValueDataReader.java 2009-12-14
17:14:40 UTC (rev 1049)
@@ -21,7 +21,7 @@
import org.exoplatform.services.jcr.dataflow.serialization.ObjectReader;
import org.exoplatform.services.jcr.dataflow.serialization.SerializationConstants;
import org.exoplatform.services.jcr.dataflow.serialization.UnknownClassIdException;
-import org.exoplatform.services.jcr.impl.dataflow.PersistedValueData;
+import org.exoplatform.services.jcr.impl.dataflow.AbstractPersistedValueData;
import
org.exoplatform.services.jcr.impl.dataflow.persistent.ByteArrayPersistedValueData;
import
org.exoplatform.services.jcr.impl.dataflow.persistent.FileStreamPersistedValueData;
import org.exoplatform.services.jcr.impl.util.io.FileCleaner;
@@ -84,7 +84,7 @@
* @throws IOException
* If an I/O error has occurred.
*/
- public PersistedValueData read(ObjectReader in) throws UnknownClassIdException,
IOException
+ public AbstractPersistedValueData read(ObjectReader in) throws
UnknownClassIdException, IOException
{
File tempDirectory = new File(SerializationConstants.TEMP_DIR);
tempDirectory.mkdirs();
@@ -125,7 +125,7 @@
sf.acquire(this); // TODO workaround for AsyncReplication test
try
{
- PersistedValueData vd = new FileStreamPersistedValueData(sf,
orderNumber);
+ AbstractPersistedValueData vd = new FileStreamPersistedValueData(sf,
orderNumber);
// skip data in input stream
if (in.skip(length) != length)
Modified:
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/serialization/PersistedValueDataWriter.java
===================================================================
---
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/serialization/PersistedValueDataWriter.java 2009-12-14
16:07:53 UTC (rev 1048)
+++
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/serialization/PersistedValueDataWriter.java 2009-12-14
17:14:40 UTC (rev 1049)
@@ -20,7 +20,7 @@
import org.exoplatform.services.jcr.dataflow.serialization.ObjectWriter;
import org.exoplatform.services.jcr.dataflow.serialization.SerializationConstants;
-import org.exoplatform.services.jcr.impl.dataflow.PersistedValueData;
+import org.exoplatform.services.jcr.impl.dataflow.AbstractPersistedValueData;
import org.exoplatform.services.jcr.impl.dataflow.TransientValueData;
import
org.exoplatform.services.jcr.impl.dataflow.persistent.FileStreamPersistedValueData;
import org.exoplatform.services.jcr.util.IdGenerator;
@@ -46,7 +46,7 @@
* @throws IOException
* If an I/O error has occurred.
*/
- public void write(ObjectWriter out, PersistedValueData vd) throws IOException
+ public void write(ObjectWriter out, AbstractPersistedValueData vd) throws IOException
{
// write id
out.writeInt(SerializationConstants.PERSISTED_VALUE_DATA);
Modified:
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/session/LocalWorkspaceStorageDataManagerProxy.java
===================================================================
---
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/session/LocalWorkspaceStorageDataManagerProxy.java 2009-12-14
16:07:53 UTC (rev 1048)
+++
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/session/LocalWorkspaceStorageDataManagerProxy.java 2009-12-14
17:14:40 UTC (rev 1049)
@@ -32,7 +32,7 @@
import org.exoplatform.services.jcr.datamodel.QPathEntry;
import org.exoplatform.services.jcr.datamodel.ValueData;
import org.exoplatform.services.jcr.impl.core.value.ValueFactoryImpl;
-import org.exoplatform.services.jcr.impl.dataflow.PersistedValueData;
+import org.exoplatform.services.jcr.impl.dataflow.AbstractPersistedValueData;
import org.exoplatform.services.jcr.impl.dataflow.TransientItemData;
import org.exoplatform.services.jcr.impl.dataflow.TransientNodeData;
import org.exoplatform.services.jcr.impl.dataflow.TransientPropertyData;
@@ -195,7 +195,7 @@
values = new ArrayList<ValueData>();
for (ValueData val : prop.getValues())
{
- values.add(((PersistedValueData)val).createTransientCopy());
+ values.add(((AbstractPersistedValueData)val).createTransientCopy());
}
}
TransientPropertyData newData =
Modified:
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/JDBCStorageConnection.java
===================================================================
---
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/JDBCStorageConnection.java 2009-12-14
16:07:53 UTC (rev 1048)
+++
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/JDBCStorageConnection.java 2009-12-14
17:14:40 UTC (rev 1049)
@@ -1928,6 +1928,7 @@
long vlen = swapFile.length();
if (vlen < 0)
{
+ // TODO not actual with SwapFile, but if it will be reworked can be so
streamLength = stream.available();
LOG.warn("Cannot obtain exact Value data length, will use
available from the stream " + streamLength
+ ". Property " + data.getQPath().getAsString());
Modified:
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/serialization/JCRSerializationVSJavaSerializationTestLoad.java
===================================================================
---
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/serialization/JCRSerializationVSJavaSerializationTestLoad.java 2009-12-14
16:07:53 UTC (rev 1048)
+++
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/serialization/JCRSerializationVSJavaSerializationTestLoad.java 2009-12-14
17:14:40 UTC (rev 1049)
@@ -18,7 +18,7 @@
*/
package org.exoplatform.services.jcr.impl.dataflow.serialization;
-import org.exoplatform.services.jcr.impl.dataflow.PersistedValueData;
+import org.exoplatform.services.jcr.impl.dataflow.AbstractPersistedValueData;
import org.exoplatform.services.jcr.impl.dataflow.TransientValueData;
import
org.exoplatform.services.jcr.impl.dataflow.persistent.FileStreamPersistedValueData;
import org.exoplatform.services.jcr.impl.dataflow.persistent.StreamPersistedValueData;
@@ -52,7 +52,7 @@
public void testSerialization() throws Exception
{
- List<PersistedValueData> list = new ArrayList<PersistedValueData>();
+ List<AbstractPersistedValueData> list = new
ArrayList<AbstractPersistedValueData>();
// Random random = new Random();
ByteArrayInputStream bin;
@@ -63,7 +63,7 @@
list.add(new StreamPersistedValueData(null, null, bin, 0));
}
- Iterator<PersistedValueData> it;
+ Iterator<AbstractPersistedValueData> it;
// Serialize with JCR
long jcrwrite = 0;
@@ -96,7 +96,7 @@
PersistedValueDataReader rdr = new PersistedValueDataReader(fileCleaner,
maxBufferSize, holder);
for (int i = 0; i < nodes; i++)
{
- PersistedValueData obj = rdr.read(jcrin);
+ AbstractPersistedValueData obj = rdr.read(jcrin);
}
t3 = System.currentTimeMillis() - t3;
jcrread += t3;
Modified:
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/usecases/RemoveVDTest.java
===================================================================
---
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/usecases/RemoveVDTest.java 2009-12-14
16:07:53 UTC (rev 1048)
+++
jcr/branches/1.12.0-OPT/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/usecases/RemoveVDTest.java 2009-12-14
17:14:40 UTC (rev 1049)
@@ -21,7 +21,7 @@
import org.exoplatform.services.jcr.dataflow.serialization.ObjectReader;
import org.exoplatform.services.jcr.dataflow.serialization.ObjectWriter;
import org.exoplatform.services.jcr.dataflow.serialization.UnknownClassIdException;
-import org.exoplatform.services.jcr.impl.dataflow.PersistedValueData;
+import org.exoplatform.services.jcr.impl.dataflow.AbstractPersistedValueData;
import org.exoplatform.services.jcr.impl.dataflow.TransientValueData;
import
org.exoplatform.services.jcr.impl.dataflow.persistent.FileStreamPersistedValueData;
import org.exoplatform.services.jcr.impl.dataflow.persistent.StreamPersistedValueData;