You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by cd...@apache.org on 2014/05/05 22:08:21 UTC
[07/51] [partial] FLEX-34306 - [BlazeDS] Make the BlazeDS build run
on Windows machines - Added some mkdir commands to the ANT Build.java - Did
some fine-tuning to resolve some compile errors
http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/4f6a3052/modules/core/src/flex/messaging/endpoints/DuplicateSessionException.java
----------------------------------------------------------------------
diff --git a/modules/core/src/flex/messaging/endpoints/DuplicateSessionException.java b/modules/core/src/flex/messaging/endpoints/DuplicateSessionException.java
old mode 100755
new mode 100644
index 692dac2..a1700c1
--- a/modules/core/src/flex/messaging/endpoints/DuplicateSessionException.java
+++ b/modules/core/src/flex/messaging/endpoints/DuplicateSessionException.java
@@ -1,81 +1,81 @@
-/*
- * 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 flex.messaging.endpoints;
-
-import flex.messaging.MessageException;
-import flex.messaging.log.LogEvent;
-
-/**
- * Exception class used to indicate duplicate client sessions were detected.
- */
-public class DuplicateSessionException extends MessageException
-{
- /**
- * @exclude
- */
- public static final String DUPLICATE_SESSION_DETECTED_CODE = "Server.Processing.DuplicateSessionDetected";
-
- /**
- * @exclude
- */
- private static final long serialVersionUID = -741704726700619666L;
-
- //--------------------------------------------------------------------------
- //
- // Constructors
- //
- //--------------------------------------------------------------------------
-
- /**
- * Default constructor.
- * Sets the code to a default value of <code>DUPLICATE_SESSION_DETECTED_CODE</code>.
- */
- public DuplicateSessionException()
- {
- setCode(DUPLICATE_SESSION_DETECTED_CODE);
- }
-
- //--------------------------------------------------------------------------
- //
- // Properties
- //
- //--------------------------------------------------------------------------
-
- //----------------------------------
- // preferredLogLevel
- //----------------------------------
-
- /**
- * Override to log at the DEBUG level.
- */
- @Override public short getPreferredLogLevel()
- {
- return LogEvent.DEBUG;
- }
-
- //----------------------------------
- // logStackTraceEnabled
- //----------------------------------
-
- /**
- * Override to suppress stack trace logging.
- */
- @Override public boolean isLogStackTraceEnabled()
- {
- return false;
- }
-}
+/*
+ * 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 flex.messaging.endpoints;
+
+import flex.messaging.MessageException;
+import flex.messaging.log.LogEvent;
+
+/**
+ * Exception class used to indicate duplicate client sessions were detected.
+ */
+public class DuplicateSessionException extends MessageException
+{
+ /**
+ * @exclude
+ */
+ public static final String DUPLICATE_SESSION_DETECTED_CODE = "Server.Processing.DuplicateSessionDetected";
+
+ /**
+ * @exclude
+ */
+ private static final long serialVersionUID = -741704726700619666L;
+
+ //--------------------------------------------------------------------------
+ //
+ // Constructors
+ //
+ //--------------------------------------------------------------------------
+
+ /**
+ * Default constructor.
+ * Sets the code to a default value of <code>DUPLICATE_SESSION_DETECTED_CODE</code>.
+ */
+ public DuplicateSessionException()
+ {
+ setCode(DUPLICATE_SESSION_DETECTED_CODE);
+ }
+
+ //--------------------------------------------------------------------------
+ //
+ // Properties
+ //
+ //--------------------------------------------------------------------------
+
+ //----------------------------------
+ // preferredLogLevel
+ //----------------------------------
+
+ /**
+ * Override to log at the DEBUG level.
+ */
+ @Override public short getPreferredLogLevel()
+ {
+ return LogEvent.DEBUG;
+ }
+
+ //----------------------------------
+ // logStackTraceEnabled
+ //----------------------------------
+
+ /**
+ * Override to suppress stack trace logging.
+ */
+ @Override public boolean isLogStackTraceEnabled()
+ {
+ return false;
+ }
+}
http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/4f6a3052/modules/core/src/flex/messaging/endpoints/Endpoint.java
----------------------------------------------------------------------
diff --git a/modules/core/src/flex/messaging/endpoints/Endpoint.java b/modules/core/src/flex/messaging/endpoints/Endpoint.java
old mode 100755
new mode 100644
index 72069c4..da86ce1
--- a/modules/core/src/flex/messaging/endpoints/Endpoint.java
+++ b/modules/core/src/flex/messaging/endpoints/Endpoint.java
@@ -1,190 +1,190 @@
-/*
- * 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 flex.messaging.endpoints;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import flex.management.Manageable;
-import flex.messaging.MessageBroker;
-import flex.messaging.config.ConfigMap;
-import flex.messaging.config.SecurityConstraint;
-
-/**
- * An endpoint receives messages from clients and decodes them,
- * then sends them on to a MessageBroker for routing to a service.
- * The endpoint also encodes messages and delivers them to clients.
- * Endpoints are specific to a message format and network transport,
- * and are defined by the named URI path on which they are located.
- *
- * @author neville
- */
-public interface Endpoint extends Manageable
-{
- /**
- * Initializes the endpoint with an ID and properties.
- *
- * @param id The ID of the endpoint.
- * @param properties Properties of the endpoint.
- */
- void initialize(String id, ConfigMap properties);
-
- /**
- * Start the endpoint. The MethodBroker invokes this
- * method in order to set the endpoint up for sending and receiving
- * messages from Flash clients.
- *
- */
- void start();
-
- /**
- * Determines whether the endpoint is started.
- *
- * @return <code>true</code> if the endpoint is started; <code>false</code> otherwise.
- */
- boolean isStarted();
-
- /**
- * Stop and destroy the endpoint. The MethodBroker invokes
- * this method in order to stop the endpoint from sending
- * and receiving messages from Flash clients.
- *
- */
- void stop();
-
- /**
- * Retrieves the corresponding client channel type for the endpoint.
- *
- * @return The corresponding client channel type for the endpoint.
- */
- String getClientType();
-
- /**
- * Sets the corresponding client channel type for the endpoint.
- *
- * @param clientType The corresponding client channel type for the endpoint.
- */
- void setClientType(String clientType);
-
- /**
- * Retrieves the endpoint properties the client needs.
- * @return The endpoint properties the client needs.
- */
- ConfigMap describeEndpoint();
-
- /**
- * All endpoints are referenceable by an ID that is unique among
- * all the endpoints registered to a single broker instance.
- * @return The endpoint ID.
- */
- String getId();
-
- /**
- * All endpoints are referenceable by an ID that is unique among
- * all the endpoints registered to a single broker instance. The id
- * is set through this method, usually through parsed configuration.
- * <p/>
- * @param id The endpoint ID.
- */
- void setId(String id);
-
- /**
- * All endpoints must be managed by a single MessageBroker,
- * and must be capable of returning a reference to that broker.
- * This broker reference is used when the endpoint wishes to
- * send a message to one of the broker's services.
- *
- * @return broker The MessageBroker instance which manages this endpoint.
- */
- MessageBroker getMessageBroker();
-
- /**
- * Sets the <code>MessageBroker</code> of the endpoint.
- *
- * @param broker the message broker object
- */
- void setMessageBroker(MessageBroker broker);
-
- /**
- * Retrieves the highest messaging version currently available via this
- * endpoint.
- * @return The messaging version number.
- */
- double getMessagingVersion();
-
- /** @exclude **/
- String getParsedUrl(String contextPath);
-
- /**
- * Retrieves the port of the URL of the endpoint.
- *
- * @return The port of the URL of the endpoint.
- */
- int getPort();
-
- /**
- * Specifies whether this protocol requires the secure HTTPS protocol.
- * @return <code>true</code> if the endpoint is a secure endpoint, <code>false</code> otherwise.
- */
- boolean isSecure();
-
- /**
- * Retrieves the security constraint of the endpoint.
- *
- * @return The security constraint of the endpoint.
- */
- SecurityConstraint getSecurityConstraint();
-
- /**
- * Sets the security constraint of the endpoint.
- *
- * @param constraint The security constraint of the endpoint.
- */
- void setSecurityConstraint(SecurityConstraint constraint);
-
- /**
- * Responds to HTTP-based messages published by a client. Endpoints which
- * do not support access over HTTP should throw an UnsupportedOperationException
- * in the implementation of htis method.
- * <p/>
- * @param req The HttpServletRequest object.
- * @param res The HttpServletResponse object.
- */
- void service(HttpServletRequest req, HttpServletResponse res);
-
- /**
- * Retrieves the URL of the endpoint.
- *
- * @return The URL of the endpoint.
- */
- String getUrl();
-
- /**
- * Sets the URL of the endpoint.
- *
- * @param url The URL of the endpoint.
- */
- void setUrl(String url);
-
- /**
- * @exclude
- * Returns the url of the endpoint parsed for the client.
- *
- * @return The url of the endpoint parsed for the client.
- */
- String getUrlForClient();
-}
+/*
+ * 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 flex.messaging.endpoints;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import flex.management.Manageable;
+import flex.messaging.MessageBroker;
+import flex.messaging.config.ConfigMap;
+import flex.messaging.config.SecurityConstraint;
+
+/**
+ * An endpoint receives messages from clients and decodes them,
+ * then sends them on to a MessageBroker for routing to a service.
+ * The endpoint also encodes messages and delivers them to clients.
+ * Endpoints are specific to a message format and network transport,
+ * and are defined by the named URI path on which they are located.
+ *
+ * @author neville
+ */
+public interface Endpoint extends Manageable
+{
+ /**
+ * Initializes the endpoint with an ID and properties.
+ *
+ * @param id The ID of the endpoint.
+ * @param properties Properties of the endpoint.
+ */
+ void initialize(String id, ConfigMap properties);
+
+ /**
+ * Start the endpoint. The MethodBroker invokes this
+ * method in order to set the endpoint up for sending and receiving
+ * messages from Flash clients.
+ *
+ */
+ void start();
+
+ /**
+ * Determines whether the endpoint is started.
+ *
+ * @return <code>true</code> if the endpoint is started; <code>false</code> otherwise.
+ */
+ boolean isStarted();
+
+ /**
+ * Stop and destroy the endpoint. The MethodBroker invokes
+ * this method in order to stop the endpoint from sending
+ * and receiving messages from Flash clients.
+ *
+ */
+ void stop();
+
+ /**
+ * Retrieves the corresponding client channel type for the endpoint.
+ *
+ * @return The corresponding client channel type for the endpoint.
+ */
+ String getClientType();
+
+ /**
+ * Sets the corresponding client channel type for the endpoint.
+ *
+ * @param clientType The corresponding client channel type for the endpoint.
+ */
+ void setClientType(String clientType);
+
+ /**
+ * Retrieves the endpoint properties the client needs.
+ * @return The endpoint properties the client needs.
+ */
+ ConfigMap describeEndpoint();
+
+ /**
+ * All endpoints are referenceable by an ID that is unique among
+ * all the endpoints registered to a single broker instance.
+ * @return The endpoint ID.
+ */
+ String getId();
+
+ /**
+ * All endpoints are referenceable by an ID that is unique among
+ * all the endpoints registered to a single broker instance. The id
+ * is set through this method, usually through parsed configuration.
+ * <p/>
+ * @param id The endpoint ID.
+ */
+ void setId(String id);
+
+ /**
+ * All endpoints must be managed by a single MessageBroker,
+ * and must be capable of returning a reference to that broker.
+ * This broker reference is used when the endpoint wishes to
+ * send a message to one of the broker's services.
+ *
+ * @return broker The MessageBroker instance which manages this endpoint.
+ */
+ MessageBroker getMessageBroker();
+
+ /**
+ * Sets the <code>MessageBroker</code> of the endpoint.
+ *
+ * @param broker the message broker object
+ */
+ void setMessageBroker(MessageBroker broker);
+
+ /**
+ * Retrieves the highest messaging version currently available via this
+ * endpoint.
+ * @return The messaging version number.
+ */
+ double getMessagingVersion();
+
+ /** @exclude **/
+ String getParsedUrl(String contextPath);
+
+ /**
+ * Retrieves the port of the URL of the endpoint.
+ *
+ * @return The port of the URL of the endpoint.
+ */
+ int getPort();
+
+ /**
+ * Specifies whether this protocol requires the secure HTTPS protocol.
+ * @return <code>true</code> if the endpoint is a secure endpoint, <code>false</code> otherwise.
+ */
+ boolean isSecure();
+
+ /**
+ * Retrieves the security constraint of the endpoint.
+ *
+ * @return The security constraint of the endpoint.
+ */
+ SecurityConstraint getSecurityConstraint();
+
+ /**
+ * Sets the security constraint of the endpoint.
+ *
+ * @param constraint The security constraint of the endpoint.
+ */
+ void setSecurityConstraint(SecurityConstraint constraint);
+
+ /**
+ * Responds to HTTP-based messages published by a client. Endpoints which
+ * do not support access over HTTP should throw an UnsupportedOperationException
+ * in the implementation of htis method.
+ * <p/>
+ * @param req The HttpServletRequest object.
+ * @param res The HttpServletResponse object.
+ */
+ void service(HttpServletRequest req, HttpServletResponse res);
+
+ /**
+ * Retrieves the URL of the endpoint.
+ *
+ * @return The URL of the endpoint.
+ */
+ String getUrl();
+
+ /**
+ * Sets the URL of the endpoint.
+ *
+ * @param url The URL of the endpoint.
+ */
+ void setUrl(String url);
+
+ /**
+ * @exclude
+ * Returns the url of the endpoint parsed for the client.
+ *
+ * @return The url of the endpoint parsed for the client.
+ */
+ String getUrlForClient();
+}
http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/4f6a3052/modules/core/src/flex/messaging/endpoints/Endpoint2.java
----------------------------------------------------------------------
diff --git a/modules/core/src/flex/messaging/endpoints/Endpoint2.java b/modules/core/src/flex/messaging/endpoints/Endpoint2.java
old mode 100755
new mode 100644
index 26f47ee..8f10ebe
--- a/modules/core/src/flex/messaging/endpoints/Endpoint2.java
+++ b/modules/core/src/flex/messaging/endpoints/Endpoint2.java
@@ -1,37 +1,37 @@
-/*
- * 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 flex.messaging.endpoints;
-
-import flex.messaging.Server;
-
-/**
- * Extension interface for <tt>Endpoint</tt> that adds support for a
- * referenced <tt>Server</tt> that the endpoint may use.
- */
-public interface Endpoint2 extends Endpoint
-{
- /**
- * Retrieves the <tt>Server</tt> that the endpoint is using; <code>null</code> if
- * no server has been assigned.
- */
- Server getServer();
-
- /**
- * Sets the <tt>Server</tt> that the endpoint will use.
- */
- void setServer(Server server);
-}
+/*
+ * 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 flex.messaging.endpoints;
+
+import flex.messaging.Server;
+
+/**
+ * Extension interface for <tt>Endpoint</tt> that adds support for a
+ * referenced <tt>Server</tt> that the endpoint may use.
+ */
+public interface Endpoint2 extends Endpoint
+{
+ /**
+ * Retrieves the <tt>Server</tt> that the endpoint is using; <code>null</code> if
+ * no server has been assigned.
+ */
+ Server getServer();
+
+ /**
+ * Sets the <tt>Server</tt> that the endpoint will use.
+ */
+ void setServer(Server server);
+}
http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/4f6a3052/modules/core/src/flex/messaging/endpoints/HTTPEndpoint.java
----------------------------------------------------------------------
diff --git a/modules/core/src/flex/messaging/endpoints/HTTPEndpoint.java b/modules/core/src/flex/messaging/endpoints/HTTPEndpoint.java
old mode 100755
new mode 100644
index 6cbe951..82e358f
--- a/modules/core/src/flex/messaging/endpoints/HTTPEndpoint.java
+++ b/modules/core/src/flex/messaging/endpoints/HTTPEndpoint.java
@@ -1,185 +1,185 @@
-/*
- * 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 flex.messaging.endpoints;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import flex.management.runtime.messaging.endpoints.HTTPEndpointControl;
-import flex.messaging.MessageBroker;
-import flex.messaging.endpoints.amf.AMFFilter;
-import flex.messaging.endpoints.amf.BatchProcessFilter;
-import flex.messaging.endpoints.amf.MessageBrokerFilter;
-import flex.messaging.endpoints.amf.SerializationFilter;
-import flex.messaging.endpoints.amf.SessionFilter;
-import flex.messaging.io.MessageIOConstants;
-import flex.messaging.log.LogCategories;
-import flex.messaging.messages.Message;
-import flex.messaging.security.SecurityException;
-
-/**
- * This class replaces Flex 1.5's ProxyServlet by splitting
- * the proxy's functionality into two pieces. Requests for proxied HTTP
- * content can now be sent using a message type via any channel.
- * The message broker directs requests to the appropriate service,
- * in Flex 1.5 terms, the Proxy Service. The response from the proxy
- * request is streamed back to the client.
- *
- */
-public class HTTPEndpoint extends BasePollingHTTPEndpoint
-{
- public static final String LOG_CATEGORY = LogCategories.ENDPOINT_HTTP;
-
- private static final int IMPROPER_CONTENT_TYPE = 10068;
-
- //--------------------------------------------------------------------------
- //
- // Constructor
- //
- //--------------------------------------------------------------------------
-
- /**
- * Constructs an unmanaged <code>HTTPEndpoint</code>.
- */
- public HTTPEndpoint()
- {
- this(false);
- }
-
- /**
- * Constructs a <code>HTTPEndpoint</code> with the indicated management.
- *
- * @param enableManagement <code>true</code> if the <code>HTTPEndpoint</code>
- * is manageable; <code>false</code> otherwise.
- */
- public HTTPEndpoint(boolean enableManagement)
- {
- super(enableManagement);
- }
-
- /**
- * Currently this override is a no-op to disable small messages over HTTP
- * endpoints.
- */
- @Override public Message convertToSmallMessage(Message message)
- {
- return message;
- }
-
- /**
- * Overrides to check the request content type is application/xml.
- *
- * @param req The servlet request.
- * @param res The servlet response.
- */
- @Override public void service(HttpServletRequest req, HttpServletResponse res)
- {
- String contentType = req.getContentType();
- boolean xmlContentType = contentType == null || contentType.equals(MessageIOConstants.XML_CONTENT_TYPE);
- if (!xmlContentType)
- {
- // HTTP endpoint ''{0}'' must be contacted via a HTTP request with proper content type.
- SecurityException se = new SecurityException();
- se.setMessage(IMPROPER_CONTENT_TYPE, new Object[]{id});
- throw se;
- }
-
- super.service(req, res);
- }
-
- //--------------------------------------------------------------------------
- //
- // Protected/Private Methods
- //
- //--------------------------------------------------------------------------
-
- /**
- * Create default filter chain or return current one if already present.
- */
- @Override protected AMFFilter createFilterChain()
- {
- AMFFilter serializationFilter = new SerializationFilter(getLogCategory());
- AMFFilter batchFilter = new BatchProcessFilter();
- AMFFilter sessionFilter = sessionRewritingEnabled? new SessionFilter() : null;
- AMFFilter messageBrokerFilter = new MessageBrokerFilter(this);
-
- serializationFilter.setNext(batchFilter);
- if (sessionFilter != null)
- {
- batchFilter.setNext(sessionFilter);
- sessionFilter.setNext(messageBrokerFilter);
- }
- else
- {
- batchFilter.setNext(messageBrokerFilter);
- }
-
- return serializationFilter;
- }
-
- /**
- * Returns MessageIOConstants.XML_CONTENT_TYPE.
- */
- @Override protected String getResponseContentType()
- {
- return MessageIOConstants.XML_CONTENT_TYPE;
- }
-
- /**
- * Returns the log category of the endpoint.
- *
- * @return The log category of the endpoint.
- */
- @Override protected String getLogCategory()
- {
- return LOG_CATEGORY;
- }
-
- /**
- * Returns the deserializer class name used by the endpoint.
- *
- * @return The deserializer class name used by the endpoint.
- */
- @Override protected String getDeserializerClassName()
- {
- return "flex.messaging.io.amfx.AmfxMessageDeserializer";
- }
-
- /**
- * Returns the serializer class name used by the endpoint.
- *
- * @return The serializer class name used by the endpoint.
- */
- @Override protected String getSerializerClassName()
- {
- return "flex.messaging.io.amfx.AmfxMessageSerializer";
- }
-
- /**
- * Invoked automatically to allow the <code>HTTPEndpoint</code> to setup its
- * corresponding MBean control.
- *
- * @param broker The <code>MessageBroker</code> that manages this
- * <code>HTTPEndpoint</code>.
- */
- @Override protected void setupEndpointControl(MessageBroker broker)
- {
- controller = new HTTPEndpointControl(this, broker.getControl());
- controller.register();
- setControl(controller);
- }
-}
+/*
+ * 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 flex.messaging.endpoints;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import flex.management.runtime.messaging.endpoints.HTTPEndpointControl;
+import flex.messaging.MessageBroker;
+import flex.messaging.endpoints.amf.AMFFilter;
+import flex.messaging.endpoints.amf.BatchProcessFilter;
+import flex.messaging.endpoints.amf.MessageBrokerFilter;
+import flex.messaging.endpoints.amf.SerializationFilter;
+import flex.messaging.endpoints.amf.SessionFilter;
+import flex.messaging.io.MessageIOConstants;
+import flex.messaging.log.LogCategories;
+import flex.messaging.messages.Message;
+import flex.messaging.security.SecurityException;
+
+/**
+ * This class replaces Flex 1.5's ProxyServlet by splitting
+ * the proxy's functionality into two pieces. Requests for proxied HTTP
+ * content can now be sent using a message type via any channel.
+ * The message broker directs requests to the appropriate service,
+ * in Flex 1.5 terms, the Proxy Service. The response from the proxy
+ * request is streamed back to the client.
+ *
+ */
+public class HTTPEndpoint extends BasePollingHTTPEndpoint
+{
+ public static final String LOG_CATEGORY = LogCategories.ENDPOINT_HTTP;
+
+ private static final int IMPROPER_CONTENT_TYPE = 10068;
+
+ //--------------------------------------------------------------------------
+ //
+ // Constructor
+ //
+ //--------------------------------------------------------------------------
+
+ /**
+ * Constructs an unmanaged <code>HTTPEndpoint</code>.
+ */
+ public HTTPEndpoint()
+ {
+ this(false);
+ }
+
+ /**
+ * Constructs a <code>HTTPEndpoint</code> with the indicated management.
+ *
+ * @param enableManagement <code>true</code> if the <code>HTTPEndpoint</code>
+ * is manageable; <code>false</code> otherwise.
+ */
+ public HTTPEndpoint(boolean enableManagement)
+ {
+ super(enableManagement);
+ }
+
+ /**
+ * Currently this override is a no-op to disable small messages over HTTP
+ * endpoints.
+ */
+ @Override public Message convertToSmallMessage(Message message)
+ {
+ return message;
+ }
+
+ /**
+ * Overrides to check the request content type is application/xml.
+ *
+ * @param req The servlet request.
+ * @param res The servlet response.
+ */
+ @Override public void service(HttpServletRequest req, HttpServletResponse res)
+ {
+ String contentType = req.getContentType();
+ boolean xmlContentType = contentType == null || contentType.equals(MessageIOConstants.XML_CONTENT_TYPE);
+ if (!xmlContentType)
+ {
+ // HTTP endpoint ''{0}'' must be contacted via a HTTP request with proper content type.
+ SecurityException se = new SecurityException();
+ se.setMessage(IMPROPER_CONTENT_TYPE, new Object[]{id});
+ throw se;
+ }
+
+ super.service(req, res);
+ }
+
+ //--------------------------------------------------------------------------
+ //
+ // Protected/Private Methods
+ //
+ //--------------------------------------------------------------------------
+
+ /**
+ * Create default filter chain or return current one if already present.
+ */
+ @Override protected AMFFilter createFilterChain()
+ {
+ AMFFilter serializationFilter = new SerializationFilter(getLogCategory());
+ AMFFilter batchFilter = new BatchProcessFilter();
+ AMFFilter sessionFilter = sessionRewritingEnabled? new SessionFilter() : null;
+ AMFFilter messageBrokerFilter = new MessageBrokerFilter(this);
+
+ serializationFilter.setNext(batchFilter);
+ if (sessionFilter != null)
+ {
+ batchFilter.setNext(sessionFilter);
+ sessionFilter.setNext(messageBrokerFilter);
+ }
+ else
+ {
+ batchFilter.setNext(messageBrokerFilter);
+ }
+
+ return serializationFilter;
+ }
+
+ /**
+ * Returns MessageIOConstants.XML_CONTENT_TYPE.
+ */
+ @Override protected String getResponseContentType()
+ {
+ return MessageIOConstants.XML_CONTENT_TYPE;
+ }
+
+ /**
+ * Returns the log category of the endpoint.
+ *
+ * @return The log category of the endpoint.
+ */
+ @Override protected String getLogCategory()
+ {
+ return LOG_CATEGORY;
+ }
+
+ /**
+ * Returns the deserializer class name used by the endpoint.
+ *
+ * @return The deserializer class name used by the endpoint.
+ */
+ @Override protected String getDeserializerClassName()
+ {
+ return "flex.messaging.io.amfx.AmfxMessageDeserializer";
+ }
+
+ /**
+ * Returns the serializer class name used by the endpoint.
+ *
+ * @return The serializer class name used by the endpoint.
+ */
+ @Override protected String getSerializerClassName()
+ {
+ return "flex.messaging.io.amfx.AmfxMessageSerializer";
+ }
+
+ /**
+ * Invoked automatically to allow the <code>HTTPEndpoint</code> to setup its
+ * corresponding MBean control.
+ *
+ * @param broker The <code>MessageBroker</code> that manages this
+ * <code>HTTPEndpoint</code>.
+ */
+ @Override protected void setupEndpointControl(MessageBroker broker)
+ {
+ controller = new HTTPEndpointControl(this, broker.getControl());
+ controller.register();
+ setControl(controller);
+ }
+}
http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/4f6a3052/modules/core/src/flex/messaging/endpoints/SecureAMFEndpoint.java
----------------------------------------------------------------------
diff --git a/modules/core/src/flex/messaging/endpoints/SecureAMFEndpoint.java b/modules/core/src/flex/messaging/endpoints/SecureAMFEndpoint.java
old mode 100755
new mode 100644
index 3a22ac8..7b3a44f
--- a/modules/core/src/flex/messaging/endpoints/SecureAMFEndpoint.java
+++ b/modules/core/src/flex/messaging/endpoints/SecureAMFEndpoint.java
@@ -1,64 +1,64 @@
-/*
- * 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 flex.messaging.endpoints;
-
-/**
- * Secure version of AMFEndpoint.
- */
-public class SecureAMFEndpoint extends AMFEndpoint
-{
- //--------------------------------------------------------------------------
- //
- // Constructor
- //
- //--------------------------------------------------------------------------
-
- /**
- * Constructs an unmanaged <code>SecureAMFEndpoint</code>.
- */
- public SecureAMFEndpoint()
- {
- this(false);
- }
-
- /**
- * Constructs a <code>SecureAMFEndpoint</code> with the indicated management.
- *
- * @param enableManagement <code>true</code> if the <code>SecureAMFEndpoint</code>
- * is manageable; <code>false</code> otherwise.
- */
- public SecureAMFEndpoint(boolean enableManagement)
- {
- super(enableManagement);
- }
-
- //--------------------------------------------------------------------------
- //
- // Public Methods
- //
- //--------------------------------------------------------------------------
-
- /**
- * Determines whether the endpoint is secure.
- *
- * @return <code>true</code> if the endpoint is secure, <code>false</code> otherwise.
- */
- public boolean isSecure()
- {
- return true;
- }
-}
+/*
+ * 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 flex.messaging.endpoints;
+
+/**
+ * Secure version of AMFEndpoint.
+ */
+public class SecureAMFEndpoint extends AMFEndpoint
+{
+ //--------------------------------------------------------------------------
+ //
+ // Constructor
+ //
+ //--------------------------------------------------------------------------
+
+ /**
+ * Constructs an unmanaged <code>SecureAMFEndpoint</code>.
+ */
+ public SecureAMFEndpoint()
+ {
+ this(false);
+ }
+
+ /**
+ * Constructs a <code>SecureAMFEndpoint</code> with the indicated management.
+ *
+ * @param enableManagement <code>true</code> if the <code>SecureAMFEndpoint</code>
+ * is manageable; <code>false</code> otherwise.
+ */
+ public SecureAMFEndpoint(boolean enableManagement)
+ {
+ super(enableManagement);
+ }
+
+ //--------------------------------------------------------------------------
+ //
+ // Public Methods
+ //
+ //--------------------------------------------------------------------------
+
+ /**
+ * Determines whether the endpoint is secure.
+ *
+ * @return <code>true</code> if the endpoint is secure, <code>false</code> otherwise.
+ */
+ public boolean isSecure()
+ {
+ return true;
+ }
+}
http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/4f6a3052/modules/core/src/flex/messaging/endpoints/SecureHTTPEndpoint.java
----------------------------------------------------------------------
diff --git a/modules/core/src/flex/messaging/endpoints/SecureHTTPEndpoint.java b/modules/core/src/flex/messaging/endpoints/SecureHTTPEndpoint.java
old mode 100755
new mode 100644
index 04aaa22..1f08a63
--- a/modules/core/src/flex/messaging/endpoints/SecureHTTPEndpoint.java
+++ b/modules/core/src/flex/messaging/endpoints/SecureHTTPEndpoint.java
@@ -1,64 +1,64 @@
-/*
- * 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 flex.messaging.endpoints;
-
-/**
- * Secure version of HTTPEndpoint.
- */
-public class SecureHTTPEndpoint extends HTTPEndpoint
-{
- //--------------------------------------------------------------------------
- //
- // Constructors
- //
- //--------------------------------------------------------------------------
-
- /**
- * Constructs an unmanaged <code>SecureHTTPEndpoint</code>.
- */
- public SecureHTTPEndpoint()
- {
- this(false);
- }
-
- /**
- * Constructs a <code>SecureHTTPEndpoint</code> with the indicated management.
- *
- * @param enableManagement <code>true</code> if the <code>SecureHTTPEndpoint</code>
- * is manageable; <code>false</code> otherwise.
- */
- public SecureHTTPEndpoint(boolean enableManagement)
- {
- super(enableManagement);
- }
-
- //--------------------------------------------------------------------------
- //
- // Public Methods
- //
- //--------------------------------------------------------------------------
-
- /**
- * Determines whether the endpoint is secure.
- *
- * @return <code>true</code> if the endpoint is secure, <code>false</code> otherwise.
- */
- public boolean isSecure()
- {
- return true;
- }
-}
+/*
+ * 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 flex.messaging.endpoints;
+
+/**
+ * Secure version of HTTPEndpoint.
+ */
+public class SecureHTTPEndpoint extends HTTPEndpoint
+{
+ //--------------------------------------------------------------------------
+ //
+ // Constructors
+ //
+ //--------------------------------------------------------------------------
+
+ /**
+ * Constructs an unmanaged <code>SecureHTTPEndpoint</code>.
+ */
+ public SecureHTTPEndpoint()
+ {
+ this(false);
+ }
+
+ /**
+ * Constructs a <code>SecureHTTPEndpoint</code> with the indicated management.
+ *
+ * @param enableManagement <code>true</code> if the <code>SecureHTTPEndpoint</code>
+ * is manageable; <code>false</code> otherwise.
+ */
+ public SecureHTTPEndpoint(boolean enableManagement)
+ {
+ super(enableManagement);
+ }
+
+ //--------------------------------------------------------------------------
+ //
+ // Public Methods
+ //
+ //--------------------------------------------------------------------------
+
+ /**
+ * Determines whether the endpoint is secure.
+ *
+ * @return <code>true</code> if the endpoint is secure, <code>false</code> otherwise.
+ */
+ public boolean isSecure()
+ {
+ return true;
+ }
+}
http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/4f6a3052/modules/core/src/flex/messaging/endpoints/SecureStreamingAMFEndpoint.java
----------------------------------------------------------------------
diff --git a/modules/core/src/flex/messaging/endpoints/SecureStreamingAMFEndpoint.java b/modules/core/src/flex/messaging/endpoints/SecureStreamingAMFEndpoint.java
old mode 100755
new mode 100644
index a60e29c..dd38d97
--- a/modules/core/src/flex/messaging/endpoints/SecureStreamingAMFEndpoint.java
+++ b/modules/core/src/flex/messaging/endpoints/SecureStreamingAMFEndpoint.java
@@ -1,64 +1,64 @@
-/*
- * 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 flex.messaging.endpoints;
-
-/**
- * Secure version of StreamingAMFEndpoint.
- */
-public class SecureStreamingAMFEndpoint extends StreamingAMFEndpoint
-{
- //--------------------------------------------------------------------------
- //
- // Constructor
- //
- //--------------------------------------------------------------------------
-
- /**
- * Constructs an unmanaged <code>SecureStreamingAMFEndpoint</code>.
- */
- public SecureStreamingAMFEndpoint()
- {
- this(false);
- }
-
- /**
- * Constructs a <code>SecureStreamingAMFEndpoint</code> with the indicated management.
- *
- * @param enableManagement <code>true</code> if the <code>SecureStreamingAMFEndpoint</code>
- * is manageable; <code>false</code> otherwise.
- */
- public SecureStreamingAMFEndpoint(boolean enableManagement)
- {
- super(enableManagement);
- }
-
- //--------------------------------------------------------------------------
- //
- // Public Methods
- //
- //--------------------------------------------------------------------------
-
- /**
- * Determines whether the endpoint is secure.
- *
- * @return <code>true</code> if the endpoint is secure, <code>false</code> otherwise.
- */
- public boolean isSecure()
- {
- return true;
- }
-}
+/*
+ * 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 flex.messaging.endpoints;
+
+/**
+ * Secure version of StreamingAMFEndpoint.
+ */
+public class SecureStreamingAMFEndpoint extends StreamingAMFEndpoint
+{
+ //--------------------------------------------------------------------------
+ //
+ // Constructor
+ //
+ //--------------------------------------------------------------------------
+
+ /**
+ * Constructs an unmanaged <code>SecureStreamingAMFEndpoint</code>.
+ */
+ public SecureStreamingAMFEndpoint()
+ {
+ this(false);
+ }
+
+ /**
+ * Constructs a <code>SecureStreamingAMFEndpoint</code> with the indicated management.
+ *
+ * @param enableManagement <code>true</code> if the <code>SecureStreamingAMFEndpoint</code>
+ * is manageable; <code>false</code> otherwise.
+ */
+ public SecureStreamingAMFEndpoint(boolean enableManagement)
+ {
+ super(enableManagement);
+ }
+
+ //--------------------------------------------------------------------------
+ //
+ // Public Methods
+ //
+ //--------------------------------------------------------------------------
+
+ /**
+ * Determines whether the endpoint is secure.
+ *
+ * @return <code>true</code> if the endpoint is secure, <code>false</code> otherwise.
+ */
+ public boolean isSecure()
+ {
+ return true;
+ }
+}
http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/4f6a3052/modules/core/src/flex/messaging/endpoints/SecureStreamingHTTPEndpoint.java
----------------------------------------------------------------------
diff --git a/modules/core/src/flex/messaging/endpoints/SecureStreamingHTTPEndpoint.java b/modules/core/src/flex/messaging/endpoints/SecureStreamingHTTPEndpoint.java
old mode 100755
new mode 100644
index 957f22d..d053a4d
--- a/modules/core/src/flex/messaging/endpoints/SecureStreamingHTTPEndpoint.java
+++ b/modules/core/src/flex/messaging/endpoints/SecureStreamingHTTPEndpoint.java
@@ -1,64 +1,64 @@
-/*
- * 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 flex.messaging.endpoints;
-
-/**
- * Secure version of StreamingHTTPEndpoint.
- */
-public class SecureStreamingHTTPEndpoint extends StreamingHTTPEndpoint
-{
- //--------------------------------------------------------------------------
- //
- // Constructors
- //
- //--------------------------------------------------------------------------
-
- /**
- * Constructs an unmanaged <code>SecureStreamingHTTPEndpoint</code>.
- */
- public SecureStreamingHTTPEndpoint()
- {
- this(false);
- }
-
- /**
- * Constructs a <code>SecureStreamingHTTPEndpoint</code> with the indicated management.
- *
- * @param enableManagement <code>true</code> if the <code>SecureHTTPEndpoint</code>
- * is manageable; <code>false</code> otherwise.
- */
- public SecureStreamingHTTPEndpoint(boolean enableManagement)
- {
- super(enableManagement);
- }
-
- //--------------------------------------------------------------------------
- //
- // Public Methods
- //
- //--------------------------------------------------------------------------
-
- /**
- * Determines whether the endpoint is secure.
- *
- * @return <code>true</code> if the endpoint is secure, <code>false</code> otherwise.
- */
- public boolean isSecure()
- {
- return true;
- }
-}
+/*
+ * 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 flex.messaging.endpoints;
+
+/**
+ * Secure version of StreamingHTTPEndpoint.
+ */
+public class SecureStreamingHTTPEndpoint extends StreamingHTTPEndpoint
+{
+ //--------------------------------------------------------------------------
+ //
+ // Constructors
+ //
+ //--------------------------------------------------------------------------
+
+ /**
+ * Constructs an unmanaged <code>SecureStreamingHTTPEndpoint</code>.
+ */
+ public SecureStreamingHTTPEndpoint()
+ {
+ this(false);
+ }
+
+ /**
+ * Constructs a <code>SecureStreamingHTTPEndpoint</code> with the indicated management.
+ *
+ * @param enableManagement <code>true</code> if the <code>SecureHTTPEndpoint</code>
+ * is manageable; <code>false</code> otherwise.
+ */
+ public SecureStreamingHTTPEndpoint(boolean enableManagement)
+ {
+ super(enableManagement);
+ }
+
+ //--------------------------------------------------------------------------
+ //
+ // Public Methods
+ //
+ //--------------------------------------------------------------------------
+
+ /**
+ * Determines whether the endpoint is secure.
+ *
+ * @return <code>true</code> if the endpoint is secure, <code>false</code> otherwise.
+ */
+ public boolean isSecure()
+ {
+ return true;
+ }
+}
http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/4f6a3052/modules/core/src/flex/messaging/endpoints/StreamingAMFEndpoint.java
----------------------------------------------------------------------
diff --git a/modules/core/src/flex/messaging/endpoints/StreamingAMFEndpoint.java b/modules/core/src/flex/messaging/endpoints/StreamingAMFEndpoint.java
old mode 100755
new mode 100644
index c9411e0..7c5e02a
--- a/modules/core/src/flex/messaging/endpoints/StreamingAMFEndpoint.java
+++ b/modules/core/src/flex/messaging/endpoints/StreamingAMFEndpoint.java
@@ -1,247 +1,247 @@
-/*
- * 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 flex.messaging.endpoints;
-
-import java.io.ByteArrayOutputStream;
-import java.io.DataOutputStream;
-import java.io.IOException;
-import java.util.Iterator;
-import java.util.List;
-
-import javax.servlet.ServletOutputStream;
-import javax.servlet.http.HttpServletResponse;
-
-import flex.management.runtime.messaging.endpoints.StreamingAMFEndpointControl;
-import flex.messaging.MessageBroker;
-import flex.messaging.endpoints.amf.AMFFilter;
-import flex.messaging.endpoints.amf.BatchProcessFilter;
-import flex.messaging.endpoints.amf.LegacyFilter;
-import flex.messaging.endpoints.amf.MessageBrokerFilter;
-import flex.messaging.endpoints.amf.SerializationFilter;
-import flex.messaging.endpoints.amf.SessionFilter;
-import flex.messaging.io.MessageIOConstants;
-import flex.messaging.io.TypeMarshallingContext;
-import flex.messaging.io.amf.Amf3Output;
-import flex.messaging.log.Log;
-import flex.messaging.log.LogCategories;
-import flex.messaging.messages.Message;
-
-/**
- * Extension to the AMFEndpoint to support streaming HTTP connections to connected
- * clients.
- * Each streaming connection managed by this endpoint consumes one of the request
- * handler threads provided by the servlet container, so it is not highly scalable
- * but offers performance advantages over client polling for clients receiving a steady,
- * rapid stream of pushed messages.
- * This endpoint does not support polling clients and will fault any poll requests
- * that are received. To support polling clients use AMFEndpoint instead.
- */
-public class StreamingAMFEndpoint extends BaseStreamingHTTPEndpoint
-{
- //--------------------------------------------------------------------------
- //
- // Public Static Constants
- //
- //--------------------------------------------------------------------------
-
- /**
- * The log category for this endpoint.
- */
- public static final String LOG_CATEGORY = LogCategories.ENDPOINT_STREAMING_AMF;
-
- //--------------------------------------------------------------------------
- //
- // Private Static Constants
- //
- //--------------------------------------------------------------------------
-
- //--------------------------------------------------------------------------
- //
- // Constructors
- //
- //--------------------------------------------------------------------------
-
- /**
- * Constructs an unmanaged <code>StreamingAMFEndpoint</code>.
- */
- public StreamingAMFEndpoint()
- {
- this(false);
- }
-
- /**
- * Constructs a <code>StreamingAMFEndpoint</code> with the indicated management.
- *
- * @param enableManagement <code>true</code> if the <code>StreamingAMFEndpoint</code>
- * is manageable; <code>false</code> otherwise.
- */
- public StreamingAMFEndpoint(boolean enableManagement)
- {
- super(enableManagement);
- }
-
- //--------------------------------------------------------------------------
- //
- // Protected Methods
- //
- //--------------------------------------------------------------------------
-
- /**
- * Create the gateway filters that transform action requests
- * and responses.
- */
- @Override protected AMFFilter createFilterChain()
- {
- AMFFilter serializationFilter = new SerializationFilter(getLogCategory());
- AMFFilter batchFilter = new BatchProcessFilter();
- AMFFilter sessionFilter = sessionRewritingEnabled? new SessionFilter() : null;
- AMFFilter envelopeFilter = new LegacyFilter(this);
- AMFFilter messageBrokerFilter = new MessageBrokerFilter(this);
-
- serializationFilter.setNext(batchFilter);
- if (sessionFilter != null)
- {
- batchFilter.setNext(sessionFilter);
- sessionFilter.setNext(envelopeFilter);
- }
- else
- {
- batchFilter.setNext(envelopeFilter);
- }
- envelopeFilter.setNext(messageBrokerFilter);
-
- return serializationFilter;
- }
-
- /**
- * Returns MessageIOConstants.AMF_CONTENT_TYPE.
- */
- @Override protected String getResponseContentType()
- {
- return MessageIOConstants.AMF_CONTENT_TYPE;
- }
-
- /**
- * Returns the log category of the endpoint.
- *
- * @return The log category of the endpoint.
- */
- @Override protected String getLogCategory()
- {
- return LOG_CATEGORY;
- }
-
- /**
- * Used internally for performance information gathering; not intended for
- * public use. Serializes the message in AMF format and returns the size of
- * the serialized message.
- *
- * @param message Message to get the size for.
- *
- * @return The size of the message after message is serialized.
- */
- @Override protected long getMessageSizeForPerformanceInfo(Message message)
- {
- Amf3Output amfOut = new Amf3Output(serializationContext);
- ByteArrayOutputStream outStream = new ByteArrayOutputStream();
- DataOutputStream dataOutStream = new DataOutputStream(outStream);
- amfOut.setOutputStream(dataOutStream);
- try
- {
- amfOut.writeObject(message);
- }
- catch (IOException e)
- {
- if (Log.isDebug())
- log.debug("MPI exception while retrieving the size of the serialized message: " + e.toString());
- }
- return dataOutStream.size();
- }
-
- /**
- * Returns the deserializer class name used by the endpoint.
- *
- * @return The deserializer class name used by the endpoint.
- */
- @Override protected String getDeserializerClassName()
- {
- return "flex.messaging.io.amf.AmfMessageDeserializer";
- }
-
- /**
- * Returns the serializer class name used by the endpoint.
- *
- * @return The serializer class name used by the endpoint.
- */
- @Override protected String getSerializerClassName()
- {
- return "flex.messaging.io.amf.AmfMessageSerializer";
- }
-
- /**
- * Invoked automatically to allow the <code>StreamingAMFEndpoint</code> to setup its
- * corresponding MBean control.
- *
- * @param broker The <code>MessageBroker</code> that manages this
- * <code>StreamingAMFEndpoint</code>.
- */
- @Override protected void setupEndpointControl(MessageBroker broker)
- {
- controller = new StreamingAMFEndpointControl(this, broker.getControl());
- controller.register();
- setControl(controller);
- }
-
- /**
- * Helper method invoked by the endpoint request handler thread cycling in wait-notify.
- * Serializes messages and streams each to the client as a response chunk using streamChunk().
- *
- * @param messages The messages to serialize and push to the client.
- * @param os The output stream the chunk will be written to.
- * @param response The HttpServletResponse, used to flush the chunk to the client.
- */
- @Override protected void streamMessages(List messages, ServletOutputStream os, HttpServletResponse response) throws IOException
- {
- if (messages == null || messages.isEmpty())
- return;
-
- // Serialize each message as a separate chunk of bytes.
- TypeMarshallingContext.setTypeMarshaller(getTypeMarshaller());
- for (Iterator iter = messages.iterator(); iter.hasNext();)
- {
- Message message = (Message)iter.next();
- addPerformanceInfo(message);
- message = convertPushMessageToSmall(message);
- if (Log.isDebug())
- log.debug("Endpoint with id '" + getId() + "' is streaming message: " + message);
-
- Amf3Output amfOut = new Amf3Output(serializationContext);
- ByteArrayOutputStream outStream = new ByteArrayOutputStream();
- DataOutputStream dataOutStream = new DataOutputStream(outStream);
- amfOut.setOutputStream(dataOutStream);
-
- amfOut.writeObject(message);
- dataOutStream.flush();
- byte[] messageBytes = outStream.toByteArray();
- streamChunk(messageBytes, os, response);
-
- if (isManaged())
- ((StreamingAMFEndpointControl)controller).incrementPushCount();
- }
- TypeMarshallingContext.setTypeMarshaller(null);
- }
+/*
+ * 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 flex.messaging.endpoints;
+
+import java.io.ByteArrayOutputStream;
+import java.io.DataOutputStream;
+import java.io.IOException;
+import java.util.Iterator;
+import java.util.List;
+
+import javax.servlet.ServletOutputStream;
+import javax.servlet.http.HttpServletResponse;
+
+import flex.management.runtime.messaging.endpoints.StreamingAMFEndpointControl;
+import flex.messaging.MessageBroker;
+import flex.messaging.endpoints.amf.AMFFilter;
+import flex.messaging.endpoints.amf.BatchProcessFilter;
+import flex.messaging.endpoints.amf.LegacyFilter;
+import flex.messaging.endpoints.amf.MessageBrokerFilter;
+import flex.messaging.endpoints.amf.SerializationFilter;
+import flex.messaging.endpoints.amf.SessionFilter;
+import flex.messaging.io.MessageIOConstants;
+import flex.messaging.io.TypeMarshallingContext;
+import flex.messaging.io.amf.Amf3Output;
+import flex.messaging.log.Log;
+import flex.messaging.log.LogCategories;
+import flex.messaging.messages.Message;
+
+/**
+ * Extension to the AMFEndpoint to support streaming HTTP connections to connected
+ * clients.
+ * Each streaming connection managed by this endpoint consumes one of the request
+ * handler threads provided by the servlet container, so it is not highly scalable
+ * but offers performance advantages over client polling for clients receiving a steady,
+ * rapid stream of pushed messages.
+ * This endpoint does not support polling clients and will fault any poll requests
+ * that are received. To support polling clients use AMFEndpoint instead.
+ */
+public class StreamingAMFEndpoint extends BaseStreamingHTTPEndpoint
+{
+ //--------------------------------------------------------------------------
+ //
+ // Public Static Constants
+ //
+ //--------------------------------------------------------------------------
+
+ /**
+ * The log category for this endpoint.
+ */
+ public static final String LOG_CATEGORY = LogCategories.ENDPOINT_STREAMING_AMF;
+
+ //--------------------------------------------------------------------------
+ //
+ // Private Static Constants
+ //
+ //--------------------------------------------------------------------------
+
+ //--------------------------------------------------------------------------
+ //
+ // Constructors
+ //
+ //--------------------------------------------------------------------------
+
+ /**
+ * Constructs an unmanaged <code>StreamingAMFEndpoint</code>.
+ */
+ public StreamingAMFEndpoint()
+ {
+ this(false);
+ }
+
+ /**
+ * Constructs a <code>StreamingAMFEndpoint</code> with the indicated management.
+ *
+ * @param enableManagement <code>true</code> if the <code>StreamingAMFEndpoint</code>
+ * is manageable; <code>false</code> otherwise.
+ */
+ public StreamingAMFEndpoint(boolean enableManagement)
+ {
+ super(enableManagement);
+ }
+
+ //--------------------------------------------------------------------------
+ //
+ // Protected Methods
+ //
+ //--------------------------------------------------------------------------
+
+ /**
+ * Create the gateway filters that transform action requests
+ * and responses.
+ */
+ @Override protected AMFFilter createFilterChain()
+ {
+ AMFFilter serializationFilter = new SerializationFilter(getLogCategory());
+ AMFFilter batchFilter = new BatchProcessFilter();
+ AMFFilter sessionFilter = sessionRewritingEnabled? new SessionFilter() : null;
+ AMFFilter envelopeFilter = new LegacyFilter(this);
+ AMFFilter messageBrokerFilter = new MessageBrokerFilter(this);
+
+ serializationFilter.setNext(batchFilter);
+ if (sessionFilter != null)
+ {
+ batchFilter.setNext(sessionFilter);
+ sessionFilter.setNext(envelopeFilter);
+ }
+ else
+ {
+ batchFilter.setNext(envelopeFilter);
+ }
+ envelopeFilter.setNext(messageBrokerFilter);
+
+ return serializationFilter;
+ }
+
+ /**
+ * Returns MessageIOConstants.AMF_CONTENT_TYPE.
+ */
+ @Override protected String getResponseContentType()
+ {
+ return MessageIOConstants.AMF_CONTENT_TYPE;
+ }
+
+ /**
+ * Returns the log category of the endpoint.
+ *
+ * @return The log category of the endpoint.
+ */
+ @Override protected String getLogCategory()
+ {
+ return LOG_CATEGORY;
+ }
+
+ /**
+ * Used internally for performance information gathering; not intended for
+ * public use. Serializes the message in AMF format and returns the size of
+ * the serialized message.
+ *
+ * @param message Message to get the size for.
+ *
+ * @return The size of the message after message is serialized.
+ */
+ @Override protected long getMessageSizeForPerformanceInfo(Message message)
+ {
+ Amf3Output amfOut = new Amf3Output(serializationContext);
+ ByteArrayOutputStream outStream = new ByteArrayOutputStream();
+ DataOutputStream dataOutStream = new DataOutputStream(outStream);
+ amfOut.setOutputStream(dataOutStream);
+ try
+ {
+ amfOut.writeObject(message);
+ }
+ catch (IOException e)
+ {
+ if (Log.isDebug())
+ log.debug("MPI exception while retrieving the size of the serialized message: " + e.toString());
+ }
+ return dataOutStream.size();
+ }
+
+ /**
+ * Returns the deserializer class name used by the endpoint.
+ *
+ * @return The deserializer class name used by the endpoint.
+ */
+ @Override protected String getDeserializerClassName()
+ {
+ return "flex.messaging.io.amf.AmfMessageDeserializer";
+ }
+
+ /**
+ * Returns the serializer class name used by the endpoint.
+ *
+ * @return The serializer class name used by the endpoint.
+ */
+ @Override protected String getSerializerClassName()
+ {
+ return "flex.messaging.io.amf.AmfMessageSerializer";
+ }
+
+ /**
+ * Invoked automatically to allow the <code>StreamingAMFEndpoint</code> to setup its
+ * corresponding MBean control.
+ *
+ * @param broker The <code>MessageBroker</code> that manages this
+ * <code>StreamingAMFEndpoint</code>.
+ */
+ @Override protected void setupEndpointControl(MessageBroker broker)
+ {
+ controller = new StreamingAMFEndpointControl(this, broker.getControl());
+ controller.register();
+ setControl(controller);
+ }
+
+ /**
+ * Helper method invoked by the endpoint request handler thread cycling in wait-notify.
+ * Serializes messages and streams each to the client as a response chunk using streamChunk().
+ *
+ * @param messages The messages to serialize and push to the client.
+ * @param os The output stream the chunk will be written to.
+ * @param response The HttpServletResponse, used to flush the chunk to the client.
+ */
+ @Override protected void streamMessages(List messages, ServletOutputStream os, HttpServletResponse response) throws IOException
+ {
+ if (messages == null || messages.isEmpty())
+ return;
+
+ // Serialize each message as a separate chunk of bytes.
+ TypeMarshallingContext.setTypeMarshaller(getTypeMarshaller());
+ for (Iterator iter = messages.iterator(); iter.hasNext();)
+ {
+ Message message = (Message)iter.next();
+ addPerformanceInfo(message);
+ message = convertPushMessageToSmall(message);
+ if (Log.isDebug())
+ log.debug("Endpoint with id '" + getId() + "' is streaming message: " + message);
+
+ Amf3Output amfOut = new Amf3Output(serializationContext);
+ ByteArrayOutputStream outStream = new ByteArrayOutputStream();
+ DataOutputStream dataOutStream = new DataOutputStream(outStream);
+ amfOut.setOutputStream(dataOutStream);
+
+ amfOut.writeObject(message);
+ dataOutStream.flush();
+ byte[] messageBytes = outStream.toByteArray();
+ streamChunk(messageBytes, os, response);
+
+ if (isManaged())
+ ((StreamingAMFEndpointControl)controller).incrementPushCount();
+ }
+ TypeMarshallingContext.setTypeMarshaller(null);
+ }
}
\ No newline at end of file