package org.docear.plugin.services.features.documentretrieval.view; import java.awt.event.WindowEvent; import java.awt.event.WindowListener; import javax.swing.SwingUtilities; import org.docear.plugin.services.ServiceController; import org.docear.plugin.services.features.documentretrieval.recommendations.RecommendationsController; import org.freeplane.core.ui.components.UITools; public class ServiceWindowListener implements WindowListener { public void windowOpened(WindowEvent e) { final WindowListener wl = this; SwingUtilities.invokeLater(new Runnable() { public void run() { if(ServiceController.getFeature(RecommendationsController.class).isAutoRecommending()) { SwingUtilities.invokeLater(this); return; } getRecommendations(wl); } }); } public void windowIconified(WindowEvent e) { } public void windowDeiconified(WindowEvent e) { } public void windowDeactivated(WindowEvent e) { } public void windowClosing(WindowEvent e) { } public void windowClosed(WindowEvent e) { } public void windowActivated(WindowEvent e) { } private void getRecommendations(final WindowListener wl) { if (ServiceController.getFeature(RecommendationsController.class).getAutoRecommendations() != null) { UITools.getFrame().removeWindowListener(wl); RecommendationsController.getController().refreshDocuments(ServiceController.getFeature(RecommendationsController.class).getAutoRecommendations()); ServiceController.getFeature(RecommendationsController.class).setAutoRecommendations(null); } } }