📄 jendescstrategy.java
字号:
/**
* Copyright (c) 2002, Siddhartha P. Chandurkar siddhartha@visioncodified.com
* All rights reserved.
* Licensed under the Academic Free License version 1.1
* See the file LICENSE.TXT for details.
* LICENSE.txt is located in the directory <install-directory>\Jenerator
* of your Jenertaor Installation.
*
*/
package com.jenerator.transformer;
//<Imports>
//Java Imports
import com.jenerator.converter.ConversionException;
import com.jenerator.converter.Converter;
import com.jenerator.converter.ObjectConverter;
import com.jenerator.struct.jendb.JenDb;
import com.jenerator.struct.jendb.JenTable;
import com.jenerator.util.ConfigurationException;
import org.apache.log4j.Logger;
import java.io.File;
import java.util.Vector;
//</Imports>
/**
* JenDescStrategy
* This strategy implements the logic to generate Jenerator descriptor file
* It is based on the strategy pattern
* @see TransformStrategy
* @author Siddhartha P. Chandurkar
* @version 0.9.0
*
*/
public class JenDescStrategy extends TransformStrategy {
//ATTRIBTES
private static Logger log = Logger.getLogger(com.jenerator.transformer.JenDescStrategy.class.getName());
//METHODS
/**
* This method overides the super class <code>transform()</code> method
*/
public void transform() throws TransformFailedException {
try {
Converter converter = new ObjectConverter();
JenDb db = (JenDb) converter.convert();
Vector tables = db.getTables();
log.debug("Gnerating the Jen-desc xml file");
StringBuffer databaseXml = new StringBuffer();
databaseXml.append("<?xml version='1.0'?>");
databaseXml.append("\n<desc>");
for (int i = 0; i < tables.size(); i++) {
JenTable table = (JenTable) tables.elementAt(i);
databaseXml.append(table.toXml().substring(21));
}
databaseXml.append("\n</desc>");
processor.process(databaseXml.toString(), "jen-desc.xsl", "jen-desc.xml", File.separator + "JEN-INF");
} catch (NotProcessableException ex) {
log.fatal(ex);
throw new TransformFailedException(ex);
} catch (ConfigurationException ex) {
log.fatal(ex);
throw new TransformFailedException(ex);
} catch (ConversionException ex) {
log.fatal(ex);
throw new TransformFailedException(ex);
}
}//transform
}//JenDescStrategy
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -