Re: Entity Modeler Reverse Engineer shows no tables

From: Mike Schrag (mschra..dimension.com)
Date: Tue Sep 22 2009 - 13:30:39 EDT

  • Next message: JR Ruggentaler: "Re: Entity Modeler Reverse Engineer shows no tables"

    there's something weird in your environment .... maybe you have both
    the workspace and the non-workspace plugins loaded in your Eclipse
    Application?

    On Sep 22, 2009, at 1:19 PM, JR Ruggentaler wrote:

    > I did not import org.objectstyle....factories or EntityModler,
    > eomodeldoc. Stepping through the code:
    >
    > public interface IEOSQLReverseEngineerFactory {
    > public IEOSQLReverseEngineer reverseEngineer(EODatabaseConfig
    > databaseConfig, ClassLoader eomodelClassLoader) throws
    > SecurityException, NoSuchMethodException, ClassNotFoundException,
    > IllegalArgumentException, InstantiationException,
    > IllegalAccessException, InvocationTargetException;
    >
    > public class Utility {
    > public static IEOSQLReverseEngineerFactory reverseEngineerFactory
    > () throws EOModelException {
    > IExtensionPoint extensionPoint = Platform.getExtensionRegistry
    > ().getExtensionPoint
    > ("org.objectstyle.wolips.eomodeler.sqlReverseEngineerFactory");
    > IExtension[] extensions = extensionPoint.getExtensions();
    > List<IEOSQLReverseEngineerFactory> sqlReverseEngineerFactories =
    > new LinkedList<IEOSQLReverseEngineerFactory>();
    > for (IExtension extension : extensions) {
    > IConfigurationElement[] configurationElements =
    > extension.getConfigurationElements();
    > for (IConfigurationElement configurationElement :
    > configurationElements) {
    > try {
    > IEOSQLReverseEngineerFactory sqlReverseEngineerFactory =
    > (IEOSQLReverseEngineerFactory)
    > configurationElement.createExecutableExtension("class");
    > sqlReverseEngineerFactories.add(sqlReverseEngineerFactory);
    > } catch (CoreException e) {
    > e.printStackTrace();
    > Activator.getDefault().log("Could not create SQL generator
    > factory from configuration element: " + configurationElement, e);
    > }
    > }
    > }
    > IEOSQLReverseEngineerFactory sqlReverseEngineerFactory = null;
    > if (sqlReverseEngineerFactories.size() > 1) {
    > throw new EOModelException("There was more than one SQL reverse
    > engineer factory defined.");
    > } else if (sqlReverseEngineerFactories.size() == 0) {
    > throw new EOModelException("There was no SQL reverse engineer
    > factory defined.");
    > } else {
    > sqlReverseEngineerFactory = sqlReverseEngineerFactories.get(0);
    > }
    > return sqlReverseEngineerFactory;
    > }
    > }
    > }
    >
    > 2 factories are added to sqlReverseEngineerFactories but the class
    > names are the same:
    >
    > org.objectstyle.wolips.eomodeler.core.sql.EOFSQLReverseEngineerFactory
    >..8d26d
    > org.objectstyle.wolips.eomodeler.core.sql.EOFSQLReverseEngineerFactory
    >..46875
    >
    > JR
    >
    > On Sep 22, 2009, at 12:04 PM, Mike Schrag wrote:
    >
    >> close the org.objectstyle....factories plugin project -- that
    >> plugin is intended for use only with Entity Modeler.app, and will
    >> break WOLips if you run with both
    >>
    >> On Sep 22, 2009, at 12:53 PM, JR Ruggentaler wrote:
    >>
    >>> Mike,
    >>> I followed Mark Ritchie's post (http://wiki.objectstyle.org/confluence/display/WOL/Debugging+WOLips
    >>> ) and now I get this exception "There was more than one SQL
    >>> reverse engineer factory defined" when I try to reverse engineer
    >>> the mode. What's my next step(s) to go forward?
    >>>
    >>> org.objectstyle.wolips.eomodeler.core.model.EOModelException:
    >>> There was more than one SQL reverse engineer factory defined.
    >>> at
    >>> org.objectstyle.wolips.eomodeler.core.sql.IEOSQLReverseEngineerFactory
    >>> $Utility.reverseEngineerFactory(IEOSQLReverseEngineerFactory.java:
    >>> 38)
    >>> at
    >>> org.objectstyle.wolips.eomodeler.actions.ReverseEngineerAction.run
    >>> (ReverseEngineerAction.java:111)
    >>> at org.eclipse.ui.internal.PluginAction.runWithEvent
    >>> (PluginAction.java:251)
    >>> at
    >>> org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection
    >>> (ActionContributionItem.java:583)
    >>> at org.eclipse.jface.action.ActionContributionItem.access$2
    >>> (ActionContributionItem.java:500)
    >>> at org.eclipse.jface.action.ActionContributionItem$5.handleEvent
    >>> (ActionContributionItem.java:411)
    >>> at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
    >>> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1561)
    >>> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1585)
    >>> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1570)
    >>> at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1360)
    >>> at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:
    >>> 3482)
    >>> at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:
    >>> 3068)
    >>> at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:
    >>> 2384)
    >>> at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2348)
    >>> at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2200)
    >>> at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:495)
    >>> at org.eclipse.core.databinding.observable.Realm.runWithDefault
    >>> (Realm.java:288)
    >>> at org.eclipse.ui.internal.Workbench.createAndRunWorkbench
    >>> (Workbench.java:490)
    >>> at org.eclipse.ui.PlatformUI.createAndRunWorkbench
    >>> (PlatformUI.java:149)
    >>> at org.eclipse.ui.internal.ide.application.IDEApplication.start
    >>> (IDEApplication.java:113)
    >>> at org.eclipse.equinox.internal.app.EclipseAppHandle.run
    >>> (EclipseAppHandle.java:193)
    >>> at
    >>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication
    >>> (EclipseAppLauncher.java:110)
    >>> at
    >>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start
    >>> (EclipseAppLauncher.java:79)
    >>> at org.eclipse.core.runtime.adaptor.EclipseStarter.run
    >>> (EclipseStarter.java:386)
    >>> at org.eclipse.core.runtime.adaptor.EclipseStarter.run
    >>> (EclipseStarter.java:179)
    >>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    >>> at sun.reflect.NativeMethodAccessorImpl.invoke
    >>> (NativeMethodAccessorImpl.java:39)
    >>> at sun.reflect.DelegatingMethodAccessorImpl.invoke
    >>> (DelegatingMethodAccessorImpl.java:25)
    >>> at java.lang.reflect.Method.invoke(Method.java:585)
    >>> at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:549)
    >>> at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
    >>> at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
    >>> at org.eclipse.equinox.launcher.Main.main(Main.java:1212)
    >>>
    >>> On Sep 22, 2009, at 10:41 AM, Mike Schrag wrote:
    >>>
    >>>> Yeah, that Team Project Set is years old ... I would recommend
    >>>> following Mark Ritchie's instructions for setting up a WOLips
    >>>> development environment. You're forewarned that working on
    >>>> anything that touches EOF (like reverse engineering or sql
    >>>> generation) is a particularly tricky process, because it's all
    >>>> done with dynamic classloader generation. If you get so far as
    >>>> getting a development WOLips running, let me know, and I can tell
    >>>> you how to do the next part (to actually work on that code).
    >>>>
    >>>> ms
    >>
    >
    > JR Ruggentaler
    > Senior Software Developer
    > Medical Present Value, Inc
    > j..pv.com
    > Office 512.439.0206
    > Mobile 512.431.6849
    >



    This archive was generated by hypermail 2.0.0 : Tue Sep 22 2009 - 13:32:05 EDT