Rendering BC4J views as trees in uiXML
Hi all,
I created a JClient that uses a JTree based on BC4J for navigation.
Now it's time for me to create the web client, which should look and behave as
similar as possible as the JClient.
The data that I want to render as a tree is based on 2 view objects that are connected
through a master-detail relationship. It's look about like this:
MasterView: A
DetailView: a
DetailView: b
MasterView: B
DetailView: c
MasterView: C
DetailView: d
I've seen lots of nice new tags for uiXML-BC4J integration in the JDeveloper 9.03 release,
is there (going to be) also one that helps in rendering trees that contain BC4J data?
Or is there a tag that provides similar functionality as the
JUTreeBinding.createTreeNodeTypeBinding() method that I can use to bind views to
the tree?
Maybe I've overlooked something and someone can point me to the right direction. What's
the best way to solve this problem?
Any help is welcome :-)
Mark
We are looking to expand the capabilities of the BC4J UIX binding, including tree support in future.
For now, you can achieve this effect by writing a custom DataProvider, that interacts with the existing set of BC4J UIX tags. You can get the currently scoped view object from the RenderingContext, under the property JboConstants.BC4J_NAMESPACE, JboConstants.VIEW_OBJECT_PROPERTY.
Once you have a handle to the ViewObject, it is relatively straightforward to turn it into whatever data object hierarchy you need for your tree.
Kind Regards,
John Fallows
Oracle Corporation
Similar Messages
-
Error message when trying to view a VO in the BC4J viewer
Below is an error message I am getting when trying to run my Application Modual in test mode via the BC4J viewer. When I click my VO I get this message. I only get this when my VO is tied to a EO that has data in the table. I have created a VO based on a custom sql statement and that one does not give an error when I select it in the BC4J viewer to look at. Any ideas what I am doing incorrectly?
(oracle.jbo.RowCreateException) JBO-25017: Error while creating a new entity row for TpcApInvoices.
----- LEVEL 1: DETAIL 0 -----
(java.lang.InstantiationException) null
oracle.jbo.RowCreateException: JBO-25017: Error while creating a new entity row for TpcApInvoices.
at oracle.jbo.server.EntityDefImpl.createBlankInstance(EntityDefImpl.java:1054)
at oracle.jbo.server.ViewRowImpl.createMissingEntities(ViewRowImpl.java:1532)
at oracle.jbo.server.ViewRowImpl.init(ViewRowImpl.java:236)
at oracle.jbo.server.ViewDefImpl.createBlankInstance(ViewDefImpl.java:1050)
at oracle.jbo.server.ViewDefImpl.createInstanceFromResultSet(ViewDefImpl.java:1007)
at oracle.jbo.server.ViewObjectImpl.createRowFromResultSet(ViewObjectImpl.java:2643)
at oracle.jbo.server.ViewObjectImpl.createInstanceFromResultSet(ViewObjectImpl.java:2547)
at oracle.jbo.server.QueryCollection.populateRow(QueryCollection.java:1891)
at oracle.jbo.server.QueryCollection.fetch(QueryCollection.java:1745)
at oracle.jbo.server.QueryCollection.get(QueryCollection.java:1257)
at oracle.jbo.server.ViewRowSetImpl.getRow(ViewRowSetImpl.java:2850)
at oracle.jbo.server.ViewRowSetIteratorImpl.doFetch(ViewRowSetIteratorImpl.java:2495)I am using Flex. Through normal programming via JavaScript I have corrected this on some other websites I manage. Is there a way to embed Javascript to the page of Visual Composer?
-
"View JNDI tree" link not visible under monitoring tab of myserver?
Hi,
The link "View JNDI tree" as mentioned in chapter 18 of administration guide is
not visibile on my installation of 6.1 beta.
Is there some configuration setting that i need to do to make this link visible.
I am having problems with installation and running of my resource adapter. I wanted
to check whether the JNDI name is registered properly and there i ran into this
problem of no link available.
Regards
ManishThey moved this into a popup menu that you get to using a right click
in the tree view in the left frame. There are lots and lots of new
admin goodies available by right clicking on nodes of the tree. It
took me a while to discover this myself. :)
Ben
On 20 Jun 2001 10:29:12 -0800, Manish Verma <[email protected]> wrote:
>
The link "View JNDI tree" as mentioned in chapter 18 of
administration guide is not visibile on my installation of 6.1 beta. -
XML View & Model, Tree & binding
Hi there,
i'm trying to do some stuff with XML models, XML Views and Trees.
Here is my xml model file :
<objectSet version="1.2.3.4">
<aRoot code="testCode" reference="0123456789" description="TestDescription" owner="Tester">
<component name="MyCompo1" type="MyCompo1Type">
<component name="MyCompo2" type="MyCompo2Type">
<property name="myProperty2-1" type="string" value="null"/>
</component>
<component name="MyCompo3" type="MyCompo3Type">
<property name="myProperty3-1" type="string" value="null"/>
</component>
</component>
</aRoot>
</objectSet>
My XML View file :
<core:View xmlns:core="sap.ui.core" xmlns:mvc="sap.ui.core.mvc" xmlns="sap.m" xmlns:cmn="sap.ui.commons"
controllerName="cleanproject.TreeTest" xmlns:html="http://www.w3.org/1999/xhtml">
<cmn:Tree nodes="{/aRoot}">
<cmn:TreeNode text="{@name} TagNameHere?"></cmn:TreeNode>
</cmn:Tree>
</core:View>
My Js Controller file :
sap.ui.controller("cleanproject.TreeTest", {
onInit: function() {
var xmlModel = new sap.ui.model.xml.XMLModel("cleanproject/"+xmlPath3);
xmlModel.setXML("the full xml document here"); // bad trick
this.getView'().setModel(xmlModel);
I have multiples questions :
What is the way to wait the xml file to be loaded, because when i'm not using setXML function in my controller, the view is instantiated too fast and an error is raised as the model is not accessible ( Error message : "N is null" )
Is it possible to display in a TreeNode the tagName of an element? ( e.g : "component", "property" )
Is it possible to build the tree only with "component" TreeNodes ?
4. Is it possible to bind a part of the datas , eg : bind with a deepth of 1,2,...n ?
Thanks for helping,
Regards,
Marc
Edit :
1. In the onInit function, use attachRequestCompleted method. In my case :
var thus= this;
xmlModel.attachRequestCompleted(function(event){
thus.getView().setModel(xmlModel);
2.
tree.bindNodes("/",function(sId, oContext){
var tagName = oContext.getObject().tagName;
var name = oContext.getObject().getAttribute("name");
var sText = tagName;
if(name){
sText+=" "+name;
return new cleanproject.custom.ComplexTreeNode({text:sText});
},null,[oFilter]);
3. It does not seem possible even with filters
4. Can be done using javascript and a custom methodHi all,
I just tested again and now it's working...
<Label xmlns="sap.m" design="Standard" text="{/MAIN_OBJECTSet('1')/PROPERTY_NAME}"
visible="true" textAlign="Begin" textDirection="Inherit" width="200px"
required="false" labelFor="">
</Label>
The relative path syntax depends on the used model!
Strange - but ok.
Thanks.
Best regards,
Christoph -
Managed Server unreached after view JNDI tree
I have issue with WLS managed server to see if anyone know that
Version WLS 10.3.1.0
I create 11G soa domain , soa_server1 as managed server .
When I open JNDI tree window of soa_server1 , I can see some error mark in eis node , when I close it . I am never able to see the view JNDI tree link ,and state of soa_server1 change to UNKNOW. actually soa_server1 still working
Again , try to use WSLT to browse JNDI of soa_server1
got this exception:
Caused by: java.rmi.UnmarshalException: Problem finding error class; nested exception is:
java.lang.ClassNotFoundException: oracle.sdpinternal.messaging.driver.email.EmailResourceAdapter
at weblogic.rjvm.ResponseImpl.unmarshalReturn(ResponseImpl.java:234)
at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:348)
at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:259)
at weblogic.jndi.internal.ServerNamingNode_1031_WLStub.list(Unknown Source)
at weblogic.jndi.internal.WLContextImpl.list(WLContextImpl.java:217)
... 35 more
Caused by: java.lang.ClassNotFoundException: oracle.sdpinternal.messaging.driver.email.EmailResourceAdapter
at weblogic.utils.classloaders.GenericClassLoader.checkMagicNumber(GenericClassLoader.java:432)
at weblogic.utils.classloaders.GenericClassLoader.defineClass(GenericClassLoader.java:336)
at weblogic.rmi.utils.WLRMIClassLoaderDelegate.loadClass(WLRMIClassLoaderDelegate.java:215)
at weblogic.rmi.utils.WLRMIClassLoaderDelegate.loadClass(WLRMIClassLoaderDelegate.java:135)
at weblogic.rmi.utils.Utilities.loadClass(Utilities.java:306)
Any clue?
Kevin
Edited by: kyi on Oct 23, 2009 12:14 PMHi Kyi,
Can you check if that class had been loaded successfully?.
For JRocket :- add "-Xverbose:class,load -Xverboselog:classload.txt" to JVM options.
For Sun :- add "-verbose:class" to JVM options.
Thanks.
Vijay Bheemineni. -
BC4J view objects on pipeline functions
Hello,
I just wanted to find out if we can place a BC4J view object on the new Oracle 9i Pipeline functions.
Thanks
RamnaIf it still looks on the outside like a database view to the JDBC client (BC4J in this case), then sure.
If you're making updates, then your underlying entity object will have to:
[list]
[*]Be mapped to an appropriate, updateable table, or
[*]Write INSTEAD OF triggers for your view
[list]
Let us know if you hit any problems. -
How to get the column values from a BC4J View Table in UIXML?
I am using a default UiXML Application for Order Entry system with Orders & Order Lines & Customers. I have a uix file OrdersView1_View.uix which displays (no updateable columns) all the Orders. How do I get the column value of a selected row in a BC4J Table (example:OrdersId) when a Submit button is pressed using UIXML or Java Classes?
I appreciate any help on this.Hi,
You need to use keyStamp, an example:
<bc4j table name="orders">
<bc4j:keyStamp>
<bc4j:rowKey name="key" />
</bc4j:keyStamp>
Furthermore, you can automatically send the selected row key using the go event handler, so in the handlers section you could send the key to an orderInfo page:
<event name="show">
<!-- forward to the update page, passing
the selected key as a page property -->
<ctrl:go name="orderInfo" redirect="true">
<ctrl:property name="key">
<ctrl:selection name="orders" key="key" />
</ctrl:property>
</ctrl:go>
</event> -
Bc4j view definition not found
Within the doDML method in my PatientImpl class, I have implemented this snippet of code to insert a record into the TransactionLog entity after an insert into the Patient entity.
DBTransaction trans = getDBTransaction();
TransactionLogViewImpl txnLogView =
(TransactionLogViewImpl)trans.createViewObject(
" hmdclinical.customactiondemo.model.bc4j.TransactionLogView ");
TransactionLogViewRowImpl row =
(TransactionLogViewRowImpl) txnLogView.createRow();
row.setAction('TEST');
txnLogView.insertRow(row);
txnLogView.remove();However, the error returned is "JBO-25002: Definition hmdclinical.customactiondemo.model.bc4j.TransactionLogView of type View Definition not found".
What am I doing wrong ? My View object is called TransactionLogView and my business components package is hmdclinical.customactiondemo.model.bc4j ??
Help ?
Also - is it possible to perform the insert and then requery the same row to check for data in other columns on the table had that been populated by a trigger as the result on the insert performed by my business rule code ?? If i make the attribute refresh after update can I do a
row.setAttribute
view.insertRow(row)
row.getAttribute ??
How else would I get the values back from the row just inserted ??
Thanks,
BrentPlease ignore the first part of my question - stupid typo that i always make !
But the second part....
Also - is it possible to perform the insert and then requery the same row to check for data in other columns on the table had that been populated by a trigger as the result on the insert performed by my business rule code ?? If i make the attribute refresh after update can I do a
row.setAttribute
view.insertRow(row)
row.getAttribute ??
How else would I get the values back from the row just inserted ??
Can someone help me with this ?
Thanks,
Brent -
How-to synchronize edit forms for a single View Object tree node entrie
Hi all,
I created a tree from a single View Object,
follow this [http://www.oracle.com/technetwork/developer-tools/adf/learnmore/32-tree-table-from-single-vo-169174.pdf]
then i want to create and synchronize edit forms for tree node entries,
follow this [http://www.oracle.com/technetwork/developer-tools/adf/learnmore/50-synchromize-form-treeselection-169192.pdf]
but it not working when i click child node!!
i found the latter tree from many View Object ,but the former tree from single View Object.
what should i do?
Thanks in advanceHi,
say the tree is built from ViewObject1. In the AM model, create a second View Object instance for this. Say ViewObject2. Create the form from ViewObject2 and the tree from ViewObject1. When creating the tree, use the"Target Data Source" option at the bottom to reference the iterator of ViewObject2. Then create a PartialTrigger on the paneFormLayout that holds the synch form. In the partial trigger property, reference the tree so that when the tree selection changes, the form is updated. Then create a PartialTrigger property on the tree and point it to the submit button of the form so you can show updated values in the tree.
Frank -
Hi
I'm facing the following problem while viewing the JNDI tree. I had configured
two servers ejbServer,ejbServer1 both clustered, i can able to start both the
servers, but in the JNDI tree when i click ejbServer or Replication Manager
i'm getting the following error please help me out.
An unexpected error was encountered in processing your request.
Exception
javax.naming.NameNotFoundException: Unable to resolve weblogic.transaction.coordinators.ejbServer.
Resolved: 'weblogic.transaction.coordinators' Unresolved:'ejbServer' ; remaining
name ''
<>
Current Date
Mon Aug 27 09:15:19 GMT+08:00 2001
Console Release Build
6.0 Service Pack 2
Console Build
6.0 Service Pack 2 05/24/2001 11:55:28 #117037
Server Release Build
6.0 Service Pack 2
Server Build
6.0 Service Pack 2 05/24/2001 11:55:28 #117037
All Server Product Versions
WebLogic Server Build: 6.0 Service Pack 2 05/24/2001 11:55:28 #117037
WebLogic XML Module: 6.0 Service Pack 2 05/24/2001 12:34:27 #117037
Request Info
Protocol: HTTP/1.1
ServerName: 127.0.0.1
ServerPort: 7001
Secure: false
ContextPath: /console
ServletPath: /common/error.jsp
QueryString: null
PathInfo: null
PathTranslated: null
RequestURI: /console/common/error.jsp
AuthType: Basic
ContentType: null
CharacterEncoding: null
Locale: hi
Method: GET
Session: weblogic.servlet.internal.session.MemorySessionData@37b6ef
RequestedSessionId: O4meRts3MSQ1pr2YCfOsUGA3MckiUv6wmiQVYrdcQBy3oYpYTz2Q/console
RequestedSessionIdFromCookie: true
RequestedSessionIdFromURL: false
UserPrincipal: system
RemoteUser: system
RemoteAddr: 127.0.0.1
RemoteHost: localhost
Parameters
binding = ejbServer
context = weblogic.transaction.coordinators
Attributes
console.original./console/common/error.jsp.ContextPath = /console
console.original./console/common/error.jsp.Method = GET
console.original./console/common/error.jsp.RemoteUser = system
console.original./console/common/error.jsp.RequestURI = /console/common/error.jsp
console.original./console/common/error.jsp.ServletPath = /common/error.jsp
console.original./console/panels/mbean/JNDIBinding.jsp.ContextPath = /console
console.original./console/panels/mbean/JNDIBinding.jsp.Method = GET
console.original./console/panels/mbean/JNDIBinding.jsp.QueryString = context=weblogic.transaction.coordinators&binding=ejbServer
console.original./console/panels/mbean/JNDIBinding.jsp.RemoteUser = system
console.original./console/panels/mbean/JNDIBinding.jsp.RequestURI = /console/panels/mbean/JNDIBinding.jsp
console.original./console/panels/mbean/JNDIBinding.jsp.ServletPath = /panels/mbean/JNDIBinding.jsp
console.preferences.ContextKey = /panels/mbean/JNDIBinding.jsp
javax.servlet.include.context_path = /console
javax.servlet.include.request_uri = /console/common/requestinfo.jsp
javax.servlet.include.servlet_path = /common/requestinfo.jsp
javax.servlet.jsp.jspException = javax.naming.NameNotFoundException:
Unable to resolve weblogic.transaction.coordinators.ejbServer. Resolved: 'weblogic.transaction.coordinators'
Unresolved:'ejbServer' ; remaining name ''
weblogic.httpd.user = system
weblogic.management.console.tags.ContentTag = java.lang.Object@397a54
weblogic.management.console.tags.HeaderTag = java.lang.Object@e4a33
Headers
Accept = image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel,
application/msword, application/vnd.ms-powerpoint, */*
Accept-Encoding = gzip, deflate
Accept-Language = hi
Authorization = Basic c3lzdGVtOm1hbmFnZXIx
Connection = Keep-Alive
Cookie = JSESSIONID=O4meRts3MSQ1pr2YCfOsUGA3MckiUv6wmiQVYrdcQBy3oYpYTz2Q!2557472653882942880!-1062729946!7001!7002
Host = 127.0.0.1:7001
User-Agent = Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 4.0)
BrowserInfo
User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 4.0)
IE: true
Netscape: false
Supported: true
JavscriptHrefs: false
TableCellClick: true
DocumentReloadedOnResize: false
DropdownStretchable: true
CellSpacingBlank: false
EmptyCellBlank: false
ImgOnclickSupported: true
TableBorderFancy: true
PartialToWideTables: false
Server System Properties
awt.toolkit = sun.awt.windows.WToolkit
bea.home = d:\Weblogic
cloudscape.system.home = ./samples/eval/cloudscape/data
file.encoding = Cp1252
file.encoding.pkg = sun.io
file.separator = \
java.awt.fonts =
java.awt.graphicsenv = sun.awt.Win32GraphicsEnvironment
java.awt.printerjob = sun.awt.windows.WPrinterJob
java.class.path = .;d:\Weblogic\jdk130\lib\tools.jar;d:\Weblogic\wlserver\lib\weblogic_sp.jar;d:\Weblogic\wlserver\lib\weblogic.jar;d:\Weblogic\wlserver\lib\xmlx.jar;d:\Weblogic\wlserver\lib\ejb20.jar;d:\Weblogic\wlserver\samples\eval\cloudscape\lib\cloudscape.jar;;;;d:\Weblogic;d:\Weblogic\wlserver\bin\oci816_8;d:\Oracle_Home\iSuites\jdbc\lib\classes12.zip;d:\Weblogic\wlserver\lib;d:\Oracle_Home\iSuites\lib\xmlparserv2.jar;d:\JDeveloper\lib\xsu12.jar;;
java.class.version = 47.0
java.ext.dirs = d:\Weblogic\jdk130\jre\lib\ext
java.home = d:\Weblogic\jdk130\jre
java.io.tmpdir = C:\TEMP\
java.library.path = d:\Weblogic\jdk130\bin;.;C:\WINNT\System32;C:\WINNT;.\bin;D:\Oracle_Home\iSuites\BIN;D:\Oracle_Home\iSuites\Apache\Perl\5.00503\bin\mswin32-x86;C:\Program
Files\Oracle\jre\1.1.7\bin;C:\WINNT\system32;C:\WINNT;C:\VisualCafeSE\Java2\Bin;C:\Program
Files\Common Files\WebGain Shared;C:\VisualCafeSE\Bin;
java.naming.factory.initial = weblogic.jndi.WLInitialContextFactory
java.naming.factory.url.pkgs = weblogic.jndi.factories
java.protocol.handler.pkgs = weblogic.utils|weblogic.utils|weblogic.net|weblogic.management|weblogic.net|weblogic.net|weblogic.utils
java.runtime.name = Java(TM) 2 Runtime Environment, Standard
Edition
java.runtime.version = 1.3.0-C
java.security.policy = =d:\Weblogic\wlserver/lib/weblogic.policy
java.specification.name = Java Platform API Specification
java.specification.vendor = Sun Microsystems Inc.
java.specification.version = 1.3
java.vendor = Sun Microsystems Inc.
java.vendor.url = http://java.sun.com/
java.vendor.url.bug = http://java.sun.com/cgi-bin/bugreport.cgi
java.version = 1.3.0
java.vm.info = mixed mode
java.vm.name = Java HotSpot(TM) Client VM
java.vm.specification.name = Java Virtual Machine Specification
java.vm.specification.vendor = Sun Microsystems Inc.
java.vm.specification.version = 1.0
java.vm.vendor = Sun Microsystems Inc.
java.vm.version = 1.3.0-C
javax.rmi.CORBA.PortableRemoteObjectClass = weblogic.iiop.PortableRemoteObjectDelegateImpl
javax.rmi.CORBA.UtilClass = weblogic.iiop.UtilDelegateImpl
javax.xml.parsers.DocumentBuilderFactory = weblogic.xml.jaxp.RegistryDocumentBuilderFactory
javax.xml.parsers.SAXParserFactory = weblogic.xml.jaxp.RegistrySAXParserFactory
jmx.implementation.name = JMX RI
jmx.implementation.vendor = Sun Microsystems
jmx.implementation.version = 1.0
jmx.specification.name = Java Management Extensions
jmx.specification.vendor = Sun Microsystems
jmx.specification.version = 1.0 Final Release
line.separator =
os.arch = x86
os.name = Windows NT
os.version = 4.0
path.separator = ;
sun.boot.class.path = d:\Weblogic\jdk130\jre\lib\rt.jar;d:\Weblogic\jdk130\jre\lib\i18n.jar;d:\Weblogic\jdk130\jre\lib\sunrsasign.jar;d:\Weblogic\jdk130\jre\classes
sun.boot.library.path = d:\Weblogic\jdk130\jre\bin
sun.cpu.endian = little
sun.cpu.isalist = pentium_pro+mmx pentium_pro pentium+mmx
pentium i486 i386
sun.io.unicode.encoding = UnicodeLittle
user.dir = D:\Weblogic\wlserver
user.home = C:\WINNT\Profiles\venkata
user.language = en
user.name = venkata
user.region = US
user.timezone = Asia/Singapore
weblogic.Domain = DNSdomain
weblogic.Name = DNSserver
weblogic.management.discover = true
weblogic.security.jaas.Configuration = weblogic.security.internal.ServerConfig
weblogic.security.jaas.Policy = d:/Weblogic/wlserver/lib/Server.policy
[att1.html]
-
Avoid rendering of (view,component Usage embedded on TAB) on Timed Trigger
Hi,
I have a WD application build based on header ( icons; normal label; input elements ) , a timed trigger and a tab strip which has 3 tabs. The 3 tabs have View container element for whcih i am attaching 3 views of the same component . TAB A part which i am viewing holds a image. The Timed Trigger is needed to enable icon on the header. This is happening well after my delay time of 60 SECS. But this one is having impact of regenerating the image again ( due to the rendering ) which is not at all required. I want to have the rendering only for the above header part only. But as i heard from Thomas post that after the phase cycle is done. rendering loads all the views, component usages embedded for the VIEW.
conditonally i am doing the action of CANCEL NAVIGATION in WDDOBEFORENAVIGATION when Timed Trigger fires.Due to this one i could avoid the MODIFYVIEW calls of the respective views embedded; but i could not avoid the rendering of the IMAGE ( TAB A ).
Is there any way to avoid the rendering on those tabs part ( 3 views embedded ). I could see that DELTA rendering is enabled for my sap version but it would be not much help.
Thanks and Regards,
Satish A.Hi Alex.
I already tried this. But a bit different. One of my component should have different entry views. So I defined multiple interface inbound plugs in the window of the subcomponent. In the corresponding (inbound) handler methods of the window I fired corresponding outbound plugs which were connected to different views. The main component had different links which were connected to the corresponding interface inbound plugs of the embedded component.
When I clicked the first link, the correct view of the subcomponent was shown. When I then clicked the next link which should show another view of the same subcomponent the corresponding inbound handler was called but no navigation was done.
Now when I rest the component before navigating everything works fine.
But thanks for the hint.
Cheers,
Sascha -
BC4J View not Thread safe, user sessions are using the same view instance
Hi There,
We are using BC4J that came with JDeveloper 10.1.2.0.0 with Oracle 10G 10.1.2.0.0.
I have an BC4J account search view (BC4J AccountSearchView) that users can call to search for an account. So this view could be used by numerous users and pieces of code at the same time. Now my understanding is that each user gets their own instance of the view so changing the view's query should not be an issue (since the view definition is not changing). Under a light load the account search view looks like everyone get there own instance of the view and there expected account search results. But under a heavy user load when we have User A and User B the search query that was for User A will be used by User B. So the user results for one user will get the other users results.
I do not understand if the view definition is been changed by the other user and is impacting all view instances. How can this occur if it is thread safe?
I have enclosed the core code for this search.
If you can help that would be much appreciated, thanks in advance,
Nigel
accountSearchView.setQuery(baseSelectQuery+generateWhereClause());
logger.debug("SearchAccounts Query: "+accountSearchView.getQuery());
System.out.println("SearchAccounts SQL: "+accountSearchView.getQuery());
accountSearchView.setPassivationEnabled(false);
accountSearchView.setForwardOnly(true);
accountSearchView.executeQuery();
get attributes for each row result and place in new Java bean objects and return to user.Nigel, we've only certified JDeveloper 10.1.2 against the Struts 1.1 with which it ships.
If there have been any changes in Struts 1.2 to the Struts Request Processor, then this could easily have an impact on the BC4JRequestProcessor's correct functioning, depending on what the changes were.
My quick look into the issue tells me that the ActionServlet init parameter named mapping in web.xml that we use for the 9.0.3-style BC4J/Struts integration is getting ignored by Struts 1.2. This parameter is used by Struts 1.1 to globally configure a custom ActionMapping subclass which can support additional properties. My quick test shows me that Struts 1.2 is ignoring this setting and so the oracle.jbo.html.struts11.BC4JActionMapping subclass of Struts's default ActionMapping is not getting used correctly as it does in Struts 1.1. This leads to errors when Struts tries to configure its actions in struts-config.xml since the Apache digester tries to set properties on the ActionMapping instance that don't exist (since the BC4JActionMapping has these properties, and it's not being used).
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>mapping</param-name>
<param-value>oracle.jbo.html.struts11.BC4JActionMapping</param-value>
</init-param>
</servlet>This is my quick analysis of what's not out-of-the-box compatible. I don't know enough about the changes in Struts 1.2 to know why this Struts 1.1 feature broke in Struts 1.2, or what the Struts 1.2 way to accomplish the same thing is.
I'd encourage you to use Worldwide Support's Metalink site and open a TAR for any time-critical issues you need assistance in resolving. Many of us are constantly traveling and only able to sporadically chime in with tips in the forum as our time permits.
The source of the BC4JRequestProcessor ships with the produce in the ./BC4J/src directory inside the bc4jstrutssrc.zip file. -
Seems like there used to be a concurrent manager request you could run to print all the submenu and functions in a menu tree. Is that still around? Can't seem to find it. The menu tree viewer shows what I am after, but does not have a print option.
Just FYI, I found the reports. They are in the Function Security Menu Reports request set in the System Administrator responsibility. They do not, however, include reports for responsibilities associated with Oracle Web Applications, which is what I was after. If anyone knows about some reports for the web apps (Self Service), I would love to hear about them.
-
Prime Infrastructure 2.2 - Network Topology View - Spanning Tree View
Hello Team,
Is it possible on PI 2.2 (latest version) under Maps/Network Topology View to be able to "monitor" the spanning-tree performance?
thanks in advance,
GeorgeSorry but that's not a currently offered feature.
It would be nice - the Netsys product that Cisco acquired 18-1/2 years ago (and subsequently abandoned) used to do this quite nicely. -
Problem rendering a dynamically populated tree in a postback
I'll try and keep this as simple as possible...
On page1 I have a table with a button column. When the user presses one of the buttons, the ID for that row is saved in a variable in the session bean, then navigates to page2.
In the init() function of page2 I generate a new tree object using parent/child data retrieved from a database using the ID saved in the session bean. Then I use setTree1(newTree); to apply the data to the component on the page.
The first time a user presses a button on page1, page2 is displayed with the correct data in the tree. If the user navigates back to page1 and presses a different button, page2 is displayed with the tree data from the initial button that was pressed.
I have a number of static text components on page2. The values are updated in the same function that the tree is generated, and all of these get updated correctly in the postback.
Still with me?!
I understand that in the first stage of the lifecycle if the page request is an initial request the the JSF implementation creates an empty view and advances to the render response phase. - eg the first time a button is pressed page2 is shown with the correct tree.
If the page request is a postback a view for this page already exists and the JSF implementation restores the saved view. - eg the second time a button is pressed page2 is shown with the tree data from the first button press.
So my question to you JSF gurus...
Is there some way to make sure that getTree1() is called somewhere in the postback to update the values in the tree, and render the changes on the page.
...or can I make every request to page2 an initial request so that the view isn't saved?
I hope I've been clear on what I'm trying to do here. I've been banging my head against my desk for afew days tryin to figure this out! Thanks in advance for any help
OllyI set up a test where I use the Travel db and pass a person id from page 1 to page 2. I build a tree of that person's trips in Page 2. Every time I go to Page 2, I get the tree of trips for that person.
On page 2 I have a tree from which I have deleted all nodes. Its ID is displayTree.
Here are excerpts from my prerender code.
// If nbrChildren is not 0 then we have our tree already
int nbrChildren = displayTree.getChildCount();
if (nbrChildren == 0) {
// List of outer (person) nodes
List outerChildren = displayTree.getChildren();
// Erase previous contents
outerChildren.clear();
// List of inner (trip) nodes
List innerChildren = null;
// Execute the SQL query
< in my loop where I iterate through the query>
TreeNode personNode = new TreeNode();
personNode.setId("person" + newPersonId.toString());
personNode.setText(
(String)tripDataProvider.getValue(
"PERSON.NAME"));
// If the request bean passed a person id,
// expand that person's node
personNode.setExpanded(newPersonId.equals(thisPersonId));
outerChildren.add(personNode);
innerChildren = personNode.getChildren();
// Create a new trip node
TreeNode tripNode = new TreeNode();
tripNode.setId("trip" +
tripDataProvider.getValue("TRIP.TRIPID").toString());
tripNode.setText(
tripDataProvider.getValue("TRIP.DEPDATE").toString());
// Set "action" property to use for navigation
tripNode.setAction(
getApplication().createMethodBinding
("#{Page1.tripNode_action}", null));
innerChildren.add(tripNode);
Maybe you are looking for
-
Data Load from a DSO to a Cube
Hello, I am facing a problem Case: There is a DSO with following Char/Key Figure: Characteristics ( Value-1 ) ( Value-2 ) ( Value-3 ) A(Key) ( A1 ) ( A2 ) ( A3 ) B(Key) ( B1 ) ( B2 ) ( B3 ) C ( C
-
Does the Target Audiences setting work for Content Search Web Part Snippets?
I am attempting to create a page layout in SharePoint 2013 that contains a Content Search Web Part snippet. I only want the CS Web Part to appear for certain users in a defined SP Group. I set the Target Audience property during the generation of t
-
Orginizer in Elements 12 puts Music and photos in same folder?
Why does the orginizer put my music files and photo files in the same folder. The file it is in is all media but shouldnt there be a music folder as well or do I have to go in and manually select each of my music files and put them into a sepeate fol
-
Custom dates not showing up in iCloud on MacBook
Events with custom dates (e.g., 3rd Thursday of the month) have stopped showing up in my Mac iCloud calendar. They still show up in iCal, and on my iPhone and iPad. They also showed up in all previous months in iCloud, but for some reason they stoppe
-
Airport (via Keychain I think) Keeps Changing My Wireless Network Key
I think my airport express utility is is changing the stored 128 bit WEP key for my XP wireless utility. Is is possible that this could happen via keychain? If so, how do I delete keychain entries in windows XP? Thanks.