Re: reverse engineer

From: Stefan Klein (stefan.klei..uero-sde.de)
Date: Fri Feb 23 2007 - 11:23:19 EST

  • Next message: Sebastien Sahuc: "Re: Eclipse 3.2.2 - Find and install"

    Hi Mike,

    after installing 2.0.0.3841 following happens:

    java.lang.ClassCastException
        at
    com.webobjects.jdbcadaptor.JDBCAdaptor.setConnectionDictionary(JDBCAdaptor.java:220)
        at
    org.objectstyle.wolips.eomodeler.sql.EOFReverseEngineer.<init>(EOFReverseEngineer.java:38)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at
    sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
        at
    sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:274)
        at
    org.objectstyle.wolips.eomodeler.sql.SQLUtils.createEOFReverseEngineer(SQLUtils.java:38)
        at
    org.objectstyle.wolips.eomodeler.actions.ReverseEngineerAction.run(ReverseEngineerAction.java:102)
        at
    org.eclipse.ui.internal.PluginAction.runWithEvent(PluginAction.java:254)

    Stefan

    Mike Schrag schrieb:

    > Stupid WO5.2 ... Fix committed.
    >
    > On Feb 22, 2007, at 10:29 AM, Stefan Klein wrote:
    >
    >> Hi Mike,
    >>
    >> i've got the following exception:
    >>
    >> java.lang.NoSuchMethodError:
    >> com.webobjects.foundation.NSDictionary.<init>(Ljava/util/Map;Z)V
    >> at org.objectstyle.wolips.eomodeler.sql.EOFReverseEngineer.<init>
    >> (EOFReverseEngineer.java:28)
    >> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
    >> Method)
    >> at sun.reflect.NativeConstructorAccessorImpl.newInstance
    >> (NativeConstructorAccessorImpl.java:39)
    >> at sun.reflect.DelegatingConstructorAccessorImpl.newInstance
    >> (DelegatingConstructorAccessorImpl.java:27)
    >> at java.lang.reflect.Constructor.newInstance(Constructor.java:274)
    >> at
    >> org.objectstyle.wolips.eomodeler.sql.SQLUtils.createEOFReverseEngineer
    >> (SQLUtils.java:38)
    >> at
    >> org.objectstyle.wolips.eomodeler.actions.ReverseEngineerAction.run
    >> (ReverseEngineerAction.java:102)
    >> at org.eclipse.ui.internal.PluginAction.runWithEvent
    >> (PluginAction.java:254)
    >> at org.eclipse.ui.internal.WWinPluginAction.runWithEvent
    >> (WWinPluginAction.java:229)
    >> at
    >> org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(
    >> ActionContributionItem.java:539)
    >> at org.eclipse.jface.action.ActionContributionItem.access$2
    >> (ActionContributionItem.java:488)
    >> at org.eclipse.jface.action.ActionContributionItem$6.handleEvent
    >> (ActionContributionItem.java:441)
    >> at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
    >> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:928)
    >> at org.eclipse.swt.widgets.Display.runDeferredEvents
    >> (Display.java:3348)
    >> at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:
    >> 2968)
    >> at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:
    >> 1914)
    >> at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1878)
    >> at org.eclipse.ui.internal.Workbench.createAndRunWorkbench
    >> (Workbench.java:419)
    >> at org.eclipse.ui.PlatformUI.createAndRunWorkbench
    >> (PlatformUI.java:149)
    >> at org.eclipse.ui.internal.ide.IDEApplication.run
    >> (IDEApplication.java:95)
    >> at org.eclipse.core.internal.runtime.PlatformActivator$1.run
    >> (PlatformActivator.java:78)
    >> at
    >> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplic
    >> ation(EclipseAppLauncher.java:92)
    >> at
    >> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start
    >> (EclipseAppLauncher.java:68)
    >> at org.eclipse.core.runtime.adaptor.EclipseStarter.run
    >> (EclipseStarter.java:400)
    >> at org.eclipse.core.runtime.adaptor.EclipseStarter.run
    >> (EclipseStarter.java:177)
    >> 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:324)
    >> at org.eclipse.core.launcher.Main.invokeFramework(Main.java:336)
    >> at org.eclipse.core.launcher.Main.basicRun(Main.java:280)
    >> at org.eclipse.core.launcher.Main.run(Main.java:977)
    >> at org.eclipse.core.launcher.Main.main(Main.java:952)
    >>
    >> I'm using:
    >>
    >> Windows 2000
    >> Version: 3.2.1
    >> WO 5.2.4
    >>
    >>
    >> Stefan
    >>
    >> Mike Schrag schrieb:
    >>
    >>> I just committed a first pass at reverse engineering. Like SQL
    >>> gen, this does a pass-through to EOF. There are some differences
    >>> in the way this works compared to EOModeler:
    >>>
    >>> * In EOModeler, you create a new model with a reverse
    >>> engineering. In Entity Modeler, you reverse engineer into an
    >>> existing model. This means you can reverse engineer multiple
    >>> times (if you add tables later, for instance). To reverse engineer:
    >>> ** Make a new EOModel
    >>> ** Set the connection dictionary, etc on your active database config
    >>> ** Select the model node in the outline view
    >>> ** Click the Reverse Engineer button on on the Entity Modeler
    >>> button bar (yes .. these icons are all totally confusing and there
    >>> are tons of them ... i know ... i need to start pulling these
    >>> things out into menus, but I've just been to lazy to do it)
    >>> ** Select the tables, click OK
    >>> ** Profit
    >>>
    >>> * Entity Modeler will attempt to guess prototypes on reverse
    >>> engineered attributes. This is sort of hackish right now, because
    >>> at least with FrontBase, reverse engineering generates attributes
    >>> with values that are different than Wonder's prototypes. There is
    >>> a big if/else block of "leniency" for these comparisons to
    >>> accomodate. If you run into ones that aren't guessed properly,
    >>> let me know and I can take a look. Right now with FrontBase, most
    >>> of the Wonder ones are guessed right.
    >>>
    >>> * Entity Modeler will rename for capitalization on attributes,
    >>> entities, and relationships. Reverse engineering (at least with
    >>> FrontBase) generates everything in all caps. This look really
    >>> ugly and makes EM generate lots of warnings. Names are post-
    >>> processed to look SLIGHTLY better (obviously it can't really guess
    >>> CamelCase entity names)
    >>>
    >>> There's currently no feedback when this operation is running, so
    >>> just trust that it is cranking away. Prototype guessing is a
    >>> little bit labor intensive. I need to hookup a progress dialog so
    >>> you can see what the heck it's doing.
    >>>
    >>> Try it out in tonight's build and let me know.
    >>>
    >>> ms
    >>>
    >>>
    >
    >
    >



    This archive was generated by hypermail 2.0.0 : Fri Feb 23 2007 - 11:23:24 EST