/** * Asks the workgroup for it's Global Macros. * * @param global true to retrieve global macros, otherwise false for personal macros. * @return MacroGroup the root macro group. * @throws XMPPException if an error occurs while getting information from the server. */ public MacroGroup getMacros(boolean global) throws XMPPException { Macros request = new Macros(); request.setType(IQ.Type.GET); request.setTo(workgroupJID); request.setPersonal(!global); PacketCollector collector = connection.createPacketCollector(new PacketIDFilter(request.getPacketID())); connection.sendPacket(request); Macros response = (Macros)collector.nextResult(SmackConfiguration.getPacketReplyTimeout()); // Cancel the collector. collector.cancel(); if (response == null) { throw new XMPPException("No response from server."); } if (response.getError() != null) { throw new XMPPException(response.getError()); } return response.getRootGroup(); }
/** * Persists the Personal Macro for an agent. * * @param group the macro group to save. * @throws XMPPException if an error occurs while getting information from the server. */ public void saveMacros(MacroGroup group) throws XMPPException { Macros request = new Macros(); request.setType(IQ.Type.SET); request.setTo(workgroupJID); request.setPersonal(true); request.setPersonalMacroGroup(group); PacketCollector collector = connection.createPacketCollector(new PacketIDFilter(request.getPacketID())); connection.sendPacket(request); IQ response = (IQ)collector.nextResult(SmackConfiguration.getPacketReplyTimeout()); // Cancel the collector. collector.cancel(); if (response == null) { throw new XMPPException("No response from server on status set."); } if (response.getError() != null) { throw new XMPPException(response.getError()); } }
/** * Asks the workgroup for it's Global Macros. * * @param global * true to retrieve global macros, otherwise false for personal * macros. * @return MacroGroup the root macro group. * @throws XMPPException * if an error occurs while getting information from the server. */ public MacroGroup getMacros(boolean global) throws XMPPException { Macros request = new Macros(); request.setType(IQ.Type.GET); request.setTo(workgroupJID); request.setPersonal(!global); PacketCollector collector = connection .createPacketCollector(new PacketIDFilter(request.getPacketID())); connection.sendPacket(request); Macros response = (Macros) collector.nextResult(SmackConfiguration .getPacketReplyTimeout()); // Cancel the collector. collector.cancel(); if (response == null) { throw new XMPPException("No response from server."); } if (response.getError() != null) { throw new XMPPException(response.getError()); } return response.getRootGroup(); }
/** * Persists the Personal Macro for an agent. * * @param group * the macro group to save. * @throws XMPPException * if an error occurs while getting information from the server. */ public void saveMacros(MacroGroup group) throws XMPPException { Macros request = new Macros(); request.setType(IQ.Type.SET); request.setTo(workgroupJID); request.setPersonal(true); request.setPersonalMacroGroup(group); PacketCollector collector = connection .createPacketCollector(new PacketIDFilter(request.getPacketID())); connection.sendPacket(request); IQ response = (IQ) collector.nextResult(SmackConfiguration .getPacketReplyTimeout()); // Cancel the collector. collector.cancel(); if (response == null) { throw new XMPPException("No response from server on status set."); } if (response.getError() != null) { throw new XMPPException(response.getError()); } }
/** * Asks the workgroup for it's Global Macros. * * @param global true to retrieve global macros, otherwise false for personal macros. * @return MacroGroup the root macro group. * @throws XMPPErrorException if an error occurs while getting information from the server. * @throws NoResponseException * @throws NotConnectedException */ public MacroGroup getMacros(boolean global) throws NoResponseException, XMPPErrorException, NotConnectedException { Macros request = new Macros(); request.setType(IQ.Type.get); request.setTo(workgroupJID); request.setPersonal(!global); Macros response = (Macros) connection.createPacketCollectorAndSend(request).nextResultOrThrow(); return response.getRootGroup(); }
/** * Persists the Personal Macro for an agent. * * @param group the macro group to save. * @throws XMPPErrorException * @throws NoResponseException * @throws NotConnectedException */ public void saveMacros(MacroGroup group) throws NoResponseException, XMPPErrorException, NotConnectedException { Macros request = new Macros(); request.setType(IQ.Type.set); request.setTo(workgroupJID); request.setPersonal(true); request.setPersonalMacroGroup(group); connection.createPacketCollectorAndSend(request).nextResultOrThrow(); }
private void addSubMenus(JMenu menu, List<MacroGroup> macroGroups) { Iterator<MacroGroup> subFolders = macroGroups.iterator(); while (subFolders.hasNext()) { MacroGroup folder = subFolders.next(); JMenu subMenu = new JMenu(folder.getTitle()); menu.add(subMenu); addMenuItems(subMenu, folder.getMacros()); addSubMenus(subMenu, folder.getMacroGroups()); } }
private void save() { // Save Personal Macros MacroGroup macroGroup = new MacroGroup(); int count = table.getRowCount(); for (int i = 0; i < count; i++) { Macro macro = new Macro(); String title = (String)table.getValueAt(i, 0); String value = (String)table.getValueAt(i, 1); macro.setTitle(title); macro.setResponse(value); macroGroup.addMacro(macro); } macroGroup.setTitle(FpRes.getString("title.personal")); try { FastpathPlugin.getAgentSession().saveMacros(macroGroup); } catch (Exception ex) { JOptionPane.showMessageDialog(dialog, FpRes.getString("message.macros.not.saved"), FpRes.getString("title.error"), JOptionPane.ERROR_MESSAGE); } String initialResponse = initialResponseField.getText(); Properties props = FastpathPlugin.getLitWorkspace().getWorkgroupProperties(); if (ModelUtil.hasLength(initialResponse)) { props.setProperty(Workpane.INITIAL_RESPONSE_PROPERTY, initialResponse); FastpathPlugin.getLitWorkspace().saveProperties(props); } }