package eu.doppel_helix.netbeans.mantisintegration.repository; import eu.doppel_helix.netbeans.mantisintegration.issue.MantisIssue; import eu.doppel_helix.netbeans.mantisintegration.query.MantisQuery; import java.awt.Image; import java.beans.PropertyChangeListener; import java.util.Collection; import java.util.Collections; import java.util.logging.Logger; import org.netbeans.modules.bugtracking.spi.RepositoryController; import org.netbeans.modules.bugtracking.spi.RepositoryInfo; import org.netbeans.modules.bugtracking.spi.RepositoryProvider; public class MantisRepositoryProvider implements RepositoryProvider<MantisRepository,MantisQuery,MantisIssue> { private static final Logger LOG = Logger.getLogger(MantisRepositoryProvider.class.getName()); @Override public RepositoryInfo getInfo(MantisRepository r) { return r.getInfo(); } @Override public Image getIcon(MantisRepository r) { return r.getIcon(); } @Override public Collection<MantisIssue> getIssues(MantisRepository r, String... ids) { try { return r.getIssues(false, ids); } catch (Exception ex) { r.getExceptionHandler().handleException(LOG, "Failed to get issues", ex); return Collections.EMPTY_LIST; } } @Override public RepositoryController getController(MantisRepository r) { return r.getController(); } @Override public MantisQuery createQuery(MantisRepository r) { return r.createQuery(); } @Override public MantisIssue createIssue(MantisRepository r) { return r.createIssue(); } @Override public Collection<MantisQuery> getQueries(MantisRepository r) { return r.getQueries(); } @Override public Collection<MantisIssue> simpleSearch(MantisRepository r, String criteria) { try { return r.simpleSearch(criteria); } catch (Exception ex) { r.getExceptionHandler().handleException(LOG, "Failed to do simplesearch", ex); return Collections.EMPTY_LIST; } } @Override public void removePropertyChangeListener(MantisRepository r, PropertyChangeListener pl) { r.removePropertyChangeListener(pl); } @Override public void addPropertyChangeListener(MantisRepository r, PropertyChangeListener pl) { r.addPropertyChangeListener(pl); } @Override public MantisIssue createIssue(MantisRepository r, String summary, String description) { MantisIssue mi = r.createIssue(); mi.setSummary(summary); mi.setDescription(description); return mi; } @Override public boolean canAttachFiles(MantisRepository r) { return true; } @Override public void removed(MantisRepository r) { r.remove(); } }