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 : Thu Feb 22 2007 - 10:47:02 EST