You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@isis.apache.org by "Dan Haywood (Updated) (JIRA)" <ji...@apache.org> on 2011/12/15 00:41:30 UTC

[jira] [Updated] (ISIS-155) If all actions in a service are hidden, then the service should be hidden also.

     [ https://issues.apache.org/jira/browse/ISIS-155?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Dan Haywood updated ISIS-155:
-----------------------------

    Priority: Minor  (was: Major)
    
> If all actions in a service are hidden, then the service should be hidden also.
> -------------------------------------------------------------------------------
>
>                 Key: ISIS-155
>                 URL: https://issues.apache.org/jira/browse/ISIS-155
>             Project: Isis
>          Issue Type: New Feature
>          Components: Core: MetaModel, Viewer
>    Affects Versions: 0.1.2-incubating
>            Reporter: Dan Haywood
>            Priority: Minor
>
> This relates to a requirement of Kevin's to hide a service icon (in the HTML viewer) if a user of a particular role had no actions visible.
> I kind-a want that this is a metamodel change, but that would introduce a new concept of hidden objects, which we don't have.  And every viewer would need to change in order to check if an object was hidden.
> So probably it's easier to simply add a check in each one of the viewers such that, if it notices that the service has actions that are all (declaratively) hidden, then it shouldn't render that service.
> If we do decide to go this way, then it probably makes sense for this issue to be an umbrella, and to have subtasks for each of the viewers.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

RE: Questions regarding the quickstart app and creating a Proof of Concept

Posted by "Richardson, Jason - FSA, Kansas City, MO" <ja...@kcc.usda.gov>.
Ok, I think I understand now.   The tables I have aren't prefixed with "ISIS_".

For example the tables I have are called Payment_Arc,  Payable, Disbursement
And they all have a common field named pym_id and other fields.

I'll look into the AbstractAutoMapper.


Jason Richardson



-----Original Message-----
From: Kevin Meyer - KMZ [mailto:kevin@kmz.co.za] 
Sent: Friday, December 16, 2011 9:33 AM
To: isis-dev@incubator.apache.org
Subject: Re: Questions regarding the quickstart app and creating a Proof of Concept

Hi Jason,

> I was able to connect.    Is there a way to disable the table creation feature of isis?

Umm.. that's kind of core to the SQL Objectstore.

It only creates tables that it doesn't find - and turning that off will 
guarantee failure.

If you need it to work with existing tables, all you need to do is ensure 
that the existing table name matches the looked-for name and that the 
structure is consistent. To quote the documentation:

1.4.1.2. Domain Tables

Only the "class" part of the package name is used. Thus a domain 
class called "some.package.Client", will be mapped onto a table 
"ISIS_CLIENT".




The SQL-OS at the moment does not detect schema mis-match, it 
only checks to see if the table exists.

There currently isn't a way of specifying a table name for a class, to 
override the default. This feature can be added, by intercepting 
"getTableNameFromSpecification" in the AbstractAutoMapper.



Regards,
Kevin


> 
> 
> Jason Richardson
> National Payments Service (NPS) Technical Lead




Re: Questions regarding the quickstart app and creating a Proof of Concept

Posted by Kevin Meyer - KMZ <ke...@kmz.co.za>.
Hi Jason,

> I was able to connect.    Is there a way to disable the table creation feature of isis?

Umm.. that's kind of core to the SQL Objectstore.

It only creates tables that it doesn't find - and turning that off will 
guarantee failure.

If you need it to work with existing tables, all you need to do is ensure 
that the existing table name matches the looked-for name and that the 
structure is consistent. To quote the documentation:

1.4.1.2. Domain Tables

Only the "class" part of the package name is used. Thus a domain 
class called "some.package.Client", will be mapped onto a table 
"ISIS_CLIENT".




The SQL-OS at the moment does not detect schema mis-match, it 
only checks to see if the table exists.

There currently isn't a way of specifying a table name for a class, to 
override the default. This feature can be added, by intercepting 
"getTableNameFromSpecification" in the AbstractAutoMapper.



Regards,
Kevin


> 
> 
> Jason Richardson
> National Payments Service (NPS) Technical Lead


RE: Questions regarding the quickstart app and creating a Proof of Concept

Posted by "Richardson, Jason - FSA, Kansas City, MO" <ja...@kcc.usda.gov>.
I was able to connect.    Is there a way to disable the table creation feature of isis?


Jason Richardson
National Payments Service (NPS) Technical Lead
USDA/FSA/AFAO/SCADG
(Administrative and Financial Applications Office)
(Service Center Accounting & Debt Group)
Office Ph: (816) 823-5296
Cubicle:  3NW024
NPS Notification Blog
NPS Email Groups Listing


-----Original Message-----
From: Mark Struberg [mailto:struberg@yahoo.de] 
Sent: Friday, December 16, 2011 2:48 AM
To: isis-dev@incubator.apache.org
Subject: Re: Questions regarding the quickstart app and creating a Proof of Concept

I can assist a bit with the OpenJPA stuff (I'm openjpa committer)

LieGrue,
strub



----- Original Message -----
> From: Dan Haywood <da...@haywood-associates.co.uk>
> To: isis-dev@incubator.apache.org
> Cc: 
> Sent: Friday, December 16, 2011 9:25 AM
> Subject: Re: Questions regarding the quickstart app and creating a Proof of Concept
> 
> On 16 December 2011 06:46, Kevin Meyer <ke...@kmz.co.za> wrote:
> 
>> 
>> 
>>  It also occured to me that my new Cayenne objectstore should be able to
>>  support multiple different databases, since Cayenne does.
>> 
> 
> Jason,
> 
> fyi, there is another SQL-oriented object store, namely the JPA object
> store that I wrote for the book.  However, this has been mothballed since
> we moved into Apache, because under the covers that object store uses
> Hibernate which has an incompatible license (LGPL, see [1]).
> 
> On the roadmap is to migrate the JPA object store to use Apache's own
> OpenJPA, or maybe Oracle's EclipseLink, both of which are JPA
> implementations, and then bring it back into the Apache Isis fold.  This
> will definitely happen at some point next year ;-)
> 
> Cheers
> Dan
> 
> [1] http://www.apache.org/legal/resolved.html#category-x
> 



Re: Questions regarding the quickstart app and creating a Proof of Concept

Posted by Mark Struberg <st...@yahoo.de>.
I can assist a bit with the OpenJPA stuff (I'm openjpa committer)

LieGrue,
strub



----- Original Message -----
> From: Dan Haywood <da...@haywood-associates.co.uk>
> To: isis-dev@incubator.apache.org
> Cc: 
> Sent: Friday, December 16, 2011 9:25 AM
> Subject: Re: Questions regarding the quickstart app and creating a Proof of Concept
> 
> On 16 December 2011 06:46, Kevin Meyer <ke...@kmz.co.za> wrote:
> 
>> 
>> 
>>  It also occured to me that my new Cayenne objectstore should be able to
>>  support multiple different databases, since Cayenne does.
>> 
> 
> Jason,
> 
> fyi, there is another SQL-oriented object store, namely the JPA object
> store that I wrote for the book.  However, this has been mothballed since
> we moved into Apache, because under the covers that object store uses
> Hibernate which has an incompatible license (LGPL, see [1]).
> 
> On the roadmap is to migrate the JPA object store to use Apache's own
> OpenJPA, or maybe Oracle's EclipseLink, both of which are JPA
> implementations, and then bring it back into the Apache Isis fold.  This
> will definitely happen at some point next year ;-)
> 
> Cheers
> Dan
> 
> [1] http://www.apache.org/legal/resolved.html#category-x
> 

Re: Questions regarding the quickstart app and creating a Proof of Concept

Posted by Dan Haywood <da...@haywood-associates.co.uk>.
On 16 December 2011 06:46, Kevin Meyer <ke...@kmz.co.za> wrote:

>
>
> It also occured to me that my new Cayenne objectstore should be able to
> support multiple different databases, since Cayenne does.
>

Jason,

fyi, there is another SQL-oriented object store, namely the JPA object
store that I wrote for the book.  However, this has been mothballed since
we moved into Apache, because under the covers that object store uses
Hibernate which has an incompatible license (LGPL, see [1]).

On the roadmap is to migrate the JPA object store to use Apache's own
OpenJPA, or maybe Oracle's EclipseLink, both of which are JPA
implementations, and then bring it back into the Apache Isis fold.  This
will definitely happen at some point next year ;-)

