📄 mappingreportgenerator.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 + -