Code Review:: ADF BC applications

Hi,
We would like to know if there's any open source software available for code reviews of ADF applications and how to effectively use to for ADF BC applications?
1) Am I moving in right direction while exploring PMD and Checkstyle? Are these the right candidates for setting automated code reviews for ADF applications?
Is there a specific software recommendation by the forum members which can help me achieve this goal.
2) Can CodeCoach and Audit features available in JDeveloper help me in this?
3) Will I have to necessary create 'Custom Rules' for tasks like validating EO classes are not directly referred in the Controller? Are there some pre-built rule-sets available on this front?
4) Any other suggestions for ensuring better/faster code reviews not necessarily replacing the manual peer review process but reducing the unnecessary headaches that can be fixed by freely available software
Sid

I started using ADFLogger and added some log statements. When I ran my application in JDeveloper in Embeded OC4J server, these log statements are appearing in JDeveloper server log window. After I deployed this application to Oracle Application Server, these statements are not appearing in the application.log file and also not in any file. Am I missing any configuration setting? The log current level is INFO and I do have few INFO statements, SEVERE statements in my code. Thanks in advance.

Similar Messages

  • Code review process in adf

    Hi All,
    Is there any code review tools available for adf.or what are the best practises to be followed for adf
    Regards,
    Smaran

    I think you could use Red Samurai Tool. Pls see the link.
    http://andrejusb.blogspot.com/2010/03/red-samurai-tool-jdeveloper-11g.html
    ADF Best Practice: http://www.oracle.com/technetwork/developer-tools/adf/learnmore/bestpractice-092568.html
    ~Abhijit

  • Getting error while deploying adf in application server 10.1.2.0.2

    I just pasted log file which is generated while deploying adf in application server 10.1.2.0.2
    ---- Deployment started. ---- Dec 15, 2007 10:48:26 AM
    Target platform is Oracle Application Server 10g 10.1.2 (Unix) (applicatonserverconnection10g2).
    java.lang.ClassCastException: oracle.jbo.dt.jdevx.deploy.JbdProfileNode
         at oracle.jdevimpl.deploy.ProfileDeployer.profileDepExists(ProfileDeployer.java:95)
         at oracle.jdevimpl.deploy.DependencyGraph.calcDeploymentOrder(DependencyGraph.java:144)
         at oracle.jdevimpl.deploy.DependencyGraph.calcDeploymentOrder(DependencyGraph.java:167)
         at oracle.jdevimpl.deploy.DependencyGraph.deploy(DependencyGraph.java:72)
         at oracle.jdevimpl.deploy.ModulePackager.deploy(ModulePackager.java:44)
         at oracle.jdevimpl.deploy.DynamicDeployer.deploy(DynamicDeployer.java:84)
         at oracle.jdevimpl.deploy.DynamicDeployer.deploy(DynamicDeployer.java:84)
         at oracle.jdevimpl.deploy.BatchDeployer.deploy(BatchDeployer.java:46)
         at oracle.jdevimpl.deploy.DynamicDeployer.deploy(DynamicDeployer.java:84)
         at oracle.jdevimpl.deploy.BatchDeployer.deploy(BatchDeployer.java:46)
         at oracle.jdevimpl.deploy.DynamicDeployer.deploy(DynamicDeployer.java:84)
         at oracle.jdevimpl.deploy.J2eeProfileDt$CleanupTransientProfilesDeployer.deploy(J2eeProfileDt.java:71)
         at oracle.jdevimpl.deploy.FinalDeployer.deploy(FinalDeployer.java:48)
         at oracle.jdevimpl.deploy.AsyncDeployer$1.runImpl(AsyncDeployer.java:67)
         at oracle.jdevimpl.deploy.AsyncDeployer$1.run(AsyncDeployer.java:53)
    java.lang.ClassCastException: oracle.jbo.dt.jdevx.deploy.JbdProfileNode
         at oracle.jdevimpl.deploy.ProfileDeployer.profileDepExists(ProfileDeployer.java:95)
         at oracle.jdevimpl.deploy.DependencyGraph.calcDeploymentOrder(DependencyGraph.java:144)
         at oracle.jdevimpl.deploy.DependencyGraph.calcDeploymentOrder(DependencyGraph.java:167)
         at oracle.jdevimpl.deploy.DependencyGraph.deploy(DependencyGraph.java:72)
         at oracle.jdevimpl.deploy.ModulePackager.deploy(ModulePackager.java:44)
         at oracle.jdevimpl.deploy.DynamicDeployer.deploy(DynamicDeployer.java:84)
         at oracle.jdevimpl.deploy.DynamicDeployer.deploy(DynamicDeployer.java:84)
         at oracle.jdevimpl.deploy.BatchDeployer.deploy(BatchDeployer.java:46)
         at oracle.jdevimpl.deploy.DynamicDeployer.deploy(DynamicDeployer.java:84)
         at oracle.jdevimpl.deploy.BatchDeployer.deploy(BatchDeployer.java:46)
         at oracle.jdevimpl.deploy.DynamicDeployer.deploy(DynamicDeployer.java:84)
         at oracle.jdevimpl.deploy.J2eeProfileDt$CleanupTransientProfilesDeployer.deploy(J2eeProfileDt.java:71)
         at oracle.jdevimpl.deploy.FinalDeployer.deploy(FinalDeployer.java:48)
         at oracle.jdevimpl.deploy.AsyncDeployer$1.runImpl(AsyncDeployer.java:67)
         at oracle.jdevimpl.deploy.AsyncDeployer$1.run(AsyncDeployer.java:53)
    java.lang.ClassCastException: oracle.jbo.dt.jdevx.deploy.JbdProfileNode
         at oracle.jdevimpl.deploy.ProfileDeployer.profileDepExists(ProfileDeployer.java:95)
         at oracle.jdevimpl.deploy.DependencyGraph.calcDeploymentOrder(DependencyGraph.java:144)
         at oracle.jdevimpl.deploy.DependencyGraph.calcDeploymentOrder(DependencyGraph.java:167)
         at oracle.jdevimpl.deploy.DependencyGraph.deploy(DependencyGraph.java:72)
         at oracle.jdevimpl.deploy.ModulePackager.deploy(ModulePackager.java:44)
         at oracle.jdevimpl.deploy.DynamicDeployer.deploy(DynamicDeployer.java:84)
         at oracle.jdevimpl.deploy.DynamicDeployer.deploy(DynamicDeployer.java:84)
         at oracle.jdevimpl.deploy.BatchDeployer.deploy(BatchDeployer.java:46)
         at oracle.jdevimpl.deploy.DynamicDeployer.deploy(DynamicDeployer.java:84)
         at oracle.jdevimpl.deploy.BatchDeployer.deploy(BatchDeployer.java:46)
         at oracle.jdevimpl.deploy.DynamicDeployer.deploy(DynamicDeployer.java:84)
         at oracle.jdevimpl.deploy.J2eeProfileDt$CleanupTransientProfilesDeployer.deploy(J2eeProfileDt.java:71)
         at oracle.jdevimpl.deploy.FinalDeployer.deploy(FinalDeployer.java:48)
         at oracle.jdevimpl.deploy.AsyncDeployer$1.runImpl(AsyncDeployer.java:67)
         at oracle.jdevimpl.deploy.AsyncDeployer$1.run(AsyncDeployer.java:53)
    java.lang.ClassCastException: oracle.jbo.dt.jdevx.deploy.JbdProfileNode
         at oracle.jdevimpl.deploy.ProfileDeployer.profileDepExists(ProfileDeployer.java:95)
         at oracle.jdevimpl.deploy.DependencyGraph.calcDeploymentOrder(DependencyGraph.java:144)
         at oracle.jdevimpl.deploy.DependencyGraph.calcDeploymentOrder(DependencyGraph.java:167)
         at oracle.jdevimpl.deploy.DependencyGraph.deploy(DependencyGraph.java:72)
         at oracle.jdevimpl.deploy.ModulePackager.deploy(ModulePackager.java:44)
         at oracle.jdevimpl.deploy.DynamicDeployer.deploy(DynamicDeployer.java:84)
         at oracle.jdevimpl.deploy.DynamicDeployer.deploy(DynamicDeployer.java:84)
         at oracle.jdevimpl.deploy.BatchDeployer.deploy(BatchDeployer.java:46)
         at oracle.jdevimpl.deploy.DynamicDeployer.deploy(DynamicDeployer.java:84)
         at oracle.jdevimpl.deploy.BatchDeployer.deploy(BatchDeployer.java:46)
         at oracle.jdevimpl.deploy.DynamicDeployer.deploy(DynamicDeployer.java:84)
         at oracle.jdevimpl.deploy.J2eeProfileDt$CleanupTransientProfilesDeployer.deploy(J2eeProfileDt.java:71)
         at oracle.jdevimpl.deploy.FinalDeployer.deploy(FinalDeployer.java:48)
         at oracle.jdevimpl.deploy.AsyncDeployer$1.runImpl(AsyncDeployer.java:67)
         at oracle.jdevimpl.deploy.AsyncDeployer$1.run(AsyncDeployer.java:53)
    java.lang.ClassCastException: oracle.jbo.dt.jdevx.deploy.JbdProfileNode
         at oracle.jdevimpl.deploy.ProfileDeployer.profileDepExists(ProfileDeployer.java:95)
         at oracle.jdevimpl.deploy.DependencyGraph.calcDeploymentOrder(DependencyGraph.java:144)
         at oracle.jdevimpl.deploy.DependencyGraph.calcDeploymentOrder(DependencyGraph.java:167)
         at oracle.jdevimpl.deploy.DependencyGraph.deploy(DependencyGraph.java:72)
         at oracle.jdevimpl.deploy.ModulePackager.deploy(ModulePackager.java:44)
         at oracle.jdevimpl.deploy.DynamicDeployer.deploy(DynamicDeployer.java:84)
         at oracle.jdevimpl.deploy.DynamicDeployer.deploy(DynamicDeployer.java:84)
         at oracle.jdevimpl.deploy.BatchDeployer.deploy(BatchDeployer.java:46)
         at oracle.jdevimpl.deploy.DynamicDeployer.deploy(DynamicDeployer.java:84)
         at oracle.jdevimpl.deploy.BatchDeployer.deploy(BatchDeployer.java:46)
         at oracle.jdevimpl.deploy.DynamicDeployer.deploy(DynamicDeployer.java:84)
         at oracle.jdevimpl.deploy.J2eeProfileDt$CleanupTransientProfilesDeployer.deploy(J2eeProfileDt.java:71)
         at oracle.jdevimpl.deploy.FinalDeployer.deploy(FinalDeployer.java:48)
         at oracle.jdevimpl.deploy.AsyncDeployer$1.runImpl(AsyncDeployer.java:67)
         at oracle.jdevimpl.deploy.AsyncDeployer$1.run(AsyncDeployer.java:53)
    java.lang.ClassCastException: oracle.jbo.dt.jdevx.deploy.JbdProfileNode
         at oracle.jdevimpl.deploy.ProfileDeployer.profileDepExists(ProfileDeployer.java:95)
         at oracle.jdevimpl.deploy.DependencyGraph.calcDeploymentOrder(DependencyGraph.java:144)
         at oracle.jdevimpl.deploy.DependencyGraph.calcDeploymentOrder(DependencyGraph.java:167)
         at oracle.jdevimpl.deploy.DependencyGraph.deploy(DependencyGraph.java:72)
         at oracle.jdevimpl.deploy.ModulePackager.deploy(ModulePackager.java:44)
         at oracle.jdevimpl.deploy.DynamicDeployer.deploy(DynamicDeployer.java:84)
         at oracle.jdevimpl.deploy.DynamicDeployer.deploy(DynamicDeployer.java:84)
         at oracle.jdevimpl.deploy.BatchDeployer.deploy(BatchDeployer.java:46)
         at oracle.jdevimpl.deploy.DynamicDeployer.deploy(DynamicDeployer.java:84)
         at oracle.jdevimpl.deploy.BatchDeployer.deploy(BatchDeployer.java:46)
         at oracle.jdevimpl.deploy.DynamicDeployer.deploy(DynamicDeployer.java:84)
         at oracle.jdevimpl.deploy.J2eeProfileDt$CleanupTransientProfilesDeployer.deploy(J2eeProfileDt.java:71)
         at oracle.jdevimpl.deploy.FinalDeployer.deploy(FinalDeployer.java:48)
         at oracle.jdevimpl.deploy.AsyncDeployer$1.runImpl(AsyncDeployer.java:67)
         at oracle.jdevimpl.deploy.AsyncDeployer$1.run(AsyncDeployer.java:53)
    java.lang.ClassCastException: oracle.jbo.dt.jdevx.deploy.JbdProfileNode
         at oracle.jdevimpl.deploy.ProfileDeployer.profileDepExists(ProfileDeployer.java:95)
         at oracle.jdevimpl.deploy.DependencyGraph.calcDeploymentOrder(DependencyGraph.java:144)
         at oracle.jdevimpl.deploy.DependencyGraph.calcDeploymentOrder(DependencyGraph.java:167)
         at oracle.jdevimpl.deploy.DependencyGraph.deploy(DependencyGraph.java:72)
         at oracle.jdevimpl.deploy.ModulePackager.deploy(ModulePackager.java:44)
         at oracle.jdevimpl.deploy.DynamicDeployer.deploy(DynamicDeployer.java:84)
         at oracle.jdevimpl.deploy.DynamicDeployer.deploy(DynamicDeployer.java:84)
         at oracle.jdevimpl.deploy.BatchDeployer.deploy(BatchDeployer.java:46)
         at oracle.jdevimpl.deploy.DynamicDeployer.deploy(DynamicDeployer.java:84)
         at oracle.jdevimpl.deploy.BatchDeployer.deploy(BatchDeployer.java:46)
         at oracle.jdevimpl.deploy.DynamicDeployer.deploy(DynamicDeployer.java:84)
         at oracle.jdevimpl.deploy.J2eeProfileDt$CleanupTransientProfilesDeployer.deploy(J2eeProfileDt.java:71)
         at oracle.jdevimpl.deploy.FinalDeployer.deploy(FinalDeployer.java:48)
         at oracle.jdevimpl.deploy.AsyncDeployer$1.runImpl(AsyncDeployer.java:67)
         at oracle.jdevimpl.deploy.AsyncDeployer$1.run(AsyncDeployer.java:53)
    java.lang.ClassCastException: oracle.jbo.dt.jdevx.deploy.JbdProfileNode
         at oracle.jdevimpl.deploy.ProfileDeployer.profileDepExists(ProfileDeployer.java:95)
         at oracle.jdevimpl.deploy.DependencyGraph.calcDeploymentOrder(DependencyGraph.java:144)
         at oracle.jdevimpl.deploy.DependencyGraph.calcDeploymentOrder(DependencyGraph.java:167)
         at oracle.jdevimpl.deploy.DependencyGraph.deploy(DependencyGraph.java:72)
         at oracle.jdevimpl.deploy.ModulePackager.deploy(ModulePackager.java:44)
         at oracle.jdevimpl.deploy.DynamicDeployer.deploy(DynamicDeployer.java:84)
         at oracle.jdevimpl.deploy.DynamicDeployer.deploy(DynamicDeployer.java:84)
         at oracle.jdevimpl.deploy.BatchDeployer.deploy(BatchDeployer.java:46)
         at oracle.jdevimpl.deploy.DynamicDeployer.deploy(DynamicDeployer.java:84)
         at oracle.jdevimpl.deploy.BatchDeployer.deploy(BatchDeployer.java:46)
         at oracle.jdevimpl.deploy.DynamicDeployer.deploy(DynamicDeployer.java:84)
         at oracle.jdevimpl.deploy.J2eeProfileDt$CleanupTransientProfilesDeployer.deploy(J2eeProfileDt.java:71)
         at oracle.jdevimpl.deploy.FinalDeployer.deploy(FinalDeployer.java:48)
         at oracle.jdevimpl.deploy.AsyncDeployer$1.runImpl(AsyncDeployer.java:67)
         at oracle.jdevimpl.deploy.AsyncDeployer$1.run(AsyncDeployer.java:53)
    Warning: Exceptions occurred while traversing inter-profile dependencies.
    Warning: Attempting to continue with deployment anyway...Running dependency analysis...
    Wrote JAR file to C:\jdevstudio10133\jdev\mywork\Template\Model\deploy\ModelCSMT.jar
    Running dependency analysis...
    Wrote JAR file to C:\jdevstudio10133\jdev\mywork\Template\Model\deploy\ModelCSCommon.jar
    Wrote WAR file to C:\jdevstudio10133\jdev\mywork\Template\ViewController\deploy\webapp1.war
    Wrote EAR file to C:\jdevstudio10133\jdev\mywork\Template\Deployment\deploy\tuhra.ear
    Invoking DCM servlet client...
    C:\jdevstudio10133\jdk\jre\bin\javaw.exe -Djava.protocol.handler.pkgs=HTTPClient -jar C:\jdevstudio10133\jdev\lib\oc4j_remote_deploy.jar http://192.9.200.210:1156/Oc4jDcmServletAPI/ ias_admin **** redeploy /u01/orainfra/OraHome_1 C:\jdevstudio10133\jdev\mywork\Template\Deployment\deploy\tuhra.ear tuhra
    Initializing log
    Servlet interface for OC4J DCM commands
    Command timeout defined at 600 seconds
    Executing DCM command...
    Executing command redeploy /u01/orainfra/OraHome_1 C:\jdevstudio10133\jdev\mywork\Template\Deployment\deploy\tuhra.ear tuhra UNDEFINED
    Command = REDEPLOY
    Reading application's ear file
    Ear file was successfully read
    Opening connection to Oc4jDcmServlet
    Setting userName to ias_admin
    Sending command to DCM servlet
    HTTP response code = 200, HTTP response msg = OK
    Command was successfully sent to Oc4jDcmServlet
    Receiving session id from servlet to check command status
    Session id = 7f000001484879f6463319b43259b55be0a9cddb683
    Please, wait for command to finish...
    Checking command status...
    Setting userName to ias_admin
    Setting Cookie to JSESSIONID=7f000001484879f6463319b43259b55be0a9cddb683
    Checking command status
    HTTP response code = 200, HTTP response msg = OK
    Command has finished
    Receiving command exit value
    Receiving command output
    **** No output was received from command
    Closing connection to Oc4jDcmServlet
    #### DCM command did not complete successfully (-1)
    #### HTTP return code was -1
    Exit status of DCM servlet client: -1
    Elapsed time for deployment: 26 seconds
    #### Deployment incomplete. #### Dec 15, 2007 10:48:53 AM
    ---- Deployment started. ---- Dec 15, 2007 12:40:00 PM
    Target platform is Oracle Application Server 10g 10.1.2 (Unix) (applicatonserverconnection10g2).
    java.lang.ClassCastException: oracle.jbo.dt.jdevx.deploy.JbdProfileNode
         at oracle.jdevimpl.deploy.ProfileDeployer.profileDepExists(ProfileDeployer.java:95)
         at oracle.jdevimpl.deploy.DependencyGraph.calcDeploymentOrder(DependencyGraph.java:144)
         at oracle.jdevimpl.deploy.DependencyGraph.calcDeploymentOrder(DependencyGraph.java:167)
         at oracle.jdevimpl.deploy.DependencyGraph.deploy(DependencyGraph.java:72)
         at oracle.jdevimpl.deploy.ModulePackager.deploy(ModulePackager.java:44)
         at oracle.jdevimpl.deploy.DynamicDeployer.deploy(DynamicDeployer.java:84)
         at oracle.jdevimpl.deploy.DynamicDeployer.deploy(DynamicDeployer.java:84)
         at oracle.jdevimpl.deploy.BatchDeployer.deploy(BatchDeployer.java:46)
         at oracle.jdevimpl.deploy.DynamicDeployer.deploy(DynamicDeployer.java:84)
         at oracle.jdevimpl.deploy.BatchDeployer.deploy(BatchDeployer.java:46)
         at oracle.jdevimpl.deploy.DynamicDeployer.deploy(DynamicDeployer.java:84)
         at oracle.jdevimpl.deploy.J2eeProfileDt$CleanupTransientProfilesDeployer.deploy(J2eeProfileDt.java:71)
         at oracle.jdevimpl.deploy.FinalDeployer.deploy(FinalDeployer.java:48)
         at oracle.jdevimpl.deploy.AsyncDeployer$1.runImpl(AsyncDeployer.java:67)
         at oracle.jdevimpl.deploy.AsyncDeployer$1.run(AsyncDeployer.java:53)
    java.lang.ClassCastException: oracle.jbo.dt.jdevx.deploy.JbdProfileNode
         at oracle.jdevimpl.deploy.ProfileDeployer.profileDepExists(ProfileDeployer.java:95)
         at oracle.jdevimpl.deploy.DependencyGraph.calcDeploymentOrder(DependencyGraph.java:144)
         at oracle.jdevimpl.deploy.DependencyGraph.calcDeploymentOrder(DependencyGraph.java:167)
         at oracle.jdevimpl.deploy.DependencyGraph.deploy(DependencyGraph.java:72)
         at oracle.jdevimpl.deploy.ModulePackager.deploy(ModulePackager.java:44)
         at oracle.jdevimpl.deploy.DynamicDeployer.deploy(DynamicDeployer.java:84)
         at oracle.jdevimpl.deploy.DynamicDeployer.deploy(DynamicDeployer.java:84)
         at oracle.jdevimpl.deploy.BatchDeployer.deploy(BatchDeployer.java:46)
         at oracle.jdevimpl.deploy.DynamicDeployer.deploy(DynamicDeployer.java:84)
         at oracle.jdevimpl.deploy.BatchDeployer.deploy(BatchDeployer.java:46)
         at oracle.jdevimpl.deploy.DynamicDeployer.deploy(DynamicDeployer.java:84)
         at oracle.jdevimpl.deploy.J2eeProfileDt$CleanupTransientProfilesDeployer.deploy(J2eeProfileDt.java:71)
         at oracle.jdevimpl.deploy.FinalDeployer.deploy(FinalDeployer.java:48)
         at oracle.jdevimpl.deploy.AsyncDeployer$1.runImpl(AsyncDeployer.java:67)
         at oracle.jdevimpl.deploy.AsyncDeployer$1.run(AsyncDeployer.java:53)
    java.lang.ClassCastException: oracle.jbo.dt.jdevx.deploy.JbdProfileNode
         at oracle.jdevimpl.deploy.ProfileDeployer.profileDepExists(ProfileDeployer.java:95)
         at oracle.jdevimpl.deploy.DependencyGraph.calcDeploymentOrder(DependencyGraph.java:144)
         at oracle.jdevimpl.deploy.DependencyGraph.calcDeploymentOrder(DependencyGraph.java:167)
         at oracle.jdevimpl.deploy.DependencyGraph.deploy(DependencyGraph.java:72)
         at oracle.jdevimpl.deploy.ModulePackager.deploy(ModulePackager.java:44)
         at oracle.jdevimpl.deploy.DynamicDeployer.deploy(DynamicDeployer.java:84)
         at oracle.jdevimpl.deploy.DynamicDeployer.deploy(DynamicDeployer.java:84)
         at oracle.jdevimpl.deploy.BatchDeployer.deploy(BatchDeployer.java:46)
         at oracle.jdevimpl.deploy.DynamicDeployer.deploy(DynamicDeployer.java:84)
         at oracle.jdevimpl.deploy.BatchDeployer.deploy(BatchDeployer.java:46)
         at oracle.jdevimpl.deploy.DynamicDeployer.deploy(DynamicDeployer.java:84)
         at oracle.jdevimpl.deploy.J2eeProfileDt$CleanupTransientProfilesDeployer.deploy(J2eeProfileDt.java:71)
         at oracle.jdevimpl.deploy.FinalDeployer.deploy(FinalDeployer.java:48)
         at oracle.jdevimpl.deploy.AsyncDeployer$1.runImpl(AsyncDeployer.java:67)
         at oracle.jdevimpl.deploy.AsyncDeployer$1.run(AsyncDeployer.java:53)
    java.lang.ClassCastException: oracle.jbo.dt.jdevx.deploy.JbdProfileNode
         at oracle.jdevimpl.deploy.ProfileDeployer.profileDepExists(ProfileDeployer.java:95)
         at oracle.jdevimpl.deploy.DependencyGraph.calcDeploymentOrder(DependencyGraph.java:144)
         at oracle.jdevimpl.deploy.DependencyGraph.calcDeploymentOrder(DependencyGraph.java:167)
         at oracle.jdevimpl.deploy.DependencyGraph.deploy(DependencyGraph.java:72)
         at oracle.jdevimpl.deploy.ModulePackager.deploy(ModulePackager.java:44)
         at oracle.jdevimpl.deploy.DynamicDeployer.deploy(DynamicDeployer.java:84)
         at oracle.jdevimpl.deploy.DynamicDeployer.deploy(DynamicDeployer.java:84)
         at oracle.jdevimpl.deploy.BatchDeployer.deploy(BatchDeployer.java:46)
         at oracle.jdevimpl.deploy.DynamicDeployer.deploy(DynamicDeployer.java:84)
         at oracle.jdevimpl.deploy.BatchDeployer.deploy(BatchDeployer.java:46)
         at oracle.jdevimpl.deploy.DynamicDeployer.deploy(DynamicDeployer.java:84)
         at oracle.jdevimpl.deploy.J2eeProfileDt$CleanupTransientProfilesDeployer.deploy(J2eeProfileDt.java:71)
         at oracle.jdevimpl.deploy.FinalDeployer.deploy(FinalDeployer.java:48)
         at oracle.jdevimpl.deploy.AsyncDeployer$1.runImpl(AsyncDeployer.java:67)
         at oracle.jdevimpl.deploy.AsyncDeployer$1.run(AsyncDeployer.java:53)
    java.lang.ClassCastException: oracle.jbo.dt.jdevx.deploy.JbdProfileNode
         at oracle.jdevimpl.deploy.ProfileDeployer.profileDepExists(ProfileDeployer.java:95)
         at oracle.jdevimpl.deploy.DependencyGraph.calcDeploymentOrder(DependencyGraph.java:144)
         at oracle.jdevimpl.deploy.DependencyGraph.calcDeploymentOrder(DependencyGraph.java:167)
         at oracle.jdevimpl.deploy.DependencyGraph.deploy(DependencyGraph.java:72)
         at oracle.jdevimpl.deploy.ModulePackager.deploy(ModulePackager.java:44)
         at oracle.jdevimpl.deploy.DynamicDeployer.deploy(DynamicDeployer.java:84)
         at oracle.jdevimpl.deploy.DynamicDeployer.deploy(DynamicDeployer.java:84)
         at oracle.jdevimpl.deploy.BatchDeployer.deploy(BatchDeployer.java:46)
         at oracle.jdevimpl.deploy.DynamicDeployer.deploy(DynamicDeployer.java:84)
         at oracle.jdevimpl.deploy.BatchDeployer.deploy(BatchDeployer.java:46)
         at oracle.jdevimpl.deploy.DynamicDeployer.deploy(DynamicDeployer.java:84)
         at oracle.jdevimpl.deploy.J2eeProfileDt$CleanupTransientProfilesDeployer.deploy(J2eeProfileDt.java:71)
         at oracle.jdevimpl.deploy.FinalDeployer.deploy(FinalDeployer.java:48)
         at oracle.jdevimpl.deploy.AsyncDeployer$1.runImpl(AsyncDeployer.java:67)
         at oracle.jdevimpl.deploy.AsyncDeployer$1.run(AsyncDeployer.java:53)
    java.lang.ClassCastException: oracle.jbo.dt.jdevx.deploy.JbdProfileNode
         at oracle.jdevimpl.deploy.ProfileDeployer.profileDepExists(ProfileDeployer.java:95)
         at oracle.jdevimpl.deploy.DependencyGraph.calcDeploymentOrder(DependencyGraph.java:144)
         at oracle.jdevimpl.deploy.DependencyGraph.calcDeploymentOrder(DependencyGraph.java:167)
         at oracle.jdevimpl.deploy.DependencyGraph.deploy(DependencyGraph.java:72)
         at oracle.jdevimpl.deploy.ModulePackager.deploy(ModulePackager.java:44)
         at oracle.jdevimpl.deploy.DynamicDeployer.deploy(DynamicDeployer.java:84)
         at oracle.jdevimpl.deploy.DynamicDeployer.deploy(DynamicDeployer.java:84)
         at oracle.jdevimpl.deploy.BatchDeployer.deploy(BatchDeployer.java:46)
         at oracle.jdevimpl.deploy.DynamicDeployer.deploy(DynamicDeployer.java:84)
         at oracle.jdevimpl.deploy.BatchDeployer.deploy(BatchDeployer.java:46)
         at oracle.jdevimpl.deploy.DynamicDeployer.deploy(DynamicDeployer.java:84)
         at oracle.jdevimpl.deploy.J2eeProfileDt$CleanupTransientProfilesDeployer.deploy(J2eeProfileDt.java:71)
         at oracle.jdevimpl.deploy.FinalDeployer.deploy(FinalDeployer.java:48)
         at oracle.jdevimpl.deploy.AsyncDeployer$1.runImpl(AsyncDeployer.java:67)
         at oracle.jdevimpl.deploy.AsyncDeployer$1.run(AsyncDeployer.java:53)
    java.lang.ClassCastException: oracle.jbo.dt.jdevx.deploy.JbdProfileNode
         at oracle.jdevimpl.deploy.ProfileDeployer.profileDepExists(ProfileDeployer.java:95)
         at oracle.jdevimpl.deploy.DependencyGraph.calcDeploymentOrder(DependencyGraph.java:144)
         at oracle.jdevimpl.deploy.DependencyGraph.calcDeploymentOrder(DependencyGraph.java:167)
         at oracle.jdevimpl.deploy.DependencyGraph.deploy(DependencyGraph.java:72)
         at oracle.jdevimpl.deploy.ModulePackager.deploy(ModulePackager.java:44)
         at oracle.jdevimpl.deploy.DynamicDeployer.deploy(DynamicDeployer.java:84)
         at oracle.jdevimpl.deploy.DynamicDeployer.deploy(DynamicDeployer.java:84)
         at oracle.jdevimpl.deploy.BatchDeployer.deploy(BatchDeployer.java:46)
         at oracle.jdevimpl.deploy.DynamicDeployer.deploy(DynamicDeployer.java:84)
         at oracle.jdevimpl.deploy.BatchDeployer.deploy(BatchDeployer.java:46)
         at oracle.jdevimpl.deploy.DynamicDeployer.deploy(DynamicDeployer.java:84)
         at oracle.jdevimpl.deploy.J2eeProfileDt$CleanupTransientProfilesDeployer.deploy(J2eeProfileDt.java:71)
         at oracle.jdevimpl.deploy.FinalDeployer.deploy(FinalDeployer.java:48)
         at oracle.jdevimpl.deploy.AsyncDeployer$1.runImpl(AsyncDeployer.java:67)
         at oracle.jdevimpl.deploy.AsyncDeployer$1.run(AsyncDeployer.java:53)
    java.lang.ClassCastException: oracle.jbo.dt.jdevx.deploy.JbdProfileNode
         at oracle.jdevimpl.deploy.ProfileDeployer.profileDepExists(ProfileDeployer.java:95)
         at oracle.jdevimpl.deploy.DependencyGraph.calcDeploymentOrder(DependencyGraph.java:144)
         at oracle.jdevimpl.deploy.DependencyGraph.calcDeploymentOrder(DependencyGraph.java:167)
         at oracle.jdevimpl.deploy.DependencyGraph.deploy(DependencyGraph.java:72)
         at oracle.jdevimpl.deploy.ModulePackager.deploy(ModulePackager.java:44)
         at oracle.jdevimpl.deploy.DynamicDeployer.deploy(DynamicDeployer.java:84)
         at oracle.jdevimpl.deploy.DynamicDeployer.deploy(DynamicDeployer.java:84)
         at oracle.jdevimpl.deploy.BatchDeployer.deploy(BatchDeployer.java:46)
         at oracle.jdevimpl.deploy.DynamicDeployer.deploy(DynamicDeployer.java:84)
         at oracle.jdevimpl.deploy.BatchDeployer.deploy(BatchDeployer.java:46)
         at oracle.jdevimpl.deploy.DynamicDeployer.deploy(DynamicDeployer.java:84)
         at oracle.jdevimpl.deploy.J2eeProfileDt$CleanupTransientProfilesDeployer.deploy(J2eeProfileDt.java:71)
         at oracle.jdevimpl.deploy.FinalDeployer.deploy(FinalDeployer.java:48)
         at oracle.jdevimpl.deploy.AsyncDeployer$1.runImpl(AsyncDeployer.java:67)
         at oracle.jdevimpl.deploy.AsyncDeployer$1.run(AsyncDeployer.java:53)
    Warning: Exceptions occurred while traversing inter-profile dependencies.
    Warning: Attempting to continue with deployment anyway...Running dependency analysis...
    Wrote JAR file to C:\jdevstudio10133\jdev\mywork\Template\Model\deploy\ModelCSMT.jar
    Running dependency analysis...
    Wrote JAR file to C:\jdevstudio10133\jdev\mywork\Template\Model\deploy\ModelCSCommon.jar
    Wrote WAR file to C:\jdevstudio10133\jdev\mywork\Template\ViewController\deploy\webapp1.war
    Wrote EAR file to C:\jdevstudio10133\jdev\mywork\Template\Deployment\deploy\tuhra.ear
    Invoking DCM servlet client...
    C:\jdevstudio10133\jdk\jre\bin\javaw.exe -Djava.protocol.handler.pkgs=HTTPClient -jar C:\jdevstudio10133\jdev\lib\oc4j_remote_deploy.jar http://192.9.200.210:1156/Oc4jDcmServletAPI/ ias_admin **** redeploy /u01/orainfra/OraHome_1 C:\jdevstudio10133\jdev\mywork\Template\Deployment\deploy\tuhra.ear tuhra
    Initializing log
    Servlet interface for OC4J DCM commands
    Command timeout defined at 600 seconds
    Executing DCM command...
    Executing command redeploy /u01/orainfra/OraHome_1 C:\jdevstudio10133\jdev\mywork\Template\Deployment\deploy\tuhra.ear tuhra UNDEFINED
    Command = REDEPLOY
    Reading application's ear file
    Ear file was successfully read
    Opening connection to Oc4jDcmServlet
    Setting userName to ias_admin
    Sending command to DCM servlet
    HTTP response code = 200, HTTP response msg = OK
    Command was successfully sent to Oc4jDcmServlet
    Receiving session id from servlet to check command status
    Session id = 7f000001484b0d90663d19242ab81f9895bec47ff43
    Please, wait for command to finish...
    Checking command status...
    Setting userName to ias_admin
    Setting Cookie to JSESSIONID=7f000001484b0d90663d19242ab81f9895bec47ff43
    Checking command status
    HTTP response code = 200, HTTP response msg = OK
    Command has finished
    Receiving command exit value
    Receiving command output
    **** No output was received from command
    Closing connection to Oc4jDcmServlet
    #### DCM command did not complete successfully (-1)
    #### HTTP return code was -1
    Exit status of DCM servlet client: -1
    Elapsed time for deployment: 41 seconds
    #### Deployment incomplete. #### Dec 15, 2007 12:40:41 PM

    Hi Senthil,
    Even I faced the same problem while deploying in 10.1.3 i.e. Exceptions occurred while traversing inter-profile dependencies
    Please guide , if this issue is resolved.
    Sam
    [email protected]
    +91985450 91970

  • Error while deploying the ADF Mobile application to the Android Emulator.

    Hi,
    I'm getting an error when trying to deploying a basic helloworld ADF mobile application to my Android sdk emulator which is already running as below.
    I'm not able to make anything from this limited log. Can anyone have a look and help me with what could be wrong.
    Any kind of suggestions are most welcome.
    [06:09:30 PM] Print the version of this tool (1.7).
    [06:09:30 PM] dx --help
    [06:09:30 PM] Print this message.
    [06:09:30 PM] Command-line execution failed (Return code: 1)
    [06:09:30 PM] Command-line executed: "D:\1_DevCore\android_sdk\adt-bundle-windows-x86_64-20130219\sdk\platform-tools\dx.bat" dex debug keep-classes output="D:\jdevuserhome\111230\ADFMobile\MyMobileApps\ MyMobileApp01\ MyMobileApp01\deploy\ANDROID_MOBILE_NATIVE_archive1\classes.dex" D:\jdevuserhome\111230\ADFMobile\MyMobileApps\ MyMobileApp01\ MyMobileApp01\deploy\ANDROID_MOBILE_NATIVE_archive1\classes D:\jdevuserhome\111230\ADFMobile\MyMobileApps\ MyMobileApp01\ MyMobileApp01\deploy\ANDROID_MOBILE_NATIVE_archive1\framework\build\jar\AND_ksoap.jar D:\jdevuserhome\111230\ADFMobile\MyMobileApps\ MyMobileApp01\ MyMobileApp01\deploy\ANDROID_MOBILE_NATIVE_archive1\framework\build\jar\Container.jar D:\jdevuserhome\111230\ADFMobile\MyMobileApps\ MyMobileApp01\ MyMobileApp01\deploy\ANDROID_MOBILE_NATIVE_archive1\framework\build\jar\IDMMobileSDK.jar D:\jdevuserhome\111230\ADFMobile\MyMobileApps\ MyMobileApp01\ MyMobileApp01\deploy\ANDROID_MOBILE_NATIVE_archive1\framework\build\jar\logging_dalvik_release.jar D:\jdevuserhome\111230\ADFMobile\MyMobileApps\ MyMobileApp01\ MyMobileApp01\deploy\ANDROID_MOBILE_NATIVE_archive1\framework\build\jar\phonegap.jar D:\jdevuserhome\111230\ADFMobile\MyMobileApps\ MyMobileApp01\ MyMobileApp01\deploy\ANDROID_MOBILE_NATIVE_archive1\framework\build\jar\vmchannel_dalvik_release.jar
    [06:09:30 PM] Shutting down Android Debug Bridge server...
    [06:09:30 PM] Deployment cancelled.
    [06:09:30 PM] ---- Deployment incomplete ----.
    [06:09:30 PM] Deployment failed due to one or more errors returned by 'D:\1_DevCore\android_sdk\adt-bundle-windows-x86_64-20130219\sdk\platform-tools\dx.bat'. The following is a summary of the returned error(s):
    Command-line execution failed (Return code: 1)
    Thanks,
    Bhasker

    I'm not able to make anything from this limited log.
    For Android emulator logs run the following command.
    adb logcat
    logcat | Android Developers

  • Issues in ADF mobile application using Trinidad components

    I am facing the following issues when developing a mobile application using trinidad components :
    Jdev version : 11.1.1.6
    1) I dont see a date component using trinidad components? The dev guide http://docs.oracle.com/cd/E23943_01/web.1111/e10140/sup_comp.htm says that tr:inputDate is supported but when i try to drag a data field to jsf page i don't see an option for Trinidad date component. so i went ahead and created an af:inputDate in the page. But the date selection dialog doesnt open up.
    2) i tried using 'Rendered' for conditional rendering of a component but it does not work or refresh immediately, the same problem is solved in my adf application using visible property but looks like there is no 'Visible' property for Trinidad components. any work around?
    3) i wanted to have a 'create insert' call in my task flow before launching the page. Since Task flows are not supported in ADF mobile application, i have added 'ADF Faces' also into my project and created task flow and jsff page as i do for a adf web application the only diff being the usage of trinidad components in my jsff page. is this fine? Also can we mix trinidad components and adf components into the same page?
    4) I have a tr:inputText on a clob input text field which i am updating in ADF page using a clob converter class. Same thing i cannot do for trinidad text as it is resulting in null pointer exception. any solution to update clob fields into database which uses tr:inputText compents.
    Help to solve any one of the above issues (by quoting serial no) would be highly appreciated. Thanks.

    >
    4) I have a tr:inputText on a clob input text field which i am updating in ADF page using a clob converter class. Same thing i cannot do for trinidad text as it is resulting in null pointer exception. any solution to update clob fields into database which uses tr:inputText compents.
    wht is the stack trace.. when is it giving null pointer exception.. explain
    >
    Below is the code for an inputText component based on a CLOB Field.
    <tr:inputText value="#{bindings.ObsComments.inputValue}"
                        label="#{bindings.ObsComments.hints.label}"
                        required="#{bindings.ObsComments.hints.mandatory}"
                        columns="#{bindings.ObsComments.hints.displayWidth}"
                        maximumLength="#{bindings.ObsComments.hints.precision}"
                        id="it4" rows="4" binding="#{ObsMobileBean.obsComments}"
                        showRequired="#{bindings.WoNeeded.attributeValue eq 'Y'}"
                        partialTriggers="sbc1" converter="ClobConverter">
            <f:validator binding="#{bindings.ObsComments.validator}"/>
          </tr:inputText>When i try to render the page it self i face this error initially.
    >
    java.lang.NullPointerException
         at sfi.apps.sso.mobileUi.util.ClobConverter.getAsString(ClobConverter.java:41)
         at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.ValueRenderer.getConvertedString(ValueRenderer.java:63)
         at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.EditableValueRenderer.getConvertedString(EditableValueRenderer.java:163)
         at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.SimpleInputTextRenderer.renderContent(SimpleInputTextRenderer.java:364)
         at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.SimpleInputTextRenderer.encodeAllAsElement(SimpleInputTextRenderer.java:121)
         at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.FormElementRenderer.encodeAll(FormElementRenderer.java:109)
         at org.apache.myfaces.trinidad.render.CoreRenderer.delegateRenderer(CoreRenderer.java:435)
         at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.InputLabelAndMessageRenderer.renderFieldCellContents(InputLabelAndMessageRenderer.java:146)
         at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.LabelAndMessageRenderer._renderFieldCell(LabelAndMessageRenderer.java:492)
         at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.LabelAndMessageRenderer.encodeAll(LabelAndMessageRenderer.java:359)
         at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.InputLabelAndMessageRenderer.encodeAll(InputLabelAndMessageRenderer.java:124)
         at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:341)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:767)
         at javax.faces.component.UIComponent.encodeAll(UIComponent.java:937)
         at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:405)
         at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.PanelFormLayoutRenderer._encodeFormItem(PanelFormLayoutRenderer.java:911)
         at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.PanelFormLayoutRenderer.access$100(PanelFormLayoutRenderer.java:48)
         at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.PanelFormLayoutRenderer$FormColumnEncoder.processComponent(PanelFormLayoutRenderer.java:1419)
         at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.PanelFormLayoutRenderer$FormColumnEncoder.processComponent(PanelFormLayoutRenderer.java:1338)
         at org.apache.myfaces.trinidad.component.UIXComponent.processFlattenedChildren(UIXComponent.java:170)
         at org.apache.myfaces.trinidad.component.UIXComponent.processFlattenedChildren(UIXComponent.java:290)
         at org.apache.myfaces.trinidad.component.UIXComponent.encodeFlattenedChildren(UIXComponent.java:255)
         at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.PanelFormLayoutRenderer._encodeChildren(PanelFormLayoutRenderer.java:312)
         at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.PanelFormLayoutRenderer.encodeAll(PanelFormLayoutRenderer.java:137)
         at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:341)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:767)
         at javax.faces.component.UIComponent.encodeAll(UIComponent.java:937)
         at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:405)
         at org.apache.myfaces.trinidad.render.CoreRenderer.encodeAllChildren(CoreRenderer.java:421)
         at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.PanelHeaderRenderer.encodeAll(PanelHeaderRenderer.java:133)
         at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:341)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:767)
         at javax.faces.component.UIComponent.encodeAll(UIComponent.java:937)
         at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:405)
         at oracle.adf.view.rich.render.RichRenderer.encodeChild(RichRenderer.java:2633)
         at org.apache.myfaces.trinidad.render.CoreRenderer.encodeAllChildren(CoreRenderer.java:421)
         at oracle.adfinternal.view.faces.renderkit.rich.RegionRenderer._encodeChildren(RegionRenderer.java:278)
         at oracle.adfinternal.view.faces.renderkit.rich.RegionRenderer.encodeAll(RegionRenderer.java:201)
         at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1396)
         at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:341)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:767)
         at oracle.adf.view.rich.component.fragment.UIXRegion.encodeEnd(UIXRegion.java:300)
         at javax.faces.component.UIComponent.encodeAll(UIComponent.java:937)
         at javax.faces.component.UIComponent.encodeAll(UIComponent.java:933)
         at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:405)
         at org.apache.myfaces.trinidad.render.CoreRenderer.encodeAllChildren(CoreRenderer.java:421)
         at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.PanelPartialRootRenderer.renderContent(PanelPartialRootRenderer.java:69)
         at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.BodyRenderer.renderContent(BodyRenderer.java:142)
         at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.PanelPartialRootRenderer.encodeAll(PanelPartialRootRenderer.java:151)
         at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.BodyRenderer.encodeAll(BodyRenderer.java:78)
         at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:341)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:767)
         at javax.faces.component.UIComponent.encodeAll(UIComponent.java:937)
         at javax.faces.component.UIComponent.encodeAll(UIComponent.java:933)
         at javax.faces.component.UIComponent.encodeAll(UIComponent.java:933)
         at com.sun.faces.application.ViewHandlerImpl.doRenderView(ViewHandlerImpl.java:266)
         at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:197)
         at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:189)
         at org.apache.myfaces.trinidadinternal.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:193)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._renderResponse(LifecycleImpl.java:911)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:367)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:222)
         at javax.faces.webapp.FacesServlet.service(FacesServlet.java:266)
         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:205)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:106)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:446)
         at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:446)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:271)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:177)
         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:119)
         at java.security.AccessController.doPrivileged(Native Method)
         at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:315)
         at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:442)
         at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:103)
         at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:171)
         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:139)
         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)
    >
    Now if i remove the tag converter="ClobConverter" then the page renders fine but when i try to submit the values back into the database, then i got the error
    >
    Cannot convert <entered text> of type class java.lang.String to class oracle.jbo.domain.ClobDomain
    >
    My clob converter class is registered in faces-config.xml file and the code for it is also pasted below for reference:
    import javax.faces.component.UIComponent;
    import javax.faces.context.FacesContext;
    import javax.faces.convert.Converter;
    import javax.faces.convert.ConverterException;
    import oracle.jbo.domain.ClobDomain;
    public class ClobConverter implements Converter {
        public ClobConverter() {
        public Object getAsObject(FacesContext context, UIComponent component,
                                  String value) {
            if (context == null || component == null) {
                throw new NullPointerException("FacesContext and UIComponent can not be null");
            if (value == null) {
                return null;
            try {
                return new ClobDomain(value);
            } catch (Exception ex) {
                final String message =
                    String.format("Unable to convert boolean value \"%s\" into a oracle.jbo.domain.Number",
                                  value);
                throw new ConverterException(message, ex);
        public String getAsString(FacesContext context, UIComponent component,
                                  Object value) {
            if (context == null || component == null) {
                throw new NullPointerException("FacesContext and UIComponent can not be null");
            return value.toString();
    }

  • Logging in ADF BC Applications.

    I am looking for logging implementation in ADF BC applications and I found oracle.adf.share.logging.ADFLogger as part of the ADF Model Runtime resources. Can we use this for logging in our Application development. What is the best way to implement logging in ADF BC applications (ADFLogger /commons-logging/log4j/java util logging)?
    Thanks in advance.

    I started using ADFLogger and added some log statements. When I ran my application in JDeveloper in Embeded OC4J server, these log statements are appearing in JDeveloper server log window. After I deployed this application to Oracle Application Server, these statements are not appearing in the application.log file and also not in any file. Am I missing any configuration setting? The log current level is INFO and I do have few INFO statements, SEVERE statements in my code. Thanks in advance.

  • Coding custom business methods in ADF BC Application Module ?

    Dear All,
    Where do i put my custom business methods in ADF BC Application Module ?
    Can anyone point me to a good tutorial which gives a good insight into developing ADF BC Applications ?
    Thanks,
    Raghavendra

    Hi,
    there will be a developer guide out soon. Its written by Steve Muench and provides an indepth walk-through ADF BC.
    To answer your question, custom code is written in Java files on the ApplicationModule, ViewObject and EntityObject level. If you go to the Editor of each of these components there is an option for you to create Impl.java and RowImpl.java files. The first is for generic business logic, the latter for row based logic
    Frank

  • Saving Captured picture from ADF Mobile Application into Remote Database

    Hi,
    I am developing adf mobile application by using Device Demo Application from ADF Mobile Samples.I had deployed this application into Android mobile and capturing picture.
    My Question is how can i save this captured pictured into Remote Database.
    Could any one help on this!!!
    Thanks in advance!!
    Regards
    Amar
    Edited by: 973755 on Nov 28, 2012 7:46 AM
    Edited by: 973755 on Nov 28, 2012 7:47 AM

    Hi Joe,
    Thanks for the reply!!
    As per your instructions i created two classes 1.GetConnection.java and 2.PictureBean.java
    in GetConnection.java i written following code
    package Picture;
    import java.sql.Connection;
    import java.sql.SQLException;
    import oracle.adfmf.framework.api.AdfmfJavaUtilities;
    public class GetConncetion {
    public GetConncetion() {
    super();
    protected static Connection conn = null;
    public static Connection getConnection() throws Exception {
    if (conn == null) {
    try {
    // create a database connection
    String Dir = AdfmfJavaUtilities.getDirectoryPathRoot(AdfmfJavaUtilities.ApplicationDirectory);
    String connStr = "jdbc:oracle:thin:@fusion.networks.com:1521:fusion"+Dir+"/DeviceDemo.db" ;
    conn = new SQLite.JDBCDataSource(connStr).getConnection();
    System.out.println("connection*******"+conn);
    } catch (SQLException e) {
    // if the error message is "out of memory",
    // it probably means no database file is found
    System.err.println(e.getMessage());
    return conn;
    and in PictureBean.java the following code i modified..
    package Picture;
    import java.sql.Connection;
    import java.sql.PreparedStatement;
    import java.sql.SQLException;
    import oracle.adf.model.datacontrols.device.DeviceManager;
    import oracle.jdbc.pool.OracleDataSource;
    public class PictureBean {
    public PictureBean() {
    super();
    String src;
    private int quality = 25;
    private int destination = DeviceManager.CAMERA_DESTINATIONTYPE_FILE_URI;
    private int source = DeviceManager.CAMERA_SOURCETYPE_PHOTOLIBRARY;
    private boolean allowEdit = false;
    private int encoding = DeviceManager.CAMERA_ENCODINGTYPE_JPEG;
    private int targetWidth = 0;
    private int targetHeight= 0;
    public void setQuality(int quality) {
    this.quality = quality;
    public int getQuality() {
    return quality;
    public void setDestination(int destination) {
    this.destination = destination;
    public int getDestination() {
    return destination;
    public void setSource(int source) {
    this.source = source;
    public int getSource() {
    return source;
    public void setAllowEdit(boolean allowEdit) {
    this.allowEdit = allowEdit;
    public boolean getAllowEdit() {
    return allowEdit;
    public boolean isAllowEdit() {
    return allowEdit;
    public void setEncoding(int encoding) {
    this.encoding = encoding;
    public int getEncoding() {
    return encoding;
    public void setTargetWidth(int targetWidth) {
    this.targetWidth = targetWidth;
    public int getTargetWidth() {
    return targetWidth;
    public void setTargetHeight(int targetHeight) {
    this.targetHeight = targetHeight;
    public int getTargetHeight() {
    return targetHeight;
    public String GetSource(String result) {
    String src = "";
    if( getDestination() == DeviceManager.CAMERA_DESTINATIONTYPE_DATA_URL ) {
    src = "data:image/gif;base64,";
    src = src + result;
    System.out.println("src value in GetSource is "+src);
    return src;
    public void setSource(String result) {
    PictureBean pb1=new PictureBean();
    String src = "data:image/gif;base64,";
    if( getDestination() == DeviceManager.CAMERA_DESTINATIONTYPE_DATA_URL ) {
    src = "data:image/gif;base64,";
    src = src + result;
    public String GetSource(){
    return src;
    public boolean savePicture() throws Exception {       
    boolean ret=false;
    PictureBean pb=new PictureBean();
    String pic= pb.GetSource();
    try{
    Connection conn=GetConncetion.getConnection();
    conn.setAutoCommit(false);
    String insertSQL ="INSERT INTO IMAGE(ID,PIC) VALUES(?,?)";
    PreparedStatement pStmt = conn.prepareStatement(insertSQL);
    pStmt.setInt(1, 1);
    pStmt.setString(2,pic);
    pStmt.execute();
    conn.commit();
    ret = true;
    }catch (SQLException e) {
    System.err.println(e.getMessage());
    } catch (Exception e) {
    System.err.println(e.getMessage());
    return ret;
    and i created one button in Result.amx page and in Action Listener i had given #{bindings.savePicture.execute} and deployed into Android mobile.But i am neither getting error nor getting save picture into database.
    while i run PictureBean.java class alone the following exception occurred.
    "E:\ADF R2\jdk160_24\bin\javaw.exe" -client -classpath "C:\JDeveloper\mywork\DeviceDemo\.adf;C:\JDeveloper\mywork\DeviceDemo\ViewController\classes;E:\OracleJdbc\ojdbc14_g.jar;E:\OracleJdbc\ojdbc14.jar;E:\OracleJdbc\ojdbc.jar;C:\Users\Amar\Downloads\ojdbc6_g.jar;C:\Users\Amar\Downloads\ojdbc6.jar;E:\ADF R2\oracle_common\modules\oracle.adf.view_11.1.1\adf-faces-databinding-rt.jar;E:\ADF R2\oracle_common\modules\oracle.adf.share_11.1.1\adf-share-support.jar;E:\ADF R2\oracle_common\modules\oracle.adf.share.ca_11.1.1\adf-share-ca.jar;E:\ADF R2\oracle_common\modules\oracle.adf.share.ca_11.1.1\adf-share-base.jar;E:\ADF R2\oracle_common\modules\oracle.adf.share_11.1.1\adflogginghandler.jar;E:\ADF R2\oracle_common\modules\oracle.idm_11.1.1\identitystore.jar;E:\ADF R2\oracle_common\modules\oracle.xdk_11.1.0\xmlparserv2.jar;E:\ADF R2\oracle_common\modules\oracle.adf.model_11.1.1\adfm.jar;E:\ADF R2\oracle_common\modules\groovy-all-1.6.3.jar;E:\ADF R2\oracle_common\modules\oracle.ldap_11.1.1\ojmisc.jar;E:\ADF R2\oracle_common\modules\oracle.adf.share_11.1.1\commons-el.jar;E:\ADF R2\oracle_common\modules\oracle.adf.share_11.1.1\jsp-el-api.jar;E:\ADF R2\oracle_common\modules\oracle.adf.share_11.1.1\oracle-el.jar;E:\ADF R2\oracle_common\modules\oracle.xmlef_11.1.1\xmlef.jar;E:\ADF R2\oracle_common\modules\oracle.bali.share_11.1.1\share.jar;E:\ADF R2\modules\com.bea.core.apache.xercesImpl_2.8.1.jar;E:\ADF R2\modules\javax.activation_1.1.0.0_1-1.jar;E:\ADF R2\modules\javax.mail_1.1.0.0_1-4-1.jar;E:\ADF R2\modules\glassfish.jaxb_1.0.0.0_2-1-12.jar;E:\ADF R2\modules\javax.xml.bind_2.1.1.jar;E:\ADF R2\oracle_common\modules\oracle.adf.model_11.1.1\adftransactionsdt.jar;E:\ADF R2\oracle_common\modules\oracle.adf.view_11.1.1\adf-dt-at-rt.jar;E:\ADF R2\oracle_common\modules\oracle.adf.model_11.1.1\adfdt_common.jar;E:\ADF R2\oracle_common\modules\oracle.adf.model_11.1.1\adflibrary.jar;E:\ADF R2\oracle_common\modules\oracle.adf.model_11.1.1\db-ca.jar;E:\ADF R2\oracle_common\modules\oracle.adf.model_11.1.1\jdev-cm.jar;E:\ADF R2\oracle_common\modules\oracle.adf.security_11.1.1\adf-share-security.jar;E:\ADF R2\oracle_common\modules\oracle.adf.security_11.1.1\adf-controller-security.jar;E:\ADF R2\oracle_common\modules\oracle.adf.share_11.1.1\adfsharembean.jar;E:\ADF R2\oracle_common\modules\oracle.jmx_11.1.1\jmxframework.jar;E:\ADF R2\oracle_common\modules\oracle.jmx_11.1.1\jmxspi.jar;E:\ADF R2\oracle_common\modules\oracle.adf.model_11.1.1\bc4j-mbeans.jar;E:\ADF R2\oracle_common\modules\oracle.javatools_11.1.1\resourcebundle.jar;E:\ADF R2\oracle_common\modules\oracle.ldap_11.1.1\ldapjclnt11.jar;E:\ADF R2\oracle_common\modules\oracle.jps_11.1.1\jps-api.jar;E:\ADF R2\oracle_common\modules\oracle.jps_11.1.1\jps-common.jar;E:\ADF R2\oracle_common\modules\oracle.jps_11.1.1\jps-ee.jar;E:\ADF R2\oracle_common\modules\oracle.jps_11.1.1\jps-internal.jar;E:\ADF R2\oracle_common\modules\oracle.jps_11.1.1\jps-unsupported-api.jar;E:\ADF R2\oracle_common\modules\oracle.jps_11.1.1\jps-manifest.jar;E:\ADF R2\oracle_common\modules\oracle.jps_11.1.1\jacc-spi.jar;E:\ADF R2\oracle_common\modules\oracle.pki_11.1.1\oraclepki.jar;E:\ADF R2\oracle_common\modules\oracle.osdt_11.1.1\osdt_core.jar;E:\ADF R2\oracle_common\modules\oracle.osdt_11.1.1\osdt_cert.jar;E:\ADF R2\oracle_common\modules\oracle.osdt_11.1.1\osdt_xmlsec.jar;E:\ADF R2\oracle_common\modules\oracle.osdt_11.1.1\osdt_ws_sx.jar;E:\ADF R2\oracle_common\modules\oracle.iau_11.1.1\fmw_audit.jar;E:\ADF R2\modules\javax.security.jacc_1.0.0.0_1-1.jar;E:\ADF R2\oracle_common\modules\oracle.mds_11.1.1\mdsrt.jar;E:\ADF R2\oracle_common\modules\oracle.mds_11.1.1\oramds.jar;E:\ADF R2\modules\javax.servlet_1.0.0.0_2-5.jar;E:\ADF R2\modules\javax.jsp_1.2.0.0_2-1.jar;E:\ADF R2\jdeveloper\ide\macros\..\..\..\oracle_common\modules\oracle.jdbc_11.1.1\ojdbc6dms.jar;E:\ADF R2\oracle_common\jlib\commons-cli-1.0.jar;E:\ADF R2\oracle_common\modules\oracle.dms_11.1.1\dms.jar;E:\ADF R2\oracle_common\modules\oracle.xdk_11.1.0\xml.jar;E:\ADF R2\oracle_common\modules\oracle.javacache_11.1.1\cache.jar;E:\ADF R2\oracle_common\modules\oracle.ucp_11.1.0.jar;E:\ADF R2\oracle_common\modules\oracle.odl_11.1.1\ojdl.jar;E:\ADF R2\oracle_common\modules\oracle.javatools_11.1.1\javatools-nodeps.jar;E:\ADF R2\modules\javax.management_1.2.1.jar;E:\ADF R2\modules\javax.management.j2ee_1.0.jar;E:\ADF R2\jdeveloper\ide\macros\..\..\..\oracle_common\modules\oracle.nlsrtl_11.1.0\orai18n.jar;C:\Users\Amar\Downloads\commons-codec-1.7-bin.zip;C:\Users\Amar\Downloads\commons-codec-1.7-src.zip;E:\ADF R2\oracle_common\modules\oracle.adf.model_11.1.1\dvt-databindings-mds.jar;E:\ADF R2\oracle_common\modules\oracle.adf.view_11.1.1\dvt-databindings.jar;E:\ADF R2\oracle_common\modules\oracle.adf.view_11.1.1\dvt-facesbindings.jar;E:\ADF R2\oracle_common\modules\oracle.adf.view_11.1.1\trinidad-api.jar;E:\ADF R2\oracle_common\modules\oracle.adf.view_11.1.1\trinidad-impl.jar;E:\ADF R2\oracle_common\modules\oracle.adf.view_11.1.1\adf-richclient-api-11.jar;E:\ADF R2\oracle_common\modules\oracle.adf.view_11.1.1\adf-richclient-impl-11.jar;E:\ADF R2\oracle_common\modules\oracle.adf.view_11.1.1\adf-dynamic-faces.jar;E:\ADF R2\oracle_common\modules\oracle.adf.view_11.1.1\adf-faces-changemanager-rt.jar;E:\ADF R2\oracle_common\modules\oracle.facesconfigdt_11.1.1\facesconfigmodel.jar;E:\ADF R2\oracle_common\modules\oracle.facesconfigdt_11.1.1\taglib.jar;E:\ADF R2\modules\glassfish.el_1.0.0.0_2-1.jar;E:\ADF R2\oracle_common\modules\oracle.jsf_2.0\jsf-api.jar;E:\ADF R2\oracle_common\modules\oracle.jsf_2.0\jsf-impl.jar;E:\ADF R2\modules\glassfish.jstl_1.2.0.1.jar;C:\Users\Amar\Downloads\jndi-properties.jar.zip;C:\Users\Amar\Downloads\jndi-1.2.1.jar.zip;C:\Users\Amar\Downloads\h2-1.3.149.jar.zip;C:\Users\Amar\Downloads\Android\h2-1.3.149.zip;C:\Users\Amar\Downloads\Android\android\app;C:\Users\Amar\Downloads\Android\android;C:\Users\Amar\Downloads\Android" -Djavax.net.ssl.trustStore=C:\Users\Amar\AppData\Local\Temp\trustStore7108102737679976193.jks Picture.PictureBean
    Source value is null
    Exception in thread "main" java.lang.NoClassDefFoundError: oracle/adfmf/framework/api/AdfmfJavaUtilities
         at Picture.GetConncetion.getConnection(GetConncetion.java:24)
         at Picture.PictureBean.savePicture(PictureBean.java:140)
         at Picture.PictureBean.main(PictureBean.java:189)
    Caused by: java.lang.ClassNotFoundException: oracle.adfmf.framework.api.AdfmfJavaUtilities
         at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
         at java.security.AccessController.doPrivileged(Native Method)
         at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
         at java.lang.ClassLoader.loadClass(ClassLoader.java:305)
         at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
         at java.lang.ClassLoader.loadClass(ClassLoader.java:246)
         ... 3 more
    Process exited with exit code 1.
    i already imported AdfmfJavaUtilities package dont know why it showing exception.
    and while i am debugging the GetConnection.java value of 'Dir' is null.i am not getting what is the AdfmfJavaUtilities.ApplicationDirectory?
    Could you help on this!!
    Thanks & Regards
    Amar

  • Oracle Apps secure code review

    Is any documentation available (either Oracle or third party based) to guide secure code reviews for Oracle Apps (or more specifically, Oracle Application Framework)?
    I'm aware of the usual sql injection bad practices (as related to JDBC and PLSQL). I'm curious about API abuse, as related to:
    - cross-site scripting concerns
    - client-side trust issues (e.g., hidden field values)
    - improper or inconsistent input validation
    - improper error handling
    - improper session management
    - inappropriate access control
    Thanks.

    Thanks... I looked at that and didn't think it was all in there, but I looked again after I got your reply and it appears to be what we are looking for (at least a starting point).

  • Database DAO - JDBC Query Class - Code review please

    I use the following class (Database.java) as a DAO for handling all database calls. The class works. You can use this if you're looking for a DAO solution (i.e. a way to query databases using connection pools / JNDI). I am looking for some suggestions on improving this class. Can you help? I.e. suggestions for improving SELECT speed, logic? The class is used by a moderately heavily used Web application (ca. 2000 - 3000 queries a day - so not too much) on a Sun Web Server system.
    This class had the following interfaces:
    getErrors() // for retrieving any errors that occurred during an query
    setSql() // one way to set the SQL that must be run
    setDbName() // one way to set the JNDI name of the database resource
    getInsertDelete() // run the INSERT/DELETE statement that was provided with setSql
    getInsertDelete(String givenSql, String givenDb) // run with provided sql and db
    getClobInsert(String givenSql, String givenDb, Hashtable clobHash, String identifierSql) // clobHash contains the column name and the value (which is a string over 4000 chars). Identifier SQL is the SQL for identifying the row, into which the Clob must be inserted. This interface is specific to Oracle.
    getSelect() // Query database with set SQL. Return as a vector of hashes so I can close connection.
    getSelect(String givenSql, String givenDb) // select with given sqlAnd here is the full class. I know, this is a weird post, but we don't really have a code review process here at work, and I don't have a specific problem. Just want some feedback concerning the way I query our databases. So, any tips or comments are welcome.
    package melib.network;
    import java.io.Writer;
    import java.io.StringReader;
    import java.io.IOException;
    import java.util.Vector;
    import java.util.Hashtable;
    import java.sql.Connection;
    import java.sql.Statement;
    import java.sql.ResultSet;
    import java.sql.ResultSetMetaData;
    import java.sql.Clob;
    import javax.sql.DataSource;
    import javax.naming.InitialContext;
    import melib.system.PropertiesReader; // This is just a simple class for pulling values from a .properties file
    * Manages database connections.
    * @author jetcat33
    * @version 2.0, 2006-07-09
    public class Database {
        protected String sql = "";
        protected String dbName = "";
        private StringBuffer errors = new StringBuffer();
        /** Creates a new instance of Database */
        public Database() {
         * Check completeness of data
         * for example to check if dbname given or
         * sql given or to make sure that yikes
         * used instead of sccweb in test conditions
        protected boolean checkData(){
            if(dbName.equals("") || sql.equals("")){
                Email.sendMail(PropertiesReader.getValue("statusEmail"),null,"MelibLibraryError","melib error: [Database]","No database selected for query (db: "+dbName+" or sql not included (sql: "+sql+")");
                setErrors("No database selected for query (db: "+dbName+" or sql not included (sql: "+sql+")");
                return false;
            }else{
                return true;
         * Sets and gets errors resulting from
         * exceptions - otherwise would have to
         * somehow include errors in the results
         * that are returned but that would include
         * other more complicated stuff.
        private void setErrors(String e){
            errors.append("\n"+e);
        public StringBuffer getErrors(){
           return errors;
         * Setter for the sql variable.
         * @param givenSql The sql required to process
        public void setSql(java.lang.String givenSql) {
            sql = givenSql;
         * Sets the dbName needed to commect
         * to the correct database.
         * @param givenDbName Name of the database - name and connections specified within this class
        public void setDbName(java.lang.String givenDbName) {
            dbName = givenDbName;
         * Processes Insert and Delete requests with given SQL and DB Name.
         * @param givenSql
         * @param givenDbName
         * @return String Number of rows affected
        public String getInsertDelete(String givenSql, String givenDbName){
            sql = givenSql;
            dbName = givenDbName;
            return getInsertDelete();
         * Takes care of insert, update and delete requests.
         * Must have set both dbName as well as the sql String.
         * Will return number of rows affected as String.
         * @return String Number of rows affected
         * @exception Exception
        public String getInsertDelete() {
            int returnValue = 0;
            if(checkData()){
                Connection conn = null;
                InitialContext initContext = null;
                DataSource source = null;
                Statement stmt = null;
                try{
                    // Get connection from configured pool
                    initContext = new InitialContext();
                    source = (DataSource) initContext.lookup("java:comp/env/jdbc/" + dbName);
                    conn = source.getConnection();
                    if(conn != null){
                        stmt = conn.createStatement();
                        returnValue = stmt.executeUpdate(sql);
                }catch (Exception e){
                    Email.sendMail(PropertiesReader.getValue("statusEmail"),null,"MelibLibraryError","melib error: [Database.getInsertDelete]","getInsertDelete Exception: "+e.toString()+"\nWith: "+sql);
                    setErrors(e.toString());
                }finally{
                    try{
                        stmt.close();
                    }catch(Exception e){
                        e.printStackTrace();
                    try{
                        conn.close();
                    }catch(Exception e){
                       e.printStackTrace();
                    try{
                        initContext.close();
                    }catch(Exception e){
                        e.printStackTrace();
            return returnValue+"";
         * Processes Insert requests for SQL containing CLOBS
         * @param givenSql
         * @param givenDbName
         * @param clobHash Contains column name of clob and clob text
         * @param identifierSql Contains SQL to identify the just entered SQL so the clobs can be filled in.
         * @return String Number of rows affected
        public String getClobInsert(String givenSql, String givenDbName, Hashtable clobHash, String identifierSql){
            sql = givenSql;
            dbName = givenDbName;
            String returnValue="";
            int rv = 0;
            if(checkData()){
                Connection conn = null;
                InitialContext initContext = null;
                DataSource source = null;
                Statement stmt = null;
                try{
                    // Get connection from configured pool
                    initContext = new InitialContext();
                    source = (DataSource) initContext.lookup("java:comp/env/jdbc/" + dbName);
                    conn = source.getConnection();
                    if(conn != null){
                        conn.setAutoCommit(false);
                        stmt = conn.createStatement();
                        rv = stmt.executeUpdate(sql); // write first time
                        // Now get and overwrite "EMPTY_CLOB()"
                        ResultSet lobDetails = stmt.executeQuery(identifierSql);
                        ResultSetMetaData rsmd = lobDetails.getMetaData();
                        if(lobDetails.next()){
                            for(int i = 1; i <= rsmd.getColumnCount(); i++){
                                if(clobHash.get(rsmd.getColumnName(i))!=null && !clobHash.get(rsmd.getColumnName(i)).equals("")){
                                    Clob theClob = lobDetails.getClob(i);
                                    Writer clobWriter = ((oracle.sql.CLOB)theClob).getCharacterOutputStream();
                                    StringReader clobReader = new StringReader((String) clobHash.get(rsmd.getColumnName(i)));
                                    char[] cbuffer = new char[30* 1024]; // Buffer to hold chunks of data to be written to Clob, the slob
                                    int nread = 0;
                                    try{
                                        while((nread=clobReader.read(cbuffer)) != -1){
                                            clobWriter.write(cbuffer,0,nread);
                                    }catch(IOException ioe){
                                       //System.out.println("E: clobWriter exception - " + ioe.toString());
                                    }finally{
                                        try{
                                            returnValue+=" Writing: "+rsmd.getColumnName(i);
                                            clobReader.close();
                                            clobWriter.close();
                                        }catch(IOException ioe2){
                                            //System.out.println("E: clobWriter close exception - " + ioe2.toString());
                        conn.commit();
                }catch (Exception e){
                    Email.sendMail(PropertiesReader.getValue("statusEmail"),null,"MelibLibraryError","melib error: [Database.getClobInsert]","getClobInsert Exception: "+e.toString()+"\nWith: "+sql+"\nAND\n"+identifierSql);
                    setErrors(e.toString());
                }finally{
                    try{
                        stmt.close();
                    }catch(Exception e){
                        e.printStackTrace();
                    try{
                        conn.close();
                    }catch(Exception e){
                       e.printStackTrace();
                    try{
                        initContext.close();
                    }catch(Exception e){
                        e.printStackTrace();
                returnValue=rv+" "+returnValue;
            return returnValue;
         * Takes care of Select statements.
         * Must have set both dbName as well as the sql String.
         * Will return a vector.
         * @return Vector of Hashes containing the Results of the query
         * @exception SQLException
         * @exception Exception
        public Vector getSelect(){
            Vector returnValue = new Vector();
            if(checkData()){
                Connection conn = null;
                InitialContext initContext = null;
                DataSource source = null;
                ResultSet result = null;
                ResultSetMetaData rsmd = null;
                Statement stmt = null;
                try{
                    // Get connection from configured pool
                    initContext = new InitialContext();
                    source = (DataSource) initContext.lookup("java:comp/env/jdbc/" + dbName);
                    conn = source.getConnection();
                    if(conn != null){
                        stmt = conn.createStatement();
                        result = stmt.executeQuery(sql);
                        rsmd = result.getMetaData();
                        while(result.next()){
                            Hashtable hash = new Hashtable();
                            for(int i = 1; i <= rsmd.getColumnCount(); i++){
                                if(result.getString(i) != null){
                                    hash.put(rsmd.getColumnName(i),result.getString(i));
                                }else{
                                    hash.put(rsmd.getColumnName(i),"");
                            returnValue.addElement(hash);
                }catch (Exception e){
                    Email.sendMail(PropertiesReader.getValue("statusEmail"),null,"MelibLibraryError","melib error: [Database.getSelect]","getSelect Exception: "+e.toString()+"\nWith: "+sql);
                    setErrors(e.toString());
                }finally{
                    try{
                        result.close();
                    }catch(Exception e){
                        e.printStackTrace();
                        setErrors(e.toString());
                    try{
                        stmt.close();
                    }catch(Exception e){
                        e.printStackTrace();
                        setErrors(e.toString());
                    try{
                        conn.close();
                    }catch(Exception e){
                       e.printStackTrace();
                       setErrors(e.toString());
                    try{
                        initContext.close();
                    }catch(Exception e){
                        e.printStackTrace();
                        setErrors(e.toString());
            return returnValue;
         * Takes care of Select statements with given SQL.
         * Must have set both dbName as well as the sql String.
         * Will return a vector.
         * @return Vector with Results of the query
         * @exception SQLException
         * @exception Exception
        public Vector getSelect(String givenSql, String givenDbName){
            sql = givenSql;
            dbName = givenDbName;
            return getSelect();
    }Thank you,
    dailysun

    too much code that's repeated. refactor all the code you have for closing resources into a utility class and simply call its methods.
    your dao creates the connection, so it can't participate in a transaction. if there are several daos that should be one unit of work, you can't manage it with this framework.
    transactions are under the control of a service layer. I think it's better to have the service object get the connection, pass it to all the DAOs needed for that unit of work, and then have the service close it.
    e-mailing errors? I don't like it. if you have 2-3K queries a day failing because the database you'll have 2-3K e-mails to delete. better to log messages. if you really want e-mail, you can have Log4J add an e-mail appender. at least that way it's configurable outside the code.
    CRUD operations without an UPDATE? You're missing something important.
    What if I don't want to get the database from a JNDI datasource? Now you can't use this DAO without an app server.
    Your error messages are less informative than a stack trace. Why not throw an exception with detailed info?
    have a look at Spring and how it handles persistence. if you insist on writing your own, might want to look at Spring. Rod Johnson has developed a much better, more general way to handle persistence.
    http://www.springframework.org
    You return a Vector of Hashtables for queries? Two old-school data structures. You understand the implication of choosing those, right? I'd recommend that you change that to a List of Maps. Let the concrete types be ArrayList and HashMap. Interfaces are preferred, because they let you change the implementation without affecting clients. Vector and Hashtable are synchronized by default; ArrayList and HashMap are not. Synchronization is thread safe but slower.
    I understand why you chose to return Vector, because you wanted something general that wouldn't force you to deal with object-relational mapping. This way you can just worry about ResultSetMetaData.
    A Vector of Hashtables is a row-based view of the ResultSet (one Hashtable per row). Sometimes a column based view can be more convenient. Then it's a Map of Lists.
    You gave it a good try, but I think there's a lot of room for improvement.
    %

  • Passing parameters between portletized ADF Faces applications, possible?

    Hello,
    In the developer guide, section 4.5.3 (http://download-east.oracle.com/docs/cd/B32110_01/webcenter.1013/b31074/jpsdg_pages.htm#CHDGGCGE) it says that you can synchronize portlets using an ADF Faces component value. However, that example do not use a value coming from a real portlet, the parameter come from a selectOneChoice define in the container page.
    Is there a way to achieve the same thing but with the selectOneChoice being placed in the WSRP 2.0 portlet? Basically the communication scheme is WSRP 2.0 to WSRP 2.0 which is something possible using URL parameters. However, the problem with JSF components is that they pass their values through a JavaScript launched POST submit so the values are never added to the URL and even worst, you cannot be sure of the generated parameter name as it depends on the context in which the component exists (mainly the presence of a parent NamingContainer) and the only way to know that parameter name for sure is to have a way to call component.getClientId(facesContext) which is impossible for the portlet container and therefore for the other portlets.
    To put it shortly, is there a way to send a navigation parameter from a portletized ADF Faces application to its container page beside using goButton and goLink (we need to keep the action/actionListener functionality)?
    Regards,
    Simon Lessard

    Can someone explain how to assign a value to a parameter in JSF like in the ParameterFormPortlet source code? Something in replacement of this :
        if (viewMode)
          // Set the new parameter values. These will be intepreted by the
          // container as navigational parameters as the names match the names of
          // the declared parameters.
          actionResponse.setRenderParameter(PARAMETER1, param1);
          actionResponse.setRenderParameter(PARAMETER2, param2);
          actionResponse.setRenderParameter(PARAMETER3, param3);
        }I mean, how to replace setRenderParameter to achieve the same thing inside a JSF binding bean for example. Is it possible via the PortletContext?
    Thanks in advance for any hint.
    Jean-Philippe

  • Redirect from one ADF SSO application to another ADF application

    Dear All
    I've 3 ADF application developed which have 3 different context roots
    1. /XXXXView (http://<server>:<port>/XXXXView/)
    2. /YYYYView (http://<server>:<port>/YYYYView/)
    3. /ZZZZView (http://<server>:<port>/ZZZZView/)
    Without ADF security being implemented I could redirect from one application to other using below code:
    FacesContext fc = FacesContext.getCurrentInstance();
    ExternalContext ectx = ctx.getExternalContext();
    ectx.redirect("/YYYYView");
    Then I implemented ADF security in /XXXXView application and also protected the application in OAM (the port changed to <ssoport> and the new URL is http://<server>:<ssoport>/XXXXView/). After implmenting ADF security the rediection from /XXXXView to other applications stopped working and gave the below error.
    IllegalStateException: Response already committed
    Thinking one ADF secure application might not redirect to another non ADF secure application, I also implmented ADF security in /YYYYView. But no luck. Still redirection didn't work.
    Even I tried using the below code after following the blog (http://adfdeveloper.blogspot.in/2011/07/adf-auto-redirect-while-still-passing.html)
    FacesContext fctx = FacesContext.getCurrentInstance();
    ViewHandler vh = fctx.getApplication().getViewHandler();
    UIViewRoot viewToRender = vh.createView(fctx, url);
    fctx.setViewRoot(viewToRender);
    fctx.renderResponse();
    Still redirection didn't work. It will be of great help if anyone can help me resolving this issue.
    Regards
    Sibs

    You will want to look into Component Usage in Web Dynpro.
    http://help.sap.com/saphelp_nw04s/helpdata/en/0e/496ad66c601349a730502d3ea26e05/frameset.htm
    Regards,
    Rich Heilman

  • WLS/J2EE developer code review template?

    I have a requirement for a "code review template" that could act as a check list for a J2EE and/or Weblogic Server application code review.
    Has anyone ever done such a code review or have an idea of what should be included?
    Thanks for any help you may be able to give.
    John Wheeler.

    I am not quite sure what either of you are after, but if you hit the "Documentation" link on OTN you will find the documentation, such as the above list, for almost all of Oracle products. Most are available online in HTML format or PDF and some have a part number so that they can be ordered.
    The 10g Developer Suite Documentation is here: http://otn.oracle.com/documentation/dev10g.html
    Regards
    Sue

  • Regarding Oracle ADF Enterprise Application Development - Made Simple book

    Hi guys,
    I am trying to do Sten Vesterli's Oracle ADF Enterprise Application Development - Made Simple
    book. But I am stuck setting up OTPC. When I am trying to run "tpcinstaller.jar" and give my database connection information I am given a TPC-90019 error.
    The log file says it is a "ORA-01882: timezone region not found" error.
    My timezone is 'Asia/Calcutta'.
    This is what tpcinstaller log file contains,
    -------------------------------------------------------------------------------------log_file
    oracle.alminternal.version.Version: file:/C:/install/tpcinstaller.jar!/META-INF/version.xml
    11.1.1.4.37.59.23
    Launched from jar:file:/C:/install/tpcinstaller.jar!/oracle/alminternal/installer/Installer.class
    Found installer jar file /C:/install/tpcinstaller.jar
    Installer jar file name: /C:/install/tpcinstaller.jar
    Created temporary directory: tpctemp
    Execute command[tpctemp]: [D:\Oracle\Middleware\jdk160_21\bin\jar.exe, -xf, /C:/install/tpcinstaller.jar, lib]
    Extracting files ...
    Launching installer wizard, it may take a minute or so, please wait ...
    Execute command[tpctemp\lib]: [D:\Oracle\Middleware\jdk160_21\bin\java.exe, -classpath, annotations.jar;commons-io-1.2.jar;dms.jar;forms-1.0.6.jar;ideimpl.jar;idert.jar;javatools-nodeps.jar;javatools.jar;javax-ide.jar;javax.persistence_1.0.0.0_2-0-0.jar;jewt4.jar;oicons.jar;ojdbc6dms.jar;ojdl.jar;ojmisc.jar;oracle.ide.jar;oracle.ide.webbrowser.jar;oracle.ide.webupdate.jar;org.eclipse.persistence_1.0.0.0_2-1.jar;share.jar;TimingFramework.jar;uic.jar;xercesImpl.jar;xmlparserv2.jar;/C:/install/tpcinstaller.jar, oracle.alminternal.installer.Installer, -W]
    Temporary directory: connector created
    C:\install\tpctemp\lib\otpc created
    Jan 5, 2013 11:38:33 PM oracle.alminternal.installer.ideimpl.webbrowser.ProxyAddin loadProxyNative
    WARNING: Unable to default HTTP proxy: Native support is not available.
    :::settingsInitialized = false
    jdbc.url = jdbc:oracle:thin:@localhost:1521:xe
    jdbc.user = BOOK
    jdbc.password = BOOK
    SQLException: ORA-00604: error occurred at recursive SQL level 1
    ORA-01882: timezone region not found
    -------------------------------------------------------------------------------------log_file
    Regards !
    Sameera
    Edited by: samme4life on Jan 5, 2013 9:10 PM

    I have the same problem, when I delete row and after that I use refresh button in internet explorer. What I do is I drag and drop button "removeEntity" and edit it in backing beans adding new bindigs that commit changes and referesh page. Code:
    public String commandButton2_action1() {
    BindingContainer bindings = getBindings();
    OperationBinding operationBinding =
    bindings.getOperationBinding("removeEntity");
    Object result = operationBinding.execute();
    if (!operationBinding.getErrors().isEmpty()) {
    return null;
    OperationBinding commit1 = bindings.getOperationBinding("Commit");
    commit1.execute();
    OperationBinding requery = bindings.getOperationBinding("findAllRezerwacja1");
    requery.execute();
    return null;
    In page definition I added "Commit" action and code with methodAction is:
    <methodAction id="removeEntity" InstanceName="SessionEJBLocal.dataProvider"
    DataControl="SessionEJBLocal" MethodName="removeEntity"
    RequiresUpdateModel="true" Action="999">
    <NamedData NDName="entity"
    NDValue="${bindings.findAllRezerwacja2.currentRow.dataProvider}"
    NDType="java.lang.Object"/>
    </methodAction>
    <action id="Commit" IterBinding="findAllRezerwacja1Iter"
    InstanceName="SessionEJBLocal.dataProvider"
    DataControl="SessionEJBLocal" RequiresUpdateModel="true"
    Action="2"/>
    Can sb tell is there is normal that when I delete row in table, and after it I refresh manually by IE page is normal that I get error messages. I this is the same situation using Back in IE. Deleting row that is commited to database works fine, but the problem is with manually refreshing page?
    Next question is about using Delete action from node instead of removeEntity, what is the difference? As you can see, I use removeEntitity method. Choosing Delete action instead doesnt works. Why? Rest of the code is the same but instead of dropping method removeEntity I drop Delete action
    Sorry for my English, its not my native.
    Thank in advance

  • Developer's code reviews and varsion control

    Hi,
    Suppose I am planning to hire 10 apex developers to work on some internet project.
    How can I organize the code review process?
    How can I see what code a developer has changed and what exactly he's changed in the code?
    How can I see the code before it has been changed?
    How to see the properties of any object is changed and by whom?
    Is it possible to use any control version system with apex development process?
    Thanks.

    Joel_C wrote:
    I agree with your approach - delegating to packages is definitely a sensible method. However, I'm interested to know the degree to which you delegate.It depends... !
    For example, do you explicitly reference page items in your packages (perhaps via the 'V' function and APEX_UTIL.SET_SESSION_STATE calls), or do you tend to pass them via parameterized procedure calls? In which case, how do you deal with multiple page items (by which I mean, more than 3 or 4).If there is just a parameter or two being passed from the page, I tend to pass them as parameters from the page process. Very often, all you need to pass is the primary key (ID) of the entity you are working on. So I would write code like this in a page process:
    begin
      foo_pkg.delete_foo (:p10_foo_id);
    end;Other times, you may need to get the values of several (or all) items on a page. This would typically be when you want to write your own update logic instead of relying on the built-in Automatic Row Processing. Of course this is more work, but you typically only do this for the important entities/pages anyway, so it's worth it for the extra control.
    The question then is, should I write something like this:
    begin
      foo_pkg.update_foo (:p10_foo_id, :p10_foo_name, :p10_foo_description, :p10_foo_date, :p10_foo_remarks, :p10_foo_link);
    end;or just do
    begin
      foo_pkg.update_foo;
    end;and use V('P10_FOO_ID') or apex_util.get_session_state ('P10_FOO_ID') inside my packaged PL/SQL code to retrieve the item values?
    I've used both approaches, but I prefer to use the second option if I know (or suspect) that there is going to be additional logic (ie, "if X then get value of item Y, otherwise get value of item Z"). Having this kind of stuff in a package means that it can be changed easily, without having to redeploy the Apex application.
    Said another way, I don't want any "IF" statements in Page Process code.
    I'm interested in this, relating to my previous posting about testing - it's kind of difficult to unit test Apex application elements unless you fully modularize your code but there has to be a balance between modular, reusable code and page-specific, item-level code.My approach is two use two layers of packages. Let's say we are building a system that handles invoices. I would create a package called INVOICE_PKG that contains functions such as new_invoice and get_invoice, and procedures such as delete_invoice and set_invoice. This is your "core API" for working with invoices. This package is never called by the client (the Apex application, or a Java program, or whatever) directly.
    I then create another package, INVOICE_WEB_PKG, which exposes the functions and procedures that the client needs to call. This package just calls INVOICE_PKG to do the actual work. In this outer package, I can decide whether I want to use input parameters or just get the values from Apex session state.
    So a page process on a page with lots of page items could look like this:
    begin
      invoice_web_pkg.set_invoice;
    end;And the code inside INVOICE_WEB_PKG could look like this:
    procedure set_invoice
    as
      l_invoice invoice%rowtype;
    begin
      l_invoice.invoice_id := apex_util.get_session_state ('P10_INVOICE_ID');
      l_invoice.invoice_date := apex_util.get_session_state ('P10_INVOICE_DATE');
      -- and so on for many more items
      invoice_pkg.set_invoice (l_invoice);
    end;BTW, if you download my Alexandria Library for PL/SQL (http://code.google.com/p/plsql-utils/), you will find an APEX_UTIL_PKG that has a couple of wrapper functions to get and set page items (strings, numbers, dates).
    By having two layers of packages, you can write unit tests (and other non-GUI code) against the inner package, and leave all the GUI/Apex-specific stuff in the outer package. For example, any code that formats content with HTML or prints anything to the browser (using HTP.P) should go in the outer package.
    - Morten
    http://ora-00001.blogspot.com

Maybe you are looking for