Your achievements

Level 1

0% to

Level 2

Tip /
Sign in

Sign in to Community

to gain points, level up, and earn exciting badges like the new
Bedrock Mission!

Learn more

View all

Sign in to view all badges

Return results from ADEP in AS3 Arrays, not ArrayCollections

Avatar

Level 1

Hi all,

Is there any way to force ADEP to return results from data services in simple AS3 Arrays, not ArrayCollections? Here are my situation:

In my project I use ADEP Data Management Services. To connect to ADEP services we use RTMP channel defined in services-config.xml:


<?xml version="1.0" encoding="UTF-8"?>


<services-config>


...


     <services>


          <service-include file-path="remoting-config.xml" />


          <service-include file-path="proxy-config.xml" />


          <service-include file-path="messaging-config.xml" />


          <service-include file-path="data-management-config.xml" />


          <service-include file-path="managed-remoting-config.xml" />



          <service class="fiber.data.services.ModelDeploymentService" id="model-deploy-service" />


   


          <default-channels>


               <channel ref="my-rtmp"/>


          </default-channels>


     </services>


...


     <channel-definition id="my-rtmp" class="mx.messaging.channels.RTMPChannel">


          <endpoint url="rtmp://{server.name}:1000" class="flex.messaging.endpoints.RTMPEndpoint"/>


          <properties>


               <idle-timeout-minutes>20</idle-timeout-minutes>


               <block-rtmpt-polling-clients>true</block-rtmpt-polling-clients>


               <rtmpt-poll-wait-millis-on-client>0</rtmpt-poll-wait-millis-on-client>


          </properties>


     </channel-definition>


...


</services-config>


To manage data in database we defined data services in data-management-config.xml like this:


<?xml version="1.0" encoding="UTF-8"?>


<service id="data-service" class="flex.data.DataService">



    <adapters>


        <adapter-definition id="java-dao" class="flex.data.adapters.JavaAdapter"/>


        <adapter-definition id="mr-java-dao" class="flex.data.adapters.ManagedRemotingDataAdapter" />


        <adapter-definition id="actionscript" class="flex.data.adapters.ASObjectAdapter" default="true"/>


    </adapters>



    <default-channels>


        <channel ref="my-rtmp"/>


    </default-channels>



    <destination id="SomeProduct.SomeItems">


        <adapter ref="java-dao" />


        <properties>


            <source>flex.data.assemblers.SQLAssembler</source>


            <scope>application</scope>


            <metadata>


                <identity property="ID" />


            </metadata>


            <server>


                <database>


                    <datasource>java:comp/env/jdbc/SP</datasource>


                </database>


                <actionscript-class>com.somecompany.classes.SomeCoolClass</actionscript-class>


                <create-item>


                    <procedure name="SomeItems_Insert">


                        <procedure-param property-value="#Session_ID#" />


                        <procedure-param property-value="#Division_ID#" />


                        <procedure-param property-value="#Salesrep_ID#" />


                        <procedure-param property-value="#Area_Code#" />


                        <procedure-param property-value="#Item_ID#" />


                    </procedure>


                    <id-query>SELECT IDENT_CURRENT('Work_Area_Item')</id-query>


                </create-item>


                <fill>


                    <name>all</name>


                    <procedure name="SomeItems_Get">


                        <procedure-param property-value="#Session_ID#" />


                        <procedure-param property-value="#Last_Sync_Time#" />


                    </procedure>


                </fill>


                <update-item>


                    <procedure name="SomeItems_Update">


                        <procedure-param property-value="#Session_ID#" />


                        <procedure-param property-value="#Division_ID#" />


                        <procedure-param property-value="#Salesrep_ID#" />


                        <procedure-param property-value="#Area_Code#" />


                        <procedure-param property-value="#Item_ID#" />


                   </procedure>


                </update-item>


                <delete-item>


                    <procedure name="SomeItems_Delete">


                        <procedure-param property-value="#Session_ID#" />


                        <procedure-param property-value="#Item_ID#" />


                    </procedure>


                </delete-item>


            </server>


        </properties>


    </destination>



</service>


By default, ADEP returns results from SomeProduct.SomeItems destination to Flex side as ArrayCollection of SomeCoolClass instances but I need the data to be returned in simple AS3 Arrays. Recently, I found that there is small optional serialization configuration in channel-definition that should resolve my problem. So I updated my channel-definition in services-config.xml to this:


<channel-definition id="my-rtmp" class="mx.messaging.channels.RTMPChannel">


     <endpoint url="rtmp://{server.name}:1000" class="flex.messaging.endpoints.RTMPEndpoint"/>


     <properties>


          <serialization>


               <legacy-collection>true</legacy-collection>


          </serialization>


          <idle-timeout-minutes>20</idle-timeout-minutes>


          <block-rtmpt-polling-clients>true</block-rtmpt-polling-clients>


          <rtmpt-poll-wait-millis-on-client>0</rtmpt-poll-wait-millis-on-client>


     </properties>


</channel-definition>


However, result are still returned in ArrayCollections.

Any ideas?

Thanks in advance

0 Replies