Error : com.iplanet.jato.model.ModelControlException: Location is beyond th
Hi..All,
I have a Page displayed with few values & one of them is of HREF type.The Model gets populated & I am able to view the data. When I click on the HREF value, I get an error :com.iplanet.jato.model.ModelControlException: Location is beyond the end of the current bean array (0 > -1)I tried setting the Bean Scope to "Any", "Request" , but it still gives me this error. The sys out in the constructor shows 0 for the size when the request comes in for the second time.
Here is the JSP :
package accruals.main;
import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
import com.iplanet.jato.*;
import com.iplanet.jato.command.*;
import com.iplanet.jato.model.*;
import com.iplanet.jato.view.*;
import com.iplanet.jato.view.event.*;
import javax.naming.*;
import javax.rmi.PortableRemoteObject;
import AccrualsEJB.*;
public class TaxPackUserAccessView extends BasicTiledView {
* Default constructor
public TaxPackUserAccessView(View parent, String name) {
super(parent,name);
// setMaxDisplayTiles(5);
System.out.println("The Model Name in the init before is : " +getPrimaryModel().getName());
try {
System.out.println("The model size in the init is : " + getPrimaryModel().getSize());
} catch (Exception e) {System.out.println("Error in init " + e);}
// Non-visual component initialization
private com.iplanet.jato.model.SimpleModelReference taxPackUserAccess;
* Creates the non-visual components
* <p><em>WARNING:</em> This code was automatically generated, do not edit!
private void initComponents(){
taxPackUserAccess = new com.iplanet.jato.model.SimpleModelReference();
{ // begin local variable scope
taxPackUserAccess.setModelClassName("accruals.main.TaxPackUserAccess");
} // end local variable scope
// Instance initializer - non-visual components
initComponents();
// Instance initializer - set properties
this.setPrimaryModelReference(taxPackUserAccess);
com.iplanet.jato.model.ModelReference[] autoRetrievingModelsVar =
new com.iplanet.jato.model.ModelReference[0];
this.setAutoRetrievingModels(autoRetrievingModelsVar);
this.setMaxDisplayTiles(100);
* Registers each child in this container.
* <p><em>WARNING:</em> This code was automatically generated, do not edit!
private void registerChildren() {
registerChild(CHILD_EMP_NO, com.iplanet.jato.view.BasicDisplayField.class);
registerChild(CHILD_NAME, com.iplanet.jato.view.BasicDisplayField.class);
registerChild(CHILD_ADMIN, com.iplanet.jato.view.BasicDisplayField.class);
registerChild(CHILD_SUPER_USER, com.iplanet.jato.view.BasicDisplayField.class);
registerChild(CHILD_EMP_NO_SUMMARY, com.iplanet.jato.view.BasicCommandField.class);
// Instance initializer - register children
registerChildren();
* Creates the named child.
* <p><em>WARNING:</em> This code was automatically generated, do not edit!
protected View createChildReserved(String name) {
if (name.equals(CHILD_EMP_NO)) {
com.iplanet.jato.view.BasicDisplayField child =
new com.iplanet.jato.view.BasicDisplayField(this, CHILD_EMP_NO);
child.setModelReference(taxPackUserAccess);
com.iplanet.jato.model.ModelFieldBinding modelFieldBindingVar =
new com.iplanet.jato.model.ModelFieldBinding();
{ // begin local variable scope
modelFieldBindingVar.setReadFieldName("empNo");
modelFieldBindingVar.setWriteFieldName("empNo");
} // end local variable scope
child.setModelFieldBinding(modelFieldBindingVar);
child.setValue( "");
return child;
else if (name.equals(CHILD_NAME)) {
com.iplanet.jato.view.BasicDisplayField child =
new com.iplanet.jato.view.BasicDisplayField(this, CHILD_NAME);
child.setModelReference(taxPackUserAccess);
com.iplanet.jato.model.ModelFieldBinding modelFieldBindingVar =
new com.iplanet.jato.model.ModelFieldBinding();
{ // begin local variable scope
modelFieldBindingVar.setReadFieldName("name");
modelFieldBindingVar.setWriteFieldName("name");
} // end local variable scope
child.setModelFieldBinding(modelFieldBindingVar);
child.setValue( "");
return child;
else if (name.equals(CHILD_ADMIN)) {
com.iplanet.jato.view.BasicDisplayField child =
new com.iplanet.jato.view.BasicDisplayField(this, CHILD_ADMIN);
child.setModelReference(taxPackUserAccess);
com.iplanet.jato.model.ModelFieldBinding modelFieldBindingVar =
new com.iplanet.jato.model.ModelFieldBinding();
{ // begin local variable scope
modelFieldBindingVar.setReadFieldName("admin");
modelFieldBindingVar.setWriteFieldName("admin");
} // end local variable scope
child.setModelFieldBinding(modelFieldBindingVar);
child.setValue( "1");
return child;
else if (name.equals(CHILD_SUPER_USER)) {
com.iplanet.jato.view.BasicDisplayField child =
new com.iplanet.jato.view.BasicDisplayField(this, CHILD_SUPER_USER);
child.setModelReference(taxPackUserAccess);
com.iplanet.jato.model.ModelFieldBinding modelFieldBindingVar =
new com.iplanet.jato.model.ModelFieldBinding();
{ // begin local variable scope
modelFieldBindingVar.setReadFieldName("superUser");
modelFieldBindingVar.setWriteFieldName("superUser");
} // end local variable scope
child.setModelFieldBinding(modelFieldBindingVar);
child.setValue( "1");
return child;
else if (name.equals(CHILD_EMP_NO_SUMMARY)) {
com.iplanet.jato.view.BasicCommandField child =
new com.iplanet.jato.view.BasicCommandField(this, CHILD_EMP_NO_SUMMARY);
child.setModelReference(taxPackUserAccess);
com.iplanet.jato.model.ModelFieldBinding modelFieldBindingVar =
new com.iplanet.jato.model.ModelFieldBinding();
{ // begin local variable scope
modelFieldBindingVar.setReadFieldName("empNo");
modelFieldBindingVar.setWriteFieldName("empNo");
} // end local variable scope
child.setModelFieldBinding(modelFieldBindingVar);
return child;
return super.createChildReserved(name);
/** Returns the <code>empNo</code> child View component */
public com.iplanet.jato.view.BasicDisplayField getEmpNoChild() {
return (com.iplanet.jato.view.BasicDisplayField)getChild(CHILD_EMP_NO);
/** Returns the <code>name</code> child View component */
public com.iplanet.jato.view.BasicDisplayField getNameChild() {
return (com.iplanet.jato.view.BasicDisplayField)getChild(CHILD_NAME);
/** Returns the <code>admin</code> child View component */
public com.iplanet.jato.view.BasicDisplayField getAdminChild() {
return (com.iplanet.jato.view.BasicDisplayField)getChild(CHILD_ADMIN);
/** Returns the <code>superUser</code> child View component */
public com.iplanet.jato.view.BasicDisplayField getSuperUserChild() {
return (com.iplanet.jato.view.BasicDisplayField)getChild(CHILD_SUPER_USER);
/** Returns the <code>empNoSummary</code> child View component */
public com.iplanet.jato.view.BasicCommandField getEmpNoSummaryChild() {
return (com.iplanet.jato.view.BasicCommandField)getChild(CHILD_EMP_NO_SUMMARY);
public static final String CHILD_EMP_NO = "empNo";
public static final String CHILD_NAME = "name";
public static final String CHILD_ADMIN = "admin";
public static final String CHILD_SUPER_USER = "superUser";
public static final String CHILD_EMP_NO_SUMMARY = "empNoSummary";
public void handleEmpNoSummaryRequest(RequestInvocationEvent event) throws Exception {
System.out.println("The Model Name is : " +getPrimaryModel().getName());
setPrimaryModel((DatasetModel)getDefaultModel());
System.out.println("In Because of the link :" +((TiledViewRequestInvocationEvent)event).getTileNumber());
System.out.println("The Model Name is : + " +getPrimaryModel().getName());
System.out.println("The model size is from the request : " + getPrimaryModel().getSize());
getPrimaryModel().setLocation(((TiledViewRequestInvocationEvent)event).getTileNumber());
System.out.println("the value of the clicked field was :" + getDisplayFieldStringValue(CHILD_EMP_NO));
System.out.println("From the value:"+ getEmpNoChild().getValue());
getParentViewBean().forwardTo(getRequestContext());
public void beginComponentDisplay(DisplayEvent event) throws ModelControlException {
TaxPackUserDATA tpackDATA =null;
AccrualsSessionHome myAccrualsSessionHome;
String userID;
Object result;
try {
System.out.println("Before the create");
Context c = new InitialContext();
System.out.println("after the intial context");
result = c.lookup("ejb/AccrualsSession");
System.out.println("The class name :" +result.getClass().getName());
System.out.println("after the lookup");
myAccrualsSessionHome = (AccrualsSessionHome)PortableRemoteObject.narrow(result,AccrualsSessionHome.class);
System.out.println("after narrow down");
AccrualsSession asb = myAccrualsSessionHome.create();
System.out.println("after the create");
tpackDATA = asb.validateUser("111351");
System.out.println("The user is " + tpackDATA.getEmpNo());
System.out.println("The Name id is " + tpackDATA.getName());
System.out.println("The admin is " + tpackDATA.getAdmin());
System.out.println("The superUser is " + tpackDATA.getSuperUser());
} catch (Exception e) {
System.out.println("Error during Validate User Login in AccrualsLoginServlet" + e);
System.out.println("Inside AccrualsLoginViewBean beginComponentDisplay");
BeanAdapterModel model = (TaxPackUserAccess) getRequestContext().getModelManager().getModel(TaxPackUserAccess.class);
System.out.println("After creating the model" + getPrimaryModel().getName());
getRequestContext().getRequest().setAttribute(model.getBeanScopeAttributeName(), tpackDATA);
System.out.println("Leaving AccrualsLoginViewBean beginComponentDisplay");
System.out.println("The model size is : " + model.getSize());
// getPrimaryModel().setSize(1);
// resetTileIndex();
// super.beginComponentDisplay(event);
}
You are using BeanAdapterModel. Unless you've elected to place your BeanAdapterModel instance in the session, it is request-scoped like all JATO objects. This means that on the second request, a new model is created, and unless you set the list of beans on the model, it has no beans on which to set the incoming data.
An easy place to set the list of beans is in the constructor of the model. If, however, the beans are in one of the J2EE scopes (either already, or because you elected to put them there sometime earlier in your request handling), then you can use the model's ability to look up the beans in that scope by adjusting the Bean Scope and Bean Scope Attribute properties.
Similar Messages
-
RE: [iPlanet-JATO] models
Belinda,
YES & YES
What you are asking to do is EXACTLY what one of the primary value
propositions of the JATO design. The JATO Overview 'whitepaper'
specifically points this out as a limitation of other MVC frameworks. The
constructors of the Views require the designation of a Model; this is where
you would hook your Views (DisplayFields) into various Models. Please note
that there is no coupling of the Views and Models so there is a many to many
relationship (of your choosing). Please note that the 'accessor' methods
(setters and getters) [other than the Model interface prescribed getValue()
setValue() getValues() setValues() methods] are no related to the
DisplayField design pattern per se. The DisplayFields will manage data on
the request and response cycles using the getValue()/setValue() methods.
This is what lets the model view relationship plugable. The accessors in
the Model are not required for the View pattern. The implementation of a
specific Model's getValue()/setValue() may be to utilize the special
accessors...but they are not used by the DisplayFields directly.
matt
-----Original Message-----
From: Belinda Garcia [mailto:<a href="/group/SunONE-JATO/post?protectID=014056235009078154169082148140172241239144044214017123152006048067">belinda.garcia@s...</a>]
Sent: Tuesday, December 04, 2001 5:29 PM
Subject: [iPlanet-JATO] models
1. Do all the member variables (those connected to setters and getters) of a
model have
to be bound to the display fields of a view that is using it? In other
words, say I
have a model with 10 member variables with 10 setters and getters for them
but I have a
view that's only using 5 of these member variables. I'm asking this because
maybe I
would like to have a model that represents more than one view, if this is
possible.
2. Can a view have more than one model for its display fields? I don't mean
an
executing, retrieving, etc. I mean the display fields themselves. Where the
data for
one field is retrieved from one model and the data for another field is
retrieved from
another model? Or say, I want to retrieve some static text fields from
property files
for localization but the other fields from a model?
For more information about JATO, please visit:
http://developer.iplanet.com/tech/appserver/framework/index.jspBelinda,
YES & YES
What you are asking to do is EXACTLY what one of the primary value
propositions of the JATO design. The JATO Overview 'whitepaper'
specifically points this out as a limitation of other MVC frameworks. The
constructors of the Views require the designation of a Model; this is where
you would hook your Views (DisplayFields) into various Models. Please note
that there is no coupling of the Views and Models so there is a many to many
relationship (of your choosing). Please note that the 'accessor' methods
(setters and getters) [other than the Model interface prescribed getValue()
setValue() getValues() setValues() methods] are no related to the
DisplayField design pattern per se. The DisplayFields will manage data on
the request and response cycles using the getValue()/setValue() methods.
This is what lets the model view relationship plugable. The accessors in
the Model are not required for the View pattern. The implementation of a
specific Model's getValue()/setValue() may be to utilize the special
accessors...but they are not used by the DisplayFields directly.
matt
-----Original Message-----
From: Belinda Garcia [mailto:<a href="/group/SunONE-JATO/post?protectID=014056235009078154169082148140172241239144044214017123152006048067">belinda.garcia@s...</a>]
Sent: Tuesday, December 04, 2001 5:29 PM
Subject: [iPlanet-JATO] models
1. Do all the member variables (those connected to setters and getters) of a
model have
to be bound to the display fields of a view that is using it? In other
words, say I
have a model with 10 member variables with 10 setters and getters for them
but I have a
view that's only using 5 of these member variables. I'm asking this because
maybe I
would like to have a model that represents more than one view, if this is
possible.
2. Can a view have more than one model for its display fields? I don't mean
an
executing, retrieving, etc. I mean the display fields themselves. Where the
data for
one field is retrieved from one model and the data for another field is
retrieved from
another model? Or say, I want to retrieve some static text fields from
property files
for localization but the other fields from a model?
For more information about JATO, please visit:
http://developer.iplanet.com/tech/appserver/framework/index.jsp -
Re: [iPlanet-JATO] Re: CSpMultiSQL after migration
Alex,
I just switched over to Netscape Messenger from OutLook and I didn't
realize that emails were displayed in threaded hierarchies and therefore
did not see that you had already had responses to your post. Sorry for
the confusion in my previous response.
matt
njdoe123 wrote:
Hi,
I have tested another simple MultiSQL. The Update, Delete, Insert
are not funcitonal. I'm using only one single database table (no
join). It worked great in netD. The database is Oracle.
We're using migtoolbox-1.1.1 with Jato 1.1. Do we have to modify
the UpdataQueryModel.java file or other ? Or could i use jato 1.2
to replace 1.1 ?
The following is log from AppServer. Could i receive the migtool
1.2 beta ?
Thanks,
Alex Lin
<Dec 21, 2001 11:18:36 AM PST> <Error> <HTTP> <[WebAppServletContext
(1572805,Tes
t3AppWar,/Test3AppWar)] Root cause of ServletException
com.iplanet.jato.model.ModelControlException
java.sql.SQLException: ORA-00933: SQL command not properly ended
at oracle.jdbc.dbaccess.DBError.throwSqlException
(DBError.java:168)
at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:208)
at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:543)
at oracle.jdbc.ttc7.TTC7Protocol.doOall7
(TTC7Protocol.java:1405)
at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch
(TTC7Protocol.java:822
at oracle.jdbc.driver.OracleStatement.executeNonQuery
(OracleStatement.ja
va:1446)
at oracle.jdbc.driver.OracleStatement.doExecuteOther
(OracleStatement.jav
a:1371)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout
(OracleStateme
nt.java:1900)
at oracle.jdbc.driver.OracleStatement.executeUpdate
(OracleStatement.java
:693)
at com.iplanet.jato.model.sql.QueryModelBase.executeUpdate
(QueryModelBas
e.java:1788)
at com.iplanet.jato.model.sql.QueryModelBase.update
(QueryModelBase.java:
420)
at
com.iplanet.jato.view.RequestHandlingViewBase.executeAutoUpdatingMode
l(RequestHandlingViewBase.java:1070)
at
com.iplanet.jato.view.RequestHandlingViewBase.executeAutoUpdatingMode
ls(RequestHandlingViewBase.java:938)
at
com.iplanet.jato.view.RequestHandlingViewBase.handleWebAction(Request
HandlingViewBase.java:821)
at Test3App.Test3.PgUpdateViewBean.handleUpdateRequest
(PgUpdateViewBean.
java:838)
at java.lang.reflect.Method.invoke(Native Method)
at com.iplanet.jato.view.RequestHandlingViewBase.handleRequest
(RequestHa
ndlingViewBase.java:341)
at
com.iplanet.jato.view.ViewBeanBase.invokeRequestHandlerInternal(ViewB
eanBase.java:481)
at com.iplanet.jato.view.ViewBeanBase.invokeRequestHandler
(ViewBeanBase.
java:431)
at com.iplanet.jato.ApplicationServletBase.dispatchRequest
(ApplicationSe
rvletBase.java:645)
at com.iplanet.jato.ApplicationServletBase.processRequest
(ApplicationSer
vletBase.java:431)
at com.iplanet.jato.ApplicationServletBase.doPost
(ApplicationServletBase
.java:296)
at javax.servlet.http.HttpServlet.service
(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service
(HttpServlet.java:853)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet
(ServletStubIm
pl.java:265)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet
(ServletStubIm
pl.java:200)
at
weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppSe
rvletContext.java:2456)
at weblogic.servlet.internal.ServletRequestImpl.execute
(ServletRequestIm
pl.java:2039)
at weblogic.kernel.ExecuteThread.execute
(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run
(ExecuteThread.java:120)
--- In iPlanet-JATO@y..., "Matthew Stevens" <matthew.stevens@E...>
wrote:
EDITED
-----Original Message-----
From: Matthew Stevens [mailto:<a href="/group/SunONE-JATO/post?protectID=029166114165042198028082000056130080177026031196061130152150">matthew.stevens@e...</a>]
Sent: Thursday, December 20, 2001 4:32 PM
Alex,
If your implied question is, "Looks like the iMT did not migrate
this block
of code. What is my next step?" Then I have an answer for you. If
I
misinterpreted your email then please clarify.
The procedure for ND migration using the iMT (as outlined in the
documentation
under <iMT_install_dir>/docs) is that customized code originally
provided by
the ND developer is purposely commented out so that the file can
compile.
Our experience in migration efforts shows that it is preferrable to
the
migrator to be able to select which part of the application they
want to
work
on by uncommenting specific blocks of code - allowing for
incremental
edit/compile/test cycles. If we left all this arbitary code un-
commented,
then nothing would compile after migration and you would have a huge
roadblock for moving forward.
Judging from the "spider" APIs which are still seen in your code
block, you
must not have run the Regular Expression API mapping tool which
will take
care of many of this code. I believe that the API mapper will
migrate this
block of code almost 100% and you just need to uncomment it.
matt
-----Original Message-----
From: njdoe123 [mailto:<a href="/group/SunONE-JATO/post?protectID=230176091112175091130232203140129208071">first.us@a...</a>]
Sent: Thursday, December 20, 2001 4:04 PM
Subject: [iPlanet-JATO] Re: CSpMultiSQL after migration
Oops !
The following (very simple) customized code was not migrated.
In business logic - after update, goto another page.
My backend database is Oracle.
Thanks.
Alex Lin
-------------------------+
// The following code block was migrated from the Update_onWebEvent
method
// MigrationToDo : THIS CODE MUST BE MANUALLY ADJUSTED
int command = PROCEED;
CSpPage nextPage =(CSpPage) CSpider.getPage("PgDistrict");
executeAllUpdatingDataObjects();
return nextPage.load();
--- In iPlanet-JATO@y..., "Craig V. Conover" <craig.conover@s...>
wrote:
Alex,
CSpMultiSQL migrate just fine. You may have had to do something
extraordinary for your
particular database in your select statement.
Can we see the entire exception stack trace, and the code that is
executing the model?
Also, what database are you hitting?
c
njdoe123 wrote:
Hi,
It's a bit strange while doing CSpMultiSQL (select and update).
I have received the following error on the AppServer.
Web event invoked: Test3App.Test3.PgWebUserViewBean.Update
<Dec 19, 2001 2:20:05 PM PST> <Error> <HTTP>
<[WebAppServletContext(168087,Test3
AppWar,/Test3AppWar)] Root cause of ServletException
com.iplanet.jato.model.ModelControlException
java.sql.SQLException: ORA-00933: SQL command not properly ended
'SQL command not properly ended ?' - i haven't touched the sql
code,
it's just simple select and update to one table.
Could iMT do MultiSQL ? If not, what is the solution after
migration
Thanks,
Alex Lin
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
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.jspThank you - Jin and Todd.
Will try that.
Atul
--- In iPlanet-JATO@y..., Byung Jin Chun <bchun@n...> wrote:
try using kregedit and modify the key for the jvm args, using the -x
parameters for the 1.2 runtime
Jin
-----Original Message-----
From: Todd Fast [mailto:<a href="/group/SunONE-JATO/post?protectID=101233080150035167169232031248066208071048">Todd.Fast@S...</a>]
Sent: Tuesday, February 19, 2002 8:40 PM
Subject: Re: [iPlanet-JATO] Re: OutOfMemoryError
Atul--
Out of curiosity - How do you modify the memory parameters for
the container's VM ?? I know I should try to do some research but
figured you may already have some insight and willingness to
share.
Please consider this as low priority.It differs by container; I don't remember details of any particular one.
>
Todd
For more information about JATO, including download information, please
visit:
http://developer.iplanet.com/tech/appserver/framework/index.jsp
<http://developer.iplanet.com/tech/appserver/framework/index.jsp>
[Non-text portions of this message have been removed] -
Re: [iPlanet-JATO] Data model(Dataobject in Nd5)
Sn,
Computed columns need special attention.
The migration tool creates a QueryFieldSchema for each Model (DataObject).
The schema is populated with entries for each of the "data fields" needed by
that query. For example:
FIELD_SCHEMA.addFieldDescriptor(
new QueryFieldDescriptor(
FIELD_NDNWORDERS_ORDERID,
COLUMN_NDNWORDERS_ORDERID,
QUALIFIED_COLUMN_NDNWORDERS_ORDERID,
Integer.class,
false,
false,
QueryFieldDescriptor.APPLICATION_INSERT_VALUE_SOURCE,
QueryFieldDescriptor.ON_EMPTY_VALUE_EXCLUDE,
The query field descriptor describes the "metadata" for a given field:
QueryFieldDescriptor(java.lang.String logicalName, java.lang.String
columnName, java.lang.String qualifiedColumnName, java.lang.Class
fieldClass, boolean isKey, boolean isComputedField, int insertValueSource,
java.lang.String insertFormula, int onEmptyValuePolicy, java.lang.String
emptyFormula)
There is also a SQL Template generated for select statements:
static final String SELECT_SQL_TEMPLATE="SELECT ALL ndnwOrders.OrderID,
ndnwOrders.CustomerID, ndnwOrders.EmployeeID, ndnwOrders.OrderDate,
ndnwOrders.RequiredDate, ndnwOrders.ShippedDate, ndnwOrders.ShipVia,
ndnwOrders.Freight, ndnwOrders.ShipName, ndnwOrders.ShipAddress,
ndnwOrders.ShipCity, ndnwOrders.ShipRegion, ndnwOrders.ShipPostalCode,
ndnwOrders.ShipCountry FROM ndnwOrders __WHERE__ ";
public
So for computed columns you need to do two things:
1. You need to adjust the SELECT_SQL_TEMPLATE to reflect your computed
column instead of the "simplistic" column name that appears there by
default.
2. You have to "alias" that column and provide the value of the alias in the
columnName position of the QueryFieldDescriptor. This is needed so that the
model will be able to dereference the computed column in the result set.
----- Original Message -----
From: "SNR R" <snr@s...>
Sent: Thursday, July 12, 2001 8:30 AM
Subject: [iPlanet-JATO] Data model(Dataobject in Nd5)
Hi
We are migrating ND5 application into iplanet.When we are excuting
data model it is giving invalid column name error but when we check
data
model sql statement which is working fine at sqlplus but this data model
has got computed column.
could you please tell me how to resolve this problem.
Thanks
Sn
----- Original Message -----
From: "Todd Fast" <toddwork@c...>
Date: Monday, July 9, 2001 10:42 pm
Subject: Re: [iPlanet-JATO] COULD YOU PLS HELP ME TO FIX REPEATED OBJECT
ISSUE.
This code should generally be in the TiledView (it may appear in
both the
ViewBean and the TiledView after migration).
CSpRepeated repeated =(CSpRepeated) event.getSource();// Assuming the code is in the TiledView
TiledView repeated=this;
CSpStaticText stFieldName =(CSpStaticText)
repeated.getDisplayField("stFieldName");StaticTextField stFieldName=
(StaticTextField)getDisplayField("stFieldName");
- or -
StaticTextField stFieldName=getStFieldName();
int index = event.getRowIndex();In what event do you want to obtain the index? For the most part,
you can
just call TiledView.getTileIndex(). If this is a request event
handlingmethod, the row index is part of the event signature.
IMPORTANT: If the original code cached references to display
fields as page
instance variables for use in the class's events, you should NOT
do the same
in JATO. This was an ND pattern that is unnecessary and
inefficient in
JATO. Instead, you should just use the generated accessors or the
getDisplayField()/getChild() methods to obtain a reference to a
displayfield as needed. Mike Frisino has elaborated this point in
the past; please
refer to his emails.
Todd
[email protected]
[email protected]Sn,
Computed columns need special attention.
The migration tool creates a QueryFieldSchema for each Model (DataObject).
The schema is populated with entries for each of the "data fields" needed by
that query. For example:
FIELD_SCHEMA.addFieldDescriptor(
new QueryFieldDescriptor(
FIELD_NDNWORDERS_ORDERID,
COLUMN_NDNWORDERS_ORDERID,
QUALIFIED_COLUMN_NDNWORDERS_ORDERID,
Integer.class,
false,
false,
QueryFieldDescriptor.APPLICATION_INSERT_VALUE_SOURCE,
QueryFieldDescriptor.ON_EMPTY_VALUE_EXCLUDE,
The query field descriptor describes the "metadata" for a given field:
QueryFieldDescriptor(java.lang.String logicalName, java.lang.String
columnName, java.lang.String qualifiedColumnName, java.lang.Class
fieldClass, boolean isKey, boolean isComputedField, int insertValueSource,
java.lang.String insertFormula, int onEmptyValuePolicy, java.lang.String
emptyFormula)
There is also a SQL Template generated for select statements:
static final String SELECT_SQL_TEMPLATE="SELECT ALL ndnwOrders.OrderID,
ndnwOrders.CustomerID, ndnwOrders.EmployeeID, ndnwOrders.OrderDate,
ndnwOrders.RequiredDate, ndnwOrders.ShippedDate, ndnwOrders.ShipVia,
ndnwOrders.Freight, ndnwOrders.ShipName, ndnwOrders.ShipAddress,
ndnwOrders.ShipCity, ndnwOrders.ShipRegion, ndnwOrders.ShipPostalCode,
ndnwOrders.ShipCountry FROM ndnwOrders __WHERE__ ";
public
So for computed columns you need to do two things:
1. You need to adjust the SELECT_SQL_TEMPLATE to reflect your computed
column instead of the "simplistic" column name that appears there by
default.
2. You have to "alias" that column and provide the value of the alias in the
columnName position of the QueryFieldDescriptor. This is needed so that the
model will be able to dereference the computed column in the result set.
----- Original Message -----
From: "SNR R" <snr@s...>
Sent: Thursday, July 12, 2001 8:30 AM
Subject: [iPlanet-JATO] Data model(Dataobject in Nd5)
Hi
We are migrating ND5 application into iplanet.When we are excuting
data model it is giving invalid column name error but when we check
data
model sql statement which is working fine at sqlplus but this data model
has got computed column.
could you please tell me how to resolve this problem.
Thanks
Sn
----- Original Message -----
From: "Todd Fast" <toddwork@c...>
Date: Monday, July 9, 2001 10:42 pm
Subject: Re: [iPlanet-JATO] COULD YOU PLS HELP ME TO FIX REPEATED OBJECT
ISSUE.
This code should generally be in the TiledView (it may appear in
both the
ViewBean and the TiledView after migration).
CSpRepeated repeated =(CSpRepeated) event.getSource();// Assuming the code is in the TiledView
TiledView repeated=this;
CSpStaticText stFieldName =(CSpStaticText)
repeated.getDisplayField("stFieldName");StaticTextField stFieldName=
(StaticTextField)getDisplayField("stFieldName");
- or -
StaticTextField stFieldName=getStFieldName();
int index = event.getRowIndex();In what event do you want to obtain the index? For the most part,
you can
just call TiledView.getTileIndex(). If this is a request event
handlingmethod, the row index is part of the event signature.
IMPORTANT: If the original code cached references to display
fields as page
instance variables for use in the class's events, you should NOT
do the same
in JATO. This was an ND pattern that is unnecessary and
inefficient in
JATO. Instead, you should just use the generated accessors or the
getDisplayField()/getChild() methods to obtain a reference to a
displayfield as needed. Mike Frisino has elaborated this point in
the past; please
refer to his emails.
Todd
[email protected]
[email protected] -
RE: [iPlanet-JATO] Parse error in JSP parser in IAS6
Hi Todd,
removing the defaultValue="" attribute works.
I have not got around to testing the SP3.
BTW. The reason the default value tag was added was to stop Null pointer
exceptions being thrown in the
HrefTag.beginDisplay().
buffer.append("?")
.append(field.getQualifiedName()) // "FooHref"
.append("=")
.append(URLEncoder.encode(value.toString())); // "/foo"
If you don't explicitly add a defaultValue="" to the jsp HREF tag ,
HrefTag.getDefaultValue() returns null.
Our hack was to add the following in HrefTag.java.
if (value==null)
value=getDefaultValue();
//===========================
//IP6 ADDED THE FOLLOWING LINE
value = (value== null? "":value);
//============================
Is that pheasible work-around ? This eliminates the need to add
defaultValue="" to all HREF tags.
Also, I might as well point another behavior that we encountered with HREFS.
In ND, if a HREF's display Field was bound to a column in DataObject and the
particular record had no value, no URL would be rendered on the page.
The HTML would look something like this( from memory ):
<A
HREF="../AppName/PgMsgMain.hrfSubject_onWebEvent(hrfSubject).994226335140? +
ND URL STUFF"></A>
In JATO by default a url get displayed with "null" as the link. ie.
<a href="../AppName/PgMsgMain?PgMsgMain.hrfSubject= + URL STUFF">null</a>
Our hack was modify the HrefTag.doEndTag method to not append "null" to the
buffer.
if (displayed)
buffer.append(getBodyContent().getString().equals("null")? "":
getBodyContent().getString()))
// IP6 HACK buffer.append(getBodyContent().getString())
.append("</a>");
writeOutput(fireEndDisplayEvent(buffer.toString()));
Is there a better way to do this?
thanks
Kostas
-----Original Message-----
From: Todd Fast [mailto:<a href="/group/SunONE-JATO/post?protectID=189233080150012190218067203043176090006144139218183041">toddwork@c...</a>]
Sent: Tuesday, July 03, 2001 12:46 AM
Subject: Re: [iPlanet-JATO] Parse error in JSP parser in IAS6
Hey Kostas--
I personally haven't seen this kind of error. Have you tried simplifying
the expression inside the href tag? For example:
<% Object foo =
viewBean.getRptAssignmentMatch().getvwAssignmentMatchModel().getValue(
vwAssignmentMatchModel.FIELD_ASSIGNMENT_ASSIGNMENT_ID);
%>
<jato:href name="hrefASSIGNMENT_ASSIGNMENT_ID" fireDisplayEvents="true">
<%= foo %>
</jato:href>
Also, is there a different version you could upgrade to? iAS SP3 includes
the Jasper compiler from Tomcat, which should behave quite differently.
Todd
----- Original Message -----
From: "Kostas Morfis" <kmorfis@i...>
Sent: Tuesday, July 03, 2001 12:17 AM
Subject: [iPlanet-JATO] Parse error in JSP parser in IAS6
>
Hi all,
has anyone come across the following error in iPlanet?
[02/Jul/2001 12:21:32:1] error: Exception: SERVLET-compile_failed: Failedin
compiling template: /ras/ras/voyager4/pgAssignmentMatch.jsp, Parse errorin
JSP parser. Missing endtag: /jato:href
Exception Stack Trace:
java.lang.Exception: Parse error in JSP parser. Missing endtag: /jato:href
at com.netscape.jsp.JSP.parseBlock(Unknown Source)
at com.netscape.jsp.JSP.parseUserTag(Unknown Source)
at com.netscape.jsp.JSP.parseTag(Unknown Source)
at com.netscape.jsp.JSP.parseNext(Unknown Source)
etc etc.
We have tested the page in Resin and it works fine.
It seems the JSP parser has a problem with the following type of HREFtags.
>
<jato:href name="hrefASSIGNMENT_ASSIGNMENT_ID" fireDisplayEvents="true"
defaultValue=""><%=
viewBean.getRptAssignmentMatch().getvwAssignmentMatchModel().getValue(com.cb
>
re.ras.voyager4.model.vwAssignmentMatchModel.FIELD_ASSIGNMENT_ASSIGNMENT_ID)
%></jato:href></font></td>
anyone have any suggestions/thoughts/comments ?
Kostas Morfis
Senior Consultant
iRise
www.iRise.com
[Non-text portions of this message have been removed]
[email protected]
[email protected]Hi Todd,
removing the defaultValue="" attribute works.
I have not got around to testing the SP3.
BTW. The reason the default value tag was added was to stop Null pointer
exceptions being thrown in the
HrefTag.beginDisplay().
buffer.append("?")
.append(field.getQualifiedName()) // "FooHref"
.append("=")
.append(URLEncoder.encode(value.toString())); // "/foo"
If you don't explicitly add a defaultValue="" to the jsp HREF tag ,
HrefTag.getDefaultValue() returns null.
Our hack was to add the following in HrefTag.java.
if (value==null)
value=getDefaultValue();
//===========================
//IP6 ADDED THE FOLLOWING LINE
value = (value== null? "":value);
//============================
Is that pheasible work-around ? This eliminates the need to add
defaultValue="" to all HREF tags.
Also, I might as well point another behavior that we encountered with HREFS.
In ND, if a HREF's display Field was bound to a column in DataObject and the
particular record had no value, no URL would be rendered on the page.
The HTML would look something like this( from memory ):
<A
HREF="../AppName/PgMsgMain.hrfSubject_onWebEvent(hrfSubject).994226335140? +
ND URL STUFF"></A>
In JATO by default a url get displayed with "null" as the link. ie.
<a href="../AppName/PgMsgMain?PgMsgMain.hrfSubject= + URL STUFF">null</a>
Our hack was modify the HrefTag.doEndTag method to not append "null" to the
buffer.
if (displayed)
buffer.append(getBodyContent().getString().equals("null")? "":
getBodyContent().getString()))
// IP6 HACK buffer.append(getBodyContent().getString())
.append("</a>");
writeOutput(fireEndDisplayEvent(buffer.toString()));
Is there a better way to do this?
thanks
Kostas
-----Original Message-----
From: Todd Fast [mailto:<a href="/group/SunONE-JATO/post?protectID=189233080150012190218067203043176090006144139218183041">toddwork@c...</a>]
Sent: Tuesday, July 03, 2001 12:46 AM
Subject: Re: [iPlanet-JATO] Parse error in JSP parser in IAS6
Hey Kostas--
I personally haven't seen this kind of error. Have you tried simplifying
the expression inside the href tag? For example:
<% Object foo =
viewBean.getRptAssignmentMatch().getvwAssignmentMatchModel().getValue(
vwAssignmentMatchModel.FIELD_ASSIGNMENT_ASSIGNMENT_ID);
%>
<jato:href name="hrefASSIGNMENT_ASSIGNMENT_ID" fireDisplayEvents="true">
<%= foo %>
</jato:href>
Also, is there a different version you could upgrade to? iAS SP3 includes
the Jasper compiler from Tomcat, which should behave quite differently.
Todd
----- Original Message -----
From: "Kostas Morfis" <kmorfis@i...>
Sent: Tuesday, July 03, 2001 12:17 AM
Subject: [iPlanet-JATO] Parse error in JSP parser in IAS6
>
Hi all,
has anyone come across the following error in iPlanet?
[02/Jul/2001 12:21:32:1] error: Exception: SERVLET-compile_failed: Failedin
compiling template: /ras/ras/voyager4/pgAssignmentMatch.jsp, Parse errorin
JSP parser. Missing endtag: /jato:href
Exception Stack Trace:
java.lang.Exception: Parse error in JSP parser. Missing endtag: /jato:href
at com.netscape.jsp.JSP.parseBlock(Unknown Source)
at com.netscape.jsp.JSP.parseUserTag(Unknown Source)
at com.netscape.jsp.JSP.parseTag(Unknown Source)
at com.netscape.jsp.JSP.parseNext(Unknown Source)
etc etc.
We have tested the page in Resin and it works fine.
It seems the JSP parser has a problem with the following type of HREFtags.
>
<jato:href name="hrefASSIGNMENT_ASSIGNMENT_ID" fireDisplayEvents="true"
defaultValue=""><%=
viewBean.getRptAssignmentMatch().getvwAssignmentMatchModel().getValue(com.cb
>
re.ras.voyager4.model.vwAssignmentMatchModel.FIELD_ASSIGNMENT_ASSIGNMENT_ID)
%></jato:href></font></td>
anyone have any suggestions/thoughts/comments ?
Kostas Morfis
Senior Consultant
iRise
www.iRise.com
[Non-text portions of this message have been removed]
[email protected]
[email protected] -
Namburi,
When you said you used the Reg Exp tool, did you use it only as
preconfigured by the iMT migrate application wizard?
Because the default configuration of the regular expression tool will only
target the files in your ND project directories. If you wish to target
classes outside of the normal directory scope, you have to either modify the
"Source Directory" property OR create another instance of the regular
expression tool. See the "Tool" menu in the iMT to create additional tool
instances which can each be configured to target different sets of files
using different sets of rules.
Usually, I utilize 3 different sets of rules files on a given migration:
spider2jato.xml
these are the generic conversion rules (but includes the optimized rules for
ViewBean and Model based code, i.e. these rules do not utilize the
RequestManager since it is not needed for code running inside the ViewBean
or Model classes)
I run these rules against all files.
See the file download section of this forum for periodic updates to these
rules.
nonProjectFileRules.xml
these include rules that add the necessary
RequestManager.getRequestContext(). etc prefixes to many of the common
calls.
I run these rules against user module and any other classes that do not are
not ModuleServlet, ContainerView, or Model classes.
appXRules.xml
these rules include application specific changes that I discover while
working on the project. A common thing here is changing import statements
(since the migration tool moves ND project code into different jato
packaging structure, you sometime need to adjust imports in non-project
classes that previously imported ND project specific packages)
So you see, you are not limited to one set of rules at all. Just be careful
to keep track of your backups (the regexp tool provides several options in
its Expert Properties related to back up strategies).
----- Original Message -----
From: <vnamboori@y...>
Sent: Wednesday, August 08, 2001 6:08 AM
Subject: [iPlanet-JATO] Re: Use Of models in utility classes - Pease don't
forget about the regular expression potential
Thanks Matt, Mike, Todd
This is a great input for our migration. Though we used the existing
Regular Expression Mapping tool, we did not change this to meet our
own needs as mentioned by Mike.
We would certainly incorporate this to ease our migration.
Namburi
--- In iPlanet-JATO@y..., "Todd Fast" <toddwork@c...> wrote:
All--
Great response. By the way, the Regular Expression Tool uses thePerl5 RE
syntax as implemented by Apache OROMatcher. If you're doing lotsof these
sorts of migration changes manually, you should definitely buy theO'Reilly
book "Mastering Regular Expressions" and generate some rules toautomate the
conversion. Although they are definitely confusing at first,regular
expressions are fairly easy to understand with some documentation,and are
superbly effective at tackling this kind of migration task.
Todd
----- Original Message -----
From: "Mike Frisino" <Michael.Frisino@S...>
Sent: Tuesday, August 07, 2001 5:20 PM
Subject: Re: [iPlanet-JATO] Use Of models in utility classes -Pease don't
forget about the regular expression potential
Also, (and Matt's document may mention this)
Please bear in mind that this statement is not totally correct:
Since the migration tool does not do much of conversion for
these
utilities we have to do manually.Remember, the iMT is a SUITE of tools. There is the extractiontool, and
the translation tool, and the regular expression tool, and severalother
smaller tools (like the jar and compilation tools). It is correctto state
that the extraction and translation tools only significantlyconvert the
primary ND project objects (the pages, the data objects, and theproject
classes). The extraction and translation tools do minimumtranslation of the
User Module objects (i.e. they repackage the user module classes inthe new
jato module packages). It is correct that for all other utilityclasses
which are not formally part of the ND project, the extraction and
translation tools do not perform any migration.
However, the regular expression tool can "migrate" any arbitrary
file
(utility classes etc) to the degree that the regular expressionrules
correlate to the code present in the arbitrary file. So first andforemost,
if you have alot of spider code in your non-project classes youshould
consider using the regular expression tool and if warranted adding
additional rules to reduce the amount of manual adjustments thatneed to be
made. I can stress this enough. We can even help you write theregular
expression rules if you simply identify the code pattern you wish to
convert. Just because there is not already a regular expressionrule to
match your need does not mean it can't be written. We have notnearly
exhausted the possibilities.
For example if you say, we need to convert
CSpider.getDataObject("X");
To
RequestManager.getRequestContext().getModelManager().getModel(XModel.class);
Maybe we or somebody else in the list can help write that regularexpression if it has not already been written. For instance in thelast
updated spider2jato.xml file there is already aCSpider.getCommonPage("X")
rule:
<!--getPage to getViewBean-->
<mapping-rule>
<mapping-rule-primarymatch>
<![CDATA[CSpider[.\s]*getPage[\s]*\(\"([^"]*)\"]]>
</mapping-rule-primarymatch>
<mapping-rule-replacement>
<mapping-rule-match>
<![CDATA[CSpider[.\s]*getPage[\s]*\(\"([^"]*)\"]]>
</mapping-rule-match>
<mapping-rule-substitute>
<![CDATA[getViewBean($1ViewBean.class]]>
</mapping-rule-substitute>
</mapping-rule-replacement>
</mapping-rule>
Following this example a getDataObject to getModel would look
like this:
<mapping-rule>
<mapping-rule-primarymatch>
<![CDATA[CSpider[.\s]*getDataObject[\s]*\(\"([^"]*)\"]]>
</mapping-rule-primarymatch>
<mapping-rule-replacement>
<mapping-rule-match>
<![CDATA[CSpider[.\s]*getDataObject[\s]*\(\"([^"]*)\"]]>
</mapping-rule-match>
<mapping-rule-substitute>
<![CDATA[getModel($1Model.class]]>
</mapping-rule-substitute>
</mapping-rule-replacement>
</mapping-rule>
In fact, one migration developer already wrote that rule andsubmitted it
for inclusion in the basic set. I will post another upgrade to thebasic
regular expression rule set, look for a "file uploaded" posting.Also,
please consider contributing any additional generic rules that youhave
written for inclusion in the basic set.
Please not, that in some cases (Utility classes in particular)
the rule
application may be more effective as TWO sequention rules ratherthan one
monolithic rule. Again using the example above, it will convert
CSpider.getDataObject("Foo");
To
getModel(FooModel.class);
Now that is the most effective conversion for that code if that
code is in
a page or data object class file. But if that code is in a Utilityclass you
really want:
>
RequestManager.getRequestContext().getModelManager().getModel(FooModel.class
So to go from
getModel(FooModel.class);
To
RequestManager.getRequestContext().getModelManager().getModel(FooModel.class
You would apply a second rule AND you would ONLY run this rule
against
your utility classes so that you would not otherwise affect yourViewBean
and Model classes which are completely fine with the simplegetModel call.
<mapping-rule>
<mapping-rule-primarymatch>
<![CDATA[getModel\(]]>
</mapping-rule-primarymatch>
<mapping-rule-replacement>
<mapping-rule-match>
<![CDATA[getModel\(]]>
</mapping-rule-match>
<mapping-rule-substitute>
<![CDATA[RequestManager.getRequestContext().getModelManager().getModel(]]>
</mapping-rule-substitute>
</mapping-rule-replacement>
</mapping-rule>
A similer rule can be applied to getSession and other CSpider APIcalls.
For instance here is the rule for converting getSession calls toleverage
the RequestManager.
<mapping-rule>
<mapping-rule-primarymatch>
<![CDATA[getSession\(\)\.]]>
</mapping-rule-primarymatch>
<mapping-rule-replacement>
<mapping-rule-match>
<![CDATA[getSession\(\)\.]]>
</mapping-rule-match>
<mapping-rule-substitute>
<![CDATA[RequestManager.getSession().]]>
</mapping-rule-substitute>
</mapping-rule-replacement>
</mapping-rule>
----- Original Message -----
From: "Matthew Stevens" <matthew.stevens@e...>
Sent: Tuesday, August 07, 2001 12:56 PM
Subject: RE: [iPlanet-JATO] Use Of models in utility classes
Namburi,
I will post a document to the group site this evening which has
the
details
on various tactics of migrating these type of utilities.
Essentially,
you
either need to convert these utilities to Models themselves or
keep the
utilities as is and simply use the
RequestManager.getRequestContext.getModelManager().getModel()
to statically access Models.
For CSpSelect.executeImmediate() I have an example of customhelper
method
as a replacement whicch uses JDBC results instead of
CSpDBResult.
matt
-----Original Message-----
From: vnamboori@y... [mailto:<a href="/group/SunONE-JATO/post?protectID=081071113213093190112061186248100208071048">vnamboori@y...</a>]
Sent: Tuesday, August 07, 2001 3:24 PM
Subject: [iPlanet-JATO] Use Of models in utility classes
Hi All,
In the present ND project we have lots of utility classes.
These
classes in diffrent directory. Not part of nd pages.
In these classes we access the dataobjects and do themanipulations.
So we access dataobjects directly like
CSpider.getDataObject("do....");
and then execute it.
Since the migration tool does not do much of conversion forthese
utilities we have to do manually.
My question is Can we access the the models in the postmigration
sameway or do we need requestContext?
We have lots of utility classes which are DataObjectintensive. Can
someone suggest a better way to migrate this kind of code.
Thanks
Namburi
[email protected]
[email protected]
[Non-text portions of this message have been removed]
[email protected]
[email protected]Namburi,
When you said you used the Reg Exp tool, did you use it only as
preconfigured by the iMT migrate application wizard?
Because the default configuration of the regular expression tool will only
target the files in your ND project directories. If you wish to target
classes outside of the normal directory scope, you have to either modify the
"Source Directory" property OR create another instance of the regular
expression tool. See the "Tool" menu in the iMT to create additional tool
instances which can each be configured to target different sets of files
using different sets of rules.
Usually, I utilize 3 different sets of rules files on a given migration:
spider2jato.xml
these are the generic conversion rules (but includes the optimized rules for
ViewBean and Model based code, i.e. these rules do not utilize the
RequestManager since it is not needed for code running inside the ViewBean
or Model classes)
I run these rules against all files.
See the file download section of this forum for periodic updates to these
rules.
nonProjectFileRules.xml
these include rules that add the necessary
RequestManager.getRequestContext(). etc prefixes to many of the common
calls.
I run these rules against user module and any other classes that do not are
not ModuleServlet, ContainerView, or Model classes.
appXRules.xml
these rules include application specific changes that I discover while
working on the project. A common thing here is changing import statements
(since the migration tool moves ND project code into different jato
packaging structure, you sometime need to adjust imports in non-project
classes that previously imported ND project specific packages)
So you see, you are not limited to one set of rules at all. Just be careful
to keep track of your backups (the regexp tool provides several options in
its Expert Properties related to back up strategies).
----- Original Message -----
From: <vnamboori@y...>
Sent: Wednesday, August 08, 2001 6:08 AM
Subject: [iPlanet-JATO] Re: Use Of models in utility classes - Pease don't
forget about the regular expression potential
Thanks Matt, Mike, Todd
This is a great input for our migration. Though we used the existing
Regular Expression Mapping tool, we did not change this to meet our
own needs as mentioned by Mike.
We would certainly incorporate this to ease our migration.
Namburi
--- In iPlanet-JATO@y..., "Todd Fast" <toddwork@c...> wrote:
All--
Great response. By the way, the Regular Expression Tool uses thePerl5 RE
syntax as implemented by Apache OROMatcher. If you're doing lotsof these
sorts of migration changes manually, you should definitely buy theO'Reilly
book "Mastering Regular Expressions" and generate some rules toautomate the
conversion. Although they are definitely confusing at first,regular
expressions are fairly easy to understand with some documentation,and are
superbly effective at tackling this kind of migration task.
Todd
----- Original Message -----
From: "Mike Frisino" <Michael.Frisino@S...>
Sent: Tuesday, August 07, 2001 5:20 PM
Subject: Re: [iPlanet-JATO] Use Of models in utility classes -Pease don't
forget about the regular expression potential
Also, (and Matt's document may mention this)
Please bear in mind that this statement is not totally correct:
Since the migration tool does not do much of conversion for
these
utilities we have to do manually.Remember, the iMT is a SUITE of tools. There is the extractiontool, and
the translation tool, and the regular expression tool, and severalother
smaller tools (like the jar and compilation tools). It is correctto state
that the extraction and translation tools only significantlyconvert the
primary ND project objects (the pages, the data objects, and theproject
classes). The extraction and translation tools do minimumtranslation of the
User Module objects (i.e. they repackage the user module classes inthe new
jato module packages). It is correct that for all other utilityclasses
which are not formally part of the ND project, the extraction and
translation tools do not perform any migration.
However, the regular expression tool can "migrate" any arbitrary
file
(utility classes etc) to the degree that the regular expressionrules
correlate to the code present in the arbitrary file. So first andforemost,
if you have alot of spider code in your non-project classes youshould
consider using the regular expression tool and if warranted adding
additional rules to reduce the amount of manual adjustments thatneed to be
made. I can stress this enough. We can even help you write theregular
expression rules if you simply identify the code pattern you wish to
convert. Just because there is not already a regular expressionrule to
match your need does not mean it can't be written. We have notnearly
exhausted the possibilities.
For example if you say, we need to convert
CSpider.getDataObject("X");
To
RequestManager.getRequestContext().getModelManager().getModel(XModel.class);
Maybe we or somebody else in the list can help write that regularexpression if it has not already been written. For instance in thelast
updated spider2jato.xml file there is already aCSpider.getCommonPage("X")
rule:
<!--getPage to getViewBean-->
<mapping-rule>
<mapping-rule-primarymatch>
<![CDATA[CSpider[.\s]*getPage[\s]*\(\"([^"]*)\"]]>
</mapping-rule-primarymatch>
<mapping-rule-replacement>
<mapping-rule-match>
<![CDATA[CSpider[.\s]*getPage[\s]*\(\"([^"]*)\"]]>
</mapping-rule-match>
<mapping-rule-substitute>
<![CDATA[getViewBean($1ViewBean.class]]>
</mapping-rule-substitute>
</mapping-rule-replacement>
</mapping-rule>
Following this example a getDataObject to getModel would look
like this:
<mapping-rule>
<mapping-rule-primarymatch>
<![CDATA[CSpider[.\s]*getDataObject[\s]*\(\"([^"]*)\"]]>
</mapping-rule-primarymatch>
<mapping-rule-replacement>
<mapping-rule-match>
<![CDATA[CSpider[.\s]*getDataObject[\s]*\(\"([^"]*)\"]]>
</mapping-rule-match>
<mapping-rule-substitute>
<![CDATA[getModel($1Model.class]]>
</mapping-rule-substitute>
</mapping-rule-replacement>
</mapping-rule>
In fact, one migration developer already wrote that rule andsubmitted it
for inclusion in the basic set. I will post another upgrade to thebasic
regular expression rule set, look for a "file uploaded" posting.Also,
please consider contributing any additional generic rules that youhave
written for inclusion in the basic set.
Please not, that in some cases (Utility classes in particular)
the rule
application may be more effective as TWO sequention rules ratherthan one
monolithic rule. Again using the example above, it will convert
CSpider.getDataObject("Foo");
To
getModel(FooModel.class);
Now that is the most effective conversion for that code if that
code is in
a page or data object class file. But if that code is in a Utilityclass you
really want:
>
RequestManager.getRequestContext().getModelManager().getModel(FooModel.class
So to go from
getModel(FooModel.class);
To
RequestManager.getRequestContext().getModelManager().getModel(FooModel.class
You would apply a second rule AND you would ONLY run this rule
against
your utility classes so that you would not otherwise affect yourViewBean
and Model classes which are completely fine with the simplegetModel call.
<mapping-rule>
<mapping-rule-primarymatch>
<![CDATA[getModel\(]]>
</mapping-rule-primarymatch>
<mapping-rule-replacement>
<mapping-rule-match>
<![CDATA[getModel\(]]>
</mapping-rule-match>
<mapping-rule-substitute>
<![CDATA[RequestManager.getRequestContext().getModelManager().getModel(]]>
</mapping-rule-substitute>
</mapping-rule-replacement>
</mapping-rule>
A similer rule can be applied to getSession and other CSpider APIcalls.
For instance here is the rule for converting getSession calls toleverage
the RequestManager.
<mapping-rule>
<mapping-rule-primarymatch>
<![CDATA[getSession\(\)\.]]>
</mapping-rule-primarymatch>
<mapping-rule-replacement>
<mapping-rule-match>
<![CDATA[getSession\(\)\.]]>
</mapping-rule-match>
<mapping-rule-substitute>
<![CDATA[RequestManager.getSession().]]>
</mapping-rule-substitute>
</mapping-rule-replacement>
</mapping-rule>
----- Original Message -----
From: "Matthew Stevens" <matthew.stevens@e...>
Sent: Tuesday, August 07, 2001 12:56 PM
Subject: RE: [iPlanet-JATO] Use Of models in utility classes
Namburi,
I will post a document to the group site this evening which has
the
details
on various tactics of migrating these type of utilities.
Essentially,
you
either need to convert these utilities to Models themselves or
keep the
utilities as is and simply use the
RequestManager.getRequestContext.getModelManager().getModel()
to statically access Models.
For CSpSelect.executeImmediate() I have an example of customhelper
method
as a replacement whicch uses JDBC results instead of
CSpDBResult.
matt
-----Original Message-----
From: vnamboori@y... [mailto:<a href="/group/SunONE-JATO/post?protectID=081071113213093190112061186248100208071048">vnamboori@y...</a>]
Sent: Tuesday, August 07, 2001 3:24 PM
Subject: [iPlanet-JATO] Use Of models in utility classes
Hi All,
In the present ND project we have lots of utility classes.
These
classes in diffrent directory. Not part of nd pages.
In these classes we access the dataobjects and do themanipulations.
So we access dataobjects directly like
CSpider.getDataObject("do....");
and then execute it.
Since the migration tool does not do much of conversion forthese
utilities we have to do manually.
My question is Can we access the the models in the postmigration
sameway or do we need requestContext?
We have lots of utility classes which are DataObjectintensive. Can
someone suggest a better way to migrate this kind of code.
Thanks
Namburi
[email protected]
[email protected]
[Non-text portions of this message have been removed]
[email protected]
[email protected] -
Re: [iPlanet-JATO] Use Of models in utility classes
Hi Matt,
Sounds like some of the stuff we need to migrate has a lot in common with
Namburi's project.
I would be very keen to get hold of a copy of the 'tactic' document you
mention below, as well as the sample code you mention to replace CspDBResult
stuff with JDBC results.
Thanks in advance,
Phil
----- Original Message -----
From: Matthew Stevens <matthew.stevens@E...>
Sent: Wednesday, August 08, 2001 7:56 AM
Subject: RE: [iPlanet-JATO] Use Of models in utility classes
Namburi,
I will post a document to the group site this evening which has thedetails
on various tactics of migrating these type of utilities. Essentially, you
either need to convert these utilities to Models themselves or keep the
utilities as is and simply use the
RequestManager.getRequestContext.getModelManager().getModel()
to statically access Models.
For CSpSelect.executeImmediate() I have an example of custom helper method
as a replacement whicch uses JDBC results instead of CSpDBResult.
matt
-----Original Message-----
From: vnamboori@y... [mailto:<a href="/group/SunONE-JATO/post?protectID=081071113213093190112061186248100253094145066046167121181">vnamboori@y...</a>]
Sent: Tuesday, August 07, 2001 3:24 PM
Subject: [iPlanet-JATO] Use Of models in utility classes
Hi All,
In the present ND project we have lots of utility classes. These
classes in diffrent directory. Not part of nd pages.
In these classes we access the dataobjects and do the manipulations.
So we access dataobjects directly like
CSpider.getDataObject("do....");
and then execute it.
Since the migration tool does not do much of conversion for these
utilities we have to do manually.
My question is Can we access the the models in the post migration
sameway or do we need requestContext?
We have lots of utility classes which are DataObject intensive. Can
someone suggest a better way to migrate this kind of code.
Thanks
Namburi
[email protected]
[email protected]Hi Matt,
Sounds like some of the stuff we need to migrate has a lot in common with
Namburi's project.
I would be very keen to get hold of a copy of the 'tactic' document you
mention below, as well as the sample code you mention to replace CspDBResult
stuff with JDBC results.
Thanks in advance,
Phil
----- Original Message -----
From: Matthew Stevens <matthew.stevens@E...>
Sent: Wednesday, August 08, 2001 7:56 AM
Subject: RE: [iPlanet-JATO] Use Of models in utility classes
Namburi,
I will post a document to the group site this evening which has thedetails
on various tactics of migrating these type of utilities. Essentially, you
either need to convert these utilities to Models themselves or keep the
utilities as is and simply use the
RequestManager.getRequestContext.getModelManager().getModel()
to statically access Models.
For CSpSelect.executeImmediate() I have an example of custom helper method
as a replacement whicch uses JDBC results instead of CSpDBResult.
matt
-----Original Message-----
From: vnamboori@y... [mailto:<a href="/group/SunONE-JATO/post?protectID=081071113213093190112061186248100253094145066046167121181">vnamboori@y...</a>]
Sent: Tuesday, August 07, 2001 3:24 PM
Subject: [iPlanet-JATO] Use Of models in utility classes
Hi All,
In the present ND project we have lots of utility classes. These
classes in diffrent directory. Not part of nd pages.
In these classes we access the dataobjects and do the manipulations.
So we access dataobjects directly like
CSpider.getDataObject("do....");
and then execute it.
Since the migration tool does not do much of conversion for these
utilities we have to do manually.
My question is Can we access the the models in the post migration
sameway or do we need requestContext?
We have lots of utility classes which are DataObject intensive. Can
someone suggest a better way to migrate this kind of code.
Thanks
Namburi
[email protected]
[email protected] -
RE: [iPlanet-JATO] Href click & tiled view display
Srinivas,
I hope that I am not oversimplifying your first question; repost if I do not
answer your question. Independent of JATO, HTML Form button sumbits will
include the scraping of data off the form input fields; the data will passed
as part of the body of the HTTP request. Therefore, you would expect to
receive all your inputs during the Button submit. In the case of a button,
a HTTP POST request is invoked. Href clicks, only submit the NVPs which are
encoded on the HREF URL. Therefore, it is impossible (under normal
circumstances) to retrieve the inputs from the FORM during the Href click.
In the case of a Href, a HTTP GET request is invoked. Some customers have
used a pattern in which Javascript is used to capture the Href onClick()
event to perform some runtime modifications to the HREF URL before the HTTP
GET request is submitted. I recommend to always have the LogProxy2 utility
running during development so that the HTTP requests and repsonses can be
debugged. If you setup the LogProxy2 (downloadable from this Group's Files
repository) then you would see the HTTP requests in the LogProxy2's console
window.
TiledView question: Remember, each TiledView requires a "primary
DatasetModel" which it uses for iteration of the tiles. It can be
confusing, but the API call of
<ContainerView>.getDefaultModel()
has no relation to the implementation class called DefaultModel. See the
Javadoc (excerp below)
/migtoolbox-1.1.1/doc/jato/api/com/iplanet/jato/view/ContainerView.html#getD
efaultModel()
"Returns this view's default model. The default model is typically used by
DisplayField children for default value storage (if they are not bound to
any other model). This method should always return a valid model instance.
Note that the default model need not be an actual instance of DefaultModel,
although this is usually the case."
Both of your TiledView's (inner and outer) are ContainerViews, each having
their own property for [get/set]DefaultModel(). Likewise, the ViewBean
parent of the outer TiledView is a ContainerView as well. With these facts
in mind, consider the behavior of the ModelManager. The ModelManager will
ensure that only once instance of specifically named model will be provided
during a request scope. Therefore, everytime that you make a call to
<ModelManager>.getModel(SomeModel.class)
no matter how many times you make this call during a request, the
ModelManager will ensure that you get the same object reference back.
Implicitly, you are asking for a Model with the exclusive name of
<ModelManager>.getDefaultModelInstanceName(SomeModel.class)
I believe that your problem is that you have the Primary Model of both the
inner and outer TiledView's set to the same instance of the DefaultModel
class. Therefore, the TiledViews are tripping over each other because they
are using the same Primary model. What I would do is change the constructor
of each TiledView to set an exclusive Primary model
// add to constructor of outer TileView
setPrimaryModel(getModelI(DefaultModel.class,"outer")
// add to constructor of inner TileView
setPrimaryModel(getModelI(DefaultModel.class,"inner")
remember to set the "size" of the Primary Model appropriately in the
beginDisplay() event of each TiledView before calling super.beginDisplay()
matt
-----Original Message-----
From: Srinivas Chikkam [mailto:<a href="/group/SunONE-JATO/post?protectID=061212020185082096169232190043244089032032196034013195172049230091142254099102">srinivas.chikkam@w...</a>]
Sent: Tuesday, July 17, 2001 7:36 AM
Subject: [iPlanet-JATO] Href click & tiled view display
Hi,
I'm facing the following two problems in JATO. Your help will be
appreciated.
1) Clicking a HREF.
I have a button and a href in a page. When I submit the page by
clicking the button, I'm able to
get all the user entered data (form elements) in handler method.
However, when I click
the href and I try to retrieve the data entered by the user in my
corresponding handler method, I'm
getting blank values.
How would I be able to get the user entered data upon clicking of a href
? I'm copying the sample
code for your reference.
// This returns me 5 values entered in the 5 tiles by the user.
public void handleBButtonRequest(RequestContext req)
throws ServletException, IOException
try
System.out.println("button clicked..");
pgSampleTiledView tiledView = getSampleTile();
System.out.println("\n\n\n\n@@@@@@@@@@@ No of tiles >>>
"+tiledView.getNumTiles());
int n = tiledView.getNumTiles();
for (int i=0; i<n; i++)
tiledView.setTileIndex(i);
System.out.println(i+".
"+tiledView.getTbValue().getValue().toString());
this.forwardTo(req);
catch (Exception ex)
ex.printStackTrace();
// This returns me 0 tiles and doesn't get into for loop
public void handleLinkModifyDistributionRequest(RequestContext req )
throws ServletException, IOException
try
System.out.println("href clicked..");
pgSampleTiledView tiledView = getSampleTile();
System.out.println("\n\n\n\n@@@@@@@@@@@ No of tiles >>>
"+tiledView.getNumTiles());
int n = tiledView.getNumTiles();
for (int i=0; i<n; i++)
tiledView.setTileIndex(i);
System.out.println(i+".
"+tiledView.getTbValue().getValue().toString());
this.forwardTo(req);
catch (Exception ex)
ex.printStackTrace();
2) Tiled view display
I have tiled view inside another tiled view. Based upon the data
retrieved from the database, lets say, the outer tile needs to be
displayed twice and the inner tile 3 times and 1 time.
For Ex: Lets say, the desired output from these tiled views is as
follows
STOCK INVESTMENT
stock name1
stock name2
stock name3
OTHER INVESTMENT
other investment1
The outer tiled view displays the investment type headings (STOCK
INVESTMENT or OTHER INVESTMENT) and inner tile
displays the actual stock names or the other investment names. Both
the tile views are bound to a default model. In the begin display
of these tiled view I'm setting the size of the model as
getPrimaryModel.setSize(requiredsize).
If i display 3 records in the inner tiled view in the first iteration
and i try to display 1 record in the second iteration, it displays 3
records
properly the first time but it doesn't display any records second
time. super.nextTile() returns false right away second time.
But If I try to display 1 record in the first iteration and 3 records in
the second iteration as below, it works fine.
STOCK INVESTMENT
stock name1
OTHER INVESTMENT
other investment1
other investment2
other investment3
Please let me know what could be the problem.
Thanks
~ Srinivas
The Information contained and transmitted by this E-MAIL is
proprietary to
Wipro Limited and is intended for use only by the individual or
entity to which
it is addressed, and may contain information that is privileged,
confidential or
exempt from disclosure under applicable law. If this is a
forwarded message,
the content of this E-MAIL may not have been sent with the
authority of the
Company. If you are not the intended recipient, an agent of the intended
recipient or a person responsible for delivering the information
to the named
recipient, you are notified that any use, distribution,
transmission, printing,
copying or dissemination of this information in any way or in any
manner is
strictly prohibited. If you have received this communication in
error, please
delete this mail & notify us immediately at mailadmin@w...
[Non-text portions of this message have been removed]
[email protected]should read
// add to constructor of outer TileView
setPrimaryModel(getModel(DefaultModel.class,"outer");
// add to constructor of inner TileView
setPrimaryModel(getModel(DefaultModel.class,"inner");
matt
-----Original Message-----
From: Matthew Stevens [mailto:<a href="/group/SunONE-JATO/post?protectID=029166114165042198028082000056130080177026031196061123241150194211220076086020224">matthew.stevens@e...</a>]
Sent: Tuesday, July 17, 2001 9:25 AM
Subject: RE: [iPlanet-JATO] Href click & tiled view display
Srinivas,
I hope that I am not oversimplifying your first question; repost
if I do not
answer your question. Independent of JATO, HTML Form button sumbits will
include the scraping of data off the form input fields; the data
will passed
as part of the body of the HTTP request. Therefore, you would expect to
receive all your inputs during the Button submit. In the case of
a button,
a HTTP POST request is invoked. Href clicks, only submit the
NVPs which are
encoded on the HREF URL. Therefore, it is impossible (under normal
circumstances) to retrieve the inputs from the FORM during the Href click.
In the case of a Href, a HTTP GET request is invoked. Some customers have
used a pattern in which Javascript is used to capture the Href onClick()
event to perform some runtime modifications to the HREF URL
before the HTTP
GET request is submitted. I recommend to always have the
LogProxy2 utility
running during development so that the HTTP requests and repsonses can be
debugged. If you setup the LogProxy2 (downloadable from this
Group's Files
repository) then you would see the HTTP requests in the
LogProxy2's console
window.
TiledView question: Remember, each TiledView requires a "primary
DatasetModel" which it uses for iteration of the tiles. It can be
confusing, but the API call of
<ContainerView>.getDefaultModel()
has no relation to the implementation class called DefaultModel. See the
Javadoc (excerp below)
/migtoolbox-1.1.1/doc/jato/api/com/iplanet/jato/view/ContainerView
.html#getD
efaultModel()
"Returns this view's default model. The default model is typically used by
DisplayField children for default value storage (if they are not bound to
any other model). This method should always return a valid model instance.
Note that the default model need not be an actual instance of
DefaultModel,
although this is usually the case."
Both of your TiledView's (inner and outer) are ContainerViews, each having
their own property for [get/set]DefaultModel(). Likewise, the ViewBean
parent of the outer TiledView is a ContainerView as well. With
these facts
in mind, consider the behavior of the ModelManager. The ModelManager will
ensure that only once instance of specifically named model will
be provided
during a request scope. Therefore, everytime that you make a call to
<ModelManager>.getModel(SomeModel.class)
no matter how many times you make this call during a request, the
ModelManager will ensure that you get the same object reference back.
Implicitly, you are asking for a Model with the exclusive name of
<ModelManager>.getDefaultModelInstanceName(SomeModel.class)
I believe that your problem is that you have the Primary Model of both the
inner and outer TiledView's set to the same instance of the DefaultModel
class. Therefore, the TiledViews are tripping over each other
because they
are using the same Primary model. What I would do is change the
constructor
of each TiledView to set an exclusive Primary model
// add to constructor of outer TileView
setPrimaryModel(getModelI(DefaultModel.class,"outer")
// add to constructor of inner TileView
setPrimaryModel(getModelI(DefaultModel.class,"inner")
remember to set the "size" of the Primary Model appropriately in the
beginDisplay() event of each TiledView before calling super.beginDisplay()
matt
-----Original Message-----
From: Srinivas Chikkam [mailto:<a href="/group/SunONE-JATO/post?protectID=061212020185082096169232190043244089032032196034013195172049230091142254099102">srinivas.chikkam@w...</a>]
Sent: Tuesday, July 17, 2001 7:36 AM
Subject: [iPlanet-JATO] Href click & tiled view display
Hi,
I'm facing the following two problems in JATO. Your help will be
appreciated.
1) Clicking a HREF.
I have a button and a href in a page. When I submit the page by
clicking the button, I'm able to
get all the user entered data (form elements) in handler method.
However, when I click
the href and I try to retrieve the data entered by the user in my
corresponding handler method, I'm
getting blank values.
How would I be able to get the user entered data upon clicking of a href
? I'm copying the sample
code for your reference.
// This returns me 5 values entered in the 5 tiles by the user.
public void handleBButtonRequest(RequestContext req)
throws ServletException, IOException
try
System.out.println("button clicked..");
pgSampleTiledView tiledView = getSampleTile();
System.out.println("\n\n\n\n@@@@@@@@@@@ No of tiles >>>
"+tiledView.getNumTiles());
int n = tiledView.getNumTiles();
for (int i=0; i<n; i++)
tiledView.setTileIndex(i);
System.out.println(i+".
"+tiledView.getTbValue().getValue().toString());
this.forwardTo(req);
catch (Exception ex)
ex.printStackTrace();
// This returns me 0 tiles and doesn't get into for loop
public void handleLinkModifyDistributionRequest(RequestContext req )
throws ServletException, IOException
try
System.out.println("href clicked..");
pgSampleTiledView tiledView = getSampleTile();
System.out.println("\n\n\n\n@@@@@@@@@@@ No of tiles >>>
"+tiledView.getNumTiles());
int n = tiledView.getNumTiles();
for (int i=0; i<n; i++)
tiledView.setTileIndex(i);
System.out.println(i+".
"+tiledView.getTbValue().getValue().toString());
this.forwardTo(req);
catch (Exception ex)
ex.printStackTrace();
2) Tiled view display
I have tiled view inside another tiled view. Based upon the data
retrieved from the database, lets say, the outer tile needs to be
displayed twice and the inner tile 3 times and 1 time.
For Ex: Lets say, the desired output from these tiled views is as
follows
STOCK INVESTMENT
stock name1
stock name2
stock name3
OTHER INVESTMENT
other investment1
The outer tiled view displays the investment type headings (STOCK
INVESTMENT or OTHER INVESTMENT) and inner tile
displays the actual stock names or the other investment names. Both
the tile views are bound to a default model. In the begin display
of these tiled view I'm setting the size of the model as
getPrimaryModel.setSize(requiredsize).
If i display 3 records in the inner tiled view in the first iteration
and i try to display 1 record in the second iteration, it displays 3
records
properly the first time but it doesn't display any records second
time. super.nextTile() returns false right away second time.
But If I try to display 1 record in the first iteration and 3 records in
the second iteration as below, it works fine.
STOCK INVESTMENT
stock name1
OTHER INVESTMENT
other investment1
other investment2
other investment3
Please let me know what could be the problem.
Thanks
~ Srinivas
The Information contained and transmitted by this E-MAIL is
proprietary to
Wipro Limited and is intended for use only by the individual or
entity to which
it is addressed, and may contain information that is privileged,
confidential or
exempt from disclosure under applicable law. If this is a
forwarded message,
the content of this E-MAIL may not have been sent with the
authority of the
Company. If you are not the intended recipient, an agent of the intended
recipient or a person responsible for delivering the information
to the named
recipient, you are notified that any use, distribution,
transmission, printing,
copying or dissemination of this information in any way or in any
manner is
strictly prohibited. If you have received this communication in
error, please
delete this mail & notify us immediately at mailadmin@w...
[Non-text portions of this message have been removed]
[email protected]
[email protected] -
Re: [iPlanet-JATO] jato classes serializable
Unless Todd, Mike, or Matt have slick answer to make it work, my only
solution would be to switch from using the objects themselves and
reference by name instead. I don't know exactly what your Utility class
is doing or how the fields use the Utility class, so I can not be
specific in what you should do.
I fear that I may be taking on too much work by asking, but maybe you
could send me the Utility class (send to me directly as Yahoo Groups
doesnot allow attachments: craig.conover@s...).
I'll take a quick glance at it. Maybe I can make some suggestions to
minimize your migration efforts.
craig
Seetharam, Prashanth wrote:
In ND, we had a utility class written whose member variables were visual
objects. This utility object is used to display or not display its elements
depending on user action. The utility object was being put into session.
It could have been implemented in a different way, by storing visual object
names instead of objects themselves. But when we migrated, we tried to keep
re-coding to the minimum and ended up replacing ND visual objects
withcorresponding jato visual objects and ran into this problem.
Since all the jato visual objects extend from DisplayFieldBase which inturn
extends from ViewBase, i started looking at ViewBase and did not understand
why the variable was made transient. Hence the question.
Thanks,
Prashanth Seetharam
-----Original Message-----
From: Craig V. Conover [SMTP:<a href="/group/SunONE-JATO/post?protectID=219212113009229091025149066024064239039098031198039130252055210">craig.conover@s...</a>]
Sent: Tuesday, December 11, 2001 2:43 PM
Subject: Re: [iPlanet-JATO] jato classes serializable
What is your requirement that these be serializable?
The views do not store any values, that is what the model is for, and
they are created lazily as needed.
Is there something you were doing in ND that required it. It is very
likely that you do not need to do it anymore with JATO.
If you are using JATO1.0, you are highly encouraged to start using JATO
1.2. If you are using the iMT, it has an upgrade tool for 1.x to 1.2.
http://developer.iplanet.com/tech/appserver/framework/index.jsp
I'll leave the transient parentViewBean to Todd or Mike to justify. But,
again, what is the need for it to be serialized?
c
Seetharam, Prashanth wrote:
I am using jato1.0 and found that jato classes (especially the visual
objects like StaticTextField) are not serializable.
Is this change made in jato1.1? It will be good to have this feature as
ND
visual objects were serializable.
Also in com.iplanet.jato.view.ViewBase.java, why has this variable been
made
transient?
private transient ViewBean parentViewBean;
Thanks,
Prashanth Seetharam
For more information about JATO, please visit:
http://developer.iplanet.com/tech/appserver/framework/index.jsp
For more information about JATO, please visit:
http://developer.iplanet.com/tech/appserver/framework/index.jsp
For more information about JATO, please visit:
http://developer.iplanet.com/tech/appserver/framework/index.jspUnless Todd, Mike, or Matt have slick answer to make it work, my only
solution would be to switch from using the objects themselves and
reference by name instead. I don't know exactly what your Utility class
is doing or how the fields use the Utility class, so I can not be
specific in what you should do.
I fear that I may be taking on too much work by asking, but maybe you
could send me the Utility class (send to me directly as Yahoo Groups
doesnot allow attachments: craig.conover@s...).
I'll take a quick glance at it. Maybe I can make some suggestions to
minimize your migration efforts.
craig
Seetharam, Prashanth wrote:
In ND, we had a utility class written whose member variables were visual
objects. This utility object is used to display or not display its elements
depending on user action. The utility object was being put into session.
It could have been implemented in a different way, by storing visual object
names instead of objects themselves. But when we migrated, we tried to keep
re-coding to the minimum and ended up replacing ND visual objects
withcorresponding jato visual objects and ran into this problem.
Since all the jato visual objects extend from DisplayFieldBase which inturn
extends from ViewBase, i started looking at ViewBase and did not understand
why the variable was made transient. Hence the question.
Thanks,
Prashanth Seetharam
-----Original Message-----
From: Craig V. Conover [SMTP:<a href="/group/SunONE-JATO/post?protectID=219212113009229091025149066024064239039098031198039130252055210">craig.conover@s...</a>]
Sent: Tuesday, December 11, 2001 2:43 PM
Subject: Re: [iPlanet-JATO] jato classes serializable
What is your requirement that these be serializable?
The views do not store any values, that is what the model is for, and
they are created lazily as needed.
Is there something you were doing in ND that required it. It is very
likely that you do not need to do it anymore with JATO.
If you are using JATO1.0, you are highly encouraged to start using JATO
1.2. If you are using the iMT, it has an upgrade tool for 1.x to 1.2.
http://developer.iplanet.com/tech/appserver/framework/index.jsp
I'll leave the transient parentViewBean to Todd or Mike to justify. But,
again, what is the need for it to be serialized?
c
Seetharam, Prashanth wrote:
I am using jato1.0 and found that jato classes (especially the visual
objects like StaticTextField) are not serializable.
Is this change made in jato1.1? It will be good to have this feature as
ND
visual objects were serializable.
Also in com.iplanet.jato.view.ViewBase.java, why has this variable been
made
transient?
private transient ViewBean parentViewBean;
Thanks,
Prashanth Seetharam
For more information about JATO, please visit:
http://developer.iplanet.com/tech/appserver/framework/index.jsp
For more information about JATO, please visit:
http://developer.iplanet.com/tech/appserver/framework/index.jsp
For more information about JATO, please visit:
http://developer.iplanet.com/tech/appserver/framework/index.jsp -
RE: [iPlanet-JATO] TileView not being displayed
Craig.you are quite the JATO expert now!
cb
-----Original Message-----
From: Craig V Conover [mailto:<a href="/group/SunONE-JATO/post?protectID=219212113009229091025149066024064239039098124198039130151196028">craig.conover@S...</a>]
Sent: Tuesday, April 17, 2001 8:11 PM
Subject: Re: [iPlanet-JATO] TileView not being displayed
I had this issue a while ago and forget the exact solution Todd gave me, so
I'll take a guess untill I can find it somewhere or untill Todd or Mike get
back online to verify.
Set the size of the model. I know your TiledView is not bound, but actually
it is - to the DefaultModel.
Try this:
getDefaultModel().setSize(1)
getPrimaryModel() should work as well.
let me know if that works or not
If I find my example, I'll repost.
c
----- Original Message -----
From: MShanmugam@c...
Sent: Tuesday, April 17, 2001 7:38 PM
Subject: [iPlanet-JATO] TileView not being displayed
Hi All,
I have a TileView which is not bound to any models.
It should display one row however none are being displayed. Following
is the constructor as a reference.
public pgVoucherListrptCheckInfoTiledView(View parent, String name)
super(parent, name);
setMaxDisplayTiles(1);
setPrimaryModel((DatasetModel) getDefaultModel() );
registerChildren();
initialize();
The problem in the nextTile() method, the super.nextTile allways
returns false. This seems to be because the
TiledViewBase.getPrimaryModel().next() allways returns false.
All the bound tiled views work fine.
Any help will be appreciated .
Thanks
[email protected]
[email protected]
[Non-text portions of this message have been removed]Craig.you are quite the JATO expert now!
cb
-----Original Message-----
From: Craig V Conover [mailto:<a href="/group/SunONE-JATO/post?protectID=219212113009229091025149066024064239039098124198039130151196028">craig.conover@S...</a>]
Sent: Tuesday, April 17, 2001 8:11 PM
Subject: Re: [iPlanet-JATO] TileView not being displayed
I had this issue a while ago and forget the exact solution Todd gave me, so
I'll take a guess untill I can find it somewhere or untill Todd or Mike get
back online to verify.
Set the size of the model. I know your TiledView is not bound, but actually
it is - to the DefaultModel.
Try this:
getDefaultModel().setSize(1)
getPrimaryModel() should work as well.
let me know if that works or not
If I find my example, I'll repost.
c
----- Original Message -----
From: MShanmugam@c...
Sent: Tuesday, April 17, 2001 7:38 PM
Subject: [iPlanet-JATO] TileView not being displayed
Hi All,
I have a TileView which is not bound to any models.
It should display one row however none are being displayed. Following
is the constructor as a reference.
public pgVoucherListrptCheckInfoTiledView(View parent, String name)
super(parent, name);
setMaxDisplayTiles(1);
setPrimaryModel((DatasetModel) getDefaultModel() );
registerChildren();
initialize();
The problem in the nextTile() method, the super.nextTile allways
returns false. This seems to be because the
TiledViewBase.getPrimaryModel().next() allways returns false.
All the bound tiled views work fine.
Any help will be appreciated .
Thanks
[email protected]
[email protected]
[Non-text portions of this message have been removed] -
Re: [iPlanet-JATO] Back Button functionality
Hi Mike,
Our test environment does not include proxy server.
regards,
syam.
Please respond to [email protected]
cc:
Subject: Re: [iPlanet-JATO] Back Button functionality
Guys,
Please clarify something for me, the JATO code is commented as follows
protected void addResponseHeaders(RequestContext requestContext)
// These values should make any proxy between the client and
// server avoid caching, and ensure that pages from one user
// can never be seen by another user (if they're cached anyway)
requestContext.getResponse().addHeader("Pragma","no-cache");
requestContext.getResponse().addHeader
("Cache-Control","private");Yet you make no mention of whether your test environment includes a Proxy
Server, or does your browser
go directly to the Application Server's web server?
Can you clarify, please?
----- Original Message -----
From: <syam_reddy@p...>
Sent: Wednesday, April 25, 2001 2:59 PM
Subject: [iPlanet-JATO] Back Button functionality
>
Hi,
We observed the following difference in behaviour between JATO pages
and NetD served pages.
We have the following scenario. User will login to the
site. After login he will get a frame set. This frame set has threeframes.
Top and bottom frames are used for navigation (to switch between various
sections on the site.) .The middle frame(main frame) shows the actual
content. When the the frame set gets loaded main frame shows page1. User
will click on a link on page1. Page 2 will be loaded in main frame. Atthis
point if the user clicks on back button , with migrated application(JATO
pages) the following message appears in the main frame.
In Netscape Communicator 4.61 the following message appears in the main
frame :
Data Missing
This document resulted from a POST operation and has expired fromcache.If
you wish you can repost the form data to recreate the document by
presenting the reload button.
In IE 4.72/5.5 the following message appears in the main frame:
Warning : Page has Expired
The page you requested was created using information you submitted in a
form.This page is no longer available.As a security precaution, Internet
Explorer does not automatically resubmit your information for you. To
resubmit your information and view the web page click teh refresh button.
However, in the NetD site page1 will appear in main frame.
How do we mimic the NetD behaviour with the migrated
applications ?
We think the above behaviour with migrated Apps, is due to the
headers that are get set in Application ServletBase , see the following
code snippet :
protected void addResponseHeaders(RequestContext requestContext)
// These values should make any proxy between the client and
// server avoid caching, and ensure that pages from one user
// can never be seen by another user (if they're cached anyway)
requestContext.getResponse().addHeader("Pragma","no-cache");
requestContext.getResponse().addHeader
("Cache-Control","private");
If we comment the above code , we were able to mimic theNetD
behaviour. Are there any alternatives/thoughts on how to mimic the NetD
behaviour ?
Thanks in Advance,
syam&ravi.
[email protected]
[email protected]OK, here's what I'm trying to do: We have, like you said, a menu
page. The pages that it goes to and the number of links are all
variable and read from the database. In NetD we were able to create
URLs in the form
pgXYZ?SPIDERSESSION=abcd
so this is what I'm trying to replicate here. So the URL that works
is
pgContactUs?GXHC_GX_jst=fc7b7e61662d6164&GXHC_gx_session_id_=cc9c6dfa5
601afa7
which I interpreted to be the equivalent of the old Netd way. Our
javascript also loads other frames of the page in the same manner.
And I believe the URL-rewritten frame sources of a frameset look like
this too.
This all worked except for the timeout problem. In theory we could
rewrite all URLs to go to a handler, but that would be...
inconvenient. -
When trying to troubleshoot why I am getting "connection refused" for samples/jaxrpc/simple I found I am getting the following errors in server.log.
[08/Sep/2003:16:08:41] INFO (17045): CORE3016: daemon is running as super-user
[08/Sep/2003:16:08:41] SEVERE (17045): CORE4011: Internal error: Unable to locat
e class: com/iplanet/ias/server/J2EERunner
[08/Sep/2003:16:08:41] SEVERE (17045): CORE3187: Late initialization failed: Err
or running init function(late) init-j2ee: unknown error
I'm running on RedHat 7, kernel 2.4.20-20.7, with Java j2sdk1.4.2_01. The env $PATH includes /bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/bin/X11:/usr/X11R6/bin:/opt/oracle/product/9.2.0/bin:/root/bin:/usr/java/j2sdk1.4.2_01/bin:/opt/SUNWappserver7/bin
I did not see anything else that I need to configure in the environment other than [Install home]/bin in $PATH. I found nothing about special $CLASSPATH settings.
Anybody have any ideas?Hi Steve,
I don't know what does internal error means, may be you could set the log level to fine to get more detail error messages.
I remember myself getting "connection refused" exception.I resolved it by referring the troubleshooting section in the docs shipped with sample on resolving this error.
Get back if still have any issues.
-Amol -
Re: [iPlanet-JATO] Experiencing problem while executing model.
Hi Todd,
Thanks a lot for your input!
In the case , I found that "TO_CHAR(PLAN_DT, 'MM/DD/YYYY')" is alaised as a
column name in the resultset. So I am using this as a column in Jato
Descriptor for Plan_Dt. Now it is working fine.
Thanks and Regards,
Santa.
----- Original Message -----
From: Todd Fast <toddwork@c...>
Sent: Thursday, July 26, 2001 9:50 AM
Subject: Re: [iPlanet-JATO] Experiencing problem while executing model.
Santa--
I am experiencing a problem while executing a bounded model. I am usingQueryModelBase. Whenever the following query gets executed inonBeforeModel
execute of TiledView, it throws an exception describing "PLAN_DT not found
in ResultSet". If you execute this query on the SQL prompt then we getrows
of data. Please could you tell us how the mapping between model and
resultset works ? And what changes do we have to make to execute thisquery.
>>
SELECT PART_NM,NEWTXTDOLL
TO_CHAR(PLAN_DT, 'MM/DD/YYYY'),
FROM cpsselect
WHERE CHG_DT >= TO_DATE('2001-06-17', 'YYYY-MM-DD')The mapping of result set to model is done via JDBC, using the columnnames
you provide in your model's column descriptors. It sounds as if you are
providing the column name "PLAN_DT" in a descriptor, and when the model
tries to look up that column in the result set, there is no such columnand
the operation fails.
In order to debug this, you should try running your query with a JDBC
connection, not SQL*Plus or your command-line SQL tool. What you need to
find out is how the expresion "TO_CHAR(PLAN_DT, 'MM/DD/YYYY')" is aliasedas
a column name in the resut set. The easiest way to do this is to write a
simple class that does nothing but use your JDBC driver to connect the
database and execute this query. After execution, use theResultSetMetaData
information to find out the column names for the result set. Then, use
these column names in your JATO column descriptors.
Another Problem:We are not getting the values for NEWTXTDOLL column whenwe try to display it in a Tiled View.
I'm sorry, this isn't enough information for me to offer any suggestions.
Using the technique above, determine which columns are coming back in the
result set, and make sure your display fields in the TiledView are boundto
those column names. The problem could be something as simple as a typo in
the field's bound name, or something more complex like the column in the
result set being named something you don't expect.
Another approach might be to alias the columns yourself using the "AS
<alias>" expression, and assign them names that you choose instead ofusing
the names assigned by the database or JDBC driver.
Todd
[email protected]
The Information contained and transmitted by this E-MAIL is proprietary to
Wipro Limited and is intended for use only by the individual or entity to
which
it is addressed, and may contain information that is privileged, confidential
or
exempt from disclosure under applicable law. If this is a forwarded message,
the content of this E-MAIL may not have been sent with the authority of the
Company. If you are not the intended recipient, an agent of the intended
recipient or a person responsible for delivering the information to the named
recipient, you are notified that any use, distribution, transmission,
printing,
copying or dissemination of this information in any way or in any manner is
strictly prohibited. If you have received this communication in error, please
delete this mail & notify us immediately at mailadmin@w...
[Non-text portions of this message have been removed]Hi Todd,
Thanks a lot for your input!
In the case , I found that "TO_CHAR(PLAN_DT, 'MM/DD/YYYY')" is alaised as a
column name in the resultset. So I am using this as a column in Jato
Descriptor for Plan_Dt. Now it is working fine.
Thanks and Regards,
Santa.
----- Original Message -----
From: Todd Fast <toddwork@c...>
Sent: Thursday, July 26, 2001 9:50 AM
Subject: Re: [iPlanet-JATO] Experiencing problem while executing model.
Santa--
I am experiencing a problem while executing a bounded model. I am usingQueryModelBase. Whenever the following query gets executed inonBeforeModel
execute of TiledView, it throws an exception describing "PLAN_DT not found
in ResultSet". If you execute this query on the SQL prompt then we getrows
of data. Please could you tell us how the mapping between model and
resultset works ? And what changes do we have to make to execute thisquery.
>>
SELECT PART_NM,NEWTXTDOLL
TO_CHAR(PLAN_DT, 'MM/DD/YYYY'),
FROM cpsselect
WHERE CHG_DT >= TO_DATE('2001-06-17', 'YYYY-MM-DD')The mapping of result set to model is done via JDBC, using the columnnames
you provide in your model's column descriptors. It sounds as if you are
providing the column name "PLAN_DT" in a descriptor, and when the model
tries to look up that column in the result set, there is no such columnand
the operation fails.
In order to debug this, you should try running your query with a JDBC
connection, not SQL*Plus or your command-line SQL tool. What you need to
find out is how the expresion "TO_CHAR(PLAN_DT, 'MM/DD/YYYY')" is aliasedas
a column name in the resut set. The easiest way to do this is to write a
simple class that does nothing but use your JDBC driver to connect the
database and execute this query. After execution, use theResultSetMetaData
information to find out the column names for the result set. Then, use
these column names in your JATO column descriptors.
Another Problem:We are not getting the values for NEWTXTDOLL column whenwe try to display it in a Tiled View.
I'm sorry, this isn't enough information for me to offer any suggestions.
Using the technique above, determine which columns are coming back in the
result set, and make sure your display fields in the TiledView are boundto
those column names. The problem could be something as simple as a typo in
the field's bound name, or something more complex like the column in the
result set being named something you don't expect.
Another approach might be to alias the columns yourself using the "AS
<alias>" expression, and assign them names that you choose instead ofusing
the names assigned by the database or JDBC driver.
Todd
[email protected]
The Information contained and transmitted by this E-MAIL is proprietary to
Wipro Limited and is intended for use only by the individual or entity to
which
it is addressed, and may contain information that is privileged, confidential
or
exempt from disclosure under applicable law. If this is a forwarded message,
the content of this E-MAIL may not have been sent with the authority of the
Company. If you are not the intended recipient, an agent of the intended
recipient or a person responsible for delivering the information to the named
recipient, you are notified that any use, distribution, transmission,
printing,
copying or dissemination of this information in any way or in any manner is
strictly prohibited. If you have received this communication in error, please
delete this mail & notify us immediately at mailadmin@w...
[Non-text portions of this message have been removed] -
RE: [iPlanet-JATO] Re: Use Of models in utility classes
Hi all,
if you add the following to your spider2jato.xml
It will automatically map your CSpDataObject.executeImmediate to use
ExecuteImmediateUtil.executeImmediateSelect with the arguments mapped as
well.
Kostas
<mapping-rule>
<mapping-rule-primarymatch>
<![CDATA[CSpDataObject[.\s]*executeImmediate[\s]*\(([^,]*),([^)]*)\)]]>
</mapping-rule-primarymatch>
<mapping-rule-replacement>
<mapping-rule-match>
<![CDATA[CSpDataObject[.\s]*executeImmediate[\s]*\(([^,]*),([^)]*)\)]]>
</mapping-rule-match>
<mapping-rule-substitute>
<![CDATA[ExecuteImmediateUtil.executeImmediateSelect($1,$2,
getRequestContext())]]>
</mapping-rule-substitute>
</mapping-rule-replacement>
</mapping-rule>
-----Original Message-----
From: Matthew Stevens
Cc: vnamboori@y...
Sent: 11/29/01 11:23 AM
Subject: RE: [iPlanet-JATO] Re: Use Of models in utility classes
Namburi,
I have included an example in the file ExecuteImmediateUtil.java
The Yahoo Group will not handle the attached file we will put it in the
Files section shortly.
matt
-----Original Message-----
From: vnamboori@y... [mailto:<a href="/group/SunONE-JATO/post?protectID=081071113213093190112061186248100253094145066046167121181">vnamboori@y...</a>]
Sent: Thursday, November 29, 2001 12:29 PM
Subject: [iPlanet-JATO] Re: Use Of models in utility classes
Matt,
For CSpSelect.executeImmediate() I have an example of custom helpermethod as a replacement which uses JDBC results instead of
CSpDBResult.
Can you send me this example.
Thanks
Namburi
--- In iPlanet-JATO@y..., "Matthew Stevens" <matthew.stevens@E...>
wrote:
Namburi,
I will post a document to the group site this evening which has thedetails
on various tactics of migrating these type of utilities.Essentially, you
either need to convert these utilities to Models themselves or keepthe
utilities as is and simply use the
RequestManager.getRequestContext.getModelManager().getModel()
to statically access Models.
For CSpSelect.executeImmediate() I have an example of custom helpermethod
as a replacement whicch uses JDBC results instead of CSpDBResult.
matt
-----Original Message-----
From: vnamboori@y... [mailto:<a href="/group/SunONE-JATO/post?protectID=081071113213093190112061186248100208071048">vnamboori@y...</a>]
Sent: Tuesday, August 07, 2001 3:24 PM
Subject: [iPlanet-JATO] Use Of models in utility classes
Hi All,
In the present ND project we have lots of utility classes. These
classes in diffrent directory. Not part of nd pages.
In these classes we access the dataobjects and do the
manipulations.
So we access dataobjects directly like
CSpider.getDataObject("do....");
and then execute it.
Since the migration tool does not do much of conversion for these
utilities we have to do manually.
My question is Can we access the the models in the post migration
sameway or do we need requestContext?
We have lots of utility classes which are DataObject intensive.Can
someone suggest a better way to migrate this kind of code.
Thanks
Namburi
[email protected]
For more information about JATO, please visit:
http://developer.iplanet.com/tech/appserver/framework/index.jsp
[Non-text portions of this message have been removed]
For more information about JATO, please visit:
http://developer.iplanet.com/tech/appserver/framework/index.jsp
[Non-text portions of this message have been removed]Hi all,
if you add the following to your spider2jato.xml
It will automatically map your CSpDataObject.executeImmediate to use
ExecuteImmediateUtil.executeImmediateSelect with the arguments mapped as
well.
Kostas
<mapping-rule>
<mapping-rule-primarymatch>
<![CDATA[CSpDataObject[.\s]*executeImmediate[\s]*\(([^,]*),([^)]*)\)]]>
</mapping-rule-primarymatch>
<mapping-rule-replacement>
<mapping-rule-match>
<![CDATA[CSpDataObject[.\s]*executeImmediate[\s]*\(([^,]*),([^)]*)\)]]>
</mapping-rule-match>
<mapping-rule-substitute>
<![CDATA[ExecuteImmediateUtil.executeImmediateSelect($1,$2,
getRequestContext())]]>
</mapping-rule-substitute>
</mapping-rule-replacement>
</mapping-rule>
-----Original Message-----
From: Matthew Stevens
Cc: vnamboori@y...
Sent: 11/29/01 11:23 AM
Subject: RE: [iPlanet-JATO] Re: Use Of models in utility classes
Namburi,
I have included an example in the file ExecuteImmediateUtil.java
The Yahoo Group will not handle the attached file we will put it in the
Files section shortly.
matt
-----Original Message-----
From: vnamboori@y... [mailto:<a href="/group/SunONE-JATO/post?protectID=081071113213093190112061186248100253094145066046167121181">vnamboori@y...</a>]
Sent: Thursday, November 29, 2001 12:29 PM
Subject: [iPlanet-JATO] Re: Use Of models in utility classes
Matt,
For CSpSelect.executeImmediate() I have an example of custom helpermethod as a replacement which uses JDBC results instead of
CSpDBResult.
Can you send me this example.
Thanks
Namburi
--- In iPlanet-JATO@y..., "Matthew Stevens" <matthew.stevens@E...>
wrote:
Namburi,
I will post a document to the group site this evening which has thedetails
on various tactics of migrating these type of utilities.Essentially, you
either need to convert these utilities to Models themselves or keepthe
utilities as is and simply use the
RequestManager.getRequestContext.getModelManager().getModel()
to statically access Models.
For CSpSelect.executeImmediate() I have an example of custom helpermethod
as a replacement whicch uses JDBC results instead of CSpDBResult.
matt
-----Original Message-----
From: vnamboori@y... [mailto:<a href="/group/SunONE-JATO/post?protectID=081071113213093190112061186248100208071048">vnamboori@y...</a>]
Sent: Tuesday, August 07, 2001 3:24 PM
Subject: [iPlanet-JATO] Use Of models in utility classes
Hi All,
In the present ND project we have lots of utility classes. These
classes in diffrent directory. Not part of nd pages.
In these classes we access the dataobjects and do the
manipulations.
So we access dataobjects directly like
CSpider.getDataObject("do....");
and then execute it.
Since the migration tool does not do much of conversion for these
utilities we have to do manually.
My question is Can we access the the models in the post migration
sameway or do we need requestContext?
We have lots of utility classes which are DataObject intensive.Can
someone suggest a better way to migrate this kind of code.
Thanks
Namburi
[email protected]
For more information about JATO, please visit:
http://developer.iplanet.com/tech/appserver/framework/index.jsp
[Non-text portions of this message have been removed]
For more information about JATO, please visit:
http://developer.iplanet.com/tech/appserver/framework/index.jsp
[Non-text portions of this message have been removed] -
Trying to access the portal server via http://portalserver:port get a
500 error response. Looking at the error logs I find this:
[05/Dec/2001:08:46:34] warning (21789): Unable to locate class:
com.iplanet.portalserver.auth.service.LoginServlet
(java.lang.ClassNotFoundException:
com.iplanet.portalserver.auth.service.LoginServlet)
[05/Dec/2001:08:46:34] warning (21789): Internal error: Failed to get
GenericServlet. (uri=/login,SCRIPT_NAME=/login)
Any thoughts?
-mattFound the problem...
The iPlanet Portal server jars files where not specified in the
webserver's jvm12.conf file.
-matt
Matt MacDonald wrote:
Trying to access the portal server via http://portalserver:port get a
500 error response. Looking at the error logs I find this:
[05/Dec/2001:08:46:34] warning (21789): Unable to locate class:
com.iplanet.portalserver.auth.service.LoginServlet
(java.lang.ClassNotFoundException:
com.iplanet.portalserver.auth.service.LoginServlet)
[05/Dec/2001:08:46:34] warning (21789): Internal error: Failed to get
GenericServlet. (uri=/login,SCRIPT_NAME=/login)
Any thoughts?
-matt
Maybe you are looking for
-
Fingerprint utility is not working for normal users - Tecra M11
Hi All, I installed windows 7 pro in Tecra M11 laptop and the Toshiba finger print utility is not working for normal users. It is working only for domain administrators. The TFPU is not working for, normal domain users, local users, local administrat
-
Im lost! PLEASE PLEASE PLEASE HELP!!!
-
TL;DR - how do you populate iCloud Photo Library with pictures if it forces you to delete them before you even get started?? I have an iPhone and iPad (both on 8.1) and Macbook Pro (10.10 Yosemite). Both iOS devices sync with iTunes for the last 12 m
-
hi, anyone can tell me the sap standard report name in SD to see sales order status, delivery status and billing status. can anyone provide these 3 separate report? now i know va05 is for sales order but do not sure others. thanks
-
Photoshop not working as external editor
Hi, A couple of weeks ago a weird problem has started ocurring. Photoshop stopped working as an external editor. When I click Edit in Photoshop, Photoshop opens and it seems like it's trying to open the image but then nothing happens. It only works w