Jato 1.1 to Jato 1.2

Hi,
we are doing a migration project that includes Jato 1.1 to
Jato 1.2. what are the issues and problems for doing this
conversion. And any one did it previously.

(copied from my Yahoo Group response)
The only thing I can give some info on is the JATO 1.2 to 2.0.
First, the JATO runtime has very few changes in it from 1.2 to 2.0. Your app will typically run as is under 2.0. All you really need to do is replace the JATO JAR file. There may be a few minor details, but should not be any show stoppers.
There are some new API's in 2.0, but the old stuff is just deprecated. There are some additionally API's to make JATO toolable, but have no affect on the runtime.
The Studio really reduces the effort it takes to create JATO components. Lots of code gen that is easily manipulated via visual property editor. However, you still have the flexibility to hand code what you want.
The way to bring your 1.2 app into a JATO 2.0 app is as follows:
- use the Studio to create a new application with the same package structure as your current app
- copy your view beans, tiled views, models and custom classes into the new package structure.
Now this allows you to build new objects using 2.0 techniques (visual point/click creation) and the new components will run along side your old components. The old components will not show up in the Studio tool like the new components will. In other words, a newly created view bean is recognized as a "JATO ViewBean" because it has an extra design time meta data file that desribes it. Your older ViewBeans will not have this file and therefore, will only be recognized as a regular Java class.
Creating this meta data file is not really something that can be reasonably done by hand, unfortunately.
If your app will not grow, then go ahead and start using JATO 2.0 runtime, but don't worry about the Studio aspect. But if you plan to expand the app, it would be beneficial to continue with the Studio tools.
Does anyone have some "real" world experience they can lend to the forum.
craig

