001 /*
002 GRANITE DATA SERVICES
003 Copyright (C) 2011 GRANITE DATA SERVICES S.A.S.
004
005 This file is part of Granite Data Services.
006
007 Granite Data Services is free software; you can redistribute it and/or modify
008 it under the terms of the GNU Library General Public License as published by
009 the Free Software Foundation; either version 2 of the License, or (at your
010 option) any later version.
011
012 Granite Data Services is distributed in the hope that it will be useful, but
013 WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
014 FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License
015 for more details.
016
017 You should have received a copy of the GNU Library General Public License
018 along with this library; if not, see <http://www.gnu.org/licenses/>.
019 */
020
021 package org.granite.builder;
022
023 import java.io.PrintWriter;
024 import java.io.StringWriter;
025
026 import org.granite.builder.BuilderConsole.MessageType;
027 import org.granite.generator.Input;
028 import org.granite.generator.Listener;
029 import org.granite.generator.Output;
030
031 /**
032 * @author Franck WOLFF
033 */
034 public class BuilderListener implements Listener {
035
036 public void title(String msg) {
037 BuilderConsole.println(msg, MessageType.TITLE);
038 }
039
040 @Override
041 public void generating(Input<?> input, Output<?> output) {
042 BuilderConsole.println("Generating: " + output.getDescription() + " (" + output.getMessage() + ")");
043 }
044
045 @Override
046 public void generating(String file, String message) {
047 BuilderConsole.println("Generating: " + file + " (" + message + ")");
048 }
049
050 @Override
051 public void removing(Input<?> input, Output<?> output) {
052 BuilderConsole.println("Hidding: " + output.getDescription() + " (" + output.getMessage() + ")");
053 }
054
055 @Override
056 public void removing(String file, String message) {
057 BuilderConsole.println("Hidding: " + file + " (" + message + ")");
058 }
059
060 @Override
061 public void skipping(Input<?> input, Output<?> output) {
062 BuilderConsole.println("Skipping: " + output.getDescription() + " (" + output.getMessage() + ")", MessageType.DEBUG);
063 }
064
065 @Override
066 public void skipping(String file, String message) {
067 BuilderConsole.println("Skipping: " + file + " (" + message + ")", MessageType.DEBUG);
068 }
069
070 @Override
071 public void debug(String message, Throwable t) {
072 BuilderConsole.println(message + "\n" + getStackTrace(t), MessageType.DEBUG);
073 }
074
075 @Override
076 public void debug(String message) {
077 BuilderConsole.println(message, MessageType.DEBUG);
078 }
079
080 @Override
081 public void error(String message, Throwable t) {
082 BuilderConsole.println(message + "\n" + getStackTrace(t), MessageType.ERROR);
083 }
084
085 @Override
086 public void error(String message) {
087 BuilderConsole.println(message, MessageType.ERROR);
088 }
089
090 @Override
091 public void info(String message, Throwable t) {
092 BuilderConsole.println(message + "\n" + getStackTrace(t), MessageType.INFO);
093 }
094
095 @Override
096 public void info(String message) {
097 BuilderConsole.println(message, MessageType.INFO);
098 }
099
100 @Override
101 public void warn(String message, Throwable t) {
102 BuilderConsole.println(message + "\n" + getStackTrace(t), MessageType.WARNING);
103 }
104
105 @Override
106 public void warn(String message) {
107 BuilderConsole.println(message, MessageType.WARNING);
108 }
109
110 private static String getStackTrace(Throwable t) {
111 StringWriter sw = new StringWriter();
112 PrintWriter pw = new PrintWriter(sw);
113 t.printStackTrace(pw);
114 return sw.toString();
115 }
116 }