/** * Copyright 2010 JBoss Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.drools.verifier.report.html; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.HashMap; import java.util.Map; import org.mvel2.templates.TemplateRuntime; abstract class ReportVisitor { protected static String processHeader(String folder) { Map<String, Object> map = new HashMap<String, Object>(); map.put("sourceFolder", folder); map.put("objectTypesFile", UrlFactory.HTML_FILE_INDEX); map.put("packagesFile", UrlFactory.HTML_FILE_PACKAGES); map.put("messagesFile", UrlFactory.HTML_FILE_VERIFIER_MESSAGES); String myTemplate = readFile("header.htm"); return String.valueOf(TemplateRuntime.eval(myTemplate, map)); } protected static String readFile(String fileName) { StringBuffer str = new StringBuffer(""); try { BufferedReader reader = new BufferedReader(new InputStreamReader( ReportVisitor.class.getResourceAsStream(fileName))); String line = null; while ((line = reader.readLine()) != null) { str.append(line); str.append("\n"); } } catch (IOException e) { e.printStackTrace(); } catch (NullPointerException e) { System.err.println("File " + fileName + " was not found."); e.printStackTrace(); } return str.toString(); } protected static String createStyleTag(String path) { StringBuffer str = new StringBuffer(""); str.append("<link rel=\"stylesheet\" type=\"text/css\" href=\""); str.append(path); str.append("\" />"); return str.toString(); } }