org.alfresco.repo.admin.patch.impl
Class FixNameCrcValuesPatch

java.lang.Object
  extended by org.alfresco.repo.admin.patch.AbstractPatch
      extended by org.alfresco.repo.admin.patch.impl.FixNameCrcValuesPatch
All Implemented Interfaces:
Patch, org.springframework.context.ApplicationEventPublisherAware

public class FixNameCrcValuesPatch
extends AbstractPatch

Fixes ETWOTWO-1133. Checks all CRC values for alf_child_assoc.child_node_name_crc and alf_child_assoc.qname_crc.

Since:
V2.2SP4

Field Summary
 
Fields inherited from class org.alfresco.repo.admin.patch.AbstractPatch
applicationEventPublisher, authenticationContext, ERR_PROPERTY_NOT_SET, namespaceService, nodeService, searchService, tenantAdminService, transactionHelper, transactionService
 
Constructor Summary
FixNameCrcValuesPatch()
           
 
Method Summary
protected  java.lang.String applyInternal()
          This method does the work.
protected  void checkProperties()
          Check that the schema version properties have been set appropriately.
 void setBatchMaxQueryRange(long batchMaxQueryRange)
           
 void setBatchQuerySize(int batchQuerySize)
           
 void setBatchSize(int batchSize)
           
 void setBatchThreads(int batchThreads)
           
 void setControlDAO(ControlDAO controlDAO)
           
 void setDictionaryService(org.alfresco.service.cmr.dictionary.DictionaryService dictionaryService)
           
 void setPatchDAO(PatchDAO patchDAO)
           
 void setQnameDAO(QNameDAO qnameDAO)
           
 
Methods inherited from class org.alfresco.repo.admin.patch.AbstractPatch
applies, apply, checkPropertyNotNull, getAlternatives, getDependsOn, getDescription, getFixesFromSchema, getFixesToSchema, getId, getTargetSchema, init, isForce, reportProgress, requiresTransaction, setAlternatives, setApplicationEventPublisher, setApplyToTenants, setAuthenticationContext, setDependsOn, setDescription, setFixesFromSchema, setFixesToSchema, setForce, setId, setNamespaceService, setNodeService, setPatchService, setRequiresTransaction, setSearchService, setTargetSchema, setTenantAdminService, setTransactionService, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

FixNameCrcValuesPatch

public FixNameCrcValuesPatch()
Method Detail

setPatchDAO

public void setPatchDAO(PatchDAO patchDAO)

setQnameDAO

public void setQnameDAO(QNameDAO qnameDAO)
Parameters:
qnameDAO - resolved QNames

setControlDAO

public void setControlDAO(ControlDAO controlDAO)
Parameters:
controlDAO - used to create Savepoints

setDictionaryService

public void setDictionaryService(org.alfresco.service.cmr.dictionary.DictionaryService dictionaryService)
Parameters:
dictionaryService - used to check the child associations for unique checking

setBatchThreads

public void setBatchThreads(int batchThreads)
Parameters:
batchThreads - the number of threads that will write child association changes

setBatchSize

public void setBatchSize(int batchSize)
Parameters:
batchSize - the number of child associations that will be modified per transaction

setBatchMaxQueryRange

public void setBatchMaxQueryRange(long batchMaxQueryRange)
Parameters:
batchMaxQueryRange - the largest ID range that the work provider can query for. Lower this if the distribution of ID in alf_child_assoc is not uniform and memory problems are encountered.

setBatchQuerySize

public void setBatchQuerySize(int batchQuerySize)
Parameters:
batchQuerySize - the maximum number of results to pull back before handing off to the threads (usually threads * batch size)

checkProperties

protected void checkProperties()
Description copied from class: AbstractPatch
Check that the schema version properties have been set appropriately. Derived classes can override this method to perform their own validation provided that this method is called by the derived class.

Overrides:
checkProperties in class AbstractPatch

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.