Download
Getting Started
Members
Projects
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
More
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
Toggle navigation
Bugzilla – Attachment 74853 Details for
Bug 192757
[IRC] support /server command
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
[patch]
"/server Command" patch
ecf-irc-servercommand-2.diff (text/plain), 13.00 KB, created by
Cagatay Calli
on 2007-07-28 12:57:45 EDT
(
hide
)
Description:
"/server Command" patch
Filename:
MIME Type:
Creator:
Cagatay Calli
Created:
2007-07-28 12:57:45 EDT
Size:
13.00 KB
patch
obsolete
>### Eclipse Workspace Patch 1.0 >#P org.eclipse.ecf.presence.ui >Index: src/org/eclipse/ecf/presence/ui/chatroom/ChatRoomManagerView.java >=================================================================== >RCS file: /cvsroot/technology/org.eclipse.ecf/plugins/org.eclipse.ecf.presence.ui/src/org/eclipse/ecf/presence/ui/chatroom/ChatRoomManagerView.java,v >retrieving revision 1.21 >diff -u -r1.21 ChatRoomManagerView.java >--- src/org/eclipse/ecf/presence/ui/chatroom/ChatRoomManagerView.java 27 Jul 2007 22:19:00 -0000 1.21 >+++ src/org/eclipse/ecf/presence/ui/chatroom/ChatRoomManagerView.java 28 Jul 2007 16:56:25 -0000 >@@ -9,6 +9,7 @@ > * Composent, Inc. - initial API and implementation > * Jacek Pospychala <jacek.pospychala@pl.ibm.com> - bug 192762, 197329 > * Abner Ballardo <modlost@modlost.net> - bug 192756 >+ * Cagatay Calli <ccalli@gmail.com> - https://bugs.eclipse.org/bugs/show_bug.cgi?id=192757 > ******************************************************************************/ > package org.eclipse.ecf.presence.ui.chatroom; > >@@ -1053,7 +1054,7 @@ > Messages.ChatRoomManagerView_NOT_CONNECTED_MESSAGE); > return; > } else { >- String output = processForCommand(chatRoomContainer, text); >+ String output = processForCommand(chatRoomContainer, localUserName, text); > if (output != null) sendMessageLine(output); > } > } >@@ -1182,16 +1183,16 @@ > Messages.ChatRoomManagerView_NOT_CONNECTED_MESSAGE); > return; > } else { >- String output = processForCommand(null, text); >+ String output = processForCommand(null, localUserName, text); > if (output != null) sendMessageLine(output); > } > } > > protected String processForCommand(IChatRoomContainer chatRoomContainer, >- String text) { >+ String username, String text) { > IChatRoomCommandListener l = commandListener; > if (l != null) >- return l.handleCommand(chatRoomContainer, text); >+ return l.handleCommand(chatRoomContainer, username, text); > else > return text; > } >Index: src/org/eclipse/ecf/presence/ui/chatroom/ChatRoomManagerUI.java >=================================================================== >RCS file: /cvsroot/technology/org.eclipse.ecf/plugins/org.eclipse.ecf.presence.ui/src/org/eclipse/ecf/presence/ui/chatroom/ChatRoomManagerUI.java,v >retrieving revision 1.10 >diff -u -r1.10 ChatRoomManagerUI.java >--- src/org/eclipse/ecf/presence/ui/chatroom/ChatRoomManagerUI.java 27 Jul 2007 15:11:20 -0000 1.10 >+++ src/org/eclipse/ecf/presence/ui/chatroom/ChatRoomManagerUI.java 28 Jul 2007 16:56:24 -0000 >@@ -8,6 +8,7 @@ > * Contributors: > * Composent, Inc. - initial API and implementation > * Jacek Pospychala <jacek.pospychala@pl.ibm.com> - bug 197329 >+ * Cagatay Calli <ccalli@gmail.com> - https://bugs.eclipse.org/bugs/show_bug.cgi?id=192757 > *****************************************************************************/ > package org.eclipse.ecf.presence.ui.chatroom; > >@@ -84,10 +85,10 @@ > * (non-Javadoc) > * > * @see org.eclipse.ecf.presence.ui.chatroom.IChatRoomCommandListener#handleCommand(org.eclipse.ecf.presence.chatroom.IChatRoomContainer, >- * java.lang.String) >+ * java.lang.String, java.lang.String) > */ > public String handleCommand(IChatRoomContainer chatRoomContainer, >- String inputLine) { >+ String username, String inputLine) { > return inputLine; > } > >Index: src/org/eclipse/ecf/presence/ui/chatroom/IChatRoomCommandListener.java >=================================================================== >RCS file: /cvsroot/technology/org.eclipse.ecf/plugins/org.eclipse.ecf.presence.ui/src/org/eclipse/ecf/presence/ui/chatroom/IChatRoomCommandListener.java,v >retrieving revision 1.1 >diff -u -r1.1 IChatRoomCommandListener.java >--- src/org/eclipse/ecf/presence/ui/chatroom/IChatRoomCommandListener.java 1 May 2007 16:55:33 -0000 1.1 >+++ src/org/eclipse/ecf/presence/ui/chatroom/IChatRoomCommandListener.java 28 Jul 2007 16:56:26 -0000 >@@ -1,5 +1,5 @@ > /**************************************************************************** >- * Copyright (c) 2004 Composent, Inc. and others. >+ * Copyright (c) 2004, 2007 Composent, Inc. and others. > * All rights reserved. This program and the accompanying materials > * are made available under the terms of the Eclipse Public License v1.0 > * which accompanies this distribution, and is available at >@@ -7,6 +7,7 @@ > * > * Contributors: > * Composent, Inc. - initial API and implementation >+ * Cagatay Calli <ccalli@gmail.com> - https://bugs.eclipse.org/bugs/show_bug.cgi?id=192757 > *****************************************************************************/ > > package org.eclipse.ecf.presence.ui.chatroom; >@@ -29,6 +30,7 @@ > * the IChatRoomContainer instance that is to receive the input > * line. If <code>null</code> then the input line is intended > * for the IChatRoomManager itself. >+ * @param username name of the command owner (local username) > * @param inputLine > * the input line holding the prospective command. > * @return <code>null</code> if the command has been processed and should >@@ -36,6 +38,6 @@ > * the inputLine should be forwarded on as chat. > */ > public String handleCommand(IChatRoomContainer chatRoomContainer, >- String inputLine); >+ String username, String inputLine); > > } >#P org.eclipse.ecf.provider.irc.ui >Index: src/org/eclipse/ecf/internal/irc/ui/IRCUI.java >=================================================================== >RCS file: /cvsroot/technology/org.eclipse.ecf/plugins/org.eclipse.ecf.provider.irc.ui/src/org/eclipse/ecf/internal/irc/ui/IRCUI.java,v >retrieving revision 1.5 >diff -u -r1.5 IRCUI.java >--- src/org/eclipse/ecf/internal/irc/ui/IRCUI.java 27 Jul 2007 15:11:23 -0000 1.5 >+++ src/org/eclipse/ecf/internal/irc/ui/IRCUI.java 28 Jul 2007 16:56:27 -0000 >@@ -8,6 +8,7 @@ > * Contributors: > * Composent, Inc. - initial API and implementation > * Jacek Pospychala <jacek.pospychala@pl.ibm.com> - bug 197329 >+ * Cagatay Calli <ccalli@gmail.com> - https://bugs.eclipse.org/bugs/show_bug.cgi?id=192757 > *****************************************************************************/ > > package org.eclipse.ecf.internal.irc.ui; >@@ -16,13 +17,19 @@ > import java.net.URISyntaxException; > import java.util.StringTokenizer; > >+import org.eclipse.ecf.core.ContainerFactory; > import org.eclipse.ecf.core.IContainer; > import org.eclipse.ecf.core.identity.ID; >+import org.eclipse.ecf.core.identity.IDFactory; >+import org.eclipse.ecf.core.security.ConnectContextFactory; >+import org.eclipse.ecf.core.security.IConnectContext; > import org.eclipse.ecf.core.util.IExceptionHandler; > import org.eclipse.ecf.presence.chatroom.IChatRoomContainer; > import org.eclipse.ecf.presence.chatroom.IChatRoomManager; > import org.eclipse.ecf.presence.ui.chatroom.ChatRoomManagerUI; > import org.eclipse.ecf.presence.ui.chatroom.IMessageRenderer; >+import org.eclipse.ecf.ui.actions.AsynchContainerConnectAction; >+import org.eclipse.ecf.ui.util.PasswordCacheHelper; > import org.eclipse.jface.dialogs.MessageDialog; > import org.eclipse.osgi.util.NLS; > >@@ -36,6 +43,9 @@ > private static final String COMMAND_PREFIX = "/"; //$NON-NLS-1$ > > private static final String COMMAND_DELIM = " "; //$NON-NLS-1$ >+ >+ String connectID; >+ String password; > > /** > * @param container >@@ -80,7 +90,7 @@ > * @see org.eclipse.ecf.presence.ui.chatroom.ChatRoomManagerUI#handleCommand(java.lang.String) > */ > public String handleCommand(IChatRoomContainer chatRoomContainer, >- String inputLine) { >+ String username, String inputLine) { > if ((inputLine != null && inputLine.startsWith(COMMAND_PREFIX))) { > StringTokenizer st = new StringTokenizer(inputLine, COMMAND_DELIM); > int countTokens = st.countTokens(); >@@ -91,11 +101,57 @@ > while (command.startsWith(COMMAND_PREFIX)) > command = command.substring(1); > // Look at first one and switch >- String[] args = new String[tokens.length - 1]; >+ final String[] args = new String[tokens.length - 1]; > System.arraycopy(tokens, 1, args, 0, tokens.length - 1); >+ >+ // SERVER can be done from root or channel >+ if (command.equalsIgnoreCase(Messages.IRCUI_SERVER_COMMAND)) { >+ int size = args.length; >+ for(int i=0;i<size;i++){ >+ if(i==0){ >+ connectID = getConnectID(args[i]); >+ } >+ else if(i==1){ >+ password = args[i]; >+ } >+ } >+ >+ if(connectID.indexOf("@") == -1){ >+ String nick = username; >+ connectID = nick + "@" + connectID; >+ } >+ >+ try { >+ IContainer container = ContainerFactory.getDefault() >+ .createContainer(Messages.IRCUI_ECF_IRC_CONTAINER_NAME); >+ >+ IConnectContext connectContext = ConnectContextFactory >+ .createPasswordConnectContext(connectID); >+ >+ targetID = IDFactory.getDefault().createID( >+ container.getConnectNamespace(), connectID); >+ >+ IChatRoomManager manager = (IChatRoomManager) container >+ .getAdapter(IChatRoomManager.class); >+ >+ IRCUI ui = new IRCUI(container, manager, null); >+ ui.showForTarget(targetID); >+ // If it's not already connected, then we connect this new container >+ if (!ui.isContainerConnected()) { >+ new AsynchContainerConnectAction(container, targetID, connectContext, null, new Runnable() { >+ public void run() { >+ cachePassword(getPasswordKeyFromUserName(connectID), password); >+ }}).run(); >+ } >+ } catch (Exception e) { >+ e.printStackTrace(); >+ } >+ >+ return null; >+ } > // JOIN can be done from root or channel > if (command.equalsIgnoreCase(Messages.IRCUI_JOIN_COMMAND)) { >- chatroomview.joinRoom(manager.getChatRoomInfo(args[0]), (args.length > 1)?args[1]:""); >+ chatroomview.joinRoom(manager.getChatRoomInfo(args[0]), (args.length > 1)?args[1]:""); //$NON-NLS-1$ > return null; > } > // QUIT can be done from root or channel >@@ -122,8 +178,30 @@ > return inputLine; > > } >- >+ > protected IMessageRenderer getDefaultMessageRenderer() { > return new IRCMessageRenderer(); > } >+ >+ // TODO Share these methods from a common class between IRCConnectWizardPage and IRCUI >+ String getConnectID(String connectText) { >+ String clean = connectText.replaceAll("#",""); >+ return clean; >+ } >+ >+ String getPasswordKeyFromUserName(String username) { >+ if (username == null || username.equals("")) return null; >+ else { >+ int slashIndex = username.indexOf("/"); >+ if (slashIndex == -1) return username; >+ else return username.substring(0,username.indexOf("/")); >+ } >+ } >+ >+ protected void cachePassword(final String connectID, String password) { >+ if (password != null && !password.equals("")) { >+ PasswordCacheHelper pwStorage = new PasswordCacheHelper(connectID); >+ pwStorage.savePassword(password); >+ } >+ } > } >Index: src/org/eclipse/ecf/internal/irc/ui/messages.properties >=================================================================== >RCS file: /cvsroot/technology/org.eclipse.ecf/plugins/org.eclipse.ecf.provider.irc.ui/src/org/eclipse/ecf/internal/irc/ui/messages.properties,v >retrieving revision 1.4 >diff -u -r1.4 messages.properties >--- src/org/eclipse/ecf/internal/irc/ui/messages.properties 26 Jul 2007 20:42:12 -0000 1.4 >+++ src/org/eclipse/ecf/internal/irc/ui/messages.properties 28 Jul 2007 16:56:27 -0000 >@@ -1,6 +1,7 @@ > IRCHyperlink_EXCEPTION_IRC_HYPERLINK=Exception in IRC hyperlink open > IRCConnectWizardPage_CONNECTID_LABEL=Connect ID: > IRCConnectWizardPage_PASSWORD_LABEL=Password: >+IRCUI_SERVER_COMMAND=SERVER > IRCUI_JOIN_COMMAND=JOIN > IRCUI_QUIT_COMMAND=QUIT > IRCUI_DISCONNECT_CONFIRM_TITLE=Disconnect from Server >@@ -8,6 +9,7 @@ > IRCUI_PART_COMMAND=PART > IRCUI_DEPART_CONFIRM_TITLE=Depart from IRC Channel > IRCUI_DEPART_CONFIRM_MESSAGE=Depart from IRC channel {0}? >+IRCUI_ECF_IRC_CONTAINER_NAME=ecf.irc.irclib > IRCConnectWizardPage_WIZARD_PAGE_TITLE=IRC Connection Wizard > IRCConnectWizardPage_WIZARD_PAGE_DESCRIPTION=Specify a user and IRC server to connect to. > IRCConnectWizardPage_STATUS_MESSAGE_EMPTY=A valid connect ID must be specified. >Index: src/org/eclipse/ecf/internal/irc/ui/Messages.java >=================================================================== >RCS file: /cvsroot/technology/org.eclipse.ecf/plugins/org.eclipse.ecf.provider.irc.ui/src/org/eclipse/ecf/internal/irc/ui/Messages.java,v >retrieving revision 1.4 >diff -u -r1.4 Messages.java >--- src/org/eclipse/ecf/internal/irc/ui/Messages.java 26 Jul 2007 20:42:12 -0000 1.4 >+++ src/org/eclipse/ecf/internal/irc/ui/Messages.java 28 Jul 2007 16:56:27 -0000 >@@ -1,5 +1,5 @@ > /**************************************************************************** >- * Copyright (c) 2004 Composent, Inc. and others. >+ * Copyright (c) 2004, 2007 Composent, Inc. and others. > * All rights reserved. This program and the accompanying materials > * are made available under the terms of the Eclipse Public License v1.0 > * which accompanies this distribution, and is available at >@@ -32,6 +32,8 @@ > public static String IRCUI_DEPART_CONFIRM_TITLE; > public static String IRCUI_DISCONNECT_CONFIRM_MESSAGE; > public static String IRCUI_DISCONNECT_CONFIRM_TITLE; >+ public static String IRCUI_ECF_IRC_CONTAINER_NAME; >+ public static String IRCUI_SERVER_COMMAND; > public static String IRCUI_JOIN_COMMAND; > public static String IRCUI_PART_COMMAND; > public static String IRCUI_QUIT_COMMAND;
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 192757
:
74846
|
74847
| 74853