Implementing Singleton in ADF?
How do I share the same instance of java object across all logged in users in ADF? I would like to do something similar to a singleton pattern in java using ADF.
Your advice/suggestions will help me.
thanks
Thanks for the suggestion of placing in managed bean at application level.
If the object is updatable, how can we prevent multiple users from updating at the same time?
thanks
Similar Messages
-
How can I implement singleton in ALBPM? I want to have only one process instance of a particular process type at any point in time.
Thanks in advance!I found my singleton use case is not working. So, I need to post more questions.
In my scenario, I want to limit the concurrency of the process instances in order to limit the concurrency of the external processing being done. This external processing is initiated within the ALBPM process by sending a message to the external server. However, I would still like to create unlimited amount of process instance.
Currently, I can configure singleton by changing the properties in the process's begin activity. There are two options to limit concurrency. I can either set "Do not create" or "Allow creation but limit concurrent executions". If I choose "Do not create", it will not allow me to create another process instance when currently there is one executed. If I choose "Allow creation but limit concurrent executions", it will actually execute all the instances that I started and exceeded the concurrency limit that I set.
Not sure what would be the correct behavior for the option "Allow creation but limit concurrent executions". Could it be a bug? Or it’s the fact that my process initiated the external processing in an async way. It sends a message to initiate the external processing and then wait for an external event notification from the external processing server? With this Notification Wait causes ALBPM to start executing the next process instance while waiting for the event notification.
Is there an option to allow creation but limit the actual number of concurrency processes instances being executed? That is the instances is created by will not continue until another instance is completed finished.
Thanks,
Wing -
The Excel-Mania - Best Ways of Implementing Excel-Like ADF
Hello people, good afternoon!
I would like to share with you a doubt i have implementing complex, matrix-like forms in ADF. More often than i'd like to hear, users ask for input forms that closely resemble Microsoft Excel, where the dimensions are layered both vertically and horizontally, and the intersection between them must contain an input or output component, allowing themselves to rapidly input the data they need or to create a web version of Oracle Reports' Matrix Report. Some cases are:
1) The user wishes to associate the employees (located in table EMPLOYEES) to the projects (located in table PROJECTS) in a screen that lays out the employees as columns and the projects as rows in a table. The intersection between them must contain a checkbox, which will insert a third record when selected, on a table called EMP_PROJ, which associates the employees to the projects.
2) The user wishes to input a timecard in a time control system. This system must have a screen that shows the days in the week as columns, and the projects the employee is working on as rows. On the intersection, we must provide an input text where he will enter the hours he worked on that specific project on that day.
3) The user wishes to see a screen that shows the Open Auctions they have in a Purchasing system as rows in a table, crossed with the suppliers that have bidded on these (as the columns). The intersection must contain the price each supplier bidded on each Auction.
As you can see, i run across this requirement A LOT =). And, as much as i have polished my "Web-Like-Applications-Are-Not-Like-This" and "You-Are-Not-Working-With-Excel" speeches, our beloved users never learn ;)
Nevertheless, i have been looking for a consistent way to implement this behavior, and i have found some options along the way. I would like to know your impressions on this matter, and if you have any "Best-Practices" that you imagine for this case.
CASE 1: Creating a Dynamic, On-The-Fly View Object by using ADF BC APIs and using af:table component to do the trick on the page
PROS: Less work in the View layer, Preservation of the Table CSS Layout (very nice blue header and light brown cells)
CONS: A LOT of work on the BC layer, creates an awful lot of View Objects, and generates tons of java code on the Application Modules.
CASE 2: Creating the model as usual and working with repeating layouts on ADF Faces (for example, enclosing an af:cellFormat on an af:forEach to repeat each column)
PROS: Simplifies the BC layer, making it much cleaner and maintainable.
CONS: Loses a lot of the declarative wonders of ADF Faces and also the CSS Layouts, since we are using cellFormat, rowLayout and tableLayout instead of table tag we have to manually apply the styles to the columns and rows.
Of course, both implementations take an awful lot of time. Any other implementation styles are quite welcome (ADF Wizards, step in!)
Anyone wants to discuss better ways of doing it?
Best Regards,
Thiago SouzaWell, you could do the following:
1) Create a stored procedure that assembles the data into a rowset with rows and fields like the format you want.
2) Create stored procedures that handle insert, update, and delete.
3) Create an entity object definition with all transient attributes. Make the attributes match the elements of one row.
4) Override doDML() in the entity object class to call your procedures (the doc explains how to do this). You might also need to do a bit of research and figure out if you need to override some other method so you can report rows with transient attribute changes only as needing posting. (getPostState(), maybe?)
5) Create a view object definition with entity-derived attributes based on your EO attributes.
6) Override the appropriate methods to call your data assembly procedure rather than execute a query (this is also in the doc).
Still kind of kludgy, but it keeps your business components pretty clean, especially if you use framework classes to do most of the work for you. (I have a partial example of how to do that here.) Of course, it keeps your business components clean by moving the real work to the DB, but some people find that more maintainable that a kazillion business components.
Hope this helps,
Avrom -
Implementing Security For ADF Pages when integrated with Oracle APPS
Hi,
Can anyone please let me know the solution to the below problem ?
I have an ADF application that is deployed on a weblogic server. An URL is generated to access the ADF Pages.
I have created one more simple jsp (Launch.jsp) which redirects to this URL on page load.
I am using Oracle APPS where:
->I registered a form function referring to Launch.jsp
->I am referring form function in a responsibility , attaching that to a menu
->When the valid oracle user logs in, I am sending all oracle apps environment variables (User id , Responsibility id, application id ) for that session
What my issue is :
->The URL along with the parameters that I am sending from the Launch.jsp to the ADF Page is visible to the user. So, even if the Oracle APPS user has not logged in, anybody who knows the URL can access the ADF Pages.
->So, Is there any way to implement the security so as, even if anyone knows the URL of the ADF Page cannot access the ADF Pages without the valid user being logged-in through the Oracle APPS.
I am using Jdeveloper 11g.
Please let me know if you need anymore details.
Thanks in advance,
KavithaPlease help me out if anyone has a solution to this problem.
Thanks,
Kavitha -
Implementing Singleton Pattern in ESB
How do I go about implementing a singleton pattern within the ESB. Example usage would be for a cache. Prior to making an expensive service call I want to make sure that the data does not already exist within the cache.
Have a look at metalink note 746108.1
cheers
James -
Implementing Singletons in a cluster
Hi all,
I have the following question: is it possible to implement a Singleton in a EJB
cluster? What about using a Stateless Session Bean with max-cache setting to 1
?(for container that support it). This way the container will create a single
instance and serialize access to it....what do you think about it??
FrancescoHello,
I recalled this time-ago posting. I'd like to
expand it a bit.
bind a remote object to a jndi entry.
That won't work with Weblogic ... it is possible to end up >with two singletonsdue to how WL JNDI works.
Why binding a remote object in JNDI tree will end up with
more instance of the object? Pardon my un-experience with clustering but I thought
WL replicates JNDI
tree between instances in the cluster....why other instance
of the cluster don't get the same replica-object?
A further issue: are there any problems with using a static field in an EJB that's
in a cluster?
Thanks a lot
Francesco
"Cameron Purdy" <[email protected]> wrote:
That won't work with Weblogic ... it is possible to end up with two
singletons due to how WL JNDI works.
Peace,.
Cameron Purdy
Tangosol, Inc.
Clustering Weblogic? You're either using Coherence, or you should be!
Download a Tangosol Coherence eval today at http://www.tangosol.com/
"tony pan" <[email protected]> wrote in message
news:3cab973a$[email protected]..
If you really want to do it, bind a remote object to a jndi entry.ServerSide has
an example. But be sure it is really what you want.
"Cameron Purdy" <[email protected]> wrote:
What are you trying to accomplish with a singleton in the cluster?
Peace,
Cameron Purdy
Tangosol, Inc.
Clustering Weblogic? You're either using Coherence, or you should
be!
Download a Tangosol Coherence eval today at http://www.tangosol.com/
"Francesco" <[email protected]> wrote in message
news:[email protected]..
Hi all,
I have the following question: is it possible to implement a Singletonin
a EJB
cluster? What about using a Stateless Session Bean with max-cache
setting
to 1
?(for container that support it). This way the container will createa
single
instance and serialize access to it....what do you think about it??
Francesco -
Issue implementing PhaseListner in ADF
Hi Friends,
By referring the solution to create phaselistner in ADF at how we can create phaselistener...... plz help me I created listner class and added the entry in faces-config.xml. I restrted the weblogic server after modifying the xml. However, it is not working for me. Could someone suggest what I am missing here?
RequestListner .java
package com.bmc.crms.listner;
import javax.faces.event.PhaseEvent;
import javax.faces.event.PhaseId;
import javax.faces.event.PhaseListener;
public class RequestListner implements PhaseListener{
@SuppressWarnings("compatibility:-6115882569671806271")
private static final long serialVersionUID = -3616287763993951473L;
* @param phaseEvent
public void afterPhase( PhaseEvent phaseEvent) {
System.out.println("++++++++ afterPhase ++++++++ " );
public void beforePhase(PhaseEvent phaseEvent){
System.out.println("++++++++ beforePhase ++++++++ " );
public PhaseId getPhaseId()
return PhaseId.RESTORE_VIEW;
faces-config.xml entry:
<lifecycle>
<phase-listener>com.bmc.crms.listner.RequestListner</phase-listener>
</lifecycle>After adding the Phase listner I get the following error in the diagnosis file.
My application has one login page which creates task going thru the authentication which was working fine. I am now trying to implement the Listner through which I want to get the roles for the user.
After adding the listner something got broken. The login page is taking me to the same page after entering the username /password. I am using JDev 11.1.1.4.0 and weblogic 10.3
[ERROR] [] [org.apache.myfaces.trinidadinternal.config.GlobalConfiguratorImpl] [tid: [ACTIVE].ExecuteThread: '5' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: afulamba] [ecid: 004cBC2z7Ca3r2k6wzFg6G0007kG000Cil,0:1] [APP: worklistapp] [URI: /integration/worklistapp/faces/home.jspx] [[
oracle.adf.controller.ControllerException: ADFC-00025: The ADF controller has not been successfully initalized.
at oracle.adfinternal.controller.util.Utils.createAndLogControllerException(Utils.java:208)
at oracle.adfinternal.controller.application.AdfcAppInitializer.initialize(AdfcAppInitializer.java:92)
at oracle.adfinternal.controller.state.ControllerState.<init>(ControllerState.java:166)
at oracle.adfinternal.controller.state.ControllerState.initializeRequest(ControllerState.java:783)
at oracle.adfinternal.controller.state.ControllerState.initializeRequest(ControllerState.java:754)
at oracle.adfinternal.controller.application.AdfcConfigurator.beginRequest(AdfcConfigurator.java:50)
at org.apache.myfaces.trinidadinternal.config.GlobalConfiguratorImpl._startConfiguratorServiceRequest(GlobalConfiguratorImpl.java:562)
at org.apache.myfaces.trinidadinternal.config.GlobalConfiguratorImpl.beginRequest(GlobalConfiguratorImpl.java:212)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:155)
at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.adf.library.webapp.LibraryFilter.doFilter(LibraryFilter.java:175)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:111)
at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:313)
at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:413)
at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:94)
at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:161)
at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:111)
at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:313)
at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:413)
at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:94)
at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:161)
at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:136)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:111)
at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:313)
at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:413)
at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:94)
at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:161)
at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3715)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)
at -
Hello,
i want to implement an application menu using adf. i use a menubar, commandmenuitems and a menulist.
what i want is, that when clicking on a "item" on the menubar, a list of possible actions should appear.
for example: i click on "edit" and then the list "cut,copy,paste" should appear.
how can i do this using adf?
greetings
saschaThanks for the suggestion of placing in managed bean at application level.
If the object is updatable, how can we prevent multiple users from updating at the same time?
thanks -
Serializing object of class implementing Singleton Pattern
hi ,
if i've a object of a singleton pattern based class and i seriailize that and when i'm desrializing that, i 'll get the object back, but on calling getInstance() method for my singleton class, it will agian call constructor because for the class's static object reference is null, i need to avoid this, for this i've written a setInstance method, which sets the Singleton class's static refernce to the object i desialized, which is fine, but it defeats the singleton pattern
can anybody suggest me some other way of achieving this...If you are trying to deserialize a Singleton implement the Object readResolve() method.
http://java.sun.com/javase/6/docs/platform/serialization/spec/input.html#5903
~Ryan -
How to implement singleton service if i m using only jar and war component
hello,
in my application i m using only jar and war component .
as i m not using EAR for deployment so i dont have weblogic-application.xml file.
so in this case how i implement weblogic singleton service .and how to call active methodFrom the documentation:
After you have created a singleton service class using the SingletonService interface, you must define it as a singleton service within WebLogic Server. This singleton service object contains the following information:
The path to the class to load as the singleton service.
The preferred server and other candidate servers for the singleton service.
The following excerpt from the cluster element of config.xml shows how a singleton service is defined:
<singleton-service>
<name>SingletonTestServiceName</name>
<user-preferred-server>myManaged1</user-preferred-server>
<class-name>mycompany.myprogram.subpackage.SingletonTestServiceImpl</class-name>
<cluster>myCluster</cluster>
</singleton-service>
Note that the config.xml is located in the <domain-home>/config directory -
How to implement ajax at ADF table column or ADF table column button.
I want to use ajax in table column selection. I have two table. One is master table and second one is detailed table. I have requirement to click master table column and display data in detail table column against the master table column.
let assume i have two tables 1.
<af:form id="f1">
<af:panelSplitter id="ps1" orientation="vertical">
<f:facet name="first">
<af:table value="#{radionBean.generatedData}" var="item" columnSelection="single" rowBandingInterval="0"
id="tableData">
<af:column sortable="false" selected="true" headerText="Ticket No" align="start" id="c1">
<af:outputText value="#{item.ticketno}" id="ot1"/>
</af:column>
<af:column sortable="false" headerText="Requestor" align="start" id="c2">
<af:outputText value="#{item.requestor}" id="ot2"/>
</af:column>
<af:commandButton text="More" id="cb1" action="#{radionBean.myrow}">
<f:ajax execute="@this" render=":f1:detailTableData"/>
<f:setPropertyActionListener target="#{radionBean.currentrow}" value="#{item}"/>
</af:commandButton>
</af:column>
</af:table>
</f:facet>
Second table
<f:facet name="second">
<af:table value="#{radionBean.detailData}" var="itemdet" rowBandingInterval="0"
id="detailTableData">
<af:column sortable="false" headerText="Ticket No" align="start" id="c21">
<af:outputText value="#{itemdet.ticketno}" id="ot21"/>
</af:column>
<af:column sortable="false" headerText="Date" align="start" id="c22">
<af:outputText value="#{itemdet.date}" id="ot22"/>
</af:column>
</af:table>
</f:facet>
</af:panelSplitter>
</af:form>
The above is my two table when i run the program i have this exception
<UIXEditableValue> <_isBeanValidationAvailable> A Bean Validation provider is not present, therefore bean validation is disabled
<FaceletViewHandlingStrategy> <handleRenderException> Error Rendering View[untitled1.jsf]
java.lang.IllegalArgumentException
at org.apache.myfaces.trinidad.component.UIXComponentBase.findComponent(UIXComponentBase.java:708)
at com.sun.faces.renderkit.html_basic.AjaxBehaviorRenderer.getResolvedId(AjaxBehaviorRenderer.java:279)
at com.sun.faces.renderkit.html_basic.AjaxBehaviorRenderer.appendIds(AjaxBehaviorRenderer.java:269)
at com.sun.faces.renderkit.html_basic.AjaxBehaviorRenderer.buildAjaxCommand(AjaxBehaviorRenderer.java:214)
at com.sun.faces.renderkit.html_basic.AjaxBehaviorRenderer.getScript(AjaxBehaviorRenderer.java:86)
at javax.faces.component.behavior.ClientBehaviorBase.getScript(ClientBehaviorBase.java:103)
at oracle.adf.view.rich.render.RichRenderer._encodeClientBehaviors(RichRenderer.java:3740)
at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1409)
at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:511)
at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:923)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1659)
at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:624)
at oracle.adf.view.rich.render.RichRenderer.encodeChild(RichRenderer.java:3201)
at oracle.adf.view.rich.render.RichRenderer.encodeChildInContext(RichRenderer.java:3118)
at oracle.adfinternal.view.faces.renderkit.rich.table.BaseColumnRenderer.renderDataCell(BaseColumnRenderer.java:1468)
at oracle.adfinternal.view.faces.renderkit.rich.table.BaseColumnRenderer.encodeAll(BaseColumnRenderer.java:166)
at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1452)
at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:511)
at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:923)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1659)
at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:624)
at oracle.adf.view.rich.render.RichRenderer.encodeChild(RichRenderer.java:3201)
at oracle.adfinternal.view.faces.renderkit.rich.TableRenderer.renderDataBlockRows(TableRenderer.java:2803)
at oracle.adfinternal.view.faces.renderkit.rich.TableRenderer._renderSingleDataBlock(TableRenderer.java:2433)
at oracle.adfinternal.view.faces.renderkit.rich.TableRenderer._handleDataFetch(TableRenderer.java:1634)
at oracle.adfinternal.view.faces.renderkit.rich.TableRenderer.encodeAll(TableRenderer.java:560)
at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1452)
at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:511)
at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:923)
at org.apache.myfaces.trinidad.component.UIXCollection.encodeEnd(UIXCollection.java:617)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1659)
at oracle.adfinternal.view.faces.util.rich.InvokeOnComponentUtils$EncodeChildVisitCallback.visit(InvokeOnComponentUtils.java:116)
at com.sun.faces.component.visit.PartialVisitContext.invokeVisitCallback(PartialVisitContext.java:183)
at org.apache.myfaces.trinidad.component.UIXComponent.visitTree(UIXComponent.java:531)
at org.apache.myfaces.trinidad.component.UIXComponent.visitTree(UIXComponent.java:354)
at oracle.adfinternal.view.faces.renderkit.rich.PanelSplitterRenderer._visitFacetAsStretched(PanelSplitterRenderer.java:393)
at oracle.adfinternal.view.faces.renderkit.rich.PanelSplitterRenderer._visitFacet(PanelSplitterRenderer.java:371)
at oracle.adfinternal.view.faces.renderkit.rich.PanelSplitterRenderer.visitChildrenForEncodingImpl(PanelSplitterRenderer.java:338)
at oracle.adf.view.rich.render.RichRenderer.visitChildrenForEncoding(RichRenderer.java:2393)
at org.apache.myfaces.trinidad.component.UIXComponent.visitChildren(UIXComponent.java:410)
at org.apache.myfaces.trinidad.component.UIXComponent.visitChildren(UIXComponent.java:695)
at org.apache.myfaces.trinidad.component.UIXComponent.visitTree(UIXComponent.java:558)
at org.apache.myfaces.trinidad.component.UIXComponent.visitTree(UIXComponent.java:354)
at oracle.adfinternal.view.faces.renderkit.rich.DecorativeBoxRenderer.visitChildrenForEncodingImpl(DecorativeBoxRenderer.java:214)
at oracle.adf.view.rich.render.RichRenderer.visitChildrenForEncoding(RichRenderer.java:2393)
at org.apache.myfaces.trinidad.component.UIXComponent.visitChildren(UIXComponent.java:410)
at org.apache.myfaces.trinidad.component.UIXComponent.visitChildren(UIXComponent.java:695)
at org.apache.myfaces.trinidad.component.UIXComponent.visitTree(UIXComponent.java:558)
at org.apache.myfaces.trinidad.component.UIXComponent.visitTree(UIXComponent.java:354)
at oracle.adfinternal.view.faces.renderkit.rich.PanelStretchLayoutRenderer._visitFacetAsStretched(PanelStretchLayoutRenderer.java:856)
at oracle.adfinternal.view.faces.renderkit.rich.PanelStretchLayoutRenderer._visitFacet(PanelStretchLayoutRenderer.java:834)
at oracle.adfinternal.view.faces.renderkit.rich.PanelStretchLayoutRenderer.visitChildrenForEncodingImpl(PanelStretchLayoutRenderer.java:793)
at oracle.adf.view.rich.render.RichRenderer.visitChildrenForEncoding(RichRenderer.java:2404)
at org.apache.myfaces.trinidad.component.UIXComponent.visitChildren(UIXComponent.java:410)
at org.apache.myfaces.trinidad.component.UIXComponent.visitChildren(UIXComponent.java:695)
at org.apache.myfaces.trinidad.component.UIXComponent.visitTree(UIXComponent.java:558)
at org.apache.myfaces.trinidad.component.UIXComponent.visitTree(UIXComponent.java:354)
at org.apache.myfaces.trinidad.render.CoreRenderer.visitChildrenForEncoding(CoreRenderer.java:228)
at oracle.adf.view.rich.render.RichRenderer.visitChildrenForEncodingImpl(RichRenderer.java:2421)
at oracle.adf.view.rich.render.RichRenderer.visitChildrenForEncoding(RichRenderer.java:2404)
at org.apache.myfaces.trinidad.component.UIXComponent.visitChildren(UIXComponent.java:410)
at org.apache.myfaces.trinidad.component.UIXComponent.visitChildren(UIXComponent.java:695)
at org.apache.myfaces.trinidad.component.UIXComponent.visitTree(UIXComponent.java:558)
at org.apache.myfaces.trinidad.component.UIXComponent.visitTree(UIXComponent.java:354)
at org.apache.myfaces.trinidad.render.CoreRenderer.visitChildrenForEncoding(CoreRenderer.java:228)
at oracle.adf.view.rich.render.RichRenderer.visitChildrenForEncodingImpl(RichRenderer.java:2421)
at oracle.adf.view.rich.render.RichRenderer.visitChildrenForEncoding(RichRenderer.java:2404)
at org.apache.myfaces.trinidad.component.UIXComponent.visitChildren(UIXComponent.java:410)
at org.apache.myfaces.trinidad.component.UIXComponent.visitChildren(UIXComponent.java:695)
at org.apache.myfaces.trinidad.component.UIXComponent.visitTree(UIXComponent.java:558)
at org.apache.myfaces.trinidad.component.UIXComponent.visitTree(UIXComponent.java:354)
at org.apache.myfaces.trinidad.component.UIXDocument.visitTree(UIXDocument.java:82)
at javax.faces.component.UIComponent.visitTree(UIComponent.java:1496)
at org.apache.myfaces.trinidad.component.UIXComponent.visitTree(UIXComponent.java:487)
at oracle.adfinternal.view.faces.util.rich.InvokeOnComponentUtils.renderChild(InvokeOnComponentUtils.java:42)
at oracle.adfinternal.view.faces.streaming.StreamingDataManager._pprComponent(StreamingDataManager.java:756)
at oracle.adfinternal.view.faces.streaming.StreamingDataManager.execute(StreamingDataManager.java:525)
at oracle.adfinternal.view.faces.renderkit.rich.DocumentRenderer._encodeStreamingResponse(DocumentRenderer.java:3713)
at oracle.adfinternal.view.faces.renderkit.rich.DocumentRenderer.encodeAll(DocumentRenderer.java:1475)
at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1452)
at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:511)
at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:923)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1659)
at oracle.adfinternal.view.faces.context.PartialViewContextImpl._processRender(PartialViewContextImpl.java:321)
at oracle.adfinternal.view.faces.context.PartialViewContextImpl.processPartial(PartialViewContextImpl.java:152)
at javax.faces.component.UIViewRoot.encodeChildren(UIViewRoot.java:974)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1652)
at oracle.adfinternal.view.faces.component.AdfViewRoot.encodeAll(AdfViewRoot.java:91)
at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:399)
at org.apache.myfaces.trinidadinternal.application.ViewDeclarationLanguageFactoryImpl$ChangeApplyingVDLWrapper.renderView(ViewDeclarationLanguageFactoryImpl.java:350)
at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:131)
at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:273)
at org.apache.myfaces.trinidadinternal.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:165)
at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._renderResponse(LifecycleImpl.java:1027)
at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:334)
at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:232)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:313)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:173)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:122)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:468)
at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:468)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:293)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:199)
at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:111)
at java.security.AccessController.doPrivileged(Native Method)
at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:313)
at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:413)
at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:94)
at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:161)
at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:136)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3715)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
Please reply this.......
THANK YOU IN AN ADVANCE
Regards
Muhammad Khurram
Edited by: 912134 on Feb 3, 2012 4:28 AMI don't think you need the f:ajax tag - you should be able to do the synchronization between the tables with the built-in partial page refresh functionality.
Just define the partialTrigger property of the second table to point to the firsttable.
http://docs.oracle.com/cd/E16162_01/web.1112/e16181/af_ppr.htm#BGBEGIDF -
Implementing internationalization in ADF
hi ,
is there any tutoriel to implmente intenationalisation in oracle adf
my jdev version 11 release 2
thanksI don't think there is a tutorial, but the FOD demo has a section about it and you can read more here:
http://docs.oracle.com/cd/E16162_01/web.1112/e16181/af_global.htm#CHDGCAFI
and here:
http://docs.oracle.com/cd/E16162_01/web.1112/e16182/bcentities.htm#BABJACFB -
How to implement an audit system to track ADF applications DML activity?
We have implemented a complete audit system for one of our databases in order to keep history for every table and every value that has been modified.
The solution that we currently have can be split into two discrete parts:
1. Keeping a record of all connections to the db account
This is achieved via a table ‘user_sessions’ into which we record data for every session in the database with the help of on-logon and on-logoff triggers and some PL/SQL procedures:
Column name | Explanation
-------------------|-------------------------------------------
US_ID | PK, based on a sequence
SESSION_ID | sys_context('USERENV' ,'SESSIONID')
USER_NAME | sys_context('USERENV' ,'OS_USER')
LOGON_TIME | when the on-logon trigger fires
LOGOFF_TIME | when the on-logoff trigger fires
USER_SCHEMA | sys_context('USERENV' ,'SESSION_USER')
IP_ADDRESS | sys_context('USERENV' ,'IP_ADDRESS')
us_id |session_id |user_name|user_sschema|ip_address|logon_time |logoff_time
560066|8498062 |BOB |ABD |1.1.1.2 |14-SEP-06 03.51.52.000000|14-SEP-06 03.52.30.000000
560065|8498061 |ALICE |ABC |1.1.1.1 |14-SEP-06 02.45.31.000000|14-SEP-06 04.22.43.0000002. Keeping the history of every change of data made by a given user
For every table in the account there is a corresponding history table with all of the columns of the original table plus columns to denote the type of the operation (Insert, Delete, Update), start and end time of validity for this record (createtime, retiretime) and us_id (which points to the user_sessions table).
The original table has triggers, which fire if there is an insert, update or delete and they insert the data into the corresponding history table. For every record inserted into a history table the us_id taken from the user_sessions table is recorded as well, allowing us to determine who has modified what data via the combination of these two tables.
Below is an example of a table TASKS, the history related triggers and the history table TASKS_HIST.
At the moment we are developing new applications by using ADF. Since there is an Application Module Pool and Database Connection Pool implemented for the ADF, one connection to the database could be used by several users at different moments of time. In that case the history records will point to a database session logged into the user_sessions table, but we will not know who actually modified the data.
Could you, please, give us a suggestion, how we can know at any moment of time who (which of our users currently making use of an ADF application) is using a given database connection?
By way of an example of the problem we are facing, here is how we solved the same problem posed by the use of Oracle Forms applications.
When the user starts to work with a given Forms application, user_sessions table would attempt to record the relevant information about he user, but since the db session was created by the application server, would in actual fact record the username and ip address of the application server itself.
The problem was easy to solve due to the fact that there is no connection pooling and when a user opens their browser to work with Forms applications, a db connection is opened for the duration of their session (until they close their browser window).
In that case, the moment when the user is authenticated (they log in), there is a PL/SQL procedure called from the login Form, which updates the record in the user_sessions table with the real login name and ip address of the user.
Example of a table and its ‘shadow’ history table
CREATE TABLE TASKS (
TASKNAME VARCHAR2(40),
DESCRIPTION VARCHAR2(80)
ALTER TABLE TASKS ADD (
CONSTRAINT TASKS_PK PRIMARY KEY (TASKNAME));
CREATE OR REPLACE TRIGGER TASKS_HISTSTMP
BEFORE INSERT OR UPDATE OR DELETE ON TASKS
BEGIN
HISTORY.SET_OPERATION_TIME('TASKS');
EXCEPTION
WHEN OTHERS THEN
ERROR.REPORT_AND_GO;
END TASKS_HISTSTMP;
CREATE OR REPLACE TRIGGER TASKS_WHIST
AFTER INSERT OR UPDATE OR DELETE ON TASKS
FOR EACH ROW
BEGIN
CASE
WHEN INSERTING THEN
UPDATE TASKS_HIST
SET retiretime = HISTORY.GET_OPERATION_TIME
WHERE createtime = (SELECT MAX(createtime)
FROM TASKS_HIST
WHERE retiretime IS NULL AND TASKNAME=:NEW.TASKNAME)
AND retiretime IS NULL AND TASKNAME=:NEW.TASKNAME;
INSERT INTO TASKS_HIST (TASKNAME ,DESCRIPTION ,optype
,createtime
,us_id)
VALUES (:NEW.TASKNAME ,:NEW.DESCRIPTION ,'I'
,HISTORY.GET_OPERATION_TIME
,USER_SESSION.GET_USER_SESSIONS_ID);
WHEN UPDATING THEN
UPDATE TASKS_HIST
SET retiretime = HISTORY.GET_OPERATION_TIME
WHERE createtime = (SELECT MAX(createtime)
FROM TASKS_HIST
WHERE TASKNAME=:OLD.TASKNAME)
AND TASKNAME=:OLD.TASKNAME;
INSERT INTO TASKS_HIST (TASKNAME ,DESCRIPTION ,optype
,createtime
,us_id)
VALUES (:NEW.TASKNAME ,:NEW.DESCRIPTION ,'U'
,HISTORY.GET_OPERATION_TIME
,USER_SESSION.GET_USER_SESSIONS_ID);
ELSE
UPDATE TASKS_HIST
SET retiretime = HISTORY.GET_OPERATION_TIME
WHERE createtime = (SELECT MAX(createtime)
FROM TASKS_HIST
WHERE TASKNAME=:OLD.TASKNAME)
AND TASKNAME=:OLD.TASKNAME;
INSERT INTO TASKS_HIST (TASKNAME ,DESCRIPTION ,optype
,createtime
,us_id)
VALUES (:OLD.TASKNAME ,:OLD.DESCRIPTION ,'D'
,HISTORY.GET_OPERATION_TIME
,USER_SESSION.GET_USER_SESSIONS_ID);
END CASE;
EXCEPTION
WHEN OTHERS THEN
ERROR.REPORT_AND_GO;
END TASKS_WHIST;
CREATE TABLE TASKS_HIST (
TASKNAME VARCHAR2(40),
DESCRIPTION VARCHAR2(80),
OPTYPE VARCHAR2(1),
CREATETIME TIMESTAMP(6),
RETIRETIME TIMESTAMP(6),
US_ID NUMBER
ALTER TABLE TASKS_HIST ADD (
CONSTRAINT TASKS_HIST_PK PRIMARY KEY (TASKNAME, CREATETIME)
);Frank,
Thanks for your reply.
I checked the site that you mentioned.
I try the sample “demo with bundle. The sample worked.
But it needed to start separately with the application.
I do not know how to build a help system with the existed web application developed with Jdeveloper (It has two projects: model and user-view-control. It is deployed on Oracle Application server).
Could you help me step by step to build the help system? -
How to implement hierarchical structure of managers and reportees using jdeveloper adf
I want to display hierarchical structure(which can be expanded and compressed) with 3 columns(Employeeid, fist Name,lastname) of managers and his reportees on selecting a top level manager.
In this i'm going to use programmatic view objects.
I have employees table.
Here is my detailed requirement:
On selecting a user from drop down list, i want to display the list of users reporting to him.
From the displayed list on selecting a manager, list of users reporting to him has to be displayed in a tree format with the correspoding just being listed below the current selected manager
Example :
Top Manger has been selected from dropdown and clicked submit.
Output(a table as mentioned below):
Manager1
Manager2
NonManager1
Manger 3
On clicking manager1,
output:
Manger 1
Manger11
Manasger12
Nonmanager11
Manger 2
NonManger1
Manger3
on clicking manager1 again, tree has to be compressed and the output has to be just the same as first output.
Please help me on this by sharing information or any references on how can i achieve this implementation using Jdeveloper adf concepts.
Will be waiting for the inputs.
Thank You,
DevObviously, you can only display one picture. So then the question becomes which picture to show. Therefore, you will have to create some sort of preference of one pattern over another.
I would use a FOR loop so that you can loop through your available patters and their possible results. Use the Conditional Terminal on the FOR loop so that you can stop the loop on the first match. Then you just wire up the selected value for the ring outside of the loop.
There are only two ways to tell somebody thanks: Kudos and Marked Solutions
Unofficial Forum Rules and Guidelines -
11g ADF TaskFlow Exception Handling in BPM
Hi Guys
BPM 11g
I have a human task that is implemented as an ADF task flow. I would like to be able to throw an exception from the ADF application and have it handled by the BPM process, does anyone know if this is possible or how I would do that?
At the moment I have an ADF error page - I could return an "error" outcome to the process from that but an error is an error and it feels right to show that in the process instead of a normal outcome.
anyone else worked through this?
cheers,
Stevehelp yourself with this thread - Re: Exception Handling
it should answer your question
Maybe you are looking for
-
I changed the order, then burned a cd but the cd copied the songs in the order of the smart playlist, which was alphabetical. What am i doing wrong in this scenario, and is there a way to change the song order in a smart playlist? I am a new MAC us
-
Multiple GraphicsDevice's scrolling failure
greetings. i plugged in as many searchs as i could think would return this problem and i didn't find anything. getting that out of the way, i just started playing with using multiple GraphicsDevice's and extending the desktop. if i run my swing appli
-
Music player in BlackBerry 7290
Hi, I need to know if I can play mp3 music playlists on BlackBerry 7290. Thank you.
-
Hp pavilion dv7 is plugged on 220v is not charging.
hp pavilion dv7 is plugged on 220v is not charging. With or without battery, the laptop is working, The power light is working at the power plug but the indication in front ( a ligthning sign) not.
-
How to reassign function key to a letter
In filemaker we regularly type in numbers in a field that also sometimes needs an X (entering ISBNs) How can I reassign F16 to type a X when used?