You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by ah...@apache.org on 2014/04/25 07:34:23 UTC
[25/51] [partial] BlazeDS Donation from Adobe Systems Inc
http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/7a58369c/apps/team/features/messaging/multipleendpoints/messaging_AMFLongPoll_and_SecureAMFLongPoll.mxml
----------------------------------------------------------------------
diff --git a/apps/team/features/messaging/multipleendpoints/messaging_AMFLongPoll_and_SecureAMFLongPoll.mxml b/apps/team/features/messaging/multipleendpoints/messaging_AMFLongPoll_and_SecureAMFLongPoll.mxml
new file mode 100755
index 0000000..87c24e6
--- /dev/null
+++ b/apps/team/features/messaging/multipleendpoints/messaging_AMFLongPoll_and_SecureAMFLongPoll.mxml
@@ -0,0 +1,160 @@
+<?xml version="1.0"?>
+<!--
+
+ 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.
+
+-->
+<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" width="100%" height="100%"
+ creationComplete="creationCompleteHandler();">
+
+ <mx:Panel id="mainPanel1" height="100%" width="100%">
+ <mx:HBox>
+ <mx:Label text="Producer"/>
+ <mx:Button label="Send Foo{counter}" click="sendMessage()"/>
+ <mx:Button label="Disconnect" click="producer.disconnect();" enabled="{producer.connected}"/>
+ <mx:CheckBox label="Connected?" selected="{producer.connected}"/>
+ </mx:HBox>
+ <mx:HBox>
+ <mx:Label text="Consumer"/>
+ <mx:Button label="Subcribe" click="consumer.subscribe();" enabled="{!consumer.subscribed}"/>
+ <mx:Button label="Unsubscribe" click="consumer.unsubscribe();" enabled="{consumer.subscribed}"/>
+ <mx:Button label="Disconnect" click="consumer.disconnect();" enabled="{consumer.connected}"/>
+ <mx:CheckBox label="Connected?" selected="{consumer.connected}"/>
+ <mx:CheckBox label="Subscribed?" selected="{consumer.subscribed}"/>
+ </mx:HBox>
+ <mx:Button label="Clear" click='ta.text = ""'/>
+ <mx:TextArea id="ta" width="100%" height="100%"/>
+ </mx:Panel>
+
+<mx:Panel id="mainPanel2" height="100%" width="100%">
+ <mx:HBox>
+ <mx:Label text="Producer2"/>
+ <mx:Button label="Send Foo{counter2}" click="sendMessage2()"/>
+ <mx:Button label="Disconnect" click="producer2.disconnect();" enabled="{producer2.connected}"/>
+ <mx:CheckBox label="Connected?" selected="{producer2.connected}"/>
+ </mx:HBox>
+ <mx:HBox>
+ <mx:Label text="Consumer2"/>
+ <mx:Button label="Subcribe" click="consumer2.subscribe();" enabled="{!consumer2.subscribed}"/>
+ <mx:Button label="Unsubscribe" click="consumer2.unsubscribe();" enabled="{consumer2.subscribed}"/>
+ <mx:Button label="Disconnect" click="consumer2.disconnect();" enabled="{consumer2.connected}"/>
+ <mx:Button label="Poll" click="(consumer2.channelSet.currentChannel as PollingChannel).poll();" enabled="{consumer2.connected}"/>
+ <mx:CheckBox label="Connected?" selected="{consumer2.connected}"/>
+ <mx:CheckBox label="Subscribed?" selected="{consumer2.subscribed}"/>
+ </mx:HBox>
+ <mx:Button label="Clear" click='ta2.text = ""'/>
+ <mx:TextArea id="ta2" width="100%" height="100%"/>
+ </mx:Panel>
+
+
+ <mx:Producer id="producer"
+ destination="messaging_AMF_LongPoll"
+ fault="faultHandler(event)"/>
+
+ <mx:Consumer id="consumer"
+ destination="messaging_AMF_LongPoll"
+ fault="faultHandler(event)"
+ message="messageHandler(event)"/>
+
+ <mx:Producer id="producer2"
+ destination="messaging_AMF_SecureLongPoll"
+ fault="faultHandler2(event)"/>
+
+ <mx:Consumer id="consumer2"
+ destination="messaging_AMF_SecureLongPoll"
+ fault="faultHandler2(event)"
+ message="messageHandler2(event)"/>
+
+ <mx:Script>
+ <![CDATA[
+ import mx.messaging.events.MessageFaultEvent;
+ import mx.messaging.events.MessageEvent;
+ import mx.messaging.messages.AsyncMessage;
+ import mx.messaging.Producer;
+ import mx.messaging.Consumer;
+ import mx.messaging.channels.PollingChannel;
+ import mx.logging.Log;
+ import mx.logging.targets.TraceTarget;
+
+ [Bindable]
+ public var counter:int = 0;
+
+ private function creationCompleteHandler():void
+ {
+ var target:TraceTarget = new TraceTarget();
+ target.includeLevel = true;
+ target.filters = ["mx.messaging.*", "mx.rpc.*"];
+ Log.addTarget(target);
+ }
+
+ private function sendMessage():void
+ {
+ var msg:AsyncMessage = new AsyncMessage();
+ msg.body = "Foo" + counter++;
+ producer.send(msg);
+ }
+
+ private function messageHandler(event:MessageEvent):void
+ {
+ ta.text += "Consumer received message: "+ event.message.body + "\n";
+ }
+
+ private function faultHandler(event:MessageFaultEvent):void
+ {
+ ta.text += "Received fault: " + event.faultString + "\n";
+ }
+
+ [Bindable]
+ public var counter2:int = 0;
+
+
+ private function sendMessage2():void
+ {
+ var msg:AsyncMessage = new AsyncMessage();
+ msg.body = "Foo" + counter2++;
+ producer2.send(msg);
+ }
+
+ private function messageHandler2(event:MessageEvent):void
+ {
+ ta2.text += "Consumer received message: "+ event.message.body + "\n";
+ }
+
+ private function faultHandler2(event:MessageFaultEvent):void
+ {
+ ta2.text += "Received fault: " + event.faultString + "\n";
+ }
+ ]]>
+ </mx:Script>
+
+
+
+
+ <mx:Script>
+ <![CDATA[
+ import mx.messaging.events.MessageFaultEvent;
+ import mx.messaging.events.MessageEvent;
+ import mx.messaging.messages.AsyncMessage;
+ import mx.messaging.Producer;
+ import mx.messaging.Consumer;
+
+ import mx.logging.Log;
+ import mx.logging.targets.TraceTarget;
+
+
+ ]]>
+ </mx:Script>
+</mx:Application>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/7a58369c/apps/team/features/messaging/multipleendpoints/messaging_SecureAMFLongPoll_and_AMFStream.mxml
----------------------------------------------------------------------
diff --git a/apps/team/features/messaging/multipleendpoints/messaging_SecureAMFLongPoll_and_AMFStream.mxml b/apps/team/features/messaging/multipleendpoints/messaging_SecureAMFLongPoll_and_AMFStream.mxml
new file mode 100755
index 0000000..c5619cd
--- /dev/null
+++ b/apps/team/features/messaging/multipleendpoints/messaging_SecureAMFLongPoll_and_AMFStream.mxml
@@ -0,0 +1,160 @@
+<?xml version="1.0"?>
+<!--
+
+ 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.
+
+-->
+<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" width="100%" height="100%"
+ creationComplete="creationCompleteHandler();">
+
+ <mx:Panel id="mainPanel1" height="100%" width="100%">
+ <mx:HBox>
+ <mx:Label text="Producer"/>
+ <mx:Button label="Send Foo{counter}" click="sendMessage()"/>
+ <mx:Button label="Disconnect" click="producer.disconnect();" enabled="{producer.connected}"/>
+ <mx:CheckBox label="Connected?" selected="{producer.connected}"/>
+ </mx:HBox>
+ <mx:HBox>
+ <mx:Label text="Consumer"/>
+ <mx:Button label="Subcribe" click="consumer.subscribe();" enabled="{!consumer.subscribed}"/>
+ <mx:Button label="Unsubscribe" click="consumer.unsubscribe();" enabled="{consumer.subscribed}"/>
+ <mx:Button label="Disconnect" click="consumer.disconnect();" enabled="{consumer.connected}"/>
+ <mx:CheckBox label="Connected?" selected="{consumer.connected}"/>
+ <mx:CheckBox label="Subscribed?" selected="{consumer.subscribed}"/>
+ </mx:HBox>
+ <mx:Button label="Clear" click='ta.text = ""'/>
+ <mx:TextArea id="ta" width="100%" height="100%"/>
+ </mx:Panel>
+
+<mx:Panel id="mainPanel2" height="100%" width="100%">
+ <mx:HBox>
+ <mx:Label text="Producer2"/>
+ <mx:Button label="Send Foo{counter2}" click="sendMessage2()"/>
+ <mx:Button label="Disconnect" click="producer2.disconnect();" enabled="{producer2.connected}"/>
+ <mx:CheckBox label="Connected?" selected="{producer2.connected}"/>
+ </mx:HBox>
+ <mx:HBox>
+ <mx:Label text="Consumer2"/>
+ <mx:Button label="Subcribe" click="consumer2.subscribe();" enabled="{!consumer2.subscribed}"/>
+ <mx:Button label="Unsubscribe" click="consumer2.unsubscribe();" enabled="{consumer2.subscribed}"/>
+ <mx:Button label="Disconnect" click="consumer2.disconnect();" enabled="{consumer2.connected}"/>
+ <mx:Button label="Poll" click="(consumer2.channelSet.currentChannel as PollingChannel).poll();" enabled="{consumer2.connected}"/>
+ <mx:CheckBox label="Connected?" selected="{consumer2.connected}"/>
+ <mx:CheckBox label="Subscribed?" selected="{consumer2.subscribed}"/>
+ </mx:HBox>
+ <mx:Button label="Clear" click='ta2.text = ""'/>
+ <mx:TextArea id="ta2" width="100%" height="100%"/>
+ </mx:Panel>
+
+
+ <mx:Producer id="producer"
+ destination="messaging_AMF_SecureLongPoll"
+ fault="faultHandler(event)"/>
+
+ <mx:Consumer id="consumer"
+ destination="messaging_AMF_SecureLongPoll"
+ fault="faultHandler(event)"
+ message="messageHandler(event)"/>
+
+ <mx:Producer id="producer2"
+ destination="messaging_AMF_Stream"
+ fault="faultHandler2(event)"/>
+
+ <mx:Consumer id="consumer2"
+ destination="messaging_AMF_Stream"
+ fault="faultHandler2(event)"
+ message="messageHandler2(event)"/>
+
+ <mx:Script>
+ <![CDATA[
+ import mx.messaging.events.MessageFaultEvent;
+ import mx.messaging.events.MessageEvent;
+ import mx.messaging.messages.AsyncMessage;
+ import mx.messaging.Producer;
+ import mx.messaging.Consumer;
+ import mx.messaging.channels.PollingChannel;
+ import mx.logging.Log;
+ import mx.logging.targets.TraceTarget;
+
+ [Bindable]
+ public var counter:int = 0;
+
+ private function creationCompleteHandler():void
+ {
+ var target:TraceTarget = new TraceTarget();
+ target.includeLevel = true;
+ target.filters = ["mx.messaging.*", "mx.rpc.*"];
+ Log.addTarget(target);
+ }
+
+ private function sendMessage():void
+ {
+ var msg:AsyncMessage = new AsyncMessage();
+ msg.body = "Foo" + counter++;
+ producer.send(msg);
+ }
+
+ private function messageHandler(event:MessageEvent):void
+ {
+ ta.text += "Consumer received message: "+ event.message.body + "\n";
+ }
+
+ private function faultHandler(event:MessageFaultEvent):void
+ {
+ ta.text += "Received fault: " + event.faultString + "\n";
+ }
+
+ [Bindable]
+ public var counter2:int = 0;
+
+
+ private function sendMessage2():void
+ {
+ var msg:AsyncMessage = new AsyncMessage();
+ msg.body = "Foo" + counter2++;
+ producer2.send(msg);
+ }
+
+ private function messageHandler2(event:MessageEvent):void
+ {
+ ta2.text += "Consumer received message: "+ event.message.body + "\n";
+ }
+
+ private function faultHandler2(event:MessageFaultEvent):void
+ {
+ ta2.text += "Received fault: " + event.faultString + "\n";
+ }
+ ]]>
+ </mx:Script>
+
+
+
+
+ <mx:Script>
+ <![CDATA[
+ import mx.messaging.events.MessageFaultEvent;
+ import mx.messaging.events.MessageEvent;
+ import mx.messaging.messages.AsyncMessage;
+ import mx.messaging.Producer;
+ import mx.messaging.Consumer;
+
+ import mx.logging.Log;
+ import mx.logging.targets.TraceTarget;
+
+
+ ]]>
+ </mx:Script>
+</mx:Application>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/7a58369c/apps/team/features/messaging/multipleendpoints/messaging_two_AMFLongPoll_Endpoints.mxml
----------------------------------------------------------------------
diff --git a/apps/team/features/messaging/multipleendpoints/messaging_two_AMFLongPoll_Endpoints.mxml b/apps/team/features/messaging/multipleendpoints/messaging_two_AMFLongPoll_Endpoints.mxml
new file mode 100755
index 0000000..78d289b
--- /dev/null
+++ b/apps/team/features/messaging/multipleendpoints/messaging_two_AMFLongPoll_Endpoints.mxml
@@ -0,0 +1,160 @@
+<?xml version="1.0"?>
+<!--
+
+ 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.
+
+-->
+<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" width="100%" height="100%"
+ creationComplete="creationCompleteHandler();">
+
+ <mx:Panel id="mainPanel1" height="100%" width="100%">
+ <mx:HBox>
+ <mx:Label text="Producer"/>
+ <mx:Button label="Send Foo{counter}" click="sendMessage()"/>
+ <mx:Button label="Disconnect" click="producer.disconnect();" enabled="{producer.connected}"/>
+ <mx:CheckBox label="Connected?" selected="{producer.connected}"/>
+ </mx:HBox>
+ <mx:HBox>
+ <mx:Label text="Consumer"/>
+ <mx:Button label="Subcribe" click="consumer.subscribe();" enabled="{!consumer.subscribed}"/>
+ <mx:Button label="Unsubscribe" click="consumer.unsubscribe();" enabled="{consumer.subscribed}"/>
+ <mx:Button label="Disconnect" click="consumer.disconnect();" enabled="{consumer.connected}"/>
+ <mx:CheckBox label="Connected?" selected="{consumer.connected}"/>
+ <mx:CheckBox label="Subscribed?" selected="{consumer.subscribed}"/>
+ </mx:HBox>
+ <mx:Button label="Clear" click='ta.text = ""'/>
+ <mx:TextArea id="ta" width="100%" height="100%"/>
+ </mx:Panel>
+
+<mx:Panel id="mainPanel2" height="100%" width="100%">
+ <mx:HBox>
+ <mx:Label text="Producer2"/>
+ <mx:Button label="Send Foo{counter2}" click="sendMessage2()"/>
+ <mx:Button label="Disconnect" click="producer2.disconnect();" enabled="{producer2.connected}"/>
+ <mx:CheckBox label="Connected?" selected="{producer2.connected}"/>
+ </mx:HBox>
+ <mx:HBox>
+ <mx:Label text="Consumer2"/>
+ <mx:Button label="Subcribe" click="consumer2.subscribe();" enabled="{!consumer2.subscribed}"/>
+ <mx:Button label="Unsubscribe" click="consumer2.unsubscribe();" enabled="{consumer2.subscribed}"/>
+ <mx:Button label="Disconnect" click="consumer2.disconnect();" enabled="{consumer2.connected}"/>
+ <mx:Button label="Poll" click="(consumer2.channelSet.currentChannel as PollingChannel).poll();" enabled="{consumer2.connected}"/>
+ <mx:CheckBox label="Connected?" selected="{consumer2.connected}"/>
+ <mx:CheckBox label="Subscribed?" selected="{consumer2.subscribed}"/>
+ </mx:HBox>
+ <mx:Button label="Clear" click='ta2.text = ""'/>
+ <mx:TextArea id="ta2" width="100%" height="100%"/>
+ </mx:Panel>
+
+
+ <mx:Producer id="producer"
+ destination="messaging_AMF_LongPoll"
+ fault="faultHandler(event)"/>
+
+ <mx:Consumer id="consumer"
+ destination="messaging_AMF_LongPoll"
+ fault="faultHandler(event)"
+ message="messageHandler(event)"/>
+
+ <mx:Producer id="producer2"
+ destination="messaging_AMF_LongPoll2"
+ fault="faultHandler2(event)"/>
+
+ <mx:Consumer id="consumer2"
+ destination="messaging_AMF_LongPoll2"
+ fault="faultHandler2(event)"
+ message="messageHandler2(event)"/>
+
+ <mx:Script>
+ <![CDATA[
+ import mx.messaging.events.MessageFaultEvent;
+ import mx.messaging.events.MessageEvent;
+ import mx.messaging.messages.AsyncMessage;
+ import mx.messaging.Producer;
+ import mx.messaging.Consumer;
+ import mx.messaging.channels.PollingChannel;
+ import mx.logging.Log;
+ import mx.logging.targets.TraceTarget;
+
+ [Bindable]
+ public var counter:int = 0;
+
+ private function creationCompleteHandler():void
+ {
+ var target:TraceTarget = new TraceTarget();
+ target.includeLevel = true;
+ target.filters = ["mx.messaging.*", "mx.rpc.*"];
+ Log.addTarget(target);
+ }
+
+ private function sendMessage():void
+ {
+ var msg:AsyncMessage = new AsyncMessage();
+ msg.body = "Foo" + counter++;
+ producer.send(msg);
+ }
+
+ private function messageHandler(event:MessageEvent):void
+ {
+ ta.text += "Consumer received message: "+ event.message.body + "\n";
+ }
+
+ private function faultHandler(event:MessageFaultEvent):void
+ {
+ ta.text += "Received fault: " + event.faultString + "\n";
+ }
+
+ [Bindable]
+ public var counter2:int = 0;
+
+
+ private function sendMessage2():void
+ {
+ var msg:AsyncMessage = new AsyncMessage();
+ msg.body = "Foo" + counter2++;
+ producer2.send(msg);
+ }
+
+ private function messageHandler2(event:MessageEvent):void
+ {
+ ta2.text += "Consumer received message: "+ event.message.body + "\n";
+ }
+
+ private function faultHandler2(event:MessageFaultEvent):void
+ {
+ ta2.text += "Received fault: " + event.faultString + "\n";
+ }
+ ]]>
+ </mx:Script>
+
+
+
+
+ <mx:Script>
+ <![CDATA[
+ import mx.messaging.events.MessageFaultEvent;
+ import mx.messaging.events.MessageEvent;
+ import mx.messaging.messages.AsyncMessage;
+ import mx.messaging.Producer;
+ import mx.messaging.Consumer;
+
+ import mx.logging.Log;
+ import mx.logging.targets.TraceTarget;
+
+
+ ]]>
+ </mx:Script>
+</mx:Application>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/7a58369c/apps/team/features/messaging/secure/messaging_SecureAMF.mxml
----------------------------------------------------------------------
diff --git a/apps/team/features/messaging/secure/messaging_SecureAMF.mxml b/apps/team/features/messaging/secure/messaging_SecureAMF.mxml
new file mode 100755
index 0000000..ae5d1a1
--- /dev/null
+++ b/apps/team/features/messaging/secure/messaging_SecureAMF.mxml
@@ -0,0 +1,120 @@
+<?xml version="1.0"?>
+<!--
+
+ 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.
+
+-->
+<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" width="100%" height="100%"
+ creationComplete="creationCompleteHandler();">
+
+ <!-- An example where the client manually initiates a poll request without
+ relying on polling-interval with secure HTTP.
+ -->
+ <mx:Panel id="mainPanel" height="100%" width="100%">
+ <mx:HBox>
+ <mx:Label text="Producer"/>
+ <mx:Button label="Send Foo{counter}" click="sendMessage()"/>
+ <mx:Button label="Disconnect" click="producer.disconnect();" enabled="{producer.connected}"/>
+ <mx:CheckBox label="Connected?" selected="{producer.connected}"/>
+ </mx:HBox>
+ <mx:HBox>
+ <mx:Label text="Consumer"/>
+ <mx:Button label="Subcribe" click="consumer.subscribe();" enabled="{!consumer.subscribed}"/>
+ <mx:Button label="Unsubscribe" click="consumer.unsubscribe();" enabled="{consumer.subscribed}"/>
+ <mx:Button label="Disconnect" click="consumer.disconnect();" enabled="{consumer.connected}"/>
+ <mx:CheckBox label="Connected?" selected="{consumer.connected}"/>
+ <mx:CheckBox label="Subscribed?" selected="{consumer.subscribed}"/>
+ </mx:HBox>
+ <mx:Button label="Clear" click='ta.text = ""'/>
+ <mx:TextArea id="ta" width="100%" height="100%"/>
+ </mx:Panel>
+
+ <mx:Producer id="producer"
+ destination="messaging_SecureAMF"
+ fault="faultHandler(event)"/>
+
+ <mx:Consumer id="consumer"
+ destination="messaging_SecureAMF"
+ fault="faultHandler(event)"
+ message="messageHandler(event)"/>
+
+ <mx:Script>
+ <![CDATA[
+
+ import mx.messaging.events.MessageFaultEvent;
+ import mx.messaging.events.MessageEvent;
+
+ import mx.messaging.ChannelSet;
+ import mx.messaging.Producer;
+ import mx.messaging.Consumer;
+ import mx.messaging.channels.PollingChannel;
+ import mx.messaging.messages.AsyncMessage;
+
+ import mx.logging.Log;
+ import mx.logging.targets.TraceTarget;
+
+ public var pc:PollingChannel;
+
+ [Bindable]
+ public var counter:int = 0;
+
+ private function creationCompleteHandler():void
+ {
+ var target:TraceTarget = new TraceTarget();
+ target.includeLevel = true;
+ target.filters = ["mx.messaging.*", "mx.rpc.*"];
+ Log.addTarget(target);
+ }
+
+ private function sendMessage():void
+ {
+ var msg:AsyncMessage = new AsyncMessage();
+ msg.body = "Foo" + counter++;
+ producer.send(msg);
+ }
+
+ private function messageHandler(event:MessageEvent):void
+ {
+ ta.text += "Consumer: received message: "+ event.message.body + "\n";
+ }
+
+ private function faultHandler(event:Object):void
+ {
+ ta.text += "Received fault: " + event.faultString + "\n";
+ }
+
+ private function poll():void
+ {
+ ta.text += "Polling" + "\n";
+ if (!consumer.subscribed)
+ {
+ subscribeConsumer();
+ }
+ pc.poll();
+ }
+
+ private function subscribeConsumer():void
+ {
+ ta.text += "Subscribing Consumer \n";
+ consumer.subscribe();
+
+ var pcs:ChannelSet = consumer.channelSet;
+ pc = PollingChannel(pcs.currentChannel);
+ }
+ ]]>
+ </mx:Script>
+
+</mx:Application>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/7a58369c/apps/team/features/messaging/secure/messaging_SecureHTTP.mxml
----------------------------------------------------------------------
diff --git a/apps/team/features/messaging/secure/messaging_SecureHTTP.mxml b/apps/team/features/messaging/secure/messaging_SecureHTTP.mxml
new file mode 100755
index 0000000..ecbb6e4
--- /dev/null
+++ b/apps/team/features/messaging/secure/messaging_SecureHTTP.mxml
@@ -0,0 +1,120 @@
+<?xml version="1.0"?>
+<!--
+
+ 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.
+
+-->
+<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" width="100%" height="100%"
+ creationComplete="creationCompleteHandler();">
+
+ <!-- An example where the client manually initiates a poll request without
+ relying on polling-interval with secure HTTP.
+ -->
+ <mx:Panel id="mainPanel" height="100%" width="100%">
+ <mx:HBox>
+ <mx:Label text="Producer"/>
+ <mx:Button label="Send Foo{counter}" click="sendMessage()"/>
+ <mx:Button label="Disconnect" click="producer.disconnect();" enabled="{producer.connected}"/>
+ <mx:CheckBox label="Connected?" selected="{producer.connected}"/>
+ </mx:HBox>
+ <mx:HBox>
+ <mx:Label text="Consumer"/>
+ <mx:Button label="Subcribe" click="consumer.subscribe();" enabled="{!consumer.subscribed}"/>
+ <mx:Button label="Unsubscribe" click="consumer.unsubscribe();" enabled="{consumer.subscribed}"/>
+ <mx:Button label="Disconnect" click="consumer.disconnect();" enabled="{consumer.connected}"/>
+ <mx:CheckBox label="Connected?" selected="{consumer.connected}"/>
+ <mx:CheckBox label="Subscribed?" selected="{consumer.subscribed}"/>
+ </mx:HBox>
+ <mx:Button label="Clear" click='ta.text = ""'/>
+ <mx:TextArea id="ta" width="100%" height="100%"/>
+ </mx:Panel>
+
+ <mx:Producer id="producer"
+ destination="messaging_SecureHTTP"
+ fault="faultHandler(event)"/>
+
+ <mx:Consumer id="consumer"
+ destination="messaging_SecureHTTP"
+ fault="faultHandler(event)"
+ message="messageHandler(event)"/>
+
+ <mx:Script>
+ <![CDATA[
+
+ import mx.messaging.events.MessageFaultEvent;
+ import mx.messaging.events.MessageEvent;
+
+ import mx.messaging.ChannelSet;
+ import mx.messaging.Producer;
+ import mx.messaging.Consumer;
+ import mx.messaging.channels.PollingChannel;
+ import mx.messaging.messages.AsyncMessage;
+
+ import mx.logging.Log;
+ import mx.logging.targets.TraceTarget;
+
+ public var pc:PollingChannel;
+
+ [Bindable]
+ public var counter:int = 0;
+
+ private function creationCompleteHandler():void
+ {
+ var target:TraceTarget = new TraceTarget();
+ target.includeLevel = true;
+ target.filters = ["mx.messaging.*", "mx.rpc.*"];
+ Log.addTarget(target);
+ }
+
+ private function sendMessage():void
+ {
+ var msg:AsyncMessage = new AsyncMessage();
+ msg.body = "Foo" + counter++;
+ producer.send(msg);
+ }
+
+ private function messageHandler(event:MessageEvent):void
+ {
+ ta.text += "Consumer: received message: "+ event.message.body + "\n";
+ }
+
+ private function faultHandler(event:Object):void
+ {
+ ta.text += "Received fault: " + event.faultString + "\n";
+ }
+
+ private function poll():void
+ {
+ ta.text += "Polling" + "\n";
+ if (!consumer.subscribed)
+ {
+ subscribeConsumer();
+ }
+ pc.poll();
+ }
+
+ private function subscribeConsumer():void
+ {
+ ta.text += "Subscribing Consumer \n";
+ consumer.subscribe();
+
+ var pcs:ChannelSet = consumer.channelSet;
+ pc = PollingChannel(pcs.currentChannel);
+ }
+ ]]>
+ </mx:Script>
+
+</mx:Application>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/7a58369c/apps/team/features/messaging/selector/messaging_AMF_Poll_JMS_Queue_Selector.mxml
----------------------------------------------------------------------
diff --git a/apps/team/features/messaging/selector/messaging_AMF_Poll_JMS_Queue_Selector.mxml b/apps/team/features/messaging/selector/messaging_AMF_Poll_JMS_Queue_Selector.mxml
new file mode 100755
index 0000000..91f9317
--- /dev/null
+++ b/apps/team/features/messaging/selector/messaging_AMF_Poll_JMS_Queue_Selector.mxml
@@ -0,0 +1,100 @@
+<?xml version="1.0"?>
+<!--
+
+ 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.
+
+-->
+<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" width="100%" height="100%"
+ creationComplete="creationCompleteHandler();">
+
+ <!-- This example shows how to use selectors -->
+
+ <mx:Panel id="mainPanel" height="100%" width="100%">
+ <mx:HBox>
+ <mx:Label text="Producer"/>
+ <mx:Button label="Send Foo{counter}" click="sendMessage()"/>
+ <mx:Button label="Disconnect" click="producer.disconnect();"/>
+ </mx:HBox>
+ <mx:HBox>
+ <mx:Label text="Consumer"/>
+ <mx:Button label="Subcribe" click="consumer.subscribe();"/>
+ <mx:Button label="Unsubscribe" click="consumer.unsubscribe();"/>
+ <mx:Button label="Disconnect" click="consumer.disconnect();"/>
+ <mx:CheckBox label="Subscribed?" selected="{consumer.subscribed}"/>
+ </mx:HBox>
+ <mx:Button label="Clear" click='ta.text = ""'/>
+ <mx:TextArea id="ta" width="100%" height="100%"/>
+ </mx:Panel>
+
+ <mx:Producer id="producer"
+ destination="messaging_AMF_Poll_JMS_Queue"
+ fault="faultHandler(event)"/>
+
+ <mx:Consumer id="consumer"
+ destination="messaging_AMF_Poll_JMS_Queue"
+ fault="faultHandler(event)"
+ message="messageHandler(event)"
+ selector="username = 'Foo'"/>
+
+ <mx:Script>
+ <![CDATA[
+ import mx.messaging.events.MessageFaultEvent;
+ import mx.messaging.events.MessageEvent;
+ import mx.messaging.messages.AsyncMessage;
+ import mx.messaging.Producer;
+ import mx.messaging.Consumer;
+
+ import mx.logging.Log;
+ import mx.logging.targets.TraceTarget;
+
+ [Bindable]
+ public var counter:int = 0;
+
+ private var alternate:Boolean = false;
+
+ private function creationCompleteHandler():void
+ {
+ var target:TraceTarget = new TraceTarget();
+ target.includeLevel = true;
+ target.filters = ["mx.messaging.*", "mx.rpc.*"];
+ Log.addTarget(target);
+ }
+
+ private function sendMessage():void
+ {
+ var msg:AsyncMessage = new AsyncMessage();
+ msg.body = "Foo" + counter++;
+
+ // Alternate between sending the message with the header and without the header
+ if (alternate)
+ msg.headers["username"] = "Foo";
+ alternate = !alternate;
+
+ producer.send(msg);
+ }
+
+ private function messageHandler(event:MessageEvent):void
+ {
+ ta.text += "Consumer received message: "+ event.message.body + "\n";
+ }
+
+ private function faultHandler(event:MessageFaultEvent):void
+ {
+ ta.text += "Received fault: " + event.faultString + "\n";
+ }
+ ]]>
+ </mx:Script>
+</mx:Application>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/7a58369c/apps/team/features/messaging/selector/messaging_AMF_Poll_Selector.mxml
----------------------------------------------------------------------
diff --git a/apps/team/features/messaging/selector/messaging_AMF_Poll_Selector.mxml b/apps/team/features/messaging/selector/messaging_AMF_Poll_Selector.mxml
new file mode 100755
index 0000000..fe69117
--- /dev/null
+++ b/apps/team/features/messaging/selector/messaging_AMF_Poll_Selector.mxml
@@ -0,0 +1,100 @@
+<?xml version="1.0"?>
+<!--
+
+ 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.
+
+-->
+<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" width="100%" height="100%"
+ creationComplete="creationCompleteHandler();">
+
+ <!-- This example shows how to use selectors -->
+
+ <mx:Panel id="mainPanel" height="100%" width="100%">
+ <mx:HBox>
+ <mx:Label text="Producer"/>
+ <mx:Button label="Send Foo{counter}" click="sendMessage()"/>
+ <mx:Button label="Disconnect" click="producer.disconnect();"/>
+ </mx:HBox>
+ <mx:HBox>
+ <mx:Label text="Consumer"/>
+ <mx:Button label="Subcribe" click="consumer.subscribe();"/>
+ <mx:Button label="Unsubscribe" click="consumer.unsubscribe();"/>
+ <mx:Button label="Disconnect" click="consumer.disconnect();"/>
+ <mx:CheckBox label="Subscribed?" selected="{consumer.subscribed}"/>
+ </mx:HBox>
+ <mx:Button label="Clear" click='ta.text = ""'/>
+ <mx:TextArea id="ta" width="100%" height="100%"/>
+ </mx:Panel>
+
+ <mx:Producer id="producer"
+ destination="messaging_AMF_Poll"
+ fault="faultHandler(event)"/>
+
+ <mx:Consumer id="consumer"
+ destination="messaging_AMF_Poll"
+ fault="faultHandler(event)"
+ message="messageHandler(event)"
+ selector="username = 'Foo'"/>
+
+ <mx:Script>
+ <![CDATA[
+ import mx.messaging.events.MessageFaultEvent;
+ import mx.messaging.events.MessageEvent;
+ import mx.messaging.messages.AsyncMessage;
+ import mx.messaging.Producer;
+ import mx.messaging.Consumer;
+
+ import mx.logging.Log;
+ import mx.logging.targets.TraceTarget;
+
+ [Bindable]
+ public var counter:int = 0;
+
+ private var alternate:Boolean = false;
+
+ private function creationCompleteHandler():void
+ {
+ var target:TraceTarget = new TraceTarget();
+ target.includeLevel = true;
+ target.filters = ["mx.messaging.*", "mx.rpc.*"];
+ Log.addTarget(target);
+ }
+
+ private function sendMessage():void
+ {
+ var msg:AsyncMessage = new AsyncMessage();
+ msg.body = "Foo" + counter++;
+
+ // Alternate between sending the message with the header and without the header
+ if (alternate)
+ msg.headers["username"] = "Foo";
+ alternate = !alternate;
+
+ producer.send(msg);
+ }
+
+ private function messageHandler(event:MessageEvent):void
+ {
+ ta.text += "Consumer received message: "+ event.message.body + "\n";
+ }
+
+ private function faultHandler(event:MessageFaultEvent):void
+ {
+ ta.text += "Received fault: " + event.faultString + "\n";
+ }
+ ]]>
+ </mx:Script>
+</mx:Application>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/7a58369c/apps/team/features/messaging/selector/messaging_HTTP_Poll_Selector.mxml
----------------------------------------------------------------------
diff --git a/apps/team/features/messaging/selector/messaging_HTTP_Poll_Selector.mxml b/apps/team/features/messaging/selector/messaging_HTTP_Poll_Selector.mxml
new file mode 100755
index 0000000..253af1d
--- /dev/null
+++ b/apps/team/features/messaging/selector/messaging_HTTP_Poll_Selector.mxml
@@ -0,0 +1,102 @@
+<?xml version="1.0"?>
+<!--
+
+ 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.
+
+-->
+<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" width="100%" height="100%"
+ creationComplete="creationCompleteHandler();">
+
+ <!-- This example shows how to use selectors -->
+
+ <mx:Panel id="mainPanel" height="100%" width="100%">
+ <mx:HBox>
+ <mx:Label text="Producer"/>
+ <mx:Button label="Send Foo{counter}" click="sendMessage()"/>
+ <mx:Button label="Disconnect" click="producer.disconnect();" enabled="{producer.connected}"/>
+ <mx:CheckBox label="Connected?" selected="{producer.connected}"/>
+ </mx:HBox>
+ <mx:HBox>
+ <mx:Label text="Consumer"/>
+ <mx:Button label="Subcribe" click="consumer.subscribe();" enabled="{!consumer.subscribed}"/>
+ <mx:Button label="Unsubscribe" click="consumer.unsubscribe();" enabled="{consumer.subscribed}"/>
+ <mx:Button label="Disconnect" click="consumer.disconnect();" enabled="{consumer.connected}"/>
+ <mx:CheckBox label="Connected?" selected="{consumer.connected}"/>
+ <mx:CheckBox label="Subscribed?" selected="{consumer.subscribed}"/>
+ </mx:HBox>
+ <mx:Button label="Clear" click='ta.text = ""'/>
+ <mx:TextArea id="ta" width="100%" height="100%"/>
+ </mx:Panel>
+
+ <mx:Producer id="producer"
+ destination="messaging_HTTP_Poll"
+ fault="faultHandler(event)"/>
+
+ <mx:Consumer id="consumer"
+ destination="messaging_HTTP_Poll"
+ fault="faultHandler(event)"
+ message="messageHandler(event)"
+ selector="username = 'Foo'"/>
+
+ <mx:Script>
+ <![CDATA[
+ import mx.messaging.events.MessageFaultEvent;
+ import mx.messaging.events.MessageEvent;
+ import mx.messaging.messages.AsyncMessage;
+ import mx.messaging.Producer;
+ import mx.messaging.Consumer;
+
+ import mx.logging.Log;
+ import mx.logging.targets.TraceTarget;
+
+ [Bindable]
+ public var counter:int = 0;
+
+ private var alternate:Boolean = false;
+
+ private function creationCompleteHandler():void
+ {
+ var target:TraceTarget = new TraceTarget();
+ target.includeLevel = true;
+ target.filters = ["mx.messaging.*", "mx.rpc.*"];
+ Log.addTarget(target);
+ }
+
+ private function sendMessage():void
+ {
+ var msg:AsyncMessage = new AsyncMessage();
+ msg.body = "Foo" + counter++;
+
+ // Alternate between sending the message with the header and without the header
+ if (alternate)
+ msg.headers["username"] = "Foo";
+ alternate = !alternate;
+
+ producer.send(msg);
+ }
+
+ private function messageHandler(event:MessageEvent):void
+ {
+ ta.text += "Consumer received message: "+ event.message.body + "\n";
+ }
+
+ private function faultHandler(event:MessageFaultEvent):void
+ {
+ ta.text += "Received fault: " + event.faultString + "\n";
+ }
+ ]]>
+ </mx:Script>
+</mx:Application>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/7a58369c/apps/team/features/messaging/sendsubscribeconstraint/messaging_AMF_LongPoll_SendSubscribeConstraint.mxml
----------------------------------------------------------------------
diff --git a/apps/team/features/messaging/sendsubscribeconstraint/messaging_AMF_LongPoll_SendSubscribeConstraint.mxml b/apps/team/features/messaging/sendsubscribeconstraint/messaging_AMF_LongPoll_SendSubscribeConstraint.mxml
new file mode 100755
index 0000000..bf102a8
--- /dev/null
+++ b/apps/team/features/messaging/sendsubscribeconstraint/messaging_AMF_LongPoll_SendSubscribeConstraint.mxml
@@ -0,0 +1,104 @@
+<?xml version="1.0"?>
+<!--
+
+ 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.
+
+-->
+<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" width="100%" height="100%"
+ creationComplete="creationCompleteHandler();">
+
+ <!-- An example that uses a destination protected by send and subscribe constraint -->
+ <mx:Panel id="mainPanel" height="100%" width="100%">
+ <mx:HBox>
+ <mx:Label text="Producer"/>
+ <mx:Button label="Send Foo{counter}" click="sendMessage()"/>
+ <mx:Button label="Disconnect" click="producer.disconnect();" enabled="{producer.connected}"/>
+ <mx:CheckBox label="Connected?" selected="{producer.connected}"/>
+ </mx:HBox>
+ <mx:HBox>
+ <mx:Label text="Consumer"/>
+ <mx:Button label="Subcribe" click="consumer.subscribe();" enabled="{!consumer.subscribed}"/>
+ <mx:Button label="Unsubscribe" click="consumer.unsubscribe();" enabled="{consumer.subscribed}"/>
+ <mx:Button label="Disconnect" click="consumer.disconnect();" enabled="{consumer.connected}"/>
+ <mx:Button label="Logout" click="consumer.logout()" enabled="{consumer.authenticated}"/>
+ <mx:CheckBox label="Connected?" selected="{consumer.connected}"/>
+ <mx:CheckBox label="Subscribed?" selected="{consumer.subscribed}"/>
+ </mx:HBox>
+ <mx:Button label="Reset credentials" click="setCredentials()"/>
+ <mx:Button label="Clear" click='ta.text = ""'/>
+ <mx:TextArea id="ta" width="100%" height="100%"/>
+ </mx:Panel>
+
+ <mx:Producer id="producer"
+ destination="messaging_AMF_LongPoll_SendSubscribeConstraint"
+ fault="faultHandler(event)"/>
+
+ <mx:Consumer id="consumer"
+ destination="messaging_AMF_LongPoll_SendSubscribeConstraint"
+ fault="faultHandler(event)"
+ message="messageHandler(event)"/>
+
+ <mx:Script>
+ <![CDATA[
+ import mx.messaging.events.MessageFaultEvent;
+ import mx.messaging.events.MessageEvent;
+ import mx.messaging.messages.AsyncMessage;
+ import mx.messaging.Producer;
+ import mx.messaging.Consumer;
+
+ import mx.logging.Log;
+ import mx.logging.targets.TraceTarget;
+
+ [Bindable]
+ public var counter:int = 0;
+
+ private function creationCompleteHandler():void
+ {
+ var target:TraceTarget = new TraceTarget();
+ target.includeLevel = true;
+ target.filters = ["mx.messaging.*", "mx.rpc.*"];
+ Log.addTarget(target);
+
+ // Set credentials as the destination is protected by send and
+ // subscribe constraints.
+ setCredentials();
+ }
+
+ private function setCredentials():void
+ {
+ producer.setCredentials("sampleuser", "samplepassword");
+ consumer.setCredentials("sampleuser", "samplepassword");
+ }
+
+ private function sendMessage():void
+ {
+ var msg:AsyncMessage = new AsyncMessage();
+ msg.body = "Foo" + counter++;
+ producer.send(msg);
+ }
+
+ private function messageHandler(event:MessageEvent):void
+ {
+ ta.text += "Consumer received message: "+ event.message.body + "\n";
+ }
+
+ private function faultHandler(event:MessageFaultEvent):void
+ {
+ ta.text += "Received fault: " + event.faultString + "\n";
+ }
+ ]]>
+ </mx:Script>
+</mx:Application>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/7a58369c/apps/team/features/messaging/sendsubscribeconstraint/messaging_AMF_Poll_SendSubscribeConstraint.mxml
----------------------------------------------------------------------
diff --git a/apps/team/features/messaging/sendsubscribeconstraint/messaging_AMF_Poll_SendSubscribeConstraint.mxml b/apps/team/features/messaging/sendsubscribeconstraint/messaging_AMF_Poll_SendSubscribeConstraint.mxml
new file mode 100755
index 0000000..a1c8fa5
--- /dev/null
+++ b/apps/team/features/messaging/sendsubscribeconstraint/messaging_AMF_Poll_SendSubscribeConstraint.mxml
@@ -0,0 +1,104 @@
+<?xml version="1.0"?>
+<!--
+
+ 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.
+
+-->
+<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" width="100%" height="100%"
+ creationComplete="creationCompleteHandler();">
+
+ <!-- An example that uses a destination protected by send and subscribe constraint -->
+ <mx:Panel id="mainPanel" height="100%" width="100%">
+ <mx:HBox>
+ <mx:Label text="Producer"/>
+ <mx:Button label="Send Foo{counter}" click="sendMessage()"/>
+ <mx:Button label="Disconnect" click="producer.disconnect();" enabled="{producer.connected}"/>
+ <mx:CheckBox label="Connected?" selected="{producer.connected}"/>
+ </mx:HBox>
+ <mx:HBox>
+ <mx:Label text="Consumer"/>
+ <mx:Button label="Subcribe" click="consumer.subscribe();" enabled="{!consumer.subscribed}"/>
+ <mx:Button label="Unsubscribe" click="consumer.unsubscribe();" enabled="{consumer.subscribed}"/>
+ <mx:Button label="Disconnect" click="consumer.disconnect();" enabled="{consumer.connected}"/>
+ <mx:Button label="Logout" click="consumer.logout()" enabled="{consumer.authenticated}"/>
+ <mx:CheckBox label="Connected?" selected="{consumer.connected}"/>
+ <mx:CheckBox label="Subscribed?" selected="{consumer.subscribed}"/>
+ </mx:HBox>
+ <mx:Button label="Reset credentials" click="setCredentials()"/>
+ <mx:Button label="Clear" click='ta.text = ""'/>
+ <mx:TextArea id="ta" width="100%" height="100%"/>
+ </mx:Panel>
+
+ <mx:Producer id="producer"
+ destination="messaging_AMF_Poll_SendSubscribeConstraint"
+ fault="faultHandler(event)"/>
+
+ <mx:Consumer id="consumer"
+ destination="messaging_AMF_Poll_SendSubscribeConstraint"
+ fault="faultHandler(event)"
+ message="messageHandler(event)"/>
+
+ <mx:Script>
+ <![CDATA[
+ import mx.messaging.events.MessageFaultEvent;
+ import mx.messaging.events.MessageEvent;
+ import mx.messaging.messages.AsyncMessage;
+ import mx.messaging.Producer;
+ import mx.messaging.Consumer;
+
+ import mx.logging.Log;
+ import mx.logging.targets.TraceTarget;
+
+ [Bindable]
+ public var counter:int = 0;
+
+ private function creationCompleteHandler():void
+ {
+ var target:TraceTarget = new TraceTarget();
+ target.includeLevel = true;
+ target.filters = ["mx.messaging.*", "mx.rpc.*"];
+ Log.addTarget(target);
+
+ // Set credentials as the destination is protected by send and
+ // subscribe constraints.
+ setCredentials();
+ }
+
+ private function setCredentials():void
+ {
+ producer.setCredentials("sampleuser", "samplepassword");
+ consumer.setCredentials("sampleuser", "samplepassword");
+ }
+
+ private function sendMessage():void
+ {
+ var msg:AsyncMessage = new AsyncMessage();
+ msg.body = "Foo" + counter++;
+ producer.send(msg);
+ }
+
+ private function messageHandler(event:MessageEvent):void
+ {
+ ta.text += "Consumer received message: "+ event.message.body + "\n";
+ }
+
+ private function faultHandler(event:MessageFaultEvent):void
+ {
+ ta.text += "Received fault: " + event.faultString + "\n";
+ }
+ ]]>
+ </mx:Script>
+</mx:Application>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/7a58369c/apps/team/features/messaging/sendsubscribeconstraint/messaging_AMF_Stream_SendSubscribeConstraint.mxml
----------------------------------------------------------------------
diff --git a/apps/team/features/messaging/sendsubscribeconstraint/messaging_AMF_Stream_SendSubscribeConstraint.mxml b/apps/team/features/messaging/sendsubscribeconstraint/messaging_AMF_Stream_SendSubscribeConstraint.mxml
new file mode 100755
index 0000000..6c1329b
--- /dev/null
+++ b/apps/team/features/messaging/sendsubscribeconstraint/messaging_AMF_Stream_SendSubscribeConstraint.mxml
@@ -0,0 +1,104 @@
+<?xml version="1.0"?>
+<!--
+
+ 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.
+
+-->
+<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" width="100%" height="100%"
+ creationComplete="creationCompleteHandler();">
+
+ <!-- An example that uses a destination protected by send and subscribe constraint -->
+ <mx:Panel id="mainPanel" height="100%" width="100%">
+ <mx:HBox>
+ <mx:Label text="Producer"/>
+ <mx:Button label="Send Foo{counter}" click="sendMessage()"/>
+ <mx:Button label="Disconnect" click="producer.disconnect();" enabled="{producer.connected}"/>
+ <mx:CheckBox label="Connected?" selected="{producer.connected}"/>
+ </mx:HBox>
+ <mx:HBox>
+ <mx:Label text="Consumer"/>
+ <mx:Button label="Subcribe" click="consumer.subscribe();" enabled="{!consumer.subscribed}"/>
+ <mx:Button label="Unsubscribe" click="consumer.unsubscribe();" enabled="{consumer.subscribed}"/>
+ <mx:Button label="Disconnect" click="consumer.disconnect();" enabled="{consumer.connected}"/>
+ <mx:Button label="Logout" click="consumer.logout()" enabled="{consumer.authenticated}"/>
+ <mx:CheckBox label="Connected?" selected="{consumer.connected}"/>
+ <mx:CheckBox label="Subscribed?" selected="{consumer.subscribed}"/>
+ </mx:HBox>
+ <mx:Button label="Reset credentials" click="setCredentials()"/>
+ <mx:Button label="Clear" click='ta.text = ""'/>
+ <mx:TextArea id="ta" width="100%" height="100%"/>
+ </mx:Panel>
+
+ <mx:Producer id="producer"
+ destination="messaging_AMF_Stream_SendSubscribeConstraint"
+ fault="faultHandler(event)"/>
+
+ <mx:Consumer id="consumer"
+ destination="messaging_AMF_Stream_SendSubscribeConstraint"
+ fault="faultHandler(event)"
+ message="messageHandler(event)"/>
+
+ <mx:Script>
+ <![CDATA[
+ import mx.messaging.events.MessageFaultEvent;
+ import mx.messaging.events.MessageEvent;
+ import mx.messaging.messages.AsyncMessage;
+ import mx.messaging.Producer;
+ import mx.messaging.Consumer;
+
+ import mx.logging.Log;
+ import mx.logging.targets.TraceTarget;
+
+ [Bindable]
+ public var counter:int = 0;
+
+ private function creationCompleteHandler():void
+ {
+ var target:TraceTarget = new TraceTarget();
+ target.includeLevel = true;
+ target.filters = ["mx.messaging.*", "mx.rpc.*"];
+ Log.addTarget(target);
+
+ // Set credentials as the destination is protected by send and
+ // subscribe constraints.
+ setCredentials();
+ }
+
+ private function setCredentials():void
+ {
+ producer.setCredentials("sampleuser", "samplepassword");
+ consumer.setCredentials("sampleuser", "samplepassword");
+ }
+
+ private function sendMessage():void
+ {
+ var msg:AsyncMessage = new AsyncMessage();
+ msg.body = "Foo" + counter++;
+ producer.send(msg);
+ }
+
+ private function messageHandler(event:MessageEvent):void
+ {
+ ta.text += "Consumer received message: "+ event.message.body + "\n";
+ }
+
+ private function faultHandler(event:MessageFaultEvent):void
+ {
+ ta.text += "Received fault: " + event.faultString + "\n";
+ }
+ ]]>
+ </mx:Script>
+</mx:Application>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/7a58369c/apps/team/features/messaging/sendsubscribeconstraint/messaging_HTTP_Poll_SendSubscribeConstraint.mxml
----------------------------------------------------------------------
diff --git a/apps/team/features/messaging/sendsubscribeconstraint/messaging_HTTP_Poll_SendSubscribeConstraint.mxml b/apps/team/features/messaging/sendsubscribeconstraint/messaging_HTTP_Poll_SendSubscribeConstraint.mxml
new file mode 100755
index 0000000..a375025
--- /dev/null
+++ b/apps/team/features/messaging/sendsubscribeconstraint/messaging_HTTP_Poll_SendSubscribeConstraint.mxml
@@ -0,0 +1,104 @@
+<?xml version="1.0"?>
+<!--
+
+ 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.
+
+-->
+<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" width="100%" height="100%"
+ creationComplete="creationCompleteHandler();">
+
+ <!-- An example that uses a destination protected by send and subscribe constraint -->
+ <mx:Panel id="mainPanel" height="100%" width="100%">
+ <mx:HBox>
+ <mx:Label text="Producer"/>
+ <mx:Button label="Send Foo{counter}" click="sendMessage()"/>
+ <mx:Button label="Disconnect" click="producer.disconnect();" enabled="{producer.connected}"/>
+ <mx:CheckBox label="Connected?" selected="{producer.connected}"/>
+ </mx:HBox>
+ <mx:HBox>
+ <mx:Label text="Consumer"/>
+ <mx:Button label="Subcribe" click="consumer.subscribe();" enabled="{!consumer.subscribed}"/>
+ <mx:Button label="Unsubscribe" click="consumer.unsubscribe();" enabled="{consumer.subscribed}"/>
+ <mx:Button label="Disconnect" click="consumer.disconnect();" enabled="{consumer.connected}"/>
+ <mx:Button label="Logout" click="consumer.logout()" enabled="{consumer.authenticated}"/>
+ <mx:CheckBox label="Connected?" selected="{consumer.connected}"/>
+ <mx:CheckBox label="Subscribed?" selected="{consumer.subscribed}"/>
+ </mx:HBox>
+ <mx:Button label="Reset credentials" click="setCredentials()"/>
+ <mx:Button label="Clear" click='ta.text = ""'/>
+ <mx:TextArea id="ta" width="100%" height="100%"/>
+ </mx:Panel>
+
+ <mx:Producer id="producer"
+ destination="messaging_HTTP_Poll_SendSubscribeConstraint"
+ fault="faultHandler(event)"/>
+
+ <mx:Consumer id="consumer"
+ destination="messaging_HTTP_Poll_SendSubscribeConstraint"
+ fault="faultHandler(event)"
+ message="messageHandler(event)"/>
+
+ <mx:Script>
+ <![CDATA[
+ import mx.messaging.events.MessageFaultEvent;
+ import mx.messaging.events.MessageEvent;
+ import mx.messaging.messages.AsyncMessage;
+ import mx.messaging.Producer;
+ import mx.messaging.Consumer;
+
+ import mx.logging.Log;
+ import mx.logging.targets.TraceTarget;
+
+ [Bindable]
+ public var counter:int = 0;
+
+ private function creationCompleteHandler():void
+ {
+ var target:TraceTarget = new TraceTarget();
+ target.includeLevel = true;
+ target.filters = ["mx.messaging.*", "mx.rpc.*"];
+ Log.addTarget(target);
+
+ // Set credentials as the destination is protected by send and
+ // subscribe constraints.
+ setCredentials();
+ }
+
+ private function setCredentials():void
+ {
+ producer.setCredentials("sampleuser", "samplepassword");
+ consumer.setCredentials("sampleuser", "samplepassword");
+ }
+
+ private function sendMessage():void
+ {
+ var msg:AsyncMessage = new AsyncMessage();
+ msg.body = "Foo" + counter++;
+ producer.send(msg);
+ }
+
+ private function messageHandler(event:MessageEvent):void
+ {
+ ta.text += "Consumer received message: "+ event.message.body + "\n";
+ }
+
+ private function faultHandler(event:MessageFaultEvent):void
+ {
+ ta.text += "Received fault: " + event.faultString + "\n";
+ }
+ ]]>
+ </mx:Script>
+</mx:Application>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/7a58369c/apps/team/features/messaging/subtopic/messaging_AMF_Poll_Subtopic.mxml
----------------------------------------------------------------------
diff --git a/apps/team/features/messaging/subtopic/messaging_AMF_Poll_Subtopic.mxml b/apps/team/features/messaging/subtopic/messaging_AMF_Poll_Subtopic.mxml
new file mode 100755
index 0000000..a97b75b
--- /dev/null
+++ b/apps/team/features/messaging/subtopic/messaging_AMF_Poll_Subtopic.mxml
@@ -0,0 +1,103 @@
+<?xml version="1.0"?>
+<!--
+
+ 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.
+
+-->
+<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" width="100%" height="100%"
+ creationComplete="creationCompleteHandler();">
+
+ <!-- This example shows how to use subtopics. Before using subtopics, need
+ to make sure that the following are set on the messaging destination:
+ <properties>
+ <server>
+ <allow-subtopics>true</allow-subtopics>
+ <subtopic-separator>.</subtopic-separator>
+ </server>
+ </properties>
+ -->
+
+ <mx:Panel id="mainPanel" height="100%" width="100%">
+ <mx:HBox>
+ <mx:Label text="Producer"/>
+ <mx:Button label="Send Foo{counter}" click="sendMessage()"/>
+ <mx:Button label="Disconnect" click="producer.disconnect();"/>
+ <mx:CheckBox label="Connected?" selected="{producer.connected}"/>
+ </mx:HBox>
+ <mx:HBox>
+ <mx:Label text="Consumer"/>
+ <mx:Button label="Subcribe" click="consumer.subscribe();"/>
+ <mx:Button label="Unsubscribe" click="consumer.unsubscribe();"/>
+ <mx:Button label="Disconnect" click="consumer.disconnect();"/>
+ <mx:CheckBox label="Connected?" selected="{consumer.connected}"/>
+ <mx:CheckBox label="Subscribed?" selected="{consumer.subscribed}"/>
+ </mx:HBox>
+ <mx:Button label="Clear" click='ta.text = ""'/>
+ <mx:TextArea id="ta" width="100%" height="100%"/>
+ </mx:Panel>
+
+ <mx:Producer id="producer"
+ destination="messaging_AMF_Poll_Subtopic"
+ fault="faultHandler(event)"
+ subtopic="chat.newton"/>
+
+ <mx:Consumer id="consumer"
+ destination="messaging_AMF_Poll_Subtopic"
+ fault="faultHandler(event)"
+ message="messageHandler(event)"
+ subtopic="chat.newton"/>
+
+ <mx:Script>
+ <![CDATA[
+ import mx.messaging.events.MessageFaultEvent;
+ import mx.messaging.events.MessageEvent;
+ import mx.messaging.messages.AsyncMessage;
+ import mx.messaging.Producer;
+ import mx.messaging.Consumer;
+
+ import mx.logging.Log;
+ import mx.logging.targets.TraceTarget;
+
+ [Bindable]
+ public var counter:int = 0;
+
+ private function creationCompleteHandler():void
+ {
+ var target:TraceTarget = new TraceTarget();
+ target.includeLevel = true;
+ target.filters = ["mx.messaging.*", "mx.rpc.*"];
+ Log.addTarget(target);
+ }
+
+ private function sendMessage():void
+ {
+ var msg:AsyncMessage = new AsyncMessage();
+ msg.body = "Foo" + counter++;
+ producer.send(msg);
+ }
+
+ private function messageHandler(event:MessageEvent):void
+ {
+ ta.text += "Consumer received message: "+ event.message.body + "\n";
+ }
+
+ private function faultHandler(event:MessageFaultEvent):void
+ {
+ ta.text += "Received fault: " + event.faultString + "\n";
+ }
+ ]]>
+ </mx:Script>
+</mx:Application>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/7a58369c/apps/team/features/messaging/subtopic/messaging_AMF_Stream_MultiSubtopic.mxml
----------------------------------------------------------------------
diff --git a/apps/team/features/messaging/subtopic/messaging_AMF_Stream_MultiSubtopic.mxml b/apps/team/features/messaging/subtopic/messaging_AMF_Stream_MultiSubtopic.mxml
new file mode 100755
index 0000000..9e49f2b
--- /dev/null
+++ b/apps/team/features/messaging/subtopic/messaging_AMF_Stream_MultiSubtopic.mxml
@@ -0,0 +1,131 @@
+<?xml version="1.0"?>
+<!--
+
+ 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.
+
+-->
+<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" width="100%" height="100%"
+ creationComplete="creationCompleteHandler();">
+
+ <!-- This example shows how to use a MultiTopicConsumer to listen for multiple
+ subtopics. Before using subtopics, need
+ to make sure that the following are set on the messaging destination:
+ <properties>
+ <server>
+ <allow-subtopics>true</allow-subtopics>
+ <subtopic-separator>.</subtopic-separator>
+ </server>
+ </properties>
+ -->
+
+ <mx:Panel id="mainPanel" height="100%" width="100%">
+ <mx:HBox>
+ <mx:Label text="Producer"/>
+ <mx:Button label="Send Foo{counter1} to subtopic1" click="sendMessage()"/>
+ <mx:Button label="Send Foo{counter2} to subtopic2" click="sendMessage(false)"/>
+ <mx:Button label="Disconnect1" click="producer1.disconnect();"/>
+ <mx:Button label="Disconnect2" click="producer2.disconnect();"/>
+ <mx:CheckBox label="Connected1?" selected="{producer1.connected}"/>
+ <mx:CheckBox label="Connected2?" selected="{producer2.connected}"/>
+ </mx:HBox>
+ <mx:HBox>
+ <mx:Label text="Consumer"/>
+ <mx:Button label="Add sub to subtopic1" click="consumer.addSubscription('chat.newton1');"/>
+ <mx:Button label="Add sub to subtopic2" click="consumer.addSubscription('chat.newton2');"/>
+ <mx:Button label="Remove sub to subtopic1" click="consumer.removeSubscription('chat.newton1');"/>
+ <mx:Button label="Remove sub to subtopic2" click="consumer.removeSubscription('chat.newton2');"/>
+ </mx:HBox>
+ <mx:HBox>
+ <mx:Label text="Consumer"/>
+ <mx:Button label="Subcribe" click="consumer.subscribe();"/>
+ <mx:Button label="Unsubscribe" click="consumer.unsubscribe();"/>
+ <mx:Button label="Disconnect" click="consumer.disconnect();"/>
+ <mx:CheckBox label="Connected?" selected="{consumer.connected}"/>
+ <mx:CheckBox label="Subscribed?" selected="{consumer.subscribed}"/>
+ </mx:HBox>
+ <mx:Button label="Clear" click='ta.text = ""'/>
+ <mx:TextArea id="ta" width="100%" height="100%"/>
+ </mx:Panel>
+
+ <mx:Producer id="producer1"
+ destination="messaging_AMF_Stream_Subtopic"
+ fault="faultHandler(event)"
+ subtopic="chat.newton1"/>
+
+ <mx:Producer id="producer2"
+ destination="messaging_AMF_Stream_Subtopic"
+ fault="faultHandler(event)"
+ subtopic="chat.newton2"/>
+
+ <mx:Script>
+ <![CDATA[
+ import mx.messaging.MultiTopicConsumer;
+ import mx.messaging.Producer;
+ import mx.messaging.events.MessageFaultEvent;
+ import mx.messaging.events.MessageEvent;
+ import mx.messaging.messages.AsyncMessage;
+
+ import mx.logging.Log;
+ import mx.logging.targets.TraceTarget;
+
+ [Bindable]
+ public var counter1:int = 0;
+
+ [Bindable]
+ public var counter2:int = 0;
+
+ [Bindable]
+ public var consumer:MultiTopicConsumer = new MultiTopicConsumer();
+
+ private function creationCompleteHandler():void
+ {
+ var target:TraceTarget = new TraceTarget();
+ target.includeLevel = true;
+ target.filters = ["mx.messaging.*", "mx.rpc.*"];
+ Log.addTarget(target);
+
+ consumer.destination = "messaging_AMF_Stream_Subtopic";
+ consumer.addEventListener(MessageEvent.MESSAGE, messageHandler);
+ consumer.addEventListener(MessageFaultEvent.FAULT, faultHandler);
+ }
+
+ private function sendMessage(firstProducer:Boolean = true):void
+ {
+ var msg:AsyncMessage = new AsyncMessage();
+ if (firstProducer)
+ {
+ msg.body = "Foo" + counter1++;
+ producer1.send(msg);
+ }
+ else
+ {
+ msg.body = "Foo" + counter2++;
+ producer2.send(msg);
+ }
+ }
+
+ private function messageHandler(event:MessageEvent):void
+ {
+ ta.text += "Consumer received message: "+ event.message.body + "\n";
+ }
+
+ private function faultHandler(event:MessageFaultEvent):void
+ {
+ ta.text += "Received fault: " + event.faultString + "\n";
+ }
+ ]]>
+ </mx:Script>
+</mx:Application>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/7a58369c/apps/team/features/messaging/subtopic/messaging_HTTP_Poll_Subtopic.mxml
----------------------------------------------------------------------
diff --git a/apps/team/features/messaging/subtopic/messaging_HTTP_Poll_Subtopic.mxml b/apps/team/features/messaging/subtopic/messaging_HTTP_Poll_Subtopic.mxml
new file mode 100755
index 0000000..53f897f
--- /dev/null
+++ b/apps/team/features/messaging/subtopic/messaging_HTTP_Poll_Subtopic.mxml
@@ -0,0 +1,103 @@
+<?xml version="1.0"?>
+<!--
+
+ 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.
+
+-->
+<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" width="100%" height="100%"
+ creationComplete="creationCompleteHandler();">
+
+ <!-- This example shows how to use subtopics. Before using subtopics, need
+ to make sure that the following are set on the messaging destination:
+ <properties>
+ <server>
+ <allow-subtopics>true</allow-subtopics>
+ <subtopic-separator>.</subtopic-separator>
+ </server>
+ </properties>
+ -->
+
+ <mx:Panel id="mainPanel" height="100%" width="100%">
+ <mx:HBox>
+ <mx:Label text="Producer"/>
+ <mx:Button label="Send Foo{counter}" click="sendMessage()"/>
+ <mx:Button label="Disconnect" click="producer.disconnect();"/>
+ <mx:CheckBox label="Connected?" selected="{producer.connected}"/>
+ </mx:HBox>
+ <mx:HBox>
+ <mx:Label text="Consumer"/>
+ <mx:Button label="Subcribe" click="consumer.subscribe();"/>
+ <mx:Button label="Unsubscribe" click="consumer.unsubscribe();"/>
+ <mx:Button label="Disconnect" click="consumer.disconnect();"/>
+ <mx:CheckBox label="Connected?" selected="{consumer.connected}"/>
+ <mx:CheckBox label="Subscribed?" selected="{consumer.subscribed}"/>
+ </mx:HBox>
+ <mx:Button label="Clear" click='ta.text = ""'/>
+ <mx:TextArea id="ta" width="100%" height="100%"/>
+ </mx:Panel>
+
+ <mx:Producer id="producer"
+ destination="messaging_HTTP_Poll_Subtopic"
+ fault="faultHandler(event)"
+ subtopic="chat.newton"/>
+
+ <mx:Consumer id="consumer"
+ destination="messaging_HTTP_Poll_Subtopic"
+ fault="faultHandler(event)"
+ message="messageHandler(event)"
+ subtopic="chat.newton"/>
+
+ <mx:Script>
+ <![CDATA[
+ import mx.messaging.events.MessageFaultEvent;
+ import mx.messaging.events.MessageEvent;
+ import mx.messaging.messages.AsyncMessage;
+ import mx.messaging.Producer;
+ import mx.messaging.Consumer;
+
+ import mx.logging.Log;
+ import mx.logging.targets.TraceTarget;
+
+ [Bindable]
+ public var counter:int = 0;
+
+ private function creationCompleteHandler():void
+ {
+ var target:TraceTarget = new TraceTarget();
+ target.includeLevel = true;
+ target.filters = ["mx.messaging.*", "mx.rpc.*"];
+ Log.addTarget(target);
+ }
+
+ private function sendMessage():void
+ {
+ var msg:AsyncMessage = new AsyncMessage();
+ msg.body = "Foo" + counter++;
+ producer.send(msg);
+ }
+
+ private function messageHandler(event:MessageEvent):void
+ {
+ ta.text += "Consumer received message: "+ event.message.body + "\n";
+ }
+
+ private function faultHandler(event:MessageFaultEvent):void
+ {
+ ta.text += "Received fault: " + event.faultString + "\n";
+ }
+ ]]>
+ </mx:Script>
+</mx:Application>
\ No newline at end of file