Seems like a pretty old patch that applies to last two releases of JDeveloper 10g. You can log into metalink and search for patch number: 8606537.
Seems like a pretty old patch that applies to last two releases of JDeveloper 10g. You can log into metalink and search for patch number: 8606537.
This is a followup post to my original post regarding jdeveloper performance here:
http://wesfang.wordpress.com/2012/08/20/jdev-10-vs-11g-day-3/
Here are the updated numbers after getting our new i7 development PCs with SSD and windows 7 64bit. The new machine proved to be roughly twice as fast vs our old core 2 duo windows xp machines with JDev 11g. Not surprisingly, the lesson here is to max out your budget on cpu, ssd and ram. When I get time in the future, I will update these numbers running Ubuntu.
JDeveloper version: 11.1.2.3
1. Read and try out this great article Frank wrote on how to use images that are distributed in a jar file:
http://www.oracle.com/technetwork/developer-tools/adf/learnmore/86-images-from-jar-427953.pdf
2. You can reference the existing ADF Faces images like the following:
<af:image source=”/adf/images/clear.png” id=”i2″/>
3. To see all the images you can choose from you first need to locate and unjar the following file adf-richclient-impl-11.jar
You can find this jar either in your app’s exploded .ear file or from your JDev install dir. Mine is at:
C:\Oracle\Middleware\oracle_common\modules\oracle.adf.view_11.1.1
4. Finally, you can view and select from thumbnail preview in windows explore
My “sum of parts” system prototype uses couple of icons from the ADF RC Demo application . Several of the ChildApps has commandbuttons that need to render with the same icon. After a quick search, I found an article Frank wrote. He describes the exact scenario with a solution that included both design and deployment time solution with the use of “ADF Shared Library” and Weblogic. This all worked fine except when I deploy to my Glassfish sandbox, the images do not show. Upon closer look at the application ear deployment profile, I notice that even thou the jar (containing the images) was added to the project library, it was not included by default upon ear deployment. Hence the quick fix is to select it as shown below.
My code:
<f:view …
<af:form id=”f1″>
<af:image source=”/adf/images/backarrow.gif” id=”i2″/>
</af:form>
</af:document>
</f:view>
Runtime result on glassfish:
Randomly, I started to get this error in the server.log file of my glassfish 3 standalone server. I would first try to deployment my adf ear file from jdev 11g2 which fails with the following message in the deployment console:
Unable to add application
[03:15:40 PM] POST https://SERVERNAME:4848/management/domain/applications/application returned a response status of 400
[03:15:40 PM] Deployment cancelled.
[03:15:40 PM] —- Deployment incomplete —-.
[03:15:40 PM] Remote deployment failure
[03:15:40 PM] Unable to add application
[03:15:40 PM] POST https://SERVERNAME:4848/management/domain/applications/application returned a response status of 400
Then I proceeded to deploy directly from the glassfish web application console which also failed but pointed to the server.log file for additional information. The server.log file showed a message:
[#|2013-03-26T16:21:14.321-0400|SEVERE|glassfish3.1.2|javax.enterprise.system.core.com.sun.enterprise.v3.server|_ThreadID=87;_ThreadName=Thread-2;|Could not find sub module [MyApp_ViewController_webapp.war] as defined in application.xml
java.lang.IllegalArgumentException: Could not find sub module [MyApp_ViewController_webapp.war] as defined in application.xml
at com.sun.enterprise.deployment.archivist.ApplicationArchivist.readModulesDescriptors(ApplicationArchivist.java:585)
at com.sun.enterprise.deployment.archivist.ApplicationArchivist.openWith(ApplicationArchivist.java:258
…
After a couple of hours of debugging and trying different modification to the descriptor, I decided to go on the server and delete all the applications directly as the folders still exist even if the application is not listed in the glassfish application console. My standalone install dir was:
C:\glassfish3\glassfish\domains\domain1\applications\MyApp
After explicitly deleting “MyApp” and redeploying from jdeveloper did this error go away which resulted in a successful deployment!
It took a couple of hours for me to figure out that a page fragment based BTF can call a page based BTF as a dialog.
This can be accomplished by:
“Task flow “abc” refers to page fragments, and there for cannot call bounded taskflow “xyz” that refers to pages.
2. Select the page based BTF in the diagram view. Apply the following attribute
“Run as dialog” = true
Display type=”inline-popup”
3. Goto the POE BTF fragment source, select the button that launches the dialog and apply the following attributes
Run as dialog = true
Display type=”inline-popup”
Partial submit = true
Action=yournavcase
4. ofcourse the page fragment based BTF is dropped off in the main page as a region
“Proof of concept” project structure update
After a couple of weeks on trying to create a proof of concept (Chris Muir’s “Sum of parts” design) application based on a project structure outlined here:
http://wesfang.wordpress.com/2012/10/10/adf-11g-project-structure-list-of-content/
https://groups.google.com/forum/?fromgroups=#!topic/adf-methodology/r669Unjz2jU
I have a better understanding of how transactions are managed in 11g (lots of changes if you are coming from 10g) work now and its likely I will change the original design by removing the need of design time nesting of AMs in a common RootAm. This old practice will be overwritten with the use of adfc transaction and data control sharing functionality that is available in 11g. I will follow up with a future post regarding an modified version of the project structure.
JBO-34010
Upon trying to integrated a modified version of the UIShell Template. I experienced the above runtime exception. This basically means that there is a resource that is defined more then once with the same name and package in the application. In my case, I redefined the package for the DataBinding.cpx to be in another path and solved this issue.
How to change the default jdev 11g user dir:
http://docs.oracle.com/cd/E16764_01/install.1111/e13666/ojdig.htm#BDCJCHDF
I had to change this default dir because the default folder is deeply nested within the widnows user folder. It is now easier to locate and reset the embedded weblogic settings (by deleting the DefaultDomain folder that is created in the default user dir).
af:table – programmatically set the current row upon selectionevent:
ADFUtil.invokeEL(“#{bindings.VONAME.collectionModel.makeCurrent}”,new Class[] { selectionEvent.getClass() }, new Object[] { selectionEvent });
See:
https://forums.oracle.com/forums/thread.jspa?threadID=2186022
Adding attributes using af:clientAttribute
This was used to create a behavior when a table row is double clicked, a new window launches with a dynamic url. In order to make this behavior common, I need to parameterized javascript function in order for a developer to invoke it from their own code without having to repeat the js code.
Running JDeveloper 11gR2 in 64bit mode and also embedded/integrated weblogic in 64bit mode:
http://adfhowto.blogspot.com/2011/05/run-embedded-weblogic-in-64-bits-run-it.html
The current distribution of R2 from oracle comes standard with a 32bit version of the jdk. The above links outline how to modify jdev.conf and also setDomainEnv.cmd files to enable 64bit. After following the instructions, ensure you run jdev64.exe. Also, if the embedded weblogic still launches in 32bit (you will see the jdk dir outputted by default in the console), you might need to reset weblogic settings (see above post on deleting the DefaultDomain directory)
I was curious to know if the url can be cleaner by removing the adf.ctrl-state attribute, which does not seem to be supported as it is coupled with adfc behavior.
https://forums.oracle.com/forums/thread.jspa?threadID=959508