RE: [iPlanet-JATO] image button handling
Hi Todd,
from what I have seen so far on the Project they are just buttons on
the page.
In the interim, I modified RequestHandlingViewBase.acceptsRequest() to
handle the matching of parameter and command child names.
from
if (request.getParameter(commands)!=null)
return getCommandChildNames()[i];
to
if (request.getParameter(commands[i])!=null ||
(request.getParameter(commands[i]+ ".x")!=null ))
return getCommandChildNames()[i];
This fixed the problem with the image buttons in our cases.
Kostas
-----Original Message-----
From: Todd Fast
Sent: 10/27/00 6:21 AM
Subject: Re: [iPlanet-JATO] image button handling
Hi Kostas--
I wanted to get some feedback on the known issue of the
handleXXXXRequest method not being fired for buttons which have
images, due to the the browser submitting
the pixel coordinates back to the server like this:
Page1.ImageButton1.x=...
Page1.ImageButton1.y=...
As the ND conversion project we are currently working on heavily uses
image buttons we would like to get and indication if and when a patch
is planned for this.
Our current work around is to remove the src attribute from the JATO
tags in the JSPs.We are currently working on getting this fixed. One question--what is
the
relative type of usage of image buttons in your project? Are they just
buttons on the page (view bean), or do they appear in tiled views as
well?
Todd
[email protected]
[Non-text portions of this message have been removed]
OK, here's what I'm trying to do: We have, like you said, a menu
page. The pages that it goes to and the number of links are all
variable and read from the database. In NetD we were able to create
URLs in the form
pgXYZ?SPIDERSESSION=abcd
so this is what I'm trying to replicate here. So the URL that works
is
pgContactUs?GXHC_GX_jst=fc7b7e61662d6164&GXHC_gx_session_id_=cc9c6dfa5
601afa7
which I interpreted to be the equivalent of the old Netd way. Our
javascript also loads other frames of the page in the same manner.
And I believe the URL-rewritten frame sources of a frameset look like
this too.
This all worked except for the timeout problem. In theory we could
rewrite all URLs to go to a handler, but that would be...
inconvenient.
Similar Messages
-
Re: [iPlanet-JATO] Back Button functionality
Hi Mike,
Our test environment does not include proxy server.
regards,
syam.
Please respond to [email protected]
cc:
Subject: Re: [iPlanet-JATO] Back Button functionality
Guys,
Please clarify something for me, the JATO code is commented as follows
protected void addResponseHeaders(RequestContext requestContext)
// These values should make any proxy between the client and
// server avoid caching, and ensure that pages from one user
// can never be seen by another user (if they're cached anyway)
requestContext.getResponse().addHeader("Pragma","no-cache");
requestContext.getResponse().addHeader
("Cache-Control","private");Yet you make no mention of whether your test environment includes a Proxy
Server, or does your browser
go directly to the Application Server's web server?
Can you clarify, please?
----- Original Message -----
From: <syam_reddy@p...>
Sent: Wednesday, April 25, 2001 2:59 PM
Subject: [iPlanet-JATO] Back Button functionality
>
Hi,
We observed the following difference in behaviour between JATO pages
and NetD served pages.
We have the following scenario. User will login to the
site. After login he will get a frame set. This frame set has threeframes.
Top and bottom frames are used for navigation (to switch between various
sections on the site.) .The middle frame(main frame) shows the actual
content. When the the frame set gets loaded main frame shows page1. User
will click on a link on page1. Page 2 will be loaded in main frame. Atthis
point if the user clicks on back button , with migrated application(JATO
pages) the following message appears in the main frame.
In Netscape Communicator 4.61 the following message appears in the main
frame :
Data Missing
This document resulted from a POST operation and has expired fromcache.If
you wish you can repost the form data to recreate the document by
presenting the reload button.
In IE 4.72/5.5 the following message appears in the main frame:
Warning : Page has Expired
The page you requested was created using information you submitted in a
form.This page is no longer available.As a security precaution, Internet
Explorer does not automatically resubmit your information for you. To
resubmit your information and view the web page click teh refresh button.
However, in the NetD site page1 will appear in main frame.
How do we mimic the NetD behaviour with the migrated
applications ?
We think the above behaviour with migrated Apps, is due to the
headers that are get set in Application ServletBase , see the following
code snippet :
protected void addResponseHeaders(RequestContext requestContext)
// These values should make any proxy between the client and
// server avoid caching, and ensure that pages from one user
// can never be seen by another user (if they're cached anyway)
requestContext.getResponse().addHeader("Pragma","no-cache");
requestContext.getResponse().addHeader
("Cache-Control","private");
If we comment the above code , we were able to mimic theNetD
behaviour. Are there any alternatives/thoughts on how to mimic the NetD
behaviour ?
Thanks in Advance,
syam&ravi.
[email protected]
[email protected]OK, here's what I'm trying to do: We have, like you said, a menu
page. The pages that it goes to and the number of links are all
variable and read from the database. In NetD we were able to create
URLs in the form
pgXYZ?SPIDERSESSION=abcd
so this is what I'm trying to replicate here. So the URL that works
is
pgContactUs?GXHC_GX_jst=fc7b7e61662d6164&GXHC_gx_session_id_=cc9c6dfa5
601afa7
which I interpreted to be the equivalent of the old Netd way. Our
javascript also loads other frames of the page in the same manner.
And I believe the URL-rewritten frame sources of a frameset look like
this too.
This all worked except for the timeout problem. In theory we could
rewrite all URLs to go to a handler, but that would be...
inconvenient. -
Re: [iPlanet-JATO] Submit Button in TiledView
John,
Please clarify,
1. You are putting this page together manually? (writing your own JSP and
ViewBean/TiledView classes?)
2. What is the exact location of the button?
Is it below the TiledView but still in the ViewBean (as the traditional
First/Next/Prev/Last buttons are? )
Or
Is it literally within the tiled view itself (in a column, and the button
is displayed repeatedly like any other row member?)
I ask because the latter is a very rare situation, usually people use HREFs
in such cases?
----- Original Message -----
From: Craig V Conover <craig.conover@S...>
Sent: Monday, January 22, 2001 10:21 AM
Subject: Re: [iPlanet-JATO] Submit Button in TiledView
Was this originally an ND project? I don't have the sample you need, butuntil someone else posts a sample, try this: if you have an ND5 Studio,
mimic sample in ND and migrate it and see what is generated.
----- Original Message -----
From: john.teceno@b...
Sent: Monday, January 22, 2001 10:00 AM
Subject: [iPlanet-JATO] Submit Button in TiledView
Hey Guys,
I have a submit button that appears in a TiledView. When I click
the submit button, it loops back to the same page. Should I be
delegating the event through the ViewBean to the TiledView? And if so,
could you give me a code snippet to show me how?
Thanx,
John Teceno
Back Bay Technologies
eGroups Sponsor
Get 3 CDs for ONLY $9.99!
[email protected]
[Non-text portions of this message have been removed]
[email protected]John,
Please clarify,
1. You are putting this page together manually? (writing your own JSP and
ViewBean/TiledView classes?)
2. What is the exact location of the button?
Is it below the TiledView but still in the ViewBean (as the traditional
First/Next/Prev/Last buttons are? )
Or
Is it literally within the tiled view itself (in a column, and the button
is displayed repeatedly like any other row member?)
I ask because the latter is a very rare situation, usually people use HREFs
in such cases?
----- Original Message -----
From: Craig V Conover <craig.conover@S...>
Sent: Monday, January 22, 2001 10:21 AM
Subject: Re: [iPlanet-JATO] Submit Button in TiledView
Was this originally an ND project? I don't have the sample you need, butuntil someone else posts a sample, try this: if you have an ND5 Studio,
mimic sample in ND and migrate it and see what is generated.
----- Original Message -----
From: john.teceno@b...
Sent: Monday, January 22, 2001 10:00 AM
Subject: [iPlanet-JATO] Submit Button in TiledView
Hey Guys,
I have a submit button that appears in a TiledView. When I click
the submit button, it loops back to the same page. Should I be
delegating the event through the ViewBean to the TiledView? And if so,
could you give me a code snippet to show me how?
Thanx,
John Teceno
Back Bay Technologies
eGroups Sponsor
Get 3 CDs for ONLY $9.99!
[email protected]
[Non-text portions of this message have been removed]
[email protected] -
Re: [iPlanet-JATO] Re: session timeout when not submitting to a handler
Mark--
I know what's happening here, but am curious about your approach. You said
in an earlier email that you were generating links directly to JSPs, but
from what you are describing, you are generating JATO-style links to access
JATO pages. Nothing wrong with that, but there is a signficant difference.
Actually, it just occurred to me, I'm wondering what your URLs look like.
The way the request dispatching works in JATO is it ignores anything after
an initial "." in the final part of the URL path. For example, a request
for "/myapp/module1/MyPage.jsp" doesn't actually try to hit the JSP, instead
it tries to hit the JATO page "/myapp/module1/MyPage".
The end result is that you may think you are accessing a JSP directly, but
are instead accessing a JATO page. The reason the request dispatching works
this way is because it is illegal to access JATO JSPs directly, and there is
actually a (disabled) JATO feature that piggybacks on the use of the
dot-delimited URL.
So, now I need to understand your intent. I wasn't really sure why you were
generating direct JSP/page links to begin with. This works against the Type
II architecture JATO uses, in which all JATO requests go back to the
controller servlet.
If you are trying to design something like a menu page, you may have thought
that it was burdensome to create a number of HREF children, plus implement
event handlers for each of them. This definitely would be burdensome beyond
just a handful of links, but this is why JATO provides other mechanisms for
doing what I'll call here "polymorphic HREFs".
Assuming this menu page scenario, the easiest thing to do is to simply use
one HREF child on the page, and add a value to it each time it is rendered
that distinguishes it from the other instances on the page. In your event
handler for the HREF, you simply check this value and use it to decide which
page to forward to. You can add a value to an HREF or Button by using the
"addExtraValue()" method. Or, if you are using JATO 1.2, you can add extra
query string NVPs right in the JSP document using the "queryParams"
attribute of the <jato:href> tag. Thus, your one HREFchild and event
handler become "polymorphic" because what they do depends on the context in
which they are invoked.
Now, I still don't have confirmation that this is what you were trying to
do, so until I do, let me explain the exception you're seeing. JATO assumes
that when a request comes in for a page that includes the pageAttributes
NVP, it is a request coming from a previously generated JATO page. Because
of the way JATO works, this means that the request dispatching code should
send the request back to the originally rendered page. For example, if Page
A renders an HREF, which the user then activates, JATO sends the request
back to Page A for handling. All of the HREFs and forms generated during
rendering of Page A actually refer back to Page A, regardless of where those
links or buttons actually pass the request in their event handlers/Command
objects.
So, what's happening when you include the pageAttributes in your HREFs is
that JATO is assuming that a request is being sent to the target page, with
the assumption that the target page has a mechanism in place to handle the
request. This assumption relies on the specification of the "originator" of
the request being specified in the request. For links/HREFs, the name and
value of the HREF is sent along with the request. For forms, the name and
value of the button that was pressed are sent in the request. JATO uses the
presence of these name/value pairs to decide which event handler, or which
Command object, to invoke to handle the request.
The exception you are receiving is saying that there was no object on the
target page that indicated it could handle the request. This is to be
expected, since you have not specified a query parameter that indicates
which CommandField child is responsible the request. However, this is where
I see the disconnect, because that is not what I believe you were trying to
do (as explained above).
So now, given all the information above, can you tell me what you're trying
to accomplish, and whether or not the info I've given you has helped you to
design a mechanism more in line with a JATO approach? If not, given that I
understand what you're trying to do, I can offer a more concrete solution.
Todd
----- Original Message -----
From: <Mark_Dubinsky@p...>
Sent: Monday, November 05, 2001 2:54 PM
Subject: [iPlanet-JATO] Re: session timeout when not submitting to a handler
This is the exception we get:
(And BTW, leaving a blank value for the pageAttributes doesn't help)
[05/Nov/2001 17:49:18:4] error: <portalServlet.processRequest>
javax.servlet.ServletException: The request was not be handled by the
specified handler
at java.lang.Throwable.fillInStackTrace(Native Method)
at java.lang.Throwable.fillInStackTrace(Compiled Code)
at java.lang.Throwable.<init>(Compiled Code)
at java.lang.Exception.<init>(Compiled Code)
at
javax.servlet.ServletException.<init>(ServletException.java:107)
at
com.putnaminvestments.common.jato.ApplicationServletBase.dispatchRequ
est(Compiled Code)
at
com.putnaminvestments.common.jato.ApplicationServletBase.processReque
st(Compiled Code)
at
com.putnaminvestments.bp.portal.portalServlet.processRequest(Compiled
Code)
at
com.putnaminvestments.common.jato.ApplicationServletBase.doPost(Compi
led Code)
at
com.putnaminvestments.common.jato.ApplicationServletBase.doGet(Compil
ed Code)
at javax.servlet.http.HttpServlet.service(Compiled Code)
at com.putnaminvestments.bp.bpServletBase.service(Compiled
Code)
at javax.servlet.http.HttpServlet.service(Compiled Code)
at
com.netscape.server.servlet.servletrunner.ServletInfo.service(Compile
d Code)
at
com.netscape.server.servlet.servletrunner.ServletRunner.execute(Compi
led Code)
at com.kivasoft.applogic.AppLogic.execute(Compiled Code)
at com.kivasoft.applogic.AppLogic.execute(Compiled Code)
at com.kivasoft.thread.ThreadBasic.run(Native Method)
at com.kivasoft.thread.ThreadBasic.run(Native Method)
at com.kivasoft.thread.ThreadBasic.run(Native Method)
at com.kivasoft.thread.ThreadBasic.run(Native Method)
at com.kivasoft.thread.ThreadBasic.run(Compiled Code)
at java.lang.Thread.run(Compiled Code)
--- In iPlanet-JATO@y..., "Todd Fast" <Todd.Fast@S...> wrote:
Mark--
Initially we tried to add the pageAttributes NVP as well, but that
was
causing an exception, so we stopped doing that.That's odd--what was the exception?
Our problem now is that when the SessionTimes out it does not go
to
onSessionTimeout method as in processRequestMethod of the
ApplicationServletBase it looks for pageAttributes. If it is notnull
then only onSessionTimeOut method is called.This is sadly the only technique for determining if a session hastimed out
and a new one been created, versus the initial creation of thesession.
Is there any work around for this? Maybe you can suggest how topass
the pageAttributes without causing the initial exception?Definitely--let me know what the exception was and I'll be able tosuggest
something. However, it shouldn't really be any harder thanappending a
"jato.pageAttributes=" empty NVP on the HREF.
Todd
Todd Fast
Senior Engineer
Sun/Netscape Alliance
todd.fast@s...
For more information about JATO, please visit:
http://developer.iplanet.com/tech/appserver/framework/index.jspOK, here's what I'm trying to do: We have, like you said, a menu
page. The pages that it goes to and the number of links are all
variable and read from the database. In NetD we were able to create
URLs in the form
pgXYZ?SPIDERSESSION=abcd
so this is what I'm trying to replicate here. So the URL that works
is
pgContactUs?GXHC_GX_jst=fc7b7e61662d6164&GXHC_gx_session_id_=cc9c6dfa5
601afa7
which I interpreted to be the equivalent of the old Netd way. Our
javascript also loads other frames of the page in the same manner.
And I believe the URL-rewritten frame sources of a frameset look like
this too.
This all worked except for the timeout problem. In theory we could
rewrite all URLs to go to a handler, but that would be...
inconvenient. -
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] 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] 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] -
The problem is that you don't know what the target view is until it has
been forwarded to.
Think about it... the request handling view bean (or command object) has
the request handler that has the code that will ultimately forward to
another view bean. This is code that you have written. So, until that
forwardTo() is invoked, there is no notion of a "target page".
What you do know is which "page" (view bean) the request is coming from
(the handling view bean or command class). You can get this from the
HttpServletRequest. The attribute name is "viewBean".
So you can get the view bean name by doing the following in onBeforeRequest:
<HttpServletRequest>.getAttribute("viewBean");
But I suspect this is not going to solve your current issue.
You could add the target page name to the page session. If there is more
than one possible target page, it might get a little more involved.
Let me know if the use of page session needs further explanation.
c
nickmalthus wrote:
I am implementing a custom security model since the standard J2EE
security model does not allow me access to the users password, which I
need to log into a third party application. I have overriden the
onBeforeRequest() method to check to see if the user is logged in, and
if not, forward to the Login ViewBean. However, I need to determine
what page/viewbean the request is attempting to access so I can let it
pass through if it is accessing the Login viewbean and to forward to
the requested view once the user is logged in. What is the best way to
do this? I see no obvious uitility in the javadocs
TIA
For more information about JATO, including download information, please visit:
http://developer.iplanet.com/tech/appserver/framework/index.jspI guess what I am thinking about doing is capturing the requested URL,
i.e. /appname/modulename/RequestName. In the onBeforeRequest(). I
would then check to see if the user is logged in, and if not, set the
URL in the session(or page session of the Login bean) and forward to
the Login viewbean using the viewbean manager. Inside the login view
in the handleSubmit() method I would authenticate the user and then
get the URL out of the session (or pagesession). I would then
magically get the ViewBean/Command object for the URL or otherwise
"forward the request" as if the user had typed in
/appname/modulename/RequestName, which is the behavior I am trying to
acheive.
It turns out I cannot forward in the onBeforeRequest() as it will
output the viewbean and then continue to process the request which in
turn trys to do a RequestDispatcher().forward after data has been
written to the stream which does not bode well with the servlet
container. Thus, it appears I have no control of the request in the
onBeforeRequest() method. Is this correct?
In light of this new observation I am now going to create a base view
class that all views will extend from and override the
onSecurityCheck() method to forward to my login bean. If I can't find
any other way, I will get the URL from the page session and do a
response.sendRedirect() to the URL.
Thanks for the help!
--- In iPlanet-JATO@y..., "Craig V. Conover" <craig.conover@s...> wrote:
The problem is that you don't know what the target view is until it has
been forwarded to.
Think about it... the request handling view bean (or command object)has
the request handler that has the code that will ultimately forward to
another view bean. This is code that you have written. So, until that
forwardTo() is invoked, there is no notion of a "target page".
What you do know is which "page" (view bean) the request is coming from
(the handling view bean or command class). You can get this from the
HttpServletRequest. The attribute name is "viewBean".
So you can get the view bean name by doing the following inonBeforeRequest:
>
<HttpServletRequest>.getAttribute("viewBean");
But I suspect this is not going to solve your current issue.
You could add the target page name to the page session. If there ismore
than one possible target page, it might get a little more involved.
Let me know if the use of page session needs further explanation.
c -
If you want to stop a JATO request in its tracks, you have a little black
magic at your disposal: you can throw a CompleteRequestException. This
indicates to the JATO infrastructure that it should immeditately stop
handling the request, but not generate an error, as the develper has taken
full control. You can generally throw this error from anywhere, at any
point--it is a RuntimeException, and is "tunneled" through other exception
handlers where appropriate.
In your scenario, you want to check if the user is logged in, and if not,
save the target URL using the parsePathInfo() method. Then, forward to the
login page and then throw a CompleteRequestException.
Todd
----- Original Message -----
From: "nickmalthus" <nickmalthus@h...>
Sent: Monday, January 07, 2002 3:05 PM
Subject: [iPlanet-JATO] Re: onBeforeRequest(); Finding requested view from
requestContext
I guess what I am thinking about doing is capturing the requested URL,
i.e. /appname/modulename/RequestName. In the onBeforeRequest(). I
would then check to see if the user is logged in, and if not, set the
URL in the session(or page session of the Login bean) and forward to
the Login viewbean using the viewbean manager. Inside the login view
in the handleSubmit() method I would authenticate the user and then
get the URL out of the session (or pagesession). I would then
magically get the ViewBean/Command object for the URL or otherwise
"forward the request" as if the user had typed in
/appname/modulename/RequestName, which is the behavior I am trying to
acheive.
It turns out I cannot forward in the onBeforeRequest() as it will
output the viewbean and then continue to process the request which in
turn trys to do a RequestDispatcher().forward after data has been
written to the stream which does not bode well with the servlet
container. Thus, it appears I have no control of the request in the
onBeforeRequest() method. Is this correct?
In light of this new observation I am now going to create a base view
class that all views will extend from and override the
onSecurityCheck() method to forward to my login bean. If I can't find
any other way, I will get the URL from the page session and do a
response.sendRedirect() to the URL.
Thanks for the help!
--- In iPlanet-JATO@y..., "Craig V. Conover" <craig.conover@s...> wrote:
The problem is that you don't know what the target view is until it has
been forwarded to.
Think about it... the request handling view bean (or command object)has
the request handler that has the code that will ultimately forward to
another view bean. This is code that you have written. So, until that
forwardTo() is invoked, there is no notion of a "target page".
What you do know is which "page" (view bean) the request is coming from
(the handling view bean or command class). You can get this from the
HttpServletRequest. The attribute name is "viewBean".
So you can get the view bean name by doing the following inonBeforeRequest:
<HttpServletRequest>.getAttribute("viewBean");
But I suspect this is not going to solve your current issue.
You could add the target page name to the page session. If there ismore
than one possible target page, it might get a little more involved.
Let me know if the use of page session needs further explanation.
c
For more information about JATO, including download information, pleasevisit:
http://developer.iplanet.com/tech/appserver/framework/index.jspIf you want to stop a JATO request in its tracks, you have a little black
magic at your disposal: you can throw a CompleteRequestException. This
indicates to the JATO infrastructure that it should immeditately stop
handling the request, but not generate an error, as the develper has taken
full control. You can generally throw this error from anywhere, at any
point--it is a RuntimeException, and is "tunneled" through other exception
handlers where appropriate.
In your scenario, you want to check if the user is logged in, and if not,
save the target URL using the parsePathInfo() method. Then, forward to the
login page and then throw a CompleteRequestException.
Todd
----- Original Message -----
From: "nickmalthus" <nickmalthus@h...>
Sent: Monday, January 07, 2002 3:05 PM
Subject: [iPlanet-JATO] Re: onBeforeRequest(); Finding requested view from
requestContext
I guess what I am thinking about doing is capturing the requested URL,
i.e. /appname/modulename/RequestName. In the onBeforeRequest(). I
would then check to see if the user is logged in, and if not, set the
URL in the session(or page session of the Login bean) and forward to
the Login viewbean using the viewbean manager. Inside the login view
in the handleSubmit() method I would authenticate the user and then
get the URL out of the session (or pagesession). I would then
magically get the ViewBean/Command object for the URL or otherwise
"forward the request" as if the user had typed in
/appname/modulename/RequestName, which is the behavior I am trying to
acheive.
It turns out I cannot forward in the onBeforeRequest() as it will
output the viewbean and then continue to process the request which in
turn trys to do a RequestDispatcher().forward after data has been
written to the stream which does not bode well with the servlet
container. Thus, it appears I have no control of the request in the
onBeforeRequest() method. Is this correct?
In light of this new observation I am now going to create a base view
class that all views will extend from and override the
onSecurityCheck() method to forward to my login bean. If I can't find
any other way, I will get the URL from the page session and do a
response.sendRedirect() to the URL.
Thanks for the help!
--- In iPlanet-JATO@y..., "Craig V. Conover" <craig.conover@s...> wrote:
The problem is that you don't know what the target view is until it has
been forwarded to.
Think about it... the request handling view bean (or command object)has
the request handler that has the code that will ultimately forward to
another view bean. This is code that you have written. So, until that
forwardTo() is invoked, there is no notion of a "target page".
What you do know is which "page" (view bean) the request is coming from
(the handling view bean or command class). You can get this from the
HttpServletRequest. The attribute name is "viewBean".
So you can get the view bean name by doing the following inonBeforeRequest:
<HttpServletRequest>.getAttribute("viewBean");
But I suspect this is not going to solve your current issue.
You could add the target page name to the page session. If there ismore
than one possible target page, it might get a little more involved.
Let me know if the use of page session needs further explanation.
c
For more information about JATO, including download information, pleasevisit:
http://developer.iplanet.com/tech/appserver/framework/index.jsp -
RE: [iPlanet-JATO] Re: Use Of models in utility classes
Hi all,
if you add the following to your spider2jato.xml
It will automatically map your CSpDataObject.executeImmediate to use
ExecuteImmediateUtil.executeImmediateSelect with the arguments mapped as
well.
Kostas
<mapping-rule>
<mapping-rule-primarymatch>
<![CDATA[CSpDataObject[.\s]*executeImmediate[\s]*\(([^,]*),([^)]*)\)]]>
</mapping-rule-primarymatch>
<mapping-rule-replacement>
<mapping-rule-match>
<![CDATA[CSpDataObject[.\s]*executeImmediate[\s]*\(([^,]*),([^)]*)\)]]>
</mapping-rule-match>
<mapping-rule-substitute>
<![CDATA[ExecuteImmediateUtil.executeImmediateSelect($1,$2,
getRequestContext())]]>
</mapping-rule-substitute>
</mapping-rule-replacement>
</mapping-rule>
-----Original Message-----
From: Matthew Stevens
Cc: vnamboori@y...
Sent: 11/29/01 11:23 AM
Subject: RE: [iPlanet-JATO] Re: Use Of models in utility classes
Namburi,
I have included an example in the file ExecuteImmediateUtil.java
The Yahoo Group will not handle the attached file we will put it in the
Files section shortly.
matt
-----Original Message-----
From: vnamboori@y... [mailto:<a href="/group/SunONE-JATO/post?protectID=081071113213093190112061186248100253094145066046167121181">vnamboori@y...</a>]
Sent: Thursday, November 29, 2001 12:29 PM
Subject: [iPlanet-JATO] Re: Use Of models in utility classes
Matt,
For CSpSelect.executeImmediate() I have an example of custom helpermethod as a replacement which uses JDBC results instead of
CSpDBResult.
Can you send me this example.
Thanks
Namburi
--- In iPlanet-JATO@y..., "Matthew Stevens" <matthew.stevens@E...>
wrote:
Namburi,
I will post a document to the group site this evening which has thedetails
on various tactics of migrating these type of utilities.Essentially, you
either need to convert these utilities to Models themselves or keepthe
utilities as is and simply use the
RequestManager.getRequestContext.getModelManager().getModel()
to statically access Models.
For CSpSelect.executeImmediate() I have an example of custom helpermethod
as a replacement whicch uses JDBC results instead of CSpDBResult.
matt
-----Original Message-----
From: vnamboori@y... [mailto:<a href="/group/SunONE-JATO/post?protectID=081071113213093190112061186248100208071048">vnamboori@y...</a>]
Sent: Tuesday, August 07, 2001 3:24 PM
Subject: [iPlanet-JATO] Use Of models in utility classes
Hi All,
In the present ND project we have lots of utility classes. These
classes in diffrent directory. Not part of nd pages.
In these classes we access the dataobjects and do the
manipulations.
So we access dataobjects directly like
CSpider.getDataObject("do....");
and then execute it.
Since the migration tool does not do much of conversion for these
utilities we have to do manually.
My question is Can we access the the models in the post migration
sameway or do we need requestContext?
We have lots of utility classes which are DataObject intensive.Can
someone suggest a better way to migrate this kind of code.
Thanks
Namburi
[email protected]
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]
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]Hi all,
if you add the following to your spider2jato.xml
It will automatically map your CSpDataObject.executeImmediate to use
ExecuteImmediateUtil.executeImmediateSelect with the arguments mapped as
well.
Kostas
<mapping-rule>
<mapping-rule-primarymatch>
<![CDATA[CSpDataObject[.\s]*executeImmediate[\s]*\(([^,]*),([^)]*)\)]]>
</mapping-rule-primarymatch>
<mapping-rule-replacement>
<mapping-rule-match>
<![CDATA[CSpDataObject[.\s]*executeImmediate[\s]*\(([^,]*),([^)]*)\)]]>
</mapping-rule-match>
<mapping-rule-substitute>
<![CDATA[ExecuteImmediateUtil.executeImmediateSelect($1,$2,
getRequestContext())]]>
</mapping-rule-substitute>
</mapping-rule-replacement>
</mapping-rule>
-----Original Message-----
From: Matthew Stevens
Cc: vnamboori@y...
Sent: 11/29/01 11:23 AM
Subject: RE: [iPlanet-JATO] Re: Use Of models in utility classes
Namburi,
I have included an example in the file ExecuteImmediateUtil.java
The Yahoo Group will not handle the attached file we will put it in the
Files section shortly.
matt
-----Original Message-----
From: vnamboori@y... [mailto:<a href="/group/SunONE-JATO/post?protectID=081071113213093190112061186248100253094145066046167121181">vnamboori@y...</a>]
Sent: Thursday, November 29, 2001 12:29 PM
Subject: [iPlanet-JATO] Re: Use Of models in utility classes
Matt,
For CSpSelect.executeImmediate() I have an example of custom helpermethod as a replacement which uses JDBC results instead of
CSpDBResult.
Can you send me this example.
Thanks
Namburi
--- In iPlanet-JATO@y..., "Matthew Stevens" <matthew.stevens@E...>
wrote:
Namburi,
I will post a document to the group site this evening which has thedetails
on various tactics of migrating these type of utilities.Essentially, you
either need to convert these utilities to Models themselves or keepthe
utilities as is and simply use the
RequestManager.getRequestContext.getModelManager().getModel()
to statically access Models.
For CSpSelect.executeImmediate() I have an example of custom helpermethod
as a replacement whicch uses JDBC results instead of CSpDBResult.
matt
-----Original Message-----
From: vnamboori@y... [mailto:<a href="/group/SunONE-JATO/post?protectID=081071113213093190112061186248100208071048">vnamboori@y...</a>]
Sent: Tuesday, August 07, 2001 3:24 PM
Subject: [iPlanet-JATO] Use Of models in utility classes
Hi All,
In the present ND project we have lots of utility classes. These
classes in diffrent directory. Not part of nd pages.
In these classes we access the dataobjects and do the
manipulations.
So we access dataobjects directly like
CSpider.getDataObject("do....");
and then execute it.
Since the migration tool does not do much of conversion for these
utilities we have to do manually.
My question is Can we access the the models in the post migration
sameway or do we need requestContext?
We have lots of utility classes which are DataObject intensive.Can
someone suggest a better way to migrate this kind of code.
Thanks
Namburi
[email protected]
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]
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] -
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.jspThank 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] Re: Deployment problem
Chidu,
I think that you are mired in the very common confusion of the default
behavior of the ApplicationServletBase.parsePathInfo() which will determine
the controlling/handling ViewBean via a URL design pattern. Lets take a look
at the URL
/NASApp/MigtoolboxSampleAppWar/MigtoolboxSample/IndexPage.jsp
is decomposed as follows:
/NASApp -> well, this is long story but is absolutely necessary, welcome to
iAS
/MigtoolboxSampleAppWar -> is the web application name, taken as the name of
the WAR file when there is no EAR file (this allows the Servlet/JSP
container to deferences the web application root under
<ias>/APPS/modules/MigtoolboxSampleAppWar) I think this part of the URL is
called th Context Path
/MigtoolboxSample -> is the Servlet Path, and will either directly reference
or match a Servlet Mapping
for instance
<servlet-mapping>
<servlet-name>MigtoolboxSampleServlet</servlet-name>
<url-pattern>/MigtoolboxSample/*</url-pattern>
</servlet-mapping>
tells the Servlet Container that the Servlet Path
/MigtoolboxSample
maps to the Module Servlet MigtoolboxSampleServlet
This is how EVERY request makes its way to the "front controller" pattern in
JATO. It is fundamental to JATO Applicatioan that every request pass
through the ModuleServlet.
every else on the URL past the Servlet Path is the PATH INFO. Based on this
understanding, you will see why the
ApplicationServletBase.parsePathInfo()
is so important. In parsePathInfo() the PATH INFO is compared to the design
pattern
/VIEWBEANNAME*
to determine the handling ViewBean from the first String Token in the path
info. For instance, the starting URL of the Sample Application is
/NASApp/MigtoolboxSampleAppWar/MigtoolboxSample/IndexPage
The PATH INFO is [IndexPage]
and IndexPage[ViewBean] is the handling ViewBean. Therefore, any simiarl
URL like
/NASApp/MigtoolboxSampleAppWar/MigtoolboxSample/IndexPage.jsp
/NASApp/MigtoolboxSampleAppWar/MigtoolboxSample/IndexPage.matt
/NASApp/MigtoolboxSampleAppWar/MigtoolboxSample/IndexPage.mike
/NASApp/MigtoolboxSampleAppWar/MigtoolboxSample/IndexPage.chidu
/NASApp/MigtoolboxSampleAppWar/MigtoolboxSample/IndexPage.XXX
will all result in the same handling View Bean
IndexPageViewBean
It is very important to understand that you CANNOT hit the JATO JSPs
directly. You must hit the "front controller" ModuleServlet which will
always delegate control to the handling ViewBean (a la, the "service to
workers" pattern)
You can attempt to hit the JSP directly but you need the right J2EE URL
/NASApp/MigtoolboxSampleAppWar/MigtoolboxSampleApp/MigtoolboxSample/IndexPag
e.jsp
this URL will directly hit the JSP. However, you will recieve an error
because the JATO framework quickly determines that there is no
RequestContext in the HttpRequest attributes and assumes that the "front
controller" was bypassed. Try it. You will get ERROR.
Lets go back to what you are trying to do, place Models and Viewbeans in
separate directories. I recommend that you move the Models. Models are
ONLY referenced by TYPE via the ModelManager, the compiler will ensure that
your code is correct and matches the packages, file locations, import
statements, etc. ViewBeans, on the other hand are related to the
ModuleServlet their are contained in and are loaded via type names according
to a design pattern.
if you want to separate models and Viewbean then simply move the Model and
make sure everything compiles.
you cannot move the ViewBeans
if you do want to move the JSP peers of the Viewbeans, then you can put them
anywhere in the web application doc root. When you do, update the
DEFAULT_DISPLAY_URL as Mike suggested
matt
-----Original Message-----
From: Mike Frisino [mailto:<a href="/group/SunONE-JATO/post?protectID=174176219122158198138082063148231088239026066196217193234150166091061">Michael.Frisino@S...</a>]
Sent: Thursday, July 26, 2001 10:48 PM
Subject: Re: [iPlanet-JATO] Re: Deployment problem
Chidu,
Did you have it running fine in the original default configuration, before
you started changing things around? The URL should not access the .jsp
directly. The URL should look more like this
"/NASApp/MigtoolboxSampleAppWar/MigtoolboxSample/IndexPage", without the
.jsp.
Also, please read the "Migration Tech Notes" document that is
linked to the
main doc index page. There is some information in there related
to trying to
run the sample application under iAS (see Tech Note 4 in
particular, "Note
on running the iMT "MigtoolboxSample" in iPlanet Application Server )
----- Original Message -----
From: <<a href="/group/SunONE-JATO/post?protectID=219015020150194233215218164140244063078048234051197">chidusv@y...</a>>
Sent: Thursday, July 26, 2001 7:27 PM
Subject: [iPlanet-JATO] Re: Deployment problem
Hi Mike,
I tried changing the url in all the viewbeans to reflect the new sub-
directory for the viewbeans(I have placed the jsps and viewbeans in
a sub-directory under MigtoolboxSampleApp/MigtoolboxSample). But I'm
still not able to get access to the jsps. I basically see the
message "GX Error Socket Error Code missing!!" error on the browser
thrown by iPlanet, but the log doesn't tell me anything. Does the url
which I give to access the jsp change accordingly, i.e., should I
give something other
than /NASApp/MigtoolboxSampleAppWar/MigtoolboxSample/IndexPage.jsp.
If I try to use any other url other
than /NASApp/MigtoolboxSampleAppWar/MigtoolboxSample/IndexPage.jsp, I
see the FileNotFoundException in the log.
I guess I'm still missing something.
Thanks for your help.
--Chidu.
--- In <a href="/group/SunONE-JATO/post?protectID=210083235237078198050118178206047166136158139046209">iPlanet-JATO@y...</a>, "Mike Frisino" <<a href="/group/SunONE-JATO/post?protectID=174176219122158198138082063148231088239026066196217130152150">Michael.Frisino@S...</a>> wrote:
Chidu.
Did you also adjust the following member in each of the ViewBeans?
public static final String DEFAULT_DISPLAY_URL=
"/jatosample/module1/Index.jsp";
Try adjusting this to be consistent with your new hierarchy.
Also, if you still have problems, send us the error message thatyou recieve
when you try to access the page. That would help.
----- Original Message -----
From: <<a href="/group/SunONE-JATO/post?protectID=219015020150194233215218164036129208">chidusv@y...</a>>
Sent: Thursday, July 26, 2001 4:48 PM
Subject: [iPlanet-JATO] Deployment problem
Hi,
We have a requirement to seperate the models and viewbeans and
keep
them in seperate directories. Is it possible to seperate the
viewbeans and models not be in the same directory?
I tried seperating the two in the MigtoolboxSampleApp application
provided by JATO. I changed the package and import statements
accordingly in the viewbeans, jsps and the models. But when I
deployed the application, I'm not able to access the Index page or
any of the jsps. Does the ApplicationServletBase always look forthe
viewbean in the same path as that of the module servlet?
Any help will be appreciated.
Thanks,
Chidu.
<a href="/group/SunONE-JATO/post?protectID=210083235237078198050118178206047166215146166214017110250006230056039126077176105140127082088124241215002153">[email protected]</a>
<a href="/group/SunONE-JATO/post?protectID=210083235237078198050118178206047166215146166214017110250006230056039126077176105140127082088124241215002153">[email protected]</a>
<a href="/group/SunONE-JATO/post?protectID=210083235237078198050118178206047166215146166214017110250006230056039126077176105140127082088124241215002153">[email protected]</a>Hi Mike,
I tried changing the url in all the viewbeans to reflect the new sub-
directory for the viewbeans(I have placed the jsps and viewbeans in
a sub-directory under MigtoolboxSampleApp/MigtoolboxSample). But I'm
still not able to get access to the jsps. I basically see the
message "GX Error Socket Error Code missing!!" error on the browser
thrown by iPlanet, but the log doesn't tell me anything. Does the url
which I give to access the jsp change accordingly, i.e., should I
give something other
than /NASApp/MigtoolboxSampleAppWar/MigtoolboxSample/IndexPage.jsp.
If I try to use any other url other
than /NASApp/MigtoolboxSampleAppWar/MigtoolboxSample/IndexPage.jsp, I
see the FileNotFoundException in the log.
I guess I'm still missing something.
Thanks for your help.
--Chidu.
--- In iPlanet-JATO@y..., "Mike Frisino" <Michael.Frisino@S...> wrote:
>
Chidu.
Did you also adjust the following member in each of the ViewBeans?
public static final String DEFAULT_DISPLAY_URL=
"/jatosample/module1/Index.jsp";
Try adjusting this to be consistent with your new hierarchy.
Also, if you still have problems, send us the error message that you recieve
when you try to access the page. That would help.
----- Original Message -----
From: <chidusv@y...>
Sent: Thursday, July 26, 2001 4:48 PM
Subject: [iPlanet-JATO] Deployment problem
Hi,
We have a requirement to seperate the models and viewbeans and
keep
them in seperate directories. Is it possible to seperate the
viewbeans and models not be in the same directory?
I tried seperating the two in the MigtoolboxSampleApp application
provided by JATO. I changed the package and import statements
accordingly in the viewbeans, jsps and the models. But when I
deployed the application, I'm not able to access the Index page or
any of the jsps. Does the ApplicationServletBase always look for the
viewbean in the same path as that of the module servlet?
Any help will be appreciated.
Thanks,
Chidu.
[email protected] -
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.jspThe 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] 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.jspThe 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] More on ComputedColumn issue
Vladimir--
I'm going to answer this question without doing my full homework on it;
please let me know if I hit the mark or not. If I understand correctly, you
have a problem using a model for both UPDATE and SELECT queries because of a
computed column...correct?
If so, this issue is solved in JATO 1.2. 1.2 has an attribute in the field
descriptor to indicate in which type of queries a field should be used. You
can use this attribute to indicate that a field should only be used for
UPDATE queries, SELECT queries, or whatever combination of query types you
require. You can then define synthetic fields for use only during one of
the query types.
Does this sound useful in fixing your issue? A way around this in JATO 1.1
would be to create separate models for SELECT and UPDATE queries. The
SELECT model could contain all the fields for the joined query, but the
UPDATE model would contain info for only one table. The 1.2 feature simple
allows you to do the same using one model.
Todd
----- Original Message -----
From: "vivanov4114" <vivanov@b...>
Sent: Friday, January 11, 2002 8:12 AM
Subject: [iPlanet-JATO] More on ComputedColumn issue
We have a similar problem with do's ComputedColumn after the
translation as Kostas described in his detailed message #439.
We have JATO/iMT version 1.1. Is the resolution of this problem added
to the version 1.2 (or 1.2.1)?
I've tried to adjust the ModelImpl class based on the .sdo file
(using ComputedColumn attributes) for these fields and failed.
Whether I missed something else, or our situation is a little bit
different.
In our case the dataObject has one Computed Field from one table and
another Computed Field from another table along with joint between
these two tables and third one, and, finally, the whole stuff is
under the repeatable (with static fields bindings to these two
computed fields).
The modelImpl class after the translation (as in the #439) has the
same values "" and "." for ..._NAME and QUALIFIED_..._NAME strings
respectively (for each computed do's field).
I guess that we could meet extra problem with this (for manual
adjustment) because of there is no TableName attribute in .sdo file
for computed field (as well as there is no ColumnName attribute for
computed field). If ComputedColumn attribute (computed field) could
play a role of ColumnName attribute (regular case), what would be an
analog of TableName attribute for computed field?
The bottom line of this is as follows: we have a same
SQLException "Invalid Column Name"
from ResultSetModelBase.updateModel() as Kostas described. It causes
the problem for
RequestHandlingTiledViewBase.executeAutoRetrieving() method that
can't bind the proper Model.
Finally, beginDisplay() method from
pgXXXXPriorityCountTiledView.class throws exception and
jasper compiler brings run-time error (Tomcat 3.2).
Kostas, if this problem still exists for translation of such cases,
could you please post a fragment that fixed you original problem in
addition to the message #439 (just to be sure, that I haven't missed
something important).
Thank you very much in advance.
Vladimir Ivanov,
P. S. I've enclosed the excerption from the .sdo file for this
dataObject below.
Class "SQLObject" ;
Name "doPriorityCount" ;
DataFields {
0 { // first df is a computed column from the first
//table
Class "DataField" ;
Name "dfPriorityDesc" ;
ComputedColumn "MIN
(MOS.PRIORITY.PDESCRIPTION)" ;
1 { // second df is a computed column from the second
// table
Class "DataField" ;
Name "dfPriorityCount" ;
ComputedColumn "COUNT
(ASSIGNEDTASKSWORKQUEUE.PRIORITYID)" ;
2 { // third df is a regular df
Class "DataField" ;
Name "MOS_PRIORITY_PRIORITYID" ;
TableName "MOS.PRIORITY" ; // this attribute
// doesn't exist for ComputedColumn
ColumnName "PRIORITYID" ; // this attribute
// doesn't exist for ComputedColumn
DataCachingEnabled "False" ;
DataCachingDuration "0" ;
DataCachingMaxRows "200" ;
DataObjectType "Select" ;
Tables "MOS.ASSIGNEDTASKSWORKQUEUE,MOS.PRIORITY,MOS.DEAL" ;
SQLDistinct "False" ;
SelectFilter {
"MOS.DEAL.SCENARIORECOMMENDED" ;
"=" ;
"'Y'" ;
"AND" ;
"MOS.DEAL.COPYTYPE" ;
"<>" ;
"'T'" ;
SelectOrder {
"MOS.PRIORITY.PRIORITYID ASC" ;
SelectGroup {
"MOS.PRIORITY.PRIORITYID" ;
EnableEntireTableDelete "False" ;
EnableEntireTableUpdate "False" ;
SQLTextOverrideSelect "Partial" ;
SQLTextOverrideDelete "None" ;
SQLTextSelectJoin "MOS.ASSIGNEDTASKSWORKQUEUE.DEALID =
MOS.DEAL.DEALID
AND MOS.PRIORITY.PRIORITYID <> 0
AND MOS.PRIORITY.PRIORITYID =
MOS.ASSIGNEDTASKSWORKQUEUE.PRIORITYID(+)
AND MOS.ASSIGNEDTASKSWORKQUEUE.TASKSTATUSID
(+) = 1 " ;
For more information about JATO, including download information, pleasevisit:
http://developer.iplanet.com/tech/appserver/framework/index.jspTodd,
Sorry for the delay with the answer, I've tried to obtain JATO 1.2
and repeat the project migration to verify whether version 1.2 solves
my problem or not (actually, it is a pilot sub-project).
Unfortunately, I still have no 1.2 version.
Let me try to answer on your question without getting the results
with JATO 1.2. Your explanation sounds like version 1.2 is very close
to solve the problem. Actually, our situation is easier because we
have SELECT object only, not SELECT and UPDATE. For data integrity
the only 'Select' ND's do(s) have been used through the whole
project. The backend communication (update, delete) is provided via
EJB like (entity) Java classes.
My question is: could I define synthetic field with 1.1.1 version. By
the way, word synthetic reflects the possibility to construct the
field under certain SQL circumstances (SELECT, UPDATE, e.g.) or the
possibility to construct a `fake' field (for example,
CountColumn of a do) as well. If the later is true, could you please
give a brief idea how to create this synthetic field.
After the translation in the doPriorityCountModelImpl class we've
got:
public static final String COLUMN_DFPRIORITYDESC="";
public static final String QUALIFIED_COLUMN_DFPRIO
RITYDESC=".";
public static final String COLUMN_DFPRIORITYCOUNT="";
public static final String QUALIFIED_COLUMN_DFPRIO
RITYCOUNT=".";
(see my original post please with details, as well).
If this is not a problem for 1.2 please do not waste your time to fix
it for 1.1.1. I need to repeat my results with the version 1.2 anyway.
We have a number of similar idioms through the project. In this
particular case, the CountColumn that counts the field from another
table may bring problem for manual adjustment (see my original
notes). The whole SQL query is as follows (for this case):
SELECT MIN(MOS.PRIORITY.PDESCRIPTION),
COUNT(ASSIGNEDTASKSWORKQUEUE.PRIORITYID),
MOS.PRIORITY.PRIORITYID
FROM MOS.ASSIGNEDTASKSWORKQUEUE, MOS.PRIORITY, MOS.DEAL
WHERE MOS.DEAL.SCENARIORECOMMENDED = 'Y'
AND MOS.DEAL.COPYTYPE <> 'T'
GROUP BY MOS.PRIORITY.PRIORITYID
ORDER BY MOS.PRIORITY.PRIORITYID ASC
During the pre-handler activity (it is the part of our Object
Framework on the top of Netdynamics Object Framework) system passes
id (and mos.deal.dealid = XXX) to the do (select query). After the
run-time execution of this do the results are displayed on the screen
bind to the repeatable statics.
Thank you very much,
Vladimir
--- In iPlanet-JATO@y..., "Todd Fast" <Todd.Fast@S...> wrote:
Vladimir--
I'm going to answer this question without doing my full homework on it;
please let me know if I hit the mark or not. If I understand correctly, you
have a problem using a model for both UPDATE and SELECT queries because of a
computed column...correct?
If so, this issue is solved in JATO 1.2. 1.2 has an attribute in the field
descriptor to indicate in which type of queries a field should be used. You
can use this attribute to indicate that a field should only be used for
UPDATE queries, SELECT queries, or whatever combination of query types you
require. You can then define synthetic fields for use only during one of
the query types.
Does this sound useful in fixing your issue? A way around this in JATO 1.1
would be to create separate models for SELECT and UPDATE queries. The
SELECT model could contain all the fields for the joined query, but the
UPDATE model would contain info for only one table. The 1.2 feature simple
allows you to do the same using one model.
Todd
----- Original Message -----
From: "vivanov4114" <vivanov@b...>
Sent: Friday, January 11, 2002 8:12 AM
Subject: [iPlanet-JATO] More on ComputedColumn issue
We have a similar problem with do's ComputedColumn after the
translation as Kostas described in his detailed message #439.
We have JATO/iMT version 1.1. Is the resolution of this problem
added
to the version 1.2 (or 1.2.1)?
I've tried to adjust the ModelImpl class based on the .sdo file
(using ComputedColumn attributes) for these fields and failed.
Whether I missed something else, or our situation is a little bit
different.
In our case the dataObject has one Computed Field from one table and
another Computed Field from another table along with joint between
these two tables and third one, and, finally, the whole stuff is
under the repeatable (with static fields bindings to these two
computed fields).
The modelImpl class after the translation (as in the #439) has the
same values "" and "." for ..._NAME and QUALIFIED_..._NAME strings
respectively (for each computed do's field).
I guess that we could meet extra problem with this (for manual
adjustment) because of there is no TableName attribute in .sdo file
for computed field (as well as there is no ColumnName attribute for
computed field). If ComputedColumn attribute (computed field) could
play a role of ColumnName attribute (regular case), what would be an
analog of TableName attribute for computed field?
The bottom line of this is as follows: we have a same
SQLException "Invalid Column Name"
from ResultSetModelBase.updateModel() as Kostas described. It causes
the problem for
RequestHandlingTiledViewBase.executeAutoRetrieving() method that
can't bind the proper Model.
Finally, beginDisplay() method from
pgXXXXPriorityCountTiledView.class throws exception and
jasper compiler brings run-time error (Tomcat 3.2).
Kostas, if this problem still exists for translation of such cases,
could you please post a fragment that fixed you original problem in
addition to the message #439 (just to be sure, that I haven't missed
something important).
Thank you very much in advance.
Vladimir Ivanov,
P. S. I've enclosed the excerption from the .sdo file for this
dataObject below.
Class "SQLObject" ;
Name "doPriorityCount" ;
DataFields {
0 { // first df is a computed column from the first
//table
Class "DataField" ;
Name "dfPriorityDesc" ;...........................................
ComputedColumn "MIN
(MOS.PRIORITY.PDESCRIPTION)" ;............................................
1 { // second df is a computed column from the second
// table
Class "DataField" ;
Name "dfPriorityCount" ;
ComputedColumn "COUNT
(ASSIGNEDTASKSWORKQUEUE.PRIORITYID)" ;
2 { // third df is a regular df
Class "DataField" ;
Name "MOS_PRIORITY_PRIORITYID" ;
TableName "MOS.PRIORITY" ; // this attribute
// doesn't exist for ComputedColumn
ColumnName "PRIORITYID" ; // this attribute
// doesn't exist for ComputedColumn
DataCachingEnabled "False" ;
DataCachingDuration "0" ;
DataCachingMaxRows "200" ;
DataObjectType "Select" ;
Tables "MOS.ASSIGNEDTASKSWORKQUEUE,MOS.PRIORITY,MOS.DEAL" ;
SQLDistinct "False" ;
SelectFilter {
"MOS.DEAL.SCENARIORECOMMENDED" ;
"=" ;
"'Y'" ;
"AND" ;
"MOS.DEAL.COPYTYPE" ;
"<>" ;
"'T'" ;
SelectOrder {
"MOS.PRIORITY.PRIORITYID ASC" ;
SelectGroup {
"MOS.PRIORITY.PRIORITYID" ;
EnableEntireTableDelete "False" ;
EnableEntireTableUpdate "False" ;
SQLTextOverrideSelect "Partial" ;
SQLTextOverrideDelete "None" ;
SQLTextSelectJoin "MOS.ASSIGNEDTASKSWORKQUEUE.DEALID =
MOS.DEAL.DEALID
AND MOS.PRIORITY.PRIORITYID <> 0
AND MOS.PRIORITY.PRIORITYID =
MOS.ASSIGNEDTASKSWORKQUEUE.PRIORITYID(+)
AND
MOS.ASSIGNEDTASKSWORKQUEUE.TASKSTATUSID
(+) = 1 " ;
For more information about JATO, including download information, please
visit:
http://developer.iplanet.com/tech/appserver/framework/index.jsp
Maybe you are looking for
-
Hello Experts, I am facing issue while sending multiple items to sales order BAPI. I have tested from the adapter xml seems to be correct but it throws an exception for multiple line item number. Do I need apply any fix? Please help in a critical sit
-
Read from txt file - .OutOfMemoryError: Java heap space
I hava a text file. Read row by row and add every row to the LinkedMap. If number of row in file are 2 000 - OK it's work. But when number of rows > 2 500 I get the next exception: Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: Ja
-
Just recently converted from PC to a Mac Pro. What is the best way to get TV on my MAC? The PC required a PCI Card plus software & drivers. I assume my old Hauppauge TV card will not work in the MAC nor is there an application & drivers for MAC???
-
Ipod Hifi + Airport Express - Do I need a cable as well ??
Folks I've just ordered an Ipod Hifi ( I hope they don't bring out a black one now! ) and an Airport Express from Amazon - much cheaper than Apple store. I'd like to use Airtunes from my laptop via Airport Express and also have the Hifi connected up
-
Session time in Adobe Reader?
Hi, I have a pdf form that users use to submit data to my application witch stays on an application server. From there the data is submited to LifeCycle for prossesing. The system works fine if the form has less then 30 pages. However the form can ge