package com.processpuzzle.business.definition.domain; import java.io.BufferedWriter; import java.io.FileWriter; import java.io.IOException; import java.io.Writer; import org.exolab.castor.mapping.MappingException; import org.exolab.castor.tools.MappingTool; import org.junit.Test; import org.springframework.core.io.DefaultResourceLoader; import org.springframework.core.io.Resource; import com.processpuzzle.business.definition.domain.BusinessDefinition; import com.processpuzzle.party.partyrelationshiptype.domain.PartyRelationshipType; import com.processpuzzle.party.partyrelationshiptype.domain.PartyRoleType; import com.processpuzzle.workflow.protocol.domain.ProtocolDefinition; public class CastorMappingGenerator { private static final String MAPPING_FILE_PATH = "classpath:com/processpuzzle/resource/integration/BusinessDefinitionMapping.xml"; @Test public void generateMapping() throws MappingException, IOException { Resource mappingResource = new DefaultResourceLoader().getResource( MAPPING_FILE_PATH ); Writer mappingWriter = new BufferedWriter( new FileWriter( mappingResource.getFile() )); MappingTool mappingTool = new MappingTool(); mappingTool.setInternalContext( new org.castor.xml.BackwardCompatibilityContext() ); try{ mappingTool.addClass( BusinessDefinition.class ); //mappingTool.addClass( ArtifactTypeGroup.class ); mappingTool.addClass( PartyRelationshipType.class ); mappingTool.addClass( PartyRoleType.class ); mappingTool.addClass( ProtocolDefinition.class ); //mappingTool.addClass( LifecycleProtocol.class ); //mappingTool.addClass( LifecyclePhaseProtocol.class ); //mappingTool.addClass( WorkflowDetailProtocol.class ); //mappingTool.addClass( ActivityProtocol.class ); mappingTool.write( mappingWriter ); }catch( Exception e ){ e.printStackTrace(); } mappingWriter.close(); } }