> > Can you please show us the full stack trace? You will probably need to > write a custom JDBCPlugin. If your needs are basic it is not hard.
Well, when I choose "Reverse Engineer" in WOLips, select table and click OK I get exception below. Bear in mind that "ImpalaPlugIn" is my JDBC plugin that simply loads standard HiveJDBCDriver. Currently it does not have any other functionality. java.lang.RuntimeException: Failed to reverse engineer. at org.objectstyle.wolips.eomodeler.core.sql.EOFSQLReverseEngineerFactory$ReflectionSQLReverseEngineer.reverseEngineerWithTableNamesIntoModel(EOFSQLReverseEngineerFactory.java:55) at org.objectstyle.wolips.eomodeler.actions.ReverseEngineerAction.run(ReverseEngineerAction.java:97) at org.eclipse.ui.internal.PluginAction.runWithEvent(PluginAction.java:251) at org.eclipse.ui.internal.WWinPluginAction.runWithEvent(WWinPluginAction.java:229) at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:584) at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:501) at org.eclipse.jface.action.ActionContributionItem$6.handleEvent(ActionContributionItem.java:452) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4128) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1457) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1480) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1465) at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1270) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3974) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3613) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2701) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2665) at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2499) at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:679) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:668) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:123) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) 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:344) 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:597) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577) at org.eclipse.equinox.launcher.Main.run(Main.java:1410) Caused by: java.lang.reflect.InvocationTargetException 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:597) at org.objectstyle.wolips.eomodeler.core.sql.EOFSQLReverseEngineerFactory$ReflectionSQLReverseEngineer.reverseEngineerWithTableNamesIntoModel(EOFSQLReverseEngineerFactory.java:53) ... 34 more Caused by: Method not supportedat org.apache.hive.jdbc.HiveDatabaseMetaData.supportsANSI92FullSQL(HiveDatabaseMetaData.java:805) at com.webobjects.jdbcadaptor.JDBCContext._fetchJDBCInfo(JDBCContext.java:612) at com.webobjects.jdbcadaptor.JDBCPlugIn.jdbcInfo(JDBCPlugIn.java:1046) at com.webobjects.jdbcadaptor.ImpalaPlugIn.jdbcInfo(ImpalaPlugIn.java:131) at com.webobjects.jdbcadaptor.JDBCAdaptor.typeInfo(JDBCAdaptor.java:246) at com.webobjects.jdbcadaptor.JDBCAdaptor.isValidQualifierType(JDBCAdaptor.java:606) at com.webobjects.jdbcadaptor.JDBCChannel.describeModelWithTableNames(JDBCChannel.java:1078) at org.objectstyle.wolips.eomodeler.core.sql.EOFSQLReverseEngineer53.reverseEngineerWithTableNamesIntoModel(EOFSQLReverseEngineer53.java:66) 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:597) at org.objectstyle.wolips.eomodeler.core.sql.EOFSQLReverseEngineerFactory$ReflectionSQLReverseEngineer.reverseEngineerWithTableNamesIntoModel(EOFSQLReverseEngineerFactory.java:53) at org.objectstyle.wolips.eomodeler.actions.ReverseEngineerAction.run(ReverseEngineerAction.java:97) at org.eclipse.ui.internal.PluginAction.runWithEvent(PluginAction.java:251) at org.eclipse.ui.internal.WWinPluginAction.runWithEvent(WWinPluginAction.java:229) at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:584) at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:501) at org.eclipse.jface.action.ActionContributionItem$6.handleEvent(ActionContributionItem.java:452) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4128) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1457) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1480) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1465) at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1270) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3974) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3613) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2701) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2665) at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2499) at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:679) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:668) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:123) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) 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:344) 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:597) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577) at org.eclipse.equinox.launcher.Main.run(Main.java:1410) at com.webobjects.jdbcadaptor.JDBCContext._fetchJDBCInfo(JDBCContext.java:718) at com.webobjects.jdbcadaptor.JDBCPlugIn.jdbcInfo(JDBCPlugIn.java:1046) at com.webobjects.jdbcadaptor.ImpalaPlugIn.jdbcInfo(ImpalaPlugIn.java:131) at com.webobjects.jdbcadaptor.JDBCAdaptor.typeInfo(JDBCAdaptor.java:246) at com.webobjects.jdbcadaptor.JDBCAdaptor.isValidQualifierType(JDBCAdaptor.java:606) at com.webobjects.jdbcadaptor.JDBCChannel.describeModelWithTableNames(JDBCChannel.java:1078) at org.objectstyle.wolips.eomodeler.core.sql.EOFSQLReverseEngineer53.reverseEngineerWithTableNamesIntoModel(EOFSQLReverseEngineer53.java:66) ... 39 more On Tue, Dec 3, 2013 at 4:39 AM, Chuck Hill <[email protected]> wrote: > Hi Gintas, > > > On 2013-12-02 6:51 PM, "Gintautas Sulskus" wrote: > > Thanks :) > > By the way, we are thinking to use REST to communicate with HBase via > Thrift. > > The natural way was to use WOLips, create entities and set adaptor to > rest. > Is this the best tutorial available? > > http://wiki.wocommunity.org/display/WEB/Your+First+Rest+Project#YourFirstRestProject-CreatingRESTcontrollersandroutes > > Basically I have hit the wall like this guy: > http://lists.apple.com/archives/webobjects-dev/2013/Mar/msg00303.html > No template. Indigo + WOLips 3.7. Any clues? I'm using 3.7 latest release > update site. > > > Sorry, I have no idea. Someone will have to look at the WOLips code to > see why this is not working on Windows. Maybe a bad path assumption > somewhere. > > > In the meantime, as alternative for the above, I have done some > experiments with WebObjects + EOModel + Impala/Entity JDBC drivers. > EOModel CAN query Impala/Hive for a list of tables. However, there is no > reverse engineering support so I have created an entity manually that maps > to the table on Hive. However, whenever I try to fetch all records from > that entity it gives me an exception: > Method not supported at > org.apache.hive.jdbc.HiveDatabaseMetaData.supportsANSI92FullSQL(HiveDatabaseMetaData.java:805) > > Well, that's true and correct. However, I will need only the most basic > subset from ANSI92 that is supported by Impala. Is there any way to > overcome this check? > Will I have to extend these classes? > > > Can you please show us the full stack trace? You will probably need to > write a custom JDBCPlugin. If your needs are basic it is not hard. > > > Chuck > > > > > On Mon, Nov 25, 2013 at 7:10 PM, Chuck Hill <[email protected]>wrote: > >> Hi, >> >> On 2013-11-25 3:38 AM, "Gintautas Sulskus" wrote: >> >> Thank you for a very quick response. >> >> Each model is specific to one database, you will need to have two >>> models. You can have as many models as you want in a project. You can >>> create a model group in Eclipse to hold both models so that you can make >>> relationships between them. >> >> >> Can I use relationship to make "virtual" joins, that do not exist in >> the database? E.g. I would like to express table_1 and table_2 as a >> virtual_table_3 that exists only in EOModel. Then I would like to query and >> perform dml operations on that virtual table. >> >> >> No, you can't do that. They get fetched as disjoint Java objects. >> >> >> Or should I express only the relationships that are present in the >> database? >> >> >> Yes. I will also note that this is not a commonly used feature of EOF, >> so you may run into bugs. >> >> >> Chuck >> >> >> ERRest. There are multiple presentations in the WOCommunity. >> >> >> Found it! Thanks a lot :) >> >> Cheers, >> Gintas >> >> >> On Mon, Nov 25, 2013 at 5:39 AM, Chuck Hill <[email protected]>wrote: >> >>> >>> On 2013-11-24 7:40 PM, "Gintautas Sulskus" wrote: >>> >>> Hello, >>> >>> Just wanted to double check: I am trying to create an EOModel (in >>> WOLips) that would use two entities from different databases. Is it >>> possible to achieve this? I assume the answer is NO. >>> >>> >>> Each model is specific to one database, you will need to have two >>> models. You can have as many models as you want in a project. You can >>> create a model group in Eclipse to hold both models so that you can make >>> relationships between them. >>> >>> Chuck >>> >>> >>> >>> Also, I was looking for any information on REST adaptor and could not >>> find anything. Do you have any references to this? >>> >>> Much appreciated! >>> >>> Best Regards, >>> Gintautas >>> >>> >> >> >> -- >> Best Regards, >> Gintautas Sulskus >> >> > > > -- > Best Regards, > Gintautas Sulskus > > -- Best Regards, Gintautas Sulskus
_______________________________________________ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list ([email protected]) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to [email protected]
