>
> 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]

Reply via email to