Cheers
Dan

[1] http://www.apache.org/legal/resolved.html#category-x

RE: Questions regarding the quickstart app and creating a Proof of Concept

Posted by Kevin Meyer <ke...@kmz.co.za>.
You need to add the sql-impl module to your object store pom.

It also occured to me that my new Cayenne objectstore should be able to
support multiple different databases, since Cayenne does.

More to follow later.

Regards,
Kevin

Sent via mobile

On Thu, December 15, 2011 21:47, Richardson, Jason - FSA, Kansas City, MO
wrote:
> Thank you for the reply.
>
> I don't think something is correct in my setup.  It doesn't seem like the
> org.apache.isis.runtimes.dflt.objectstores.sql.SqlPersistorInstaller is
> being found.
>
>
> 13:29:37,160  [InstallerLookupDefault main       INFO ]  component
> installer not found; it will not be available:
> org.apache.isis.security.ldap.authorization.LdapAuthorizationManagerInstaller
> 13:29:37,160  [InstallerLookupDefault main       INFO ]  component
> installer not found; it will not be available:
> org.apache.isis.security.ldap.authentication.LdapAuthenticationManagerInstaller
> 13:29:37,160  [InstallerLookupDefault main       INFO ]  component
> installer not found; it will not be available:
> org.apache.isis.viewer.dnd.DndViewerInstaller
> 13:29:37,175  [InstallerLookupDefault main       INFO ]  component
> installer not found; it will not be available:
> org.apache.isis.viewer.html.HtmlViewerInstaller
> 13:29:37,175  [InstallerLookupDefault main       INFO ]  component
> installer not found; it will not be available:
> org.apache.isis.viewer.xhtml.viewer.embedded.XhtmlViewerInstaller
> 13:29:37,175  [InstallerLookupDefault main       INFO ]  component
> installer not found; it will not be available:
> org.apache.isis.viewer.json.viewer.embedded.JsonViewerInstaller
> 13:29:37,175  [InstallerLookupDefault main       INFO ]  component
> installer not found; it will not be available:
> org.apache.isis.runtimes.dflt.objectstores.sql.SqlPersistorInstaller
> 13:29:37,175  [InstallerLookupDefault main       INFO ]  component
> installer not found; it will not be available:
> org.apache.isis.runtimes.dflt.objectstores.nosql.mongo.MongoPersistorMechanismInstaller
> 13:29:37,175  [InstallerLookupDefault main       INFO ]  component
> installer not found; it will not be available:
> org.apache.isis.runtimes.dflt.objectstores.nosql.file.FileServerPersistorMechanismInstaller
> 13:29:37,175  [InstallerLookupDefault main       INFO ]  component
> installer not found; it will not be available:
> org.apache.isis.runtimes.dflt.remoting.transport.sockets.client.EncodingOverSocketsProxyInstaller
> 13:29:37,175  [InstallerLookupDefault main       INFO ]  component
> installer not found; it will not be available:
> org.apache.isis.runtimes.dflt.remoting.transport.sockets.server.EncodingOverSocketsViewerInstaller
> 13:29:37,175  [InstallerLookupDefault main       INFO ]  component
> installer not found; it will not be available:
> org.apache.isis.runtimes.dflt.remoting.transport.sockets.client.SerializingOverSocketsProxyInstaller
> 13:29:37,175  [InstallerLookupDefault main       INFO ]  component
> installer not found; it will not be available:
> org.apache.isis.runtimes.dflt.remoting.transport.sockets.server.SerializingOverSocketsViewerInstaller
> 13:29:37,175  [InstallerLookupDefault main       INFO ]  component
> installer not found; it will not be available:
> org.apache.isis.runtimes.dflt.remoting.transport.http.client.EncodingOverHttpProxyInstaller
> 13:29:37,175  [InstallerLookupDefault main       INFO ]  component
> installer not found; it will not be available:
> org.apache.isis.runtimes.dflt.remoting.transport.http.server.EncodingOverHttpRemotingViewerInstaller
> 13:29:37,175  [InstallerLookupDefault main       INFO ]  component
> installer not found; it will not be available:
> org.apache.isis.runtimes.dflt.remoting.marshalling.xstream.client.XStreamOverSocketsProxyDecoratorInstaller
> 13:29:37,175  [InstallerLookupDefault main       INFO ]  component
> installer not found; it will not be available:
> org.apache.isis.runtimes.dflt.remoting.marshalling.xstream.server.XStreamOverSocketsViewerInstaller
>
>
> And I get this exception
>
> 13:29:37,566  [IsisWebAppBootstrapper main       ERROR]  startup failed
> com.google.inject.ProvisionException: Guice provision errors:
>
> 1) Error in custom provider, java.lang.RuntimeException:
> java.lang.reflect.InvocationTargetException
>   at
> org.apache.isis.runtimes.dflt.runtime.runner.IsisModule.provideIsisSystem(IsisModule.java:49)
>   while locating org.apache.isis.runtimes.dflt.runtime.system.IsisSystem
>
> 1 error
> 	at com.google.inject.InjectorImpl$4.get(InjectorImpl.java:767)
> 	at com.google.inject.InjectorImpl.getInstance(InjectorImpl.java:793)
> 	at
> org.apache.isis.runtimes.dflt.webapp.IsisWebAppBootstrapper.contextInitialized(IsisWebAppBootstrapper.java:99)
> 	at
> org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:548)
> 	at org.mortbay.jetty.servlet.Context.startContext(Context.java:136)
> 	at
> org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250)
> 	at
> org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517)
> 	at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:467)
> 	at
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
> 	at
> org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
> 	at org.mortbay.jetty.Server.doStart(Server.java:224)
> 	at
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
> 	at
> org.apache.isis.runtimes.dflt.webserver.WebServerBootstrapper.bootstrap(WebServerBootstrapper.java:74)
> 	at
> org.apache.isis.runtimes.dflt.runtime.runner.IsisRunner.bootstrap(IsisRunner.java:207)
> 	at
> org.apache.isis.runtimes.dflt.webserver.WebServer.run(WebServer.java:47)
> 	at
> org.apache.isis.runtimes.dflt.webserver.WebServer.main(WebServer.java:32)
> 	at org.apache.isis.WebServer.main(WebServer.java:25)
> Caused by: java.lang.RuntimeException:
> java.lang.reflect.InvocationTargetException
> 	at com.google.inject.internal.ProviderMethod.get(ProviderMethod.java:106)
> 	at
> com.google.inject.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:48)
> 	at
> com.google.inject.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:45)
> 	at com.google.inject.InjectorImpl.callInContext(InjectorImpl.java:811)
> 	at
> com.google.inject.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:42)
> 	at com.google.inject.Scopes$1$1.get(Scopes.java:54)
> 	at
> com.google.inject.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:48)
> 	at com.google.inject.InjectorImpl$4$1.call(InjectorImpl.java:758)
> 	at com.google.inject.InjectorImpl.callInContext(InjectorImpl.java:804)
> 	at com.google.inject.InjectorImpl$4.get(InjectorImpl.java:754)
> 	... 16 more
> 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 com.google.inject.internal.ProviderMethod.get(ProviderMethod.java:101)
> 	... 25 more
> Caused by: org.apache.isis.core.commons.factory.InstanceCreationException:
> Failed to load installer; named/class:'sql' (of type
> org.apache.isis.runtimes.dflt.runtime.installerregistry.installerapi.PersistenceMechanismInstaller)
> 	at
> org.apache.isis.runtimes.dflt.runtime.installers.InstallerLookupDefault.getInstaller(InstallerLookupDefault.java:365)
> 	at
> org.apache.isis.runtimes.dflt.runtime.installers.InstallerLookupDefault.persistenceMechanismInstaller(InstallerLookupDefault.java:217)
> 	at
> org.apache.isis.runtimes.dflt.runtime.systemusinginstallers.IsisSystemUsingInstallers.obtainPersistenceSessionFactory(IsisSystemUsingInstallers.java:368)
> 	at
> org.apache.isis.runtimes.dflt.runtime.systemusinginstallers.IsisSystemUsingInstallers.doCreateSessionFactory(IsisSystemUsingInstallers.java:101)
> 	at
> org.apache.isis.runtimes.dflt.runtime.system.IsisSystemFixturesHookAbstract.init(IsisSystemFixturesHookAbstract.java:115)
> 	at
> org.apache.isis.runtimes.dflt.runtime.runner.IsisModule.provideIsisSystem(IsisModule.java:159)
> 	... 30 more
> 2011-12-15 13:29:37.597:WARN::Failed startup of context
> org.mortbay.jetty.webapp.WebAppContext@16c9867{,src/main/webapp}
> com.google.inject.ProvisionException: Guice provision errors:<|<|1) Error
> in custom provider, java.lang.RuntimeException:
> java.lang.reflect.InvocationTargetException<|  at
> org.apache.isis.runtimes.dflt.runtime.runner.IsisModule.provideIsisSystem(IsisModule.java:49)<|
>  while locating
> org.apache.isis.runtimes.dflt.runtime.system.IsisSystem<|<|1 error
> 	at com.google.inject.InjectorImpl$4.get(InjectorImpl.java:767)
> 	at com.google.inject.InjectorImpl.getInstance(InjectorImpl.java:793)
> 	at
> org.apache.isis.runtimes.dflt.webapp.IsisWebAppBootstrapper.contextInitialized(IsisWebAppBootstrapper.java:99)
> 	at
> org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:548)
> 	at org.mortbay.jetty.servlet.Context.startContext(Context.java:136)
> 	at
> org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250)
> 	at
> org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517)
> 	at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:467)
> 	at
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
> 	at
> org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
> 	at org.mortbay.jetty.Server.doStart(Server.java:224)
> 	at
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
> 	at
> org.apache.isis.runtimes.dflt.webserver.WebServerBootstrapper.bootstrap(WebServerBootstrapper.java:74)
> 	at
> org.apache.isis.runtimes.dflt.runtime.runner.IsisRunner.bootstrap(IsisRunner.java:207)
> 	at
> org.apache.isis.runtimes.dflt.webserver.WebServer.run(WebServer.java:47)
> 	at
> org.apache.isis.runtimes.dflt.webserver.WebServer.main(WebServer.java:32)
> 	at org.apache.isis.WebServer.main(WebServer.java:25)
> 2011-12-15 13:29:37.613:INFO::Started SocketConnector@0.0.0.0:8080
>
>
>
> Jason Richardson
> National Payments Service (NPS) Technical Lead
> USDA/FSA/AFAO/SCADG
> (Administrative and Financial Applications Office)
> (Service Center Accounting & Debt Group)
> Office Ph: (816) 823-5296
> Cubicle:  3NW024
> NPS Notification Blog
> NPS Email Groups Listing
>
>
>
> -----Original Message-----
> From: Kevin Meyer - KMZ [mailto:kevin@kmz.co.za]
> Sent: Thursday, December 15, 2011 10:24 AM
> To: isis-dev@incubator.apache.org
> Subject: Re: Questions regarding the quickstart app and creating a Proof
> of Concept
>
> Hi Jason,
>
> Quick answers below:
>
>
> On 15 Dec 2011 at 15:57, Richardson, Jason - FSA, Kansas City, MO
> wrote:
>
>> *********************************************************
>> ******  However I have a few questions regarding how to start adding my
>> own functionality into the quickstart app.
>> *********************************************************
>>
>> Here is a list of the projects that were created.
>>
>> isispoc-objstore-dflt
>>
>>
>> 1.  I want to implement a MS SQL Server and Mainframe DB2 Object store.
>> ---  From a framework convention point of view how should I go about
>> doing this?
>> --- Should I create a new maven module for the Object Stores?
>
> No.
>
>> --- Should I just reuse the already created "isispoc-objstore-dflt"?
>
> Yes.
>
>> --- Should I create two different Object stores?  1 for each
>> database piece.  (the proof of concept I'm using will utilize both
>> databases, as the project as the system I'm modeling utilizes both.)
>
> Not yet - only 1 DB is explicitly coupled to the object store.
>
> We need to discuss this.
>
>> --- Should the dependencies maven entry for the database drivers go into
>> the objectstore(s) pom or another pom?
>
> Preferably the objectstore pom.
>
>>
>> 2.  If I read the isis site correctly this is the basis for what I
>> need to put into the isis.properties for SQL Server 2008.  Is there
>> anything else I need?
>
> isis.persistor=sql
>
>>
>> isis.persistor.sql.jdbc.driver=com.microsoft.sqlserver.jdbc.SQLServerDriver
>>
>> isis.persistor.sql.jdbc.connection=jdbc:sqlserver://<serverIP>:<port>;databaseName=<dbname>;selectMethod=cursor;sendStringParametersAsUnicode=false
>>
>> isis.persistor.sql.jdbc.


RE: Questions regarding the quickstart app and creating a Proof of Concept

Posted by "Richardson, Jason - FSA, Kansas City, MO" <ja...@kcc.usda.gov>.
Thank you for the reply.

I don't think something is correct in my setup.  It doesn't seem like the org.apache.isis.runtimes.dflt.objectstores.sql.SqlPersistorInstaller is being found.


13:29:37,160  [InstallerLookupDefault main       INFO ]  component installer not found; it will not be available: org.apache.isis.security.ldap.authorization.LdapAuthorizationManagerInstaller
13:29:37,160  [InstallerLookupDefault main       INFO ]  component installer not found; it will not be available: org.apache.isis.security.ldap.authentication.LdapAuthenticationManagerInstaller
13:29:37,160  [InstallerLookupDefault main       INFO ]  component installer not found; it will not be available: org.apache.isis.viewer.dnd.DndViewerInstaller
13:29:37,175  [InstallerLookupDefault main       INFO ]  component installer not found; it will not be available: org.apache.isis.viewer.html.HtmlViewerInstaller
13:29:37,175  [InstallerLookupDefault main       INFO ]  component installer not found; it will not be available: org.apache.isis.viewer.xhtml.viewer.embedded.XhtmlViewerInstaller
13:29:37,175  [InstallerLookupDefault main       INFO ]  component installer not found; it will not be available: org.apache.isis.viewer.json.viewer.embedded.JsonViewerInstaller
13:29:37,175  [InstallerLookupDefault main       INFO ]  component installer not found; it will not be available: org.apache.isis.runtimes.dflt.objectstores.sql.SqlPersistorInstaller
13:29:37,175  [InstallerLookupDefault main       INFO ]  component installer not found; it will not be available: org.apache.isis.runtimes.dflt.objectstores.nosql.mongo.MongoPersistorMechanismInstaller
13:29:37,175  [InstallerLookupDefault main       INFO ]  component installer not found; it will not be available: org.apache.isis.runtimes.dflt.objectstores.nosql.file.FileServerPersistorMechanismInstaller
13:29:37,175  [InstallerLookupDefault main       INFO ]  component installer not found; it will not be available: org.apache.isis.runtimes.dflt.remoting.transport.sockets.client.EncodingOverSocketsProxyInstaller
13:29:37,175  [InstallerLookupDefault main       INFO ]  component installer not found; it will not be available: org.apache.isis.runtimes.dflt.remoting.transport.sockets.server.EncodingOverSocketsViewerInstaller
13:29:37,175  [InstallerLookupDefault main       INFO ]  component installer not found; it will not be available: org.apache.isis.runtimes.dflt.remoting.transport.sockets.client.SerializingOverSocketsProxyInstaller
13:29:37,175  [InstallerLookupDefault main       INFO ]  component installer not found; it will not be available: org.apache.isis.runtimes.dflt.remoting.transport.sockets.server.SerializingOverSocketsViewerInstaller
13:29:37,175  [InstallerLookupDefault main       INFO ]  component installer not found; it will not be available: org.apache.isis.runtimes.dflt.remoting.transport.http.client.EncodingOverHttpProxyInstaller
13:29:37,175  [InstallerLookupDefault main       INFO ]  component installer not found; it will not be available: org.apache.isis.runtimes.dflt.remoting.transport.http.server.EncodingOverHttpRemotingViewerInstaller
13:29:37,175  [InstallerLookupDefault main       INFO ]  component installer not found; it will not be available: org.apache.isis.runtimes.dflt.remoting.marshalling.xstream.client.XStreamOverSocketsProxyDecoratorInstaller
13:29:37,175  [InstallerLookupDefault main       INFO ]  component installer not found; it will not be available: org.apache.isis.runtimes.dflt.remoting.marshalling.xstream.server.XStreamOverSocketsViewerInstaller


And I get this exception

13:29:37,566  [IsisWebAppBootstrapper main       ERROR]  startup failed
com.google.inject.ProvisionException: Guice provision errors:

1) Error in custom provider, java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
  at org.apache.isis.runtimes.dflt.runtime.runner.IsisModule.provideIsisSystem(IsisModule.java:49)
  while locating org.apache.isis.runtimes.dflt.runtime.system.IsisSystem

1 error
	at com.google.inject.InjectorImpl$4.get(InjectorImpl.java:767)
	at com.google.inject.InjectorImpl.getInstance(InjectorImpl.java:793)
	at org.apache.isis.runtimes.dflt.webapp.IsisWebAppBootstrapper.contextInitialized(IsisWebAppBootstrapper.java:99)
	at org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:548)
	at org.mortbay.jetty.servlet.Context.startContext(Context.java:136)
	at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250)
	at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517)
	at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:467)
	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
	at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
	at org.mortbay.jetty.Server.doStart(Server.java:224)
	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
	at org.apache.isis.runtimes.dflt.webserver.WebServerBootstrapper.bootstrap(WebServerBootstrapper.java:74)
	at org.apache.isis.runtimes.dflt.runtime.runner.IsisRunner.bootstrap(IsisRunner.java:207)
	at org.apache.isis.runtimes.dflt.webserver.WebServer.run(WebServer.java:47)
	at org.apache.isis.runtimes.dflt.webserver.WebServer.main(WebServer.java:32)
	at org.apache.isis.WebServer.main(WebServer.java:25)
Caused by: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
	at com.google.inject.internal.ProviderMethod.get(ProviderMethod.java:106)
	at com.google.inject.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:48)
	at com.google.inject.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:45)
	at com.google.inject.InjectorImpl.callInContext(InjectorImpl.java:811)
	at com.google.inject.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:42)
	at com.google.inject.Scopes$1$1.get(Scopes.java:54)
	at com.google.inject.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:48)
	at com.google.inject.InjectorImpl$4$1.call(InjectorImpl.java:758)
	at com.google.inject.InjectorImpl.callInContext(InjectorImpl.java:804)
	at com.google.inject.InjectorImpl$4.get(InjectorImpl.java:754)
	... 16 more
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 com.google.inject.internal.ProviderMethod.get(ProviderMethod.java:101)
	... 25 more
Caused by: org.apache.isis.core.commons.factory.InstanceCreationException: Failed to load installer; named/class:'sql' (of type org.apache.isis.runtimes.dflt.runtime.installerregistry.installerapi.PersistenceMechanismInstaller)
	at org.apache.isis.runtimes.dflt.runtime.installers.InstallerLookupDefault.getInstaller(InstallerLookupDefault.java:365)
	at org.apache.isis.runtimes.dflt.runtime.installers.InstallerLookupDefault.persistenceMechanismInstaller(InstallerLookupDefault.java:217)
	at org.apache.isis.runtimes.dflt.runtime.systemusinginstallers.IsisSystemUsingInstallers.obtainPersistenceSessionFactory(IsisSystemUsingInstallers.java:368)
	at org.apache.isis.runtimes.dflt.runtime.systemusinginstallers.IsisSystemUsingInstallers.doCreateSessionFactory(IsisSystemUsingInstallers.java:101)
	at org.apache.isis.runtimes.dflt.runtime.system.IsisSystemFixturesHookAbstract.init(IsisSystemFixturesHookAbstract.java:115)
	at org.apache.isis.runtimes.dflt.runtime.runner.IsisModule.provideIsisSystem(IsisModule.java:159)
	... 30 more
2011-12-15 13:29:37.597:WARN::Failed startup of context org.mortbay.jetty.webapp.WebAppContext@16c9867{,src/main/webapp}
com.google.inject.ProvisionException: Guice provision errors:<|<|1) Error in custom provider, java.lang.RuntimeException: java.lang.reflect.InvocationTargetException<|  at org.apache.isis.runtimes.dflt.runtime.runner.IsisModule.provideIsisSystem(IsisModule.java:49)<|  while locating org.apache.isis.runtimes.dflt.runtime.system.IsisSystem<|<|1 error
	at com.google.inject.InjectorImpl$4.get(InjectorImpl.java:767)
	at com.google.inject.InjectorImpl.getInstance(InjectorImpl.java:793)
	at org.apache.isis.runtimes.dflt.webapp.IsisWebAppBootstrapper.contextInitialized(IsisWebAppBootstrapper.java:99)
	at org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:548)
	at org.mortbay.jetty.servlet.Context.startContext(Context.java:136)
	at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250)
	at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517)
	at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:467)
	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
	at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
	at org.mortbay.jetty.Server.doStart(Server.java:224)
	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
	at org.apache.isis.runtimes.dflt.webserver.WebServerBootstrapper.bootstrap(WebServerBootstrapper.java:74)
	at org.apache.isis.runtimes.dflt.runtime.runner.IsisRunner.bootstrap(IsisRunner.java:207)
	at org.apache.isis.runtimes.dflt.webserver.WebServer.run(WebServer.java:47)
	at org.apache.isis.runtimes.dflt.webserver.WebServer.main(WebServer.java:32)
	at org.apache.isis.WebServer.main(WebServer.java:25)
2011-12-15 13:29:37.613:INFO::Started SocketConnector@0.0.0.0:8080



Jason Richardson
National Payments Service (NPS) Technical Lead
USDA/FSA/AFAO/SCADG
(Administrative and Financial Applications Office)
(Service Center Accounting & Debt Group)
Office Ph: (816) 823-5296
Cubicle:  3NW024
NPS Notification Blog
NPS Email Groups Listing



-----Original Message-----
From: Kevin Meyer - KMZ [mailto:kevin@kmz.co.za] 
Sent: Thursday, December 15, 2011 10:24 AM
To: isis-dev@incubator.apache.org
Subject: Re: Questions regarding the quickstart app and creating a Proof of Concept

Hi Jason,

Quick answers below:


On 15 Dec 2011 at 15:57, Richardson, Jason - FSA, Kansas City, MO 
wrote:

> *********************************************************
> ******  However I have a few questions regarding how to start adding my own functionality into the quickstart app.
> *********************************************************
> 
> Here is a list of the projects that were created.
> 
> isispoc-objstore-dflt
> 
> 
> 1.  I want to implement a MS SQL Server and Mainframe DB2 Object store.
> ---  From a framework convention point of view how should I go about doing this?
> --- Should I create a new maven module for the Object Stores?

No.

> --- Should I just reuse the already created "isispoc-objstore-dflt"?

