7 Replies Latest reply: Jul 23, 2013 11:15 AM by Sentinel RSS

    4.0 EA1 - Data Modeler does not open saved models

    Sentinel

      Hi,

       

      When trying to open a Data Modeler design created by Data Modeler 3.3.1.748, the Logical Model is empty (has no objects) and the Relational Model is not opened.  Right clicking on the Relational_1 node and attempting to open the Relational Model yields an empty Relational Model (again no objects).  Since the Relational Model is empty I can't even try to open the Physical Model.

       

      I am able to successfully import DDL and Data Dictionary objects into a new model, however, after saving the model, If I try opening it with SQL Dev 4.0 or SQL Dev 3.2.20 with the 3.3.1.748 version of Data Modeler, none of the models are properly opened as above.

       

      Finally when closing a Data Modeler Design, the entire Data Modeler Browser tree disapears (the browser pane remains but is empty).  The only apparent way to recover the browser tree is to restart SQL Developer.

        • 1. Re: 4.0 EA1 - Data Modeler does not open saved models
          Philip Stoyanov-Oracle

          Hi,

           

          I am able to successfully import DDL and Data Dictionary objects into a new model, however, after saving the model, If I try opening it with SQL Dev 4.0 or SQL Dev 3.2.20 with the 3.3.1.748 version of Data Modeler, none of the models are properly opened as above.

          Can you check the log file for errors logged there. Its default location in SQL Developer is sqldeveloper\sqldeveloper\extensions\oracle.datamodeler\log

           

          Finally when closing a Data Modeler Design, the entire Data Modeler Browser tree disapears (the browser pane remains but is empty).

          We also noticed that problem - it's related to look&feel and doesn't appear on every machine. You can change look&feel in "preferences>Environment"

           

          Philip

          • 2. Re: 4.0 EA1 - Data Modeler does not open saved models
            Sentinel

            I don't have a log file in the specified directory or in any other directory in SQL Dev 4 for that matter.

             

            As for the look and feel issue, it's currently set to the default Oracle L&F.  Changing it to the Windows L&F did resolve the issue with the navigator disappearing.

            • 3. Re: 4.0 EA1 - Data Modeler does not open saved models
              Philip Stoyanov-Oracle

              I don't have a log file in the specified directory or in any other directory in SQL Dev 4 for that matter.

              it's possible only if SQL Developer is installed in read-only directory or if you don't have permissions to write there. You can change log file directory in "Preferences>Environment>log>Save log to file + Log Directory"

               

              Philip

              • 4. Re: 4.0 EA1 - Data Modeler does not open saved models
                Sentinel

                Ok,

                 

                Logging was disabled in Preferences>Environment>log, So I turned it on and set an appropriate directory for the log to show up in, however, this is all it shows:

                 

                2013-07-18 08:17:18,155 [AWT-EventQueue-0] INFO  DataModelerAddin - Oracle SQL Developer Data Modeler 4.0.0.812
                2013-07-18 08:23:01,707 [AWT-EventQueue-0] INFO  DataModelerAddin - Oracle SQL Developer Data Modeler 4.0.0.812
                

                 

                I get one line like the above the first time I access the Data Modeler each time I run SQL Developer.  I am not getting any other output to the datamodeler.log file when opening or saving models.

                • 5. Re: 4.0 EA1 - Data Modeler does not open saved models
                  Sentinel

                  I've started from a fresh install of EA1 without importing settings from v3.2.  Changed my look and feel to match my OS (Windows) enabled logging and set the logging directory.

                   

                  Now when I start DataModeler I get the following:

                  2013-07-22 15:46:52,597 [AWT-EventQueue-0] ERROR FileManager - getDataInputStream: Can not read data
                  java.io.FileNotFoundException: C:\Program Files\SQLDeveloper\SQLDev-4.0.0.12.27\sqldeveloper\extensions\oracle.datamodeler.4\types\types.xml (The system cannot find the path specified)
                          at java.io.FileInputStream.open(Native Method)
                          at java.io.FileInputStream.<init>(FileInputStream.java:138)
                          at oracle.dbtools.crest.model.persistence.FileManager.getDataInputStream(FileManager.java:285)
                          at oracle.dbtools.crest.model.persistence.FileManager.getDataInputStreamWithoutExtension(FileManager.java:254)
                          at oracle.dbtools.crest.model.persistence.XMLPersistenceManager.getInputStreamFor(XMLPersistenceManager.java:894)
                          at oracle.dbtools.crest.model.persistence.xml.AbstractXMLReader.getInputStreamFor(AbstractXMLReader.java:216)
                          at oracle.dbtools.crest.model.persistence.xml.AbstractXMLReader.recreateObject(AbstractXMLReader.java:143)
                          at oracle.dbtools.crest.model.persistence.XMLPersistenceManager.readSystemInit(XMLPersistenceManager.java:564)
                          at oracle.dbtools.crest.model.design.DesignSet.createElement(DesignSet.java:53)
                          at oracle.dbtools.crest.swingui.ApplicationView.addDesign(ApplicationView.java:2322)
                          at oracle.dbtools.crest.swingui.ApplicationView.<init>(ApplicationView.java:403)
                          at oracle.dbtools.crest.swingui.ApplicationView.getInstance(ApplicationView.java:2123)
                          at oracle.dbtools.crest.fcp.DataModelerAddin.initialize(DataModelerAddin.java:520)
                          at oracle.ideimpl.extension.AddinManagerImpl.initializeAddin(AddinManagerImpl.java:496)
                          at oracle.ideimpl.extension.AddinManagerImpl.initializeAddin(AddinManagerImpl.java:483)
                          at oracle.ideimpl.extension.AddinManagerImpl.initializeAddin(AddinManagerImpl.java:520)
                          at oracle.ideimpl.extension.ExtensionManagerImpl._loadExtensionHooks(ExtensionManagerImpl.java:1948)
                          at oracle.ideimpl.extension.ExtensionManagerImpl.__loadExtensionHooks(ExtensionManagerImpl.java:1902)
                          at oracle.ideimpl.extension.SameThreadExtensionQueueLoadStrategy.load(SameThreadExtensionQueueLoadStrategy.java:28)
                          at oracle.ideimpl.extension.SameThreadAndSwingWorkerMixedStrategy.load(SameThreadAndSwingWorkerMixedStrategy.java:22)
                          at oracle.ideimpl.extension.ExtensionManagerImpl.fullyLoadExtension(ExtensionManagerImpl.java:1651)
                          at oracle.ide.osgi.extension.internal.ClassLoaderProxy.fullyLoadExtensionIfNeeded(ClassLoaderProxy.java:162)
                          at oracle.ide.osgi.extension.internal.ClassLoaderProxy.loadMetaClass(ClassLoaderProxy.java:130)
                          at javax.ide.util.MetaClass.toClass(MetaClass.java:104)
                          at javax.ide.util.MetaClass.toClass(MetaClass.java:95)
                          at javax.ide.util.MetaClass.newInstance(MetaClass.java:138)
                          at oracle.ide.javaxide.Util.createInstance(Util.java:62)
                          at oracle.ide.javaxide.Util.createInstance(Util.java:42)
                          at oracle.ideimpl.controller.MetaClassController.getDelegate(MetaClassController.java:139)
                          at oracle.ideimpl.controller.MetaClassController.handleEventWhenExtensionNotInitialized(MetaClassController.java:58)
                          at oracle.ideimpl.controller.ControllersHook$RuleBasedController.handleEventWhenExtensionNotInitialized(ControllersHook.java:741)
                          at oracle.ideimpl.controller.MetaClassController.handleEvent(MetaClassController.java:50)
                          at oracle.ide.controller.IdeAction$ControllerDelegatingController.handleEvent(IdeAction.java:1482)
                          at oracle.ide.controller.IdeAction.performAction(IdeAction.java:663)
                          at oracle.ide.controller.IdeAction.actionPerformedImpl(IdeAction.java:1153)
                          at oracle.ide.controller.IdeAction.actionPerformed(IdeAction.java:618)
                          at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
                          at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
                          at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
                          at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
                          at javax.swing.AbstractButton.doClick(AbstractButton.java:376)
                          at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:833)
                          at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:877)
                          at java.awt.Component.processMouseEvent(Component.java:6505)
                          at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
                          at java.awt.Component.processEvent(Component.java:6270)
                          at java.awt.Container.processEvent(Container.java:2229)
                          at java.awt.Component.dispatchEventImpl(Component.java:4861)
                          at java.awt.Container.dispatchEventImpl(Container.java:2287)
                          at java.awt.Component.dispatchEvent(Component.java:4687)
                          at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
                          at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
                          at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
                          at java.awt.Container.dispatchEventImpl(Container.java:2273)
                          at java.awt.Window.dispatchEventImpl(Window.java:2719)
                          at java.awt.Component.dispatchEvent(Component.java:4687)
                          at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:735)
                          at java.awt.EventQueue.access$200(EventQueue.java:103)
                          at java.awt.EventQueue$3.run(EventQueue.java:694)
                          at java.awt.EventQueue$3.run(EventQueue.java:692)
                          at java.security.AccessController.doPrivileged(Native Method)
                          at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
                          at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
                          at java.awt.EventQueue$4.run(EventQueue.java:708)
                          at java.awt.EventQueue$4.run(EventQueue.java:706)
                          at java.security.AccessController.doPrivileged(Native Method)
                          at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
                          at java.awt.EventQueue.dispatchEvent(EventQueue.java:705)
                          at oracle.javatools.internal.ui.EventQueueWrapper._dispatchEvent(EventQueueWrapper.java:169)
                          at oracle.javatools.internal.ui.EventQueueWrapper.dispatchEvent(EventQueueWrapper.java:151)
                          at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
                          at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
                          at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
                          at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
                          at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
                          at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
                  2013-07-22 15:46:52,613 [AWT-EventQueue-0] ERROR AbstractXMLReader - Data inputstream is null (path: types name: types)
                  

                  For some reason it's trying to read C:\Program Files\SQLDeveloper\SQLDev-4.0.0.12.27\sqldeveloper\extensions\oracle.datamodeler.4\types\types.xml, however prior to running SQL Dev the oracle.datamodeler.4 directory does not exist although an oracle.datamodeler directory (without the dot4) does exist with the types\types.xml file.

                   

                  If I rename the oracle.datamodeler directory to oracle.datamodeler.4 then the data model opens partially, though all my relationships are missing and probably other stuff as well.  Further I get the following in the log:

                  2013-07-22 15:56:35,902 [AWT-EventQueue-0] INFO  DataModelerAddin - Oracle SQL Developer Data Modeler 4.0.0.812
                  2013-07-22 15:56:59,215 [Thread-22] ERROR XMLTransformationManager - java.lang.NoClassDefFoundError: com/adbs/querybuilder/QueryBuilder
                  

                   

                  If instead of renaming the oracle.datamodeler directory to oracle.datamodeler.4 I copy it, then everything loads correctly, though models created with SQL Dev 3.2 have errors when opening the Physical Model, but once saved with SQL Dev 4's DataModeler, those errors do not reoccur.

                   

                  Is the fact that it's trying to read files from a nonexistant oracle.datamodeler.4 directory a bug?

                  If not what should be in the oracle.datamodeler.4 directory?  Obviously not everything in the oracle.datamodeler directory, but at least some of the files are needed.

                  • 6. Re: 4.0 EA1 - Data Modeler does not open saved models
                    David Last-Oracle

                    Normally there should just be an oracle.datamodeler directory.

                     

                    It appears that Data Modeler believes that the "Default System Types Directory" is

                    ..\sqldeveloper\extensions\oracle.datamodeler.4\types

                    whereas the normal default is

                    ..\sqldeveloper\extensions\oracle.datamodeler\types


                    Do you have a "Default System Types Directory" set for Data Modeler?  (This setting is shown on the Data Modeler page of Tools/Preferences.)

                    (This could possibly have been set as a result of migration from your previous SQL Developer installation.)

                     

                    David

                    • 7. Re: 4.0 EA1 - Data Modeler does not open saved models
                      Sentinel

                      I started with a fresh install.  Completely deleted the first install, and the settings directory, reinstalled from the zip, and did not import settings from the prior version.

                       

                      After first starting SQLDev 4.0 EA1, and before doing anything else, the only changes I made was to Environment->Log where I checked the "Save Logs to File" check box and added a Log Directory setting.

                       

                       

                      At the time of this testing no, there was no defined "Default System Types Directory"  In fact none of the Datamodeler directories were defined.  I have since added values for the Designs, Import, Save, and Types directories, but all this was after my last post.