|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectinfo.magnolia.module.delta.AbstractTask
info.magnolia.module.delta.AbstractRepositoryTask
info.magnolia.setup.for5_0.AbstractNodeTypeRegistrationTask
public abstract class AbstractNodeTypeRegistrationTask
Task allowing to register or unregister nodeTypes.
For registration, override getNodeTypesToRegister(NodeTypeManager)
.
- For every NodeTypeDefinition
, create them if not present or update the existing one's.
Warning: Be careful of the List order of NodeTypeDefinition
- Always put the parent NodeType first, or newly reference NodeType.
-- For example, you may want to create a new NodeType A that is referenced as Super by an Updated NodeType B, the list
-- should be [A,B] so A is created before B. Otherwise, A will not be updated.
In this case, the NodeType A will not be registered and a warn log is displayed.
For unregister, override getNodeTypesToUnregister(NodeTypeManager)
.
- For every NodeType defined by their name, unregister them.
Warning: A NodeType will be unregister only if no dependency issue is found
Dependency issue:
- The NodeType is referenced as child node by one ore more other NodeType definition
- The NodeType is defined as super by one ore more other NodeType definition
In this case, the NodeType will not be unregistered and a warn log is displayed.
Constructor Summary | |
---|---|
AbstractNodeTypeRegistrationTask(String name,
String description,
String workspaceName)
|
Method Summary | |
---|---|
protected void |
doExecute(InstallContext installContext)
|
protected HashMap<String,javax.jcr.nodetype.NodeTypeDefinition> |
getDependentNodeTypes(javax.jcr.nodetype.NodeTypeDefinition nodeType,
org.apache.jackrabbit.core.nodetype.NodeTypeRegistry registry,
org.apache.jackrabbit.spi.commons.conversion.NamePathResolver namePathResolver,
javax.jcr.nodetype.NodeTypeManager nodeTypeManager)
Create a Map containing all child NodeType of. - key = NodeType name. - value = NodeTypeDefinition . |
abstract List<javax.jcr.nodetype.NodeTypeDefinition> |
getNodeTypesToRegister(javax.jcr.nodetype.NodeTypeManager nodeTypeManager)
Create a List of NodeTypeDefinition to register or update (in case they are already created). |
abstract List<String> |
getNodeTypesToUnregister(javax.jcr.nodetype.NodeTypeManager nodeTypeManager)
Create a List of NodeTypeDefinition.getName() to unregister. |
Methods inherited from class info.magnolia.module.delta.AbstractRepositoryTask |
---|
execute |
Methods inherited from class info.magnolia.module.delta.AbstractTask |
---|
getDescription, getName, toString |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public AbstractNodeTypeRegistrationTask(String name, String description, String workspaceName)
Method Detail |
---|
protected void doExecute(InstallContext installContext) throws javax.jcr.RepositoryException, TaskExecutionException
doExecute
in class AbstractRepositoryTask
javax.jcr.RepositoryException
TaskExecutionException
public abstract List<javax.jcr.nodetype.NodeTypeDefinition> getNodeTypesToRegister(javax.jcr.nodetype.NodeTypeManager nodeTypeManager) throws javax.jcr.RepositoryException
NodeTypeDefinition
to register or update (in case they are already created).
javax.jcr.RepositoryException
public abstract List<String> getNodeTypesToUnregister(javax.jcr.nodetype.NodeTypeManager nodeTypeManager) throws javax.jcr.RepositoryException
NodeTypeDefinition.getName()
to unregister.
javax.jcr.RepositoryException
protected HashMap<String,javax.jcr.nodetype.NodeTypeDefinition> getDependentNodeTypes(javax.jcr.nodetype.NodeTypeDefinition nodeType, org.apache.jackrabbit.core.nodetype.NodeTypeRegistry registry, org.apache.jackrabbit.spi.commons.conversion.NamePathResolver namePathResolver, javax.jcr.nodetype.NodeTypeManager nodeTypeManager) throws javax.jcr.RepositoryException
NodeTypeDefinition
.
javax.jcr.RepositoryException
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |