/** * Get the complete ConnectInfo * * @param ConnectInfo the user * @return the complete ConnectInfo */ private ConnectInfo getCompleteConnectInfo(ConnectInfo ci) { Iterator i = this.connections.iterator(); while (i.hasNext()) { ConnectInfo tmp = (ConnectInfo) i.next(); if (ci.getName().equals(tmp.getName())) return tmp; } return ci; }
/** * Check if a user is already known * * @param ConnectInfo the user * @return true or false */ private boolean isAlreadyKnown(ConnectInfo ci) { boolean result = false; Iterator i = this.connections.iterator(); while (i.hasNext() && !result) { ConnectInfo tmp = (ConnectInfo) i.next(); result = ci.getName().equals(tmp.getName()); } return result; }
private void addMenuToTray() { HashMap categories = new HashMap(); // create menu list Iterator plugins = PluginManager.getInstance().getAvailablePlugins(); plugins = PluginComparator.sortPlugins(plugins); while (plugins.hasNext()) { Plugin p = (Plugin) plugins.next(); JMenu category = (JMenu) categories.get(p.getCategory()); if (category == null) { category = new JMenu(p.getCategory()); categories.put(p.getCategory(), category); // copy menu to real one if (!p.getCategory().equals("Invisible")) this.trayIcon.add(category); } ImageIcon icon = new ImageIcon(); try { icon = new ImageIcon(new URL(p.getDirectory() + p.getIcon())); icon = new ImageIcon(icon.getImage().getScaledInstance(16, 16, Image.SCALE_SMOOTH)); } catch (Exception e) { // error at icon loading } JMenuItem menu = new JMenuItem(p.getTitle(), icon); menu.setName(p.getName()); menu.setToolTipText(p.getToolTip()); menu.addActionListener(this); category.add(menu); } this.trayIcon.addSeparator(); // windows this.trayIcon.add(new WindowMenu(this)); // open main interface JMenuItem menu = new JMenuItem(tr("open")); menu.setName("org.lucane.applications.maininterface"); menu.addActionListener(this); this.trayIcon.add(menu); // exit menu = new JMenuItem(tr("exit")); menu.setName("exit"); menu.addActionListener(this); this.trayIcon.add(menu); }
/** Loads internal services */ private void loadInternalServices() { try { Iterator services; String servicename; String baseURL = System.getProperty("user.dir") + "/" + APPLICATIONS_DIRECTORY; LucaneClassLoader loader = LucaneClassLoader.getInstance(); services = store.getServiceStore().getAllServices(); while (services.hasNext()) { ServiceConcept service = (ServiceConcept) services.next(); servicename = service.getName(); try { loader.addUrl(new URL("jar:file:///" + baseURL + servicename + ".jar!/")); String className = (new JarFile(baseURL + servicename + ".jar")) .getManifest() .getMainAttributes() .getValue("Service-Class"); if (className == null) continue; Service serv = (Service) Class.forName(className, true, loader).newInstance(); this.services.add(serv); serv.init(this); if (!service.isInstalled()) { serv.install(); service.setInstalled(); store.getServiceStore().updateService(service); } Logging.getLogger().info("Service '" + servicename + "' loaded."); this.connections.add( new ConnectInfo(servicename, serverIp, serverIp, port, "nokey", "service")); } catch (Exception e) { Logging.getLogger().warning("Unable to load service '" + servicename); } } } catch (Exception e) { Logging.getLogger().warning("Unable to load internal services : " + e); e.printStackTrace(); } }
/** * Send the plugin list to a client. The list depends of the client's groups * * @param source the user that asked this command */ private void sendPluginList(ObjectConnection oc, String source) { Vector plist = new Vector(); Iterator plugins; String line = ""; try { UserConcept user = store.getUserStore().getUser(source); plugins = store.getPluginStore().getAuthorizedPlugins(user); while (plugins.hasNext()) { PluginConcept plugin = (PluginConcept) plugins.next(); line = plugin.getName(); line += " " + plugin.getVersion(); plist.add(line); } oc.write(plist); } catch (Exception e) { Logging.getLogger().warning("Unable to send the plugin list."); e.printStackTrace(); } }