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

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

public class GenericBootstrapPatch
extends AbstractPatch

Generic patch that uses existing importers to import snippets into the system. These snippets would otherwise have been bootstrapped by a clean install.

By providing this class with a bootstrap view and an importer, it can check whether the path exists and perform the import if it doesn't.


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
GenericBootstrapPatch()
           
 
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 setBootstrapView(java.util.Properties bootstrapView)
           
 void setCheckPath(java.lang.String checkPath)
          Set the XPath statement that must be executed to check whether the import data is already present or not.
 void setImporterBootstrap(ImporterBootstrap importerBootstrap)
           
 
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

GenericBootstrapPatch

public GenericBootstrapPatch()
Method Detail

setImporterBootstrap

public void setImporterBootstrap(ImporterBootstrap importerBootstrap)
Parameters:
importerBootstrap - the bootstrap bean that performs the user store bootstrap

setCheckPath

public void setCheckPath(java.lang.String checkPath)
Set the XPath statement that must be executed to check whether the import data is already present or not.

Parameters:
checkPath - an XPath statement

setBootstrapView

public void setBootstrapView(java.util.Properties bootstrapView)
Parameters:
bootstrapView - the bootstrap location
See Also:
ImporterBootstrap.setBootstrapViews(List)

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.