"alesj" wrote :
| More to follow ...
|
OK, I'm done with the change,
and I'm happy with how it's done. :-)
I added a simple StructureProcessor interface
| public interface StructureProcessor
| {
| /**
| * Prepare structure metadata.
| *
| * @param deployment the deployment
| * @param structureMetaData the structure metadata
| */
| void prepareStructureMetaData(Deployment deployment, StructureMetaData
structureMetaData);
|
| /**
| * Prepare context info.
| *
| * @param parentDeploymentContext the parent deployment context
| * @param contextInfo the context info
| */
| void prepareContextInfo(DeploymentContext parentDeploymentContext, ContextInfo
contextInfo);
|
| /**
| * Apply structure metadata.
| *
| * @param deploymentContext the deployment context
| * @param structureMetaData the structure metadata
| */
| void applyStructureMetaData(DeploymentContext deploymentContext, StructureMetaData
structureMetaData);
|
| /**
| * Apply context info.
| *
| * @param deploymentContext the deployment context
| * @param contextInfo the context info
| */
| void applyContextInfo(DeploymentContext deploymentContext, ContextInfo
contextInfo);
| }
|
which gets appropriately called in AbstractStructureBuilder.
Currently the only impl is ModificationTypeStructureProcessor.
This one hold a list of previously mentioned ModificationTypeMatchers.
ModificationTypeMatcher now looks like this:
| public interface ModificationTypeMatcher
| {
| /**
| * Should we modify the file.
| *
| * @param root the deployment root
| * @param structureMetaData the current structure metadata
| * @return true if we determined modification
| */
| boolean determineModification(VirtualFile root, StructureMetaData
structureMetaData);
|
| /**
| * Should we modify the file.
| *
| * @param root the deployment root
| * @param contextInfo the current context info
| * @return true if we determined modification
| */
| boolean determineModification(VirtualFile root, ContextInfo contextInfo);
| }
|
The test on how this is applied in 'reality':
-
http://anonsvn.jboss.org/repos/jbossas/projects/jboss-deployers/trunk/dep...
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4204718#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...