A sample Value Object code.

I understand it is a type of collection to exchange data with enterprise beans.
Am I right?
If I use value object, how can I make it?
can I get a sample?
in my understanding, I might have to make many VOs for each biz entity.
can I make a common VO( like a common dao ) to make it simple?

a value object is usually just a wrapper class that has no business or persistence logic- it's just a container for data, e.g.:
public class UserKey {
private String name;
private String userID;
//getter and setters
}

Similar Messages

  • Java Object won't serialize to Value Object

    I downloaded the blazeds-turnkey-3.2.0.3978.zip. Using Eclipse I created the testdrive-update flex project and copied the source code from the flex-src.zip and also from the C:\BlazeDS\tomcat\webapps\samples directory. After using the C:\BlazeDS\sampledb>startdb.bat to start the database, I can run  the "testdrive-update" sample just fine from with in Eclipse. If I use the Flex Debugging perspective to look at what the srv.getProducts.lastResult returns, I can see that the Product.java was converted to the Product.as value object as seen in the next picture...
    I modified the testdrive-update to run a select againt a parts table in one of my databases. I modified the Product.java and Product.as to match the simple parts list that I am returning from the ProductService.Java.  When I run the code, it returns the parts. But, in debug mode I noticed that it is not using my value object when the data is passed back to the flex app. The data is stored as basic objects in an ArrayCollection as seen in the picture below.
    Why does it not use my Value Object?  
    I have tried a few different things and can't get the data to come back as Value Objects...
    Here is my code....
    <<<<<<<<<<<<<<<<<<< Product.as >>>>>>>>>>>>>>>>>>>>>
    package
        [Bindable]
        [RemoteClass(alias="flex.samples.product.Product")]
        public class Product
            public var partNum:String;
            public var description:String;
            public var active:String;
            public var uom:String;
            public function Product()
    <<<<<<<<<<<<<<< Product.java >>>>>>>>>>>>>>>>>>>>>>>>>>>
    package flex.samples.product;
    public class Product {
        private String partNum;
        private String description;
        private String active;
        private String uom;
        public Product() {
        public Product(String partNum, String description, String active, String uom) {
            this.partNum = partNum;
            this.description = description;
            this.active = active;
            this.uom = uom;
        public String getPartNum() {
            return partNum;
        public void setPartNum(String partNum) {
            this.partNum = partNum;
        public String getDescription() {
            return description;
        public void setDescription(String description) {
            this.description = description;
        public String getActive() {
            return active;
        public void setActive(String active) {
            this.active = active;
        public String getUom() {
            return uom;
        public void setUom(String uom) {
            this.uom = uom;
    <<<<<<<<<<<<<<<< ProductService.java >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    package flex.samples.product;
    import java.util.ArrayList;
    import java.util.List;
    import java.sql.*;
    import flex.samples.ConnectionHelper;
    import flex.samples.DAOException;
    public class ProductService {
        public List getProducts() throws DAOException {
            List list = new ArrayList();
            Connection c = null;
    //        try {
    //            c = ConnectionHelper.getConnection();
    //            Statement s = c.createStatement();
    //            ResultSet rs = s.executeQuery("SELECT * FROM product ORDER BY name");
    //            while (rs.next()) {
    //                list.add(new Product(rs.getInt("product_id"),
    //                        rs.getString("name"),
    //                        rs.getString("description"),
    //                        rs.getString("image"),
    //                        rs.getString("category"),
    //                        rs.getDouble("price"),
    //                        rs.getInt("qty_in_stock")));
            try {
                c = ConnectionHelper.getConnection();
                Statement s = c.createStatement();
                ResultSet rs = s.executeQuery("SELECT * FROM ae_i_inv_e ORDER BY PART");
                while (rs.next()) {
                    Product myProd = new Product(rs.getString("part"),
                                                 rs.getString("description"),
                                                 rs.getString("active"),
                                                 rs.getString("inv_uom"));
                    System.out.println("getPartNum:|"+myProd.getPartNum()+"|desc:"+myProd.getDescription()+
                                       "|active:"+myProd.getActive()+"|uom:"+myProd.getUom());
                    list.add(myProd);
    //                list.add(new Product(rs.getString("part"),
    //                                     rs.getString("description"),
    //                                     rs.getString("active"),
    //                                     rs.getString("inv_uom")));
            } catch (SQLException e) {
                e.printStackTrace();
                throw new DAOException(e);
            } finally {
                ConnectionHelper.close(c);
            return list;

    Hi, More info.. I built a new object from within the target doc and the same trouble is happening to the new object now too. All the other layers in the doc respond to keyframe changes. This new and only 3D object is behaving in the exact same fashion as the previous one. I tried to shift the order of the layers and no change. Here is a screen shot of the3D object and it's "ghost". with timeline screen shot too. This is truly baffling!! Any ideas? Anyone else with a similar experience? Is it something else in the doc that is interfering?  I could not find any other threads with this problem. thanks for ANY help you can offer.

  • Serialization error while returning Value Object from Web Service

    Hi
    I have developed a sample Web Service (RPC based), it returns Customer Value Object
    when client calls getCustomer method.
    I have written a Client (attached the client source code) to invoke the web service
    when the client invokes the Web Service it throws an Exception , the Exception
    Exception in thread "main" serialization error: no serializer is registered for
    (null, {java:customer}Customer)
    at com.sun.xml.rpc.encoding.DynamicInternalTypeMappingRegistry.getSerializer(DynamicInternalTypeMappingRegistry.java:62)
    at com.sun.xml.rpc.encoding.soap.SOAPResponseSerializer.initialize(SOAPResponseSerializer.java:72)
    at com.sun.xml.rpc.encoding.ReferenceableSerializerImpl.initialize(ReferenceableSerializerImpl.java:47)
    at com.sun.xml.rpc.client.dii.BasicCall.createRpcResponseSerializer(BasicCall.java:382)
    at com.sun.xml.rpc.client.dii.BasicCall.getResponseDeserializer(BasicCall.java:364)
    at com.sun.xml.rpc.client.dii.BasicCall.invoke(BasicCall.java:259)
    at ClientwithWSDL.main(ClientwithWSDL.java:63)
    CAUSE:
    no serializer is registered for (null, {java:customer}Customer)
    at com.sun.xml.rpc.encoding.TypeMappingUtil.getSerializer(TypeMappingUtil.java:41)
    at com.sun.xml.rpc.encoding.InternalTypeMappingRegistryImpl.getSerializer(InternalTypeMappingRegistryImpl.java:287)
    at com.sun.xml.rpc.encoding.DynamicInternalTypeMappingRegistry.getSerializer(DynamicInternalTypeMappingRegistry.java:47)
    at com.sun.xml.rpc.encoding.soap.SOAPResponseSerializer.initialize(SOAPResponseSerializer.java:72)
    at com.sun.xml.rpc.encoding.ReferenceableSerializerImpl.initialize(ReferenceableSerializerImpl.java:47)
    at com.sun.xml.rpc.client.dii.BasicCall.createRpcResponseSerializer(BasicCall.java:382)
    at com.sun.xml.rpc.client.dii.BasicCall.getResponseDeserializer(BasicCall.java:364)
    at com.sun.xml.rpc.client.dii.BasicCall.invoke(BasicCall.java:259)
    at ClientwithWSDL.main(ClientwithWSDL.java:63)
    If someone can help me to fix the issue, it will be great.
    Thanks
    Jeyakumar Raman.

    I guess, this is because the RI client is not finding the
    codec to ser/deser your Value Object. You need to register
    the codec in the type mapping registry before you invoke
    the web service method.
    Here is a sample:
    Service service = factory.createService( serviceName );
    TypeMappingRegistry registry = service.getTypeMappingRegistry();
    TypeMapping mapping = registry.getTypeMapping(
    SOAPConstants.URI_NS_SOAP_ENCODING );
    mapping.register( SOAPStruct.class,
    new QName( "http://soapinterop.org/xsd", "SOAPStruct" ),
    new SOAPStructCodec(),
    new SOAPStructCodec() );
    BTW, you can do the same exact thing on the client by using
    WLS impl of JAX-RPC. Is there a reason for using RI on the
    client side?
    regards,
    -manoj
    "Jeyakumar Raman" <[email protected]> wrote in message news:[email protected]...
    Hi Manoj,
    Thanks for your information, Yes, my client is Sun's JAX-RPC based, but the Server
    Implementation is done using Weblogic 7.0. When I invoke the Client without WSDL.
    It works fine without any problem. But when I invoke the webservice using WSDL,
    I am getting this problem.
    Here is my Client Code :
    * This class demonstrates a java client invoking a WebService.
    import java.net.URL;
    import javax.xml.rpc.ServiceFactory;
    import javax.xml.rpc.Service;
    import javax.xml.rpc.Call;
    import javax.xml.rpc.ParameterMode;
    import javax.xml.namespace.QName;
    import customer.Customer;
    public class ClientwithWSDL {
    private static String qnameService = "CustomerService";
    private static String qnamePort = "CustomerServicePort";
    private static String BODY_NAMESPACE_VALUE =
    "http://jeyakumar_3957:7001/Customer";
    private static String ENCODING_STYLE_PROPERTY =
    "javax.xml.rpc.encodingstyle.namespace.uri";
    private static String NS_XSD =
    "http://www.w3.org/2001/XMLSchema";
    private static String URI_ENCODING =
    "http://schemas.xmlsoap.org/soap/encoding/";
    private static String method="getCustomer";
    private static String endpoint="http://jeyakumar_3957:7001/webservice/CustomerService?WSDL";
    public static void main(String[] args) throws Exception {
    // create service factory
    ServiceFactory factory = ServiceFactory.newInstance();
    // define qnames
    QName serviceName =new QName(BODY_NAMESPACE_VALUE, qnameService);
    QName portName = new QName(BODY_NAMESPACE_VALUE, qnamePort);
    QName operationName = new QName("",method);
    URL wsdlLocation = new URL(endpoint);
    // create service
    Service service = factory.createService(wsdlLocation, serviceName);
    // create call
    Call call = service.createCall(portName, operationName);
    // invoke the remote web service
    Customer result = (Customer) call.invoke(new Object[0]);
    System.out.println("\n");
    System.out.println(result);
    "manoj cheenath" <[email protected]> wrote:
    >
    >
    >Hi Jayakumar,
    >
    >From the stack trace it looks like you are using sun's
    >RI of JAX-RPC. I am not sure what is going wrong with RI.
    >
    >WLS 7.0 got its own implementation of JAX-RPC. Check
    >out the link below for details:
    >
    >http://edocs.bea.com/wls/docs70/webserv/index.html
    >
    >
    >Let us know if you need more details.
    >
    >--=20
    >
    >regards,
    >-manoj
    >
    >
    >
    > "Jeyakumar" <[email protected]> wrote in message =
    >news:[email protected]...
    >
    > Hi
    >
    > I have developed a sample Web Service (RPC based), it returns Customer
    >=
    >Value Object
    > when client calls getCustomer method.
    >
    > I have written a Client (attached the client source code) to invoke
    >=
    >the web service
    > when the client invokes the Web Service it throws an Exception , the
    >=
    >Exception
    >
    >
    > Exception in thread "main" serialization error: no serializer is =
    >registered for
    > (null, {java:customer}Customer)
    > at =
    >com.sun.xml.rpc.encoding.DynamicInternalTypeMappingRegistry.getSerializer=
    >(DynamicInternalTypeMappingRegistry.java:62)
    >
    > at =
    >com.sun.xml.rpc.encoding.soap.SOAPResponseSerializer.initialize(SOAPRespo=
    >nseSerializer.java:72)
    > at =
    >com.sun.xml.rpc.encoding.ReferenceableSerializerImpl.initialize(Reference=
    >ableSerializerImpl.java:47)
    > at =
    >com.sun.xml.rpc.client.dii.BasicCall.createRpcResponseSerializer(BasicCal=
    >l.java:382)
    > at =
    >com.sun.xml.rpc.client.dii.BasicCall.getResponseDeserializer(BasicCall.ja=
    >va:364)
    > at =
    >com.sun.xml.rpc.client.dii.BasicCall.invoke(BasicCall.java:259)
    > at ClientwithWSDL.main(ClientwithWSDL.java:63)
    >
    > CAUSE:
    >
    > no serializer is registered for (null, {java:customer}Customer)
    > at =
    >com.sun.xml.rpc.encoding.TypeMappingUtil.getSerializer(TypeMappingUtil.ja=
    >va:41)
    > at =
    >com.sun.xml.rpc.encoding.InternalTypeMappingRegistryImpl.getSerializer(In=
    >ternalTypeMappingRegistryImpl.java:287)
    > at =
    >com.sun.xml.rpc.encoding.DynamicInternalTypeMappingRegistry.getSerializer=
    >(DynamicInternalTypeMappingRegistry.java:47)
    >
    > at =
    >com.sun.xml.rpc.encoding.soap.SOAPResponseSerializer.initialize(SOAPRespo=
    >nseSerializer.java:72)
    > at =
    >com.sun.xml.rpc.encoding.ReferenceableSerializerImpl.initialize(Reference=
    >ableSerializerImpl.java:47)
    > at =
    >com.sun.xml.rpc.client.dii.BasicCall.createRpcResponseSerializer(BasicCal=
    >l.java:382)
    > at =
    >com.sun.xml.rpc.client.dii.BasicCall.getResponseDeserializer(BasicCall.ja=
    >va:364)
    > at =
    >com.sun.xml.rpc.client.dii.BasicCall.invoke(BasicCall.java:259)
    > at ClientwithWSDL.main(ClientwithWSDL.java:63)
    >
    > If someone can help me to fix the issue, it will be great.
    >
    > Thanks
    > Jeyakumar Raman.
    >
    >
    ><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    ><HTML><HEAD>
    ><META http-equiv=3DContent-Type content=3D"text/html; =
    >charset=3Diso-8859-1">
    ><META content=3D"MSHTML 6.00.2713.1100" name=3DGENERATOR>
    ><STYLE></STYLE>
    ></HEAD>
    ><BODY bgColor=3D#ffffff>
    ><DIV><FONT face=3DCourier size=3D2>Hi Jayakumar,</FONT></DIV>
    ><DIV><FONT face=3DCourier size=3D2></FONT> </DIV>
    ><DIV><FONT face=3DCourier size=3D2>From the stack trace it looks like
    >=
    >you are using=20
    >sun's</FONT></DIV>
    ><DIV><FONT face=3DCourier size=3D2>RI of JAX-RPC. I am not sure
    >=
    >what is going=20
    >wrong with RI.</FONT></DIV>
    ><DIV><FONT face=3DCourier size=3D2></FONT> </DIV>
    ><DIV><FONT face=3DCourier size=3D2>WLS 7.0 got its own implementation
    >of =
    >
    ></FONT><FONT face=3DCourier size=3D2>JAX-RPC. Check</FONT></DIV>
    ><DIV><FONT face=3DCourier size=3D2>out the link below for =
    >details:</FONT></DIV>
    ><DIV><FONT face=3DCourier size=3D2></FONT><FONT face=3DCourier=20
    >size=3D2></FONT> </DIV>
    ><DIV><FONT face=3DCourier size=3D2><A=20
    >href=3D"http://edocs.bea.com/wls/docs70/webserv/index.html">http://edocs.=
    >bea.com/wls/docs70/webserv/index.html</A></FONT></DIV>
    ><DIV><FONT face=3DCourier size=3D2></FONT> </DIV>
    ><DIV><FONT face=3DCourier size=3D2></FONT> </DIV>
    ><DIV><FONT face=3DCourier size=3D2>Let us know if you need more=20
    >details.</FONT></DIV>
    ><DIV><BR>-- <BR><BR>regards,<BR>-manoj</DIV>
    ><DIV> </DIV>
    ><DIV><BR> </DIV>
    ><BLOCKQUOTE=20
    >style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; =
    >BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
    > <DIV>"Jeyakumar" <<A=20
    > href=3D"mailto:[email protected]">[email protected]</A>>
    >=
    >wrote in=20
    > message <A=20
    > =
    >href=3D"news:[email protected]">news:[email protected]=
    >a.com</A>...</DIV><BR>Hi<BR><BR>I=20
    > have developed a sample Web Service (RPC based), it returns Customer
    >=
    >Value=20
    > Object<BR>when client calls getCustomer method.<BR><BR>I have written
    >=
    >a Client=20
    > (attached the client source code) to invoke the web service<BR>when
    >=
    >the client=20
    > invokes the Web Service it throws an Exception , the=20
    > Exception<BR><BR><BR>Exception in thread "main" serialization error:
    >=
    >no=20
    > serializer is registered for<BR>(null,=20
    > {java:customer}Customer)<BR>
    >=
    >at=20
    > =
    >com.sun.xml.rpc.encoding.DynamicInternalTypeMappingRegistry.getSerializer=
    >(DynamicInternalTypeMappingRegistry.java:62)<BR><BR> &nb=
    >sp; =20
    > at=20
    > =
    >com.sun.xml.rpc.encoding.soap.SOAPResponseSerializer.initialize(SOAPRespo=
    >nseSerializer.java:72)<BR> =20
    > at=20
    > =
    >com.sun.xml.rpc.encoding.ReferenceableSerializerImpl.initialize(Reference=
    >ableSerializerImpl.java:47)<BR> =
    >=20
    > at=20
    > =
    >com.sun.xml.rpc.client.dii.BasicCall.createRpcResponseSerializer(BasicCal=
    >l.java:382)<BR> =20
    > at=20
    > =
    >com.sun.xml.rpc.client.dii.BasicCall.getResponseDeserializer(BasicCall.ja=
    >va:364)<BR> =20
    > at=20
    > =
    >com.sun.xml.rpc.client.dii.BasicCall.invoke(BasicCall.java:259)<BR> =
    > =20
    > at ClientwithWSDL.main(ClientwithWSDL.java:63)<BR><BR>CAUSE:<BR><BR>no
    >=
    >
    > serializer is registered for (null,=20
    > {java:customer}Customer)<BR>
    >=
    >at=20
    > =
    >com.sun.xml.rpc.encoding.TypeMappingUtil.getSerializer(TypeMappingUtil.ja=
    >va:41)<BR> =20
    > at=20
    > =
    >com.sun.xml.rpc.encoding.InternalTypeMappingRegistryImpl.getSerializer(In=
    >ternalTypeMappingRegistryImpl.java:287)<BR> =
    > =20
    > at=20
    > =
    >com.sun.xml.rpc.encoding.DynamicInternalTypeMappingRegistry.getSerializer=
    >(DynamicInternalTypeMappingRegistry.java:47)<BR><BR> &nb=
    >sp; =20
    > at=20
    > =
    >com.sun.xml.rpc.encoding.soap.SOAPResponseSerializer.initialize(SOAPRespo=
    >nseSerializer.java:72)<BR> =20
    > at=20
    > =
    >com.sun.xml.rpc.encoding.ReferenceableSerializerImpl.initialize(Reference=
    >ableSerializerImpl.java:47)<BR> =
    >=20
    > at=20
    > =
    >com.sun.xml.rpc.client.dii.BasicCall.createRpcResponseSerializer(BasicCal=
    >l.java:382)<BR> =20
    > at=20
    > =
    >com.sun.xml.rpc.client.dii.BasicCall.getResponseDeserializer(BasicCall.ja=
    >va:364)<BR> =20
    > at=20
    > =
    >com.sun.xml.rpc.client.dii.BasicCall.invoke(BasicCall.java:259)<BR> =
    > =20
    > at ClientwithWSDL.main(ClientwithWSDL.java:63)<BR><BR>If someone can
    >=
    >help me=20
    > to fix the issue, it will be great.<BR><BR>Thanks<BR>Jeyakumar=20
    >Raman.</BLOCKQUOTE></BODY></HTML>
    >
    >
    [att1.html]

  • Simple Value Object with collection

    Hello All
    I had to crate a VALUE OBJECT for table form
    Column 1 column2 column 3
    test1 test2 test3
    Can u give sample code for it and suggestion
    The number of row can we vary .
    Thanks
    A

    Not without more information. Also this sounds like a homework question. The following would be adequate given the bare information you've provided, but if you're planning to hand this in you'll fail...
    public class Foo {
       public String column1;
       public String column2;
       public String column3;
    }

  • Passing "Value Objects" from one JSP to next  (2)

              Someone posted a response from BEA which has since disappeared, it was no different
              from what I was doing and it I still can't get it to store the information in
              the Value Object.
              I get values (true/false) from a Radio button on a FORM in a JSP, press a "Next
              Step" Button.
              I have a "Value Object" in JSP_1, which I use the setters to store various information
              obtained from the <FORM>. I then "jsp:forward" to JSP_2, set different information
              and then I "jsp:forward" to JSP_3 & so on. At the end of the JSP chain only the
              last setter is has the value "true", all the other values are false, despite all
              being "set" to "true".
              The "Value Object" is not storing the information set in previous JSPs. When I
              initially create the "value object" I use;
              <jsp:useBean id="myVO" class="uk.co.notify.valueobjects.MyVO" scope="request"
              />
              <jsp:setProperty name="myVO" property="*"/>
              In JSP_2 JSP999 I don't use <jsp:setProperty> I let the setter in the VO do
              it.
              I am using WebLogic 6.1 sp2 under Windows 2K Pro.
              Any pointers. Thanks.
              [att1.html]
              

    Ok. here's the difference.
              Hitting submit is altogether a different "new" http request. It will send a
              new request from your browser to the server. Whereas, the jsp:forward is
              within the server itself.
              So the VO object whose scope is set to "request" will not retain its values
              between 2 http request.
              For such kind of parameter passing, you could very well store the info. in
              user's session object.
              I hope this helps.
              Best Regards,
              Narayan Anand
              Developer Relations Engineer
              BEA Systems, Inc.
              "Roger Lee" <[email protected]> wrote in message
              news:[email protected]...
              >
              > If I put the jsp:forward statement in all my JSPs before I test for my
              request;
              >
              > <%
              > if ( request.getParameter("SubmitStep2") != null ) {
              > String sParameter2 = request.getParameter("SubmitStep2");
              > if (sParameter2.equals("Next Step")) {
              > // CODE ETC
              > }
              > }
              >
              > The jsp will chain right to the last JSP and all the values set in my
              ValueObject
              > will remain set.
              >
              > Why does hitting a submitt button;
              >
              > <input type="submit" name="SubmitStep2" value="Next Step">
              >
              > cause the VO to lose previous stored values.
              >
              > Any information would be appreciated.
              >
              > Roger Lee
              >
              >
              > "Roger Lee" <[email protected]> wrote:
              > >
              > >Narayan,
              > >
              > >I got your example working fine.
              > >
              > >I added a few more debug statements and it appears that as I enter JSP
              > >2 the value
              > >"set" in JSP 1 is stored okay (boolean true).
              > >
              > >However after the "submit" of the button in JSP which forwards us to
              > >JSP 3 is
              > >pressed all the values are reset to their default value (false).
              > >
              > >
              > >"Narayan Anand" <[email protected]> wrote:
              > >>Hi Roger,
              > >>
              > >>I will look into your code.
              > >>In the meantime, pls try my test case in your system and see if you
              > >can
              > >>run
              > >>that without any problem.
              > >>
              > >>Best Regards,
              > >>Narayan Anand
              > >>Developer Relations Engineer
              > >>BEA Systems, Inc.
              > >>
              > >>"Roger Lee" <[email protected]> wrote in message
              > >>news:[email protected]...
              > >>>
              > >>> Narayan,
              > >>>
              > >>> Thanks for your reply. My code seems to be the same as yours! I still
              > >>can't get
              > >>> the JSPs to "set" the VO and pass it down the chain of JSPs. When
              > >I
              > >>get
              > >>the last
              > >>> JSP the first three have the boolean value set to false, whilst the
              > >>last
              > >>one is
              > >>> set to the value chosen (true).
              > >>>
              > >>> I have attached the JSPs and VO in the attached ZIP file. It must
              > >be
              > >>something
              > >>> obvious, which I can't see!
              > >>>
              > >>> Regards,
              > >>>
              > >>> Roger Lee
              > >>>
              > >>>
              > >>> "Narayan Anand" <[email protected]> wrote:
              > >>> >
              > >>> >
              > >>> >
              > >>> >------=_NextPart_001_02EB_01C257F2.2EC54EA0
              > >>> >
              > >>> >Hi Roger,
              > >>> >
              > >>> >I can still view my previous reply to your post.
              > >>>
              >
              >>>http://216.148.48.100/cgi-bin/dnewsweb?cmd=3Darticle&group=3Dweblogic.dev
              =
              > >>> >eloper.interest.jsp&item=3D10138&utag=3D
              > >>> >
              > >>> >Just now I tested this again.
              > >>> >WLS6.1SP2 on Win2k.
              > >>> >
              > >>> >JSP1 - sets one value using setProperty tag.
              > >>> >JSP2 - sets second property using the VO's setter.
              > >>> >JSP3 - retrieve and prints the values using the VO's getters and
              > >also
              > >>> >=
              > >>> >using the getProperty tag.
              > >>> >
              > >>> >attached are all the jsp's and value object.
              > >>> >Please test it in your environment. It should work.
              > >>> >Then compare it with your code to see the difference.
              > >>> >
              > >>> >I hope this will help to resolve the issue.
              > >>> >
              > >>> >Regards,
              > >>> >Narayan Anand
              > >>> >Developer Relations Engineer
              > >>> >BEA WebLogic Support
              > >>> >
              > >>> >
              > >>> >
              > >>> >
              > >>> >
              > >>> > "Roger Lee" <[email protected]> wrote in message =
              > >>> >news:[email protected]...
              > >>> >
              > >>> > Someone posted a response from BEA which has since disappeared,
              > >>it
              > >>> >was =
              > >>> >no different
              > >>> > from what I was doing and it I still can't get it to store the
              > >=
              > >>> >information in
              > >>> > the Value Object.
              > >>> >
              > >>> > I get values (true/false) from a Radio button on a FORM in a JSP,
              > >>=
              > >>> >press a "Next
              > >>> > Step" Button.
              > >>> >
              > >>> > I have a "Value Object" in JSP_1, which I use the setters to store
              > >>> >=
              > >>> >various information
              > >>> > obtained from the <FORM>. I then "jsp:forward" to JSP_2, set
              different
              > >>> >=
              > >>> >information
              > >>> > and then I "jsp:forward" to JSP_3 & so on. At the end of the JSP
              > >>chain
              > >>> >=
              > >>> >only the
              > >>> > last setter is has the value "true", all the other values are
              false,
              > >>> >=
              > >>> >despite all
              > >>> > being "set" to "true".
              > >>> >
              > >>> > The "Value Object" is not storing the information set in previous
              > >>=
              > >>> >JSPs. When I
              > >>> > initially create the "value object" I use;=20
              > >>> >
              > >>> > <jsp:useBean id=3D"myVO" class=3D"uk.co.notify.valueobjects.MyVO"
              > >>=
              > >>> >scope=3D"request"
              > >>> > />=20
              > >>> > <jsp:setProperty name=3D"myVO" property=3D"*"/>=20
              > >>> >
              > >>> > In JSP_2 JSP999 I don't use <jsp:setProperty> I let the setter
              > >>in
              > >>> >=
              > >>> >the VO do
              > >>> > it.
              > >>> >
              > >>> > I am using WebLogic 6.1 sp2 under Windows 2K Pro.=20
              > >>> >
              > >>> > Any pointers. Thanks.=20
              > >>> >
              > >>> >
              > >>> >------=_NextPart_001_02EB_01C257F2.2EC54EA0
              > >>> >
              > >>> ><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
              > >>> ><HTML><HEAD>
              > >>> ><META http-equiv=3DContent-Type content=3D"text/html; =
              > >>> >charset=3Diso-8859-1">
              > >>> ><META content=3D"MSHTML 5.50.4134.600" name=3DGENERATOR>
              > >>> ><STYLE></STYLE>
              > >>> ></HEAD>
              > >>> ><BODY bgColor=3D#ffffff>
              > >>> ><DIV><FONT face=3DArial size=3D2>Hi Roger,</FONT></DIV>
              > >>> ><DIV><FONT face=3DArial size=3D2></FONT> </DIV>
              > >>> ><DIV><FONT face=3DArial size=3D2>I can still view my previous reply
              > >>to
              > >>> >=
              > >>> >your=20
              > >>> >post.</FONT></DIV>
              > >>> ><DIV><FONT face=3DArial size=3D2><A=20
              > >>>
              >href=3D"http://216.148.48.100/cgi-bin/dnewsweb?cmd=3Darticle&group=3D=
              > >>> >weblogic.developer.interest.jsp&item=3D10138&utag">http://216.148=
              > >>>
              >..48.100/cgi-bin/dnewsweb?cmd=3Darticle&group=3Dweblogic.developer.int=
              > >>> >erest.jsp&item=3D10138&utag</A>=3D</FONT></DIV>
              > >>> ><DIV><FONT face=3DArial size=3D2></FONT> </DIV>
              > >>> ><DIV><FONT face=3DArial size=3D2>Just now I tested this =
              > >>> >again.</FONT></DIV>
              > >>> ><DIV><FONT face=3DArial size=3D2>WLS6.1SP2 on Win2k.</FONT></DIV>
              > >>> ><DIV><FONT face=3DArial size=3D2></FONT> </DIV>
              > >>> ><DIV><FONT face=3DArial size=3D2>JSP1 - sets one value using
              setProperty
              > >>> >=
              > >>> >
              > >>> >tag.</FONT></DIV>
              > >>> ><DIV><FONT face=3DArial size=3D2>JSP2 - sets second property using
              > >>the
              > >>> >=
              > >>> >VO's=20
              > >>> >setter.</FONT></DIV>
              > >>> ><DIV><FONT face=3DArial size=3D2>JSP3 - retrieve and prints the
              values
              > >>> >=
              > >>> >using the=20
              > >>> >VO's getters and also using the getProperty tag.</FONT></DIV>
              > >>> ><DIV><FONT face=3DArial size=3D2></FONT> </DIV>
              > >>> ><DIV><FONT face=3DArial size=3D2>attached are all the jsp's and
              value=20
              > >>> >object.</FONT></DIV>
              > >>> ><DIV><FONT face=3DArial size=3D2>Please test it in your environment.
              > >>> >It =
              > >>> >should=20
              > >>> >work.</FONT></DIV>
              > >>> ><DIV><FONT face=3DArial size=3D2>Then compare it with your code to
              > >>see
              > >>> >=
              > >>> >the=20
              > >>> >difference.</FONT></DIV>
              > >>> ><DIV><FONT face=3DArial size=3D2></FONT> </DIV>
              > >>> ><DIV><FONT face=3DArial size=3D2>I hope this will help to resolve
              > >>the=20
              > >>> >issue.</FONT></DIV>
              > >>> ><DIV><FONT face=3DArial size=3D2></FONT> </DIV>
              > >>> ><DIV><FONT face=3DArial size=3D2>Regards,<BR>Narayan
              Anand<BR>Developer
              > >>> >=
              > >>> >Relations=20
              > >>> >Engineer<BR>BEA WebLogic Support</FONT></DIV>
              > >>> ><DIV><FONT face=3DArial size=3D2></FONT> </DIV>
              > >>> ><DIV><FONT face=3DArial size=3D2></FONT> </DIV>
              > >>> ><DIV><FONT face=3DArial size=3D2></FONT> </DIV>
              > >>> ><DIV><FONT face=3DArial size=3D2></FONT> </DIV>
              > >>> ><DIV><FONT face=3DArial size=3D2></FONT> </DIV>
              > >>> ><BLOCKQUOTE=20
              > >>> >style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px;
              > >>=
              > >>> >BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
              > >>> > <DIV>"Roger Lee" <<A=20
              > >>> > href=3D"mailto:[email protected]">[email protected]</A>> wrote
              > >in
              > >>> >=
              > >>> >message <A=20
              > >>> > =
              > >>>
              >
              >>>href=3D"news:[email protected]">news:[email protected]
              =
              > >>> >a.com</A>...</DIV><BR>Someone=20
              > >>> > posted a response from BEA which has since disappeared, it was
              > >no=20
              > >>> > different<BR>from what I was doing and it I still can't get it
              > >to
              > >>=
              > >>> >store the=20
              > >>> > information in<BR>the Value Object.<BR><BR>I get values
              (true/false)
              > >>> >=
              > >>> >from a=20
              > >>> > Radio button on a FORM in a JSP, press a "Next<BR>Step" =
              > >>> >Button.<BR><BR>I have=20
              > >>> > a "Value Object" in JSP_1, which I use the setters to store
              various=20
              > >>> > information<BR>obtained from the <FORM>. I then "jsp:forward"
              > >>> >to =
              > >>> >JSP_2,=20
              > >>> > set different information<BR>and then I "jsp:forward" to JSP_3
              > >&
              > >>> >=
              > >>> >so on. At=20
              > >>> > the end of the JSP chain only the<BR>last setter is has the value
              > >>=
              > >>> >"true", all=20
              > >>> > the other values are false, despite all<BR>being "set" to =
              > >>> >"true".<BR><BR>The=20
              > >>> > "Value Object" is not storing the information set in previous JSPs.
              > >>> >=
              > >>> >When=20
              > >>> > I<BR>initially create the "value object" I use; =
              > >>> ><BR><BR><jsp:useBean=20
              > >>> > id=3D"myVO" class=3D"uk.co.notify.valueobjects.MyVO" =
              > >>> >scope=3D"request"<BR>/>=20
              > >>> > <BR><jsp:setProperty name=3D"myVO" property=3D"*"/> <BR><BR>In
              > >>> >=
              > >>> >JSP_2=20
              > >>> > JSP999 I don't use <jsp:setProperty> I let the setter in the
              > >>> >=
              > >>> >VO=20
              > >>> > do<BR>it.<BR><BR>I am using WebLogic 6.1 sp2 under Windows 2K Pro.
              > >>> >=
              > >>> ><BR><BR>Any=20
              > >>> > pointers. Thanks. <BR></BLOCKQUOTE></BODY></HTML>
              > >>> >
              > >>> >------=_NextPart_001_02EB_01C257F2.2EC54EA0--
              > >>> >
              > >>> >
              > >>> ><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
              > >>> ><HTML>
              > >>> ><HEAD>
              > >>> ><TITLE>Reusing JavaBeans in JSP</TITLE>
              > >>> ><LINK REL=STYLESHEET
              > >>> > HREF="My-Style-Sheet.css"
              > >>> > TYPE="text/css">
              > >>> ></HEAD>
              > >>> >
              > >>> ><BODY>
              > >>> >
              > >>> ><CENTER>
              > >>> ><TABLE BORDER=5>
              > >>> > <TR><TH CLASS="TITLE">
              > >>> > Reusing JavaBeans in JSP</TABLE>
              > >>> ></CENTER>
              > >>> ><P>
              > >>> >
              > >>> ><jsp:useBean id="test" scope="request" class="hall.SimpleBean" />
              > >>> ><jsp:setProperty name="test"
              > >>> > property="message"
              > >>> > value="Hello forward WWW" />
              > >>> >
              > >>> ><jsp:forward page="/myjsp2.jsp" />
              > >>> >
              > >>> ></BODY>
              > >>> ></HTML>
              > >>> >
              > >>> >
              > >>> >
              > >>> ><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
              > >>> ><HTML>
              > >>> ><HEAD>
              > >>> ><TITLE>Reusing JavaBeans in JSP</TITLE>
              > >>> ><LINK REL=STYLESHEET
              > >>> > HREF="My-Style-Sheet.css"
              > >>> > TYPE="text/css">
              > >>> ></HEAD>
              > >>> >
              > >>> ><BODY>
              > >>> >
              > >>> ><CENTER>
              > >>> ><TABLE BORDER=5>
              > >>> > <TR><TH CLASS="TITLE">
              > >>> > Reusing JavaBeans in 2 JSP</TABLE>
              > >>> ></CENTER>
              > >>> ><P>
              > >>> >
              > >>> ><jsp:useBean id="test" scope="request" class="hall.SimpleBean" />
              > >>> >
              > >>> > <% test.setMessage1("Second message1 using setters"); %>
              > >>> >
              > >>> >
              > >>> ><jsp:forward page="/myjsp3.jsp" />
              > >>> >
              > >>> >
              > >>> ></BODY>
              > >>> ></HTML>
              > >>> >
              > >>> >
              > >>> >
              > >>> ><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
              > >>> ><HTML>
              > >>> ><HEAD>
              > >>> ><TITLE>Reusing JavaBeans in JSP</TITLE>
              > >>> ><LINK REL=STYLESHEET
              > >>> > HREF="My-Style-Sheet.css"
              > >>> > TYPE="text/css">
              > >>> ></HEAD>
              > >>> >
              > >>> ><BODY>
              > >>> >
              > >>> ><CENTER>
              > >>> ><TABLE BORDER=5>
              > >>> > <TR><TH CLASS="TITLE">
              > >>> > Reusing JavaBeans in 2 JSP</TABLE>
              > >>> ></CENTER>
              > >>> ><P>
              > >>> >
              > >>> ><jsp:useBean id="test" scope="request" class="hall.SimpleBean" />
              > >>> >
              > >>> ><%
              > >>> >System.out.println("\nMessage is :"+test.getMessage());
              > >>> >System.out.println("\nMessage1 is :"+test.getMessage1());
              > >>> >%>
              > >>> >
              > >>> ><H1>Message: <I>
              > >>> ><jsp:getProperty name="test" property="message" />
              > >>> ></I></H1>
              > >>> >
              > >>> ><H1>Message1: <I>
              > >>> ><jsp:getProperty name="test" property="message1" />
              > >>> ></I></H1>
              > >>> >
              > >>> >
              > >>> ></BODY>
              > >>> ></HTML>
              > >>> >
              > >>> >
              > >>> >
              > >>> >package hall;
              > >>> >
              > >>> >public class SimpleBean {
              > >>> > private String message = "No message specified";
              > >>> > private String message1 = "No message1 specified";
              > >>> >
              > >>> > public String getMessage() {
              > >>> > return(message);
              > >>> > }
              > >>> >
              > >>> > public void setMessage(String message) {
              > >>> > this.message = message;
              > >>> > }
              > >>> >
              > >>> > public String getMessage1() {
              > >>> > return(message1);
              > >>> > }
              > >>> >
              > >>> > public void setMessage1(String message1) {
              > >>> > this.message1 = message1;
              > >>> > }
              > >>> >}
              > >>> >
              > >>> >
              > >>>
              > >>
              > >>
              > >
              >
              

  • Best Practice Question - Business Logic in Value Objects?

    Just wondering what people's thoughts on best practices for setting properties of Value Objects.
    For instance, I have several getter/setters in one of my Value Objects with logic in the setter that uses the value to set values of other properties.
    For example, I have a Value Object that has the following properties:
    category (of type Category, which is another Value Object with properties "name" and "id")
    categoryId (of type int)
    categoryUpdated (of type Boolean)
    I have a collection of Category Objects in the Model. When I set the categoryId of this class, I set the "categoryUpdated" to true, and dispatch an CairngormEvent to that find the "category" with the specified "categoryId" and set the "category" property to this item.
    So what is the best practice? To simply make the "categoryId" a public variable, and create a new Event/Command to perform all this logic? Or is it ok to do it all in the Value Object setter?
    Thanks.

    Hi Eric,
    I can't speak for best practices, but the only logic I've ever added to a VO were getters: an example was a set of getters on an airline flight VO to get overall flight departure/arrival times/cities from an array of flight segments in a property of the VO.
    I feel uneasy (in the nicest possible way) about your VO for two reasons: firstly it has a strong dependency on bits of the Cairngorm framework to look up the category (and VOs normally don't need to depend on anything), and secondly the intent of Commands in Cairngorm is more to represent user gestures than to wire up VO properties (I often see people shoehorning stuff into Commands that might be better of as plain old business utility classes). I would rather see an UpdateCategoryCommand (that's what the user is trying to do?) that updates categoryId and hits a delegate to populate the category property.
    That said you might have a very good reason for doing this. Could you tell us where the code is that's setting categoryId, and if anything is using categoryUpdated?
    Cheers,
    Robin

  • How to create value objects from xml

    I am receiving xml back from my web service ( e4x ). I am
    trying to figure out how to create a value object without having to
    manually fetch each value in the value objects constructor. I am
    using introspecton in my Java web service to do this. Is there such
    a thing in Action Script?
    Anyone done this before that can share some code???? Any help
    would be very much appreciated.

    That's twice now I've heard that. lol.
    I am using Cairngorm and I suppose out of ignorance perhaps,
    I am using VO's. So my web service would return an Object Proxy and
    I have some code that could create objects dynamically from the
    results. The objects had to be simple of course and now they are
    becoming more complex thus the need to change to e4x instead of
    objects.
    So now I am trying to convert the xml result into the desired
    VO to be used throughout the rest of the application. I'm not sure
    how to use Cairngorm without the VO's they are tied to everything.
    Are you familiar with the architecture? Your thoughts?

  • Problem in setting vector or string[] as the "value object" in hashmap

    Hey I am new to this forum.
    I am doing a project in which i need to store a array of strings as "value object" for a unique key in hashmap.
    as I populate the hashmap from external file according to key and setting the string[]. The hashmap is taking the value field same for each entry i.e the last field as i keep updating the same variable and then putting it into hashmap.
    Please give solution to my problem???
    if question not clear,please tell me- i will add more information
    Edited by: AnkitNahar on Apr 4, 2009 8:06 AM

    I tried using the method suggested by you...but it is of same case as using the string[].
    I need to loop the statements in which the hashmap is populating so cant change the variable names in the dd.put() statements. When the below code executes it shows the same set of string for both the keys, that was the problem i was facing with string[].
    here is the example with two entries....same thing in looping.
    HashMap<String,Set<String>> dd=new HashMap<String,Set<String>>();
    String word = "Hello";
    Set<String> alternativeWords = new HashSet<String>();
    alternativeWords.add("Hi");
    alternativeWords.add("Yo");
    dd.put(word, alternativeWords);
    alternativeWords.clear();
    alternativeWords.add("hey");
    word="yep";
    dd.put(word,alternativeWords);
    System.out.println(dd.get("Hello").toString());
    System.out.println(dd.get("yep").toString());

  • Dynamic value objects in flex and coldfusion 9

    I'm writing a program for a company that does registrations for conventions and trade-shows.  The problem I'm having is that each different client wants to store different data for each show.  Most of the data is the same (attendee's name, address, etc...), but each show has some customizations that it wants to have...  So each database for each show is going to be different...
    Right now, the only way I know how to transfer data from Flex to ColdFusion is via a Value Object.  (Well, the only good way to do it, that is.)  My problem comes when a client wants a particular database customized.  I have MANY questions about this...
    1) How do I tell my Value Object what fields we've added to or changed in the database without re-writing the entire VO (in both the .AS and .CFC files) and re-compiling my program?  In other words, I need a dynamic VO that changes automatcially with the database.
    2) If there is a way to dynamically create a VO in Flex (and from a few blog posts I've seen, it seems there is a way), how do I tell CF9 what the structure of that dynamically-created VO is?  Without re-writing a bunch of .CFC files every time I add or change a field in the database, that is...
    3) How do I reference the dynamically-created fields in my Flex program?  Right now, for example, I can define a variable called attendeeInfo as type attendeeInfoVO, and then reference things like attendeeInfo.first_name, attendeeInfo.last_name, etc...  How do I reference a field programmatcially when I don't know what it's going to be called beforehand?
    4) How do I make my program display/modify those dynamically-created fields?  Right now, using the attendeeInfo example above, I can create a TextInput with an id="firstNameInput" and just say firstNameInput.text = "{attendeeInfo.first_name}".  That won't work when I have no clue how many dynamically-created fields there are, or even what kind of data they're going to store...  How do I deal with this?
    5) Is there something other than VOs that would fit this situation better?  Am I limiting myself by using VOs in the first place?  Is it just plain impossible to do this with VOs?  And if so, what are my alternatives?  I need a structured object that can be passed around with a single reference -- I absolutely DO NOT want to pass a bunch of references to a bunch of different variables -- that's why I used VOs from the very beginning.
    6) Can I simply PAY someone at Adobe for one-on-one help here?  Do they have experts that you can "buy" for a few hours?  What's the charge for that, if such a thing is available?  Or, is this problem well-explained somewhere on the Web, and I just haven't found it yet?
    I'm very confused here, and it seems like I might have to re-write a ton of code, which I'm not looking forward to...  Ugh...  I appreciate any help you can give me...
    Thanks,
    Laurence MacNeill
    Mableton, Georgia, USA

    This blog post is pretty close to what I want:
    http://justinjmoses.wordpress.com/2008/10/10/flex-dynamic-bindable-value-objects/
    So there are the dynamic value objects I was looking for.  But the blog-poster is using LINQ and .Net 3.5.  I'm using ColdFusion9.
    So, how do I get ColdFusion9 to deal with that?  How do you get CF9 to recognize the fact that you've changed the VO, and deal with it appropriately?
    Thanks,
    L.

  • Are there any shortcuts for creating Value Object Classes?

    Hi,
    I'm using a Remote Object to connect to my server
    (pyAMF/Django). I'm getting stuck with the creation of Value Object
    Classes. It doesn't seem very DRY to have a class on my server
    representing the data model and then have to recreate that class
    and all its properties in my Flex app.
    Are there any shortcuts for creating client side VOs from
    server side data?
    I was thinking about declaring an empty VO class in Flex, and
    then dynamically assigning/casting my Proxy object to that class.
    It seems like that approach may cause problems for the Flex
    compiler though.
    Any hints?
    Thanks!

    quote:
    Originally posted by:
    tptackab
    Oh man, do I feel your pain. I'm not sure what middle-tier
    technology you're using, but I'm using Java (w/Spring) and I
    absolutely hate having to create and maintain two sets of VO (aka
    data transfer - DTO) object for Java and Flex.
    One thing that has helped me in that area is a free tool from
    Farata Systems called
    DTO2Fx. If you're using Java and Eclipse, it's a great time saver.
    You simply install a (very lightweight) Eclipse plugin, add a
    single annotation to your Java VO classes, and it automatically
    generates your Flex VOs. It even creates a base and extended
    version of each VO on the AS3 side so you can add code to the
    extended VO without fear of having your changes overwritten when it
    regenerates your Flex VOs.
    Here's a like to thier
    PDF that
    gives instructions and a download link. I had it up and running in
    my application in less than 30 minutes!
    I'm using Python/Django serverside (PYAMF is my AMF
    serializer).

  • Create value object from xml

    So I've got a value object with 100 fields.
    I have a ASP.net web service that returns the value objects
    as XML (I really don't want to use WebOrb...).
    I don't want to write a lot of code like this:
    vo.Field1 = voXML.Field1;
    vo.Field2 = voXML.Field2;
    vo.Field3 = voXML.Field3;
    Is there an easier/faster way to do this? Can't I do some
    sort of for/each loop. The element names are identical to the field
    names.
    Thanks.

    http://livedocs.adobe.com/flex/201/html/wwhelp/wwhimpl/common/html/wwhelp.htm?context=Live Docs_Book_Parts&file=usingas_053_9.html#220936

  • Inserting a tree of value objects

    Let's say I have these entities in my database:
    Person
    personId (PK)
    firstName
    lastName
    PhoneNumber
    phoneNumberId (PK)
    number
    description
    personId (FK referencing Person entity)
    I have a PersonValueObject class with the following attributes:
    Integer personId
    String firstName
    String lastName
    Collection phoneNumbers (a collection of PhoneNumberValueObject's - can be populated or set to null, depending on use case)
    I have a PhoneNumberValueObject class with the following attributes:
    Integer phoneNumberId
    String number
    Strong description
    Integer personId
    PersonValueObject person (can be populated or set to null, depending on the use case)
    I have session facade with the following methods
    createPerson(PersonValueObject personVO)
    createPhoneNumber(PhoneNumberValueObject phoneNumberVO)
    My question is, how should I insert a tree containing a Person and his related PhoneNumbers? I see three options:
    1) The session facade's client calls createPerson(), which inserts the personVO and then the session facade traverses the personVO.phoneNumbers collection and calls createPhoneNumber() internally for every element in the collection. This means that the createPerson() method must have extra code to traverse the collection.
    2) The session facade's client calls createPerson(), which inserts the personVO. Next, the session facade's client traverses the personVO.phoneNumbers collection and calls createPhoneNumber() for every element in the collection. This means that the client must have extra code to traverse the collection.
    3) Add a third method called createPersonTree(PersonValueObject personVO), which internally calls createPerson() and then internally calls createPhoneNumber(). In this case, the createPersonTree() method must have the extra code to traverse the collection. The way I see it, the advantage of this approach is that the session facade's client has a choice of calling createPersonTree(), if it needs to insert a whole tree, whereas it can just call createPhoneNumber() directly if it just needs to add a new phone number to an existing person.
    Comments?

    1) Are you using session Bean for inserting the data?
    2) Are you using the Entity Beans, I mean BMP?
    3) Have you looked in the features provided by the
    CMP2.0.Let me explain all the patterns I am using. The client is a regular java class that implements the "business delegate" pattern. The business delegate communicates with a session bean that is implementing the "session facade" pattern. It is this session facade that has those methods I referred to above, namely createPerson(), createPhoneNumber() and potentially createPersonTree(). The session facade communicates with a Person entity bean and a PhoneNumber entity bean, which implement the persistence layer. Both of these entity beans use EJB 2.0 CMR and CMP. The actual inserts are performed by these entity beans. For example, inside the session facade's createPerson() method, the session facade delegates the actual insert to the Person entity bean.
    Data is passed between objects by using the "value object" pattern. For example, the business delegate passes person data to the session facade inside a Person value object. The session facade also passes this value object to the entity bean (alternatively, the session facade could pass the person's attributes individually, but I thought this was not as convenient).
    I hope that explains the situation.

  • Value Object pattern implementation problem

    Hi All!
    I try to implement value object pattern in my bean as follows:
    /* Simplified code */
    public class Value implements Serializable {
    private String s;
    public setS(String value){
    s = value
    public getS(){return s}
    bean class:
    public class Bean extends Value implemets EntityBean {
    public Value getValue(){return this}
    Now question.
    When I try run this code I get next message
    org.omg.CORBA.MARSHAL: minor code: 0 completed: No
    org.omg.CORBA.portable.InputStream com.visigenic.vbroker.orb.GiopStubDelegate.invoke(org.omg.CORBA.Object, org.omg.CORBA.portable.OutputStream, org.omg.CORBA.StringHolder, org.omg.CORBA.Context, org.omg.CORBA.ContextList)
    org.omg.CORBA.portable.InputStream com.visigenic.vbroker.orb.GiopStubDelegate.invoke(org.omg.CORBA.Object, org.omg.CORBA.portable.OutputStream, org.omg.CORBA.StringHolder)
    org.omg.CORBA.portable.InputStream com.inprise.vbroker.CORBA.portable.ObjectImpl._invoke(org.omg.CORBA.portable.OutputStream, org.omg.CORBA.StringHolder)
    com.retailpro.cms.common.InventoryValue com.retailpro.cms.ejb._st_Inventory.getValue()
    void com.retailpro.cms.inventory.SetInventory._jspService(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
    void oracle.jsp.runtime.HttpJsp.service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
    void oracle.jsp.app.JspApplication.dispatchRequest(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
    void oracle.jsp.JspServlet.doDispatch(oracle.jsp.app.JspRequestContext)
    void oracle.jsp.JspServlet.internalService(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
    void oracle.jsp.JspServlet.service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
    void javax.servlet.http.HttpServlet.service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
    void oracle.lite.web.JupServlet.service(oracle.lite.web.JupRequest, oracle.lite.web.JupResponse)
    void oracle.lite.web.MimeServletHandler.handle(oracle.lite.web.JupApplication, java.lang.String, int, oracle.lite.web.JupRequest, oracle.lite.web.JupResponse)
    void oracle.lite.web.JupApplication.service(oracle.lite.web.JupRequest, oracle.lite.web.JupResponse)
    void oracle.lite.web.JupHandler.handle(oracle.lite.web.JupRequest, oracle.lite.web.JupResponse)
    void oracle.lite.web.HTTPServer.process(oracle.lite.web.JupRequest, oracle.lite.web.JupResponse)
    boolean oracle.lite.web.HTTPServer.handleRequest(oracle.lite.web.JupInputStream, oracle.lite.web.JupOutputStream)
    boolean oracle.lite.web.JupServer.handle(oracle.lite.web.JupInputStream, oracle.lite.web.JupOutputStream)
    void oracle.lite.web.SocketListener.process(java.net.Socket)
    void oracle.lite.web.SocketListener$ReqHandler.run()
    Seems like object can't be serialized.
    But when I change my getValue() to next
    public Value getValue(){
    Value result = new Value();
    result.setS(s);
    return result;
    Everything goes fine!
    Can anybody comments this situation?
    Any information will be appreciated!
    Mike
    null

    Have you tried using our Business Components for Java framework to assist in developing your EJB components. BC4J is a design pattern framework that implements the J2EE Blueprints design patterns out of the box:
    [list][*]Session-Entity Fagade
    [*]Paged-List
    [*]Unified Data Access & Logic
    [*]Value Object
    [*]Model View Controller
    [list]
    and more...
    So many things you don't have to code yourself when you use BC4J to turbocharge your development... Also, using BC4J insulates you from having to choose once and for all at the beginning of your project that you ARE USING EJB AT ALL COSTS on your project.
    Many projects discover that they don't require a distributed objects configuration, but end up paying for it in architectural complexity and EJB's assumption that all beans might be located on remote VM's.
    With BC4J, you can build an app, deploy to EJB if you need EJB for a given project, or deploy to CORBA, or just to simple Java classes for improved performance without the remoting overheads. All without touching your application code.
    Pretty cool, I think. But of course, I'm biased :-)
    Steve Muench
    Lead Product Manager for BC4J and Lead XML Evangelist, Oracle Corp
    Author, Building Oracle XML Applications

  • Exposing Methods of Value Object

    I have the need for a value (transfer) object that contains only getters and setters, as well as a full "business object" that has the same getters and setters as well as business logic (like insert()).
    I hate the idea of maintaining two separate objects, and making sure that when I add a new attribute to the BO I remember to add it to the VO.
    I would love to have the BO hold a private instance of the VO inside it, and automatically "expose" all the VO's methods to the outside world as if they were its own. I could do this with inheritence, but then I have the problem of creating a VO from a BO (lots of error-prone repetitive code).
    Any ideas on how I could expose these methods, together with the BO's logic?
    Thanks, Gary

    If I've understood your question, you may use a Proxy
    object to achieve the desired behaviour.
    What you'll need to do is create a "super" interface
    that contains the methods from your business object
    and value object. You will then create a Proxy that
    implements the "super" interface. When you invoke a
    method on the proxy, the invocation handler will try
    to first invoke the method on the business object. If
    the business object does not implement the requested
    method (i.e. one of the value methods), the handler
    tries to invoke the method on the value object member
    of the business object.
    The only maintainence overhead implied by this
    solution is that methods must be added to the "super"
    interface to correspond to each method added to the
    business or value objects.
    Have a look at this example to see what I mean
    public class Test {
    public static void main(String[] args) {
    try {
    ProxyHandler d = new ProxyHandler(new
    Handler(new BusinessObject());
    Object o =
    Object o =
    Proxy.newProxyInstance(Thread.currentThread().getConte
    tClassLoader(),
    new Class[]
    new Class[] {BusinessValueInterface.class},
    class}, d);
    BusinessValueInterface bvi =
    rface bvi = (BusinessValueInterface)o;
    bvi.businessMethod();
    System.out.println(bvi.getVal());
    catch (Exception ex) {
    ex.printStackTrace();
    static class ProxyHandler implements
    nts InvocationHandler {
    BusinessObject b;
    public ProxyHandler(BusinessObject bo) {
    b = bo;
    public Object invoke(Object proxy, Method m,
    thod m, Object[] params)
    throws Throwable
    Class[] paramClasses = null;
    if (params != null) {
    paramClasses = new
    amClasses = new Class[params.length];
    for (int x = 0; x < params.length;
    params.length; x++)
    paramClasses[x] =
    paramClasses[x] = params[x].getClass();
    Method m1 = null;
    try {
    m1 =
    m1 = b.getClass().getMethod(m.getName(),
    getName(), paramClasses);
    catch (Exception ex) {
    if (m1 != null) {
    return m1.invoke(b, params);
    else {
    Method m2 =
    Method m2 =
    2 = b.val.getClass().getMethod(m.getName(),
    paramClasses);
    if (m2 != null) {
    return m2.invoke(b.val, params);
    else {
    return null;
    interface BusinessValueInterface {
    public String getVal();
    public void businessMethod();
    static class BusinessObject {
    ValueObject val = new ValueObject();
    public void businessMethod() {
    System.out.println("businessMethod
    inessMethod invoked");
    static class ValueObject {
    public String getVal() {
    return "value";
    Good luck,
    MikeI would definetly like to know more about what performance characteristics is needed in the system before recommending a dynamic proxy. Value objects accessors and mutators tend to be the most called methods in a system, and there is a fairly large overhead for dynamic proxies (about 5*(normal method call) on a windows 2000 box running IBM jre 1.3.1). Dynamix proxies are great and I use them for a lot of things, but NOT for value object setter and getters...
    I�d recommend either wrapping the VO in the BO and exposing it as:
    MyBO myBo = getBO();
    myBo.getValue().setName( ... ); or make the BO stateless and pass the value in the method calls:
    myBO.performSomeNiceBusinessLogic( valueObject, someOtherArgument );The latter is probably the way I would go for most cases, but the former has its advantages to.
    Br - johan

  • How to get value object (entity abject) from ViewObject?

    How to get data from ViewObject in the form of value object? I know BC4J creates entity object for database table/view (looks like value object) but I did not find api to get entity object from ViewObject.
    Thanks.

    BC4J provides an implementation of the value object design pattern for you, so you don't have to waste time writing your own.
    I wrote a whitepaper illustrating how to take advantage of this at:
    Implement Collections of Value Objects for MVC Apps with BC4J
    This allows clients (like a servlet, a JSP, a Swing client, etc.) to get value objects from the collection of value objects that BC4J supports.
    However, if you are writing code inside your view object implementation class and want to access the entity object, just call the accessor that we generate into your view row implementation class for you. For example, for a VO named EmployeeView that uses an entity object named Employee, there will be a private accessor method getEmployee() that will give you the entity.

Maybe you are looking for

  • Case statement in Oracle 8i

    can anyone tell me what to do to make the query below run in Oracle 8i. thanks select case connum when 'C251234' then 'Good' when 'C318260' then 'Ok' else connum end from names

  • Updated payment details due to a new debit card

    I've recently changed debit cards and was told by my bank that all Direct debits wold be transferred over to this new card. However a payment was never taken from my new card and could not be taken from my old card and now I can't use any of my adobe

  • Reading the form as XML, using WDJ

    Hello. I'm using WD for Java and ZCI layout. I've seen this thread- Re: Data in dynamic table not pass to webdynpro java about getting data from tables in the form by reading the form's XML data. I tried to search for a method to get the XML in IWDIn

  • Can you please walk me through?

    Hi. Can you please walk me through the set-up recording my 3 part composition? I am going to use a different instrument for each part (track). First I record and pan track 1 (first part) to the left, 2nd track (2nd part left in the middle), third tra

  • FCP log & transfer VS Toast question

    I have noticed when I use log and transfer to injest material from AVCHD .mts files they go straight on the timeline (Pro Res 422 1920 x 1080) without the red bar appearing. When I use toast to convert the material to Pro res, FCP need to do a quick