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