package org.geopublishing.geopublisher;
import java.awt.Container;
import org.apache.log4j.Logger;
import org.netbeans.spi.wizard.ResultProgressHandle;
/**
* This implementation of a {@link ResultProgressHandle} will pipe all output to
* the logger. If not {@link Logger} is given, it outputs to sysout
*/
public class LoggerResultProgressHandle implements ResultProgressHandle {
public LoggerResultProgressHandle() {
}
public LoggerResultProgressHandle(Logger logger) {
this.logger = logger;
}
private Logger logger = null;
@Override
public void setProgress(int currentStep, int totalSteps) {
}
@Override
public void setProgress(String description, int currentStep, int totalSteps) {
}
@Override
public void setBusy(String description) {
final String msg = "progress busy: " + description;
if (logger != null) {
logger.debug(msg);
} else
System.out.println(msg);
}
@Override
public void finished(Object result) {
final String msg = "progress finished with: " + result;
if (logger != null) {
logger.debug(msg);
} else
System.out.println(msg);
}
@Override
public void failed(String message, boolean canNavigateBack) {
final String msg = "progress failed with: " + message;
if (logger != null) {
logger.error(msg);
} else
System.err.println(msg);
}
@Override
public void addProgressComponents(Container panel) {
}
@Override
public boolean isRunning() {
throw new RuntimeException("not yet implemented");
}
}