Similar Messages

  • Re: [iPlanet-JATO] from a non jato application to jato application

    Without getting into the details, the session id is passed around in a
    cookie, but once you leave your JATO app "sandbox", you no longer have
    access to the same session. This is not a JATO limitation, but a J2EE
    spec constraint. The war file creates a Servlet Context. Other servlet
    contexts have separate session sandboxes. If you deployed all your apps
    within the same war file, your sessions would be mutually accessible.
    or
    You could do something like use a Session EJB and pass its reference
    between apps I suppose.
    Also, see JATO Tip #0011 for forwarding to a "non-JATO" target.
    Hopefully, my reply will open up a conversation for more solutions,
    ideas, if what I have proposed is insufficient.
    craig
    raju_jato wrote:
    how can we forward a request from a non jato application(build using
    jsp and servlet) to a jato application and back and have only one
    session for both the applications.
    thanks
    For more information about JATO, including download information, please visit:
    http://developer.iplanet.com/tech/appserver/framework/index.jsp

    Without getting into the details, the session id is passed around in a
    cookie, but once you leave your JATO app "sandbox", you no longer have
    access to the same session. This is not a JATO limitation, but a J2EE
    spec constraint. The war file creates a Servlet Context. Other servlet
    contexts have separate session sandboxes. If you deployed all your apps
    within the same war file, your sessions would be mutually accessible.
    or
    You could do something like use a Session EJB and pass its reference
    between apps I suppose.
    Also, see JATO Tip #0011 for forwarding to a "non-JATO" target.
    Hopefully, my reply will open up a conversation for more solutions,
    ideas, if what I have proposed is insufficient.
    craig
    raju_jato wrote:
    how can we forward a request from a non jato application(build using
    jsp and servlet) to a jato application and back and have only one
    session for both the applications.
    thanks
    For more information about JATO, including download information, please visit:
    http://developer.iplanet.com/tech/appserver/framework/index.jsp

  • Note - The file upload notification refers to Jato 1.1 not Jato 1.2 UML

    I uploaded some Jato 1.1 UML diagrams at the request of one of the group
    participants. Unfortunately, these diagrams are slightly out of sync with Jato
    1.2 and therefore have not been included in the Jato 1.2 documentation.
    However, the diagrams may provide some assistance to those attempting to come
    up to speed on the Jato framework. Just bear in mind that the details for Jato
    1.2 are slightly different.
    [Non-text portions of this message have been removed]

    I found a working solution, but better solution are also welcome
    I had to have fr_CA not only in utf8 but also in iso88591. I had to modify the /etc/rc.conf this way :
    LOCALE="fr_CA" <<<<<<<<<<<<<<
    HARDWARECLOCK=""
    TIMEZONE="America/Montreal"
    KEYMAP="us"
    CONSOLEFONT=
    CONSOLEMAP=
    USECOLOR="yes"
    To preserve the english US language system wide, I had to add the following line in the /etc/profile :
    # Allow french special character while in en_US
    export LANG=en_US
    The character misinterpreted by a "?" is now seen :
    as a "รจ" in dolphin
    as a "?" in the console
    It is now possible to access the folders.

  • RE: [iPlanet-JATO] Href click & tiled view display

    Srinivas,
    I hope that I am not oversimplifying your first question; repost if I do not
    answer your question. Independent of JATO, HTML Form button sumbits will
    include the scraping of data off the form input fields; the data will passed
    as part of the body of the HTTP request. Therefore, you would expect to
    receive all your inputs during the Button submit. In the case of a button,
    a HTTP POST request is invoked. Href clicks, only submit the NVPs which are
    encoded on the HREF URL. Therefore, it is impossible (under normal
    circumstances) to retrieve the inputs from the FORM during the Href click.
    In the case of a Href, a HTTP GET request is invoked. Some customers have
    used a pattern in which Javascript is used to capture the Href onClick()
    event to perform some runtime modifications to the HREF URL before the HTTP
    GET request is submitted. I recommend to always have the LogProxy2 utility
    running during development so that the HTTP requests and repsonses can be
    debugged. If you setup the LogProxy2 (downloadable from this Group's Files
    repository) then you would see the HTTP requests in the LogProxy2's console
    window.
    TiledView question: Remember, each TiledView requires a "primary
    DatasetModel" which it uses for iteration of the tiles. It can be
    confusing, but the API call of
    <ContainerView>.getDefaultModel()
    has no relation to the implementation class called DefaultModel. See the
    Javadoc (excerp below)
    /migtoolbox-1.1.1/doc/jato/api/com/iplanet/jato/view/ContainerView.html#getD
    efaultModel()
    "Returns this view's default model. The default model is typically used by
    DisplayField children for default value storage (if they are not bound to
    any other model). This method should always return a valid model instance.
    Note that the default model need not be an actual instance of DefaultModel,
    although this is usually the case."
    Both of your TiledView's (inner and outer) are ContainerViews, each having
    their own property for [get/set]DefaultModel(). Likewise, the ViewBean
    parent of the outer TiledView is a ContainerView as well. With these facts
    in mind, consider the behavior of the ModelManager. The ModelManager will
    ensure that only once instance of specifically named model will be provided
    during a request scope. Therefore, everytime that you make a call to
    <ModelManager>.getModel(SomeModel.class)
    no matter how many times you make this call during a request, the
    ModelManager will ensure that you get the same object reference back.
    Implicitly, you are asking for a Model with the exclusive name of
    <ModelManager>.getDefaultModelInstanceName(SomeModel.class)
    I believe that your problem is that you have the Primary Model of both the
    inner and outer TiledView's set to the same instance of the DefaultModel
    class. Therefore, the TiledViews are tripping over each other because they
    are using the same Primary model. What I would do is change the constructor
    of each TiledView to set an exclusive Primary model
    // add to constructor of outer TileView
    setPrimaryModel(getModelI(DefaultModel.class,"outer")
    // add to constructor of inner TileView
    setPrimaryModel(getModelI(DefaultModel.class,"inner")
    remember to set the "size" of the Primary Model appropriately in the
    beginDisplay() event of each TiledView before calling super.beginDisplay()
    matt
    -----Original Message-----
    From: Srinivas Chikkam [mailto:<a href="/group/SunONE-JATO/post?protectID=061212020185082096169232190043244089032032196034013195172049230091142254099102">srinivas.chikkam@w...</a>]
    Sent: Tuesday, July 17, 2001 7:36 AM
    Subject: [iPlanet-JATO] Href click & tiled view display
    Hi,
    I'm facing the following two problems in JATO. Your help will be
    appreciated.
    1) Clicking a HREF.
    I have a button and a href in a page. When I submit the page by
    clicking the button, I'm able to
    get all the user entered data (form elements) in handler method.
    However, when I click
    the href and I try to retrieve the data entered by the user in my
    corresponding handler method, I'm
    getting blank values.
    How would I be able to get the user entered data upon clicking of a href
    ? I'm copying the sample
    code for your reference.
    // This returns me 5 values entered in the 5 tiles by the user.
    public void handleBButtonRequest(RequestContext req)
    throws ServletException, IOException
    try
    System.out.println("button clicked..");
    pgSampleTiledView tiledView = getSampleTile();
    System.out.println("\n\n\n\n@@@@@@@@@@@ No of tiles >>>
    "+tiledView.getNumTiles());
    int n = tiledView.getNumTiles();
    for (int i=0; i<n; i++)
    tiledView.setTileIndex(i);
    System.out.println(i+".
    "+tiledView.getTbValue().getValue().toString());
    this.forwardTo(req);
    catch (Exception ex)
    ex.printStackTrace();
    // This returns me 0 tiles and doesn't get into for loop
    public void handleLinkModifyDistributionRequest(RequestContext req )
    throws ServletException, IOException
    try
    System.out.println("href clicked..");
    pgSampleTiledView tiledView = getSampleTile();
    System.out.println("\n\n\n\n@@@@@@@@@@@ No of tiles >>>
    "+tiledView.getNumTiles());
    int n = tiledView.getNumTiles();
    for (int i=0; i<n; i++)
    tiledView.setTileIndex(i);
    System.out.println(i+".
    "+tiledView.getTbValue().getValue().toString());
    this.forwardTo(req);
    catch (Exception ex)
    ex.printStackTrace();
    2) Tiled view display
    I have tiled view inside another tiled view. Based upon the data
    retrieved from the database, lets say, the outer tile needs to be
    displayed twice and the inner tile 3 times and 1 time.
    For Ex: Lets say, the desired output from these tiled views is as
    follows
    STOCK INVESTMENT
    stock name1
    stock name2
    stock name3
    OTHER INVESTMENT
    other investment1
    The outer tiled view displays the investment type headings (STOCK
    INVESTMENT or OTHER INVESTMENT) and inner tile
    displays the actual stock names or the other investment names. Both
    the tile views are bound to a default model. In the begin display
    of these tiled view I'm setting the size of the model as
    getPrimaryModel.setSize(requiredsize).
    If i display 3 records in the inner tiled view in the first iteration
    and i try to display 1 record in the second iteration, it displays 3
    records
    properly the first time but it doesn't display any records second
    time. super.nextTile() returns false right away second time.
    But If I try to display 1 record in the first iteration and 3 records in
    the second iteration as below, it works fine.
    STOCK INVESTMENT
    stock name1
    OTHER INVESTMENT
    other investment1
    other investment2
    other investment3
    Please let me know what could be the problem.
    Thanks
    ~ Srinivas
    The Information contained and transmitted by this E-MAIL is
    proprietary to
    Wipro Limited and is intended for use only by the individual or
    entity to which
    it is addressed, and may contain information that is privileged,
    confidential or
    exempt from disclosure under applicable law. If this is a
    forwarded message,
    the content of this E-MAIL may not have been sent with the
    authority of the
    Company. If you are not the intended recipient, an agent of the intended
    recipient or a person responsible for delivering the information
    to the named
    recipient, you are notified that any use, distribution,
    transmission, printing,
    copying or dissemination of this information in any way or in any
    manner is
    strictly prohibited. If you have received this communication in
    error, please
    delete this mail & notify us immediately at mailadmin@w...
    [Non-text portions of this message have been removed]
    [email protected]

    should read
    // add to constructor of outer TileView
    setPrimaryModel(getModel(DefaultModel.class,"outer");
    // add to constructor of inner TileView
    setPrimaryModel(getModel(DefaultModel.class,"inner");
    matt
    -----Original Message-----
    From: Matthew Stevens [mailto:<a href="/group/SunONE-JATO/post?protectID=029166114165042198028082000056130080177026031196061123241150194211220076086020224">matthew.stevens@e...</a>]
    Sent: Tuesday, July 17, 2001 9:25 AM
    Subject: RE: [iPlanet-JATO] Href click & tiled view display
    Srinivas,
    I hope that I am not oversimplifying your first question; repost
    if I do not
    answer your question. Independent of JATO, HTML Form button sumbits will
    include the scraping of data off the form input fields; the data
    will passed
    as part of the body of the HTTP request. Therefore, you would expect to
    receive all your inputs during the Button submit. In the case of
    a button,
    a HTTP POST request is invoked. Href clicks, only submit the
    NVPs which are
    encoded on the HREF URL. Therefore, it is impossible (under normal
    circumstances) to retrieve the inputs from the FORM during the Href click.
    In the case of a Href, a HTTP GET request is invoked. Some customers have
    used a pattern in which Javascript is used to capture the Href onClick()
    event to perform some runtime modifications to the HREF URL
    before the HTTP
    GET request is submitted. I recommend to always have the
    LogProxy2 utility
    running during development so that the HTTP requests and repsonses can be
    debugged. If you setup the LogProxy2 (downloadable from this
    Group's Files
    repository) then you would see the HTTP requests in the
    LogProxy2's console
    window.
    TiledView question: Remember, each TiledView requires a "primary
    DatasetModel" which it uses for iteration of the tiles. It can be
    confusing, but the API call of
    <ContainerView>.getDefaultModel()
    has no relation to the implementation class called DefaultModel. See the
    Javadoc (excerp below)
    /migtoolbox-1.1.1/doc/jato/api/com/iplanet/jato/view/ContainerView
    .html#getD
    efaultModel()
    "Returns this view's default model. The default model is typically used by
    DisplayField children for default value storage (if they are not bound to
    any other model). This method should always return a valid model instance.
    Note that the default model need not be an actual instance of
    DefaultModel,
    although this is usually the case."
    Both of your TiledView's (inner and outer) are ContainerViews, each having
    their own property for [get/set]DefaultModel(). Likewise, the ViewBean
    parent of the outer TiledView is a ContainerView as well. With
    these facts
    in mind, consider the behavior of the ModelManager. The ModelManager will
    ensure that only once instance of specifically named model will
    be provided
    during a request scope. Therefore, everytime that you make a call to
    <ModelManager>.getModel(SomeModel.class)
    no matter how many times you make this call during a request, the
    ModelManager will ensure that you get the same object reference back.
    Implicitly, you are asking for a Model with the exclusive name of
    <ModelManager>.getDefaultModelInstanceName(SomeModel.class)
    I believe that your problem is that you have the Primary Model of both the
    inner and outer TiledView's set to the same instance of the DefaultModel
    class. Therefore, the TiledViews are tripping over each other
    because they
    are using the same Primary model. What I would do is change the
    constructor
    of each TiledView to set an exclusive Primary model
    // add to constructor of outer TileView
    setPrimaryModel(getModelI(DefaultModel.class,"outer")
    // add to constructor of inner TileView
    setPrimaryModel(getModelI(DefaultModel.class,"inner")
    remember to set the "size" of the Primary Model appropriately in the
    beginDisplay() event of each TiledView before calling super.beginDisplay()
    matt
    -----Original Message-----
    From: Srinivas Chikkam [mailto:<a href="/group/SunONE-JATO/post?protectID=061212020185082096169232190043244089032032196034013195172049230091142254099102">srinivas.chikkam@w...</a>]
    Sent: Tuesday, July 17, 2001 7:36 AM
    Subject: [iPlanet-JATO] Href click & tiled view display
    Hi,
    I'm facing the following two problems in JATO. Your help will be
    appreciated.
    1) Clicking a HREF.
    I have a button and a href in a page. When I submit the page by
    clicking the button, I'm able to
    get all the user entered data (form elements) in handler method.
    However, when I click
    the href and I try to retrieve the data entered by the user in my
    corresponding handler method, I'm
    getting blank values.
    How would I be able to get the user entered data upon clicking of a href
    ? I'm copying the sample
    code for your reference.
    // This returns me 5 values entered in the 5 tiles by the user.
    public void handleBButtonRequest(RequestContext req)
    throws ServletException, IOException
    try
    System.out.println("button clicked..");
    pgSampleTiledView tiledView = getSampleTile();
    System.out.println("\n\n\n\n@@@@@@@@@@@ No of tiles >>>
    "+tiledView.getNumTiles());
    int n = tiledView.getNumTiles();
    for (int i=0; i<n; i++)
    tiledView.setTileIndex(i);
    System.out.println(i+".
    "+tiledView.getTbValue().getValue().toString());
    this.forwardTo(req);
    catch (Exception ex)
    ex.printStackTrace();
    // This returns me 0 tiles and doesn't get into for loop
    public void handleLinkModifyDistributionRequest(RequestContext req )
    throws ServletException, IOException
    try
    System.out.println("href clicked..");
    pgSampleTiledView tiledView = getSampleTile();
    System.out.println("\n\n\n\n@@@@@@@@@@@ No of tiles >>>
    "+tiledView.getNumTiles());
    int n = tiledView.getNumTiles();
    for (int i=0; i<n; i++)
    tiledView.setTileIndex(i);
    System.out.println(i+".
    "+tiledView.getTbValue().getValue().toString());
    this.forwardTo(req);
    catch (Exception ex)
    ex.printStackTrace();
    2) Tiled view display
    I have tiled view inside another tiled view. Based upon the data
    retrieved from the database, lets say, the outer tile needs to be
    displayed twice and the inner tile 3 times and 1 time.
    For Ex: Lets say, the desired output from these tiled views is as
    follows
    STOCK INVESTMENT
    stock name1
    stock name2
    stock name3
    OTHER INVESTMENT
    other investment1
    The outer tiled view displays the investment type headings (STOCK
    INVESTMENT or OTHER INVESTMENT) and inner tile
    displays the actual stock names or the other investment names. Both
    the tile views are bound to a default model. In the begin display
    of these tiled view I'm setting the size of the model as
    getPrimaryModel.setSize(requiredsize).
    If i display 3 records in the inner tiled view in the first iteration
    and i try to display 1 record in the second iteration, it displays 3
    records
    properly the first time but it doesn't display any records second
    time. super.nextTile() returns false right away second time.
    But If I try to display 1 record in the first iteration and 3 records in
    the second iteration as below, it works fine.
    STOCK INVESTMENT
    stock name1
    OTHER INVESTMENT
    other investment1
    other investment2
    other investment3
    Please let me know what could be the problem.
    Thanks
    ~ Srinivas
    The Information contained and transmitted by this E-MAIL is
    proprietary to
    Wipro Limited and is intended for use only by the individual or
    entity to which
    it is addressed, and may contain information that is privileged,
    confidential or
    exempt from disclosure under applicable law. If this is a
    forwarded message,
    the content of this E-MAIL may not have been sent with the
    authority of the
    Company. If you are not the intended recipient, an agent of the intended
    recipient or a person responsible for delivering the information
    to the named
    recipient, you are notified that any use, distribution,
    transmission, printing,
    copying or dissemination of this information in any way or in any
    manner is
    strictly prohibited. If you have received this communication in
    error, please
    delete this mail & notify us immediately at mailadmin@w...
    [Non-text portions of this message have been removed]
    [email protected]
    [email protected]

  • RE: [iPlanet-JATO] models

    Belinda,
    YES & YES
    What you are asking to do is EXACTLY what one of the primary value
    propositions of the JATO design. The JATO Overview 'whitepaper'
    specifically points this out as a limitation of other MVC frameworks. The
    constructors of the Views require the designation of a Model; this is where
    you would hook your Views (DisplayFields) into various Models. Please note
    that there is no coupling of the Views and Models so there is a many to many
    relationship (of your choosing). Please note that the 'accessor' methods
    (setters and getters) [other than the Model interface prescribed getValue()
    setValue() getValues() setValues() methods] are no related to the
    DisplayField design pattern per se. The DisplayFields will manage data on
    the request and response cycles using the getValue()/setValue() methods.
    This is what lets the model view relationship plugable. The accessors in
    the Model are not required for the View pattern. The implementation of a
    specific Model's getValue()/setValue() may be to utilize the special
    accessors...but they are not used by the DisplayFields directly.
    matt
    -----Original Message-----
    From: Belinda Garcia [mailto:<a href="/group/SunONE-JATO/post?protectID=014056235009078154169082148140172241239144044214017123152006048067">belinda.garcia@s...</a>]
    Sent: Tuesday, December 04, 2001 5:29 PM
    Subject: [iPlanet-JATO] models
    1. Do all the member variables (those connected to setters and getters) of a
    model have
    to be bound to the display fields of a view that is using it? In other
    words, say I
    have a model with 10 member variables with 10 setters and getters for them
    but I have a
    view that's only using 5 of these member variables. I'm asking this because
    maybe I
    would like to have a model that represents more than one view, if this is
    possible.
    2. Can a view have more than one model for its display fields? I don't mean
    an
    executing, retrieving, etc. I mean the display fields themselves. Where the
    data for
    one field is retrieved from one model and the data for another field is
    retrieved from
    another model? Or say, I want to retrieve some static text fields from
    property files
    for localization but the other fields from a model?
    For more information about JATO, please visit:
    http://developer.iplanet.com/tech/appserver/framework/index.jsp

    Belinda,
    YES & YES
    What you are asking to do is EXACTLY what one of the primary value
    propositions of the JATO design. The JATO Overview 'whitepaper'
    specifically points this out as a limitation of other MVC frameworks. The
    constructors of the Views require the designation of a Model; this is where
    you would hook your Views (DisplayFields) into various Models. Please note
    that there is no coupling of the Views and Models so there is a many to many
    relationship (of your choosing). Please note that the 'accessor' methods
    (setters and getters) [other than the Model interface prescribed getValue()
    setValue() getValues() setValues() methods] are no related to the
    DisplayField design pattern per se. The DisplayFields will manage data on
    the request and response cycles using the getValue()/setValue() methods.
    This is what lets the model view relationship plugable. The accessors in
    the Model are not required for the View pattern. The implementation of a
    specific Model's getValue()/setValue() may be to utilize the special
    accessors...but they are not used by the DisplayFields directly.
    matt
    -----Original Message-----
    From: Belinda Garcia [mailto:<a href="/group/SunONE-JATO/post?protectID=014056235009078154169082148140172241239144044214017123152006048067">belinda.garcia@s...</a>]
    Sent: Tuesday, December 04, 2001 5:29 PM
    Subject: [iPlanet-JATO] models
    1. Do all the member variables (those connected to setters and getters) of a
    model have
    to be bound to the display fields of a view that is using it? In other
    words, say I
    have a model with 10 member variables with 10 setters and getters for them
    but I have a
    view that's only using 5 of these member variables. I'm asking this because
    maybe I
    would like to have a model that represents more than one view, if this is
    possible.
    2. Can a view have more than one model for its display fields? I don't mean
    an
    executing, retrieving, etc. I mean the display fields themselves. Where the
    data for
    one field is retrieved from one model and the data for another field is
    retrieved from
    another model? Or say, I want to retrieve some static text fields from
    property files
    for localization but the other fields from a model?
    For more information about JATO, please visit:
    http://developer.iplanet.com/tech/appserver/framework/index.jsp

  • Re: [iPlanet-JATO] JATO 1.1 - First Tile is not displayed in TiledView.

    Hi Shyam--
    I'm not seeing this over here. So, we need to figure out why you're seeing
    it--I need some more information.
    First, what model are you using to back the tiled view? Second, can you
    please forward the page and tiled view Java classes and JSPs to my work
    address? At what point are you writing the getTileIndex() value out--during
    display, business processing, what?
    Also, try putting a stack trace in the nextTile() method of the tiled view
    to see if its being incremented from somewhere you don't expect:
    public boolean nextTile()
    if (getTileIndex()==0)
    new Exception().printStackTrace();
    Todd
    Todd Fast
    Senior Engineer
    Sun/Netscape Alliance
    todd.fast@e...
    ----- Original Message -----
    From: <shyam_gotur@p...>
    Sent: Saturday, March 03, 2001 2:40 PM
    Subject: [iPlanet-JATO] JATO 1.1 - First Tile is not displayed in TiledView.
    Hi
    We migrated our application from JATO 1.0 to JATO 1.1,
    with 1.1 the nextTile() method is skipping the first tile in
    tiledView.when printed the getTileIndex() to console , it is starting
    with index 1 instead of 0.
    Thanks
    Shyam
    [email protected]

    Hi Shyam--
    I'm not seeing this over here. So, we need to figure out why you're seeing
    it--I need some more information.
    First, what model are you using to back the tiled view? Second, can you
    please forward the page and tiled view Java classes and JSPs to my work
    address? At what point are you writing the getTileIndex() value out--during
    display, business processing, what?
    Also, try putting a stack trace in the nextTile() method of the tiled view
    to see if its being incremented from somewhere you don't expect:
    public boolean nextTile()
    if (getTileIndex()==0)
    new Exception().printStackTrace();
    Todd
    Todd Fast
    Senior Engineer
    Sun/Netscape Alliance
    todd.fast@e...
    ----- Original Message -----
    From: <shyam_gotur@p...>
    Sent: Saturday, March 03, 2001 2:40 PM
    Subject: [iPlanet-JATO] JATO 1.1 - First Tile is not displayed in TiledView.
    Hi
    We migrated our application from JATO 1.0 to JATO 1.1,
    with 1.1 the nextTile() method is skipping the first tile in
    tiledView.when printed the getTileIndex() to console , it is starting
    with index 1 instead of 0.
    Thanks
    Shyam
    [email protected]

  • Conversion of 1.2 JATO project (non-Forte IDE) to S1AF (JATO) 2.0

    JATO Team,
    First of all, thank you very much for the Studio integration. It
    looks very promising in terms of development time consumption,
    deployment to S1AS7, etc., etc. It is impossible to observe all
    advantages for so short period of time.
    The SOAF (JATO) 2.0 is installed on the top of the Sun ONE Studio 4,
    update 1 (EE) with JDK 1.4 along with the Sun One Application Server
    7 (W2000). Everything looks okay, at least all basic tasks listed in
    the "Getting Started" manual (project/view/model creation, basic db
    connection, running of a test application with the usage of the
    Studio's default Tomcat container, etc.) work proper.
    During the installation of S1AF module on the top of the Sun ONE
    Studio 4, update 1 (EE) I've got an invitation to convert the
    existing project to the new environment. As I realized the only JATO
    project integrated/created with Forte IDE is applicable for this auto-
    conversion (please correct me, if I am wrong. It could solve a lot of
    my problems).
    Since we are using JBuilder5 IDE and our JATO 1.2 project is
    integrated with this IDE I manually re-created project in the Studio
    with its file structure, adjusted the project web.xml file, etc. This
    new project looks like a proper one (Studio recognize all methods,
    fields, bean patterns, e.g.) except at least one "small" thing. All
    java files (project viewBeans, Models, custom viewBeanHelpers a.k.a.
    pure java) came up with the same wizard image:java class. Stutio with
    the S1AF module reserves the special images (and appropriate studio
    properties, of course!) for View and Model. Namely this allows to see
    the following structure for a ViewBean, for example, in the Studio:
    Modules
    ProjectName.ModuleName
    FooViewBean
    JavaSource
    JSPs
    Non-Visual Components
    View Components
    On the other hand, I could add either new View or Model in my
    manually converted project and add any View Component or bind the
    Model fields, for example. Also, the ProjectModuleServlet has been
    converted proper. I tried to convert each View/Model class inside the
    Studio to its proper wizard image and failed. Addition of a View
    Components (with an appropriate code fragments) via the Studio or
    auto-binding of model fields is an essential part of 2.0 and should
    drastically speed up the development process as it is designed.
    Questions:
    1. What I missed in my manual conversion of 1.2 JATO project to the
    SOAF (JATO) 2.0 realm? What should I correct in my JATO 1.2
    compatible classes (Views and Models) to be recognizable by Studio
    wizard (JATO 2.0)?
    To be more specific. Some deltas between JATO 1.2 and JATO 2.0 are as
    follows (related to a ViewBean):
    ====++++++++++++++======
    JATO 1.2 viewBean extension upon creation:
    public class FooViewBeanViewBean extends ViewBeanBase
    implements ViewBean
    ========================
    JATO 2.0 (S1AF) version: viewBean extension upon creation:
    public class FooViewBean extends BasicBeanBase
    ====++++++++++++++======
    JATO 1.2 viewBean createChild(...) method for one static looks
    like:
    protected View createChild(String name)
    if (name.equals(CHILD_STATICTEXT1))
    StaticTextField child = new StaticTextField
    (this,
    getDefaultModel(),
    CHILD_STATICTEXT1,
    CHILD_STATICTEXT1,
    CHILD_STATICTEXT1_RESET_VALUE,
    null);
    return child;
    ========================
    JATO 2.0 (S1AF) version: viewBean createChild(...) is renamed (as
    a least) to createChildReserved(...):
    protected View createChildReserved(String name) {
    if (name.equals(CHILD_STATICTEXT1)) {
    com.iplanet.jato.view.BasicDisplayField child =
    new com.iplanet.jato.view.BasicDisplayField(this,
    STATICTEXT1);
    return child;
    ====++++++++++++++======
    JATO 1.2 viewBean registerChildren() method for the basic field
    types looks like:
    private void registerChildren() {
    registerChild(CHILD_STATICTEXT1, StaticTextField.class);
    registerChild(CHILD_TEXTFIELD1, TextField.class);
    registerChild(CHILD_BUTTON1, Button.class);
    ========================
    JATO 2.0 (S1AF) version: viewBean registerChildren() method:
    private void registerChildren() {
    registerChild(CHILD_STATICTEXT1,
    com.iplanet.jato.view.BasicDisplayField.class);
    registerChild(CHILD_TEXTFIELD1,
    com.iplanet.jato.view.BasicDisplayField.class);
    registerChild(CHILD_BUTTON1,
    com.iplanet.jato.view.BasicCommandField.class);
    Is it correct to say that all existing custom Views/Models
    (compatible with JATO 1.2) should be converted to their JATO 2.0
    variants to be visible by the Studio?
    On the other hand, fast overview of 2.0 API shows that the JATO 1.2
    is a sub-set of the 2.0 (BasicViewBean extends ViewBeanBase, for
    example). What exactly (only deprecated methods?) should be adjusted
    in the project code (1.2), if necessary, to be visible by Studio as a
    View or Model component?
    2. Where it is possible to find the list of deprecated methods (from
    JATO 1.2 to JATO 2.0 versions). It is difficult sometimes to compare
    two versions of API docs (1.2 and 2.0) or compare logs between
    versions. Also, JATO 2.0 is significantly larger than 1.2 version. If
    the later obviously inherits the ND conversion stage (via the
    previous versions), the former obviously has additions incoming from
    the integration with the Studio (a.k.a. Forte 4.0).
    3. What is the current/future Sun/JATO Team policy with regards to
    JATO source code access (version 2.0, at least)? The reason of this
    question is as follows: in order to display dates formatted on the
    screens we adjusted a couple of JATO 1.2 core classes, for example.
    The only minimal, absolutely necessary changes in JATO 1.2 was made,
    but anyway...
    Sorry for so long multiple question. As Todd wrote in his
    announcement mail: "We think you will be very pleased with the new
    product...". This is exciting moment, I believe, for JATO Team as
    well as for any team involved into the conversion of the full size
    application/product from ND to J2EE realm with the JATO as
    an application framework (1.0, 1.1.x, 1.2.X, and 2.0 finally). The
    last step is left in this spiral process to enjoy the ND_Studio
    attractive features in the open source environment.
    Thank you very much in advance.
    Vladimir Ivanov

    I'll get some file templates ASAP and provide them to the group.
    As for source code, I'm not sure what the policy is. JATO 1.2 is very
    close to what JATO 2.0 is, so that should suffice for now.
    The community will be informed when we know more about source availibility.
    craig
    vivanov4114 wrote:
    Craig,
    Thank you for the answer. To be honest with you I tried to do exactly
    the same: I created the small test project and made an attempt to
    adjust the existing *.xml files to the new ones. I got some results,
    otherwise I couldn't even see my original 1.2 project in the Studio.
    Since I am a newcomer in the Studio, I definitely missed something in
    my adjustments. I'll try to observe my changes with the fresh head.
    On the other hand, I am afraid that my samples are very pure. If you
    could post or send me examples of jatoapp.xml and web.xml files (say
    for any of you test project) or excerptions from them with the
    appropriate patterns (ViewBean and Model peers, at least), I would be
    very appreciated. My mail is: vivanov@b...
    In the worst-case scenario I see the workaround: to re-create the
    project for one of our releases with the Forte 4.1 IDE and auto-
    convert it into the JATO 2.0/Studio world using the Studio
    facilities. We must get the current project fully
    integrated/converted with/to the Studio (at certain point) because,
    first, we expect massive coding with the GUI components involved soon
    and, secondly, we have around thousand classes related to JATO only
    (and a lot of extras).
    Coming back to the question #3 from this post. Now we have full
    access to the version 1.2, not only to the JATO 1.2 jar file(I
    explained some reasons below). Would we expect the same Sun/JATO Team
    policy with JATO 2.0?
    Thank you again,
    Vlad
    --- In SunONE-JATO@y..., "cvconover" <craig.conover@s...> wrote:
    It doesn't appear that anyone has responded to this so I am goingto
    give you the short answer:
    The reason you don't see your ViewBeans and Models showing up with
    there "wizard created" icons is because of just that. They weren't
    created via the wizards. The wizards create xml formatted filesthat
    contain metadata of how/what to generate for the ViewBeans and
    Models.
    ViewBeans will have a .viewbean fiel, Models will have a .sqlmodel
    file (for SQL Models), etc. The content of these files describesthe
    code that needs to be generated in the corresponding Java classfile.
    So LoginViewBean.java will have a peer LoginViewBean.viewbean file.
    The code that is generated is place in protected code blocks thatcan
    not be modified in the Studio and should not be modified outsidethe
    Studio because the code will likely be regenerated and custom mods
    inside the protected blocks will be lost.
    Now you can make a JATO 1.2 app appear in the Studio just like aJATO
    2.0 app by adding a jatoapp.xml file with the proper content and
    adjusting your web.xml properly, but it's much more work to getyour
    v1.2 ViewBeans and Models to show up like wizard created versions.
    Furthermore, even more work to get the display fields to show up
    visually.
    The good news is that v1.2 ViewBeans will work with newly wizard
    created ViewBeans. And if you do go through the trouble of making
    your ViewBeans Studio visible like your wizard created ViewBeans,
    adding new display fields visually will work along side yourmanually
    created fields.
    Try creating a new JATO app using the Studio wizards and then go to
    the Filesystems tab and look for the jatoapp.xml file and theweb.xml
    file.
    I am looking for an email that I have that explains how to do a
    partial, manual upgrade.
    Also, you will get rid of your JATO 1.2 jar and replace with theJATO
    2.0 jar in your lib dir.
    Hope this will suffice for now.
    craig
    --- In SunONE-JATO@y..., "vivanov4114" <vivanov@b...> wrote:
    JATO Team,
    First of all, thank you very much for the Studio integration. It
    looks very promising in terms of development time consumption,
    deployment to S1AS7, etc., etc. It is impossible to observe all
    advantages for so short period of time.
    The SOAF (JATO) 2.0 is installed on the top of the Sun ONE Studio4,
    update 1 (EE) with JDK 1.4 along with the Sun One ApplicationServer
    7 (W2000). Everything looks okay, at least all basic tasks listedin
    the "Getting Started" manual (project/view/model creation, basic
    db
    connection, running of a test application with the usage of the
    Studio's default Tomcat container, etc.) work proper.
    During the installation of S1AF module on the top of the Sun ONE
    Studio 4, update 1 (EE) I've got an invitation to convert the
    existing project to the new environment. As I realized the onlyJATO
    project integrated/created with Forte IDE is applicable for thisauto-
    conversion (please correct me, if I am wrong. It could solve a
    lot
    of
    my problems).
    Since we are using JBuilder5 IDE and our JATO 1.2 project is
    integrated with this IDE I manually re-created project in theStudio
    with its file structure, adjusted the project web.xml file, etc.This
    new project looks like a proper one (Studio recognize all
    methods,
    fields, bean patterns, e.g.) except at least one "small" thing.All
    java files (project viewBeans, Models, custom viewBeanHelpersa.k.a.
    pure java) came up with the same wizard image:java class. Stutiowith
    the S1AF module reserves the special images (and appropriate
    studio
    properties, of course!) for View and Model. Namely this allows tosee
    the following structure for a ViewBean, for example, in the
    Studio:
    Modules
    ProjectName.ModuleName
    FooViewBean
    JavaSource
    JSPs
    Non-Visual Components
    View Components
    On the other hand, I could add either new View or Model in my
    manually converted project and add any View Component or bind the
    Model fields, for example. Also, the ProjectModuleServlet hasbeen
    converted proper. I tried to convert each View/Model class insidethe
    Studio to its proper wizard image and failed. Addition of a View
    Components (with an appropriate code fragments) via the Studio or
    auto-binding of model fields is an essential part of 2.0 and
    should
    drastically speed up the development process as it is designed.
    Questions:
    1. What I missed in my manual conversion of 1.2 JATO project tothe
    SOAF (JATO) 2.0 realm? What should I correct in my JATO 1.2
    compatible classes (Views and Models) to be recognizable byStudio
    wizard (JATO 2.0)?
    To be more specific. Some deltas between JATO 1.2 and JATO 2.0are
    as
    follows (related to a ViewBean):
    ====++++++++++++++======
    JATO 1.2 viewBean extension upon creation:
    public class FooViewBeanViewBean extends ViewBeanBase
    implements ViewBean
    ========================
    JATO 2.0 (S1AF) version: viewBean extension upon creation:
    public class FooViewBean extends BasicBeanBase
    ====++++++++++++++======
    JATO 1.2 viewBean createChild(...) method for one static looks
    like:
    protected View createChild(String name)
    if (name.equals(CHILD_STATICTEXT1))
    StaticTextField child = new StaticTextField
    (this,
    getDefaultModel(),
    CHILD_STATICTEXT1,
    CHILD_STATICTEXT1,
    CHILD_STATICTEXT1_RESET_VALUE,
    null);
    return child;
    ========================
    JATO 2.0 (S1AF) version: viewBean createChild(...) is renamed(as
    a least) to createChildReserved(...):
    protected View createChildReserved(String name) {
    if (name.equals(CHILD_STATICTEXT1)) {
    com.iplanet.jato.view.BasicDisplayField child =
    new com.iplanet.jato.view.BasicDisplayField(this,
    STATICTEXT1);
    return child;
    ====++++++++++++++======
    JATO 1.2 viewBean registerChildren() method for the basic field
    types looks like:
    private void registerChildren() {
    registerChild(CHILD_STATICTEXT1,
    StaticTextField.class);
    registerChild(CHILD_TEXTFIELD1, TextField.class);
    registerChild(CHILD_BUTTON1, Button.class);
    ========================
    JATO 2.0 (S1AF) version: viewBean registerChildren() method:
    private void registerChildren() {
    registerChild(CHILD_STATICTEXT1,
    com.iplanet.jato.view.BasicDisplayField.class);
    registerChild(CHILD_TEXTFIELD1,
    com.iplanet.jato.view.BasicDisplayField.class);
    registerChild(CHILD_BUTTON1,
    com.iplanet.jato.view.BasicCommandField.class);
    Is it correct to say that all existing custom Views/Models
    (compatible with JATO 1.2) should be converted to their JATO 2.0
    variants to be visible by the Studio?
    On the other hand, fast overview of 2.0 API shows that the JATO1.2
    is a sub-set of the 2.0 (BasicViewBean extends ViewBeanBase, for
    example). What exactly (only deprecated methods?) should beadjusted
    in the project code (1.2), if necessary, to be visible by Studio
    as
    a
    View or Model component?
    2. Where it is possible to find the list of deprecated methods(from
    JATO 1.2 to JATO 2.0 versions). It is difficult sometimes tocompare
    two versions of API docs (1.2 and 2.0) or compare logs between
    versions. Also, JATO 2.0 is significantly larger than 1.2
    version.
    If
    the later obviously inherits the ND conversion stage (via the
    previous versions), the former obviously has additions incomingfrom
    the integration with the Studio (a.k.a. Forte 4.0).
    3. What is the current/future Sun/JATO Team policy with regards
    to
    JATO source code access (version 2.0, at least)? The reason ofthis
    question is as follows: in order to display dates formatted onthe
    screens we adjusted a couple of JATO 1.2 core classes, forexample.
    The only minimal, absolutely necessary changes in JATO 1.2 wasmade,
    but anyway...
    Sorry for so long multiple question. As Todd wrote in his
    announcement mail: "We think you will be very pleased with the
    new
    product...". This is exciting moment, I believe, for JATO Team as
    well as for any team involved into the conversion of the fullsize
    application/product from ND to J2EE realm with the JATO as
    an application framework (1.0, 1.1.x, 1.2.X, and 2.0 finally).The
    last step is left in this spiral process to enjoy the ND_Studio
    attractive features in the open source environment.
    Thank you very much in advance.
    Vladimir IvanovTo download the latest version of JATO, please visit:
    http://www.sun.com/software/download/developer/5102.html
    For more information about JATO, please visit:
    http://developer.iplanet.com/tech/appserver/framework/index.jsp
    [Non-text portions of this message have been removed]

  • Custom JATO components

    hi ...
    i have just about started using jato in conjunction with S1Studio
    and find it a real great asset ...
    we are trying to build custom jato components which can be packaged
    into a jar file and used like any other standard jato component ...
    e.g. i have developed this date component which is basically a
    composition of 3 comboboxes - one each for m/d/y ...
    to render these 3 comboboxes i have a "date" tag (DateTag.java)
    which basically includes a file Date.jsp in the parent jsp - the
    contents of Date.jsp:
    <jato:pagelet>
    <jato:combobox name="month"/>
    <jato:combobox name="day"/>
    <jato:combobox name="year"/>
    </jato:pagelet>
    The problem with this approach is that I can't package a JSP in a
    jar since the web server would not be able to determine the path to
    the jsp ...
    Can any of u direct me here? ... Also, if u have an example of a
    similar packaged custom jato component - that'd be of great help!
    thanks much,
    keyur

    Thanks Craig ... but Somehow this didnt work - maybe I didnt follow
    the steps correctly ... here is what i did:
    the jar file -> date.jar
    date.jar has .class files arranged according to their package
    names ..
    there's also the "COMP-INF" directory ...
    in addition to these - i added another folder called "webapp" ...
    and within "webapp" i housed the JSPs ...
    i then copied date.jar to <context root>/WEB-INF/lib folder and
    started the server ...
    however, the web server didn't extract out the JSPs ... did i go
    wrong somewhere? .... am i to do something other than this - like
    create the jar with some special parameter or change some
    configuration in the server?
    thanks!
    keyur
    --- In SunONE-JATO@y..., "Craig V. Conover" <craig.conover@s...>
    wrote:
    Keyur,
    You are in luck. There is a way to bundle the JSPs (or any web resources
    like images and other jar's) in the component jar file so that the tool
    will expand them properly into your web application's doc root.
    It's not officially documented yet, as is the case with creating
    components in general, but here's what you do:
    You have the ability to extract arbitrary files from a component library jar file into the web app's file system. This allows
    libraries to automatically unpack files like additional jars,
    images, pagelets, etc. All that's needed to take advantage of this
    new feature is to create a hierarchy of files in the complib under
    a "webapp" directory (off the root). The files under that directory
    will then be automatically extracted into the web context's
    filesystem.
    >
    For example:
    /webapp/test/foo.html
    will extract to
    <context root>/test/foo.html
    and the following
    /webapp/WEB-INF/lib/foo.jar
    will extract to
    <context root>/WEB-INF/lib/foo.jar
    Anything not under the "webapp" dir in the component jar file will stay packaged in the jar file.
    >
    Does that make sense?
    craig
    Keyur Shah wrote:
    hi ...
    i have just about started using jato in conjunction with S1Studio
    and find it a real great asset ...
    we are trying to build custom jato components which can be
    packaged
    into a jar file and used like any other standard jato component ...
    >>
    e.g. i have developed this date component which is basically a
    composition of 3 comboboxes - one each for m/d/y ...
    to render these 3 comboboxes i have a "date" tag (DateTag.java)
    which basically includes a file Date.jsp in the parent jsp - the
    contents of Date.jsp:
    <jato:pagelet>
    <jato:combobox name="month"/>
    <jato:combobox name="day"/>
    <jato:combobox name="year"/>
    </jato:pagelet>
    The problem with this approach is that I can't package a JSP in a
    jar since the web server would not be able to determine the path to
    the jsp ...
    Can any of u direct me here? ... Also, if u have an example of a
    similar packaged custom jato component - that'd be of great help!
    thanks much,
    keyur
    To download the latest version of JATO, please visit:
    http://www.sun.com/software/download/developer/5102.html
    For more information about JATO, please visit:
    http://developer.iplanet.com/tech/appserver/framework/index.jsp
    Service

  • RE: [SunONE-JATO] handle...Request() - in different TiledView?

    I need probably to reorder Parent-Child relationships,
    I have now
    - ViewBean
    ---MenuItemsTiledView.class
    ---OrderCacheTiledView.class
    ---Button.class (append)
    I will try to have
    - ViewBean
    ---MenuItemsTiledView.class
    ------OrderCacheTiledView.class
    ---------Button.class (append)
    And I will have to change:
    <jato:tiledView name="MenuItems"
    <jato:tiledView name="OrderCache"
    <go method="post" href="<%=response.encodeURL
    ("../member/MenuItems") %>">
    <postfield name="MenuItems.append" value=""/>
    <postfield name="MenuItems.menuItemId"
    value="<jato:getDisplayFieldValue
    name='MenuItemId'/>" />
    </go>
    I think it is strict rule to have the same parent-child relationships in
    JSP like as in classes
    May I have more freedom like as with <jato:text name="...">, where name
    could be relative (to parent, to container), absolute?
    Fuad
    -----Original Message-----
    From: Fuad Efendi [mailto:<a href="/group/SunONE-JATO/post?protectID=230075113150035198105038066208231165163158211254234113172006048205015246">fuad.efendi@s...</a>]
    Sent: Friday, May 17, 2002 12:02 PM
    Subject: [SunONE-JATO] handle...Request() - in different TiledView?
    Hello,
    I use ViewBean, and two child TiledViews (WML sample).
    <jato:tiledView name="TiledView1"
    type="mobiledb.member.MenuItemsTiledView">
    <go method="post" href="<%=
    response.encodeURL("../member/MenuItems") %>">
    <postfield name="MenuItems.append" value=""/>
    <postfield name="MenuItems.menuItemId"
    value="<jato:getDisplayFieldValue name='MenuItemId'/>" />
    </go>
    I think, "handleAppendRequest()" will work within TiledView1 (I didn't
    try yet, I have this handler in ViewBean).
    But, logically, better place for it is TiledView2 which contains cached
    appended records...
    I can have handler in ViewBean redirecting into TiledView2 of course,
    What is the best way?
    Thanks,
    Fuad
    To download the latest version of JATO, please visit:
    http://www.sun.com/software/download/developer/5102.html
    For more information about JATO, please visit:
    http://developer.iplanet.com/tech/appserver/framework/index.jsp
    [Non-text portions of this message have been removed]

    Sorry for mistake with index,
    <postfield name="MyJspPage.MyTiledView[2].Append" value=""/>
    -----Original Message-----
    From: Fuad Efendi [mailto:<a href="/group/SunONE-JATO/post?protectID=230075113150035198105038066208231165163158211254234113172006048205015246">fuad.efendi@s...</a>]
    Sent: Saturday, May 18, 2002 12:42 PM
    Subject: RE: [SunONE-JATO] handle...Request() - in different TiledView?
    OK, I solved it (for WML),
    If I use "virtual buttons" on JSP page (within <jato:tiledView.../>
    tag), and this buttons are child of MyTiledView class (which is child of
    MyViewBean), I can use
    <postfield name="MyJspPage.MyTiledView.Append[2]" value=""/>
    for emulation of button.
    I don't use MyViewBean.MyTiledView.Append[2]!
    Next step: I have to understand what to do with index in
    MyTiledView.handleAppendRequest... Code seems harder than putting Button
    and Handler in main MyViewBean...
    [Non-text portions of this message have been removed]

  • Re: [iPlanet-JATO] Re: Retrieving all Values from a Tiled View

    Todd,
    Let me try to explain you this time. I have a text field in a TiledViewBean.
    When I display the page, the text field
    html tag is created with the name="PageDetail.rDetail[0].tbFieldName" say
    five times/rows with same name.
    The html tags look like this.
    <input type=text name="PageDetail.rDetail[0].tbFieldName" value=""
    maxlength=9 size=13>
    <input type=text name="PageDetail.rDetail[0].tbFieldName" value=""
    maxlength=9 size=13>
    <input type=text name="PageDetail.rDetail[0].tbFieldName" value=""
    maxlength=9 size=13>
    When the form is submitted, I want to get the text field values using the
    method getTbFieldName().getValues() which
    returns an array object[]. This is in case where my TiledViewBean is not
    bound and it is working fine.
    Now in case when my TiledView is bound to a model, it creates the html tags
    as follows.
    <input type=text name="PageDetail.rDetail[0].tbFieldName" value=""
    maxlength=9 size=13>
    <input type=text name="PageDetail.rDetail[1].tbFieldName" value=""
    maxlength=9 size=13>
    <input type=text name="PageDetail.rDetail[2].tbFieldName" value=""
    maxlength=9 size=13>
    Now when I say getTbFieldName().getValues() it returns only the first
    element values in the object[] and the rest of the
    values are null.
    May be we need to create a utility method do get these values from
    requestContext.
    raju.
    ----- Original Message -----
    From: Todd Fast <toddwork@c...>
    Sent: Saturday, July 07, 2001 3:52 AM
    Subject: Re: [iPlanet-JATO] Re: Retrieving all Values from a Tiled View
    Raju.--
    I wanted to know how the getValues() method works the reason being,
    when the tiled view is NOT bound to a model, it populates all the
    fields with the same name as some thing likeI'm afraid I don't understand your point--can you please clarify? Do you
    mean "value" instead of "name"?
    What are you trying to do? What behavior are you expecting but notseeing?
    >
    Without further clarification, I can say that the setValues() methodsNEVER
    populates data on multiple rows of a (dataset) model, nor does it affect
    multiple fields on the same row. Perhaps what you are seeing is theeffect
    of default values. Model that derive from DefaulModel have the ability to
    carry forward the values set on the first row to other rows in lieu ofdata
    in those other rows. This behavior is for pure convenience and can be
    turned off, and it is turned off for the SQL-based models.
    Todd
    [email protected]

    Hi,
    I wanted to know how the getValues() method works the reason being,
    when the tiled view is NOT bound to a model, it populates all the
    fields with the same name as some thing like
    PageDetail.rDetail[0].tbFieldValue
    PageDetail.rDetail[0].tbFieldValue
    in which case, the getValues() method works fine.
    But in case where the tiled view is bound to a model, it populates
    with different field names such as,
    PageDetail.rDetail[0].tbFieldValue
    PageDetail.rDetail[1].tbFieldValue
    in this case, the getValues() doesn't work. Any soultion to this?
    We are using Moko 1.1.1.
    thanks in advance,
    raju.
    --- In iPlanet-JATO@y..., "Todd Fast" <toddwork@c...> wrote:
    Does anyone know of is there a single method to get all values of a
    display
    field in a tiled view without having to iterate through all the
    values ie
    resetTileIndex() / nextTile() approach.
    ie Something that returns an Object[] or Vector just like ND returned a
    CspVector. I tried using the getValues() methods but that allways returns
    a
    single element array containing the first element.
    (I think now, that method is used for multi selecteable ListBoxes)Actually, no. We can add this in the next patch, but for now, I'd recommend
    creating a simple utility method to do the iteration on an arbitrary model
    and build the list for you.
    Todd

  • Re: [iPlanet-JATO] Retrieving all Values from a Tiled View

    Does anyone know of is there a single method to get all values of adisplay
    field in a tiled view without having to iterate through all the values ie
    resetTileIndex() / nextTile() approach.
    ie Something that returns an Object[] or Vector just like ND returned a
    CspVector. I tried using the getValues() methods but that allways returnsa
    single element array containing the first element.
    (I think now, that method is used for multi selecteable ListBoxes)Actually, no. We can add this in the next patch, but for now, I'd recommend
    creating a simple utility method to do the iteration on an arbitrary model
    and build the list for you.
    Todd

    Hi,
    I wanted to know how the getValues() method works the reason being,
    when the tiled view is NOT bound to a model, it populates all the
    fields with the same name as some thing like
    PageDetail.rDetail[0].tbFieldValue
    PageDetail.rDetail[0].tbFieldValue
    in which case, the getValues() method works fine.
    But in case where the tiled view is bound to a model, it populates
    with different field names such as,
    PageDetail.rDetail[0].tbFieldValue
    PageDetail.rDetail[1].tbFieldValue
    in this case, the getValues() doesn't work. Any soultion to this?
    We are using Moko 1.1.1.
    thanks in advance,
    raju.
    --- In iPlanet-JATO@y..., "Todd Fast" <toddwork@c...> wrote:
    Does anyone know of is there a single method to get all values of a
    display
    field in a tiled view without having to iterate through all the
    values ie
    resetTileIndex() / nextTile() approach.
    ie Something that returns an Object[] or Vector just like ND returned a
    CspVector. I tried using the getValues() methods but that allways returns
    a
    single element array containing the first element.
    (I think now, that method is used for multi selecteable ListBoxes)Actually, no. We can add this in the next patch, but for now, I'd recommend
    creating a simple utility method to do the iteration on an arbitrary model
    and build the list for you.
    Todd

  • Re: [SunONE-JATO] How to Access methods in the MainAppServletBase class from a view bean

    OK, fair enough.
    Look at the ServletConfig class.
    c
    Purvashada wrote:
    >
    We had that option. We decided against the
    property files as we can get this dynamically.
    There has been problems when this property
    was set incorrectly at the time of installation.
    Are there any api's to get the servername and
    port number other than through request object..
    --- "Craig V. Conover" <craig.conover@s...> wrote:
    So I guess my question is, why do you need a user
    request to get this
    information?
    You should be able to get this info when the
    application is started up,
    from a props file.
    Does this info change from day to day? If not, why
    not create a props
    file on the machine that the app is running that has
    this info?
    Then in the servlet's init method, read this prop
    file.
    Does that work for you? Not sure how a user request
    is needed to
    determine this? If it is, please explain.
    I have used this same technique for database
    properties (servername,
    instance name, uid, pwd, etc).
    On the QA machine was the properties that pointed to
    the QA database,
    and on the Production machine, the property file
    with the same name had
    props that pointed to the Production database.
    craig
    Purvashada wrote:
    It is a static data that is same for all theusers.
    It is application level data but generateddynamically
    to get the server name and the port number the appis
    running on..
    Thanks
    --- "Craig V. Conover" <craig.conover@s...>wrote:
    OK, so how does doing this only once help you.
    Wouldn't you need to do
    this for each individual end user?
    I'm not suggesting that this is request scoped,but
    maybe session scoped.
    If so, then do this in the module servlet's
    onNewSession event.
    If this is per user, then storing it staticallyis
    problematic because
    all users will be using the same data which Idon't
    think you want.
    Let me know if my assumptions are correct.
    craig
    Purvashada wrote:
    Basically, I need to pass the host url/request
    url
    to
    another server which then posts the results
    back to this server.
    I need to get the host url dynamically.
    This is what I am doing in my code to
    get the host url..
    URL =req.getScheme() + "://" +
    req.getServerName()
    +
    ":" + req.getServerPort();
    Thanks
    --- "Craig V. Conover" <craig.conover@s...>wrote:
    Correct, that is a per request event.
    Sounds like we need to figure out a newapproach.
    Please elaborate on your requirements for
    doing
    whatever it is you require.
    Maybe we can suggest an alternative, orperhaps
    reveal that it may not
    be necessary after all.
    craig
    Purvashada wrote:
    I had added this code in the
    initializeRequestContext(..)
    Hoping it would be called once.
    It looks like it is called for every
    request.
    HttpServletRequest req =requestContext.getRequest();
    setActionURL(req);
    If I add the code in the init() method
    how can I get the HttpServletRequest
    getRequest()
    Thanks
    --- "Craig V. Conover"
    <craig.conover@s...>
    wrote:
    cool.
    Be careful about how you update this URL
    when
    you
    use setURL method.
    The servlets in JATO are the only shared
    (Application scope rather than
    Request scope like ViewBeans and
    Models),
    and
    that
    you could potentially
    have sync/multithread issues. You said
    you
    were
    only
    updating once at
    the start of the App, so you should be
    fine.
    I
    assume you are doing this
    from an init method or init event in theservlet
    class? If so, no worries.
    Also, just to be sure everyone follows,
    I am
    not
    suggesting that you
    write syncronize code in the servlets asthis
    will
    be a potential bottle
    neck in your app's scalibility. This is
    not
    a
    JATO
    shortcoming as there
    are alternatives to do this sort of
    coding.
    craig
    Purvashada wrote:
    I made the method static and is
    accessible..
    --- "Craig V. Conover"<craig.conover@s...>
    wrote:
    I would assume it is a static
    method, so
    just
    do:
    MainAppServletBase.getURL()
    right?
    If not static, it probably should
    be. If
    you
    feel it
    should not be
    static, let us know why/what your
    requirements
    are.
    >
    === message truncated ===
    To download the latest version of S1AF (JATO), please visit one of the
    following locations:
    Framework + IDE plugin for Sun ONE Studio 4 Update 1, Community Edition:
    http://wwws.sun.com/software/download/products/Appl_Frmwk_2.0_CE.html
    Framework + IDE pluign for Sun ONE Studio 4 Update 1, Enterprise Edition:
    http://wwws.sun.com/software/download/products/Appl_Frmwk_2.0_EE.html
    Previous versions of JATO:
    http://www.sun.com/software/download/developer/5102.html

    OK, fair enough.
    Look at the ServletConfig class.
    c
    Purvashada wrote:
    >
    We had that option. We decided against the
    property files as we can get this dynamically.
    There has been problems when this property
    was set incorrectly at the time of installation.
    Are there any api's to get the servername and
    port number other than through request object..
    --- "Craig V. Conover" <craig.conover@s...> wrote:
    So I guess my question is, why do you need a user
    request to get this
    information?
    You should be able to get this info when the
    application is started up,
    from a props file.
    Does this info change from day to day? If not, why
    not create a props
    file on the machine that the app is running that has
    this info?
    Then in the servlet's init method, read this prop
    file.
    Does that work for you? Not sure how a user request
    is needed to
    determine this? If it is, please explain.
    I have used this same technique for database
    properties (servername,
    instance name, uid, pwd, etc).
    On the QA machine was the properties that pointed to
    the QA database,
    and on the Production machine, the property file
    with the same name had
    props that pointed to the Production database.
    craig
    Purvashada wrote:
    It is a static data that is same for all theusers.
    It is application level data but generateddynamically
    to get the server name and the port number the appis
    running on..
    Thanks
    --- "Craig V. Conover" <craig.conover@s...>wrote:
    OK, so how does doing this only once help you.
    Wouldn't you need to do
    this for each individual end user?
    I'm not suggesting that this is request scoped,but
    maybe session scoped.
    If so, then do this in the module servlet's
    onNewSession event.
    If this is per user, then storing it staticallyis
    problematic because
    all users will be using the same data which Idon't
    think you want.
    Let me know if my assumptions are correct.
    craig
    Purvashada wrote:
    Basically, I need to pass the host url/request
    url
    to
    another server which then posts the results
    back to this server.
    I need to get the host url dynamically.
    This is what I am doing in my code to
    get the host url..
    URL =req.getScheme() + "://" +
    req.getServerName()
    +
    ":" + req.getServerPort();
    Thanks
    --- "Craig V. Conover" <craig.conover@s...>wrote:
    Correct, that is a per request event.
    Sounds like we need to figure out a newapproach.
    Please elaborate on your requirements for
    doing
    whatever it is you require.
    Maybe we can suggest an alternative, orperhaps
    reveal that it may not
    be necessary after all.
    craig
    Purvashada wrote:
    I had added this code in the
    initializeRequestContext(..)
    Hoping it would be called once.
    It looks like it is called for every
    request.
    HttpServletRequest req =requestContext.getRequest();
    setActionURL(req);
    If I add the code in the init() method
    how can I get the HttpServletRequest
    getRequest()
    Thanks
    --- "Craig V. Conover"
    <craig.conover@s...>
    wrote:
    cool.
    Be careful about how you update this URL
    when
    you
    use setURL method.
    The servlets in JATO are the only shared
    (Application scope rather than
    Request scope like ViewBeans and
    Models),
    and
    that
    you could potentially
    have sync/multithread issues. You said
    you
    were
    only
    updating once at
    the start of the App, so you should be
    fine.
    I
    assume you are doing this
    from an init method or init event in theservlet
    class? If so, no worries.
    Also, just to be sure everyone follows,
    I am
    not
    suggesting that you
    write syncronize code in the servlets asthis
    will
    be a potential bottle
    neck in your app's scalibility. This is
    not
    a
    JATO
    shortcoming as there
    are alternatives to do this sort of
    coding.
    craig
    Purvashada wrote:
    I made the method static and is
    accessible..
    --- "Craig V. Conover"<craig.conover@s...>
    wrote:
    I would assume it is a static
    method, so
    just
    do:
    MainAppServletBase.getURL()
    right?
    If not static, it probably should
    be. If
    you
    feel it
    should not be
    static, let us know why/what your
    requirements
    are.
    >
    === message truncated ===
    To download the latest version of S1AF (JATO), please visit one of the
    following locations:
    Framework + IDE plugin for Sun ONE Studio 4 Update 1, Community Edition:
    http://wwws.sun.com/software/download/products/Appl_Frmwk_2.0_CE.html
    Framework + IDE pluign for Sun ONE Studio 4 Update 1, Enterprise Edition:
    http://wwws.sun.com/software/download/products/Appl_Frmwk_2.0_EE.html
    Previous versions of JATO:
    http://www.sun.com/software/download/developer/5102.html

  • Re: [iPlanet-JATO] Sorting a resultset

    Steve,
    Todd will probably address this more, but to set the stage for the discussion,
    I will chime in. As per your scenario "say a user wants to resort the results
    by some other column" , I think there needs to be some clarification on the
    life cycle of the model. You scenario implies that the user sees the data and
    then submits a request to sort the data. This implies that the access to the
    same data is spread across two HTTP requests.
    Unless explicitly or implicitly stored in session, the Model is a per request
    object. Therefore, under ordinary circumstances a new instance of Model is
    constructed per request and populated as needed. This is done for scalability
    reasons. Most applications would not scale properly if all model instances were
    kept around in session per user. There is also the issue of data integrity, a
    model stored in session may not reflect the current state of the RDBMS from
    which the data was previously retrieved, perhaps minutes before. So, the
    default action is to instantiate a new model and repopulate that model The
    normal solution would be to apply the sort criteria to the data retrieval at
    that point.
    What I described above is the norm and the default.
    If you have compelling reasons to prefer a single retrieval style, you have to
    be prepared to store the Model data in session. There are several methods
    within the ModelManager class which assist in this regard. You can see them
    described in the java doc.
    Also bear in mind that the SQLModelBase typically copies the data from the JDBC
    result set into JATO specific local storage. This is done because the JDBC
    result set is not as flexible as developer needs and requires the JDBC
    connection to remain open while it is used.
    I suspect that Todd will describe how you can manipulate the underlying JATO
    specific local storage to change the order. I just wanted to make sure you
    understood the life cycle issues involved and had justification for deviating
    from the default.
    Also, I'm still waiting for followup on the defaultCommandChild issue - we'd
    like to fix it for JATO 1.2.1 if it is a problem and so far your case is the
    only one we have heard of.
    ----- Original Message -----
    From: stephen_winer
    Sent: Wednesday, December 12, 2001 9:42 AM
    Subject: [iPlanet-JATO] Sorting a resultset
    If I want to sort a result set (Model) after the search has taken
    place (say a user wants to resort the results by some other column),
    can this be done without issuing another query? The reason I ask is
    that the next() method in the ResultSetModelBase calls synchronizeRow
    (), which resets the row, which sounds like a sort done outside of
    the SQL would be reverted.
    Steve
    For more information about JATO, please visit:
    http://developer.iplanet.com/tech/appserver/framework/index.jsp
    [Non-text portions of this message have been removed]

    The hidden field was present in the page, but it looked like this:
    <input type="hidden" name="jato.defaultCommand" value=""../search"">
    Seems like there is a small bug in the code generating this tag.
    FYI - I am using JATO1.2
    What file displays this text? Maybe I can go in and fix it and rejar
    it.
    Steve
    --- Mike Frisino wrote:
    Steve,
    Can you check the HTML source that shows up in the browser? Do you see an entry that looks like this at the bottom of the form in
    question?
    >
    <input type="hidden" name="jato.defaultCommand" value="/search">
    To answer your question - it should work as you described. Some of the JatoSample make use of the defaultCommandChild. Can you try
    running the sample BasicSample->Field Types and let us know what you
    see.
    >
    Failing this you can send me your jsp file , maybe there is some subtle issue there. michael.frisino@s...
    >
    >
    ----- Original Message -----
    From: stephen_winer
    Sent: Friday, December 07, 2001 8:05 AM
    Subject: [iPlanet-JATO] Using the defaultCommandChild in a form
    I am trying to set the defaultCommandChild in my jato:form tag to be
    the searcg button. The search button definition is:
    <jato:button name="search"/>.
    The form tag definition is:
    <jato:form name="PendingIA" defaultCommandChild="/search">
    Clicking on the search button works fine, but hitting return in one
    of the textFields (which submits the form) passes a value of "" to
    the createChild method in my viewBean, which throws an error. Why
    does this not just work as normal and trigger the handleSearchRequest
    () method?
    Steve
    For more information about JATO, please visit:
    http://developer.iplanet.com/tech/appserver/framework/index.jsp
    Service.
    >
    >
    >
    [Non-text portions of this message have been removed]

  • Re: [SunONE-JATO] How to use a tiled view without a model

    John,
    Check out the docs for DefaultModel. There is an appendRow() method.
    So get your tiledview's primary model (the tiledview's primary model
    should be set to use an instance of DefaultModel), model.appendRow(),
    then model.setValue("fieldname", value) for each value.
    Rinse, repeat as needed.
    c
    jhoskins wrote:
    I would like to use a tiled view, but populate the fields manually.
    Any pointers about where I can set the size of the tiled view? I tried
    setMaxDisplayTiles() in the beginDisplay, but it won't get down and
    generate the rows.
    John Hoskins
    To download the latest version of JATO, please visit:
    http://www.sun.com/software/download/developer/5102.html
    For more information about JATO, please visit:
    http://developer.iplanet.com/tech/appserver/framework/index.jsp

    Craig,
    Thanks for the pointers. I ended up doing something else. I set the
    models setSize() method to set the max size, and as the tiles fields
    iterated, populated the value from some vectors I had the data in
    already. Is this solution fraught with peril and will ultimately fail,
    or should I try your way?
    John
    --- "Craig V. Conover" wrote:
    John,
    Check out the docs for DefaultModel. There is an appendRow() method.
    So get your tiledview's primary model (the tiledview's primary model
    should be set to use an instance of DefaultModel), model.appendRow(),
    then model.setValue("fieldname", value) for each value.
    Rinse, repeat as needed.
    c
    jhoskins wrote:
    I would like to use a tiled view, but populate the fields manually.
    Any pointers about where I can set the size of the tiled view? I tried
    setMaxDisplayTiles() in the beginDisplay, but it won't get down and
    generate the rows.
    John Hoskins
    To download the latest version of JATO, please visit:
    http://www.sun.com/software/download/developer/5102.html
    For more information about JATO, please visit:
    http://developer.iplanet.com/tech/appserver/framework/index.jsp

  • Re: [SunONE-JATO] Re: How to use a tiled view without a model

    I'm not sure what is different for you now. You still parse the string
    and put it into a data structure. Before the data structure was a
    vector, in JATO its just a model with a "hidden" data structure (a hash
    map).
    MVC only really comes into play when you talk about where your write
    this code, and where the data structure is being stored. So really, JATO
    takes care of half of the MVC'ness of it all (where the data is store).
    You just decide where to be the code to populate the model.
    Make sense?
    Is there something different required of you in JATO in this scenario
    that I am not grasping?
    c
    Hoskins, John D. wrote:
    Thanks for the feedback.
    The problem I was solving involved a single string, which contained
    delimited subsets of information.
    The string looked like
    this:"time|analyst|description|time|analyst|description|..."
    In ND, I parsed it apart into it's components (time vector, analyst vector,
    description vector), populated the repeated.
    With JATO, how would I make a model for something that doesn't have a
    database component like this?
    I'm pretty new to this MVC thing, so bear with me.
    John D. Hoskins
    Telephone & Data Systems
    Application Development & Support
    Voice: 608.664.8263
    Fax: 608.664.8288
    Email: john.hoskins@t...
    -----Original Message-----
    From: Craig V. Conover [mailto:<a href="/group/SunONE-JATO/post?protectID=219212113009229091025149066024064239039098031198039130252055210">craig.conover@s...</a>]
    Sent: 6/26/2002 3.22 PM
    Subject: Re: [SunONE-JATO] Re: How to use a tiled view without a model
    I guess the only thing "weird" (for lack of a better term) about what
    you are doing is that your are populating the model on the "display
    cycle". Typically, the cycle goes like this:
    Request -> populate model -> update data store -> retrieve data to
    populate model -> display data
    some of the above steps are optional but hopefully you get the point I
    am making.
    So what you are doing is:
    Request -> populate model/display data
    If it works for you, then it's not necessarilly wrong. But I would
    probably have my model populated before I forwarded to the target
    (displaying view bean) or at a minimum, in the begin display event of
    the view bean or the tiled view, but not during the iteration of the
    tiled view.
    c
    jhoskins wrote:
    Craig,
    Thanks for the pointers. I ended up doing something else. I set the
    models setSize() method to set the max size, and as the tiles fields
    iterated, populated the value from some vectors I had the data in
    already. Is this solution fraught with peril and will ultimately fail,
    or should I try your way?
    John
    --- Craig V. Conover wrote:
    John,
    Check out the docs for DefaultModel. There is an appendRow() method.
    So get your tiledview's primary model (the tiledview's primary model
    should be set to use an instance of DefaultModel), model.appendRow(),
    then model.setValue("fieldname", value) for each value.
    Rinse, repeat as needed.
    c
    jhoskins wrote:
    I would like to use a tiled view, but populate the fields manually.
    Any pointers about where I can set the size of the tiled view? I tried
    setMaxDisplayTiles() in the beginDisplay, but it won't get down and
    generate the rows.
    John Hoskins
    To download the latest version of JATO, please visit:
    http://www.sun.com/software/download/developer/5102.html
    For more information about JATO, please visit:
    http://developer.iplanet.com/tech/appserver/framework/index.jsp
    To download the latest version of JATO, please visit:
    http://www.sun.com/software/download/developer/5102.html
    For more information about JATO, please visit:
    http://developer.iplanet.com/tech/appserver/framework/index.jsp
    To download the latest version of JATO, please visit:
    http://www.sun.com/software/download/developer/5102.html
    For more information about JATO, please visit:
    http://developer.iplanet.com/tech/appserver/framework/index.jsp
    To download the latest version of JATO, please visit:
    http://www.sun.com/software/download/developer/5102.html
    For more information about JATO, please visit:
    http://developer.iplanet.com/tech/appserver/framework/index.jsp

    Craig,
    Thanks for the pointers. I ended up doing something else. I set the
    models setSize() method to set the max size, and as the tiles fields
    iterated, populated the value from some vectors I had the data in
    already. Is this solution fraught with peril and will ultimately fail,
    or should I try your way?
    John
    --- "Craig V. Conover" wrote:
    John,
    Check out the docs for DefaultModel. There is an appendRow() method.
    So get your tiledview's primary model (the tiledview's primary model
    should be set to use an instance of DefaultModel), model.appendRow(),
    then model.setValue("fieldname", value) for each value.
    Rinse, repeat as needed.
    c
    jhoskins wrote:
    I would like to use a tiled view, but populate the fields manually.
    Any pointers about where I can set the size of the tiled view? I tried
    setMaxDisplayTiles() in the beginDisplay, but it won't get down and
    generate the rows.
    John Hoskins
    To download the latest version of JATO, please visit:
    http://www.sun.com/software/download/developer/5102.html
    For more information about JATO, please visit:
    http://developer.iplanet.com/tech/appserver/framework/index.jsp

Maybe you are looking for

  • Selling Exchange rate type is not picking while billing

    Hi, We have maintained Exchange rate type B for selling and the same was assigned in customer master as well as the RV document type. While raising sale order system is picking the B rate from OB08 table, but at the time of billing system is taking t

  • Assumption of Liability Process

    Just curious how this goes. Looking on ebay at plans and there are many claiming to do a AOL and keep unlimited data. I'm sure it can be done but verizon states it can make you change to the share plans when doing so. Anyone had problems keeping ther

  • XL Reporter working on W Vista OS

    Hi, I am wondering if somebody was able to make XL Reporter work properly under Windows Vista OS (Personaly I have W Vista Ultimate 64x). I don't know when (if) SAP plans to make XL Reporter compatible with Vista and Office 2007. In my case, having S

  • Cumulative and levels

    Hi, I am a bit confused about cumulative and levels. When I backup using RMAN, and specify incremental cumulative with level = 2 every day, am I not backing everything that has changed since level 0 (or a full backup done over weekend) every day?. Wh

  • Access key error for ABAP  user in Development

    Hi, I am getting the following error while entering the development access key for Development client 103