You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@royale.apache.org by ca...@apache.org on 2018/05/13 19:31:56 UTC
[royale-asjs] branch develop updated: add more AMF cases to the
example. - Add sub typed object to typed Object - Add sub Array of typed
Objects - Still needed to transfer Collections (time to see how to overcome
ArrayCollection need)
This is an automated email from the ASF dual-hosted git repository.
carlosrovira pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git
The following commit(s) were added to refs/heads/develop by this push:
new ecdc6ad add more AMF cases to the example. - Add sub typed object to typed Object - Add sub Array of typed Objects - Still needed to transfer Collections (time to see how to overcome ArrayCollection need)
ecdc6ad is described below
commit ecdc6adbc594df0632c2db8abc41c59221106c20
Author: Carlos Rovira <ca...@apache.org>
AuthorDate: Sun May 13 21:31:50 2018 +0200
add more AMF cases to the example.
- Add sub typed object to typed Object
- Add sub Array of typed Objects
- Still needed to transfer Collections (time to see how to overcome ArrayCollection need)
---
.../royale/amfsamples/services/ExampleService.java | 56 ++++++++++++++++++++++
.../royale/amfsamples/valueobjects/Product.java | 31 ++++++++++++
.../valueobjects/{Product.java => Taxonomy.java} | 16 +++----
.../valueobjects/{Product.java => Zone.java} | 35 +++++++++-----
.../RemoteObjectAMFTest/src/main/royale/App.mxml | 24 ++++++++--
.../src/main/royale/valueObjects/Product.as | 26 ++++++++++
.../valueObjects/{Product.as => Taxonomy.as} | 17 ++++---
.../royale/valueObjects/{Product.as => Zone.as} | 27 +++++------
8 files changed, 185 insertions(+), 47 deletions(-)
diff --git a/examples/amf/SampleAmfWebApp/src/main/java/org/apache/royale/amfsamples/services/ExampleService.java b/examples/amf/SampleAmfWebApp/src/main/java/org/apache/royale/amfsamples/services/ExampleService.java
index 08c0a4c..2049693 100644
--- a/examples/amf/SampleAmfWebApp/src/main/java/org/apache/royale/amfsamples/services/ExampleService.java
+++ b/examples/amf/SampleAmfWebApp/src/main/java/org/apache/royale/amfsamples/services/ExampleService.java
@@ -21,9 +21,14 @@ package org.apache.royale.amfsamples.services;
import org.apache.royale.amfsamples.valueobjects.ServerCustomType;
import org.apache.royale.amfsamples.valueobjects.Product;
+import org.apache.royale.amfsamples.valueobjects.Taxonomy;
+import org.apache.royale.amfsamples.valueobjects.Zone;
import org.springframework.flex.remoting.RemotingDestination;
import org.springframework.stereotype.Service;
+import java.util.List;
+import java.util.ArrayList;
+
@Service("exampleService")
@RemotingDestination
public class ExampleService {
@@ -46,6 +51,17 @@ public class ExampleService {
return customTypes;
}
+ public Zone getSomeZone()
+ {
+ System.out.println("getSomeZone called");
+
+ Zone zone = new Zone();
+ zone.setId(1);
+ zone.setName("Europe");
+
+ return zone;
+ }
+
public Product getSomeProduct()
{
System.out.println("getSomeProduct called");
@@ -53,6 +69,46 @@ public class ExampleService {
Product product = new Product();
product.setName("Some product");
product.setDescription("This product is only a test typed value object to test AMF strong types");
+
+ Taxonomy taxonomy = new Taxonomy();
+ taxonomy.setType("a type");
+ taxonomy.setDescription("a taxonomy for this product");
+
+ product.setTaxonomy(taxonomy);
+
+ /*List<Zone> zones = new ArrayList<Zone>();
+
+ Zone zone1 = new Zone();
+ zone1.setId(1);
+ zone1.setName("Europe");
+ zones.add(zone1);
+
+ Zone zone2 = new Zone();
+ zone2.setId(2);
+ zone2.setName("USA");
+ zones.add(zone2);
+
+ Zone zone3 = new Zone();
+ zone3.setId(3);
+ zone3.setName("Asia");
+ zones.add(zone3);
+ */
+
+ Object[] zones = new Object[3];
+ for (int i = 0; i < zones.length; i++)
+ {
+ Zone zone = new Zone();
+ zone.setId(i);
+ if (i == 0)
+ zone.setName("Europa");
+ else if (i == 1)
+ zone.setName("USA");
+ else if (i == 2)
+ zone.setName("Asia");
+ zones[i] = zone;
+ }
+
+ product.setZones(zones);
return product;
}
diff --git a/examples/amf/SampleAmfWebApp/src/main/java/org/apache/royale/amfsamples/valueobjects/Product.java b/examples/amf/SampleAmfWebApp/src/main/java/org/apache/royale/amfsamples/valueobjects/Product.java
index 09d3ddd..7701108 100644
--- a/examples/amf/SampleAmfWebApp/src/main/java/org/apache/royale/amfsamples/valueobjects/Product.java
+++ b/examples/amf/SampleAmfWebApp/src/main/java/org/apache/royale/amfsamples/valueobjects/Product.java
@@ -16,6 +16,8 @@
*/
package org.apache.royale.amfsamples.valueobjects;
+import java.util.Collection;
+
/**
* The server side object used by AMFConnectionTestService. There is a
* corresponding client side object.
@@ -24,6 +26,8 @@ public class Product
{
private String name;
private String description;
+ private Taxonomy taxonomy;
+ private Object[] zones;
public Product()
{
@@ -47,6 +51,33 @@ public class Product
this.description = description;
}
+ public Taxonomy getTaxonomy()
+ {
+ return taxonomy;
+ }
+ public void setTaxonomy(Taxonomy taxonomy)
+ {
+ this.taxonomy = taxonomy;
+ }
+
+ /**
+ * The zone list.
+ *
+ * @return The zone list.
+ */
+ public Object[] getZones() {
+ return zones;
+ }
+
+ /**
+ * The zones list.
+ *
+ * @param zoness The zones list.
+ */
+ public void setZones(Object[] zones) {
+ this.zones = zones;
+ }
+
public String toString()
{
return "Product -> name: " + name + ", description: " + description;
diff --git a/examples/amf/SampleAmfWebApp/src/main/java/org/apache/royale/amfsamples/valueobjects/Product.java b/examples/amf/SampleAmfWebApp/src/main/java/org/apache/royale/amfsamples/valueobjects/Taxonomy.java
similarity index 83%
copy from examples/amf/SampleAmfWebApp/src/main/java/org/apache/royale/amfsamples/valueobjects/Product.java
copy to examples/amf/SampleAmfWebApp/src/main/java/org/apache/royale/amfsamples/valueobjects/Taxonomy.java
index 09d3ddd..716f17f 100644
--- a/examples/amf/SampleAmfWebApp/src/main/java/org/apache/royale/amfsamples/valueobjects/Product.java
+++ b/examples/amf/SampleAmfWebApp/src/main/java/org/apache/royale/amfsamples/valueobjects/Taxonomy.java
@@ -20,22 +20,22 @@ package org.apache.royale.amfsamples.valueobjects;
* The server side object used by AMFConnectionTestService. There is a
* corresponding client side object.
*/
-public class Product
+public class Taxonomy
{
- private String name;
+ private String type;
private String description;
- public Product()
+ public Taxonomy()
{
}
- public String getName()
+ public String getType()
{
- return name;
+ return type;
}
- public void setName(String name)
+ public void setType(String type)
{
- this.name = name;
+ this.type = type;
}
public String getDescription()
@@ -49,6 +49,6 @@ public class Product
public String toString()
{
- return "Product -> name: " + name + ", description: " + description;
+ return "Taxonomy -> type: " + type + ", description: " + description;
}
}
diff --git a/examples/amf/SampleAmfWebApp/src/main/java/org/apache/royale/amfsamples/valueobjects/Product.java b/examples/amf/SampleAmfWebApp/src/main/java/org/apache/royale/amfsamples/valueobjects/Zone.java
similarity index 76%
copy from examples/amf/SampleAmfWebApp/src/main/java/org/apache/royale/amfsamples/valueobjects/Product.java
copy to examples/amf/SampleAmfWebApp/src/main/java/org/apache/royale/amfsamples/valueobjects/Zone.java
index 09d3ddd..3c21c55 100644
--- a/examples/amf/SampleAmfWebApp/src/main/java/org/apache/royale/amfsamples/valueobjects/Product.java
+++ b/examples/amf/SampleAmfWebApp/src/main/java/org/apache/royale/amfsamples/valueobjects/Zone.java
@@ -20,15 +20,33 @@ package org.apache.royale.amfsamples.valueobjects;
* The server side object used by AMFConnectionTestService. There is a
* corresponding client side object.
*/
-public class Product
+public class Zone
{
+ private int id;
private String name;
- private String description;
- public Product()
+ public Zone()
{
}
+ /**
+ * The id of the zone.
+ *
+ * @return The id of the zone.
+ */
+ public int getId() {
+ return id;
+ }
+
+ /**
+ * The id of the zone.
+ *
+ * @param id The id of the zone.
+ */
+ public void setId(int id) {
+ this.id = id;
+ }
+
public String getName()
{
return name;
@@ -38,17 +56,8 @@ public class Product
this.name = name;
}
- public String getDescription()
- {
- return description;
- }
- public void setDescription(String description)
- {
- this.description = description;
- }
-
public String toString()
{
- return "Product -> name: " + name + ", description: " + description;
+ return "Zone -> id: " + id + ", name: " + name;
}
}
diff --git a/examples/royale/RemoteObjectAMFTest/src/main/royale/App.mxml b/examples/royale/RemoteObjectAMFTest/src/main/royale/App.mxml
index a706a88..dec2abd 100644
--- a/examples/royale/RemoteObjectAMFTest/src/main/royale/App.mxml
+++ b/examples/royale/RemoteObjectAMFTest/src/main/royale/App.mxml
@@ -35,9 +35,10 @@ limitations under the License.
import org.apache.royale.net.events.ResultEvent;
import valueObjects.ClientValueObject;
import valueObjects.Product;
+ import valueObjects.Zone;
import org.apache.royale.collections.ArrayList;
-
- protected function sendName():void
+
+ protected function sendName():void
{
service.send("echo", [name_txt.text]);
}
@@ -47,10 +48,22 @@ limitations under the License.
trace("Result=" + evt.data);
if (evt.data is String)
received.text = "Received: " + evt.data;
+ else if (evt.data is Zone)
+ {
+ var zone:Zone = evt.data as Zone;
+ received3.text = "Received: zone " + zone.id + " is '" + zone.name + "'";
+ }
else if (evt.data is Product)
{
var product:Product = evt.data as Product;
- received3.text = "Received: product name is '" + product.name + "' and product description is '" + product.description + "'" ;
+ received3.text = "Received: product name is '" + product.name + "', product description is '" + product.description + "'. product taxonomy type is '" + product.taxonomy.type + "' and product taxonomy description is '" + product.taxonomy.description + "' zones: " ;
+
+ var len:int = product.zones.length;
+ for(var index:int = 0; index < len; index++)
+ {
+ var zone:Zone = product.zones[index];
+ received3.text += "[" + zone.id + ", " + zone.name + "], ";
+ }
} else
{
var arr:ArrayList = new ArrayList(evt.data as Array);
@@ -68,6 +81,11 @@ limitations under the License.
service.send("getObjectArray1", []);
}
+ protected function getSomeZone():void
+ {
+ service.send("getSomeZone", []);
+ }
+
protected function getSomeProduct():void
{
service.send("getSomeProduct", []);
diff --git a/examples/royale/RemoteObjectAMFTest/src/main/royale/valueObjects/Product.as b/examples/royale/RemoteObjectAMFTest/src/main/royale/valueObjects/Product.as
index b00f7eb..6bde660 100644
--- a/examples/royale/RemoteObjectAMFTest/src/main/royale/valueObjects/Product.as
+++ b/examples/royale/RemoteObjectAMFTest/src/main/royale/valueObjects/Product.as
@@ -18,6 +18,8 @@
////////////////////////////////////////////////////////////////////////////////
package valueObjects
{
+ //import org.apache.royale.collections.ArrayList;
+
[RemoteClass(alias="org.apache.royale.amfsamples.valueobjects.Product")]
public class Product
{
@@ -49,5 +51,29 @@ package valueObjects
_description = value;
}
+ private var _taxonomy:Taxonomy;
+
+ public function get taxonomy():Taxonomy
+ {
+ return _taxonomy;
+ }
+
+ public function set taxonomy(value:Taxonomy):void
+ {
+ _taxonomy = value;
+ }
+
+ // collection of zones (Zone - ArrayList)
+ private var _zones:Array;
+
+ public function get zones():Array
+ {
+ return _zones;
+ }
+
+ public function set zones(value:Array):void
+ {
+ _zones = value;
+ }
}
}
diff --git a/examples/royale/RemoteObjectAMFTest/src/main/royale/valueObjects/Product.as b/examples/royale/RemoteObjectAMFTest/src/main/royale/valueObjects/Taxonomy.as
similarity index 85%
copy from examples/royale/RemoteObjectAMFTest/src/main/royale/valueObjects/Product.as
copy to examples/royale/RemoteObjectAMFTest/src/main/royale/valueObjects/Taxonomy.as
index b00f7eb..0c26bc5 100644
--- a/examples/royale/RemoteObjectAMFTest/src/main/royale/valueObjects/Product.as
+++ b/examples/royale/RemoteObjectAMFTest/src/main/royale/valueObjects/Taxonomy.as
@@ -18,23 +18,23 @@
////////////////////////////////////////////////////////////////////////////////
package valueObjects
{
- [RemoteClass(alias="org.apache.royale.amfsamples.valueobjects.Product")]
- public class Product
+ [RemoteClass(alias="org.apache.royale.amfsamples.valueobjects.Taxonomy")]
+ public class Taxonomy
{
- public function Product()
+ public function Taxonomy()
{
}
- private var _name:String;
+ private var _type:String;
- public function get name():String
+ public function get type():String
{
- return _name;
+ return _type;
}
- public function set name(value:String):void
+ public function set type(value:String):void
{
- _name = value;
+ _type = value;
}
private var _description:String;
@@ -48,6 +48,5 @@ package valueObjects
{
_description = value;
}
-
}
}
diff --git a/examples/royale/RemoteObjectAMFTest/src/main/royale/valueObjects/Product.as b/examples/royale/RemoteObjectAMFTest/src/main/royale/valueObjects/Zone.as
similarity index 81%
copy from examples/royale/RemoteObjectAMFTest/src/main/royale/valueObjects/Product.as
copy to examples/royale/RemoteObjectAMFTest/src/main/royale/valueObjects/Zone.as
index b00f7eb..fb4f6a9 100644
--- a/examples/royale/RemoteObjectAMFTest/src/main/royale/valueObjects/Product.as
+++ b/examples/royale/RemoteObjectAMFTest/src/main/royale/valueObjects/Zone.as
@@ -18,36 +18,35 @@
////////////////////////////////////////////////////////////////////////////////
package valueObjects
{
- [RemoteClass(alias="org.apache.royale.amfsamples.valueobjects.Product")]
- public class Product
+ [RemoteClass(alias="org.apache.royale.amfsamples.valueobjects.Zone")]
+ public class Zone
{
- public function Product()
+ public function Zone()
{
}
- private var _name:String;
+ private var _id:int;
- public function get name():String
+ public function get id():int
{
- return _name;
+ return _id;
}
- public function set name(value:String):void
+ public function set id(value:int):void
{
- _name = value;
+ _id = value;
}
- private var _description:String;
+ private var _name:String;
- public function get description():String
+ public function get name():String
{
- return _description;
+ return _name;
}
- public function set description(value:String):void
+ public function set name(value:String):void
{
- _description = value;
+ _name = value;
}
-
}
}
--
To stop receiving notification emails like this one, please contact
carlosrovira@apache.org.