⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mappingreportgenerator.java

📁 METAmorphoses is a system for flexible and easy-to-use generation of RDF metadata directly from a re
💻 JAVA
字号:
package cz.cvut.felk.cs.metamorphoses.report;import java.util.Iterator;import java.util.List;import java.util.Map;import java.util.Set;import cz.cvut.felk.cs.metamorphoses.mapping.MappingAttribute;import cz.cvut.felk.cs.metamorphoses.mapping.MappingClass;import cz.cvut.felk.cs.metamorphoses.mapping.MappingProcessor;import cz.cvut.felk.cs.metamorphoses.mapping.MappingProcessorException;/** * <p>THE CLASS NOT COMPLETED YET!</p> * <p>Creates report about mapping and its parts: sql connection, classes, properties, attributes, conditions, variables.</p> * <p>The report is intendet to be a reference documentation about the mapping document for template document designers.</p> * <p> * <b>History:</b><br/> * Created: 31.7.2004<br/> * Last change: 17.4.2005<br/> * </p> * @author Martin Svihla (martin@svihla.net) */public class MappingReportGenerator {	private MappingProcessor mappingProcessor;		/**	 * 	 */	public MappingReportGenerator(String mappingFilename) throws MappingProcessorException {		mappingProcessor = new MappingProcessor(mappingFilename);				}		public String generateReport() throws MappingProcessorException {		String report = "";		List classNames = mappingProcessor.getAllClassNames();		for (int i=0, n=classNames.size(); i<n; i++) {			MappingClass mc = mappingProcessor.getClassByTemplateName((String) classNames.get(i));			report += writeClass(mc);		}		return report;	}	/**	 * Writes one class with all properties, attributes, conditions and variables.	 * @param MappingClass class	 * @return String 	 */	private String writeClass(MappingClass mc) {		String output = "";		output = "Class " + mc.getTemplateName() + ": " + mc.getRdfLabel() + "\n";		output += writeVariables(mc.getVariables());		output += writeAttributes(mc.getAttributes());		return output;	}		/**	 * Returns a documentation text about a list of variables.	 * @param variableList	 * @return String	 */	private String writeVariables(Map variableList) {		if (variableList.isEmpty()) return "";		String output = " Variables:\n";				Set keys = variableList.keySet();		Iterator kIter = keys.iterator();		while (kIter.hasNext()) {			String key = (String) kIter.next();			output += "    " + key + "='" + variableList.get(key) + "'\n";		}				return output;	}		/**	 * Returns a documentation text about a list of attributes.	 * @param attribute list	 * @return String	 */	private String writeAttributes(List attributeList) {		if (attributeList.isEmpty()) return "";		String output = " Attributes:\n";				for (int i=0, n=attributeList.size(); i<n; i++) {			MappingAttribute ma = (MappingAttribute) attributeList.get(i);			output += "    " + ma.getRdfLabel() + "=" + ma.getPrefix() + (!(ma.getSql().equals(""))?("'"+ma.getSql()+"'"):"") + ma.getSuffix() + "\n"; 		}		return output;	}			/**	 * Main method - the class is intended to be a command-line tool that produces documentation for a specified mapping document. 	 * @param args	 * @throws MappingProcessorException	 */	public static void main(String[] args) throws MappingProcessorException {		MappingReportGenerator mrg = new MappingReportGenerator("/home/martin/work/projects/eclipse/rdfServlet/WEB-INF/resources/mappings/csMapping.xml");		System.out.print(mrg.generateReport());	}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -