org.alfresco.repo.admin.patch.impl
Class NodePropertySerializablePatch
java.lang.Object
org.alfresco.repo.admin.patch.AbstractPatch
org.alfresco.repo.admin.patch.impl.NodePropertySerializablePatch
- All Implemented Interfaces:
- Patch, org.springframework.context.ApplicationEventPublisherAware
public class NodePropertySerializablePatch
- extends AbstractPatch
Certain content models make extensive use of the d:any datatype, which has led
to storage of simple types as serialized instances.
This patch ensures that all previously serializable values are stored in their
more native form in the database.
e.g. If a property was d:any and a string was written ("ABC"),
then the value was stored in serializable_value. Instead, the newer code stores
the value in string_value. None of the retrieval code is affected, but the values
are made visible to queries, in addition to reducing the size of the node_properties
table. This patch ensures that previously-stored values are changed to conform
to the new storage mechanism.
JIRA: AR-359
- See Also:
PropertyValue
Method Summary |
protected java.lang.String |
applyInternal()
This method does the work. |
void |
setSessionFactory(org.hibernate.SessionFactory sessionFactory)
|
Methods inherited from class org.alfresco.repo.admin.patch.AbstractPatch |
applies, apply, checkProperties, checkPropertyNotNull, getAlternatives, getDependsOn, getDescription, getFixesFromSchema, getFixesToSchema, getId, getTargetSchema, init, isForce, reportProgress, setAlternatives, setApplicationEventPublisher, setApplyToTenants, setAuthenticationContext, setDependsOn, setDescription, setFixesFromSchema, setFixesToSchema, setForce, setId, setNamespaceService, setNodeService, setPatchService, setSearchService, setTargetSchema, setTenantAdminService, setTransactionService, toString |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
NodePropertySerializablePatch
public NodePropertySerializablePatch()
setSessionFactory
public void setSessionFactory(org.hibernate.SessionFactory sessionFactory)
applyInternal
protected java.lang.String applyInternal()
throws java.lang.Exception
- Description copied from class:
AbstractPatch
- This method does the work. All transactions and thread-safety will be taken care of by this class. Any exception
will result in the transaction being rolled back. Integrity checks are downgraded for the duration of the
transaction.
- Specified by:
applyInternal
in class AbstractPatch
- Returns:
- Returns the report (only success messages).
- Throws:
java.lang.Exception
- anything can be thrown. This must be used for all failures.- See Also:
AbstractPatch.apply()
Copyright © 2005 - 2010 Alfresco Software, Inc. All Rights Reserved.