/* * Created on Aug 11, 2004 * * To change the template for this generated file go to * Window - Preferences - Java - Code Generation - Code and Comments */ package tools; import java.io.File; import java.io.FileOutputStream; import java.io.OutputStream; import java.io.OutputStreamWriter; import java.io.Writer; import myapp.Product; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.exolab.castor.tools.MappingTool; import org.exolab.castor.xml.XMLContext; /** * generate a Castor mapping file ready for editing */ public class CastorMapper { private MappingTool tool = null; private static Log log = LogFactory.getFactory().getInstance (CastorMapper.class); private static final String OUTPUT_FILE = "product-mapping.xml"; public CastorMapper() { try { tool = new XMLContext().createMappingTool(); } catch (Exception e) { log.error (e.getClass().getName(), e); } } public void createMapping (Class[] someClasses, String outputFile) { try { for (int i = 0; i < someClasses.length; i++) { tool.addClass(someClasses[i]); } File file = new File (outputFile); log.debug ("Output will has been created at " + file.getAbsolutePath()); OutputStream stream = new FileOutputStream(file); Writer writer = new OutputStreamWriter(stream); tool.write(writer); writer.close(); } catch (Exception e) { log.error (e.getClass().getName(), e); } } public void createMapping (Class aClass, String outputFile) { try { tool.addClass(aClass); File file = new File (outputFile); log.debug ("Output will has been created at " + file.getAbsolutePath()); OutputStream stream = new FileOutputStream(file); Writer writer = new OutputStreamWriter(stream); tool.write(writer); writer.close(); } catch (Exception e) { log.error (e.getClass().getName(), e); } } public static void main(String[] args) { CastorMapper mapper = new CastorMapper(); mapper.createMapping (Product.class, OUTPUT_FILE); } }