package bndtools.central; import java.io.File; import org.bndtools.api.ILogger; import org.bndtools.api.Logger; import org.osgi.util.promise.Promise; import org.osgi.util.promise.Success; import aQute.bnd.build.Workspace; import aQute.bnd.service.BndListener; import aQute.service.reporter.Reporter; public final class WorkspaceListener extends BndListener { private static final ILogger logger = Logger.getLogger(WorkspaceListener.class); public WorkspaceListener(@SuppressWarnings("unused") Workspace workspace) {} @Override public void changed(final File file) { try { final RefreshFileJob job = new RefreshFileJob(file, true); if (job.needsToSchedule()) { Central.onWorkspaceInit(new Success<Workspace,Void>() { @Override public Promise<Void> call(Promise<Workspace> resolved) throws Exception { job.schedule(); return null; } }); } } catch (Exception e) { logger.logError("Error refreshing workspace", e); } } @Override public void signal(Reporter reporter) { // errorProcessor.clear(); // errorProcessor.getInfo(workspace); // // for (String warning : errorProcessor.getWarnings()) { // logger.logWarning(warning, null); // } // for (String error : errorProcessor.getErrors()) { // logger.logError(error, null); // } } }