How to Test a View Object Using the Business Components Browser
Hi,
I have created an application in Jdeveloper. Now I want to test its module. I am unable to find Oracle Business Component Browser Window. Please help me from where I can find it?.
Regards,
Farooq
check this pics.
http://www.4shared.com/photo/nqsBsWR5/100_1_.html
http://www.4shared.com/photo/tSdV1Sqc/101.html
for more info check this
http://st-curriculum.oracle.com/obe/jdev/obe11jdev/ps1/ria_application/developriaapplication_long.htm
http://st-curriculum.oracle.com/obe/jdev/obe11jdev/ps1/adfbc_new_features/adfbc.html
Edited by: subu123 on Aug 23, 2011 12:19 AM
Similar Messages
-
How to test or view data if the source is XML files..?
Hi,
I just got a doubt..
How can we test or view data from BI Admintool if the source is XML files.
If it is database we can perform "Update Row Count" or "view data" from physical layer.
I am just going through the "sample sales" example and could not find the option to test
connectivity with xml file..(I can see the directory which points to samplesales and xml files..
but how can I view those data in BI admintool)..
Help would be appreciable..
Thanks and Regards,
Sri.Hi Sri,
Yes, this option is not available for XML and multidimensional sources. Check "Show row count in physical view" in Table 2-1 documented here ,
http://docs.oracle.com/cd/E21764_01/bi.1111/e10540/planning.htm#BABEFIHE
Rgds,
Dpka -
Enhance Req: Business Components Browser close data viewer
Hi JDev team
Regards the Business Components Browser in JDev 11g TP with an open data viewer. To close the data viewer you need to right click on the tab then select Close.
Can you raise an enhancement request please for a 1 click close facility, such as floating the mouse over the tab, an X button appearing in the right side of the tab, which with 1 click closes the tab.
Thanks,
CM.Filed ER# 6121756
Thanks -
How to set Where clause in the View Object of the MessageChoice ?
Hi,
How to set Where clause in the View Object of the
MessageChoice ?
Example:
<bc4j:rootAppModuleDef name="EdEscolaCampusView1AppModule"
definition="ed00050.Ed00050Module"
releaseMode="stateful" >
<bc4j:viewObjectDef name="EdEscolaCampusView1" >
<bc4j:rowDef name="CreateEdEscolaCampusView1" autoCreate="true" >
<bc4j:propertyKey name="key" />
</bc4j:rowDef>
</bc4j:viewObjectDef>
<bc4j:viewObjectDef name="ListaTipLocalView1"
rangeSize="9999">
</bc4j:viewObjectDef>
</bc4j:rootAppModuleDef>
</bc4j:registryDef>
messageChoice declaration:
<bc4j:messageChoice name="SeqTipoLocalCampus"
attrName="SeqTipoLocalCampus"
prompt="Local do Campus">
<contents>
<bc4j:optionList attrName="SeqTipoBasico"
textAttrName="NomTipoBasico"
voName="ListaTipLocalView1"/>
</contents>
</bc4j:messageChoice>
I would like set where clause of ViewObject, with dinamic parameters (using attribute1 = :1), before populate messageChoice.
thanks...
DaniloHi Andy,
I try set a where clause using the message:
Set where Clause parameter using UIX , but my UIX Page have 2 messageChoice's of different ViewObject's, then I need implement this Java Class:
//Nome da Package da Tela Detail
package br.com.siadem.siaed.ed00050;
// Importa as Bibliotecas necessárias
import oracle.jbo.ViewObject;
import oracle.jbo.ApplicationModule;
import oracle.jbo.client.Configuration;
import oracle.cabo.servlet.BajaContext;
import oracle.cabo.servlet.Page;
import oracle.cabo.servlet.event.PageEvent;
import oracle.cabo.servlet.event.EventResult;
import oracle.cabo.data.jbo.servlet.bind.*;
import oracle.cabo.ui.data.BoundValue;
import oracle.cabo.ui.data.DataBoundValue;
import javax.servlet.http.HttpServletRequest;
import br.com.siadem.siaed.util.*;
import javax.servlet.http.Cookie;
import oracle.cabo.data.jbo.def.NestedAppModuleDef;
import oracle.cabo.data.jbo.def.ViewObjectDef;
import oracle.cabo.data.jbo.def.AppModuleDef;
// Classe que configura os parametros para a execução da Query,
// utilizando variáveis de Sessao
public class FunPreQueryLista
public static EventResult FunConfiguraQuery(BajaContext context, Page page, PageEvent event) throws Throwable
// TrataDadosSessao - Classe utilizada para retornar os valores das variáveis de sessão genéricas
// Ex: CodCliente, CodMunicipio etc...
TrataDadosSessao varDadosSessao = new TrataDadosSessao();
// 1o. Parametro Configurado - Através da classe TrataDadosSessao, utilizando um método Get
// <alterar>
String valor1 = varDadosSessao.getCodCliente();
String valor2 = varDadosSessao.getCodMunicipio();
//Cria o objeto que retorna o ApplicationModule
ApplicationModule am = ServletBindingUtils.getApplicationModule(context);
// Início das Configurações da Query da Lista
//Cria o objeto que retorna o view object da lista desejada
//alterar
ViewObject TipoLocal = am.findViewObject("ListaTipoLocalView1");
//Configuração dos parametros definidos na query do view Object
//alterar
TipoLocal.setWhereClauseParam(0,valor1);
TipoLocal.setWhereClauseParam(1,valor2);
// Executa a Query
TipoLocal.executeQuery();
// Fim das Configurações da Query da Lista
// Início das Configurações da Query da Lista
//Cria o objeto que retorna o view object da lista desejada
//alterar
ViewObject TipoDestLixo = am.findViewObject("ListaDestinoLixoView1");
//Configuração dos parametros definidos na query do view Object
//alterar
TipoDestLixo.setWhereClauseParam(0,valor1);
TipoDestLixo.setWhereClauseParam(1,valor2);
// Executa a Query
TipoDestLixo.executeQuery();
// Fim das Configurações da Query da Lista
// Retorna o Resultado para a Página
return new EventResult(page);
The code works very well...
And, I'm sorry for my two repost's in UIX Forum about this in a few time.
Thank very much...
Danilo -
How to create dynamic View Object and Dynamic Table
Dear ll
I want to create a dynamic view object and display the output in a dynamic table on the page.
I am using Jdeveloper 12c "Studio Edition Version 12.1.2.0.0"
This what I did:
1- I created a read only view object with this query "Select sysdate from dual"
2- I added this View object to the application module
3- I created a new method that change the query of this View object at runtime
public void changeVoQuery(String dbViewName) {
String sqlstm = "Select * From " + dbViewName;
ViewObject dynamicVo = this.findViewObject("DynamicVo");
if (dynamicVo != null) {
dynamicVo.remove();
dynamicVo = this.createViewObjectFromQueryStmt("DynamicVo", sqlstm);
dynamicVo.executeQuery();
4- I run the application module for testing the method and I passed "Scott.Emp" as a parameter and the result was Success
5- Now I want to show the result of the view on the page, so I draged and dropped the method from the data control as a parameter form
6- I dragged and dropped the view Object "DynamicVo" as a table and I choose "generate Column Dynamically at runtime". This is the page source
<af:panelHeader text="#{viewcontrollerBundle.SELECT_DOCUMTN_TYPE}" id="ph1">
<af:panelFormLayout id="pfl1">
<af:inputText value="#{bindings.dbViewName.inputValue}" label="#{bindings.dbViewName.hints.label}"
required="#{bindings.dbViewName.hints.mandatory}"
columns="#{bindings.dbViewName.hints.displayWidth}"
maximumLength="#{bindings.dbViewName.hints.precision}"
shortDesc="#{bindings.dbViewName.hints.tooltip}" id="it1">
<f:validator binding="#{bindings.dbViewName.validator}"/>
</af:inputText>
<af:button actionListener="#{bindings.changeVoQuery.execute}" text="changeVoQuery"
disabled="#{!bindings.changeVoQuery.enabled}" id="b1"/>
</af:panelFormLayout>
</af:panelHeader>
<af:table value="#{bindings.DynamicVo.collectionModel}" var="row" rows="#{bindings.DynamicVo.rangeSize}"
emptyText="#{bindings.DynamicVo.viewable ? 'No data to display.' : 'Access Denied.'}"
rowBandingInterval="0" selectedRowKeys="#{bindings.DynamicVo.collectionModel.selectedRow}"
selectionListener="#{bindings.DynamicVo.collectionModel.makeCurrent}" rowSelection="single"
fetchSize="#{bindings.DynamicVo.rangeSize}" filterModel="#{bindings.DynamicVoQuery.queryDescriptor}"
queryListener="#{bindings.DynamicVoQuery.processQuery}" filterVisible="true" varStatus="vs" id="t1"
partialTriggers="::b1">
<af:iterator id="i1" value="#{bindings.DynamicVo.attributesModel.attributes}" var="column">
<af:column headerText="#{column.label}" sortProperty="#{column.name}" sortable="true" filterable="true"
id="c1">
<af:dynamicComponent id="d1" attributeModel="#{column}"
value="#{row.bindings[column.name].inputValue}"/>
</af:column>
</af:iterator>
</af:table>
when I run the page this error is occured
<Nov 13, 2013 2:51:58 PM AST> <Error> <oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter> <BEA-000000> <ADF_FACES-60096:Server Exception during PPR, #1
javax.el.ELException: java.lang.NullPointerException
Caused By: java.lang.NullPointerException
Can any body help me please
thanksHave you seen Shay's video https://blogs.oracle.com/shay/entry/adf_faces_dynamic_tags_-_for_a
All you have to do is to use the dynamic table to get your result.
Timo -
How can I remove an object using Photoshop Elements 7?
How can I remove an object using Photoshop Elements 7?
You could probably use the 8 point garbage matte in this situation. I personally think the 8-point garbage matte is a bit cumbersome, but it should get the job done.
1. Use the Razor Blade tool to place a cut before and after the shot with the bottle.
2. Select the bottle clip.
3. Press and hold Shift + Option, then drag the bottle clip up one track. This should create a duplicate clip directly above your original clip. (I'll refer to this duplicated clip as bottle2.)
4. Locate the 8-point Garbage Matte filter and apply it to bottle2.
5. Locate the Gaussian Blur filter and apply it to bottle2.
6. Control click bottle1, and uncheck the "Clip Enable" setting from the shortcut menu. This will disable that clip.
7. Double click bottle2 to load it into the Viewer. Then select the Filter tab.
8. For the Garbage Matte filter, you'll notice 8 rows of numbers, these are the current locations for the control points, which you should be able to see in the Canvas. Start with point #1, and click the "+" button in the filters area, then in the Canvas click and drag to move the point. When you release the mouse button, you'll need to reclick the "+" button in the filters tab. Repeat these steps until you've isolated the bottle.
9. Feather the edge of the matte.
10. Adjust the Blur amount.
11. Reenable bottle1. Playback the clip and make any necessary adjustments.
Depending on your experience with Motion, you might also want to try sending bottle1 to Motion, then use Motion to control the layering. -
Hi all,
in scott Schema by ADF B.C 10.1.3, I created an entity object like emp
and created view object EmpView from emp and dept entities
and Application Module
and when draging EmpView and dropping it in jspx
while running I got an error :
JB0-25003 your EmpView View Object has no Type
How to determine a View Object Type (read only or updatable) in B.C ?
ThanksHi,
this should not require any manual confiuration. Can you select the ApplicationModule in the model, right click on it and run the ADf BC tester ? Check if he ViewObject runs if not added to JSF
Frank -
How do I stop Mavericks from using the Internet, I have a DATA PLAN LIMIT!
Since installing Mavericks on our 2 iMacs our DATA PLAN is overused. Over 1.5 to 2.5 GB PER DAY! This is unacceptable!
How do I stop Mavericks from using the Internet, I have a DATA PLAN LIMIT!
HELP!Have you seen this thread…
https://discussions.apple.com/message/23826437#23826437
The short story is that the new 'certifcate checking' system could be downloading large amounts of data, you can turn it of as follows…
clockworkapps wrote:
Turning off CRL & OCSP checking in the Certificates Preferences in Keychain Access solved the problem.
You can do as others have done, install Little Snitch & use the Network Monitor to view what is happening, that thread has some good advice. http://www.obdev.at/products/littlesnitch/index.html
@Topher, Activity Monitor is a bit pants for tracking processes that respawn or just go away (I assume its because it's an on-demand job, have you got a nice article on 'mach services', Linc confused me !? ).
ocspd seems to do that in my limited testing,
Little Snitch is the easiest way to monitor & you can get away with the free demo for long enough to test if funds are tight. -
View objects referencing the same entity
The behaviour occurs in every version of jdeveloper ADF BC i have tried so far (10g, 11g).
I have 2 updatable view objects referencing the same entity object. When i create a new record using the first view object and before commiting the data to the database i navigate to the second
view object. Suprisingly the second view object is populated with the same data that is posted on the first view object. It seems like both view objects are referencing the same entity object instance.
Is any way to overcome this strange behaviour.
ThanksAs Timo says think of the EO as a record cache. If you had 700 VOs all based on the same EO, it would be ideal to store the same record(s) 700 times in the midtier as it would consume vasts amount of memory. Thus the EO cache.
If you do want to separate the VOs, you've 3 options:
1) Use separate EOs for each VO (not ideal)
2) Expose each VO under their own root level Application Module - a separate EO cache instance for each VO will be created at runtime - however you need to be careful between the VO/EO pairs, you don't update the same record, as you'll get record locks/contention
3) If you're using task flows in 11g, use the Always Begin New Transaction option for each screen/fragment for each VO. This is the equivalent of 2 but from the task flow level - however again you need to be careful on record locks.
CM. -
How to create a view object and attach with extended AM
Hi,
I tried to create new vo and attach this vo with the extended AM. But it is throwing error like 'PC.NAME : invalid identifier' (Actually this PC.NAME is exiting one).
Now i want to know how to create a view object similar like seeded one but with one additional condition in the where clause.
It is possible though extension, but i want to create two view object similar like seeded one, one with some other condition in the where clause
and another one with some other condition.
So for my requirement, i'll extend one VO and i'll add my condition but how to do it for second condition.
But i want same seeded VO with two different condition.
Any suggestions please,
SANSAN,
There is no need to attach the newly created VO with extended AM. You need to attach the same with the standard AM.
Regards,
Gyan -
I am developing a 2 page signup form, where the person enters their username on the 1st page and password on the 2nd.
When I test the form, FF asks to remember my password for the site - however it thinks the zipcode (field above the password) is the username on the account.
I have tried to put their username/email in a hidden field on the 2nd page, just above the password field - and that did not work.
How can i force FF to use the username from previous page when it asks to remember acct info?This website is using autocomplete=off to prevent Firefox from saving and filling the name and password.
You can remove autocomplete=off with a bookmarklet to make Firefox save names and passwords and other form data.
*http://kb.mozillazine.org/User_name_and_password_not_remembered -
How to hide system tables when using the Oracle SQL Developer?
Hi,
I would like to know how can I show only the tables that I created under the Tables tree? I didnt find a way to create a separate database using the Oracle Sql Developer. I see all the tables together, and would like to differentiate between different databases.
Can anyone explain to me how to do these things?
Thanks,Hi,
I would like to know how can I show only the tables that I created under the Tables tree? Your posting is not clear,again tell something more on tables tree,what u want to achieve with it.
How to hide system tables when using the Oracle SQL Developer? if u connected with sys, system or user with dba role then u have a privilege to see these tables,so revoke the privilege/role from ur user to view this tables if ur connected other then sys,system,
I didnt find a way to create a separate database using the Oracle Sql Developer. DBCA is a tool for creating the new database.
Kuljeet -
Problem occured when create a tree table for master-detail view objects using SQL queries?
I am programming a tree table for master-detail view objects using SQL queries and these 2 view objects are not simple singel tables queries, and 2 complex SQL are prepared for master and view objects. see below:
1. Master View object (key attribute is SourceBlock and some varaible bindings are used for this view object.)
SELECT cntr_list.SOURCE_BLOCK,
sum(
case when cntr_list.cntr_size_q = '20'
then cntr_list.cntr_qty
else 0 end ) as cntr20 ,
sum(
case when cntr_list.cntr_size_q = '40'
then cntr_list.cntr_qty
else 0 end ) as cntr40 ,
sum(
case when cntr_list.cntr_size_q = '45'
then cntr_list.cntr_qty
else 0 end ) as cntr45
FROM (
SELECT yb1.BLOCK_M as SOURCE_BLOCK,
scn.CNTR_SIZE_Q,
count(scn.CNTR_SIZE_Q) AS cntr_qty
FROM SHIFT_CMR scm, SHIFT_CNTR scn, YARD_BLOCK yb1, YARD_BLOCK yb2
WHERE
scm.cmr_n = scn.cmr_n
AND (scm.plan_start_dt BETWEEN to_date(:DateFrom,'YYYY/MM/DD HH24:MI:SS') AND to_date(:DateTo,'YYYY/MM/DD HH24:MI:SS')
OR scm.plan_end_dt BETWEEN to_date(:DateFrom,'YYYY/MM/DD HH24:MI:SS') AND to_date(:DateTo,'YYYY/MM/DD HH24:MI:SS'))
AND scm.shift_mode_c = :ShiftModeCode
AND scm.end_terminal_c = :TerminalCode
AND scm.start_terminal_c = yb1.terminal_c
AND scm.start_block_n = yb1.block_n
AND substr(scn.start_location_c,(instr(scn.start_location_c,',',1,5)+1),instr(scn.start_location_c,',',1,6)-(instr(scn.start_location_c,',',1,5)+1)) BETWEEN yb1.slot_from_n AND yb1.slot_to_n
AND scm.end_terminal_c = yb2.terminal_c
AND scm.end_block_n = yb2.block_n
AND substr(scn.end_location_c,(instr(scn.end_location_c,',',1,5)+1),instr(scn.end_location_c,',',1,6)-(instr(scn.end_location_c,',',1,5)+1)) BETWEEN yb2.slot_from_n AND yb2.slot_to_n
AND scn.status_c not in (1, 11)
AND scn.shift_type_c = 'V'
AND scn.source_c = 'S'
GROUP BY yb1.BLOCK_M, scn.CNTR_SIZE_Q
) cntr_list
GROUP BY cntr_list.SOURCE_BLOCK
2. Detail View object (key attributes are SourceBlock and EndBlock and same varaible bindings are used for this view object.)
SELECT cntr_list.SOURCE_BLOCK, cntr_list.END_BLOCK,
sum(
case when cntr_list.cntr_size_q = '20'
then cntr_list.cntr_qty
else 0 end ) as cntr20 ,
sum(
case when cntr_list.cntr_size_q = '40'
then cntr_list.cntr_qty
else 0 end ) as cntr40 ,
sum(
case when cntr_list.cntr_size_q = '45'
then cntr_list.cntr_qty
else 0 end ) as cntr45
FROM (
SELECT yb1.BLOCK_M as SOURCE_BLOCK,
yb2.BLOCK_M as END_BLOCK,
scn.CNTR_SIZE_Q,
count(scn.CNTR_SIZE_Q) AS cntr_qty
FROM SHIFT_CMR scm, SHIFT_CNTR scn, YARD_BLOCK yb1, YARD_BLOCK yb2
WHERE
scm.cmr_n = scn.cmr_n
AND (scm.plan_start_dt BETWEEN to_date(:DateFrom,'YYYY/MM/DD HH24:MI:SS') AND to_date(:DateTo,'YYYY/MM/DD HH24:MI:SS')
OR scm.plan_end_dt BETWEEN to_date(:DateFrom,'YYYY/MM/DD HH24:MI:SS') AND to_date(:DateTo,'YYYY/MM/DD HH24:MI:SS'))
AND scm.shift_mode_c = :ShiftModeCode
AND scm.end_terminal_c = :TerminalCode
AND scm.start_terminal_c = yb1.terminal_c
AND scm.start_block_n = yb1.block_n
AND substr(scn.start_location_c,(instr(scn.start_location_c,',',1,5)+1),instr(scn.start_location_c,',',1,6)-(instr(scn.start_location_c,',',1,5)+1)) BETWEEN yb1.slot_from_n AND yb1.slot_to_n
AND scm.end_terminal_c = yb2.terminal_c
AND scm.end_block_n = yb2.block_n
AND substr(scn.end_location_c,(instr(scn.end_location_c,',',1,5)+1),instr(scn.end_location_c,',',1,6)-(instr(scn.end_location_c,',',1,5)+1)) BETWEEN yb2.slot_from_n AND yb2.slot_to_n
AND scn.status_c not in (1, 11)
AND scn.shift_type_c = 'V'
AND scn.source_c = 'S'
GROUP BY yb1.BLOCK_M, yb2.BLOCK_M, scn.CNTR_SIZE_Q
) cntr_list
GROUP BY cntr_list.SOURCE_BLOCK, cntr_list.END_BLOCK
3. I create a view link to create master-detail relationship for these 2 view objects.
masterview.SourceBlock (1)->detailview.SourceBlock (*).
4. I create a tree table using these 2 view objects with master-detail relationship.
When I set default value for variable bindings of these 2 view objects and the matching records exist, tree table can work well. I can expand the master row to display detail row in UI.
But I need to pass in dymamic parameter value for variable bindings of these 2 view objects, tree table cannnot work again. when I expand the master row and no detail row are displayed in UI.
I am sure that I pass in correct parameter value for master/detail view objects and matching records exist.
Managed Bean:
DCIteratorBinding dc = (DCIteratorBinding)evaluteEL("#{bindings.MasterView1Iterator}");
ViewObject vo = dc.getViewObject();
System.out.println("Before MasterView1Iterator vo.getEstimatedRowCount()="+ vo.getEstimatedRowCount());
System.out.println("Before MasterView1Iterator ShiftModeCode="+ vo.ensureVariableManager().getVariableValue("ShiftModeCode"));
vo.ensureVariableManager().setVariableValue("DateFrom", dateFrom);
vo.ensureVariableManager().setVariableValue("DateTo", dateTo);
vo.ensureVariableManager().setVariableValue("ShiftModeCode", shiftModeC);
vo.ensureVariableManager().setVariableValue("TerminalCode", terminalCode);
vo.executeQuery();
System.out.println("MasterView1Iterator vo.getEstimatedRowCount()="+ vo.getEstimatedRowCount());
DCIteratorBinding dc1 = (DCIteratorBinding)evaluteEL("#{bindings.DetailView1Iterator}");
ViewObject vo1 = dc1.getViewObject();
System.out.println("Before DetailView1Iterator vo1.getEstimatedRowCount()="+ vo1.getEstimatedRowCount());
System.out.println("Before DetailView1Iterator ShiftModeCode="+ vo1.ensureVariableManager().getVariableValue("ShiftModeCode"));
vo1.ensureVariableManager().setVariableValue("DateFrom", dateFrom);
vo1.ensureVariableManager().setVariableValue("DateTo", dateTo);
vo1.ensureVariableManager().setVariableValue("ShiftModeCode", shiftModeC);
vo1.ensureVariableManager().setVariableValue("TerminalCode", terminalCode);
vo1.executeQuery();
System.out.println("after DetailView1Iterator vo1.getEstimatedRowCount()="+ vo1.getEstimatedRowCount());
5. What's wrong in my implementation? I don't have no problem to implement such a tree table if using simple master-detail tables view object, but now I have to use such 2 view objects using complex SQL for my requirement and variable bindings are necessary for detail view object although I also think a bit strange by myself.Hi Frank,
Thank you and it can work.
public void setLowHighSalaryRangeForDetailEmployeesAccessorViewObject(Number lowSalary,
Number highSalary) {
Row r = getCurrentRow();
if (r != null) {
RowSet rs = (RowSet)r.getAttribute("EmpView");
if (rs != null) {
ViewObject accessorVO = rs.getViewObject();
accessorVO.setNamedWhereClauseParam("LowSalary", lowSalary);
accessorVO.setNamedWhereClauseParam("HighSalary", highSalary);
executeQuery();
but I have a quesiton in this way. in code snippet, it is first getting current row of current master VO to determine if update variables value of detail VO. in my case, current row is possibly null after executeQuery() of master VO and I have to change current row manually like below.
any idea?
DCIteratorBinding dc = (DCIteratorBinding)ADFUtil.evaluateEL("#{bindings.SSForecastSourceBlockView1Iterator}");
ViewObject vo = dc.getViewObject();
vo.ensureVariableManager().setVariableValue("DateFrom", dateFrom);
vo.ensureVariableManager().setVariableValue("DateTo", dateTo);
vo.ensureVariableManager().setVariableValue("ShiftModeCode", shiftModeC);
vo.ensureVariableManager().setVariableValue("TerminalCode", terminalCode);
vo.executeQuery();
vo.setCurrentRowAtRangeIndex(0);
((SSForecastSourceBlockViewImpl)vo).synchornizeAccessorVOVariableValues(); -
How to access a view object under a nested appmodule in servlet
Hi,
Can anyone tell me how to access a view object under a nested appmodule in a servlet?
I know that I can use
ApplicationModule app = Configuration.createRootApplicationModule(amDef, config);
ViewObject vo = app.findViewObject(viewObjectName);
to get hold of an appmodule and view object.
But in a nested appmodule, for example, I have am0 as root, am1 as child, and voZ within am1, what should I use for this amDef? config? and viewObjectName?
Your help would be much appreciated.Hi,
http://radio.weblogs.com/0118231/stories/2005/07/19/nestedApplicationModules.html
Frank -
How can I write new objects to the existing file with already written objec
Hi,
I've got a problem in my app.
Namely, my app stores data as objects written to the files. Everything is OK, when I write some data (objects of a class defined by me) to the file (by using writeObject method from ObjectOutputStream) and then I'm reading it sequencially by the corresponding readObject method (from ObjectInputStream).
Problems start when I add new objects to the already existing file (to the end of this file). Then, when I'm trying to read newly written data, I get an exception:
java.io.StreamCorruptedException
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.readObject(Unknown Source)
Is there any method to avoid corrupting the stream? Maybe it is a silly problem, but I really can't cope with it! How can I write new objects to the existing file with already written objects?
If anyone of you know something about this issue, please help!
JaiHere is a piece of sample codes. You can save the bytes read from the object by invoking save(byte[] b), and load the last inserted object by invoking load.
* Created on 2004-12-23
package com.cpic.msgbus.monitor.util.cachequeue;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.RandomAccessFile;
* @author elgs This is a very high performance implemention of Cache.
public class StackCache implements Cache
protected long seed = 0;
protected RandomAccessFile raf;
protected int count;
protected String cacheDeviceName;
protected Adapter adapter;
protected long pointer = 0;
protected File f;
public StackCache(String name) throws IOException
cacheDeviceName = name;
f = new File(Const.cacheHome + name);
raf = new RandomAccessFile(f, "rw");
if (raf.length() == 0)
raf.writeLong(0L);
* Whne the cache file is getting large in size and may there be fragments,
* we should do a shrink.
public synchronized void shrink() throws IOException
int BUF = 8192;
long pointer = getPointer();
long size = pointer + 4;
File temp = new File(Const.cacheHome + getCacheDeviceName() + ".shrink");
FileInputStream in = new FileInputStream(f);
FileOutputStream out = new FileOutputStream(temp);
byte[] buf = new byte[BUF];
long runs = size / BUF;
int mode = (int) size % BUF;
for (long l = 0; l < runs; ++l)
in.read(buf);
out.write(buf);
in.read(buf, 0, mode);
out.write(buf, 0, mode);
out.flush();
out.close();
in.close();
raf.close();
f.delete();
temp.renameTo(f);
raf = new RandomAccessFile(f, "rw");
private synchronized long getPointer() throws IOException
long l = raf.getFilePointer();
raf.seek(0);
long pointer = raf.readLong();
raf.seek(l);
return pointer < 8 ? 4 : pointer;
* (non-Javadoc)
* @see com.cpic.msgbus.monitor.util.cachequeue.Cache#load()
public synchronized byte[] load() throws IOException
pointer = getPointer();
if (pointer < 8)
return null;
raf.seek(pointer);
int length = raf.readInt();
pointer = pointer - length - 4;
raf.seek(0);
raf.writeLong(pointer);
byte[] b = new byte[length];
raf.seek(pointer + 4);
raf.read(b);
--count;
return b;
* (non-Javadoc)
* @see com.cpic.msgbus.monitor.util.cachequeue.Cache#save(byte[])
public synchronized void save(byte[] b) throws IOException
pointer = getPointer();
int length = b.length;
pointer += 4;
raf.seek(pointer);
raf.write(b);
raf.writeInt(length);
pointer = raf.getFilePointer() - 4;
raf.seek(0);
raf.writeLong(pointer);
++count;
* (non-Javadoc)
* @see com.cpic.msgbus.monitor.util.cachequeue.Cache#getCachedObjectsCount()
public synchronized int getCachedObjectsCount()
return count;
* (non-Javadoc)
* @see com.cpic.msgbus.monitor.util.cachequeue.Cache#getCacheDeviceName()
public String getCacheDeviceName()
return cacheDeviceName;
}
Maybe you are looking for
-
How do I get Openoffice to integrate into Gnome like KDE
Just installed gnome and all its goodies and I'm taking some time to learn it as I've always been a KDE fanboy... but felt that KDE was way too bloated.... Anyways... I removed and reran setup thinking that since gnome wasn't installed before that th
-
Airport Extreme & Remote Access for database application
Hi There, I have spent an entire week of my time between apple, apple consultants and networking experts trying to get a access remotely to a simple database program inside an wireless network. I have read the discussions on remote access thru the AE
-
Hi, I get this error while importing the patch for HR and basis. the status is Error Stop Error in phase: IMPORT_PROPER Reason for error: TP_CANNOT_CONNECT_SYSTEM Return code: 0012 Error message: A tool used by tp aborted Please help me thank you
-
What settings do I have to make to get Ş Ţ ş ţ when I type and NOT Ș Ț ș ț as I do when I choose Romanian in the Systems Preferences-International-Input menu-Romanian Standard. It might seem to be a minor thing, but it creats problems with links, etc
-
Layer 3 redundancy; individual layer 3 links vs Portchannel
Does anyone have evidence as to which technique is "better" (more reliable, faster)? Cat6500, dual SUP720, native IOS mode. Partial topology: Sw_1 (5/1)----Layer3 link----(5/1) Sw_2 Sw_1 (5/2)----Layer3 link----(5/2) Sw_2 In the above scenario, there