[Tomcat Wiki] Update of "FAQ/Monitoring" by DmytroMrachkovskyi

2013-03-07 Thread Apache Wiki
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Tomcat Wiki" for change 
notification.

The "FAQ/Monitoring" page has been changed by DmytroMrachkovskyi:
http://wiki.apache.org/tomcat/FAQ/Monitoring?action=diff&rev1=13&rev2=14

  
  Another way to watch a Tomcat application is to use an external monitoring 
tool. 
  
- [[http://moskito.anotheria.net/|MoSKito]], an open-source solution by 
[[http://anotheria.net/home.html|Anotheria]], uses the JMXProxyServlet 
interaction for getting JMX beans. It is a multi-purpose, non-invasive, 
interval-based monitoring system kit that collects, stores and provides instant 
analysis of a Tomcat application’s performance and behavior data. 
+ [[http://moskito.anotheria.net/|MoSKito]], an open-source solution by 
[[http://anotheria.net/home.html|Anotheria]], is a multi-purpose, non-invasive, 
interval-based monitoring system kit that collects, stores and provides instant 
analysis of a Tomcat application’s performance and behavior data. 
  
- Other Plug-in-based monitoring software like Nagios or Icinga may need some 
help interacting with Tomcat's JMXProxyServlet. [[tools/check_jmxproxy.pl]] is 
a Perl script that can be used with these tools to monitor Tomcat via the 
JMXProxyServlet.
+ Other plug-in-based monitoring software like Nagios or Icinga may need some 
help interacting with Tomcat's JMXProxyServlet. [[tools/check_jmxproxy.pl]] is 
a Perl script that can be used with these tools to monitor Tomcat via the 
JMXProxyServlet.
  
  
  [[CategoryFAQ]]

-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



svn commit: r1453842 - in /tomcat/trunk/java/javax/websocket/server: HandshakeRequest.java PathParam.java ServerApplicationConfig.java ServerContainer.java ServerContainerProvider.java

2013-03-07 Thread markt
Author: markt
Date: Thu Mar  7 13:03:58 2013
New Revision: 1453842

URL: http://svn.apache.org/r1453842
Log:
Javadoc updates

Modified:
tomcat/trunk/java/javax/websocket/server/HandshakeRequest.java
tomcat/trunk/java/javax/websocket/server/PathParam.java
tomcat/trunk/java/javax/websocket/server/ServerApplicationConfig.java
tomcat/trunk/java/javax/websocket/server/ServerContainer.java
tomcat/trunk/java/javax/websocket/server/ServerContainerProvider.java

Modified: tomcat/trunk/java/javax/websocket/server/HandshakeRequest.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/javax/websocket/server/HandshakeRequest.java?rev=1453842&r1=1453841&r2=1453842&view=diff
==
--- tomcat/trunk/java/javax/websocket/server/HandshakeRequest.java (original)
+++ tomcat/trunk/java/javax/websocket/server/HandshakeRequest.java Thu Mar  7 
13:03:58 2013
@@ -21,6 +21,9 @@ import java.security.Principal;
 import java.util.List;
 import java.util.Map;
 
+/**
+ * Represents the HTTP request that asked to be upgraded to WebSocket.
+ */
 public interface HandshakeRequest {
 
 static final String SEC_WEBSOCKET_KEY = "Sec-WebSocket-Key";

Modified: tomcat/trunk/java/javax/websocket/server/PathParam.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/javax/websocket/server/PathParam.java?rev=1453842&r1=1453841&r2=1453842&view=diff
==
--- tomcat/trunk/java/javax/websocket/server/PathParam.java (original)
+++ tomcat/trunk/java/javax/websocket/server/PathParam.java Thu Mar  7 13:03:58 
2013
@@ -21,6 +21,11 @@ import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
 import java.lang.annotation.Target;
 
+/**
+ * Used to annotate method parameters on POJO endpoints the the {@link
+ * ServerEndpoint} has been defined with a {@link ServerEndpoint#value()} that
+ * uses a URI template.
+ */
 @Retention(RetentionPolicy.RUNTIME)
 @Target(ElementType.PARAMETER)
 public @interface PathParam {

Modified: tomcat/trunk/java/javax/websocket/server/ServerApplicationConfig.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/javax/websocket/server/ServerApplicationConfig.java?rev=1453842&r1=1453841&r2=1453842&view=diff
==
--- tomcat/trunk/java/javax/websocket/server/ServerApplicationConfig.java 
(original)
+++ tomcat/trunk/java/javax/websocket/server/ServerApplicationConfig.java Thu 
Mar  7 13:03:58 2013
@@ -20,10 +20,32 @@ import java.util.Set;
 
 import javax.websocket.Endpoint;
 
+/**
+ * Applications may provide an implementation of this interface to filter the
+ * discovered WebSocket endpoints that are deployed. Implementations of this
+ * class will be discovered via an ServletContainerInitializer scan.
+ */
 public interface ServerApplicationConfig {
 
+/**
+ * Enables applications to filter the discovered implementations of
+ * {@link ServerEndpointConfig}.
+ *
+ * @param scanned   The {@link Endpoint} implementations found in the
+ *  application
+ * @return  The set of configurations for the endpoint the application
+ *  wishes to deploy
+ */
 Set getEndpointConfigs(
 Set> scanned);
 
+/**
+ * Enables applications to filter the discovered classes annotated with
+ * {@link ServerEndpoint}.
+ *
+ * @param scanned   The POJOs annotated with {@link ServerEndpoint} found 
in
+ *  the application
+ * @return  The set of POJOs the application wishes to deploy
+ */
 Set> getAnnotatedEndpointClasses(Set> scanned);
 }

Modified: tomcat/trunk/java/javax/websocket/server/ServerContainer.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/javax/websocket/server/ServerContainer.java?rev=1453842&r1=1453841&r2=1453842&view=diff
==
--- tomcat/trunk/java/javax/websocket/server/ServerContainer.java (original)
+++ tomcat/trunk/java/javax/websocket/server/ServerContainer.java Thu Mar  7 
13:03:58 2013
@@ -19,6 +19,9 @@ package javax.websocket.server;
 import javax.websocket.DeploymentException;
 import javax.websocket.WebSocketContainer;
 
+/**
+ * Provides the ability to deploy endpoints programmatically.
+ */
 public interface ServerContainer extends WebSocketContainer {
 public abstract void addEndpoint(Class clazz) throws 
DeploymentException;
 

Modified: tomcat/trunk/java/javax/websocket/server/ServerContainerProvider.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/javax/websocket/server/ServerContainerProvider.java?rev=1453842&r1=1453841&r2=1453842&view=diff
==
--- tomcat/trunk/java/javax/websocket/server/ServerContainerProvider.java 
(original)
+++ tomcat/trunk/java/ja

svn commit: r1453843 - in /tomcat/trunk/java/org/apache/tomcat/websocket/server: WsSci.java WsServerContainer.java WsServerContainerProvider.java

2013-03-07 Thread markt
Author: markt
Date: Thu Mar  7 13:04:18 2013
New Revision: 1453843

URL: http://svn.apache.org/r1453843
Log:
Align implementation with spec

Modified:
tomcat/trunk/java/org/apache/tomcat/websocket/server/WsSci.java
tomcat/trunk/java/org/apache/tomcat/websocket/server/WsServerContainer.java

tomcat/trunk/java/org/apache/tomcat/websocket/server/WsServerContainerProvider.java

Modified: tomcat/trunk/java/org/apache/tomcat/websocket/server/WsSci.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/server/WsSci.java?rev=1453843&r1=1453842&r2=1453843&view=diff
==
--- tomcat/trunk/java/org/apache/tomcat/websocket/server/WsSci.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/websocket/server/WsSci.java Thu Mar  7 
13:04:18 2013
@@ -16,6 +16,7 @@
  */
 package org.apache.tomcat.websocket.server;
 
+import java.util.HashSet;
 import java.util.Set;
 
 import javax.servlet.ServletContainerInitializer;
@@ -23,14 +24,18 @@ import javax.servlet.ServletContext;
 import javax.servlet.ServletException;
 import javax.servlet.annotation.HandlesTypes;
 import javax.websocket.DeploymentException;
+import javax.websocket.Endpoint;
+import javax.websocket.server.ServerApplicationConfig;
 import javax.websocket.server.ServerEndpoint;
+import javax.websocket.server.ServerEndpointConfig;
 
 /**
  * Registers an interest in any class that is annotated with
  * {@link ServerEndpoint} so that Endpoint can be published via the WebSocket
  * server.
  */
-@HandlesTypes({ServerEndpoint.class})
+@HandlesTypes({ServerEndpoint.class, ServerEndpointConfig.class,
+ServerApplicationConfig.class})
 public class WsSci implements ServletContainerInitializer {
 
 @Override
@@ -43,14 +48,62 @@ public class WsSci implements ServletCon
 return;
 }
 
+// Group the discovered classes by type
+Set serverApplicationConfigs = new 
HashSet<>();
+Set scannedEndpointConfigs = new HashSet<>();
+Set> scannedEndpointClazzes = new 
HashSet<>();
+Set> scannedPojoEndpoints = new HashSet<>();
+
+try {
+for (Class clazz : clazzes) {
+if (ServerApplicationConfig.class.isAssignableFrom(clazz)) {
+serverApplicationConfigs.add(
+(ServerApplicationConfig) clazz.newInstance());
+}
+if (ServerEndpointConfig.class.isAssignableFrom(clazz)) {
+@SuppressWarnings("unchecked")
+Class configClazz =
+(Class) clazz;
+ServerEndpointConfig config = configClazz.newInstance();
+scannedEndpointConfigs.add(config);
+scannedEndpointClazzes.add(
+(Class) 
config.getEndpointClass());
+}
+if (clazz.isAnnotationPresent(ServerEndpoint.class)) {
+scannedPojoEndpoints.add(clazz);
+}
+}
+} catch (InstantiationException | IllegalAccessException e) {
+throw new ServletException(e);
+}
+
+// Filter the results
+Set filteredEndpointConfigs = new HashSet<>();
+Set> filteredPojoEndpoints = new HashSet<>();
+
+if (serverApplicationConfigs.isEmpty()) {
+filteredEndpointConfigs.addAll(scannedEndpointConfigs);
+filteredPojoEndpoints.addAll(scannedPojoEndpoints);
+} else {
+for (ServerApplicationConfig config : serverApplicationConfigs) {
+filteredEndpointConfigs.addAll(
+config.getEndpointConfigs(scannedEndpointClazzes));
+}
+}
+
 WsServerContainer sc = WsServerContainer.getServerContainer();
 sc.setServletContext(ctx);
-for (Class clazz : clazzes) {
-try {
+try {
+// Deploy endpoints
+for (ServerEndpointConfig config : filteredEndpointConfigs) {
+sc.addEndpoint(config);
+}
+// Deploy POJOs
+for (Class clazz : filteredPojoEndpoints) {
 sc.addEndpoint(clazz);
-} catch (DeploymentException e) {
-throw new ServletException(e);
 }
+} catch (DeploymentException e) {
+throw new ServletException(e);
 }
 }
 }

Modified: 
tomcat/trunk/java/org/apache/tomcat/websocket/server/WsServerContainer.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/server/WsServerContainer.java?rev=1453843&r1=1453842&r2=1453843&view=diff
==
--- tomcat/trunk/java/org/apache/tomcat/websocket/server/WsServerContainer.java 
(original)
+++ tomcat/trunk/java/org/apache/tomcat/websocket/server/WsServerContainer.java 
Thu Mar  7 13:

svn commit: r1453845 - /tomcat/trunk/java/javax/websocket/DeploymentException.java

2013-03-07 Thread markt
Author: markt
Date: Thu Mar  7 13:06:46 2013
New Revision: 1453845

URL: http://svn.apache.org/r1453845
Log:
Remove unnecessary TODOs

Modified:
tomcat/trunk/java/javax/websocket/DeploymentException.java

Modified: tomcat/trunk/java/javax/websocket/DeploymentException.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/javax/websocket/DeploymentException.java?rev=1453845&r1=1453844&r2=1453845&view=diff
==
--- tomcat/trunk/java/javax/websocket/DeploymentException.java (original)
+++ tomcat/trunk/java/javax/websocket/DeploymentException.java Thu Mar  7 
13:06:46 2013
@@ -1,32 +1,30 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package javax.websocket;
-
-public class DeploymentException extends Exception {
-
-private static final long serialVersionUID = 1L;
-
-public DeploymentException(String message) {
-super(message);
-// TODO Auto-generated constructor stub
-}
-
-public DeploymentException(String message, Throwable cause) {
-super(message, cause);
-// TODO Auto-generated constructor stub
-}
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package javax.websocket;
+
+public class DeploymentException extends Exception {
+
+private static final long serialVersionUID = 1L;
+
+public DeploymentException(String message) {
+super(message);
+}
+
+public DeploymentException(String message, Throwable cause) {
+super(message, cause);
+}
+}



-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



svn commit: r1453857 - in /tomcat/trunk/java: javax/websocket/ org/apache/tomcat/websocket/

2013-03-07 Thread markt
Author: markt
Date: Thu Mar  7 13:21:30 2013
New Revision: 1453857

URL: http://svn.apache.org/r1453857
Log:
Address some low hanging TODOs

Modified:
tomcat/trunk/java/javax/websocket/Session.java
tomcat/trunk/java/org/apache/tomcat/websocket/BackgroundProcessManager.java
tomcat/trunk/java/org/apache/tomcat/websocket/LocalStrings.properties
tomcat/trunk/java/org/apache/tomcat/websocket/WsFrameBase.java
tomcat/trunk/java/org/apache/tomcat/websocket/WsSession.java

Modified: tomcat/trunk/java/javax/websocket/Session.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/javax/websocket/Session.java?rev=1453857&r1=1453856&r2=1453857&view=diff
==
--- tomcat/trunk/java/javax/websocket/Session.java (original)
+++ tomcat/trunk/java/javax/websocket/Session.java Thu Mar  7 13:21:30 2013
@@ -84,6 +84,10 @@ public interface Session extends Closeab
 
 RemoteEndpoint.Basic getBasicRemote();
 
+/**
+ * Provides a unique identifier for the session. This identifier should not
+ * be relied upon to be generated from a secure random source.
+ */
 String getId();
 
 /**

Modified: 
tomcat/trunk/java/org/apache/tomcat/websocket/BackgroundProcessManager.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/BackgroundProcessManager.java?rev=1453857&r1=1453856&r2=1453857&view=diff
==
--- tomcat/trunk/java/org/apache/tomcat/websocket/BackgroundProcessManager.java 
(original)
+++ tomcat/trunk/java/org/apache/tomcat/websocket/BackgroundProcessManager.java 
Thu Mar  7 13:21:30 2013
@@ -19,7 +19,10 @@ package org.apache.tomcat.websocket;
 import java.util.HashSet;
 import java.util.Set;
 
+import org.apache.juli.logging.Log;
+import org.apache.juli.logging.LogFactory;
 import org.apache.tomcat.util.ExceptionUtils;
+import org.apache.tomcat.util.res.StringManager;
 
 /**
  * Provides a background processing mechanism that triggers roughly once a
@@ -28,6 +31,10 @@ import org.apache.tomcat.util.ExceptionU
  */
 public class BackgroundProcessManager {
 
+private static final Log log =
+LogFactory.getLog(BackgroundProcessManager.class);
+private static final StringManager sm =
+StringManager.getManager(Constants.PACKAGE_NAME);
 private static final BackgroundProcessManager instance;
 
 
@@ -82,8 +89,8 @@ public class BackgroundProcessManager {
 process.backgroundProcess();
 } catch (Throwable t) {
 ExceptionUtils.handleThrowable(t);
-// Ignore anything else
-// TODO Log this
+log.error(sm.getString(
+"backgroundProcessManager.processFailed"), t);
 }
 }
 }

Modified: tomcat/trunk/java/org/apache/tomcat/websocket/LocalStrings.properties
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/LocalStrings.properties?rev=1453857&r1=1453856&r2=1453857&view=diff
==
--- tomcat/trunk/java/org/apache/tomcat/websocket/LocalStrings.properties 
(original)
+++ tomcat/trunk/java/org/apache/tomcat/websocket/LocalStrings.properties Thu 
Mar  7 13:21:30 2013
@@ -13,6 +13,8 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+backgroundProcessManager.processFailed=A background process failed
+
 # Note the wsFrame.* messages are used as close reasons in WebSocket control
 # frames and therefore must be 123 bytes (not characters) or less in length.
 # Messages are encoded using UTF-8 where a single character may be encoded in

Modified: tomcat/trunk/java/org/apache/tomcat/websocket/WsFrameBase.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/WsFrameBase.java?rev=1453857&r1=1453856&r2=1453857&view=diff
==
--- tomcat/trunk/java/org/apache/tomcat/websocket/WsFrameBase.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/websocket/WsFrameBase.java Thu Mar  7 
13:21:30 2013
@@ -60,7 +60,6 @@ public abstract class WsFrameBase {
 onUnmappableCharacter(CodingErrorAction.REPORT);
 private boolean continuationExpected = false;
 private boolean textMessage = false;
-// TODO: May need a new ByteBuffer per message
 private ByteBuffer messageBufferBinary;
 private CharBuffer messageBufferText;
 

Modified: tomcat/trunk/java/org/apache/tomcat/websocket/WsSession.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/WsSession.java?rev=1453857&r1=1453856&r2=1453857&view=diff
==
--- tomcat/trunk/java/org/apache/tomcat/websocket/WsSession.java (original)
+++ tomcat

svn commit: r1453868 - in /tomcat/trunk/java/org/apache/tomcat/websocket: LocalStrings.properties WsWebSocketContainer.java pojo/PojoMessageHandlerBase.java

2013-03-07 Thread markt
Author: markt
Date: Thu Mar  7 13:53:18 2013
New Revision: 1453868

URL: http://svn.apache.org/r1453868
Log:
More low-hanging TODO fruit

Modified:
tomcat/trunk/java/org/apache/tomcat/websocket/LocalStrings.properties
tomcat/trunk/java/org/apache/tomcat/websocket/WsWebSocketContainer.java

tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerBase.java

Modified: tomcat/trunk/java/org/apache/tomcat/websocket/LocalStrings.properties
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/LocalStrings.properties?rev=1453868&r1=1453867&r2=1453868&view=diff
==
--- tomcat/trunk/java/org/apache/tomcat/websocket/LocalStrings.properties 
(original)
+++ tomcat/trunk/java/org/apache/tomcat/websocket/LocalStrings.properties Thu 
Mar  7 13:53:18 2013
@@ -56,6 +56,7 @@ wsSession.removeHandlerFailed=Unable to 
 wsSession.unknownHandler=Unable to add the message handler [{0}] as it was for 
the unrecognised type [{1}]
 
 wsWebSocketContainer.httpRequestFailed=The HTTP request to initiate the 
WebSocket conenction failed
+wsWebSocketContainer.invalidHeader=Unable to parse HTTP header as no colon is 
present to delimit header name and header value in [{0}]. The header has been 
skipped.
 wsWebSocketContainer.invalidStatus=The HTTP response from the server [{0}] did 
not permit the HTTP upgrade to WebSocket
 wsWebSocketContainer.invalidSubProtocol=The WebSocket server returned multiple 
values for the Sec-WebSocket-Protocol header
 wsWebSocketContainer.maxBuffer=This implementation limits the maximum size of 
a buffer to Integer.MAX_VALUE

Modified: 
tomcat/trunk/java/org/apache/tomcat/websocket/WsWebSocketContainer.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/WsWebSocketContainer.java?rev=1453868&r1=1453867&r2=1453868&view=diff
==
--- tomcat/trunk/java/org/apache/tomcat/websocket/WsWebSocketContainer.java 
(original)
+++ tomcat/trunk/java/org/apache/tomcat/websocket/WsWebSocketContainer.java Thu 
Mar  7 13:53:18 2013
@@ -46,6 +46,8 @@ import javax.websocket.Session;
 import javax.websocket.WebSocketContainer;
 import javax.xml.bind.DatatypeConverter;
 
+import org.apache.juli.logging.Log;
+import org.apache.juli.logging.LogFactory;
 import org.apache.tomcat.util.res.StringManager;
 
 public class WsWebSocketContainer
@@ -57,6 +59,7 @@ public class WsWebSocketContainer
 private static final Charset iso88591 = Charset.forName("ISO-8859-1");
 private static final byte[] crlf = new byte[] {13, 10};
 
+private final Log log = LogFactory.getLog(WsWebSocketContainer.class);
 private final Map, Set> endpointSessionMap =
 new HashMap<>();
 private final Map sessions = new 
ConcurrentHashMap<>();
@@ -404,7 +407,7 @@ public class WsWebSocketContainer
 
 int index = line.indexOf(':');
 if (index == -1) {
-// TODO Log invalid header
+log.warn(sm.getString("wsWebSocketContainer.invalidHeader", line));
 return;
 }
 String headerName = line.substring(0, index).trim().toLowerCase();

Modified: 
tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerBase.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerBase.java?rev=1453868&r1=1453867&r2=1453868&view=diff
==
--- 
tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerBase.java 
(original)
+++ 
tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerBase.java 
Thu Mar  7 13:53:18 2013
@@ -59,11 +59,6 @@ public abstract class PojoMessageHandler
 }
 
 RemoteEndpoint.Basic remoteEndpoint = session.getBasicRemote();
-// TODO: Remove this once sendXxx is implemented?
-if (remoteEndpoint == null) {
-return;
-}
-
 try {
 if (result instanceof String) {
 remoteEndpoint.sendText((String) result);



-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



svn commit: r1453881 - /tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoEndpoint.java

2013-03-07 Thread markt
Author: markt
Date: Thu Mar  7 14:15:05 2013
New Revision: 1453881

URL: http://svn.apache.org/r1453881
Log:
Don't always create a new POJO instance for a Server endpoint.

Modified:
tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoEndpoint.java

Modified: tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoEndpoint.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoEndpoint.java?rev=1453881&r1=1453880&r2=1453881&view=diff
==
--- tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoEndpoint.java 
(original)
+++ tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoEndpoint.java Thu 
Mar  7 14:15:05 2013
@@ -44,15 +44,14 @@ public class PojoEndpoint extends Endpoi
 
 
 @Override
-public void onOpen(Session session,
-EndpointConfig endpointConfiguration) {
+public void onOpen(Session session, EndpointConfig endpointConfig) {
 
-ServerEndpointConfig sec =
-(ServerEndpointConfig) endpointConfiguration;
+ServerEndpointConfig sec = (ServerEndpointConfig) endpointConfig;
 
 try {
-pojo = sec.getEndpointClass().newInstance();
-} catch (InstantiationException | IllegalAccessException e) {
+pojo = sec.getConfigurator().getEndpointInstance(
+sec.getEndpointClass());
+} catch (InstantiationException e) {
 // TODO Auto-generated catch block
 e.printStackTrace();
 }



-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



svn commit: r1453885 - /tomcat/trunk/java/org/apache/tomcat/websocket/WsWebSocketContainer.java

2013-03-07 Thread markt
Author: markt
Date: Thu Mar  7 14:18:58 2013
New Revision: 1453885

URL: http://svn.apache.org/r1453885
Log:
More low-hanging TODO fruit

Modified:
tomcat/trunk/java/org/apache/tomcat/websocket/WsWebSocketContainer.java

Modified: 
tomcat/trunk/java/org/apache/tomcat/websocket/WsWebSocketContainer.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/WsWebSocketContainer.java?rev=1453885&r1=1453884&r2=1453885&view=diff
==
--- tomcat/trunk/java/org/apache/tomcat/websocket/WsWebSocketContainer.java 
(original)
+++ tomcat/trunk/java/org/apache/tomcat/websocket/WsWebSocketContainer.java Thu 
Mar  7 14:18:58 2013
@@ -85,8 +85,17 @@ public class WsWebSocketContainer
 @Override
 public Session connectToServer(Class annotatedEndpointClass, URI path)
 throws DeploymentException {
-// TODO Auto-generated method stub
-return null;
+
+Object pojo;
+try {
+pojo = annotatedEndpointClass.newInstance();
+} catch (InstantiationException | IllegalAccessException e) {
+throw new DeploymentException(sm.getString(
+"wsWebSocketContainer.endpointCreateFail",
+annotatedEndpointClass.getName()), e);
+}
+
+return connectToServer(pojo, path);
 }
 
 



-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



buildbot failure in ASF Buildbot on tomcat-trunk

2013-03-07 Thread buildbot
The Buildbot has detected a new failure on builder tomcat-trunk while building 
ASF Buildbot.
Full details are available at:
 http://ci.apache.org/builders/tomcat-trunk/builds/4045

Buildbot URL: http://ci.apache.org/

Buildslave for this Build: bb-vm_ubuntu

Build Reason: scheduler
Build Source Stamp: [branch tomcat/trunk] 1453885
Blamelist: markt

BUILD FAILED: failed compile_1

sincerely,
 -The Buildbot





svn commit: r1453911 - /tomcat/trunk/java/org/apache/tomcat/websocket/server/DefaultServerEndpointConfigurator.java

2013-03-07 Thread markt
Author: markt
Date: Thu Mar  7 15:13:38 2013
New Revision: 1453911

URL: http://svn.apache.org/r1453911
Log:
Fix infinite loop

Modified:

tomcat/trunk/java/org/apache/tomcat/websocket/server/DefaultServerEndpointConfigurator.java

Modified: 
tomcat/trunk/java/org/apache/tomcat/websocket/server/DefaultServerEndpointConfigurator.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/server/DefaultServerEndpointConfigurator.java?rev=1453911&r1=1453910&r2=1453911&view=diff
==
--- 
tomcat/trunk/java/org/apache/tomcat/websocket/server/DefaultServerEndpointConfigurator.java
 (original)
+++ 
tomcat/trunk/java/org/apache/tomcat/websocket/server/DefaultServerEndpointConfigurator.java
 Thu Mar  7 15:13:38 2013
@@ -30,6 +30,19 @@ public class DefaultServerEndpointConfig
 extends ServerEndpointConfig.Configurator {
 
 @Override
+public  T getEndpointInstance(Class clazz)
+throws InstantiationException {
+try {
+return clazz.newInstance();
+} catch (IllegalAccessException e) {
+InstantiationException ie = new InstantiationException();
+ie.initCause(e);
+throw ie;
+}
+}
+
+
+@Override
 public String getNegotiatedSubprotocol(List supported,
 List requested) {
 



-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



svn commit: r1453931 - /tomcat/trunk/java/javax/websocket/ClientEndpoint.java

2013-03-07 Thread markt
Author: markt
Date: Thu Mar  7 15:52:54 2013
New Revision: 1453931

URL: http://svn.apache.org/r1453931
Log:
Add missing defaults

Modified:
tomcat/trunk/java/javax/websocket/ClientEndpoint.java

Modified: tomcat/trunk/java/javax/websocket/ClientEndpoint.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/javax/websocket/ClientEndpoint.java?rev=1453931&r1=1453930&r2=1453931&view=diff
==
--- tomcat/trunk/java/javax/websocket/ClientEndpoint.java (original)
+++ tomcat/trunk/java/javax/websocket/ClientEndpoint.java Thu Mar  7 15:52:54 
2013
@@ -26,9 +26,9 @@ import javax.websocket.ClientEndpointCon
 @Retention(RetentionPolicy.RUNTIME)
 @Target(ElementType.TYPE)
 public @interface ClientEndpoint {
-String[] subprotocols();
-Class[] decoders();
-Class[] encoders();
+String[] subprotocols() default {};
+Class[] decoders() default {};
+Class[] encoders() default {};
 public Class configurator()
 default Configurator.class;
 }



-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



buildbot success in ASF Buildbot on tomcat-trunk

2013-03-07 Thread buildbot
The Buildbot has detected a restored build on builder tomcat-trunk while 
building ASF Buildbot.
Full details are available at:
 http://ci.apache.org/builders/tomcat-trunk/builds/4046

Buildbot URL: http://ci.apache.org/

Buildslave for this Build: bb-vm_ubuntu

Build Reason: scheduler
Build Source Stamp: [branch tomcat/trunk] 1453911
Blamelist: markt

Build succeeded!

sincerely,
 -The Buildbot





Teste de Ausencia

2013-03-07 Thread atendimento

Estarei ausente do escritório a partir de Qui, 11/08/2011 e não retornarei
antes de Ter, 13/08/2030.

Este e-mail sera desativado.


-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



svn commit: r1454011 - in /tomcat/tc7.0.x/tags/TOMCAT_7_0_38: ./ build.properties.default

2013-03-07 Thread markt
Author: markt
Date: Thu Mar  7 19:13:24 2013
New Revision: 1454011

URL: http://svn.apache.org/r1454011
Log:
Tag 7.0.38

Added:
tomcat/tc7.0.x/tags/TOMCAT_7_0_38/   (props changed)
  - copied from r1454009, tomcat/tc7.0.x/trunk/
Modified:
tomcat/tc7.0.x/tags/TOMCAT_7_0_38/build.properties.default

Propchange: tomcat/tc7.0.x/tags/TOMCAT_7_0_38/
--
bugtraq:append = false

Propchange: tomcat/tc7.0.x/tags/TOMCAT_7_0_38/
--
bugtraq:label = Bugzilla ID (optional)

Propchange: tomcat/tc7.0.x/tags/TOMCAT_7_0_38/
--
--- bugtraq:message (added)
+++ bugtraq:message Thu Mar  7 19:13:24 2013
@@ -0,0 +1 @@
+Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=%BUGID%

Propchange: tomcat/tc7.0.x/tags/TOMCAT_7_0_38/
--
bugtraq:number = true

Propchange: tomcat/tc7.0.x/tags/TOMCAT_7_0_38/
--
bugtraq:url = https://issues.apache.org/bugzilla/show_bug.cgi?id=%BUGID%

Propchange: tomcat/tc7.0.x/tags/TOMCAT_7_0_38/
--
bugtraq:warnifnoissue = false

Propchange: tomcat/tc7.0.x/tags/TOMCAT_7_0_38/
--
--- svn:ignore (added)
+++ svn:ignore Thu Mar  7 19:13:24 2013
@@ -0,0 +1,7 @@
+.*
+build.properties
+logs
+nbproject
+output
+work
+*.iml

Propchange: tomcat/tc7.0.x/tags/TOMCAT_7_0_38/
--
--- svn:mergeinfo (added)
+++ svn:mergeinfo Thu Mar  7 19:13:24 2013
@@ -0,0 +1 @@
+/tomcat/trunk:1156115-1157160,1157162-1157859,1157862-1157942,1157945-1160347,1160349-1163716,1163718-1166689,1166691-1174340,1174342-1175596,1175598-1175611,1175613-1175932,1175934-1177783,1177785-1177980,1178006-1180720,1180722-1183094,1183096-1187753,1187755,1187775,1187801,1187806,1187809,1187826-1188312,1188314-1188401,1188646-1188840,1188842-1190176,1190178-1195223,1195225-1195953,1195955,1195957-1201238,1201240-1203345,1203347-1206623,1206625-1208046,1208073,1208096,1208114,1208145,1208772,1209194-1212125,1212127-1220291,1220293,1220295-1221321,1221323-1222328,1222332-1222401,1222405-1222795,1222850-1222950,1222969-1225326,1225328-1225463,1225465,1225627,1225629-1226534,1226536-1228908,1228911-1228923,1228927-1229532,1229534-1230766,1230768-1231625,1231627-1233414,1233419-1235207,1235209-1237425,1237427,1237429-1237977,1237981,1237985,1237995,1238070,1238073,1239024-1239048,1239050-1239062,1239135,1239256,1239258-1239485,1239785-1240046,1240101,1240106,1240109,1240112
 
,1240114,1240116,1240118,1240121,1240329,1240474-1240850,1240857,1241087,1241160,1241408-1241822,1241908-1241909,1241912-1242110,1242371-1292130,1292134-1292458,1292464-1292670,1292672-1292776,1292780-1293392,1293397-1297017,1297019-1297963,1297965-1299820,1300108,1300111-1300460,1300520-1300948,1300997,1301006,1301280,1302332,1302348,1302608-1302610,1302649,1302837,1303138,1303163,1303338,1303521,1303587,1303698,1303803,1303852,1304011,1304035,1304037,1304135,1304249,1304253,1304260,1304271,1304275,1304468,1304895,1304930-1304932,1305194,1305943,1305965,1306556,1306579-1306580,1307084,1307310,1307511-1307512,1307579,1307591,1307597,1310636,1310639-1310640,1310642,1310701,1311212,1311995,1327617,1327670,1331766,1333161,1333173,1333827,1334787,1335026,1335257,1335547,1335692,1335711,1335731,1336515,1336813,1336864,1336868,1336884,1337419,1337426,1337546,1337572,1337591-1337595,1337643,1337707,1337719,1337734,1337741,1337745,1338151-1338154,1338178,1342027,1342029,1342315,1342
 
320,1342476,1342498,1342503,1342717,1342795,1342805,1343044-1343046,1343335,1343394,1343400,1343629,1343708,1343718,1343895,1344063,1344068,1344250,1344266,1344515,1344528,1344612,1344629,1344725,1344868,1344890,1344893,1344896,1344901,1345020,1345029,1345039,1345287-1345290,1345294,1345309,1345325,1345357,1345367,1345579-1345580,1345582,1345688,1345699,1345704,1345731-1345732,1345737,1345744,1345752,1345754,1345779,1345781,1345846,1346107,1346376,1346404,1346510,1346514,1346519,1346581,1346635,1346644,1346683,1346794,1346885,1346932,1347034,1347047,1347087,1347108-1347109,1347583,1347737,1348105,1348357,1348398,1348425,1348461-1348495,1348498,1348752,1348762,1348772,1348776,1348859,1348968,1348973,1348989,1349007,1349237,1349298,1349317,1349410,1349473,1349539,1349879,1349887,1349893,1349922,1349984,1350124,1350241,1350243,1350294-1350295,1350299,1350864,1350900,1351010,1351054,1351056,1351068,1351134-1351135,1351148,1351259,1351604,1351636-1351640,1351991,1351993,1352011,1
 
352056,1352059,1352661,1352663,1352788,1352799,1353087,1353125,1353240,1353261,1353414,1353468,1353501,1353581,13537

svn commit: r1454012 - in /tomcat/tc7.0.x/trunk: build.properties.default res/maven/mvn.properties.default

2013-03-07 Thread markt
Author: markt
Date: Thu Mar  7 19:14:18 2013
New Revision: 1454012

URL: http://svn.apache.org/r1454012
Log:
Update Tomcat version

Modified:
tomcat/tc7.0.x/trunk/build.properties.default
tomcat/tc7.0.x/trunk/res/maven/mvn.properties.default

Modified: tomcat/tc7.0.x/trunk/build.properties.default
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/build.properties.default?rev=1454012&r1=1454011&r2=1454012&view=diff
==
--- tomcat/tc7.0.x/trunk/build.properties.default (original)
+++ tomcat/tc7.0.x/trunk/build.properties.default Thu Mar  7 19:14:18 2013
@@ -27,7 +27,7 @@
 # - Version Control Flags -
 version.major=7
 version.minor=0
-version.build=38
+version.build=39
 version.patch=0
 version.suffix=-dev
 

Modified: tomcat/tc7.0.x/trunk/res/maven/mvn.properties.default
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/res/maven/mvn.properties.default?rev=1454012&r1=1454011&r2=1454012&view=diff
==
--- tomcat/tc7.0.x/trunk/res/maven/mvn.properties.default (original)
+++ tomcat/tc7.0.x/trunk/res/maven/mvn.properties.default Thu Mar  7 19:14:18 
2013
@@ -35,7 +35,7 @@ maven.asf.release.repo.url=https://repos
 maven.asf.release.repo.repositoryId=apache.releases
 
 # Release version info
-maven.asf.release.deploy.version=7.0.38
+maven.asf.release.deploy.version=7.0.39
 
 #Where do we load the libraries from
 tomcat.lib.path=../../output/build/lib



-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[jira] [Created] (MTOMCAT-214) Default attachArtifactClassifierType for AbstractStandaloneWarMojo should be war

2013-03-07 Thread Tim Astle (JIRA)
Tim Astle created MTOMCAT-214:
-

 Summary: Default attachArtifactClassifierType for 
AbstractStandaloneWarMojo should be war
 Key: MTOMCAT-214
 URL: https://issues.apache.org/jira/browse/MTOMCAT-214
 Project: Apache Tomcat Maven Plugin
  Issue Type: Bug
  Components: tomcat7
Affects Versions: 2.1
Reporter: Tim Astle
Assignee: Olivier Lamy (*$^¨%`£)
Priority: Minor


This problem can be worked around by explicitly defining "war" for the 
attachArtifactClassifierType, but it should be war by default.

This behaviour was discovered when deploying.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[jira] [Updated] (MTOMCAT-214) Default attachArtifactClassifierType for AbstractStandaloneWarMojo should be war

2013-03-07 Thread Tim Astle (JIRA)

 [ 
https://issues.apache.org/jira/browse/MTOMCAT-214?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tim Astle updated MTOMCAT-214:
--

Attachment: AbstractStandaloneWarMojo.java.patch

I think this is all needs to be changed.  Running a local build now and 
stepping out, will add another note when confirmed.

> Default attachArtifactClassifierType for AbstractStandaloneWarMojo should be 
> war
> 
>
> Key: MTOMCAT-214
> URL: https://issues.apache.org/jira/browse/MTOMCAT-214
> Project: Apache Tomcat Maven Plugin
>  Issue Type: Bug
>  Components: tomcat7
>Affects Versions: 2.1
>Reporter: Tim Astle
>Assignee: Olivier Lamy (*$^¨%`£)
>Priority: Minor
> Attachments: AbstractStandaloneWarMojo.java.patch
>
>
> This problem can be worked around by explicitly defining "war" for the 
> attachArtifactClassifierType, but it should be war by default.
> This behaviour was discovered when deploying.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



svn commit: r1454125 - in /tomcat/trunk: java/org/apache/tomcat/websocket/ java/org/apache/tomcat/websocket/pojo/ java/org/apache/tomcat/websocket/server/ test/org/apache/tomcat/websocket/

2013-03-07 Thread markt
Author: markt
Date: Thu Mar  7 22:09:15 2013
New Revision: 1454125

URL: http://svn.apache.org/r1454125
Log:
Client side POJO support with a simple test case

Added:
tomcat/trunk/java/org/apache/tomcat/websocket/pojo/Constants.java   (with 
props)
tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoEndpointBase.java   
(with props)
tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoEndpointClient.java  
 (with props)
tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoEndpointServer.java
  - copied, changed from r1453881, 
tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoEndpoint.java
Removed:
tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoEndpoint.java
Modified:
tomcat/trunk/java/org/apache/tomcat/websocket/LocalStrings.properties
tomcat/trunk/java/org/apache/tomcat/websocket/WsWebSocketContainer.java
tomcat/trunk/java/org/apache/tomcat/websocket/pojo/LocalStrings.properties
tomcat/trunk/java/org/apache/tomcat/websocket/server/LocalStrings.properties
tomcat/trunk/java/org/apache/tomcat/websocket/server/UriTemplate.java
tomcat/trunk/java/org/apache/tomcat/websocket/server/WsServerContainer.java
tomcat/trunk/java/org/apache/tomcat/websocket/server/WsServlet.java
tomcat/trunk/test/org/apache/tomcat/websocket/TestWsRemoteEndpoint.java
tomcat/trunk/test/org/apache/tomcat/websocket/TestWsWebSocketContainer.java
tomcat/trunk/test/org/apache/tomcat/websocket/TesterSingleMessageClient.java

Modified: tomcat/trunk/java/org/apache/tomcat/websocket/LocalStrings.properties
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/LocalStrings.properties?rev=1454125&r1=1454124&r2=1454125&view=diff
==
--- tomcat/trunk/java/org/apache/tomcat/websocket/LocalStrings.properties 
(original)
+++ tomcat/trunk/java/org/apache/tomcat/websocket/LocalStrings.properties Thu 
Mar  7 22:09:15 2013
@@ -55,11 +55,12 @@ wsSession.invalidHandlerTypePong=A pong 
 wsSession.removeHandlerFailed=Unable to remove the handler [{0}] as it was not 
registered with this session
 wsSession.unknownHandler=Unable to add the message handler [{0}] as it was for 
the unrecognised type [{1}]
 
+wsWebSocketContainer.defaultConfiguratorFaill=Failed to create the default 
configurator
+wsWebSocketContainer.endpointCreateFail=Failed to create a local endpoint of 
type [{0}]
 wsWebSocketContainer.httpRequestFailed=The HTTP request to initiate the 
WebSocket conenction failed
 wsWebSocketContainer.invalidHeader=Unable to parse HTTP header as no colon is 
present to delimit header name and header value in [{0}]. The header has been 
skipped.
 wsWebSocketContainer.invalidStatus=The HTTP response from the server [{0}] did 
not permit the HTTP upgrade to WebSocket
 wsWebSocketContainer.invalidSubProtocol=The WebSocket server returned multiple 
values for the Sec-WebSocket-Protocol header
 wsWebSocketContainer.maxBuffer=This implementation limits the maximum size of 
a buffer to Integer.MAX_VALUE
 wsWebSocketContainer.pathNoHost=No host was specified in URI
-wsWebSocketContainer.pathWrongScheme=The scheme [{0}] is not supported
-wsWebSocketContainer.endpointCreateFail=Failed to create a local endpoint of 
type [{0}]
\ No newline at end of file
+wsWebSocketContainer.pathWrongScheme=The scheme [{0}] is not supported
\ No newline at end of file

Modified: 
tomcat/trunk/java/org/apache/tomcat/websocket/WsWebSocketContainer.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/WsWebSocketContainer.java?rev=1454125&r1=1454124&r2=1454125&view=diff
==
--- tomcat/trunk/java/org/apache/tomcat/websocket/WsWebSocketContainer.java 
(original)
+++ tomcat/trunk/java/org/apache/tomcat/websocket/WsWebSocketContainer.java Thu 
Mar  7 22:09:15 2013
@@ -37,6 +37,7 @@ import java.util.concurrent.ConcurrentHa
 import java.util.concurrent.ExecutionException;
 import java.util.concurrent.Future;
 
+import javax.websocket.ClientEndpoint;
 import javax.websocket.ClientEndpointConfig;
 import javax.websocket.DeploymentException;
 import javax.websocket.Endpoint;
@@ -49,6 +50,7 @@ import javax.xml.bind.DatatypeConverter;
 import org.apache.juli.logging.Log;
 import org.apache.juli.logging.LogFactory;
 import org.apache.tomcat.util.res.StringManager;
+import org.apache.tomcat.websocket.pojo.PojoEndpointClient;
 
 public class WsWebSocketContainer
 implements WebSocketContainer, BackgroundProcess {
@@ -77,8 +79,28 @@ public class WsWebSocketContainer
 @Override
 public Session connectToServer(Object pojo, URI path)
 throws DeploymentException {
-// TODO Auto-generated method stub
-return null;
+
+Endpoint ep = new PojoEndpointClient(pojo);
+
+Class configuratorClazz =
+pojo.getClass().getAnnotation(
+Clien

svn commit: r1454145 - /tomcat/trunk/java/org/apache/tomcat/websocket/pojo/

2013-03-07 Thread markt
Author: markt
Date: Thu Mar  7 22:46:49 2013
New Revision: 1454145

URL: http://svn.apache.org/r1454145
Log:
Align pojo package with async->partial and basic->whole renaming in API

Added:

tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerPartialBase.java
  - copied, changed from r1453502, 
tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerAsyncBase.java

tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerPartialBinary.java
  - copied, changed from r1453502, 
tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerAsyncBinary.java

tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerPartialString.java
  - copied, changed from r1453502, 
tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerAsyncString.java

tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerWholeBase.java
  - copied, changed from r1453502, 
tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerBasicBase.java

tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerWholeBinary.java
  - copied, changed from r1453502, 
tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerBasicBinary.java

tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerWholePong.java
  - copied, changed from r1453502, 
tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerBasicPong.java

tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerWholeString.java
  - copied, changed from r1453502, 
tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerBasicString.java
Removed:

tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerAsyncBase.java

tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerAsyncBinary.java

tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerAsyncString.java

tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerBasicBase.java

tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerBasicBinary.java

tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerBasicPong.java

tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerBasicString.java
Modified:
tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMethodMapping.java

Copied: 
tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerPartialBase.java
 (from r1453502, 
tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerAsyncBase.java)
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerPartialBase.java?p2=tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerPartialBase.java&p1=tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerAsyncBase.java&r1=1453502&r2=1454145&rev=1454145&view=diff
==
--- 
tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerAsyncBase.java
 (original)
+++ 
tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerPartialBase.java
 Thu Mar  7 22:46:49 2013
@@ -24,17 +24,17 @@ import javax.websocket.MessageHandler;
 import javax.websocket.Session;
 
 /**
- * Common implementation code for the POJO asynchronous message handlers. All
+ * Common implementation code for the POJO partial message handlers. All
  * the real work is done in this class and in the superclass.
  *
  * @paramThe type of message to handle
  */
-public abstract class PojoMessageHandlerAsyncBase
+public abstract class PojoMessageHandlerPartialBase
 extends PojoMessageHandlerBase implements MessageHandler.Partial 
{
 
 private final int indexBoolean;
 
-public PojoMessageHandlerAsyncBase(Object pojo, Method method,
+public PojoMessageHandlerPartialBase(Object pojo, Method method,
 Session session, Object[] params, int indexPayload,
 boolean unwrap, int indexBoolean, int indexSession) {
 super(pojo, method, session, params, indexPayload, unwrap,

Copied: 
tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerPartialBinary.java
 (from r1453502, 
tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerAsyncBinary.java)
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerPartialBinary.java?p2=tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerPartialBinary.java&p1=tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerAsyncBinary.java&r1=1453502&r2=1454145&rev=1454145&view=diff
==
--- 
tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerAsyncBinary.java
 (original)
+++ 
tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandl

[VOTE] Release Apache Tomcat 7.0.38

2013-03-07 Thread Mark Thomas
The proposed Apache Tomcat 7.0.38 release is now available for voting.

It can be obtained from:
https://dist.apache.org/repos/dist/dev/tomcat/tomcat-7/v7.0.38/
The Maven staging repo is:
https://repository.apache.org/content/repositories/orgapachetomcat-002/
The svn tag is:
http://svn.apache.org/repos/asf/tomcat/tc7.0.x/tags/TOMCAT_7_0_38/

The proposed 7.0.38 release is:
[ ] Broken - do not release
[ ] Stable - go ahead and release as 7.0.38 Stable

Cheers,

Mark

-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



svn commit: r1454150 - in /tomcat/trunk/java/org/apache/tomcat/websocket/pojo: PojoMessageHandlerPartialString.java PojoMessageHandlerPartialText.java PojoMessageHandlerWholeString.java PojoMessageHan

2013-03-07 Thread markt
Author: markt
Date: Thu Mar  7 22:51:52 2013
New Revision: 1454150

URL: http://svn.apache.org/r1454150
Log:
Align pojo package with String->Text renaming in API

Added:

tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerPartialText.java
  - copied, changed from r1454145, 
tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerPartialString.java

tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerWholeText.java
  - copied, changed from r1454145, 
tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerWholeString.java
Removed:

tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerPartialString.java

tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerWholeString.java
Modified:
tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMethodMapping.java

Copied: 
tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerPartialText.java
 (from r1454145, 
tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerPartialString.java)
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerPartialText.java?p2=tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerPartialText.java&p1=tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerPartialString.java&r1=1454145&r2=1454150&rev=1454150&view=diff
==
--- 
tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerPartialString.java
 (original)
+++ 
tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerPartialText.java
 Thu Mar  7 22:51:52 2013
@@ -21,12 +21,12 @@ import java.lang.reflect.Method;
 import javax.websocket.Session;
 
 /**
- * String specific concrete partial implementation.
+ * Text specific concrete partial implementation.
  */
-public class PojoMessageHandlerPartialString
+public class PojoMessageHandlerPartialText
 extends PojoMessageHandlerPartialBase{
 
-public PojoMessageHandlerPartialString(Object pojo, Method method,
+public PojoMessageHandlerPartialText(Object pojo, Method method,
 Session session, Object[] params, int indexPayload, boolean unwrap,
 int indexBoolean, int indexSession) {
 super(pojo, method, session, params, indexPayload, unwrap, 
indexBoolean,

Copied: 
tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerWholeText.java
 (from r1454145, 
tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerWholeString.java)
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerWholeText.java?p2=tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerWholeText.java&p1=tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerWholeString.java&r1=1454145&r2=1454150&rev=1454150&view=diff
==
--- 
tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerWholeString.java
 (original)
+++ 
tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerWholeText.java
 Thu Mar  7 22:51:52 2013
@@ -21,12 +21,12 @@ import java.lang.reflect.Method;
 import javax.websocket.Session;
 
 /**
- * String specific concrete whole message implementation.
+ * Text specific concrete whole message implementation.
  */
-public class PojoMessageHandlerWholeString
+public class PojoMessageHandlerWholeText
 extends PojoMessageHandlerWholeBase {
 
-public PojoMessageHandlerWholeString(Object pojo, Method method,
+public PojoMessageHandlerWholeText(Object pojo, Method method,
 Session session, Object[] params, int indexPayload, boolean unwrap,
 int indexSession) {
 super(pojo, method, session, params, indexPayload, unwrap,

Modified: 
tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMethodMapping.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMethodMapping.java?rev=1454150&r1=1454149&r2=1454150&view=diff
==
--- tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMethodMapping.java 
(original)
+++ tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMethodMapping.java 
Thu Mar  7 22:51:52 2013
@@ -348,7 +348,7 @@ public class PojoMethodMapping {
 if (indexBoolean == -1) {
 // Basic
 if (indexString != -1) {
-mh = new PojoMessageHandlerWholeString(pojo, m,  session,
+mh = new PojoMessageHandlerWholeText(pojo, m,  session,
 params, indexString, false, indexSession);
 } else if (indexByteArray != -1) {
 mh = new PojoMessageHandlerWholeBinary(pojo, m, session,
@@ -363,7 +363,7 @@ public class

svn commit: r1454166 - in /tomcat/trunk/java/org/apache/tomcat/websocket/pojo: PojoMessageHandlerWholeBase.java PojoMessageHandlerWholeBinary.java PojoMessageHandlerWholePong.java PojoMessageHandlerWh

2013-03-07 Thread markt
Author: markt
Date: Thu Mar  7 23:27:12 2013
New Revision: 1454166

URL: http://svn.apache.org/r1454166
Log:
Better unwrapping of messages
Start to add plumbing for decoding

Modified:

tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerWholeBase.java

tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerWholeBinary.java

tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerWholePong.java

tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerWholeText.java

Modified: 
tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerWholeBase.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerWholeBase.java?rev=1454166&r1=1454165&r2=1454166&view=diff
==
--- 
tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerWholeBase.java
 (original)
+++ 
tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerWholeBase.java
 Thu Mar  7 23:27:12 2013
@@ -42,15 +42,29 @@ public abstract class PojoMessageHandler
 
 @Override
 public final void onMessage(T message) {
+
+// Can this message be decoded?
+Object payload = decode(message);
+
+if (payload == null) {
+// Not decoded. Unwrap if required. Unwrap only ever applies to
+// ByteBuffers
+if (unwrap) {
+ByteBuffer bb = (ByteBuffer) message;
+byte[] array = new byte[bb.remaining()];
+bb.get(array);
+payload = array;
+} else {
+payload = message;
+}
+}
+
 Object[] parameters = params.clone();
 if (indexSession != -1) {
 parameters[indexSession] = session;
 }
-if (unwrap) {
-parameters[indexPayload] = ((ByteBuffer) message).array();
-} else {
-parameters[indexPayload] = message;
-}
+parameters[indexPayload] = payload;
+
 Object result;
 try {
 result = method.invoke(pojo, parameters);
@@ -59,4 +73,7 @@ public abstract class PojoMessageHandler
 }
 processResult(result);
 }
+
+
+protected abstract Object decode(T message);
 }

Modified: 
tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerWholeBinary.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerWholeBinary.java?rev=1454166&r1=1454165&r2=1454166&view=diff
==
--- 
tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerWholeBinary.java
 (original)
+++ 
tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerWholeBinary.java
 Thu Mar  7 23:27:12 2013
@@ -32,4 +32,10 @@ public class PojoMessageHandlerWholeBina
 int indexSession) {
 super(pojo, method, session, params, indexPayload, unwrap, 
indexSession);
 }
+
+@Override
+protected Object decode(ByteBuffer message) {
+// TODO Not implemented
+return null;
+}
 }

Modified: 
tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerWholePong.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerWholePong.java?rev=1454166&r1=1454165&r2=1454166&view=diff
==
--- 
tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerWholePong.java
 (original)
+++ 
tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerWholePong.java
 Thu Mar  7 23:27:12 2013
@@ -32,4 +32,10 @@ public class PojoMessageHandlerWholePong
 int indexSession) {
 super(pojo, method, session, params, indexPayload, unwrap, 
indexSession);
 }
+
+@Override
+protected Object decode(PongMessage message) {
+// Never decoded
+return null;
+}
 }

Modified: 
tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerWholeText.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerWholeText.java?rev=1454166&r1=1454165&r2=1454166&view=diff
==
--- 
tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerWholeText.java
 (original)
+++ 
tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerWholeText.java
 Thu Mar  7 23:27:12 2013
@@ -32,4 +32,10 @@ public class PojoMessageHandlerWholeText
 super(pojo, method, session, params, indexPayload, unwrap,
 indexSession);
 }
+
+@Override
+protected Object decode(String message) {
+// TODO Auto-generated method stub
+return null;
+}
 }



---

WebSocket progress report

2013-03-07 Thread Mark Thomas
The current status of the WebSocket implementation is largely complete.

The remaining TODOs are (in roughly the order I intend to tackle them):

1. Implement decoding
2. Figure out why there are failures in Autobahn with WSS and NIO and
APR/native
3. Run the TCK (as an EG member I have early access to this until 30th
April mainly to test the TCK).
4. Implement WSS for the client
5. Fix all the various places where I didn't get around to / forgot to
complete the plumbing
6. Read the spec carefully and check the implementation against it
7. Improve HTTP header parsing for the client

As always any help is appreciated.

Mark

-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[jira] [Commented] (MTOMCAT-214) Default attachArtifactClassifierType for AbstractStandaloneWarMojo should be war

2013-03-07 Thread Tim Astle (JIRA)

[ 
https://issues.apache.org/jira/browse/MTOMCAT-214?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13596565#comment-13596565
 ] 

Tim Astle commented on MTOMCAT-214:
---

Build passed, looks good.  If this could be included in the next release (2.2), 
that'd be great.

> Default attachArtifactClassifierType for AbstractStandaloneWarMojo should be 
> war
> 
>
> Key: MTOMCAT-214
> URL: https://issues.apache.org/jira/browse/MTOMCAT-214
> Project: Apache Tomcat Maven Plugin
>  Issue Type: Bug
>  Components: tomcat7
>Affects Versions: 2.1
>Reporter: Tim Astle
>Assignee: Olivier Lamy (*$^¨%`£)
>Priority: Minor
> Attachments: AbstractStandaloneWarMojo.java.patch
>
>
> This problem can be worked around by explicitly defining "war" for the 
> attachArtifactClassifierType, but it should be war by default.
> This behaviour was discovered when deploying.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



svn commit: r1454181 - /tomcat/trunk/java/org/apache/tomcat/websocket/pojo/

2013-03-07 Thread markt
Author: markt
Date: Fri Mar  8 00:09:27 2013
New Revision: 1454181

URL: http://svn.apache.org/r1454181
Log:
More decoder plumbing

Modified:
tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoEndpointBase.java
tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoEndpointClient.java
tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoEndpointServer.java

tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerWholeBase.java

tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerWholeBinary.java

tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerWholePong.java

tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerWholeText.java
tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMethodMapping.java

Modified: 
tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoEndpointBase.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoEndpointBase.java?rev=1454181&r1=1454180&r2=1454181&view=diff
==
--- tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoEndpointBase.java 
(original)
+++ tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoEndpointBase.java 
Fri Mar  8 00:09:27 2013
@@ -18,9 +18,11 @@ package org.apache.tomcat.websocket.pojo
 
 import java.lang.reflect.InvocationTargetException;
 import java.util.Map;
+import java.util.Set;
 
 import javax.websocket.CloseReason;
 import javax.websocket.Endpoint;
+import javax.websocket.EndpointConfig;
 import javax.websocket.MessageHandler;
 import javax.websocket.Session;
 
@@ -39,7 +41,7 @@ public abstract class PojoEndpointBase e
 private PojoMethodMapping methodMapping;
 
 
-protected final void doOnOpen(Session session) {
+protected final void doOnOpen(Session session, EndpointConfig config) {
 PojoMethodMapping methodMapping = getMethodMapping();
 Object pojo = getPojo();
 Map pathParameters = getPathParameters();
@@ -55,7 +57,7 @@ public abstract class PojoEndpointBase e
 }
 }
 for (MessageHandler mh : methodMapping.getMessageHandlers(pojo,
-pathParameters, session)) {
+pathParameters, session, config)) {
 session.addMessageHandler(mh);
 }
 }
@@ -74,6 +76,14 @@ public abstract class PojoEndpointBase e
 pojo.getClass().getName()), e);
 }
 }
+
+// Trigger the destroy method for any associated decoders
+Set messageHandlers = session.getMessageHandlers();
+for (MessageHandler messageHandler : messageHandlers) {
+if (messageHandler instanceof PojoMessageHandlerWholeBase) {
+((PojoMessageHandlerWholeBase) messageHandler).onClose();
+}
+}
 }
 
 

Modified: 
tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoEndpointClient.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoEndpointClient.java?rev=1454181&r1=1454180&r2=1454181&view=diff
==
--- tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoEndpointClient.java 
(original)
+++ tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoEndpointClient.java 
Fri Mar  8 00:09:27 2013
@@ -32,6 +32,6 @@ public class PojoEndpointClient extends 
 
 @Override
 public void onOpen(Session session, EndpointConfig config) {
-doOnOpen(session);
+doOnOpen(session, config);
 }
 }

Modified: 
tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoEndpointServer.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoEndpointServer.java?rev=1454181&r1=1454180&r2=1454181&view=diff
==
--- tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoEndpointServer.java 
(original)
+++ tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoEndpointServer.java 
Fri Mar  8 00:09:27 2013
@@ -66,6 +66,6 @@ public class PojoEndpointServer extends 
 POJO_METHOD_MAPPING_KEY);
 setMethodMapping(methodMapping);
 
-doOnOpen(session);
+doOnOpen(session, endpointConfig);
 }
 }

Modified: 
tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerWholeBase.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerWholeBase.java?rev=1454181&r1=1454180&r2=1454181&view=diff
==
--- 
tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerWholeBase.java
 (original)
+++ 
tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerWholeBase.java
 Fri Mar  8 00:09:27 2013
@@ -76,4 +76,5 @@ public abstract class PojoMessageHandler