Dynamic Tiled View display question
Hi,
I?ve been working with JATO during this month, i find
the framework very flexible but a bit complex to
undertand.
Currently i?m triying to make the following test, but
i?m in a dead point.
I must create a page that is composed by a form, the
children views of this page that compound the form
must be created on request time, this is because the
displayfields that i must include are included on one
atribute that is included in te request made for the
page that contains the form. Additionally the HTML
representation of each attribute can change from
attribute to attribute (It depends on the type of
attribute that i want to display). I found that
Pagelets can be helpful to decide in request-time the
HTML element to be included. I?m having some trouble
(a conceptual one) in triying to integrate a TiledView
that iterates over an element that can change its
appearance base on the type specified in its own
model.
Someone o you guys faced these problem before, its
possible to have this kind of dynamic features?
Thanks in advance,
Javier Camacho
Developer
OK, I understand your task, and I follow your solution up to the details
of the custom pagelet, but everything sounds correct.
What exactly are you confused about with the beginDisplay event?
c
jav_camacho wrote:
Thanks for your interest Craig, i will make some clarifications in
order to give you some answers:
The context of my problem is:
I want to display in a page some Custom Objects relative to my domain
problem, to make it simple lets call these objects MyObjects,
A class MyObject contains 2 variables: "label" and "question_mode".
Depending on the value of "question_mode" (an integer) i must display
in the response page some type of HTML element or another, lets say:
question_mode = 1 -> TextFiled
question_mode = 2 -> ComboBox
question_mode = 3 -> ListBox
But i have another constraint to my problem: the set of MyObjects (the
instances of MyObject) is determined at request time, so i have to
check in the RequestContext for a value, then that value is used to
search in my MetaData to define the set of MyObjects that i must
display.
To put an example:
If the value of my attribute is 1 i must display a set of 5 MyObjects,
and each one with its own "question_mode". So the response page to be
generated for the client its entirely dynamic, no only by the number
of MyObjects to be displayed, the HTML representation for the variable
"question_mode" is decided in request-time too.
Well, to address these interesting question i thinked (inspired by
yoour excellent Sample App) in the following general strategy:
1. I created a Custom Tag for the display MyObjects, the jsp looks
like these:
<jato:useViewBean className="testapp.module1.phase1ViewBean">
<BODY>
<TABLE>
<TR>
<TD ALIGN=left><B>MyObjects:</B></TD>
</TR>
<jato:tiledView name="TiledView1"
type="testapp.module1.MyObjectTiledView">
<testapp:myObject fireDisplayEvents="true"/>
</jato:tiledView>
</TABLE>
</BODY>
</jato:useViewBean>
2. To display these fields i made the class MyObjectTiledView, this
class only contains one View (an instance of
StylizedMyObjectView.class).
StylizedMyObjectView.class is the peer of the <testapp:myObject> tag.
This class implements the interface PageletView so it can be
questioned about the Pagelet to be included in the page
(StylizedMyObjectView choose the pagelet based on the question_mode
variable present in the Model: MyObject class).
But i?m a bit confused in the way that MyObjectTiledView can interact
with the StylizedMyObjectView.class. (i?m triying to figure the
implementation of the beginDisplay() method).
I hope this could clarify your questions.
Is this strategy correct?. I?m a bit lost in the secuence of calls to
address this kind of dynamic page generation.
I will apreciate any help or experience in related problems.
Javier
Javier,
I am not clear exactly what your are attempting to do. I think you
maybe
using some terminology out of place, or maybe I am just not
understanding, so I will ask these questions:
1) You are using a TiledView. Are the number of fields in the tiled
view
dynamic? I am understanding that they are.
2) These fields are of an unknown type at design time. For one
request a
field might be a text box, next request it might be a list box. Is
this
correct?
3) When you talk about attributes, are you talking about the
attributes
of the tags (name, type, value, label, etc.)? This is not clear to
me in
the way that your are describing in this phrase:
"HTML representation of each attribute can change from attribute to
attribute"
4) When you say "type specified in its own model", what do you mean
by
model? A JATO Model class, or a more generic use of the term model?
5) When you say "displayfields that i must include are included on
one atribute that is included in te request", how exactly are the
fiels specified in the attribute, and again, what is your definition
of "attribute" here? I assume you mean request attibute.
craig
Javier Camacho wrote:
Hi,
I?ve been working with JATO during this month, i find
the framework very flexible but a bit complex to
undertand.
Currently i?m triying to make the following test, but
i?m in a dead point.
I must create a page that is composed by a form, the
children views of this page that compound the form
must be created on request time, this is because the
displayfields that i must include are included on one
atribute that is included in te request made for the
page that contains the form. Additionally the HTML
representation of each attribute can change from
attribute to attribute (It depends on the type of
attribute that i want to display). I found that
Pagelets can be helpful to decide in request-time the
HTML element to be included. I?m having some trouble
(a conceptual one) in triying to integrate a TiledView
that iterates over an element that can change its
appearance
base on the type specified in its own
model.
Someone o you guys faced these problem before, its
possible to have this kind of dynamic features?
Thanks in advance,
Javier Camacho
Developer
For more information about JATO, including download information,
please visit:
http://developer.iplanet.com/tech/appserver/framework/index.jsp
>For more information about JATO, including download information, please visit:
http://developer.iplanet.com/tech/appserver/framework/index.jsp
Similar Messages
-
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] 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] -
Dynamic Performance View question
So, Oracle maintains dynamic performance tables. Views are created off of them, and then public synonyms are created off of those views and they begin with V$. Very good. But something doesn't make sense to me.
V$DATAFILE is a synonym that references a view named V_$DATAFILE:
SQL> select dbms_metadata.get_ddl('SYNONYM', 'V$DATAFILE', 'PUBLIC') from dual;
DBMS_METADATA.GET_DDL('SYNONYM','V$DATAFILE','PUBLIC')
CREATE OR REPLACE PUBLIC SYNONYM "V$DATAFILE" FOR "SYS"."V_$DATAFILE"
SQL> select object_type from dba_objects where object_name='V_$DATAFILE';
OBJECT_TYPE
VIEW
But the definition of the view references the.... synonym itself?
SQL> select dbms_metadata.get_ddl('VIEW', 'V_$DATAFILE', 'SYS') from dual;
DBMS_METADATA.GET_DDL('VIEW','V_$DATAFILE','SYS')
CREATE OR REPLACE FORCE VIEW "SYS"."V_$DATAFILE" ("FILE#", "CREATION_CHANGE#",
"CREATION_TIME", "TS#", "RFILE#", "STATUS", "ENABLED", "CHECKPOINT_CHANGE#", "C
HECKPOINT_TIME", "UNRECOVERABLE_CHANGE#", "UNRECOVERABLE_TIME", "LAST_CHANGE#",
"LAST_TIME", "OFFLINE_CHANGE#", "ONLINE_CHANGE#", "ONLINE_TIME", "BYTES", "BLOCK
S", "CREATE_BYTES", "BLOCK_SIZE", "NAME", "PLUGGED_IN", "BLOCK1_OFFSET", "AUX_NA
ME", "FIRST_NONLOGGED_SCN", "FIRST_NONLOGGED_TIME", "FOREIGN_DBID", "FOREIGN_CRE
ATION_CHANGE#", "FOREIGN_CREATION_TIME", "PLUGGED_READONLY", "PLUGIN_CHANGE#", "
PLUGIN_RESETLOGS_CHANGE#", "PLUGIN_RESETLOGS_TIME") AS
select "FILE#","CREATION_CHANGE#","CREATION_TIME","TS#","RFILE#","STATUS","ENA
BLED","CHECKPOINT_CHANGE#","CHECKPOINT_TIME","UNRECOVERABLE_CHANGE#","UNRECOVERA
BLE_TIME","LAST_CHANGE#","LAST_TIME","OFFLINE_CHANGE#","ONLINE_CHANGE#","ONLINE_
TIME","BYTES","BLOCKS","CREATE_BYTES","BLOCK_SIZE","NAME","PLUGGED_IN","BLOCK1_O
FFSET","AUX_NAME","FIRST_NONLOGGED_SCN","FIRST_NONLOGGED_TIME","FOREIGN_DBID","F
OREIGN_CREATION_CHANGE#","FOREIGN_CREATION_TIME","PLUGGED_READONLY","PLUGIN_CHAN
GE#","PLUGIN_RESETLOGS_CHANGE#","PLUGIN_RESETLOGS_TIME" from v$datafile
So the view definition references a synonym, and the synonym references the same view... seems circular. Is this Oracle Corp's way of telling me to bugger off? I just wanted to look up the name of the dynamic performance table out of curiosity.DBjanitor_old wrote:
So, Oracle maintains dynamic performance tables. Views are created off of them, and then public synonyms are created off of those views and they begin with V$. Very good. But something doesn't make sense to me.
The synonyms is owned by PUBLIC, not by SYS - so when SYS references v$XXX they access the underlying object, when anyone else references v$XXX they access the synomym, which points to the view owned by SYS, and the view accesses the underlying object owned by SYS.
The point of this is that SYS is the only schema allowed to use the code that interprets the dynamic performance views properly, so any end user that wants to access them has to go through an object owned by sys, which then accesses them with the privileges of sys (i.e. the equivalent of authid owner). The apparent loop in the chain simply means that SYS, SYSTEM, DBSNMP etc. can all use the same queries to access the dynamic performance views, but only one of them is accessing the special code directly.
See what happens if you try to grant access to the raw objects to non-SYS schemas (logged on as SYS)
SQL> grant select on v$session to test_user;
grant select on v$session to test_user
ERROR at line 1:
ORA-02030: can only select from fixed tables/viewsReagrds
Jonathan Lewis -
Sharing information between tiled view and view bean
I have come across one more problem. I have a search result
page. This search result page has a static text field and a repeated group
(I simplified the page description, for explanation purpose). In the NetD
implementation they are maintaining a page level attribute (say boolean
haveSenisitiveCustomers) and setting this attribute in the
afterDataObjectExecute event. (This data object is associated with the
repeated). In end display event of static text field, they are displaying
message say " due to Registration type, not all customers meeting the
criteria are listed") if the haveSensitiveCustomers flag is set.
After Migration, the boolean flag and static Text Field movedto
SearchResultViewBean and afterDataObjectExecuteEvent has moved to
TiledViewBean. Actual processing done is more complicated than this
explanation. However, it boils down to sharing information between
tiledViewBean and its parent bean. How do we achieve this in the Migrated
Application?
One way is to add getter methods in the child tiled view bean( to
access in parent view bean, call getRepeated1 and cast to the actual type
and invoke the get methods)Probably the typical solution (I say typical because I don't yet know) will
be to do what you suggest: provide methods between views that can be used to
determine the state needed for processing like this.
However, let me alert you to something that's different than ND, and which
may cause you some trouble. In ND, all retrieving DataObjects associated
with a page executed at one time, and the afterDataObjectExcecuteEvent fired
before any display processing began. However, in JATO, tiled views are
independent objects, and any models associated with them only execute when
the tiled view is first displayed.
Therefore, if the static test field you refer to appears in the page before
the tiled view, then the tiled view will not have executed its associated
model before the static text field is rendered. You will never see the
static text field display the text you want because you won't have the
information at display time. (If the text field appears after the repeated,
then it's not problem, as the display of the tiled view will have executed
the associate model before the field displays.)
The solution is to manually reference the tiled view and its associate model
before they would normally execute. You would execute the model and set the
tiled view's setAutoRetrieveEnabled() to false to prevent it from executing
the model a second time. Perhaps the easiest thing to do would be this:
beforeStaticTextDisplay(...)
// Force the tiled view to execute the associated model
Repeated1TiledView tiledView=
(Repeated1TiledView)getChild("Repeated1");
tiledView.beginDisplay();
tiledView.setAutoRetrieveEnabled(false);
Although the beginDisplay() method will be executed twice in this case (once
deliberately, above, and later during actual display), there should be no
overhead. The beginDisplay() method doesn't do anything anyway except
execute associated auto-retrieving models and fire the
afterAllModelsExecute() event.
Mike, do you concur or have any comments?
This explanation rests on the understanding of a number of other subjects,
some of which you may not be fully familiar with. Feel free to ask further
questions about this explanation.
Todd
Todd Fast
Senior Engineer
Sun/Netscape Alliance
todd.fast@e...I have come across one more problem. I have a search result
page. This search result page has a static text field and a repeated group
(I simplified the page description, for explanation purpose). In the NetD
implementation they are maintaining a page level attribute (say boolean
haveSenisitiveCustomers) and setting this attribute in the
afterDataObjectExecute event. (This data object is associated with the
repeated). In end display event of static text field, they are displaying
message say " due to Registration type, not all customers meeting the
criteria are listed") if the haveSensitiveCustomers flag is set.
After Migration, the boolean flag and static Text Field movedto
SearchResultViewBean and afterDataObjectExecuteEvent has moved to
TiledViewBean. Actual processing done is more complicated than this
explanation. However, it boils down to sharing information between
tiledViewBean and its parent bean. How do we achieve this in the Migrated
Application?
One way is to add getter methods in the child tiled view bean( to
access in parent view bean, call getRepeated1 and cast to the actual type
and invoke the get methods)Probably the typical solution (I say typical because I don't yet know) will
be to do what you suggest: provide methods between views that can be used to
determine the state needed for processing like this.
However, let me alert you to something that's different than ND, and which
may cause you some trouble. In ND, all retrieving DataObjects associated
with a page executed at one time, and the afterDataObjectExcecuteEvent fired
before any display processing began. However, in JATO, tiled views are
independent objects, and any models associated with them only execute when
the tiled view is first displayed.
Therefore, if the static test field you refer to appears in the page before
the tiled view, then the tiled view will not have executed its associated
model before the static text field is rendered. You will never see the
static text field display the text you want because you won't have the
information at display time. (If the text field appears after the repeated,
then it's not problem, as the display of the tiled view will have executed
the associate model before the field displays.)
The solution is to manually reference the tiled view and its associate model
before they would normally execute. You would execute the model and set the
tiled view's setAutoRetrieveEnabled() to false to prevent it from executing
the model a second time. Perhaps the easiest thing to do would be this:
beforeStaticTextDisplay(...)
// Force the tiled view to execute the associated model
Repeated1TiledView tiledView=
(Repeated1TiledView)getChild("Repeated1");
tiledView.beginDisplay();
tiledView.setAutoRetrieveEnabled(false);
Although the beginDisplay() method will be executed twice in this case (once
deliberately, above, and later during actual display), there should be no
overhead. The beginDisplay() method doesn't do anything anyway except
execute associated auto-retrieving models and fire the
afterAllModelsExecute() event.
Mike, do you concur or have any comments?
This explanation rests on the understanding of a number of other subjects,
some of which you may not be fully familiar with. Feel free to ask further
questions about this explanation.
Todd
Todd Fast
Senior Engineer
Sun/Netscape Alliance
todd.fast@e... -
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 -
Is it even possible to dynamically apply view criteria in an ADF Web App?
This is one of those situations where something that should take an hour ends up taking days.
* I have a view.
* The view has Bind Variables associated with it.
* The view has View Criteria associated with it.
* Each of the View Criteria use different Bind Variables.
* I have a search criteria input page that receives from the user what will ultimately be used to set the bind variables.
* I have a search results page that uses the view to display a table.
* I have the code that dynamically sets view criteria and parameters. It is based on the following:
http://download.oracle.com/docs/cd/E15523_01/web.1111/b31974/bcadvvo.htm#BCGFHAGA
* This code works great, until the iterator associated with the table binding to the view is initialized. At that time, the view is reset to its defaults, and all of my code's doings are discarded. How do I know this? Because I have gone so far as to run my code that sets view criteria and binding variables dynamically in a phase event handler for the search results page in the render response phase. There is no other point at which to dynamically modify the view.
This is turning into a situation where it seems I will need 5 different views and 5 different pages in order to show a single set of query results. I cannot get dynamically applied view criteria to work in an ADF web app. Has anyone else done it? Can anyone relate to this? Are there any other suggestions before I conclude that it's not possible for this framework to handle this simple scenario?
ThanksThere must be a setting or something that I am still missing here. If I write code just like this and make sure it is executed, I still only see the results of my view executed without the view criteria applied using the default bind variable values that I supplied in the view object.
It's like the fact that I set the bind variables, the view criteria, and executed the view query programmatically is lost on the iterator -- it's like it never happened. What setting is used to ensure that the iterator uses the outcome of what I executed programmatically? There has to be a critical set or setting that I am missing.
Here is the iterator and search region definitions defined in the page def "executables" section:
<executables>
<iterator Binds="CustomSearchView1" RangeSize="25"
DataControl="AppModuleDataControl"
id="CustomSearchView1Iterator"/>
<searchRegion Binds="CustomSearchView1Iterator"
Customizer="oracle.jbo.uicli.binding.JUSearchBindingCustomizer"
id="CustomSearchView1Query"/>
</executables>Here's the "tree" binding in the page def file:
<bindings>
<tree IterBinding="CustomSearchView1Iterator" id="CustomSearchView1">
<nodeDefinition DefName="Model.CustomSearchView" Name="CustomSearchView10">
<AttrNames>
<Item Value="CustomId"/>
<Item Value="CustomProjectNumber"/>
<Item Value="CustomName"/>
<Item Value="CustomStatus"/>
<Item Value="CustomStatusDate"/>
</AttrNames>
</nodeDefinition>
</tree>
</bindings>In an effort to take page flow out of this mess, I had modified this to include the search criteria and search results on a single page. So, I now have a "Search" button. When the "Search" button is clicked, the action method does the following:
public String searchActionListener ()
// Get search criteria from select one choice and text input controls.
AppModule appModule =
( AppModule ) Configuration.createRootApplicationModule (
"Model.AppModule",
"AppModuleLocal");
appModule.customSearch( searchCriteria1,
searchCriteria2,
searchCriteria3 );
}In my application module this translates to:
public void customNoticeSearch ( String searchCriteria1, String searchCriteria2, String searchCriteria3)
CustomSearchViewImpl searchViewImp =
( CustomSearchViewImpl ) this.getCustomSearchView1 ();
searchViewImp.customExecuteQuery ( searchCriteria1, searchCriteria2, searchCriteria3);
}Finally, in my custom view object implementation code:
public void customExecuteQuery ( String searchCriteria1, String searchCriteria2, String searchCriteria3 )
// Set-up the parameters that are part of the core query.
this.setp_searchCriteria1( searchCriteria1);
this.setp_searchCriteria2( searchCriteria2);
if ( searchCriteria3 != null )
ViewCriteriaManager vcm = this.getViewCriteriaManager();
ViewCriteria vc = vcm.getViewCriteria ( "WithLastCriteria" );
this.setp_searchCriteria3( new Number ( searchCriteria3 ) );
this.applyViewCriteria( vc );
System.out.println ("This is fun.");
this.executeQuery();
}This code executes, but the results table is empty, and I know that there are results, because I can execute use execute with params to execute the base query and get the correct results back.
Thanks for taking a look at this. -
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 -
Action on Button in a Tiled View
HI,
Does anyone have a sample code/insight/thoughts on how I could
implement the following ??
I have a button inside a tiled view. If the user clicks on one of the
buttons in the list - I need to perform a certain action - basically
delete that row from the tiled view (and do some other stuff) and re-
display the list.
Thank you
AtulHello Moises
The problem with this solution is that if you ever need to modify your maintenance view (i.e. regenerate the dynpros because you may want to add new fields) your coding is gone.
This is not the case if you are using event 19. Below you see same sample coding:
***INCLUDE LZUS_SDN_MAINTF01 . " Function Group with maintenance views
* Event 19: After Init. Global Variables, Field Symbols, etc.
* http://help.sap.com/saphelp_nw2004s/helpdata/en/91/ca9f44a9d111d1a5690000e82deaaa/content.htm
FORM exclude_gui_function.
* define local data
DATA: ls_excl TYPE vimexclfun.
ls_excl-function = 'DELE'. " taken from standard GUI-status 'ZULG'
BREAK-POINT.
AUTHORITY-CHECK OBJECT 'F_BKPF_BUK'
ID 'BUKRS' FIELD '1000'
ID 'ACTVT' FIELD '02'.
IF ( syst-subrc NE 0 ).
APPEND ls_excl TO excl_cua_funct.
ENDIF.
APPEND ls_excl TO excl_cua_funct. " Just for the purpose of demonstration
ENDFORM. "exclude_gui_function
Regards
Uwe -
Neurowm - dynamic tiling window manager based on Xmonad
Hi,
I started to write my own window manager last year so that it fits exactly my needs. The project was paused due to a lack of time but last month I could start coding again and make it stable. It was my very first step into the X protocol so I decided to use C language and Xlib rather than XCB because of the documentation. I might plan to port it to XCB in the near future though.
neurowm is a dynamic tiling window manager based on Xmonad, where you must write your own configuration using C language instead of Haskell language. If you are familiar with Xmonad, you should be able to understand the configuration easily.
Some features:
- Compile and reload the comfiguration file on the fly withour restarting X
- Support of float layout
- Support of toggled layouts
- Border width, color and gaps can be configured at window level
- Mirror, Reflect X and Reflect Y support on every layout
- Support of fixed windows on every layout
- Support if free window on every layout
- Dzen support
- Xinerama support (TODO)
- Java support (TODO)
Screenshots:
Website: https://github.com/nnoell/neurowm
There is no PKGBUILD at the moment and please, bear in mind that the window manager is under heavy development, so the configuration file might change a lot. Feel free to try it and leave some feedbacks.i enjoy all the neuromancer references (wintermute). and your avatar from the cover of the c64 game. gibson would be proud ;D
I am not really good at names, that is why I take all of them from things I love. Next one won't be from neuromancer, I promisse
the wm looks very nice in your scrots. can i make some feature suggestions based on my wm experiences?
i've recently switched from awesomewm to herbsluftwm, and really like it.
- the binary tree division makes so much sense. you split a frame, then split that frame, and so on into infinity. and all those frames are movable via key-binding as well. as opposed to pre-defined layouts in awesome (and as far as i can tell, neurowm too).
- having a command line tool that you use to dynamically set properties is amazing. border colors, gaps, displays, etc. e.g. you configure you monitor settings via a command v.s. you config file, this makes it more flexible for on the fly changes.
Yes, you are right, command line tools are very useful, I might think of adding that. Regarding the binary tree division, I think it would be good to create another "special" layout (as the floated one) with its own bindings. I think I will try herbsluftwm and compare it to Xmonad so I can get to the point.
I decided to create an Xmonad-like window manager using C language because many people don't know Haskell and GHC is quite heavy. The configuration file might be difficult to understand at first (specially if you are not familiar with C language) but if you guys have any problem, don't hesitate to contact me
PD: Ninja gaiden is also an amazing franchise, specially the 3 games from the NES, played a lot when I was a kid. -
Simple Dynamic Tiling WM using XCB
I came to the party late with catwm but I liked it's simplicity so I kept using it, fixing a couple of bugs that crashed the wm and generally adding options to config it how I like. There was talk in the catwm thread about porting it to XCB but it seemed to fizzle out so after I was comfortable enough with the code I gave it a shot
Keyboard support in xcb isn't so great at this stage so the keyboard shortcuts use the numbers for the keys instead of the keysyms, apart from that it is just your average minimal dynamic tiling window manager but a little bit quicker everywhere on average. It's early in its' life so there are a couple of anomalies which I'm sure I'll iron out in time.
Here's a pic :
If you want to try a light window manager using xcb you can get it from github
Comments, suggestions and/or questions are always welcome
Last edited by moetunes (2011-08-28 02:32:48)I have run this on two comps without an issue but the third gave me a little grief...
The reason I use numerical values for the keyboard modifiers is that XCB_MOD_MASK_1 doesn't map to the alt key here(took me ages to figure that out!) < important
To run this on the third comp which I haven't used in six months I did:
pacman -Ss xcb
there is four entries I had the first three already installed but don't recall doing anything xcb related on this comp so (?)
mkdir -v build/luckywm && cd build/luckywm
git init
git pull git://github.com/moetunes/Be_Lucky_Window_Manager
edit the bluckywm.c file to uncomment the first run line in grabkeys() (around about line 550) and uncomment the fprintf line in keypress()
copy the config.def.h file to config.h
and out of habit I ran
make clean && make
then I edited .xinitrc so the exec line pointed to the binary I just made.
changed to tty2 and ran
startx -- :1
With the wm up and running I pressed
Alt + h
Super + h
Shift + Alt + h
Ctrl + Alt + h
then switched to tty2 to get the numerical values for the modifiers and then killed the wm, switched to tty7 and edited the config.h file to suit and recommented the first run line in grabkeys() so the apps I open get keyboard focus and rebuilt the wm. All works fine now. Let me know if anyone has issues. Eventually I'll get keysyms working in this.
Cheers to mhertz for giving it a shot
edit : updated the method for the first run
Last edited by moetunes (2011-08-29 00:21:56) -
Getting the Values from a Tiled View
Hi,
I have a TiledView and I have checkbox in the tiled view. I am trying
to get the values of the checked boxes.
I have coded like this.
Object[] links = getRSystemLinks().getCbSystemUrl().getValues();
if I see the links.length i get only one. In html If I see the code
it appends the TileIndex in brackets. If I replace the TileIndex with
0 in all the fields in endCbSystemUrl method I get the correct values.
In the TiledView beginDisplay() method my code is like this.
if (getPrimaryModel() == null) throw new ModelControlException
("Primary model is null");
super.beginDisplay();
resetTileIndex();
pgCustomizeLinksViewBean parentBean = (pgCustomizeLinksViewBean)
getParent();
((DatasetModel) getDefaultModel()).setSize
(parentBean.SystemChoicesValue.size());
Any Suggestions on this.
Thanks
NamburiNamburi--
Remember, the getValues() method does not return the values from a column in
a TiledView. It is strictly for use by fields that can have multiple
values, like multi-select list boxes.
DO NOT remove the indexing feature from the field names, especially in the
case of checkboxes, because checkboxes aren't submitted back to the server
unless they are checked. By overriding the automatic checkbox tracking
feature JATO provides, you won't be able to tell which checkboxes were
actually checked by row--you'll simply get back a list the same size as the
number of checkboxes that were checked, without any placeholders for the
ones that weren't checked.
Instead, on submit, you simply need to move through the tiledView and check
the value of checkbox on each row:
tiledView.beforeFirst();
while (tiledView.next())
if (getDisplayFieldBooleanValue("myCheckBox"))
You can use the same construct to build up an array or list:
List checkedList=new LinkedList();
tiledView.beforeFirst();
while (tiledView.next())
if (getDisplayFieldBooleanValue("myCheckBox"))
checkedList.add(new Boolean(true))
else
checkedList.add(new Boolean(false))
Todd
Todd Fast
Senior Engineer
Sun Microsystems, Inc.
todd.fast@s...
----- Original Message -----
From: <vnamboori@y...>
Sent: Wednesday, October 17, 2001 3:49 PM
Subject: [iPlanet-JATO] Getting the Values from a Tiled View
Hi,
I have a TiledView and I have checkbox in the tiled view. I am trying
to get the values of the checked boxes.
I have coded like this.
Object[] links = getRSystemLinks().getCbSystemUrl().getValues();
if I see the links.length i get only one. In html If I see the code
it appends the TileIndex in brackets. If I replace the TileIndex with
0 in all the fields in endCbSystemUrl method I get the correct values.
In the TiledView beginDisplay() method my code is like this.
if (getPrimaryModel() == null) throw new ModelControlException
("Primary model is null");
super.beginDisplay();
resetTileIndex();
pgCustomizeLinksViewBean parentBean = (pgCustomizeLinksViewBean)
getParent();
((DatasetModel) getDefaultModel()).setSize
(parentBean.SystemChoicesValue.size());
Any Suggestions on this.
Thanks
Namburi
[email protected] -
Problem with embeding the same view in dynamically created view container
Hello Experts,
I am getiing a dump when i try to embed the same view inside the dynamically created view container of
dynamically created tabs of a tabstrip
The requirement go like this, i have 2 views in which i have have to embed the 2nd view to view1 where i have an empty
tabstrip without tabs. During runtime i create tabs as well as view containers accordingly and then try to embed view2 in tabs.
I have put the below mentioned code in HANDLEIN,
DATA: lref_vcntlr TYPE REF TO if_wd_view_controller,
lref_comp TYPE REF TO if_wd_component_usage,
lv_embed_pos TYPE string.
lref_vcntlr = wd_this->wd_get_api( ).
lv_embed_pos = 'FILE_PERS_EDIT/VC_GENERAL'.
TRY.
CALL METHOD lref_vcntlr->do_dynamic_navigation
EXPORTING
source_window_name = 'FILE_PERSISTENCE_WND' " Window
source_vusage_name = 'FILE_PERS_EDIT_USAGE_1' " Source View usage
source_plug_name = 'TO_EDIT_LAYOUT' " Outbound plug
target_view_name = 'PERS_EDIT_LAYOUT' " Second view to be embedded
target_plug_name = 'IN' " Second view inboun plug
target_embedding_position = lv_embed_pos
RECEIVING
component_usage = lref_comp.
CATCH cx_wd_runtime_repository .
ENDTRY.
wd_this->fire_to_edit_layout_plg( ).
This works fine for the first time.
However onaction tab select i change the embeding position( 'FILE_PERS_EDIT/view container name of different tab') of the view2 an try to embed view2 in a different tab.
At this point i get a dump stating View2 already present in the window 'FILE_PERSISTENCE_WND' of component.
I think, the view2 embediing has to be removed before i add the view2 in a different tab
Kindly let me know how to remove view2 embedding from tab1 before i add a view2 to a different tab or is there any other
means to handle this problem?
Thanks & Best Regards,
Srini.Hello Srini,
I found a solution to your problem, because I had a similar task.
In WDDOINIT I changed the method do_dynamic_navigation to if_wd_navigation_services_new~prepare_dynamic_navigation:
DATA:
l_view_controller_api TYPE REF TO if_wd_view_controller.
l_view_controller_api = wd_this->wd_get_api( ).
TRY.
CALL METHOD l_view_controller_api->if_wd_navigation_services_new~prepare_dynamic_navigation
EXPORTING
source_window_name = 'WDW_MAIN'
source_vusage_name = 'VW_SUB_USAGE_1'
source_plug_name = 'TO_VW_CONTENT'
target_component_name = 'ZTEST_DYNAMIC'
target_view_name = 'VW_CONTENT'
target_plug_name = 'DEFAULT'
target_embedding_position = 'VW_MAIN/VC_TAB.VW_SUB/TAB1_VC'
RECEIVING
repository_handle = wd_this->g_rep_handle.
CATCH cx_wd_runtime_repository .
ENDTRY.
wd_this->fire_to_vw_content_plg( param1 = 'TAB1' ).
In the action I first deleted the navigation targets, then navigated to the empty-view and last I called my target view:
DATA:
lv_position TYPE string,
l_view_controller_api TYPE REF TO if_wd_view_controller,
lr_view_usage TYPE REF TO if_wd_rr_view_usage,
lr_view_***_t TYPE wdrr_vca_objects,
lr_view_*** LIKE LINE OF lr_view_***_t.
l_view_controller_api = wd_this->wd_get_api( ).
lr_view_usage = wd_this->g_view->get_view_usage( ).
lr_view_usage->delete_all_navigation_targets( plug_name = 'TO_VW_CONTENT' ).
CLEAR lv_position.
CONCATENATE 'VW_MAIN/VC_TAB.VW_SUB/' old_tab '_VC' INTO lv_position.
TRY.
l_view_controller_api->if_wd_navigation_services_new~do_dynamic_navigation(
source_window_name = 'WDW_MAIN'
source_vusage_name = 'VW_SUB_USAGE_1'
source_plug_name = 'TO_EMPTYVIEW'
target_component_name = 'ZTEST_DYNAMIC'
target_view_name = 'EMPTYVIEW'
target_plug_name = 'DEFAULT'
target_embedding_position = lv_position ).
CATCH cx_wd_runtime_repository.
ENDTRY.
CLEAR lv_position.
CONCATENATE 'VW_MAIN/VC_TAB.VW_SUB/' tab '_VC' INTO lv_position.
TRY.
wd_this->g_rep_handle = l_view_controller_api->if_wd_navigation_services_new~prepare_dynamic_navigation(
source_window_name = 'WDW_MAIN'
source_vusage_name = 'VW_SUB_USAGE_1'
source_plug_name = 'TO_VW_CONTENT'
target_component_name = 'ZTEST_DYNAMIC'
target_view_name = 'VW_CONTENT'
target_plug_name = 'DEFAULT'
target_embedding_position = lv_position ).
CATCH cx_wd_runtime_repository.
ENDTRY.
wd_this->fire_to_vw_content_plg( param1 = tab ).
Ann.: I my example, I had 3 views: VW_MAIN which embedds VW_SUB. VW_SUB has the tabs in it and VW_SUB embedds VW_CONTENT.
BR,
Roland -
Reading XML file into Dynamic Node and Display its output as Table.
Hi All,
Following is the output of XML file:
<Company>
<Employee>
<Name>John</Name>
<Age>23</Age>
<***>Male</***>
<Location>Frankfurt</Location>
</Employee>
<Employee>
<Name>Tina</Name>
<Age>21</Age>
<***>Female</***>
<Location>Boston</Location>
</Employee>
<Department>
<Name>Sales</Name>
<HQ>Chicago</HQ>
<Emplyoees>2300</Employees>
</Department>
I'm able to read the output through DOM parser. But How do I convert this into dynamic node and display this in Web dynpro as Table?
Any pointers in this regard will be great help?
Thanks
SrikantHi Maksim,
I've used your example and its now helping as there is kind of agreement on that I'll be knowing the structure of Xml and I can fill the nodes.
But suppose if you have Xml has following structure :
<?xml version="1.0" encoding="utf-8"?><DATA>
<item><MAILERID TYPE="C" SIZE="000030">21</MAILERID><ORG_CODE TYPE="C" SIZE="000004">1232</ORG_CODE><EVENTID TYPE="C" SIZE="000015">CONTRACT</EVENTID><SUBSCR_VALUE TYPE="C" SIZE="000001">0</SUBSCR_VALUE></item>
<item><MAILERID TYPE="C" SIZE="000030">21</MAILERID><ORG_CODE TYPE="C" SIZE="000004">1232</ORG_CODE><EVENTID TYPE="C" SIZE="000015">CREDIT</EVENTID><SUBSCR_VALUE TYPE="C" SIZE="000001">0</SUBSCR_VALUE></item>
<item><MAILERID TYPE="C" SIZE="000030">21</MAILERID><ORG_CODE TYPE="C" SIZE="000004">1232</ORG_CODE><EVENTID TYPE="C" SIZE="000015">EMPRESS</EVENTID><SUBSCR_VALUE TYPE="C" SIZE="000001">0</SUBSCR_VALUE></item>
<item><MAILERID TYPE="C" SIZE="000030">21</MAILERID><ORG_CODE TYPE="C" SIZE="000004">1232</ORG_CODE><EVENTID TYPE="C" SIZE="000015">PAYMENT</EVENTID><SUBSCR_VALUE TYPE="C" SIZE="000001">0</SUBSCR_VALUE></item>
<item><MAILERID TYPE="C" SIZE="000030">21</MAILERID><ORG_CODE TYPE="C" SIZE="000004">1232</ORG_CODE><EVENTID TYPE="C" SIZE="000015">PRICE</EVENTID><SUBSCR_VALUE TYPE="C" SIZE="000001">0</SUBSCR_VALUE></item>
</DATA>
How we will do in this case?
Can we have something similar using DOM? Also what is the best method for displaying data being sent in form of XML. And generalize it for cases like this.
Thanks
Srikant
Maybe you are looking for
-
Unable to install Java 2 Platform Standard Edition Development Kit 1.4.2_11
I am unable to install Java 2 Platform Standard Edition Development Kit 1.4.2_11 and NetBeans IDE 5.0 on Windows 98. I get the following message: Java 2 Platform Standard Edition Development Kit 1.4.2_11 cannot be installed on your computer because c
-
I currently have Elements 4 on my mac laptop, I am having a problem loading raw photos from desktop to adobe bridge or elements 4. I get a message that reads "Could not complete your request because photoshop does not recognize this type of file", do
-
Hello, I have written BDC for pa41 ..it is not taking the second employee after first is updated. after first employee updation i need to press back button and then press "NO" to exit batch input. then it goes to next employee and same process. while
-
Error in Maintain Performance Documents under Team in MSS
Getting below error when i click Maintain Performance Documents under Team in MSS java.lang.NullPointerException at com.sap.xss.hr.mbo.blc.BMboStatusComp.resetGlobalMboR3Data(BMboStatusComp.java:260) at com.sap.xss.hr.mbo.blc.wdp.InternalBM
-
Photomerge UI not working in Snow Leopard. Shows up in the sys info of PSCS4, but not in File/Automate/Photomerge. What am doing wrong? Installed into //Applications/Adobe Photoshop CS4/Plug-ins/Automate. Clean install of SL & CS4, any help would be