ADF application not working on Linux

When you find your self staring at the code of a JDeveloper 11/ ADF application wondering why o why the application worked on Windows, but does not on Linux, think about case-sensitivity.

It might be common knowledge to most of us that Linux is case-sensitive and Windows is not, but actively remembering this while developing and specifically naming/ refactoring package names is something different.

Example:
I had a custom data control based on a webservice called DataListService.
I generated a web service proxy in a package called “dataList.proxy” and placed custom entity classes in “dataList.entities”. On a custom proxy client with method getCompany() I generated a data control to use on a page in a selectOnChoice.

- com
 - client
   - app
     - model
       - dataList
         + proxy
         - entities
             Company.java
             Company.xml
           DLDataControl.java
           DLDataControl.xml

In the page definition I had a method iterator

<methodIterator Binds="Company.result" DataControl="DLDataControl"
                    BeanClass="com.client.app.model.datalist.entities.Company"
                    id="CompanyIterator"/>

It involved a lot of staring at every part of the application before realizing why the selectOnChoice did not get filled with values on the Linux VM.

Even if you always use lowercase package names (like a true java developer), remember this:
JDeveloper generates page definitions automatically in a package called pageDef. If the reference to a pagedefinition in the DataBindings.cpx is done with “pagedef. PageDef.xml” you have the same problem:

  <pageDefinitionUsages>
    <page id="com_client_app_view_testPageDef"
          path="com.client.app.view.pagedefs.testPageDef"/>
    <page id="com_client_app_view_secondtestPageDef"
          path="com.client.app.view.pageDefs.secondtestPageDef"/>

Leave a Reply

 

 

 

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>