Problems with DataControls.cpx after package structure refactoring

When building modern IT systems one has to consider many areas prior to project start. A common area within Java projects is the definition of a proper project package structure in order to prevent package/naming conflicts. However, from time to time you still run into some conflicts due to changes in project structure, design or the usage of third party libraries.

Recently, I encountered some DataControl conflicts in a small ADF project of mine. In order to solve it I used JDeveloper’s package structure refactoring capabilities in order to move the affected classes and DC definitions. I was pleased to see that all references seemed to be amended appropriately. Nevertheless I ran into some problems regarding the DataControls.dcx file when trying to run the application the next time:

oracle.mds.core.MetadataNotFoundException: MDS-00013: no metadata found for metadata object "/com/foo/bar/DataControls.dcx"

I recognised that the error message still presented the old DataControls.dcx path to me. So I used JDevelopers search in files tool which can be found under “Search -> Find in Files…”.

JDeveloper - Search in Files
JDeveloper – Search in Files

 

However, I could not find any file which contained the path displayed. As the problems occurred after a package structure refactoring I changed my search string to package notation and finally found something within the DataBindings.cpx file.

<dataControlUsages>
  SomeBean" path="com.foo.bar.SomeBean" />
</dataControlUsages>

Within the path attribute the package structure still pointed to an old location. After amending the structure properly the application could be deployed again.