JATO UML?
Is there any UML documentation of JATO? I would love to see generic
sequence diagrams and conceptual class diagrams is they exist.
Steve
Look in the Files section and there are class and sequence diagrams
for JATO 1.1.
Steve
--- In iPlanet-JATO@y..., "giuliovuolo" <giulio.vuolo@c...> wrote:
>
Yes, please. Are these available?
If not, I might do them and I will post.
Giulio
--- In iPlanet-JATO@y..., "Steve Winer" <stephen_winer@y...> wrote:
Is there any UML documentation of JATO? I would love to see generic
sequence diagrams and conceptual class diagrams is they exist.
Steve
Similar Messages
-
Note - The file upload notification refers to Jato 1.1 not Jato 1.2 UML
I uploaded some Jato 1.1 UML diagrams at the request of one of the group
participants. Unfortunately, these diagrams are slightly out of sync with Jato
1.2 and therefore have not been included in the Jato 1.2 documentation.
However, the diagrams may provide some assistance to those attempting to come
up to speed on the Jato framework. Just bear in mind that the details for Jato
1.2 are slightly different.
[Non-text portions of this message have been removed]I found a working solution, but better solution are also welcome
I had to have fr_CA not only in utf8 but also in iso88591. I had to modify the /etc/rc.conf this way :
LOCALE="fr_CA" <<<<<<<<<<<<<<
HARDWARECLOCK=""
TIMEZONE="America/Montreal"
KEYMAP="us"
CONSOLEFONT=
CONSOLEMAP=
USECOLOR="yes"
To preserve the english US language system wide, I had to add the following line in the /etc/profile :
# Allow french special character while in en_US
export LANG=en_US
The character misinterpreted by a "?" is now seen :
as a "è" in dolphin
as a "?" in the console
It is now possible to access the folders. -
Jato 1.2 UML Class Diagrams
Hi All,
I have put together some UML class diagrams for JATO 1.2. You may find them
useful. Please let me know if you spot any errors.
Regards,
Dennis Parrott.
Dennis Parrott
Senior Consultant
iPlanet Professional Services
Sun Microsystems Limited
Guillemont Park
Camberley Mobile: +44 (0)7765 221938
GU17 9QG Email : dparrott@i...
iPlanet
e-commerce solutions
www.iplanet.com
[Non-text portions of this message have been removed]Hi Dennis--
Only we can post files for the group. We'll be happy to do so, or if you
would rather host a public site for them, we can post a link in the group.
(Looking forward to seeing the diagrams.)
Todd
----- Original Message -----
From: "Dennis Parrott" <dparrott@i...>
Sent: Monday, December 17, 2001 7:41 AM
Subject: RE: [iPlanet-JATO] Jato 1.2 UML Class Diagrams
Note the deliberate mistake - the document was not included - actually it
was removed - How can I publish this to the group?
Dennis Parrott[PARA]Senior Consultant[PARA]iPlanet Professional
Services[PARA]Sun Microsystems Limited[NL]Guillemont Park[NL]Camberley
Mobile: +44 (0)7765 221938[NL]GU17 9QG Email :
dparrott@i... iPlanet [PARA]e-commerce solutions
[PARA]www.iplanet.com
-----Original Message-----
From: Dennis Parrott [mailto:<a href="/group/SunONE-JATO/post?protectID=114154113180127190050057203026021130134026057192209171188199">dparrott@i...</a>]
Sent: 17 December 2001 15:35
Subject: [iPlanet-JATO] Jato 1.2 UML Class Diagrams
Hi All,
I have put together some UML class diagrams for JATO 1.2. You may findthem
useful. Please let me know if you spot any errors.
Regards,
Dennis Parrott.
Dennis Parrott
Senior Consultant
iPlanet Professional Services
Sun Microsystems Limited
Guillemont Park
Camberley Mobile: +44 (0)7765 221938
GU17 9QG Email : dparrott@i...
iPlanet
e-commerce solutions
www.iplanet.com
[Non-text portions of this message have been removed]
For more information about JATO, please visit:
http://developer.iplanet.com/tech/appserver/framework/index.jsp
Choose from 1000s of job listings!
For more information about JATO, please visit:
http://developer.iplanet.com/tech/appserver/framework/index.jsp -
Version 8 UML Module bugs are serious
The UML online update crashes less, but appears to have functionality turned off.
After two days of trying to get meaningfull class diagrams out of the UML module I gave up.
Finding the parents and children of classes in the class diagram doesn't work at all.
The discover relationship button doesn't do anything, even for simple inheritance.
Printing works badly, not rendering contents of the class, when visible on the screen.
Class Tree on left is refreshed everytime you move to that window. This takes about 6 seconds with a large project!
Then it deleted one of my *.java files!The UML module failed every few seconds before the patch but did some interesting and usefull things which are gone now (like find the parents of a class, generalization).
The problems I mentioned were after the patch.
I hesitate to use any part of the IDE v7 at this point. I'm back to version 6 until someone tests/debugs this stuff with Jato (Web Application Framework). If you want to test it, try the Jato 2.1.4 sources with the sample applications. Then throw in the Java sources (with I didn't get to ;) ).
I also had to turn off the portals module because of some strange unhandled exception when I never even used the portal stuff. -
Re: [iPlanet-JATO] Re: Retrieving all Values from a Tiled View
Todd,
Let me try to explain you this time. I have a text field in a TiledViewBean.
When I display the page, the text field
html tag is created with the name="PageDetail.rDetail[0].tbFieldName" say
five times/rows with same name.
The html tags look like this.
<input type=text name="PageDetail.rDetail[0].tbFieldName" value=""
maxlength=9 size=13>
<input type=text name="PageDetail.rDetail[0].tbFieldName" value=""
maxlength=9 size=13>
<input type=text name="PageDetail.rDetail[0].tbFieldName" value=""
maxlength=9 size=13>
When the form is submitted, I want to get the text field values using the
method getTbFieldName().getValues() which
returns an array object[]. This is in case where my TiledViewBean is not
bound and it is working fine.
Now in case when my TiledView is bound to a model, it creates the html tags
as follows.
<input type=text name="PageDetail.rDetail[0].tbFieldName" value=""
maxlength=9 size=13>
<input type=text name="PageDetail.rDetail[1].tbFieldName" value=""
maxlength=9 size=13>
<input type=text name="PageDetail.rDetail[2].tbFieldName" value=""
maxlength=9 size=13>
Now when I say getTbFieldName().getValues() it returns only the first
element values in the object[] and the rest of the
values are null.
May be we need to create a utility method do get these values from
requestContext.
raju.
----- Original Message -----
From: Todd Fast <toddwork@c...>
Sent: Saturday, July 07, 2001 3:52 AM
Subject: Re: [iPlanet-JATO] Re: Retrieving all Values from a Tiled View
Raju.--
I wanted to know how the getValues() method works the reason being,
when the tiled view is NOT bound to a model, it populates all the
fields with the same name as some thing likeI'm afraid I don't understand your point--can you please clarify? Do you
mean "value" instead of "name"?
What are you trying to do? What behavior are you expecting but notseeing?
>
Without further clarification, I can say that the setValues() methodsNEVER
populates data on multiple rows of a (dataset) model, nor does it affect
multiple fields on the same row. Perhaps what you are seeing is theeffect
of default values. Model that derive from DefaulModel have the ability to
carry forward the values set on the first row to other rows in lieu ofdata
in those other rows. This behavior is for pure convenience and can be
turned off, and it is turned off for the SQL-based models.
Todd
[email protected]Hi,
I wanted to know how the getValues() method works the reason being,
when the tiled view is NOT bound to a model, it populates all the
fields with the same name as some thing like
PageDetail.rDetail[0].tbFieldValue
PageDetail.rDetail[0].tbFieldValue
in which case, the getValues() method works fine.
But in case where the tiled view is bound to a model, it populates
with different field names such as,
PageDetail.rDetail[0].tbFieldValue
PageDetail.rDetail[1].tbFieldValue
in this case, the getValues() doesn't work. Any soultion to this?
We are using Moko 1.1.1.
thanks in advance,
raju.
--- In iPlanet-JATO@y..., "Todd Fast" <toddwork@c...> wrote:
Does anyone know of is there a single method to get all values of a
display
field in a tiled view without having to iterate through all the
values ie
resetTileIndex() / nextTile() approach.
ie Something that returns an Object[] or Vector just like ND returned a
CspVector. I tried using the getValues() methods but that allways returns
a
single element array containing the first element.
(I think now, that method is used for multi selecteable ListBoxes)Actually, no. We can add this in the next patch, but for now, I'd recommend
creating a simple utility method to do the iteration on an arbitrary model
and build the list for you.
Todd -
Re: [iPlanet-JATO] Retrieving all Values from a Tiled View
Does anyone know of is there a single method to get all values of adisplay
field in a tiled view without having to iterate through all the values ie
resetTileIndex() / nextTile() approach.
ie Something that returns an Object[] or Vector just like ND returned a
CspVector. I tried using the getValues() methods but that allways returnsa
single element array containing the first element.
(I think now, that method is used for multi selecteable ListBoxes)Actually, no. We can add this in the next patch, but for now, I'd recommend
creating a simple utility method to do the iteration on an arbitrary model
and build the list for you.
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 -
Error while generating Web report for UML Modeling
I am using Sun java studio enterprise 8, i design uml diagrams for that diagrams i am trying to generate a webreport while generating i am getting the error as follows
"Cannot execute /usr/bin/firefox Check that a valid external browser properly is set. In the Options window, expand IDE Configuration then expand Server and External Tool Settings and Select web Browsers"Is anyone having any idea about it...
-
OK, fair enough.
Look at the ServletConfig class.
c
Purvashada wrote:
>
We had that option. We decided against the
property files as we can get this dynamically.
There has been problems when this property
was set incorrectly at the time of installation.
Are there any api's to get the servername and
port number other than through request object..
--- "Craig V. Conover" <craig.conover@s...> wrote:
So I guess my question is, why do you need a user
request to get this
information?
You should be able to get this info when the
application is started up,
from a props file.
Does this info change from day to day? If not, why
not create a props
file on the machine that the app is running that has
this info?
Then in the servlet's init method, read this prop
file.
Does that work for you? Not sure how a user request
is needed to
determine this? If it is, please explain.
I have used this same technique for database
properties (servername,
instance name, uid, pwd, etc).
On the QA machine was the properties that pointed to
the QA database,
and on the Production machine, the property file
with the same name had
props that pointed to the Production database.
craig
Purvashada wrote:
It is a static data that is same for all theusers.
It is application level data but generateddynamically
to get the server name and the port number the appis
running on..
Thanks
--- "Craig V. Conover" <craig.conover@s...>wrote:
OK, so how does doing this only once help you.
Wouldn't you need to do
this for each individual end user?
I'm not suggesting that this is request scoped,but
maybe session scoped.
If so, then do this in the module servlet's
onNewSession event.
If this is per user, then storing it staticallyis
problematic because
all users will be using the same data which Idon't
think you want.
Let me know if my assumptions are correct.
craig
Purvashada wrote:
Basically, I need to pass the host url/request
url
to
another server which then posts the results
back to this server.
I need to get the host url dynamically.
This is what I am doing in my code to
get the host url..
URL =req.getScheme() + "://" +
req.getServerName()
+
":" + req.getServerPort();
Thanks
--- "Craig V. Conover" <craig.conover@s...>wrote:
Correct, that is a per request event.
Sounds like we need to figure out a newapproach.
Please elaborate on your requirements for
doing
whatever it is you require.
Maybe we can suggest an alternative, orperhaps
reveal that it may not
be necessary after all.
craig
Purvashada wrote:
I had added this code in the
initializeRequestContext(..)
Hoping it would be called once.
It looks like it is called for every
request.
HttpServletRequest req =requestContext.getRequest();
setActionURL(req);
If I add the code in the init() method
how can I get the HttpServletRequest
getRequest()
Thanks
--- "Craig V. Conover"
<craig.conover@s...>
wrote:
cool.
Be careful about how you update this URL
when
you
use setURL method.
The servlets in JATO are the only shared
(Application scope rather than
Request scope like ViewBeans and
Models),
and
that
you could potentially
have sync/multithread issues. You said
you
were
only
updating once at
the start of the App, so you should be
fine.
I
assume you are doing this
from an init method or init event in theservlet
class? If so, no worries.
Also, just to be sure everyone follows,
I am
not
suggesting that you
write syncronize code in the servlets asthis
will
be a potential bottle
neck in your app's scalibility. This is
not
a
JATO
shortcoming as there
are alternatives to do this sort of
coding.
craig
Purvashada wrote:
I made the method static and is
accessible..
--- "Craig V. Conover"<craig.conover@s...>
wrote:
I would assume it is a static
method, so
just
do:
MainAppServletBase.getURL()
right?
If not static, it probably should
be. If
you
feel it
should not be
static, let us know why/what your
requirements
are.
>
=== message truncated ===
To download the latest version of S1AF (JATO), please visit one of the
following locations:
Framework + IDE plugin for Sun ONE Studio 4 Update 1, Community Edition:
http://wwws.sun.com/software/download/products/Appl_Frmwk_2.0_CE.html
Framework + IDE pluign for Sun ONE Studio 4 Update 1, Enterprise Edition:
http://wwws.sun.com/software/download/products/Appl_Frmwk_2.0_EE.html
Previous versions of JATO:
http://www.sun.com/software/download/developer/5102.htmlOK, fair enough.
Look at the ServletConfig class.
c
Purvashada wrote:
>
We had that option. We decided against the
property files as we can get this dynamically.
There has been problems when this property
was set incorrectly at the time of installation.
Are there any api's to get the servername and
port number other than through request object..
--- "Craig V. Conover" <craig.conover@s...> wrote:
So I guess my question is, why do you need a user
request to get this
information?
You should be able to get this info when the
application is started up,
from a props file.
Does this info change from day to day? If not, why
not create a props
file on the machine that the app is running that has
this info?
Then in the servlet's init method, read this prop
file.
Does that work for you? Not sure how a user request
is needed to
determine this? If it is, please explain.
I have used this same technique for database
properties (servername,
instance name, uid, pwd, etc).
On the QA machine was the properties that pointed to
the QA database,
and on the Production machine, the property file
with the same name had
props that pointed to the Production database.
craig
Purvashada wrote:
It is a static data that is same for all theusers.
It is application level data but generateddynamically
to get the server name and the port number the appis
running on..
Thanks
--- "Craig V. Conover" <craig.conover@s...>wrote:
OK, so how does doing this only once help you.
Wouldn't you need to do
this for each individual end user?
I'm not suggesting that this is request scoped,but
maybe session scoped.
If so, then do this in the module servlet's
onNewSession event.
If this is per user, then storing it staticallyis
problematic because
all users will be using the same data which Idon't
think you want.
Let me know if my assumptions are correct.
craig
Purvashada wrote:
Basically, I need to pass the host url/request
url
to
another server which then posts the results
back to this server.
I need to get the host url dynamically.
This is what I am doing in my code to
get the host url..
URL =req.getScheme() + "://" +
req.getServerName()
+
":" + req.getServerPort();
Thanks
--- "Craig V. Conover" <craig.conover@s...>wrote:
Correct, that is a per request event.
Sounds like we need to figure out a newapproach.
Please elaborate on your requirements for
doing
whatever it is you require.
Maybe we can suggest an alternative, orperhaps
reveal that it may not
be necessary after all.
craig
Purvashada wrote:
I had added this code in the
initializeRequestContext(..)
Hoping it would be called once.
It looks like it is called for every
request.
HttpServletRequest req =requestContext.getRequest();
setActionURL(req);
If I add the code in the init() method
how can I get the HttpServletRequest
getRequest()
Thanks
--- "Craig V. Conover"
<craig.conover@s...>
wrote:
cool.
Be careful about how you update this URL
when
you
use setURL method.
The servlets in JATO are the only shared
(Application scope rather than
Request scope like ViewBeans and
Models),
and
that
you could potentially
have sync/multithread issues. You said
you
were
only
updating once at
the start of the App, so you should be
fine.
I
assume you are doing this
from an init method or init event in theservlet
class? If so, no worries.
Also, just to be sure everyone follows,
I am
not
suggesting that you
write syncronize code in the servlets asthis
will
be a potential bottle
neck in your app's scalibility. This is
not
a
JATO
shortcoming as there
are alternatives to do this sort of
coding.
craig
Purvashada wrote:
I made the method static and is
accessible..
--- "Craig V. Conover"<craig.conover@s...>
wrote:
I would assume it is a static
method, so
just
do:
MainAppServletBase.getURL()
right?
If not static, it probably should
be. If
you
feel it
should not be
static, let us know why/what your
requirements
are.
>
=== message truncated ===
To download the latest version of S1AF (JATO), please visit one of the
following locations:
Framework + IDE plugin for Sun ONE Studio 4 Update 1, Community Edition:
http://wwws.sun.com/software/download/products/Appl_Frmwk_2.0_CE.html
Framework + IDE pluign for Sun ONE Studio 4 Update 1, Enterprise Edition:
http://wwws.sun.com/software/download/products/Appl_Frmwk_2.0_EE.html
Previous versions of JATO:
http://www.sun.com/software/download/developer/5102.html -
Re: [iPlanet-JATO] Sorting a resultset
Steve,
Todd will probably address this more, but to set the stage for the discussion,
I will chime in. As per your scenario "say a user wants to resort the results
by some other column" , I think there needs to be some clarification on the
life cycle of the model. You scenario implies that the user sees the data and
then submits a request to sort the data. This implies that the access to the
same data is spread across two HTTP requests.
Unless explicitly or implicitly stored in session, the Model is a per request
object. Therefore, under ordinary circumstances a new instance of Model is
constructed per request and populated as needed. This is done for scalability
reasons. Most applications would not scale properly if all model instances were
kept around in session per user. There is also the issue of data integrity, a
model stored in session may not reflect the current state of the RDBMS from
which the data was previously retrieved, perhaps minutes before. So, the
default action is to instantiate a new model and repopulate that model The
normal solution would be to apply the sort criteria to the data retrieval at
that point.
What I described above is the norm and the default.
If you have compelling reasons to prefer a single retrieval style, you have to
be prepared to store the Model data in session. There are several methods
within the ModelManager class which assist in this regard. You can see them
described in the java doc.
Also bear in mind that the SQLModelBase typically copies the data from the JDBC
result set into JATO specific local storage. This is done because the JDBC
result set is not as flexible as developer needs and requires the JDBC
connection to remain open while it is used.
I suspect that Todd will describe how you can manipulate the underlying JATO
specific local storage to change the order. I just wanted to make sure you
understood the life cycle issues involved and had justification for deviating
from the default.
Also, I'm still waiting for followup on the defaultCommandChild issue - we'd
like to fix it for JATO 1.2.1 if it is a problem and so far your case is the
only one we have heard of.
----- Original Message -----
From: stephen_winer
Sent: Wednesday, December 12, 2001 9:42 AM
Subject: [iPlanet-JATO] Sorting a resultset
If I want to sort a result set (Model) after the search has taken
place (say a user wants to resort the results by some other column),
can this be done without issuing another query? The reason I ask is
that the next() method in the ResultSetModelBase calls synchronizeRow
(), which resets the row, which sounds like a sort done outside of
the SQL would be reverted.
Steve
For more information about JATO, please visit:
http://developer.iplanet.com/tech/appserver/framework/index.jsp
[Non-text portions of this message have been removed]The hidden field was present in the page, but it looked like this:
<input type="hidden" name="jato.defaultCommand" value=""../search"">
Seems like there is a small bug in the code generating this tag.
FYI - I am using JATO1.2
What file displays this text? Maybe I can go in and fix it and rejar
it.
Steve
--- Mike Frisino wrote:
Steve,
Can you check the HTML source that shows up in the browser? Do you see an entry that looks like this at the bottom of the form in
question?
>
<input type="hidden" name="jato.defaultCommand" value="/search">
To answer your question - it should work as you described. Some of the JatoSample make use of the defaultCommandChild. Can you try
running the sample BasicSample->Field Types and let us know what you
see.
>
Failing this you can send me your jsp file , maybe there is some subtle issue there. michael.frisino@s...
>
>
----- Original Message -----
From: stephen_winer
Sent: Friday, December 07, 2001 8:05 AM
Subject: [iPlanet-JATO] Using the defaultCommandChild in a form
I am trying to set the defaultCommandChild in my jato:form tag to be
the searcg button. The search button definition is:
<jato:button name="search"/>.
The form tag definition is:
<jato:form name="PendingIA" defaultCommandChild="/search">
Clicking on the search button works fine, but hitting return in one
of the textFields (which submits the form) passes a value of "" to
the createChild method in my viewBean, which throws an error. Why
does this not just work as normal and trigger the handleSearchRequest
() method?
Steve
For more information about JATO, please visit:
http://developer.iplanet.com/tech/appserver/framework/index.jsp
Service.
>
>
>
[Non-text portions of this message have been removed] -
Re: [SunONE-JATO] How to use a tiled view without a model
John,
Check out the docs for DefaultModel. There is an appendRow() method.
So get your tiledview's primary model (the tiledview's primary model
should be set to use an instance of DefaultModel), model.appendRow(),
then model.setValue("fieldname", value) for each value.
Rinse, repeat as needed.
c
jhoskins wrote:
I would like to use a tiled view, but populate the fields manually.
Any pointers about where I can set the size of the tiled view? I tried
setMaxDisplayTiles() in the beginDisplay, but it won't get down and
generate the rows.
John Hoskins
To download the latest version of JATO, please visit:
http://www.sun.com/software/download/developer/5102.html
For more information about JATO, please visit:
http://developer.iplanet.com/tech/appserver/framework/index.jspCraig,
Thanks for the pointers. I ended up doing something else. I set the
models setSize() method to set the max size, and as the tiles fields
iterated, populated the value from some vectors I had the data in
already. Is this solution fraught with peril and will ultimately fail,
or should I try your way?
John
--- "Craig V. Conover" wrote:
John,
Check out the docs for DefaultModel. There is an appendRow() method.
So get your tiledview's primary model (the tiledview's primary model
should be set to use an instance of DefaultModel), model.appendRow(),
then model.setValue("fieldname", value) for each value.
Rinse, repeat as needed.
c
jhoskins wrote:
I would like to use a tiled view, but populate the fields manually.
Any pointers about where I can set the size of the tiled view? I tried
setMaxDisplayTiles() in the beginDisplay, but it won't get down and
generate the rows.
John Hoskins
To download the latest version of JATO, please visit:
http://www.sun.com/software/download/developer/5102.html
For more information about JATO, please visit:
http://developer.iplanet.com/tech/appserver/framework/index.jsp -
Re: [SunONE-JATO] Re: How to use a tiled view without a model
I'm not sure what is different for you now. You still parse the string
and put it into a data structure. Before the data structure was a
vector, in JATO its just a model with a "hidden" data structure (a hash
map).
MVC only really comes into play when you talk about where your write
this code, and where the data structure is being stored. So really, JATO
takes care of half of the MVC'ness of it all (where the data is store).
You just decide where to be the code to populate the model.
Make sense?
Is there something different required of you in JATO in this scenario
that I am not grasping?
c
Hoskins, John D. wrote:
Thanks for the feedback.
The problem I was solving involved a single string, which contained
delimited subsets of information.
The string looked like
this:"time|analyst|description|time|analyst|description|..."
In ND, I parsed it apart into it's components (time vector, analyst vector,
description vector), populated the repeated.
With JATO, how would I make a model for something that doesn't have a
database component like this?
I'm pretty new to this MVC thing, so bear with me.
John D. Hoskins
Telephone & Data Systems
Application Development & Support
Voice: 608.664.8263
Fax: 608.664.8288
Email: john.hoskins@t...
-----Original Message-----
From: Craig V. Conover [mailto:<a href="/group/SunONE-JATO/post?protectID=219212113009229091025149066024064239039098031198039130252055210">craig.conover@s...</a>]
Sent: 6/26/2002 3.22 PM
Subject: Re: [SunONE-JATO] Re: How to use a tiled view without a model
I guess the only thing "weird" (for lack of a better term) about what
you are doing is that your are populating the model on the "display
cycle". Typically, the cycle goes like this:
Request -> populate model -> update data store -> retrieve data to
populate model -> display data
some of the above steps are optional but hopefully you get the point I
am making.
So what you are doing is:
Request -> populate model/display data
If it works for you, then it's not necessarilly wrong. But I would
probably have my model populated before I forwarded to the target
(displaying view bean) or at a minimum, in the begin display event of
the view bean or the tiled view, but not during the iteration of the
tiled view.
c
jhoskins wrote:
Craig,
Thanks for the pointers. I ended up doing something else. I set the
models setSize() method to set the max size, and as the tiles fields
iterated, populated the value from some vectors I had the data in
already. Is this solution fraught with peril and will ultimately fail,
or should I try your way?
John
--- Craig V. Conover wrote:
John,
Check out the docs for DefaultModel. There is an appendRow() method.
So get your tiledview's primary model (the tiledview's primary model
should be set to use an instance of DefaultModel), model.appendRow(),
then model.setValue("fieldname", value) for each value.
Rinse, repeat as needed.
c
jhoskins wrote:
I would like to use a tiled view, but populate the fields manually.
Any pointers about where I can set the size of the tiled view? I tried
setMaxDisplayTiles() in the beginDisplay, but it won't get down and
generate the rows.
John Hoskins
To download the latest version of JATO, please visit:
http://www.sun.com/software/download/developer/5102.html
For more information about JATO, please visit:
http://developer.iplanet.com/tech/appserver/framework/index.jsp
To download the latest version of JATO, please visit:
http://www.sun.com/software/download/developer/5102.html
For more information about JATO, please visit:
http://developer.iplanet.com/tech/appserver/framework/index.jsp
To download the latest version of JATO, please visit:
http://www.sun.com/software/download/developer/5102.html
For more information about JATO, please visit:
http://developer.iplanet.com/tech/appserver/framework/index.jsp
To download the latest version of JATO, please visit:
http://www.sun.com/software/download/developer/5102.html
For more information about JATO, please visit:
http://developer.iplanet.com/tech/appserver/framework/index.jspCraig,
Thanks for the pointers. I ended up doing something else. I set the
models setSize() method to set the max size, and as the tiles fields
iterated, populated the value from some vectors I had the data in
already. Is this solution fraught with peril and will ultimately fail,
or should I try your way?
John
--- "Craig V. Conover" wrote:
John,
Check out the docs for DefaultModel. There is an appendRow() method.
So get your tiledview's primary model (the tiledview's primary model
should be set to use an instance of DefaultModel), model.appendRow(),
then model.setValue("fieldname", value) for each value.
Rinse, repeat as needed.
c
jhoskins wrote:
I would like to use a tiled view, but populate the fields manually.
Any pointers about where I can set the size of the tiled view? I tried
setMaxDisplayTiles() in the beginDisplay, but it won't get down and
generate the rows.
John Hoskins
To download the latest version of JATO, please visit:
http://www.sun.com/software/download/developer/5102.html
For more information about JATO, please visit:
http://developer.iplanet.com/tech/appserver/framework/index.jsp -
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]
Maybe you are looking for
-
Never sleeps after i upgrade to Lion
-
My company has never implemented 1042 withholding tax and now we have request to do that. They also want me to turn the extended withholding tax on so we can post multiple tax codes to one invoice. I have ran the conversion and I have multiple erro
-
Best Solution for Contiguous TrackingNumber
One way to generate contiguous TrackingNumber is using SELECT MAX(TrackingNumber) +1 computation. This method (used before IDENTITY/SEQUENCE was invented) is processing intensive and can cause blocking or even deadlocks. Is there a better way? Than
-
Highest dunning level on customer master
Hello All, I am facing an issue where the customer is having the highest dunning level 9 on the overdue item. Then the customer makes payment for all open invoices but the dunning level on the customer master remains 9. Because the dunning level is t
-
No Audio from Internal Speakers after a fresh install of Windows 7 Pro
T400S - after a fresh install of Windows 7, theres no audio from the Internal speakers. When I plug an external speakers there's audio. I also install the audio drivers from the Lenovo site. Thanks