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]
Similar Messages
-
Re: [iPlanet-JATO] Experiencing problem while executing model.
Hi Todd,
Thanks a lot for your input!
In the case , I found that "TO_CHAR(PLAN_DT, 'MM/DD/YYYY')" is alaised as a
column name in the resultset. So I am using this as a column in Jato
Descriptor for Plan_Dt. Now it is working fine.
Thanks and Regards,
Santa.
----- Original Message -----
From: Todd Fast <toddwork@c...>
Sent: Thursday, July 26, 2001 9:50 AM
Subject: Re: [iPlanet-JATO] Experiencing problem while executing model.
Santa--
I am experiencing a problem while executing a bounded model. I am usingQueryModelBase. Whenever the following query gets executed inonBeforeModel
execute of TiledView, it throws an exception describing "PLAN_DT not found
in ResultSet". If you execute this query on the SQL prompt then we getrows
of data. Please could you tell us how the mapping between model and
resultset works ? And what changes do we have to make to execute thisquery.
>>
SELECT PART_NM,NEWTXTDOLL
TO_CHAR(PLAN_DT, 'MM/DD/YYYY'),
FROM cpsselect
WHERE CHG_DT >= TO_DATE('2001-06-17', 'YYYY-MM-DD')The mapping of result set to model is done via JDBC, using the columnnames
you provide in your model's column descriptors. It sounds as if you are
providing the column name "PLAN_DT" in a descriptor, and when the model
tries to look up that column in the result set, there is no such columnand
the operation fails.
In order to debug this, you should try running your query with a JDBC
connection, not SQL*Plus or your command-line SQL tool. What you need to
find out is how the expresion "TO_CHAR(PLAN_DT, 'MM/DD/YYYY')" is aliasedas
a column name in the resut set. The easiest way to do this is to write a
simple class that does nothing but use your JDBC driver to connect the
database and execute this query. After execution, use theResultSetMetaData
information to find out the column names for the result set. Then, use
these column names in your JATO column descriptors.
Another Problem:We are not getting the values for NEWTXTDOLL column whenwe try to display it in a Tiled View.
I'm sorry, this isn't enough information for me to offer any suggestions.
Using the technique above, determine which columns are coming back in the
result set, and make sure your display fields in the TiledView are boundto
those column names. The problem could be something as simple as a typo in
the field's bound name, or something more complex like the column in the
result set being named something you don't expect.
Another approach might be to alias the columns yourself using the "AS
<alias>" expression, and assign them names that you choose instead ofusing
the names assigned by the database or JDBC driver.
Todd
[email protected]
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]Hi Todd,
Thanks a lot for your input!
In the case , I found that "TO_CHAR(PLAN_DT, 'MM/DD/YYYY')" is alaised as a
column name in the resultset. So I am using this as a column in Jato
Descriptor for Plan_Dt. Now it is working fine.
Thanks and Regards,
Santa.
----- Original Message -----
From: Todd Fast <toddwork@c...>
Sent: Thursday, July 26, 2001 9:50 AM
Subject: Re: [iPlanet-JATO] Experiencing problem while executing model.
Santa--
I am experiencing a problem while executing a bounded model. I am usingQueryModelBase. Whenever the following query gets executed inonBeforeModel
execute of TiledView, it throws an exception describing "PLAN_DT not found
in ResultSet". If you execute this query on the SQL prompt then we getrows
of data. Please could you tell us how the mapping between model and
resultset works ? And what changes do we have to make to execute thisquery.
>>
SELECT PART_NM,NEWTXTDOLL
TO_CHAR(PLAN_DT, 'MM/DD/YYYY'),
FROM cpsselect
WHERE CHG_DT >= TO_DATE('2001-06-17', 'YYYY-MM-DD')The mapping of result set to model is done via JDBC, using the columnnames
you provide in your model's column descriptors. It sounds as if you are
providing the column name "PLAN_DT" in a descriptor, and when the model
tries to look up that column in the result set, there is no such columnand
the operation fails.
In order to debug this, you should try running your query with a JDBC
connection, not SQL*Plus or your command-line SQL tool. What you need to
find out is how the expresion "TO_CHAR(PLAN_DT, 'MM/DD/YYYY')" is aliasedas
a column name in the resut set. The easiest way to do this is to write a
simple class that does nothing but use your JDBC driver to connect the
database and execute this query. After execution, use theResultSetMetaData
information to find out the column names for the result set. Then, use
these column names in your JATO column descriptors.
Another Problem:We are not getting the values for NEWTXTDOLL column whenwe try to display it in a Tiled View.
I'm sorry, this isn't enough information for me to offer any suggestions.
Using the technique above, determine which columns are coming back in the
result set, and make sure your display fields in the TiledView are boundto
those column names. The problem could be something as simple as a typo in
the field's bound name, or something more complex like the column in the
result set being named something you don't expect.
Another approach might be to alias the columns yourself using the "AS
<alias>" expression, and assign them names that you choose instead ofusing
the names assigned by the database or JDBC driver.
Todd
[email protected]
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] -
Re: [iPlanet-JATO] sp3 jsp compiler problem
Weiguo,
First, Matt is correct, the regular expression tool is perfect for general text
substitution situations, and as a completely independent tool its use is not
restricted to migration situations (or file types for that matter).
Second, I sympathize with the unfortunate trouble you are experiencing due to
Jasper's (perhaps more strict) compilation, but in what way did the iMT
automated translation contribute to these inconsistencies that you cited?
1. Changed the case of the tag attribute to be the same as what's
defined in tld.
example: changed OnClick to onClick
The iMT does not generate any OnClick or onClick clauses per se. In a
translation situation, the only way "OnClick" would have been introduced was if
it had been part of the pre-existing project's "extraHTML" (which was written
by the original customer and just passed through unchanged by the iMT) or if it
was added manually by the post-migration developer.
2. Removed attributes which are not defined in tld.
example: escape attribute only defined in three tags
but in some pages, it's used although it's not defined as an
attribute
of certain tags. The jasper compiler doesn't like it.Can you give soem examples? Is there a definite pattern? Again, this might be
similar to the OnClick situation described above?
3. In an end tag, there can't be any space.
example: </content > doesn't work. </content> works.
Again, the content tag would never have been generated by the iMT. There was no
equivalent in the NetDynamics world, so any content tags in your code must have
been introduced by your developers manually. Its a shame that jasper is so
particular, but the iMT could not help you out here even if we wanted to. The
constants that are used by the iMT are defined in
com.iplanet.moko.jsp.convert.JspConversionConstants. From what I can see, the
only situation of a closing tag with any space in it is
public static final String CLOSE_EMPTY_ELEMENT = " />";
But that should not cause the type of problem you are referring to.
Mike
----- Original Message -----
From: Matthew Stevens
Sent: Thursday, September 06, 2001 10:16 AM
Subject: RE: [iPlanet-JATO] sp3 jsp compiler problem
Weiguo,
Others will chime in for sure...I would highly recommend the Regex Tool from
the iMT 1.1.1 for tackling this type of problem. Mike, Todd and myself have
posted to the group (even recently) on directions and advantages of creating
your own RULES (rules file) in XML for arbitary batch processing of source.
matt
-----Original Message-----
From: weiguo.wang@b...
[mailto:<a href="/group/SunONE-JATO/post?protectID=125056020108194190033029175101192165174144234026000079108238073194105057099246073154180137239239223019162">weiguo.wang@b...</a>]
Sent: Thursday, September 06, 2001 12:25 PM
Subject: [iPlanet-JATO] sp3 jsp compiler problem
Matt/Mike/Todd,
We are trying to migrate to sp3 right now, but have had a lot of
issues with the new jasper compiler.
The following workaround has been employed to solve the issues:
1. Changed the case of the tag attribute to be the same as what's
defined in tld.
example: changed OnClick to onClick
2. Removed attributes which are not defined in tld.
example: escape attribute only defined in three tags
but in some pages, it's used although it's not defined as an
attribute
of certain tags. The jasper compiler doesn't like it.
3. In an end tag, there can't be any space.
example: </content > doesn't work. </content> works.
As I see it, we have two options to go about solving this problem:
1. Write a script which will iterate through all the jsp files and
call jspc on them. Fix the errors manually when jspc fails. Jspc will
flag the line number where an error occurs.
2. Write a utility which scans the jsp files and fix the errors when
they are encountered. We should define what's an error and how to
correct it. It's best if we combine this with solution 1 since we
might miss an error condition.
Actually, there might be another option, which is seeking help from
you guys since you have better understanding of JATO and iAS. Can you
do anything to help us?
We would be happy to hear your thoughts.
At last, I would like to suggest modifying the moko tool so that
these rules are enforced and the generated JSPs work with the new
compiler. This is for the benefit of any new migration projects.
Thanks a lot.
Weiguo
[email protected]
Choose from 1000s of job listings!
[email protected]
[Non-text portions of this message have been removed]Thanks a lot Matt and Mike for your prompt replies.
I agree completely that iMT doesn't introduce the inconsistencies.
About the three cases I mentioned, the third one happens only in
manually created JSPs. So it has nothing to do with iMT. The first
two are mainly due to the existing HTML code, as you rightly pointed
out.
The reason I made the suggestion is since we know that case 1 and 2
won't pass the japser compiler in sp3, we have to do something about
it. The best place to do this, in my mind, is iMT. Of course, there
might be some twists that make it impossible or difficult to do this
kind of case manipulation or attribute discard.
Weiguo
--- In iPlanet-JATO@y..., "Mike Frisino" <Michael.Frisino@S...> wrote:
Weiguo,
First, Matt is correct, the regular expression tool is perfect for general text substitution situations, and as a completely independent
tool its use is not restricted to migration situations (or file types
for that matter).
>
Second, I sympathize with the unfortunate trouble you are experiencing due to Jasper's (perhaps more strict) compilation, but
in what way did the iMT automated translation contribute to these
inconsistencies that you cited?
>
1. Changed the case of the tag attribute to be the same as what's
defined in tld.
example: changed OnClick to onClick
The iMT does not generate any OnClick or onClick clauses per se. In a translation situation, the only way "OnClick" would have been
introduced was if it had been part of the pre-existing
project's "extraHTML" (which was written by the original customer and
just passed through unchanged by the iMT) or if it was added manually
by the post-migration developer.
>
2. Removed attributes which are not defined in tld.
example: escape attribute only defined in three tags
but in some pages, it's used although it's not defined as an
attribute
of certain tags. The jasper compiler doesn't like it.Can you give soem examples? Is there a definite pattern? Again, this might be similar to the OnClick situation described above?
>
>
3. In an end tag, there can't be any space.
example: </content > doesn't work. </content> works.
Again, the content tag would never have been generated by the iMT. There was no equivalent in the NetDynamics world, so any content tags
in your code must have been introduced by your developers manually.
Its a shame that jasper is so particular, but the iMT could not help
you out here even if we wanted to. The constants that are used by the
iMT are defined in
com.iplanet.moko.jsp.convert.JspConversionConstants. From what I can
see, the only situation of a closing tag with any space in it is
public static final String CLOSE_EMPTY_ELEMENT = " />";
But that should not cause the type of problem you are referring to.
Mike
----- Original Message -----
From: Matthew Stevens
Sent: Thursday, September 06, 2001 10:16 AM
Subject: RE: [iPlanet-JATO] sp3 jsp compiler problem
Weiguo,
Others will chime in for sure...I would highly recommend the Regex Tool from
the iMT 1.1.1 for tackling this type of problem. Mike, Todd and myself have
posted to the group (even recently) on directions and advantages of creating
your own RULES (rules file) in XML for arbitary batch processing of source.
>
matt
-----Original Message-----
From: weiguo.wang@b...
[mailto:<a href="/group/SunONE-JATO/post?protectID=125056020108194190033029175101192165174048139046">weiguo.wang@b...</a>]
Sent: Thursday, September 06, 2001 12:25 PM
Subject: [iPlanet-JATO] sp3 jsp compiler problem
Matt/Mike/Todd,
We are trying to migrate to sp3 right now, but have had a lot of
issues with the new jasper compiler.
The following workaround has been employed to solve the issues:
1. Changed the case of the tag attribute to be the same as
what's
defined in tld.
example: changed OnClick to onClick
2. Removed attributes which are not defined in tld.
example: escape attribute only defined in three tags
but in some pages, it's used although it's not defined as an
attribute
of certain tags. The jasper compiler doesn't like it.
3. In an end tag, there can't be any space.
example: </content > doesn't work. </content> works.
As I see it, we have two options to go about solving this problem:
>>
1. Write a script which will iterate through all the jsp files and
call jspc on them. Fix the errors manually when jspc fails. Jspc will
flag the line number where an error occurs.
2. Write a utility which scans the jsp files and fix the errors when
they are encountered. We should define what's an error and how to
correct it. It's best if we combine this with solution 1 since we
might miss an error condition.
Actually, there might be another option, which is seeking help from
you guys since you have better understanding of JATO and iAS. Can you
do anything to help us?
We would be happy to hear your thoughts.
At last, I would like to suggest modifying the moko tool so that
these rules are enforced and the generated JSPs work with the new
compiler. This is for the benefit of any new migration projects.
Thanks a lot.
Weiguo
[email protected]
Choose from 1000s of job listings!
[email protected]
Service.
>
>
>
[Non-text portions of this message have been removed] -
Re: [iPlanet-JATO] Sorting a resultset
Steve,
Todd will probably address this more, but to set the stage for the discussion,
I will chime in. As per your scenario "say a user wants to resort the results
by some other column" , I think there needs to be some clarification on the
life cycle of the model. You scenario implies that the user sees the data and
then submits a request to sort the data. This implies that the access to the
same data is spread across two HTTP requests.
Unless explicitly or implicitly stored in session, the Model is a per request
object. Therefore, under ordinary circumstances a new instance of Model is
constructed per request and populated as needed. This is done for scalability
reasons. Most applications would not scale properly if all model instances were
kept around in session per user. There is also the issue of data integrity, a
model stored in session may not reflect the current state of the RDBMS from
which the data was previously retrieved, perhaps minutes before. So, the
default action is to instantiate a new model and repopulate that model The
normal solution would be to apply the sort criteria to the data retrieval at
that point.
What I described above is the norm and the default.
If you have compelling reasons to prefer a single retrieval style, you have to
be prepared to store the Model data in session. There are several methods
within the ModelManager class which assist in this regard. You can see them
described in the java doc.
Also bear in mind that the SQLModelBase typically copies the data from the JDBC
result set into JATO specific local storage. This is done because the JDBC
result set is not as flexible as developer needs and requires the JDBC
connection to remain open while it is used.
I suspect that Todd will describe how you can manipulate the underlying JATO
specific local storage to change the order. I just wanted to make sure you
understood the life cycle issues involved and had justification for deviating
from the default.
Also, I'm still waiting for followup on the defaultCommandChild issue - we'd
like to fix it for JATO 1.2.1 if it is a problem and so far your case is the
only one we have heard of.
----- Original Message -----
From: stephen_winer
Sent: Wednesday, December 12, 2001 9:42 AM
Subject: [iPlanet-JATO] Sorting a resultset
If I want to sort a result set (Model) after the search has taken
place (say a user wants to resort the results by some other column),
can this be done without issuing another query? The reason I ask is
that the next() method in the ResultSetModelBase calls synchronizeRow
(), which resets the row, which sounds like a sort done outside of
the SQL would be reverted.
Steve
For more information about JATO, please visit:
http://developer.iplanet.com/tech/appserver/framework/index.jsp
[Non-text portions of this message have been removed]The hidden field was present in the page, but it looked like this:
<input type="hidden" name="jato.defaultCommand" value=""../search"">
Seems like there is a small bug in the code generating this tag.
FYI - I am using JATO1.2
What file displays this text? Maybe I can go in and fix it and rejar
it.
Steve
--- Mike Frisino wrote:
Steve,
Can you check the HTML source that shows up in the browser? Do you see an entry that looks like this at the bottom of the form in
question?
>
<input type="hidden" name="jato.defaultCommand" value="/search">
To answer your question - it should work as you described. Some of the JatoSample make use of the defaultCommandChild. Can you try
running the sample BasicSample->Field Types and let us know what you
see.
>
Failing this you can send me your jsp file , maybe there is some subtle issue there. michael.frisino@s...
>
>
----- Original Message -----
From: stephen_winer
Sent: Friday, December 07, 2001 8:05 AM
Subject: [iPlanet-JATO] Using the defaultCommandChild in a form
I am trying to set the defaultCommandChild in my jato:form tag to be
the searcg button. The search button definition is:
<jato:button name="search"/>.
The form tag definition is:
<jato:form name="PendingIA" defaultCommandChild="/search">
Clicking on the search button works fine, but hitting return in one
of the textFields (which submits the form) passes a value of "" to
the createChild method in my viewBean, which throws an error. Why
does this not just work as normal and trigger the handleSearchRequest
() method?
Steve
For more information about JATO, please visit:
http://developer.iplanet.com/tech/appserver/framework/index.jsp
Service.
>
>
>
[Non-text portions of this message have been removed] -
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: Href click & tiled view display
Srinivas--
Remember, attachments don't come through on the forum. Please send them to
the jatoteam@e... alias.
Todd
----- Original Message -----
From: "Srinivas Chikkam" <srinivas.chikkam@w...>
Sent: Thursday, July 19, 2001 5:26 AM
Subject: [iPlanet-JATO] Re: Href click & tiled view display
Todd,
I'm calling resetTileIndex() in the begin display of the tiled views.
I'm attaching the code with this mail.
Outer tile: pgModelDistributionrMultiplePayeesTiledView
inner tile: pgModelDistributionrPayeeDetailsTiledView
Yes, Matt's mail helped me in resolving the first problem (submitting
the form on href click).
I have replaced the href from
<a
href="../Participant/pgModelDistribution?pgModelDistribution.linkNetDistribu
tion=&pageAttributes=">
$1,000 </a>
to
$1,000
and added a new javascript method as below:
function netDistFunc()
val = document.forms[0].elements["pageAttributes"].value;
_url =
"../Participant/pgModelDistribution?pgModelDistribution.linkNetDistribution=
&pageAttributes="+val;
>
document.forms[0].method = "post";
document.forms[0].action = _url;
document.forms[0].submit();
return false;
Now, I'm able to get the data entered by the user.
Thanks
Srinivas
Message: 2
Date: Wed, 18 Jul 2001 04:03:51 -0600
From: "Todd Fast" <toddwork@c...>
Subject: Re: Digest Number 157
Srinivas--
From where are you calling these methods, what event? Maybe you shouldsend
me the code for your nested tiled views--that's probably the easiest way
for
me to understand what's happening. Also, were any of Matt's
suppositions
correct?
Todd
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 towhich
it is addressed, and may contain information that is privileged,confidential or
exempt from disclosure under applicable law. If this is a forwardedmessage,
the content of this E-MAIL may not have been sent with the authority ofthe
Company. If you are not the intended recipient, an agent of the intended
recipient or a person responsible for delivering the information to thenamed
recipient, you are notified that any use, distribution, transmission,printing,
copying or dissemination of this information in any way or in any manneris
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]Srinivas--
Remember, attachments don't come through on the forum. Please send them to
the jatoteam@e... alias.
Todd
----- Original Message -----
From: "Srinivas Chikkam" <srinivas.chikkam@w...>
Sent: Thursday, July 19, 2001 5:26 AM
Subject: [iPlanet-JATO] Re: Href click & tiled view display
Todd,
I'm calling resetTileIndex() in the begin display of the tiled views.
I'm attaching the code with this mail.
Outer tile: pgModelDistributionrMultiplePayeesTiledView
inner tile: pgModelDistributionrPayeeDetailsTiledView
Yes, Matt's mail helped me in resolving the first problem (submitting
the form on href click).
I have replaced the href from
<a
href="../Participant/pgModelDistribution?pgModelDistribution.linkNetDistribu
tion=&pageAttributes=">
$1,000 </a>
to
$1,000
and added a new javascript method as below:
function netDistFunc()
val = document.forms[0].elements["pageAttributes"].value;
_url =
"../Participant/pgModelDistribution?pgModelDistribution.linkNetDistribution=
&pageAttributes="+val;
>
document.forms[0].method = "post";
document.forms[0].action = _url;
document.forms[0].submit();
return false;
Now, I'm able to get the data entered by the user.
Thanks
Srinivas
Message: 2
Date: Wed, 18 Jul 2001 04:03:51 -0600
From: "Todd Fast" <toddwork@c...>
Subject: Re: Digest Number 157
Srinivas--
From where are you calling these methods, what event? Maybe you shouldsend
me the code for your nested tiled views--that's probably the easiest way
for
me to understand what's happening. Also, were any of Matt's
suppositions
correct?
Todd
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 towhich
it is addressed, and may contain information that is privileged,confidential or
exempt from disclosure under applicable law. If this is a forwardedmessage,
the content of this E-MAIL may not have been sent with the authority ofthe
Company. If you are not the intended recipient, an agent of the intended
recipient or a person responsible for delivering the information to thenamed
recipient, you are notified that any use, distribution, transmission,printing,
copying or dissemination of this information in any way or in any manneris
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] -
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] TiledView - getting Values
Kostas--
This is because in TiledViewBase.mapRequestParameters(), calling
getChild(String name, int tile) before setting the values in the request,
will not set the location for the models other that the primary model-
effectively we are only setting one value (more that once if there aremany
values being submitted). So we get the value of the last value in thetiled
view. This is because getChild only changes the location on the primary
model. Which is why I the following code change worked.Ah, I admit I didn't connect the problem to this. Thanks ver much for
clarifying.
As you stated it might be better to add a place holder for all other
auxillary models and keep them in sync with the primary model.Agreed, this sounds like the correct approach. My unstated assumption was
that all location changes to the primary model would also occur on the
auxiliary models, so that would mean that the mapRequestParameters() method
would then work as intended.
How about making the primary model the controlling model. We would have to
"prime" the other models to ensure they all have the same number of rowsas
the highest model for the request. Otherwise we will the followingsituation
I detailed in the prevoius email:That works for me, but it will no doubt result in some strange behavior for
someone down the road. I'll see what's possible about syncing primary and
auxiliary models more explicitly, or at least checking for the situation
where the primary has more rows than the other models.
This way developers would not have to determine if a DisplayField is bound
to non primary model and do additional processing. I suppose it is aslight
design question as well. Enforcing a MVC approach is about going to the to
the Model to get you data. Onthe other hand NetDynamics just allowed youthe
get the value(s) of a field regardless of the Data Object it was or wasn't
bound to.Right, and I think it's important for JATO developers to preserve both techn
iques. The nice thing the technique of accessing the fields directly gives
you is the ability to obtain data in a non-model-specific way. This can be
just as valuable as providing model-only interactions.
Thanks for your feedback Todd. Let me know what you think.Same to you. I hope others on the list have similar suggestions that they
share with us. I think the above approach is sound and I'll be putting it in
for the next patch version, 1.1.2. If anyone has any final comments, please
let me know ASAP.
ToddHi,
I wanted to know how the getValues() method works the reason being,
when the tiled view is NOT bound to a model, it populates all the
fields with the same name as some thing like
PageDetail.rDetail[0].tbFieldValue
PageDetail.rDetail[0].tbFieldValue
in which case, the getValues() method works fine.
But in case where the tiled view is bound to a model, it populates
with different field names such as,
PageDetail.rDetail[0].tbFieldValue
PageDetail.rDetail[1].tbFieldValue
in this case, the getValues() doesn't work. Any soultion to this?
We are using Moko 1.1.1.
thanks in advance,
raju.
--- In iPlanet-JATO@y..., "Todd Fast" <toddwork@c...> wrote:
Does anyone know of is there a single method to get all values of a
display
field in a tiled view without having to iterate through all the
values ie
resetTileIndex() / nextTile() approach.
ie Something that returns an Object[] or Vector just like ND returned a
CspVector. I tried using the getValues() methods but that allways returns
a
single element array containing the first element.
(I think now, that method is used for multi selecteable ListBoxes)Actually, no. We can add this in the next patch, but for now, I'd recommend
creating a simple utility method to do the iteration on an arbitrary model
and build the list for you.
Todd -
Sonal,
I believe that you are misinterpreting the documentation.
I understand that PgCommon has to extend ViewBeanBase. I tried to
make the following changes in PgCommon and compiled it. Then I ran
the extraction which threw up the following error:
I believe that you are confusing extraction issues with translation issues.
The warning message that indicates the need for a class mapping strategy to
address custom superclasses in the original project is a TRANSLATION time
warning.
T008 No mapping found for [<ndClassType>]
Falling back to [Object]. Please add entry for [<ndClassType>] to
class mapping file, restart the toolbox and re-run the translation.
As such, the remedy for this warning is detailed in the documentation under
the heading
Extraction/Translation Error & Warning Messages
3.3 Notes on MigrationClassMappings.properties
It sounds to me that you have misinterpreted the instructions and have
attempted to modify the original PgCommon declaration, and then re-extract.
This is incorrect. This implies that you see this as an extraction tool
situation, which it is not. This is a translation tool consideration, and as
such does not require any adjustment of the original NetDynamics' object. So
please, return to the original PgCommon declaration, and recompile. Then run
the extraction tool. Then run the translation tool, and make note of the
translation tool warnings and deal with them.
As indicated in the documentation (although perhaps not clearly enough), the
solution to warning T008 is not to make your original PgCommon extend
ViewBeanBase, but rather to adjust the MigrationClassMappings.properties so
that the TRANSLATION tool will take your class mappings into account when it
translates the ND objects into JATO objects.
Specifically, if you add the following entry into the
MigrationClassMappings.properties file:
PgCommon PgCommonViewBean
then the translation tool will cause all classes which previously extended
PgCommon to be translated into new classes which now extend
PgCommonViewBean.
Your final step is to adjust PgCommonViewBean's constructor. Note, we are
talking about PgCommonViewBean here (i.e. the output of the Translation
tool, not the original ND object).
Change it from this:
public PgCommonViewBean()
super(PAGE_NAME);
setDefaultDisplayURL(DEFAULT_DISPLAY_URL);
registerChildren();
initialize();
TO THIS
public PgCommonViewBean(String name)
// Adjust the constructor because this is a superclass
// of the other viewbeans. It is NOT a stand along page
// Therefore its constructor should be adjusted to pass the
// page name argument up to the ViewBeanBase class
super(name);
/* Delete the following lines, they are not needed if this is acting as a
superclass of other viewbeans.
setDefaultDisplayURL(DEFAULT_DISPLAY_URL);
registerChildren();
initialize();
----- Original Message -----
From: "Todd Fast" <toddwork@c...>
Sent: Wednesday, April 25, 2001 5:16 PM
Subject: Re: [iPlanet-JATO] Re: Translation hangs tool
Sonal--
Have you tried recompiling the entire application? It sounds as if theremay
be a problem with incompatible versions of PgCommon and PgReplaceCDSIDwhich
I assume extends it. Blow away all your project class files and recompile
in the ND Studio before trying again.
Also, make sure there are no .ser files hanging around in your project
directory.
Todd
----- Original Message -----
From: <ssingh@n...>
Sent: Wednesday, April 25, 2001 6:56 AM
Subject: [iPlanet-JATO] Re: Translation hangs tool
Todd/Charles,
Thans for all the help.
The client has a small application, in which all pages extend from
PgCommon. PgCommon extends CSpPage. I read through the "Notes on
MigrationClassMappings.properties" file in iMT1.1.1 documentation.
I understand that PgCommon has to extend ViewBeanBase. I tried to
make the following changes in PgCommon and compiled it. Then I ran
the extraction which threw up the following error:
java.lang.VerifyError: (class: prHRAdminDE/PgReplaceCDSID, method:
stLinkToHome_onBeforeDisplayEvent signature:
(Lspider/event/CSpDisplayEvent;)I) Incompatible object argument for
function call
at java.lang.ClassLoader.resolveClass0(Native Method)
at java.lang.ClassLoader.resolveClass(ClassLoader.java:545)
at spider.util.CSpClassLoader.loadClass(CSpClassLoader.java,
Compiled Code)
at spider.util.CSpClassLoader.loadClassWithPackage
(CSpClassLoader.java:291)
at spider.util.CSpClassLoader.loadClassWithPackage
(CSpClassLoader.java:217)
at spider.util.CSpClassName.instantiate(CSpClassName.java:180)
at spider.intrp.CSpIntrpModel.createModel
(CSpIntrpModel.java:945)
at spider.intrp.CSpIntrpModel.createNodeObject
(CSpIntrpModel.java:282)
at spider.intrp.CSpIntrpModel.open(CSpIntrpModel.java:500)
at spider.CSpProject.readPostV40ChildObjects(CSpProject.java,
Compiled Code)
at spider.CSpProject.readObject(CSpProject.java:806)
at spider.intrp.CSpIntrpModel.createNodeObject
(CSpIntrpModel.java:293)
at spider.intrp.CSpIntrpModel.open(CSpIntrpModel.java:500)
at spider.intrp.CSpIntrpModel.open(CSpIntrpModel.java:479)
at spider.CSpider.instantiateFirstProjectInstance
(CSpider.java:6404)
at spider.CSpider.createAndSetNewProjectInstance
(CSpider.java:6187)
at spider.CSpider.allocateProjectUserContext
(CSpider.java:5471)
at spider.CSpider.preloadProjects(CSpider.java, Compiled Code)
at spider.CSpider.initialize(CSpider.java:542)
at com.iplanet.moko.netdyn.extract.PseudoCP.createProjects
(PseudoCP.java:136)
at com.iplanet.moko.netdyn.extract.PseudoCP.initialize
(PseudoCP.java:106)
at com.iplanet.moko.netdyn.extract.PseudoCP.<init>
(PseudoCP.java, Compiled Code)
at com.iplanet.moko.netdyn.tools.ExtractTool.invoke
(ExtractTool.java, Compiled Code)
at com.iplanet.moko.tools.gui.ToolInvocationThread.run
(ToolInvocationThread.java, Compiled Code)
===================================
Any more documentation availbale on how to migrate a common base
page? I beleive that it would be a fairly common issue in NetD
migrations.
===================================
New PgCommon
public class PgCommon extends ViewBeanBase implements ViewBean
//]]SPIDER_CLASS END
//[[SPIDER_EVENTS BEGIN
public static boolean DEBUG = true;
//[[SPIDER_EVENT<this_onAfterInitEvent>
public PgCommon()
super("PgCommon");
public void this_onAfterInitEvent(CSpInitEvent event){
Properties props =
HRAdminProperties.getInstance();
DEBUG = (props.getProperty
("hronlineadmin.debug").equals("TRUE"))?true:false;
//CSpLog.setSendErrorsToHtml(false);
//return (PROCEED);
//]]SPIDER_EVENT<this_onAfterInitEvent>
//]]SPIDER_EVENTS END -
Re: [iPlanet-JATO] Double Trouble
Looks like the attachment will not be inlined by egroup's mailer so here is
the table i was trying to send before:
Current Type mapping (appologies for lousy formatting)
ND ColumnDataType DATA_FIELD_TYPE_MAP
DATA_FIELD_SQL_TYPE_MAP
NO_TYPE String
java.sql.Types.VARCHAR
CHAR_TYPE String
java.sql.Types.CHAR
UNSIGNED_CHAR_TYPE String
java.sql.Types.CHAR
TINY_TYPE Short
java.sql.Types.SMALLINT
UNSIGNED_TINY_TYPE Short
java.sql.Types.SMALLINT
SHORT_TYPE Short
java.sql.Types.SMALLINT
UNSIGNED_SHORT_TYPE Short
java.sql.Types.SMALLINT
INT_TYPE Integer
java.sql.Types.INTEGER
UNSIGNED_INT_TYPE Integer
java.sql.Types.INTEGER
LONG_TYPE Long
java.sql.Types.BIGINT
UNSIGNED_LONG_TYPE Long
java.sql.Types.BIGINT
FLOAT_TYPE Float
java.sql.Types.FLOAT
DOUBLE_TYPE Double
java.sql.Types.DOUBLE
DECIMAL_TYPE java.math.BigDecimal
java.sql.Types.DECIMAL
DATE_TYPE java.sql.Date
java.sql.Types.DATE
DATETIME_TYPE java.sql.Timestamp
java.sql.Types.TIMESTAMP
DURATION_TYPE DONT_KNOW_CLASS_TYPE
DONT_KNOW_CLASS_TYPE
STRING_TYPE String
java.sql.Types.VARCHAR
BLOB_TYPE Object
java.sql.Types.BLOB
UNQUOTED_STRING_TYPE DONT_KNOW_CLASS_TYPE DONT_KNOW_CLASS_TYPE
BOOLEAN_TYPE Boolean
java.sql.Types.BINARY
USER_DEFINED_TYPE DONT_KNOW_CLASS_TYPE
java.sql.Types.JAVA_OBJECT
Translation Tool Type Mapping Structures
The current code generation structures that are responsible for supporting
these type mappings at translation times are as follows:
CodeGeneration.DATA_FIELD_TYPE_MAP
The map is constructed from two arrays:
CodeGeneration. ND_DATA_FIELD_DATA_TYPES
CodeGeneration. MIGRATION_MODEL_DATA_TYPES
CodeGeneration. DATA_FIELD_SQL_TYPE_MAP
The map is constructed from two arrays:
CodeGeneration. ND_DATA_FIELD_DATA_TYPES
CodeGeneration. MIGRATION_MODEL_DATA_TYPES
JATO Type Values
The following JATO field values or member types are generated at translation
time based on the type mappings:
Model Field typing
Model.member field type - drawn from CodeGeneration .DATA_FIELD_TYPE_MAP
Descriptor typing
QueryFieldDescriptor.fieldClass
- drawn from CodeGeneration .DATA_FIELD_TYPE_MAP
StoredProcParameterDescriptor.fieldClass
- drawn from CodeGeneration .DATA_FIELD_TYPE_MAP
StoredProcParameterDescriptor.sqlType
- drawn from CodeGeneration.DATA_FIELD_SQL_TYPE_MAP
----- Original Message -----
From: Mike Frisino <Michael.Frisino@S...>
Sent: Thursday, January 04, 2001 12:19 PM
Subject: Re: [iPlanet-JATO] Double Trouble
Thanks John,
Can you provide some more information that would help resolve this issue.
It could be that the mapping rules we use during the translation need tobe
adjusted.
Specifically, what were the following ND property values you had for the
field in question:
ND Datafield property "ColumnDataType"
ND Datafield property "ColumnDataTypeText"
ND Datafield property "NativeType"
ND Datafield property "NativeTypeText"
You see, during the translation we had to choose to map from the originalND
type information to a corresponding java or java.sql type.
We were not certain whether to favor ND's "ColumnDataType" or ND's
"NativeType" value.
We came up with rules based on mapping ND's ColumnDataType. Those rulesare
detailed in the attachment.
----- Original Message -----
From: <john.teceno@b...>
Sent: Thursday, January 04, 2001 7:33 AM
Subject: [iPlanet-JATO] Double Trouble
Hey Guys,
I've run across a problem retrieving Doubles back from an Oracle
Database. The field is defined as a Number. When we converted the
program from NetD, it was created with return values of Double. What
is returned is not the correct value. For example, in the table the
value is 123456, when I do a getInternalID(), it is returning 2.0. I
am working on a work around, but I thought that I would post this
anyway.
John Teceno
Back Bay Technologies
[email protected]
[Non-text portions of this message have been removed]
[email protected]Thank you - Jin and Todd.
Will try that.
Atul
--- In iPlanet-JATO@y..., Byung Jin Chun <bchun@n...> wrote:
try using kregedit and modify the key for the jvm args, using the -x
parameters for the 1.2 runtime
Jin
-----Original Message-----
From: Todd Fast [mailto:<a href="/group/SunONE-JATO/post?protectID=101233080150035167169232031248066208071048">Todd.Fast@S...</a>]
Sent: Tuesday, February 19, 2002 8:40 PM
Subject: Re: [iPlanet-JATO] Re: OutOfMemoryError
Atul--
Out of curiosity - How do you modify the memory parameters for
the container's VM ?? I know I should try to do some research but
figured you may already have some insight and willingness to
share.
Please consider this as low priority.It differs by container; I don't remember details of any particular one.
>
Todd
For more information about JATO, including download information, please
visit:
http://developer.iplanet.com/tech/appserver/framework/index.jsp
<http://developer.iplanet.com/tech/appserver/framework/index.jsp>
[Non-text portions of this message have been removed] -
RE: [iPlanet-JATO] 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. -
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] jato classes serializable
Unless Todd, Mike, or Matt have slick answer to make it work, my only
solution would be to switch from using the objects themselves and
reference by name instead. I don't know exactly what your Utility class
is doing or how the fields use the Utility class, so I can not be
specific in what you should do.
I fear that I may be taking on too much work by asking, but maybe you
could send me the Utility class (send to me directly as Yahoo Groups
doesnot allow attachments: craig.conover@s...).
I'll take a quick glance at it. Maybe I can make some suggestions to
minimize your migration efforts.
craig
Seetharam, Prashanth wrote:
In ND, we had a utility class written whose member variables were visual
objects. This utility object is used to display or not display its elements
depending on user action. The utility object was being put into session.
It could have been implemented in a different way, by storing visual object
names instead of objects themselves. But when we migrated, we tried to keep
re-coding to the minimum and ended up replacing ND visual objects
withcorresponding jato visual objects and ran into this problem.
Since all the jato visual objects extend from DisplayFieldBase which inturn
extends from ViewBase, i started looking at ViewBase and did not understand
why the variable was made transient. Hence the question.
Thanks,
Prashanth Seetharam
-----Original Message-----
From: Craig V. Conover [SMTP:<a href="/group/SunONE-JATO/post?protectID=219212113009229091025149066024064239039098031198039130252055210">craig.conover@s...</a>]
Sent: Tuesday, December 11, 2001 2:43 PM
Subject: Re: [iPlanet-JATO] jato classes serializable
What is your requirement that these be serializable?
The views do not store any values, that is what the model is for, and
they are created lazily as needed.
Is there something you were doing in ND that required it. It is very
likely that you do not need to do it anymore with JATO.
If you are using JATO1.0, you are highly encouraged to start using JATO
1.2. If you are using the iMT, it has an upgrade tool for 1.x to 1.2.
http://developer.iplanet.com/tech/appserver/framework/index.jsp
I'll leave the transient parentViewBean to Todd or Mike to justify. But,
again, what is the need for it to be serialized?
c
Seetharam, Prashanth wrote:
I am using jato1.0 and found that jato classes (especially the visual
objects like StaticTextField) are not serializable.
Is this change made in jato1.1? It will be good to have this feature as
ND
visual objects were serializable.
Also in com.iplanet.jato.view.ViewBase.java, why has this variable been
made
transient?
private transient ViewBean parentViewBean;
Thanks,
Prashanth Seetharam
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.jspUnless Todd, Mike, or Matt have slick answer to make it work, my only
solution would be to switch from using the objects themselves and
reference by name instead. I don't know exactly what your Utility class
is doing or how the fields use the Utility class, so I can not be
specific in what you should do.
I fear that I may be taking on too much work by asking, but maybe you
could send me the Utility class (send to me directly as Yahoo Groups
doesnot allow attachments: craig.conover@s...).
I'll take a quick glance at it. Maybe I can make some suggestions to
minimize your migration efforts.
craig
Seetharam, Prashanth wrote:
In ND, we had a utility class written whose member variables were visual
objects. This utility object is used to display or not display its elements
depending on user action. The utility object was being put into session.
It could have been implemented in a different way, by storing visual object
names instead of objects themselves. But when we migrated, we tried to keep
re-coding to the minimum and ended up replacing ND visual objects
withcorresponding jato visual objects and ran into this problem.
Since all the jato visual objects extend from DisplayFieldBase which inturn
extends from ViewBase, i started looking at ViewBase and did not understand
why the variable was made transient. Hence the question.
Thanks,
Prashanth Seetharam
-----Original Message-----
From: Craig V. Conover [SMTP:<a href="/group/SunONE-JATO/post?protectID=219212113009229091025149066024064239039098031198039130252055210">craig.conover@s...</a>]
Sent: Tuesday, December 11, 2001 2:43 PM
Subject: Re: [iPlanet-JATO] jato classes serializable
What is your requirement that these be serializable?
The views do not store any values, that is what the model is for, and
they are created lazily as needed.
Is there something you were doing in ND that required it. It is very
likely that you do not need to do it anymore with JATO.
If you are using JATO1.0, you are highly encouraged to start using JATO
1.2. If you are using the iMT, it has an upgrade tool for 1.x to 1.2.
http://developer.iplanet.com/tech/appserver/framework/index.jsp
I'll leave the transient parentViewBean to Todd or Mike to justify. But,
again, what is the need for it to be serialized?
c
Seetharam, Prashanth wrote:
I am using jato1.0 and found that jato classes (especially the visual
objects like StaticTextField) are not serializable.
Is this change made in jato1.1? It will be good to have this feature as
ND
visual objects were serializable.
Also in com.iplanet.jato.view.ViewBase.java, why has this variable been
made
transient?
private transient ViewBean parentViewBean;
Thanks,
Prashanth Seetharam
For more information about JATO, please visit:
http://developer.iplanet.com/tech/appserver/framework/index.jsp
For more information about JATO, please visit:
http://developer.iplanet.com/tech/appserver/framework/index.jsp
For more information about JATO, please visit:
http://developer.iplanet.com/tech/appserver/framework/index.jsp -
RE: [iPlanet-JATO] TileView not being displayed
Craig.you are quite the JATO expert now!
cb
-----Original Message-----
From: Craig V Conover [mailto:<a href="/group/SunONE-JATO/post?protectID=219212113009229091025149066024064239039098124198039130151196028">craig.conover@S...</a>]
Sent: Tuesday, April 17, 2001 8:11 PM
Subject: Re: [iPlanet-JATO] TileView not being displayed
I had this issue a while ago and forget the exact solution Todd gave me, so
I'll take a guess untill I can find it somewhere or untill Todd or Mike get
back online to verify.
Set the size of the model. I know your TiledView is not bound, but actually
it is - to the DefaultModel.
Try this:
getDefaultModel().setSize(1)
getPrimaryModel() should work as well.
let me know if that works or not
If I find my example, I'll repost.
c
----- Original Message -----
From: MShanmugam@c...
Sent: Tuesday, April 17, 2001 7:38 PM
Subject: [iPlanet-JATO] TileView not being displayed
Hi All,
I have a TileView which is not bound to any models.
It should display one row however none are being displayed. Following
is the constructor as a reference.
public pgVoucherListrptCheckInfoTiledView(View parent, String name)
super(parent, name);
setMaxDisplayTiles(1);
setPrimaryModel((DatasetModel) getDefaultModel() );
registerChildren();
initialize();
The problem in the nextTile() method, the super.nextTile allways
returns false. This seems to be because the
TiledViewBase.getPrimaryModel().next() allways returns false.
All the bound tiled views work fine.
Any help will be appreciated .
Thanks
[email protected]
[email protected]
[Non-text portions of this message have been removed]Craig.you are quite the JATO expert now!
cb
-----Original Message-----
From: Craig V Conover [mailto:<a href="/group/SunONE-JATO/post?protectID=219212113009229091025149066024064239039098124198039130151196028">craig.conover@S...</a>]
Sent: Tuesday, April 17, 2001 8:11 PM
Subject: Re: [iPlanet-JATO] TileView not being displayed
I had this issue a while ago and forget the exact solution Todd gave me, so
I'll take a guess untill I can find it somewhere or untill Todd or Mike get
back online to verify.
Set the size of the model. I know your TiledView is not bound, but actually
it is - to the DefaultModel.
Try this:
getDefaultModel().setSize(1)
getPrimaryModel() should work as well.
let me know if that works or not
If I find my example, I'll repost.
c
----- Original Message -----
From: MShanmugam@c...
Sent: Tuesday, April 17, 2001 7:38 PM
Subject: [iPlanet-JATO] TileView not being displayed
Hi All,
I have a TileView which is not bound to any models.
It should display one row however none are being displayed. Following
is the constructor as a reference.
public pgVoucherListrptCheckInfoTiledView(View parent, String name)
super(parent, name);
setMaxDisplayTiles(1);
setPrimaryModel((DatasetModel) getDefaultModel() );
registerChildren();
initialize();
The problem in the nextTile() method, the super.nextTile allways
returns false. This seems to be because the
TiledViewBase.getPrimaryModel().next() allways returns false.
All the bound tiled views work fine.
Any help will be appreciated .
Thanks
[email protected]
[email protected]
[Non-text portions of this message have been removed]
Maybe you are looking for
-
Office 2013 "Working Elsewhere" not viewable in Scheduling Assistant
Hey I have a problem with appointments that have the Show As option as "Working Elsewhere". When someone tries to use the scheduling assistant and selects someone who has an appointment set to "Working Elsewhere" the appointment is not visible at al
-
Best practice ? send Object to request or desired pieces of data?
Newbie to this style of programming... Is the best practice to put the customer object in the session or request object and allow jsp's to declare and instantiate the customer object out of the session/request (then use whatever getters are needed to
-
Problem with JCA calling to DB function from Service Bus
Hi there I have managed to use JCA from the Service Bus on several tables, on some diferent Oracle databases and it worked OK. Now, I try to use it with a DB function that I have defined. Calling to this function from any DB software returns good val
-
PrPro crashes on opening (as do other vid suite programs)
Just built a new computer ... and although Photoshop, Bridge, & Lightroom all work fine, NONE of the video suite apps will load at all ... I am having troubles trying to get Win7's service pack 1 to install, so there may be underlying issues there. F
-
Support for atp-x in Bluetooth ipad mini
Hello all... I am wondering if the new ipad mini has full support for csr atp-x codec in the OS. Or more spesific, Can i use the ipad mini with a atp-x audio device without using an external dongle? I am not able to find anything on apple website