Re: [iPlanet-JATO] Null values in Callable Statements

Kostas--
We have observed null pointer Exception when when executing Stored
Proc Models with a null parameter value.By the way, I've made the change that you suggested in your post back on the
21st and it will be in an upcoming release. I've changed line 472 of
StoredProcModelBase.java from this:
if (value==null || UNILATERALLY_REGISTER_INPUT_TYPE)
statement.setObject(i+1,value,descriptors.getSQLType());
else
statement.setObject(i+1,value);
to this:
if (value==null)
statement.setNull(i+1,descriptors[i].getSQLType());
else
if (UNILATERALLY_REGISTER_INPUT_TYPE)
statement.setObject(i+1,value,descriptors[i].getSQLType());
else
statement.setObject(i+1,value);
Thanks for the info, and keep 'em coming!
Todd
Todd Fast
Senior Engineer
Sun/Netscape Alliance
todd.fast@e...

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

Similar Messages

  • How to eliminate NULL values from case statement?

    I have the following query where I am trying to eliminate the NULL record.  How can I do this?  My query:
    select
    AttendedSchoolLast3Months = case
    when d.scrnval_id = 'AA5639E4-E60C-473F-9B72-354472C11F5B' and d.picklist_value = 'BC349A1E-65A1-4497-A38A-116C83B2028F' then 2 --No
    when d.scrnval_id = 'AA5639E4-E60C-473F-9B72-354472C11F5B' and d.picklist_value = 'A529C643-60A7-4D79-AC67-1A8F70791934' then 1 --Yes
    end
    From [evolv_cs].[dbo].[test_header] [test_header_rv] WITH (NOLOCK)
    CROSS APPLY [dbo].[fn_getTestSetupFormDetails](null, [test_header_rv].[test_setup_header_id]) AS [test_header]
    CROSS APPLY [dbo].[fn_getTestSetupFormDetails]([test_header].[test_setup_details_id], null) AS [test_details]
    JOIN [evolv_reports].[dbo].[test_details_answers_expanded_view] d WITH (NOLOCK) ON
    [test_header_rv].[test_header_id] = d.[test_header_id]
    AND [test_details].[test_setup_details_id] = d.[test_setup_details_id]
    join [user_defined_lut_rv] udl1 with(nolock) on udl1.[user_defined_lut_id] = d.picklist_value
    join people_rv p (nolock) on d.people_id = p.people_id
    where d.actual_date between '9/1/13' and '9/30/13'
    and d.people_id = '7A9ACEE4-ABD5-4905-A54E-659A81048A1A'
    And the result currently is:
    AttendedSchoolLast3Months
    1
    NULL
    When I ran this query:
    select distinct --attendedschoollast3months
    d.*
    From [evolv_cs].[dbo].[test_header] [test_header_rv] WITH (NOLOCK)
    CROSS APPLY [dbo].[fn_getTestSetupFormDetails](null, [test_header_rv].[test_setup_header_id]) AS [test_header]
    CROSS APPLY [dbo].[fn_getTestSetupFormDetails]([test_header].[test_setup_details_id], null) AS [test_details]
    JOIN [evolv_reports].[dbo].[test_details_answers_expanded_view] d WITH (NOLOCK) ON
    [test_header_rv].[test_header_id] = d.[test_header_id]
    AND [test_details].[test_setup_details_id] = d.[test_setup_details_id]
    join [user_defined_lut_rv] udl1 with(nolock) on udl1.[user_defined_lut_id] = d.picklist_value
    --join [education_level] e (nolock) on e.[EducationLevel] = udl1.[description]
    join people_rv p (nolock) on d.people_id = p.people_id
    where d.actual_date between '9/1/13' and '9/30/13'
    and d.people_id = '7A9ACEE4-ABD5-4905-A54E-659A81048A1A'
    I get this:
    event_log_id people_id group_profile_id actual_date test_header_id test_setup_details_id test_domains_info_id question_caption question_code test_details_answers_id update_log_id test_details_id numeric_value scrnval_id picklist_value remarks narrative test_setup_details_answers_id is_checked date_value details_type_code test_setup_answers_caption test_setup_answers_order test_setup_answers_value output_code answers_category_id answers_category answers_category_code
    24E8F88F-9648-4714-9394-D5A3F642C0F0 7A9ACEE4-ABD5-4905-A54E-659A81048A1A NULL 2013-09-26 17:00:00.000 24E8F88F-9648-4714-9394-D5A3F642C0F0 67CDCF44-6308-4E15-8543-3C85DE4C6D4D NULL Attended school in the last 3 months NULL 1BB75044-A65C-4464-ADB9-0CA991019907 7CDD1A4F-41F4-403C-A85E-7FF51B761FF0 3F04BBFF-8DE9-4283-842F-E53A536E3E46 NULL AA5639E4-E60C-473F-9B72-354472C11F5B A529C643-60A7-4D79-AC67-1A8F70791934 NULL NULL 5979600C-B4E6-42DF-BF45-8AFF15ACDD7D 0 NULL PICKLIST Click here for list 1 NULL NULL NULL NULL NULL
    24E8F88F-9648-4714-9394-D5A3F642C0F0 7A9ACEE4-ABD5-4905-A54E-659A81048A1A NULL 2013-09-26 17:00:00.000 24E8F88F-9648-4714-9394-D5A3F642C0F0 EBDFBCA5-6E57-4907-9DEF-A1E118F3AB2D NULL Highest grade completed NULL 8F7F4644-4E67-4821-B0FC-A192389F994D 7CDD1A4F-41F4-403C-A85E-7FF51B761FF0 F6C59E67-EC74-4F0C-8EE8-AB372F22255D NULL 4536DD06-871D-4FA7-BA8A-552DB2CA59BC D77F0CAB-505E-4838-AECE-01BAAE8B8EB2 NULL NULL E7C9ECB7-7B40-4115-A6DB-BC752116D68D 0 NULL PICKLIST Click here for list 1 NULL NULL NULL NULL NULL
    Ryan D

    Hi, 
    what I understood from above is that u want to filter NULL records and want to display only not null records. Try below query.
    SELECT * FROM(select
    AttendedSchoolLast3Months = case
    when d.scrnval_id = 'AA5639E4-E60C-473F-9B72-354472C11F5B' and d.picklist_value = 'BC349A1E-65A1-4497-A38A-116C83B2028F' then 2 --No
    when d.scrnval_id = 'AA5639E4-E60C-473F-9B72-354472C11F5B' and d.picklist_value = 'A529C643-60A7-4D79-AC67-1A8F70791934' then 1 --Yes
    end
    From [evolv_cs].[dbo].[test_header] [test_header_rv] WITH (NOLOCK)
    CROSS APPLY [dbo].[fn_getTestSetupFormDetails](null, [test_header_rv].[test_setup_header_id]) AS [test_header]
    CROSS APPLY [dbo].[fn_getTestSetupFormDetails]([test_header].[test_setup_details_id], null) AS [test_details]
    JOIN [evolv_reports].[dbo].[test_details_answers_expanded_view] d WITH (NOLOCK) ON
    [test_header_rv].[test_header_id] = d.[test_header_id]
    AND [test_details].[test_setup_details_id] = d.[test_setup_details_id]
    join [user_defined_lut_rv] udl1 with(nolock) on udl1.[user_defined_lut_id] = d.picklist_value
    join people_rv p (nolock) on d.people_id = p.people_id
    where d.actual_date between '9/1/13' and '9/30/13'
    and d.people_id = '7A9ACEE4-ABD5-4905-A54E-659A81048A1A' ) AWHERE AttendedSchoolLast3Months IS NOT NULLTry this query.
    Thanks Shiven:) If Answer is Helpful, Please Vote

  • 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: [iPlanet-JATO] TiledView - getting Values

    Kostas--
    This is because in TiledViewBase.mapRequestParameters(), calling
    getChild(String name, int tile) before setting the values in the request,
    will not set the location for the models other that the primary model-
    effectively we are only setting one value (more that once if there aremany
    values being submitted). So we get the value of the last value in thetiled
    view. This is because getChild only changes the location on the primary
    model. Which is why I the following code change worked.Ah, I admit I didn't connect the problem to this. Thanks ver much for
    clarifying.
    As you stated it might be better to add a place holder for all other
    auxillary models and keep them in sync with the primary model.Agreed, this sounds like the correct approach. My unstated assumption was
    that all location changes to the primary model would also occur on the
    auxiliary models, so that would mean that the mapRequestParameters() method
    would then work as intended.
    How about making the primary model the controlling model. We would have to
    "prime" the other models to ensure they all have the same number of rowsas
    the highest model for the request. Otherwise we will the followingsituation
    I detailed in the prevoius email:That works for me, but it will no doubt result in some strange behavior for
    someone down the road. I'll see what's possible about syncing primary and
    auxiliary models more explicitly, or at least checking for the situation
    where the primary has more rows than the other models.
    This way developers would not have to determine if a DisplayField is bound
    to non primary model and do additional processing. I suppose it is aslight
    design question as well. Enforcing a MVC approach is about going to the to
    the Model to get you data. Onthe other hand NetDynamics just allowed youthe
    get the value(s) of a field regardless of the Data Object it was or wasn't
    bound to.Right, and I think it's important for JATO developers to preserve both techn
    iques. The nice thing the technique of accessing the fields directly gives
    you is the ability to obtain data in a non-model-specific way. This can be
    just as valuable as providing model-only interactions.
    Thanks for your feedback Todd. Let me know what you think.Same to you. I hope others on the list have similar suggestions that they
    share with us. I think the above approach is sound and I'll be putting it in
    for the next patch version, 1.1.2. If anyone has any final comments, please
    let me know ASAP.
    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

  • How to get the returned value from Functions with Callable statement?

    I was glad to find that stored procedures can be invoke with Java class code by the object of Callable statement like :
    String stmt = "BEGIN departments_pkg.do_select(?,?,?); END;";
    and getting the output variables by
    populateAttribute(DEPARTMENTNAME,st.getString(2),true,false);
    But i would like to get values returned from FUNCTION other than stored procedure, how can i achieve it? Thanks a lot!

    Here is  my code
    PROCESS BEFORE OUTPUT.
    MODULE STATUS_1202.
      MODULE subscreen_find.
      CALL SUBSCREEN SUBSEARCH INCLUDING sy-cprog dynnr.
    PROCESS AFTER INPUT.
      MODULE USER_COMMAND_1202.
      CALL SUBSCREEN SUBSEARCH.
    MODULE subscreen_find.
      case sy-ucomm.
        when 'SELECTED'.             "fcode
          case 'ZSKILL_SEARCH'.     "data element
            when '01'.                       " value range
              dynnr = 0110.
            when '02'.
              dynnr = 0111.
          endcase.
      endcase.
    ENDMODULE.
    kindly tell me what is wrong
    Edited by: Raji Thomas on Feb 8, 2010 10:20 AM

  • Inserting a 'null' value in an IF THEN ELSE statement

    Greetings,
    I'm using Business Object webi XiR3
    I'd like to return a 'null' value in certain cases for an IF THEN ELSE statement.  Depending on if I format the field as a text or a number, I can return blanks ("") and zeros (0).  However, what I really need to do is leave the field / column formatted as a number and return a 'null' value.  You can see the variable below ... this will return a blank but the column is text.
    Suggestions?
    thanks.
    variable:
    =If([Comp Rate Mid] = 0 And( ([Market Rate 50th].085) - [Annual Total Targeted Comp] >=0) ; ([Market Rate 50th]0.85) - [Annual Total Targeted Comp]; If([Comp Rate Mid] <> 0 And( ([Comp Rate Mid] 0.85) - [Annual Total Targeted Comp] >=0) ; ([Comp Rate Mid]0.85) - [Annual Total Targeted Comp];""))

    I don't think this is possible using a formula, as formulas deal with content, and images can be placed in cells only as 'image fill', which is Format, rather than Content.
    Might be possible using an AppleScript, but I'm not the person to advise you on that.
    Regards,
    Barry

  • What may be the cause of this error java.sql.SQLException: invalid sql type passed to callable statement in iplanet ussing JNDI

     

    Hi,
    The possibilities can be of various reasons, with the sql statements,
    xml descriptors, data sources, improper drivers anything. To crack down
    the solution, kindly let me know the error messages and what exactly are
    you trying to accomplish.
    Thanks & Regards
    Raj
    manimaran t wrote:
    what may be the cause of this error java.sql.SQLException: invalid sql
    type passed to callable statement in iplanet ussing JNDI
    Try our New Web Based Forum at http://softwareforum.sun.com
    Includes Access to our Product Knowledge Base!

  • Re: [iPlanet-JATO] Re: using begin childName Display method

    Steve,
    It sounds like you have your display fields in a container view, and
    that container view is inside of a view bean. I haven't tested whether
    the fireChildDisplayEvents has a "deep" effect on its container view
    children. Meaning that you may have to set fireChildDisplayEvents="true"
    for the <jato:containerView> tag instead. If all else fails and you need
    to just get it working, you can set the fireDisplayEvents="true" for
    each display field tag separately.
    craig
    stephen_winer wrote:
    I should clarify my earlier statement. The data I want to display is
    coming from a model (tied in in the createChild method). I want to
    conditionally reformat the text that is being substituted in the JSP
    for a JATO form element, but I want this to happen on the server, not
    with JavaScript. The begin<childName>Display and
    end<childName>Display methods allow me to do this, in theory, but I
    can not get them to execute.
    Steve
    --- In iPlanet-JATO@y..., Belinda Garcia <belinda.garcia@s...> wrote:
    I don't currently use a begin or end Display method. I merely bind
    the fields to
    the model when the child is created and use the setValue to
    initially set the
    value to what's in the model. I get nulls though if I try to use a
    tiled View. I
    haven't quite got this figured out.
    Belinda
    X-eGroups-Return:
    sentto-2343287-1135-1008613974-belinda.garcia=sun.com@r...
    X-Sender: stephen_winer@y...
    User-Agent: eGroups-EW/0.82
    From: "stephen_winer" <stephen_winer@y...>
    X-Originating-IP: 155.188.191.4
    X-Yahoo-Profile: stephen_winer
    Mailing-List: list iPlanet-JATO@y...; contact
    iPlanet-JATO-owner@y...
    Date: Mon, 17 Dec 2001 18:32:48 -0000
    Subject: [iPlanet-JATO] using begin<childName>Display method
    Content-Transfer-Encoding: 7bit
    I want to be able to conditionally show/hide data as well as
    format
    it for display without touching the model. I found the
    begin<childName>Display and end<childName>Display methods that
    provide the hooks to do this, but I have been unsuccessful in
    getting
    these method to execute. I added the
    fireChildDisplayEvents="true"
    attribute to the jato:useViewBean tag, but this has not helped.
    I
    also added some debug to the ContainerViewBase class in the
    public
    boolean beginChildDisplay(ChildDisplayEvent event) method to see
    what
    was happening. The displayMethodMap was returning null for the
    child
    display methods that were in the view bean. I covered all the
    bases
    (compiling, redeploying, etc.) and nothing has worked. Is there
    anything I am missing or is there some working example of this?
    Steve
    For more information about JATO, please visit:
    http://developer.iplanet.com/tech/appserver/framework/index.jsp
    >For more information about JATO, please visit:
    http://developer.iplanet.com/tech/appserver/framework/index.jsp

    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: [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: [iPlanet-JATO] Re: onSecurityCheckFailedEvent & & onSessionTimeoutEvent

    My mistake. Thanks for the clarification, Craig.
    Todd
    ----- Original Message -----
    From: "Craig V. Conover" <craig.conover@s...>
    Sent: Friday, January 04, 2002 11:14 AM
    Subject: Re: [iPlanet-JATO] Re: onSecurityCheckFailedEvent & &
    onSessionTimeoutEvent
    Alex,
    In addition to Todd saying that the ND security object "is nothing morethan a
    sessionable object...", remember that the security object did nothing morethan
    retrieve the user profile from some persistent store: a database or athird party
    API. So the security object was just a very specialized model (a dataobject in ND
    terms, of course), although it need not be a model, it could just be anarbitrary
    Java class, whatever works best.
    Once the security object was triggered to perform a user profile lookup,the
    profile was stored in an instance of CSpUserProfile and kept in the user's
    session. The project object was then the object that was responsible forchecking
    the user profile for privileges, previous pages, and db logins and such.As Todd
    explained, the ViewBean API now does the security check (as opposed toJATO's
    module servlet, or ND's project object), so extending ViewBeanBase andoverriding
    securityCheck is a convenient way to mimic ND's security hooks. You couldeven
    override a method or event in the module servlet to do a lookup if youwant a
    greater parallel to ND, but this is unneccessary. Either way, the securitycheck
    is performed before the "page" is "loaded".
    c
    Todd Fast wrote:
    Agreed. This is partly why we have never added such a feature to JATO
    (though we've talked about it many many times), because it seemed too
    prescriptive and possibly at odds with the other solutions people favor.
    We're still on the fence. We want to add it, but feel it'll take a fair
    bit
    of design to do properly and extensibly.
    However, realize that the ND security object is nothing more than a
    sessionable object with slots for username, password, and priveleges.This
    is almost trivially easy to replicate on your own, with a small additionof
    code to automatically handle lifecycle and security checking. It wouldbe
    extremely easy to create a subclass of ViewBeanBase that would overridethe
    securityCheck() method to check the state of a sessioned "user profile"
    object. Add to the ViewBean a declared set of "privelege" strings, andyou
    can check the profile object against those required.
    I feel I'm being unclear--do you see where I'm going?
    Todd
    ----- Original Message -----
    From: "njdoe123" <first.us@a...>
    Sent: Friday, December 28, 2001 6:44 AM
    Subject: [iPlanet-JATO] Re: onSecurityCheckFailedEvent & &
    onSessionTimeoutEvent
    Hi,
    We used a lot of "security object" in netD projects. Each used
    username, password and privilege for login. After migration,
    we have to hand code all login codes manually. Session control
    is pretty standard in j2ee, i'm wondering whether there is a
    best practice example available for netD login feature.
    Since security was one of the outstanding feature in netD, it will
    be a great idea to have a stadard plugin to support this feature
    after migration. I wish v1.2 could supply a direction, although
    there are several login methods in j2ee.
    Thanks,
    Alex Lin
    --- In iPlanet-JATO@y..., "Todd Fast" <todd.fast@s...> wrote:
    Small correction: the name of the method in ViewBean is"securityCheck()",
    not "onSecurityCheck()". The method would've been better named
    "checkSecurity()", but too late now. <grin>
    Todd
    ----- Original Message -----
    From: "Craig V. Conover" <craig.conover@s...>
    Sent: Monday, December 17, 2001 12:47 PM
    Subject: Re: [iPlanet-JATO] onSecurityCheckFailedEvent & &
    onSessionTimeoutEvent
    The iMT has a ND to JATO/J2EE mapping document that covers ND
    events and
    common ND class/variable/method mapping.
    To answer you two questions below:
    onSessionTimoutEvent is onSessionTimeout in JATO and can beoverriden in
    any class the subclasses JATO'scom.iplanet.jato.ApplicationServletBase.
    Typically, this is done in you application servlet class which allof
    your module servlets in the application will subclass.
    onSecurityCheckFailedEvent is an ND specific event that istriggered
    when a Security exception is thrown in ND. In JATO, a
    SecurityCheckException is thrown when the default securitychecking in
    JATO fails. JATO's default security is to make sure theRequestContext
    object is not null. This is done in the ViewBean API. The
    onSecurityCheck event in JATO allows you to hook into thisbehavior and
    write your own security checking, or hook in a third party API.You can
    call super so that you still get the RequextContext null check.
    You should create a "non-visual" ViewBean (behavior only) thatoverrides
    the onSecurityCheck event, and all other ViewBeans in yourapplication
    extend it to inherit this security checking behavior.
    You could also hook in the security in your application Servlet by
    overriding one of the events in ApplicationServletBase, like
    onBeforeRequest.
    craig
    njdoe123 wrote:
    Hi,
    We have the following two events (onSecurityCheckFailedEvent
    & onSessionTimeoutEvent) across all ND projects. I guess
    it's pretty common for netdynamics project.
    How do you solve the corresponding issues in j2ee ?
    Is there any example available ?
    Thanks,
    Alex
    //[[SPIDER_EVENT<this_onSecurityCheckFailedEvent>
    public int this_onSecurityCheckFailedEvent
    (CSpProjectSecurityEvent event)
    switch (event.getFailureType() )
    case NEW_SECURITY_CHECK_PRIV_FAILURE_TYPE:
    // do something
    CSpPage loginPage1 = CSpider.getPage("PgLogin");
    CSpString msg1 = new CSpString("Wrong District Code, UserID
    or
    Password. Try again.");
    loginPage1.setDisplayFieldValue("StMsg1", msg1);
    loginPage1.load (false);
    break;
    case SESSION_CONTINUITY_FAILURE_TYPE:
    // do something else
    CSpPage loginPage2 = CSpider.getPage("PgLogin");
    CSpString msg2 = new CSpString("You must login first...");
    loginPage2.setDisplayFieldValue("StMsg1", msg2);
    loginPage2.load (false);
    break;
    return (STOP);
    //]]SPIDER_EVENT<this_onSecurityCheckFailedEvent>
    //[[SPIDER_EVENT<this_onSessionTimeoutEvent>
    public int this_onSessionTimeoutEvent(CSpProjectSessionEventevent)
    CSpString msg3 = new CSpString("You were gone too long - login
    again");
    CSpPage loginPage3 = CSpider.getPage("PgLogin");
    loginPage3.setDisplayFieldValue("StMsg1", msg3);
    // stop any further processing of this original user request
    loginPage3.setDisplayFieldValue("District_ID", newCSpString(""));
    loginPage3.setDisplayFieldValue("User_ID", new CSpString(""));
    loginPage3.setDisplayFieldValue("Password", newCSpString(""));
    loginPage3.load (false);
    return (PROCEED);
    //]]SPIDER_EVENT<this_onSessionTimeoutEvent>
    For more information about JATO, please visit:
    http://developer.iplanet.com/tech/appserver/framework/index.jsp
    For more information about JATO, please visit:
    http://developer.iplanet.com/tech/appserver/framework/index.jsp
    Service.
    For more information about JATO, including download information,
    please
    visit:
    http://developer.iplanet.com/tech/appserver/framework/index.jsp
    For more information about JATO, including download information, pleasevisit:
    http://developer.iplanet.com/tech/appserver/framework/index.jsp
    For more information about JATO, including download information, pleasevisit:
    http://developer.iplanet.com/tech/appserver/framework/index.jsp

    Thank you - Jin and Todd.
    Will try that.
    Atul
    --- In iPlanet-JATO@y..., Byung Jin Chun <bchun@n...> wrote:
    try using kregedit and modify the key for the jvm args, using the -x
    parameters for the 1.2 runtime
    Jin
    -----Original Message-----
    From: Todd Fast [mailto:<a href="/group/SunONE-JATO/post?protectID=101233080150035167169232031248066208071048">Todd.Fast@S...</a>]
    Sent: Tuesday, February 19, 2002 8:40 PM
    Subject: Re: [iPlanet-JATO] Re: OutOfMemoryError
    Atul--
    Out of curiosity - How do you modify the memory parameters for
    the container's VM ?? I know I should try to do some research but
    figured you may already have some insight and willingness to
    share.
    Please consider this as low priority.It differs by container; I don't remember details of any particular one.
    >
    Todd
    For more information about JATO, including download information, please
    visit:
    http://developer.iplanet.com/tech/appserver/framework/index.jsp
    <http://developer.iplanet.com/tech/appserver/framework/index.jsp>
    [Non-text portions of this message have been removed]

  • Re: [iPlanet-JATO] using begin childName Display method

    Oops. Sorry about that, Craig. I didn't realize I might leave that impression.
    I'm sure the tiled
    views work since you have so many examples of these and it's a relatively
    simple concept, isn't it?
    Not to mention a necessary one. I didn't have time to debug my code and find
    out what I was doing
    wrong where the tiled views are concerned. I decide to just try to implement
    tiled views later and
    just stick with one of everything for now and get that working.
    Yes, I have reviewed your comments and am taking them into consideration. I am
    able to save and
    retrieve values with my model at this point.
    Thanks.
    Belinda
    X-eGroups-Return:
    sentto-2343287-1143-1008622698-belinda.garcia=sun.com@r...
    X-Sender: craig.conover@s...
    User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:0.9.4)Gecko/20011019 Netscape6/6.2
    X-Accept-Language: en-us
    From: "Craig V. Conover" <craig.conover@s...>
    X-Yahoo-Profile: cvconover
    Mailing-List: list [email protected]; contact
    [email protected]
    Date: Mon, 17 Dec 2001 13:00:10 -0800
    Subject: Re: [iPlanet-JATO] using begin<childName>Display method
    Content-Transfer-Encoding: 7bit
    Belinda,
    He may also be binding the models, howerver, he needs to change the way
    the value appears before it is displayed which is why you would use the
    display events.
    Your null value issue is a completely different issue and has nothing to
    do with it being a tiled view. I don't want anyone getting the idea
    that the tiledView binding is broken. It does work. You issue should
    have something to do with the inconsistent way in which you are getting
    your model. At least from what I could tell in your source code that you
    sent me.
    Have you reviewed my comments I sent to you in your source code?
    craig
    Belinda Garcia wrote:
    I don't currently use a begin or end Display method. I merely bind the
    fields to
    the model when the child is created and use the setValue to initially setthe
    value to what's in the model. I get nulls though if I try to use a tiledView. I
    haven't quite got this figured out.
    Belinda
    X-eGroups-Return:
    sentto-2343287-1135-1008613974-belinda.garcia=sun.com@r...
    X-Sender: stephen_winer@y...
    User-Agent: eGroups-EW/0.82
    From: "stephen_winer" <stephen_winer@y...>
    X-Originating-IP: 155.188.191.4
    X-Yahoo-Profile: stephen_winer
    Mailing-List: list [email protected]; contact
    [email protected]
    Date: Mon, 17 Dec 2001 18:32:48 -0000
    Subject: [iPlanet-JATO] using begin<childName>Display method
    Content-Transfer-Encoding: 7bit
    I want to be able to conditionally show/hide data as well as format
    it for display without touching the model. I found the
    begin<childName>Display and end<childName>Display methods that
    provide the hooks to do this, but I have been unsuccessful in getting
    these method to execute. I added the fireChildDisplayEvents="true"
    attribute to the jato:useViewBean tag, but this has not helped. I
    also added some debug to the ContainerViewBase class in the public
    boolean beginChildDisplay(ChildDisplayEvent event) method to see what
    was happening. The displayMethodMap was returning null for the child
    display methods that were in the view bean. I covered all the bases
    (compiling, redeploying, etc.) and nothing has worked. Is there
    anything I am missing or is there some working example of this?
    Steve
    For more information about JATO, please visit:
    http://developer.iplanet.com/tech/appserver/framework/index.jsp
    For more information about JATO, please visit:
    http://developer.iplanet.com/tech/appserver/framework/index.jsp
    For more information about JATO, please visit:
    http://developer.iplanet.com/tech/appserver/framework/index.jsp

    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: [iPlanet-JATO] Data model(Dataobject in Nd5)

    Sn,
    Computed columns need special attention.
    The migration tool creates a QueryFieldSchema for each Model (DataObject).
    The schema is populated with entries for each of the "data fields" needed by
    that query. For example:
    FIELD_SCHEMA.addFieldDescriptor(
    new QueryFieldDescriptor(
    FIELD_NDNWORDERS_ORDERID,
    COLUMN_NDNWORDERS_ORDERID,
    QUALIFIED_COLUMN_NDNWORDERS_ORDERID,
    Integer.class,
    false,
    false,
    QueryFieldDescriptor.APPLICATION_INSERT_VALUE_SOURCE,
    QueryFieldDescriptor.ON_EMPTY_VALUE_EXCLUDE,
    The query field descriptor describes the "metadata" for a given field:
    QueryFieldDescriptor(java.lang.String logicalName, java.lang.String
    columnName, java.lang.String qualifiedColumnName, java.lang.Class
    fieldClass, boolean isKey, boolean isComputedField, int insertValueSource,
    java.lang.String insertFormula, int onEmptyValuePolicy, java.lang.String
    emptyFormula)
    There is also a SQL Template generated for select statements:
    static final String SELECT_SQL_TEMPLATE="SELECT ALL ndnwOrders.OrderID,
    ndnwOrders.CustomerID, ndnwOrders.EmployeeID, ndnwOrders.OrderDate,
    ndnwOrders.RequiredDate, ndnwOrders.ShippedDate, ndnwOrders.ShipVia,
    ndnwOrders.Freight, ndnwOrders.ShipName, ndnwOrders.ShipAddress,
    ndnwOrders.ShipCity, ndnwOrders.ShipRegion, ndnwOrders.ShipPostalCode,
    ndnwOrders.ShipCountry FROM ndnwOrders __WHERE__ ";
    public
    So for computed columns you need to do two things:
    1. You need to adjust the SELECT_SQL_TEMPLATE to reflect your computed
    column instead of the "simplistic" column name that appears there by
    default.
    2. You have to "alias" that column and provide the value of the alias in the
    columnName position of the QueryFieldDescriptor. This is needed so that the
    model will be able to dereference the computed column in the result set.
    ----- Original Message -----
    From: "SNR R" <snr@s...>
    Sent: Thursday, July 12, 2001 8:30 AM
    Subject: [iPlanet-JATO] Data model(Dataobject in Nd5)
    Hi
    We are migrating ND5 application into iplanet.When we are excuting
    data model it is giving invalid column name error but when we check
    data
    model sql statement which is working fine at sqlplus but this data model
    has got computed column.
    could you please tell me how to resolve this problem.
    Thanks
    Sn
    ----- Original Message -----
    From: "Todd Fast" <toddwork@c...>
    Date: Monday, July 9, 2001 10:42 pm
    Subject: Re: [iPlanet-JATO] COULD YOU PLS HELP ME TO FIX REPEATED OBJECT
    ISSUE.
    This code should generally be in the TiledView (it may appear in
    both the
    ViewBean and the TiledView after migration).
    CSpRepeated repeated =(CSpRepeated) event.getSource();// Assuming the code is in the TiledView
    TiledView repeated=this;
    CSpStaticText stFieldName =(CSpStaticText)
    repeated.getDisplayField("stFieldName");StaticTextField stFieldName=
    (StaticTextField)getDisplayField("stFieldName");
    - or -
    StaticTextField stFieldName=getStFieldName();
    int index = event.getRowIndex();In what event do you want to obtain the index? For the most part,
    you can
    just call TiledView.getTileIndex(). If this is a request event
    handlingmethod, the row index is part of the event signature.
    IMPORTANT: If the original code cached references to display
    fields as page
    instance variables for use in the class's events, you should NOT
    do the same
    in JATO. This was an ND pattern that is unnecessary and
    inefficient in
    JATO. Instead, you should just use the generated accessors or the
    getDisplayField()/getChild() methods to obtain a reference to a
    displayfield as needed. Mike Frisino has elaborated this point in
    the past; please
    refer to his emails.
    Todd
    [email protected]
    [email protected]

    Sn,
    Computed columns need special attention.
    The migration tool creates a QueryFieldSchema for each Model (DataObject).
    The schema is populated with entries for each of the "data fields" needed by
    that query. For example:
    FIELD_SCHEMA.addFieldDescriptor(
    new QueryFieldDescriptor(
    FIELD_NDNWORDERS_ORDERID,
    COLUMN_NDNWORDERS_ORDERID,
    QUALIFIED_COLUMN_NDNWORDERS_ORDERID,
    Integer.class,
    false,
    false,
    QueryFieldDescriptor.APPLICATION_INSERT_VALUE_SOURCE,
    QueryFieldDescriptor.ON_EMPTY_VALUE_EXCLUDE,
    The query field descriptor describes the "metadata" for a given field:
    QueryFieldDescriptor(java.lang.String logicalName, java.lang.String
    columnName, java.lang.String qualifiedColumnName, java.lang.Class
    fieldClass, boolean isKey, boolean isComputedField, int insertValueSource,
    java.lang.String insertFormula, int onEmptyValuePolicy, java.lang.String
    emptyFormula)
    There is also a SQL Template generated for select statements:
    static final String SELECT_SQL_TEMPLATE="SELECT ALL ndnwOrders.OrderID,
    ndnwOrders.CustomerID, ndnwOrders.EmployeeID, ndnwOrders.OrderDate,
    ndnwOrders.RequiredDate, ndnwOrders.ShippedDate, ndnwOrders.ShipVia,
    ndnwOrders.Freight, ndnwOrders.ShipName, ndnwOrders.ShipAddress,
    ndnwOrders.ShipCity, ndnwOrders.ShipRegion, ndnwOrders.ShipPostalCode,
    ndnwOrders.ShipCountry FROM ndnwOrders __WHERE__ ";
    public
    So for computed columns you need to do two things:
    1. You need to adjust the SELECT_SQL_TEMPLATE to reflect your computed
    column instead of the "simplistic" column name that appears there by
    default.
    2. You have to "alias" that column and provide the value of the alias in the
    columnName position of the QueryFieldDescriptor. This is needed so that the
    model will be able to dereference the computed column in the result set.
    ----- Original Message -----
    From: "SNR R" <snr@s...>
    Sent: Thursday, July 12, 2001 8:30 AM
    Subject: [iPlanet-JATO] Data model(Dataobject in Nd5)
    Hi
    We are migrating ND5 application into iplanet.When we are excuting
    data model it is giving invalid column name error but when we check
    data
    model sql statement which is working fine at sqlplus but this data model
    has got computed column.
    could you please tell me how to resolve this problem.
    Thanks
    Sn
    ----- Original Message -----
    From: "Todd Fast" <toddwork@c...>
    Date: Monday, July 9, 2001 10:42 pm
    Subject: Re: [iPlanet-JATO] COULD YOU PLS HELP ME TO FIX REPEATED OBJECT
    ISSUE.
    This code should generally be in the TiledView (it may appear in
    both the
    ViewBean and the TiledView after migration).
    CSpRepeated repeated =(CSpRepeated) event.getSource();// Assuming the code is in the TiledView
    TiledView repeated=this;
    CSpStaticText stFieldName =(CSpStaticText)
    repeated.getDisplayField("stFieldName");StaticTextField stFieldName=
    (StaticTextField)getDisplayField("stFieldName");
    - or -
    StaticTextField stFieldName=getStFieldName();
    int index = event.getRowIndex();In what event do you want to obtain the index? For the most part,
    you can
    just call TiledView.getTileIndex(). If this is a request event
    handlingmethod, the row index is part of the event signature.
    IMPORTANT: If the original code cached references to display
    fields as page
    instance variables for use in the class's events, you should NOT
    do the same
    in JATO. This was an ND pattern that is unnecessary and
    inefficient in
    JATO. Instead, you should just use the generated accessors or the
    getDisplayField()/getChild() methods to obtain a reference to a
    displayfield as needed. Mike Frisino has elaborated this point in
    the past; please
    refer to his emails.
    Todd
    [email protected]
    [email protected]

  • Re: [iPlanet-JATO] Tomcat 3.2 serving images and html?

    First of all David you are faster responding to email than I am. Thanks.
    We tried your scheme with no luck. You are using "ROOT" as your war file
    name ROOT, correct? Are you sure the jsp would reference
    "/images/MyProject/nppnback.gif"? Why is "MyProject" in there? Where is
    the directory "images" defined to Tomcat? Is it a default?
    Here's another try at explaining:
    In my JSP I have;
    <IMG SRC="/images/ef.gif" ALT=People Banner">
    My application is in webapps/EformsAppWar
    (jsps in EformsAppWar/EformsApp/eforms/*.jsp)
    (classes in EformsAppWar/WEB-INF/classes)
    so images are in webapps/EformsAppWar/images
    and there is, indeed a ef.gif there.
    However with no server.xml changes (everything default), Tomcat 3.2
    gives a 404 in his log and states in the 404 message that context is
    null (CTX < >) and ca't find /images/ef.gif + NULL.
    By the way I just noticed that in Tomcat 3.1 I have the images directory
    directly under webapps.
    ----- Original Message -----
    From: "David J.L. Martin" <<a href="/group/SunONE-JATO/post?protectID=114166018056146134184102046176231239071179066034">dave@t...</a>>
    Date: Wednesday, May 23, 2001 3:35 pm
    Subject: Re: [iPlanet-JATO] Tomcat 3.2 serving images and html?
    This works:
    If the doc root is webapps\ROOT --
    Using defaults...jsp's would be put in
    webapps\ROOT\MyProjectApp\MyProject\*.jsp
    and images would be put in webapps\ROOT\images\*.gif
    Then in your jsp...use the following reference:
    "/images/MyProject/nppnback.gif">
    That will work just using defaults and not playing with any of the
    config files...
    ie. webapps\ROOT\WEB-INF gets updated as well (with required
    classes).
    djm
    TechPie
    916 924-1832 (office)
    916 730-4743 (mobile)
    916 313-3531 (fax)
    <a href="/group/SunONE-JATO/post?protectID=114232044112042209130232046248130100239179057215113109152006048067">dmushrush@e...</a> wrote:
    Many of you are running Tomcat 3.2. Can anyone tell me how to get
    images to be served by Tomcat. In 3.1 if I referenced /images/image.gif> in my JSP, I could just place the images
    directory in the application
    (context) directory.
    The default docBase is webapp> that webapp> relative addressed as /images/image.gif but such is not the case.
    I have put the images directory almost everyplace possible with no luck.
    I have explicitly defined docBase in tomcat/conf/server.xml and still no
    luck.
    I currently have the following in conf/server.xml
    <Context path="/EformsAppWar"
    docBase="c:/tomcat/webapps/EformsAppWar"
    crossContext="true"
    debug="0"
    reloadable="true" >
    </Context>
    I place images in that directory structure but still take 404's and in
    the log it refers to context as /images ????
    I'm probably doing something (or not doing something) foolish. Anybody> have a remedy.
    <a href="/group/SunONE-JATO/post?protectID=210083235237078198050118178206047166215146166214017110250006230056039126077176105140127082088124241215002153">[email protected]</a>
    <a href="/group/SunONE-JATO/post?protectID=210083235237078198050118178206047166215146166214017110250006230056039126077176105140127082088124241215002153">[email protected]</a>

    First of all David you are faster responding to email than I am. Thanks.
    We tried your scheme with no luck. You are using "ROOT" as your war file
    name ROOT, correct? Are you sure the jsp would reference
    "/images/MyProject/nppnback.gif"? Why is "MyProject" in there? Where is
    the directory "images" defined to Tomcat? Is it a default?
    Here's another try at explaining:
    In my JSP I have;
    <IMG SRC="/images/ef.gif" ALT=People Banner">
    My application is in webapps/EformsAppWar
    (jsps in EformsAppWar/EformsApp/eforms/*.jsp)
    (classes in EformsAppWar/WEB-INF/classes)
    so images are in webapps/EformsAppWar/images
    and there is, indeed a ef.gif there.
    However with no server.xml changes (everything default), Tomcat 3.2
    gives a 404 in his log and states in the 404 message that context is
    null (CTX < >) and ca't find /images/ef.gif + NULL.
    By the way I just noticed that in Tomcat 3.1 I have the images directory
    directly under webapps.
    ----- Original Message -----
    From: "David J.L. Martin" <<a href="/group/SunONE-JATO/post?protectID=114166018056146134184102046176231239071179066034">dave@t...</a>>
    Date: Wednesday, May 23, 2001 3:35 pm
    Subject: Re: [iPlanet-JATO] Tomcat 3.2 serving images and html?
    This works:
    If the doc root is webapps\ROOT --
    Using defaults...jsp's would be put in
    webapps\ROOT\MyProjectApp\MyProject\*.jsp
    and images would be put in webapps\ROOT\images\*.gif
    Then in your jsp...use the following reference:
    "/images/MyProject/nppnback.gif">
    That will work just using defaults and not playing with any of the
    config files...
    ie. webapps\ROOT\WEB-INF gets updated as well (with required
    classes).
    djm
    TechPie
    916 924-1832 (office)
    916 730-4743 (mobile)
    916 313-3531 (fax)
    <a href="/group/SunONE-JATO/post?protectID=114232044112042209130232046248130100239179057215113109152006048067">dmushrush@e...</a> wrote:
    Many of you are running Tomcat 3.2. Can anyone tell me how to get
    images to be served by Tomcat. In 3.1 if I referenced /images/image.gif> in my JSP, I could just place the images
    directory in the application
    (context) directory.
    The default docBase is webapp> that webapp> relative addressed as /images/image.gif but such is not the case.
    I have put the images directory almost everyplace possible with no luck.
    I have explicitly defined docBase in tomcat/conf/server.xml and still no
    luck.
    I currently have the following in conf/server.xml
    <Context path="/EformsAppWar"
    docBase="c:/tomcat/webapps/EformsAppWar"
    crossContext="true"
    debug="0"
    reloadable="true" >
    </Context>
    I place images in that directory structure but still take 404's and in
    the log it refers to context as /images ????
    I'm probably doing something (or not doing something) foolish. Anybody> have a remedy.
    <a href="/group/SunONE-JATO/post?protectID=210083235237078198050118178206047166215146166214017110250006230056039126077176105140127082088124241215002153">[email protected]</a>
    <a href="/group/SunONE-JATO/post?protectID=210083235237078198050118178206047166215146166214017110250006230056039126077176105140127082088124241215002153">[email protected]</a>

  • RE: [iPlanet-JATO] Parse error in JSP parser in IAS6

    Hi Todd,
    removing the defaultValue="" attribute works.
    I have not got around to testing the SP3.
    BTW. The reason the default value tag was added was to stop Null pointer
    exceptions being thrown in the
    HrefTag.beginDisplay().
    buffer.append("?")
    .append(field.getQualifiedName()) // "FooHref"
    .append("=")
    .append(URLEncoder.encode(value.toString())); // "/foo"
    If you don't explicitly add a defaultValue="" to the jsp HREF tag ,
    HrefTag.getDefaultValue() returns null.
    Our hack was to add the following in HrefTag.java.
    if (value==null)
    value=getDefaultValue();
    //===========================
    //IP6 ADDED THE FOLLOWING LINE
    value = (value== null? "":value);
    //============================
    Is that pheasible work-around ? This eliminates the need to add
    defaultValue="" to all HREF tags.
    Also, I might as well point another behavior that we encountered with HREFS.
    In ND, if a HREF's display Field was bound to a column in DataObject and the
    particular record had no value, no URL would be rendered on the page.
    The HTML would look something like this( from memory ):
    <A
    HREF="../AppName/PgMsgMain.hrfSubject_onWebEvent(hrfSubject).994226335140? +
    ND URL STUFF"></A>
    In JATO by default a url get displayed with "null" as the link. ie.
    <a href="../AppName/PgMsgMain?PgMsgMain.hrfSubject= + URL STUFF">null</a>
    Our hack was modify the HrefTag.doEndTag method to not append "null" to the
    buffer.
    if (displayed)
    buffer.append(getBodyContent().getString().equals("null")? "":
    getBodyContent().getString()))
    // IP6 HACK buffer.append(getBodyContent().getString())
    .append("</a>");
    writeOutput(fireEndDisplayEvent(buffer.toString()));
    Is there a better way to do this?
    thanks
    Kostas
    -----Original Message-----
    From: Todd Fast [mailto:<a href="/group/SunONE-JATO/post?protectID=189233080150012190218067203043176090006144139218183041">toddwork@c...</a>]
    Sent: Tuesday, July 03, 2001 12:46 AM
    Subject: Re: [iPlanet-JATO] Parse error in JSP parser in IAS6
    Hey Kostas--
    I personally haven't seen this kind of error. Have you tried simplifying
    the expression inside the href tag? For example:
    <% Object foo =
    viewBean.getRptAssignmentMatch().getvwAssignmentMatchModel().getValue(
    vwAssignmentMatchModel.FIELD_ASSIGNMENT_ASSIGNMENT_ID);
    %>
    <jato:href name="hrefASSIGNMENT_ASSIGNMENT_ID" fireDisplayEvents="true">
    <%= foo %>
    </jato:href>
    Also, is there a different version you could upgrade to? iAS SP3 includes
    the Jasper compiler from Tomcat, which should behave quite differently.
    Todd
    ----- Original Message -----
    From: "Kostas Morfis" <kmorfis@i...>
    Sent: Tuesday, July 03, 2001 12:17 AM
    Subject: [iPlanet-JATO] Parse error in JSP parser in IAS6
    >
    Hi all,
    has anyone come across the following error in iPlanet?
    [02/Jul/2001 12:21:32:1] error: Exception: SERVLET-compile_failed: Failedin
    compiling template: /ras/ras/voyager4/pgAssignmentMatch.jsp, Parse errorin
    JSP parser. Missing endtag: /jato:href
    Exception Stack Trace:
    java.lang.Exception: Parse error in JSP parser. Missing endtag: /jato:href
    at com.netscape.jsp.JSP.parseBlock(Unknown Source)
    at com.netscape.jsp.JSP.parseUserTag(Unknown Source)
    at com.netscape.jsp.JSP.parseTag(Unknown Source)
    at com.netscape.jsp.JSP.parseNext(Unknown Source)
    etc etc.
    We have tested the page in Resin and it works fine.
    It seems the JSP parser has a problem with the following type of HREFtags.
    >
    <jato:href name="hrefASSIGNMENT_ASSIGNMENT_ID" fireDisplayEvents="true"
    defaultValue=""><%=
    viewBean.getRptAssignmentMatch().getvwAssignmentMatchModel().getValue(com.cb
    >
    re.ras.voyager4.model.vwAssignmentMatchModel.FIELD_ASSIGNMENT_ASSIGNMENT_ID)
    %></jato:href></font></td>
    anyone have any suggestions/thoughts/comments ?
    Kostas Morfis
    Senior Consultant
    iRise
    www.iRise.com
    [Non-text portions of this message have been removed]
    [email protected]
    [email protected]

    Hi Todd,
    removing the defaultValue="" attribute works.
    I have not got around to testing the SP3.
    BTW. The reason the default value tag was added was to stop Null pointer
    exceptions being thrown in the
    HrefTag.beginDisplay().
    buffer.append("?")
    .append(field.getQualifiedName()) // "FooHref"
    .append("=")
    .append(URLEncoder.encode(value.toString())); // "/foo"
    If you don't explicitly add a defaultValue="" to the jsp HREF tag ,
    HrefTag.getDefaultValue() returns null.
    Our hack was to add the following in HrefTag.java.
    if (value==null)
    value=getDefaultValue();
    //===========================
    //IP6 ADDED THE FOLLOWING LINE
    value = (value== null? "":value);
    //============================
    Is that pheasible work-around ? This eliminates the need to add
    defaultValue="" to all HREF tags.
    Also, I might as well point another behavior that we encountered with HREFS.
    In ND, if a HREF's display Field was bound to a column in DataObject and the
    particular record had no value, no URL would be rendered on the page.
    The HTML would look something like this( from memory ):
    <A
    HREF="../AppName/PgMsgMain.hrfSubject_onWebEvent(hrfSubject).994226335140? +
    ND URL STUFF"></A>
    In JATO by default a url get displayed with "null" as the link. ie.
    <a href="../AppName/PgMsgMain?PgMsgMain.hrfSubject= + URL STUFF">null</a>
    Our hack was modify the HrefTag.doEndTag method to not append "null" to the
    buffer.
    if (displayed)
    buffer.append(getBodyContent().getString().equals("null")? "":
    getBodyContent().getString()))
    // IP6 HACK buffer.append(getBodyContent().getString())
    .append("</a>");
    writeOutput(fireEndDisplayEvent(buffer.toString()));
    Is there a better way to do this?
    thanks
    Kostas
    -----Original Message-----
    From: Todd Fast [mailto:<a href="/group/SunONE-JATO/post?protectID=189233080150012190218067203043176090006144139218183041">toddwork@c...</a>]
    Sent: Tuesday, July 03, 2001 12:46 AM
    Subject: Re: [iPlanet-JATO] Parse error in JSP parser in IAS6
    Hey Kostas--
    I personally haven't seen this kind of error. Have you tried simplifying
    the expression inside the href tag? For example:
    <% Object foo =
    viewBean.getRptAssignmentMatch().getvwAssignmentMatchModel().getValue(
    vwAssignmentMatchModel.FIELD_ASSIGNMENT_ASSIGNMENT_ID);
    %>
    <jato:href name="hrefASSIGNMENT_ASSIGNMENT_ID" fireDisplayEvents="true">
    <%= foo %>
    </jato:href>
    Also, is there a different version you could upgrade to? iAS SP3 includes
    the Jasper compiler from Tomcat, which should behave quite differently.
    Todd
    ----- Original Message -----
    From: "Kostas Morfis" <kmorfis@i...>
    Sent: Tuesday, July 03, 2001 12:17 AM
    Subject: [iPlanet-JATO] Parse error in JSP parser in IAS6
    >
    Hi all,
    has anyone come across the following error in iPlanet?
    [02/Jul/2001 12:21:32:1] error: Exception: SERVLET-compile_failed: Failedin
    compiling template: /ras/ras/voyager4/pgAssignmentMatch.jsp, Parse errorin
    JSP parser. Missing endtag: /jato:href
    Exception Stack Trace:
    java.lang.Exception: Parse error in JSP parser. Missing endtag: /jato:href
    at com.netscape.jsp.JSP.parseBlock(Unknown Source)
    at com.netscape.jsp.JSP.parseUserTag(Unknown Source)
    at com.netscape.jsp.JSP.parseTag(Unknown Source)
    at com.netscape.jsp.JSP.parseNext(Unknown Source)
    etc etc.
    We have tested the page in Resin and it works fine.
    It seems the JSP parser has a problem with the following type of HREFtags.
    >
    <jato:href name="hrefASSIGNMENT_ASSIGNMENT_ID" fireDisplayEvents="true"
    defaultValue=""><%=
    viewBean.getRptAssignmentMatch().getvwAssignmentMatchModel().getValue(com.cb
    >
    re.ras.voyager4.model.vwAssignmentMatchModel.FIELD_ASSIGNMENT_ASSIGNMENT_ID)
    %></jato:href></font></td>
    anyone have any suggestions/thoughts/comments ?
    Kostas Morfis
    Senior Consultant
    iRise
    www.iRise.com
    [Non-text portions of this message have been removed]
    [email protected]
    [email protected]

Maybe you are looking for

  • ME05 How to schedule source list job with steps?

    Can someone please give me instructions on how to create source list ME05 in background using "Steps"? I know how to create a background job in ME05 but need to have several jobs run back to back in the middle of the night. I am reluctant to shedule

  • Update an object in the XIR2 repository

    One of my customers has a bad practice in place of having multiple copies of a same document in several folders. I am trying in Java to take the latest version of the document and update all the old copies with it. At this point, I have an IInfoObjec

  • Itunes says memory on ipod is full but is actually empty

    Hi, I hope someone can help me with this: I recently downloaded itunes 7 as recommended for my Ipod Nano 2nd generation, my ipod is showing, but when i try to sync my library with my ipod it tells me there is not enough space to do this, the memory b

  • SAP Interactive Forms and SAP Smart Forms for Human Capital Management

    Hi gurus, pls help me understand what are SAP Interactive Forms by Adobe and SAP Smart Forms for Human Capital Management (HCM)? regds jack

  • Linux TestDrive SAP NetWeaver 7.02 connection issue

    Hi, The demo URL 192.168.234.42:8042/sap/opu/sdata/IWFND/RMTSAMPLEFLIGHT/?sap-client=001&$format=xml is working fine in my linux vmware, but on my PC directly, it gives connection time out. The port 8042 is open, the firewall is not running. Anybody