Yes.

> --- Should I create two different Object stores?  1 for each
> database piece.  (the proof of concept I'm using will utilize both
> databases, as the project as the system I'm modeling utilizes both.) 

Not yet - only 1 DB is explicitly coupled to the object store.

We need to discuss this.

> --- Should the dependencies maven entry for the database drivers go into the objectstore(s) pom or another pom?

Preferably the objectstore pom.

> 
> 2.  If I read the isis site correctly this is the basis for what I
> need to put into the isis.properties for SQL Server 2008.  Is there
> anything else I need? 

isis.persistor=sql

> 
> isis.persistor.sql.jdbc.driver=com.microsoft.sqlserver.jdbc.SQLServerDriver
> 
> isis.persistor.sql.jdbc.connection=jdbc:sqlserver://<serverIP>:<port>;databaseName=<dbname>;selectMethod=cursor;sendStringParametersAsUnicode=false
> 
> isis.persistor.sql.jdbc.user=<dbloginId>
> 
> isis.persistor.sql.jdbc.password=<dbloginpw>

Could be!

I don't have my MS SQL Server details with me yet. But I can check 
later.



For your custom reports, you'll have to get into the back end to write 
your own custom queries.

Details will follow.

Regards,
Kevin




Re: Questions regarding the quickstart app and creating a Proof of Concept

Posted by Kevin Meyer - KMZ <ke...@kmz.co.za>.
Hi Jason,

Quick answers below:


On 15 Dec 2011 at 15:57, Richardson, Jason - FSA, Kansas City, MO 
wrote:

> *********************************************************
> ******  However I have a few questions regarding how to start adding my own functionality into the quickstart app.
> *********************************************************
> 
> Here is a list of the projects that were created.
> 
> isispoc-objstore-dflt
> 
> 
> 1.  I want to implement a MS SQL Server and Mainframe DB2 Object store.
> ---  From a framework convention point of view how should I go about doing this?
> --- Should I create a new maven module for the Object Stores?

No.

> --- Should I just reuse the already created "isispoc-objstore-dflt"?

Yes.

> --- Should I create two different Object stores?  1 for each
> database piece.  (the proof of concept I'm using will utilize both
> databases, as the project as the system I'm modeling utilizes both.) 

Not yet - only 1 DB is explicitly coupled to the object store.

We need to discuss this.

> --- Should the dependencies maven entry for the database drivers go into the objectstore(s) pom or another pom?

Preferably the objectstore pom.

> 
> 2.  If I read the isis site correctly this is the basis for what I
> need to put into the isis.properties for SQL Server 2008.  Is there
> anything else I need? 

isis.persistor=sql

> 
> isis.persistor.sql.jdbc.driver=com.microsoft.sqlserver.jdbc.SQLServerDriver
> 
> isis.persistor.sql.jdbc.connection=jdbc:sqlserver://<serverIP>:<port>;databaseName=<dbname>;selectMethod=cursor;sendStringParametersAsUnicode=false
> 
> isis.persistor.sql.jdbc.user=<dbloginId>
> 
> isis.persistor.sql.jdbc.password=<dbloginpw>

Could be!

I don't have my MS SQL Server details with me yet. But I can check 
later.



For your custom reports, you'll have to get into the back end to write 
your own custom queries.

Details will follow.

Regards,
Kevin


Questions regarding the quickstart app and creating a Proof of Concept

Posted by "Richardson, Jason - FSA, Kansas City, MO" <ja...@kcc.usda.gov>.
I finally have the quickstart application up and running in Eclipse  Indigo and the base quickstart check into our local svn.

Now for some background, on what I'm hoping to accomplish for my Proof of Concept.  It will be a reporting and data display application in its first iteration and will use Mainframe DB2 and MS SQL SERVER 2008.
It will support:
	***  The built in Isis Viewers.
	***  Searching and retrieval of the database tables as domain objects (search by the table key, searching by foreign keys to retrieve related objects from tables)
	***  a couple of "report" type searches that will span multiple tables from both sql server and db2 to create a report view of partial domain objects whose values are summed.  For example payment transactions that occurred for a given fiscal year and what business status they are currently in and how much they total per status. 

I am hoping to get experience building basic object retrieval and cross domain object traversal and also a summary collation of data from millions of database records.  This will show the value that ISIS can provide for my organization.  One of the issues that I will need to overcome is that the database tables are legacy tables from mainframe Cobol applications so many times I may have to pull data from several tables and even two databases to actually retrieve business contexts (depending on what reports I want to include).


*********************************************************
******  However I have a few questions regarding how to start adding my own functionality into the quickstart app.
*********************************************************

Here is a list of the projects that were created.

isispoc
isispoc-dom
isispoc-fixture
isispoc-objstore-dflt
isispoc-quickrun
isispoc-test-bdd
isispoc-test-junit
isispoc-viewer-html
isispoc-viewer-json
isispoc-viewer-scimpi
isispoc-viewer-wicket
isispoc-viewer-xhtml


1.  I want to implement a MS SQL Server and Mainframe DB2 Object store.
---  From a framework convention point of view how should I go about doing this?
--- Should I create a new maven module for the Object Stores?
--- Should I just reuse the already created "isispoc-objstore-dflt"?
--- Should I create two different Object stores?  1 for each database piece.  (the proof of concept I'm using will utilize both databases, as the project as the system I'm modeling utilizes both.)
--- Should the dependencies maven entry for the database drivers go into the objectstore(s) pom or another pom?

2.  If I read the isis site correctly this is the basis for what I need to put into the isis.properties for SQL Server 2008.  Is there anything else I need?

isis.persistor.sql.jdbc.driver=com.microsoft.sqlserver.jdbc.SQLServerDriver

isis.persistor.sql.jdbc.connection=jdbc:sqlserver://<serverIP>:<port>;databaseName=<dbname>;selectMethod=cursor;sendStringParametersAsUnicode=false

isis.persistor.sql.jdbc.user=<dbloginId>

isis.persistor.sql.jdbc.password=<dbloginpw>



Jason Richardson