You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@isis.apache.org by mukul joshi <mu...@gmail.com> on 2012/10/01 14:14:49 UTC

Re: Thinking of contributing? Some ideas.

Hi Dan,

Thanks for the clarifications.

I have done the following:
1. Created a fork of Apache Isis in GitHub
2. Setup Eclipse Juno EE with M2E, JettyRunner, EclEmma and coding templates
3. Maven imported the "framework"
4. On launching the restfulobjects-tck in Eclipse I am getting the
following error:

Error in custom provider,
org.apache.isis.runtimes.dflt.runtime.services.InitialisationException:
Cannot find class
'org.apache.isis.tck.dom.refs.AssociatedEntitiesRepository' for service
  at
org.apache.isis.runtimes.dflt.runtime.runner.IsisModule.provideIsisSystem(IsisModule.java:154)
  at
org.apache.isis.runtimes.dflt.runtime.runner.IsisModule.provideIsisSystem(IsisModule.java:154)
  while locating org.apache.isis.runtimes.dflt.runtime.system.IsisSystem

1 error
    at com.google.inject.internal.InjectorImpl$4.get(InjectorImpl.java:987)
    at
com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1013)
    at
org.apache.isis.runtimes.dflt.webapp.IsisWebAppBootstrapper.contextInitialized(IsisWebAppBootstrapper.java:113)
    at
org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:549)
    at org.mortbay.jetty.servlet.Context.startContext(Context.java:136)
    at
org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1282)
    at
org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:518)
    at
org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:499)
    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 runjettyrun.Bootstrap.main(Bootstrap.java:97)
Caused by:
org.apache.isis.runtimes.dflt.runtime.services.InitialisationException:
Cannot find class
'org.apache.isis.tck.dom.refs.AssociatedEntitiesRepository' for service
    at
org.apache.isis.runtimes.dflt.runtime.services.ServicesInstallerFromConfiguration.loadClass(ServicesInstallerFromConfiguration.java:162)
    at
org.apache.isis.runtimes.dflt.runtime.services.ServicesInstallerFromConfiguration.createService(ServicesInstallerFromConfiguration.java:145)
    at
org.apache.isis.runtimes.dflt.runtime.services.ServicesInstallerFromConfiguration.appendConfiguredServices(ServicesInstallerFromConfiguration.java:104)
    at
org.apache.isis.runtimes.dflt.runtime.services.ServicesInstallerFromConfiguration.appendServices(ServicesInstallerFromConfiguration.java:84)
    at
org.apache.isis.runtimes.dflt.runtime.services.ServicesInstallerFromConfiguration.getServices(ServicesInstallerFromConfiguration.java:63)
    at
org.apache.isis.runtimes.dflt.runtime.systemusinginstallers.IsisSystemUsingInstallers.obtainServices(IsisSystemUsingInstallers.java:231)
    at
org.apache.isis.runtimes.dflt.runtime.systemusinginstallers.IsisSystemAbstract.createSessionFactory(IsisSystemAbstract.java:181)
    at
org.apache.isis.runtimes.dflt.runtime.systemusinginstallers.IsisSystemAbstract.doCreateSessionFactory(IsisSystemAbstract.java:160)
    at
org.apache.isis.runtimes.dflt.runtime.system.IsisSystemFixturesHookAbstract.init(IsisSystemFixturesHookAbstract.java:118)
    at
org.apache.isis.runtimes.dflt.runtime.runner.IsisModule.provideIsisSystem(IsisModule.java:155)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:601)
    at
com.google.inject.internal.ProviderMethod.get(ProviderMethod.java:104)
    at
com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)
    at
com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
    at
com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1031)
    at
com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
    at com.google.inject.Scopes$1$1.get(Scopes.java:65)
    at
com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)
    at
com.google.inject.internal.InjectorImpl$4$1.call(InjectorImpl.java:978)
    at
com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1024)
    at com.google.inject.internal.InjectorImpl$4.get(InjectorImpl.java:974)
    ... 12 more

Checked the source tree and there is no AssociatedEntitiesRepository source
file.

The reference to AssociatedEntitiesRepository is in the isis.properties in
the WEB-INF of the restfulobjects-tck module.

Let me know if i have missed anything while doing the setup or whether we
need to fix anything.

Thanks & Regards,
Mukul

On 24 September 2012 16:33, Dan Haywood <da...@haywood-associates.co.uk>wrote:

> On 24 September 2012 06:40, mukul joshi <mu...@gmail.com>
> wrote:
>
> >
> > Thanks for the suggestions.
> >
> > I will start looking at the viewers i.e. Wicket and Restful Objects. I
> > guess an application will be required in both the areas. So will start
> with
> > a sample application and then see how these viewers are built/triggered.
>
>
> What we've been moving to - slowly - is to move these sample applications
> into the "tck" application (named after the technology compatibility kits
> that formal Java specifications have).  The ideas, eventually, is to have a
> single standard application that contains all of the features supported by
> Isis (eg choices, defaults, validation, hiding, disabling, hints such as
> memberorder, autocomplete, parent/child relations, polymorphic relations,
> aggregated entities, custom value types etc... );such that each component
> can use this same TCK app to write tests against.  (It might be possible in
> the future to write contract tests [1] so we can be assured that the
> behaviour of different implementations of the objectstore API, say, is
> identical.
>
> But in the first event, just to say that the tck app is the thing to use as
> your sample app.  You'll find that there is wicket-tck and
> restfulobjects-tck projects that will boot up that app in their respective
> viewers.
>
>
>
> > A
> > selenium script will be applicable to both viewers - or will need
> > customisation for both the viewers?
> >
>
> I can see selenium as being relevant to Wicket, but I don't see it as being
> relevant to the RestfulObjects viewer.  For the latter, you can use the RO
> applib.  Some of the existing tests already use this.
>
> Even for the Wicket viewer, it might be possible to avoid the weight and
> complexity of Selenium by instead using a lighter-weight testing library.
>  On a (non-Isis) project I was on last year we used JSoup [2] with some
> success.  It's licensed under MIT, so is compatible with ASF.
>
>
>
> > What is required to use the latest Restful Objects spec? Do we need to
> > implement the latest spec?
> >
>
> Yes, we need to implement the latest spec.   The spec currently is at
> v1.0.0, but the Isis implementation (ie viewer/restfulobjects) is currently
> at v0.52.  In fact, given I wrote the spec, it'd be rather good if someone
> other than me did the remainder of the implementation + tests ;-)
>
>
> If you prefer to use git over svn, you might find it easiest to work using
> a fork from my github copy of Isis [3]
>
> Cheers
> Dan
>
> [1] http://martinfowler.com/bliki/IntegrationContractTest.html
> [2] http://jsoup.org/
> [3] https://github.com/danhaywood/apache-isis
>
>
>
>
> > Thanks & Regards,
> > Mukul
> >
> > On 20 September 2012 23:29, Dan Haywood <dan@haywood-associates.co.uk
> > >wrote:
> >
> > > Hi Mukul / anyone else...
> > >
> > > On 4 September 2012 11:17, mukul joshi <mu...@gmail.com>
> > > wrote:
> > >
> > > >
> > > > Let me know if you need help in any areas where the design is clear
> and
> > > the
> > > > changes are clear cut. I can start with some simple things. I have
> just
> > > > started to go through the organisation of Isis and its architecture.
> > > >
> > > >
> > > Just wanted to pick up on your offer... are there any areas of Isis in
> > > particular you feel like working on?  (Of course, not being a committer
> > > these would need to be patches attached to JIRAs; but forking from
> github
> > > makes this relatively painless to do).
> > >
> > > Right now my own interests are in the Wicket viewer, and the JDO
> > > objectstore.  So one thing that would be of help is just building some
> > new
> > > apps that use these particular components, and help test them by using
> > > them.  Or, (though this doesn't sound like fun to me), writing some
> > > end-to-end regression tests for the wicket viewer using Selenium or
> JSoup
> > > or something similar will be needed at some point.
> > >
> > > Another area that needs work is the Restful Objects viewer... currently
> > it
> > > doesn't implement the spec 1.0.0.  That's a nice little discrete area
> to
> > > work on.
> > >
> > > Alternatively, there's a bunch of "newbie" issues up on Jira [1].  A
> lot
> > of
> > > them are to do with building "off-the-shelf" domain services and/or
> > > entities.  Would all be valuable stuff.
> > >
> > > Let me know if any of this sounds of interest
> > >
> > > Dan
> > >
> > > PS: other committers... please feel free to suggest other ideas!
> > >
> > > [1] newbie issues query -
> > >
> > >
> >
> https://issues.apache.org/jira/secure/IssueNavigator.jspa?mode=hide&requestId=12318871
> > >
> > >
> > > Thanks & Regards,
> > > > Mukul
> > > >
> > > >
> > >
> >
>

Re: Thinking of contributing? Some ideas.

Posted by Dan Haywood <da...@haywood-associates.co.uk>.
Hi Mukul,
Just looking at those files now... as you probably could guess, they are
defunct.  I'll delete them.
Dan



On 22 October 2012 04:42, mukul joshi <mu...@gmail.com> wrote:

> Hi Dan,
>
> Please refer to the web.xml of the restfulobjects-viewer module that
> contains references to the nakedobjects packages as [art of the filter
> configurations.
>
> Thanks & Regards,
> Mukul
>
> On 17 October 2012 12:10, Dan Haywood <da...@haywood-associates.co.uk>
> wrote:
>
> > Hi Mukul,
> >
> >
> > On 15 October 2012 11:58, mukul joshi <mu...@gmail.com>
> wrote:
> >
> > > Hi Dan,
> > >
> > > After removing 2 entries in isis.properties related to
> AssociatedEntities
> > > (Repository and Fixture), am able to traverse the JSON resource
> > > representation in the browser.
> > >
> >
> > sorry for ignoring you, though glad you resolved this issue.
> >
> >
> >
> > >
> > > What are the next steps? Is there going to be any major changes in the
> > > restfulobjects-viewer? Is there any change in the link from resource
> > > representation to resource to domain objects? Or changes only limited
> to
> > > the resource representation? This is all related to spec 1.0 vis-a-vis
> > spec
> > > 0.52 which is the current implementation.
> > >
> > > Well, yes, there are some changes that need to be made to upgrade from
> > 0.52 to 1.0.0.  From memory, the sum of the changes isn't that large, and
> > ought to be relatively easy to make to the code if you can identify them.
> >
> > "If you can identify them" is probably the difficultly here thoug  And in
> > any case, the tests for the RO viewer are rather out of date.
> >
> > So what I was going to do was just to write tests a-new, based on the
> > v1.0.0 of the spec...  in other words to test-drive the changes still
> > required to be made.
> >
> > I'd be very glad for your help in doing this if you have it.  As things
> > stand, I'm unlikely to have much - if any - time this side of Xmas.
> >
> >
> >
> > > One observation regarding the web.xml in restfulobjects-viewer: This is
> > > still using session filters from the nakedobjects package which
> > presumably
> > > is not there in the apache-isis project.
> > >
> >
> > Can you tell me which file you are looking at?
> >
> > Thx
> > Dan
> >
> >
> >
> > >
> > > Still going through the isis architecture/organisation and site docs.
> > >
> > > Thanks & Regards,
> > > Mukul
> > >
> > > On 3 October 2012 12:29, Dan Haywood <da...@haywood-associates.co.uk>
> > wrote:
> > >
> > > > Hi Mukul,
> > > > it's probably just an incorrect entry in the isis.properties file for
> > > that
> > > > project.  I'll take a deeper look and see if I can confirm for you.
> > > > Cheers
> > > > Dan
> > > >
> > > >
> > > > On 1 October 2012 13:14, mukul joshi <mu...@gmail.com>
> > > wrote:
> > > >
> > > > > Hi Dan,
> > > > >
> > > > > Thanks for the clarifications.
> > > > >
> > > > > I have done the following:
> > > > > 1. Created a fork of Apache Isis in GitHub
> > > > > 2. Setup Eclipse Juno EE with M2E, JettyRunner, EclEmma and coding
> > > > > templates
> > > > > 3. Maven imported the "framework"
> > > > > 4. On launching the restfulobjects-tck in Eclipse I am getting the
> > > > > following error:
> > > > >
> > > > > Error in custom provider,
> > > > >
> > org.apache.isis.runtimes.dflt.runtime.services.InitialisationException:
> > > > > Cannot find class
> > > > > 'org.apache.isis.tck.dom.refs.AssociatedEntitiesRepository' for
> > service
> > > > >   at
> > > > >
> > > > >
> > > >
> > >
> >
> org.apache.isis.runtimes.dflt.runtime.runner.IsisModule.provideIsisSystem(IsisModule.java:154)
> > > > >   at
> > > > >
> > > > >
> > > >
> > >
> >
> org.apache.isis.runtimes.dflt.runtime.runner.IsisModule.provideIsisSystem(IsisModule.java:154)
> > > > >   while locating
> > > org.apache.isis.runtimes.dflt.runtime.system.IsisSystem
> > > > >
> > > > > 1 error
> > > > >     at
> > > > com.google.inject.internal.InjectorImpl$4.get(InjectorImpl.java:987)
> > > > >     at
> > > > >
> > > >
> > >
> >
> com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1013)
> > > > >     at
> > > > >
> > > > >
> > > >
> > >
> >
> org.apache.isis.runtimes.dflt.webapp.IsisWebAppBootstrapper.contextInitialized(IsisWebAppBootstrapper.java:113)
> > > > >     at
> > > > >
> > > > >
> > > >
> > >
> >
> org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:549)
> > > > >     at
> > org.mortbay.jetty.servlet.Context.startContext(Context.java:136)
> > > > >     at
> > > > >
> > > > >
> > > >
> > >
> >
> org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1282)
> > > > >     at
> > > > >
> > >
> org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:518)
> > > > >     at
> > > > >
> > org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:499)
> > > > >     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 runjettyrun.Bootstrap.main(Bootstrap.java:97)
> > > > > Caused by:
> > > > >
> > org.apache.isis.runtimes.dflt.runtime.services.InitialisationException:
> > > > > Cannot find class
> > > > > 'org.apache.isis.tck.dom.refs.AssociatedEntitiesRepository' for
> > service
> > > > >     at
> > > > >
> > > > >
> > > >
> > >
> >
> org.apache.isis.runtimes.dflt.runtime.services.ServicesInstallerFromConfiguration.loadClass(ServicesInstallerFromConfiguration.java:162)
> > > > >     at
> > > > >
> > > > >
> > > >
> > >
> >
> org.apache.isis.runtimes.dflt.runtime.services.ServicesInstallerFromConfiguration.createService(ServicesInstallerFromConfiguration.java:145)
> > > > >     at
> > > > >
> > > > >
> > > >
> > >
> >
> org.apache.isis.runtimes.dflt.runtime.services.ServicesInstallerFromConfiguration.appendConfiguredServices(ServicesInstallerFromConfiguration.java:104)
> > > > >     at
> > > > >
> > > > >
> > > >
> > >
> >
> org.apache.isis.runtimes.dflt.runtime.services.ServicesInstallerFromConfiguration.appendServices(ServicesInstallerFromConfiguration.java:84)
> > > > >     at
> > > > >
> > > > >
> > > >
> > >
> >
> org.apache.isis.runtimes.dflt.runtime.services.ServicesInstallerFromConfiguration.getServices(ServicesInstallerFromConfiguration.java:63)
> > > > >     at
> > > > >
> > > > >
> > > >
> > >
> >
> org.apache.isis.runtimes.dflt.runtime.systemusinginstallers.IsisSystemUsingInstallers.obtainServices(IsisSystemUsingInstallers.java:231)
> > > > >     at
> > > > >
> > > > >
> > > >
> > >
> >
> org.apache.isis.runtimes.dflt.runtime.systemusinginstallers.IsisSystemAbstract.createSessionFactory(IsisSystemAbstract.java:181)
> > > > >     at
> > > > >
> > > > >
> > > >
> > >
> >
> org.apache.isis.runtimes.dflt.runtime.systemusinginstallers.IsisSystemAbstract.doCreateSessionFactory(IsisSystemAbstract.java:160)
> > > > >     at
> > > > >
> > > > >
> > > >
> > >
> >
> org.apache.isis.runtimes.dflt.runtime.system.IsisSystemFixturesHookAbstract.init(IsisSystemFixturesHookAbstract.java:118)
> > > > >     at
> > > > >
> > > > >
> > > >
> > >
> >
> org.apache.isis.runtimes.dflt.runtime.runner.IsisModule.provideIsisSystem(IsisModule.java:155)
> > > > >     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> > > > >     at
> > > > >
> > > > >
> > > >
> > >
> >
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> > > > >     at
> > > > >
> > > > >
> > > >
> > >
> >
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> > > > >     at java.lang.reflect.Method.invoke(Method.java:601)
> > > > >     at
> > > > >
> > com.google.inject.internal.ProviderMethod.get(ProviderMethod.java:104)
> > > > >     at
> > > > >
> > > > >
> > > >
> > >
> >
> com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)
> > > > >     at
> > > > >
> > > > >
> > > >
> > >
> >
> com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
> > > > >     at
> > > > >
> > > > >
> > > >
> > >
> >
> com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1031)
> > > > >     at
> > > > >
> > > > >
> > > >
> > >
> >
> com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
> > > > >     at com.google.inject.Scopes$1$1.get(Scopes.java:65)
> > > > >     at
> > > > >
> > > > >
> > > >
> > >
> >
> com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)
> > > > >     at
> > > > >
> > com.google.inject.internal.InjectorImpl$4$1.call(InjectorImpl.java:978)
> > > > >     at
> > > > >
> > > > >
> > > >
> > >
> >
> com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1024)
> > > > >     at
> > > > com.google.inject.internal.InjectorImpl$4.get(InjectorImpl.java:974)
> > > > >     ... 12 more
> > > > >
> > > > > Checked the source tree and there is no
> AssociatedEntitiesRepository
> > > > source
> > > > > file.
> > > > >
> > > > > The reference to AssociatedEntitiesRepository is in the
> > isis.properties
> > > > in
> > > > > the WEB-INF of the restfulobjects-tck module.
> > > > >
> > > > > Let me know if i have missed anything while doing the setup or
> > whether
> > > we
> > > > > need to fix anything.
> > > > >
> > > > > Thanks & Regards,
> > > > > Mukul
> > > > >
> > > > > On 24 September 2012 16:33, Dan Haywood <
> > dan@haywood-associates.co.uk
> > > > > >wrote:
> > > > >
> > > > > > On 24 September 2012 06:40, mukul joshi <
> > mukul.ashok.joshi@gmail.com
> > > >
> > > > > > wrote:
> > > > > >
> > > > > > >
> > > > > > > Thanks for the suggestions.
> > > > > > >
> > > > > > > I will start looking at the viewers i.e. Wicket and Restful
> > > Objects.
> > > > I
> > > > > > > guess an application will be required in both the areas. So
> will
> > > > start
> > > > > > with
> > > > > > > a sample application and then see how these viewers are
> > > > > built/triggered.
> > > > > >
> > > > > >
> > > > > > What we've been moving to - slowly - is to move these sample
> > > > applications
> > > > > > into the "tck" application (named after the technology
> > compatibility
> > > > kits
> > > > > > that formal Java specifications have).  The ideas, eventually, is
> > to
> > > > > have a
> > > > > > single standard application that contains all of the features
> > > supported
> > > > > by
> > > > > > Isis (eg choices, defaults, validation, hiding, disabling, hints
> > such
> > > > as
> > > > > > memberorder, autocomplete, parent/child relations, polymorphic
> > > > relations,
> > > > > > aggregated entities, custom value types etc... );such that each
> > > > component
> > > > > > can use this same TCK app to write tests against.  (It might be
> > > > possible
> > > > > in
> > > > > > the future to write contract tests [1] so we can be assured that
> > the
> > > > > > behaviour of different implementations of the objectstore API,
> say,
> > > is
> > > > > > identical.
> > > > > >
> > > > > > But in the first event, just to say that the tck app is the thing
> > to
> > > > use
> > > > > as
> > > > > > your sample app.  You'll find that there is wicket-tck and
> > > > > > restfulobjects-tck projects that will boot up that app in their
> > > > > respective
> > > > > > viewers.
> > > > > >
> > > > > >
> > > > > >
> > > > > > > A
> > > > > > > selenium script will be applicable to both viewers - or will
> need
> > > > > > > customisation for both the viewers?
> > > > > > >
> > > > > >
> > > > > > I can see selenium as being relevant to Wicket, but I don't see
> it
> > as
> > > > > being
> > > > > > relevant to the RestfulObjects viewer.  For the latter, you can
> use
> > > the
> > > > > RO
> > > > > > applib.  Some of the existing tests already use this.
> > > > > >
> > > > > > Even for the Wicket viewer, it might be possible to avoid the
> > weight
> > > > and
> > > > > > complexity of Selenium by instead using a lighter-weight testing
> > > > library.
> > > > > >  On a (non-Isis) project I was on last year we used JSoup [2]
> with
> > > some
> > > > > > success.  It's licensed under MIT, so is compatible with ASF.
> > > > > >
> > > > > >
> > > > > >
> > > > > > > What is required to use the latest Restful Objects spec? Do we
> > need
> > > > to
> > > > > > > implement the latest spec?
> > > > > > >
> > > > > >
> > > > > > Yes, we need to implement the latest spec.   The spec currently
> is
> > at
> > > > > > v1.0.0, but the Isis implementation (ie viewer/restfulobjects) is
> > > > > currently
> > > > > > at v0.52.  In fact, given I wrote the spec, it'd be rather good
> if
> > > > > someone
> > > > > > other than me did the remainder of the implementation + tests ;-)
> > > > > >
> > > > > >
> > > > > > If you prefer to use git over svn, you might find it easiest to
> > work
> > > > > using
> > > > > > a fork from my github copy of Isis [3]
> > > > > >
> > > > > > Cheers
> > > > > > Dan
> > > > > >
> > > > > > [1] http://martinfowler.com/bliki/IntegrationContractTest.html
> > > > > > [2] http://jsoup.org/
> > > > > > [3] https://github.com/danhaywood/apache-isis
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > > > Thanks & Regards,
> > > > > > > Mukul
> > > > > > >
> > > > > > > On 20 September 2012 23:29, Dan Haywood <
> > > > dan@haywood-associates.co.uk
> > > > > > > >wrote:
> > > > > > >
> > > > > > > > Hi Mukul / anyone else...
> > > > > > > >
> > > > > > > > On 4 September 2012 11:17, mukul joshi <
> > > > mukul.ashok.joshi@gmail.com>
> > > > > > > > wrote:
> > > > > > > >
> > > > > > > > >
> > > > > > > > > Let me know if you need help in any areas where the design
> is
> > > > clear
> > > > > > and
> > > > > > > > the
> > > > > > > > > changes are clear cut. I can start with some simple
> things. I
> > > > have
> > > > > > just
> > > > > > > > > started to go through the organisation of Isis and its
> > > > > architecture.
> > > > > > > > >
> > > > > > > > >
> > > > > > > > Just wanted to pick up on your offer... are there any areas
> of
> > > Isis
> > > > > in
> > > > > > > > particular you feel like working on?  (Of course, not being a
> > > > > committer
> > > > > > > > these would need to be patches attached to JIRAs; but forking
> > > from
> > > > > > github
> > > > > > > > makes this relatively painless to do).
> > > > > > > >
> > > > > > > > Right now my own interests are in the Wicket viewer, and the
> > JDO
> > > > > > > > objectstore.  So one thing that would be of help is just
> > building
> > > > > some
> > > > > > > new
> > > > > > > > apps that use these particular components, and help test them
> > by
> > > > > using
> > > > > > > > them.  Or, (though this doesn't sound like fun to me),
> writing
> > > some
> > > > > > > > end-to-end regression tests for the wicket viewer using
> > Selenium
> > > or
> > > > > > JSoup
> > > > > > > > or something similar will be needed at some point.
> > > > > > > >
> > > > > > > > Another area that needs work is the Restful Objects viewer...
> > > > > currently
> > > > > > > it
> > > > > > > > doesn't implement the spec 1.0.0.  That's a nice little
> > discrete
> > > > area
> > > > > > to
> > > > > > > > work on.
> > > > > > > >
> > > > > > > > Alternatively, there's a bunch of "newbie" issues up on Jira
> > [1].
> > > >  A
> > > > > > lot
> > > > > > > of
> > > > > > > > them are to do with building "off-the-shelf" domain services
> > > and/or
> > > > > > > > entities.  Would all be valuable stuff.
> > > > > > > >
> > > > > > > > Let me know if any of this sounds of interest
> > > > > > > >
> > > > > > > > Dan
> > > > > > > >
> > > > > > > > PS: other committers... please feel free to suggest other
> > ideas!
> > > > > > > >
> > > > > > > > [1] newbie issues query -
> > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
> https://issues.apache.org/jira/secure/IssueNavigator.jspa?mode=hide&requestId=12318871
> > > > > > > >
> > > > > > > >
> > > > > > > > Thanks & Regards,
> > > > > > > > > Mukul
> > > > > > > > >
> > > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>

Re: Thinking of contributing? Some ideas.

Posted by mukul joshi <mu...@gmail.com>.
Hi Dan,

Please refer to the web.xml of the restfulobjects-viewer module that
contains references to the nakedobjects packages as [art of the filter
configurations.

Thanks & Regards,
Mukul

On 17 October 2012 12:10, Dan Haywood <da...@haywood-associates.co.uk> wrote:

> Hi Mukul,
>
>
> On 15 October 2012 11:58, mukul joshi <mu...@gmail.com> wrote:
>
> > Hi Dan,
> >
> > After removing 2 entries in isis.properties related to AssociatedEntities
> > (Repository and Fixture), am able to traverse the JSON resource
> > representation in the browser.
> >
>
> sorry for ignoring you, though glad you resolved this issue.
>
>
>
> >
> > What are the next steps? Is there going to be any major changes in the
> > restfulobjects-viewer? Is there any change in the link from resource
> > representation to resource to domain objects? Or changes only limited to
> > the resource representation? This is all related to spec 1.0 vis-a-vis
> spec
> > 0.52 which is the current implementation.
> >
> > Well, yes, there are some changes that need to be made to upgrade from
> 0.52 to 1.0.0.  From memory, the sum of the changes isn't that large, and
> ought to be relatively easy to make to the code if you can identify them.
>
> "If you can identify them" is probably the difficultly here thoug  And in
> any case, the tests for the RO viewer are rather out of date.
>
> So what I was going to do was just to write tests a-new, based on the
> v1.0.0 of the spec...  in other words to test-drive the changes still
> required to be made.
>
> I'd be very glad for your help in doing this if you have it.  As things
> stand, I'm unlikely to have much - if any - time this side of Xmas.
>
>
>
> > One observation regarding the web.xml in restfulobjects-viewer: This is
> > still using session filters from the nakedobjects package which
> presumably
> > is not there in the apache-isis project.
> >
>
> Can you tell me which file you are looking at?
>
> Thx
> Dan
>
>
>
> >
> > Still going through the isis architecture/organisation and site docs.
> >
> > Thanks & Regards,
> > Mukul
> >
> > On 3 October 2012 12:29, Dan Haywood <da...@haywood-associates.co.uk>
> wrote:
> >
> > > Hi Mukul,
> > > it's probably just an incorrect entry in the isis.properties file for
> > that
> > > project.  I'll take a deeper look and see if I can confirm for you.
> > > Cheers
> > > Dan
> > >
> > >
> > > On 1 October 2012 13:14, mukul joshi <mu...@gmail.com>
> > wrote:
> > >
> > > > Hi Dan,
> > > >
> > > > Thanks for the clarifications.
> > > >
> > > > I have done the following:
> > > > 1. Created a fork of Apache Isis in GitHub
> > > > 2. Setup Eclipse Juno EE with M2E, JettyRunner, EclEmma and coding
> > > > templates
> > > > 3. Maven imported the "framework"
> > > > 4. On launching the restfulobjects-tck in Eclipse I am getting the
> > > > following error:
> > > >
> > > > Error in custom provider,
> > > >
> org.apache.isis.runtimes.dflt.runtime.services.InitialisationException:
> > > > Cannot find class
> > > > 'org.apache.isis.tck.dom.refs.AssociatedEntitiesRepository' for
> service
> > > >   at
> > > >
> > > >
> > >
> >
> org.apache.isis.runtimes.dflt.runtime.runner.IsisModule.provideIsisSystem(IsisModule.java:154)
> > > >   at
> > > >
> > > >
> > >
> >
> org.apache.isis.runtimes.dflt.runtime.runner.IsisModule.provideIsisSystem(IsisModule.java:154)
> > > >   while locating
> > org.apache.isis.runtimes.dflt.runtime.system.IsisSystem
> > > >
> > > > 1 error
> > > >     at
> > > com.google.inject.internal.InjectorImpl$4.get(InjectorImpl.java:987)
> > > >     at
> > > >
> > >
> >
> com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1013)
> > > >     at
> > > >
> > > >
> > >
> >
> org.apache.isis.runtimes.dflt.webapp.IsisWebAppBootstrapper.contextInitialized(IsisWebAppBootstrapper.java:113)
> > > >     at
> > > >
> > > >
> > >
> >
> org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:549)
> > > >     at
> org.mortbay.jetty.servlet.Context.startContext(Context.java:136)
> > > >     at
> > > >
> > > >
> > >
> >
> org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1282)
> > > >     at
> > > >
> > org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:518)
> > > >     at
> > > >
> org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:499)
> > > >     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 runjettyrun.Bootstrap.main(Bootstrap.java:97)
> > > > Caused by:
> > > >
> org.apache.isis.runtimes.dflt.runtime.services.InitialisationException:
> > > > Cannot find class
> > > > 'org.apache.isis.tck.dom.refs.AssociatedEntitiesRepository' for
> service
> > > >     at
> > > >
> > > >
> > >
> >
> org.apache.isis.runtimes.dflt.runtime.services.ServicesInstallerFromConfiguration.loadClass(ServicesInstallerFromConfiguration.java:162)
> > > >     at
> > > >
> > > >
> > >
> >
> org.apache.isis.runtimes.dflt.runtime.services.ServicesInstallerFromConfiguration.createService(ServicesInstallerFromConfiguration.java:145)
> > > >     at
> > > >
> > > >
> > >
> >
> org.apache.isis.runtimes.dflt.runtime.services.ServicesInstallerFromConfiguration.appendConfiguredServices(ServicesInstallerFromConfiguration.java:104)
> > > >     at
> > > >
> > > >
> > >
> >
> org.apache.isis.runtimes.dflt.runtime.services.ServicesInstallerFromConfiguration.appendServices(ServicesInstallerFromConfiguration.java:84)
> > > >     at
> > > >
> > > >
> > >
> >
> org.apache.isis.runtimes.dflt.runtime.services.ServicesInstallerFromConfiguration.getServices(ServicesInstallerFromConfiguration.java:63)
> > > >     at
> > > >
> > > >
> > >
> >
> org.apache.isis.runtimes.dflt.runtime.systemusinginstallers.IsisSystemUsingInstallers.obtainServices(IsisSystemUsingInstallers.java:231)
> > > >     at
> > > >
> > > >
> > >
> >
> org.apache.isis.runtimes.dflt.runtime.systemusinginstallers.IsisSystemAbstract.createSessionFactory(IsisSystemAbstract.java:181)
> > > >     at
> > > >
> > > >
> > >
> >
> org.apache.isis.runtimes.dflt.runtime.systemusinginstallers.IsisSystemAbstract.doCreateSessionFactory(IsisSystemAbstract.java:160)
> > > >     at
> > > >
> > > >
> > >
> >
> org.apache.isis.runtimes.dflt.runtime.system.IsisSystemFixturesHookAbstract.init(IsisSystemFixturesHookAbstract.java:118)
> > > >     at
> > > >
> > > >
> > >
> >
> org.apache.isis.runtimes.dflt.runtime.runner.IsisModule.provideIsisSystem(IsisModule.java:155)
> > > >     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> > > >     at
> > > >
> > > >
> > >
> >
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> > > >     at
> > > >
> > > >
> > >
> >
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> > > >     at java.lang.reflect.Method.invoke(Method.java:601)
> > > >     at
> > > >
> com.google.inject.internal.ProviderMethod.get(ProviderMethod.java:104)
> > > >     at
> > > >
> > > >
> > >
> >
> com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)
> > > >     at
> > > >
> > > >
> > >
> >
> com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
> > > >     at
> > > >
> > > >
> > >
> >
> com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1031)
> > > >     at
> > > >
> > > >
> > >
> >
> com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
> > > >     at com.google.inject.Scopes$1$1.get(Scopes.java:65)
> > > >     at
> > > >
> > > >
> > >
> >
> com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)
> > > >     at
> > > >
> com.google.inject.internal.InjectorImpl$4$1.call(InjectorImpl.java:978)
> > > >     at
> > > >
> > > >
> > >
> >
> com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1024)
> > > >     at
> > > com.google.inject.internal.InjectorImpl$4.get(InjectorImpl.java:974)
> > > >     ... 12 more
> > > >
> > > > Checked the source tree and there is no AssociatedEntitiesRepository
> > > source
> > > > file.
> > > >
> > > > The reference to AssociatedEntitiesRepository is in the
> isis.properties
> > > in
> > > > the WEB-INF of the restfulobjects-tck module.
> > > >
> > > > Let me know if i have missed anything while doing the setup or
> whether
> > we
> > > > need to fix anything.
> > > >
> > > > Thanks & Regards,
> > > > Mukul
> > > >
> > > > On 24 September 2012 16:33, Dan Haywood <
> dan@haywood-associates.co.uk
> > > > >wrote:
> > > >
> > > > > On 24 September 2012 06:40, mukul joshi <
> mukul.ashok.joshi@gmail.com
> > >
> > > > > wrote:
> > > > >
> > > > > >
> > > > > > Thanks for the suggestions.
> > > > > >
> > > > > > I will start looking at the viewers i.e. Wicket and Restful
> > Objects.
> > > I
> > > > > > guess an application will be required in both the areas. So will
> > > start
> > > > > with
> > > > > > a sample application and then see how these viewers are
> > > > built/triggered.
> > > > >
> > > > >
> > > > > What we've been moving to - slowly - is to move these sample
> > > applications
> > > > > into the "tck" application (named after the technology
> compatibility
> > > kits
> > > > > that formal Java specifications have).  The ideas, eventually, is
> to
> > > > have a
> > > > > single standard application that contains all of the features
> > supported
> > > > by
> > > > > Isis (eg choices, defaults, validation, hiding, disabling, hints
> such
> > > as
> > > > > memberorder, autocomplete, parent/child relations, polymorphic
> > > relations,
> > > > > aggregated entities, custom value types etc... );such that each
> > > component
> > > > > can use this same TCK app to write tests against.  (It might be
> > > possible
> > > > in
> > > > > the future to write contract tests [1] so we can be assured that
> the
> > > > > behaviour of different implementations of the objectstore API, say,
> > is
> > > > > identical.
> > > > >
> > > > > But in the first event, just to say that the tck app is the thing
> to
> > > use
> > > > as
> > > > > your sample app.  You'll find that there is wicket-tck and
> > > > > restfulobjects-tck projects that will boot up that app in their
> > > > respective
> > > > > viewers.
> > > > >
> > > > >
> > > > >
> > > > > > A
> > > > > > selenium script will be applicable to both viewers - or will need
> > > > > > customisation for both the viewers?
> > > > > >
> > > > >
> > > > > I can see selenium as being relevant to Wicket, but I don't see it
> as
> > > > being
> > > > > relevant to the RestfulObjects viewer.  For the latter, you can use
> > the
> > > > RO
> > > > > applib.  Some of the existing tests already use this.
> > > > >
> > > > > Even for the Wicket viewer, it might be possible to avoid the
> weight
> > > and
> > > > > complexity of Selenium by instead using a lighter-weight testing
> > > library.
> > > > >  On a (non-Isis) project I was on last year we used JSoup [2] with
> > some
> > > > > success.  It's licensed under MIT, so is compatible with ASF.
> > > > >
> > > > >
> > > > >
> > > > > > What is required to use the latest Restful Objects spec? Do we
> need
> > > to
> > > > > > implement the latest spec?
> > > > > >
> > > > >
> > > > > Yes, we need to implement the latest spec.   The spec currently is
> at
> > > > > v1.0.0, but the Isis implementation (ie viewer/restfulobjects) is
> > > > currently
> > > > > at v0.52.  In fact, given I wrote the spec, it'd be rather good if
> > > > someone
> > > > > other than me did the remainder of the implementation + tests ;-)
> > > > >
> > > > >
> > > > > If you prefer to use git over svn, you might find it easiest to
> work
> > > > using
> > > > > a fork from my github copy of Isis [3]
> > > > >
> > > > > Cheers
> > > > > Dan
> > > > >
> > > > > [1] http://martinfowler.com/bliki/IntegrationContractTest.html
> > > > > [2] http://jsoup.org/
> > > > > [3] https://github.com/danhaywood/apache-isis
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > > Thanks & Regards,
> > > > > > Mukul
> > > > > >
> > > > > > On 20 September 2012 23:29, Dan Haywood <
> > > dan@haywood-associates.co.uk
> > > > > > >wrote:
> > > > > >
> > > > > > > Hi Mukul / anyone else...
> > > > > > >
> > > > > > > On 4 September 2012 11:17, mukul joshi <
> > > mukul.ashok.joshi@gmail.com>
> > > > > > > wrote:
> > > > > > >
> > > > > > > >
> > > > > > > > Let me know if you need help in any areas where the design is
> > > clear
> > > > > and
> > > > > > > the
> > > > > > > > changes are clear cut. I can start with some simple things. I
> > > have
> > > > > just
> > > > > > > > started to go through the organisation of Isis and its
> > > > architecture.
> > > > > > > >
> > > > > > > >
> > > > > > > Just wanted to pick up on your offer... are there any areas of
> > Isis
> > > > in
> > > > > > > particular you feel like working on?  (Of course, not being a
> > > > committer
> > > > > > > these would need to be patches attached to JIRAs; but forking
> > from
> > > > > github
> > > > > > > makes this relatively painless to do).
> > > > > > >
> > > > > > > Right now my own interests are in the Wicket viewer, and the
> JDO
> > > > > > > objectstore.  So one thing that would be of help is just
> building
> > > > some
> > > > > > new
> > > > > > > apps that use these particular components, and help test them
> by
> > > > using
> > > > > > > them.  Or, (though this doesn't sound like fun to me), writing
> > some
> > > > > > > end-to-end regression tests for the wicket viewer using
> Selenium
> > or
> > > > > JSoup
> > > > > > > or something similar will be needed at some point.
> > > > > > >
> > > > > > > Another area that needs work is the Restful Objects viewer...
> > > > currently
> > > > > > it
> > > > > > > doesn't implement the spec 1.0.0.  That's a nice little
> discrete
> > > area
> > > > > to
> > > > > > > work on.
> > > > > > >
> > > > > > > Alternatively, there's a bunch of "newbie" issues up on Jira
> [1].
> > >  A
> > > > > lot
> > > > > > of
> > > > > > > them are to do with building "off-the-shelf" domain services
> > and/or
> > > > > > > entities.  Would all be valuable stuff.
> > > > > > >
> > > > > > > Let me know if any of this sounds of interest
> > > > > > >
> > > > > > > Dan
> > > > > > >
> > > > > > > PS: other committers... please feel free to suggest other
> ideas!
> > > > > > >
> > > > > > > [1] newbie issues query -
> > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
> https://issues.apache.org/jira/secure/IssueNavigator.jspa?mode=hide&requestId=12318871
> > > > > > >
> > > > > > >
> > > > > > > Thanks & Regards,
> > > > > > > > Mukul
> > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>

Re: Thinking of contributing? Some ideas.

Posted by Dan Haywood <da...@haywood-associates.co.uk>.
Hi Mukul,


On 15 October 2012 11:58, mukul joshi <mu...@gmail.com> wrote:

> Hi Dan,
>
> After removing 2 entries in isis.properties related to AssociatedEntities
> (Repository and Fixture), am able to traverse the JSON resource
> representation in the browser.
>

sorry for ignoring you, though glad you resolved this issue.



>
> What are the next steps? Is there going to be any major changes in the
> restfulobjects-viewer? Is there any change in the link from resource
> representation to resource to domain objects? Or changes only limited to
> the resource representation? This is all related to spec 1.0 vis-a-vis spec
> 0.52 which is the current implementation.
>
> Well, yes, there are some changes that need to be made to upgrade from
0.52 to 1.0.0.  From memory, the sum of the changes isn't that large, and
ought to be relatively easy to make to the code if you can identify them.

"If you can identify them" is probably the difficultly here thoug  And in
any case, the tests for the RO viewer are rather out of date.

So what I was going to do was just to write tests a-new, based on the
v1.0.0 of the spec...  in other words to test-drive the changes still
required to be made.

I'd be very glad for your help in doing this if you have it.  As things
stand, I'm unlikely to have much - if any - time this side of Xmas.



> One observation regarding the web.xml in restfulobjects-viewer: This is
> still using session filters from the nakedobjects package which presumably
> is not there in the apache-isis project.
>

Can you tell me which file you are looking at?

Thx
Dan



>
> Still going through the isis architecture/organisation and site docs.
>
> Thanks & Regards,
> Mukul
>
> On 3 October 2012 12:29, Dan Haywood <da...@haywood-associates.co.uk> wrote:
>
> > Hi Mukul,
> > it's probably just an incorrect entry in the isis.properties file for
> that
> > project.  I'll take a deeper look and see if I can confirm for you.
> > Cheers
> > Dan
> >
> >
> > On 1 October 2012 13:14, mukul joshi <mu...@gmail.com>
> wrote:
> >
> > > Hi Dan,
> > >
> > > Thanks for the clarifications.
> > >
> > > I have done the following:
> > > 1. Created a fork of Apache Isis in GitHub
> > > 2. Setup Eclipse Juno EE with M2E, JettyRunner, EclEmma and coding
> > > templates
> > > 3. Maven imported the "framework"
> > > 4. On launching the restfulobjects-tck in Eclipse I am getting the
> > > following error:
> > >
> > > Error in custom provider,
> > > org.apache.isis.runtimes.dflt.runtime.services.InitialisationException:
> > > Cannot find class
> > > 'org.apache.isis.tck.dom.refs.AssociatedEntitiesRepository' for service
> > >   at
> > >
> > >
> >
> org.apache.isis.runtimes.dflt.runtime.runner.IsisModule.provideIsisSystem(IsisModule.java:154)
> > >   at
> > >
> > >
> >
> org.apache.isis.runtimes.dflt.runtime.runner.IsisModule.provideIsisSystem(IsisModule.java:154)
> > >   while locating
> org.apache.isis.runtimes.dflt.runtime.system.IsisSystem
> > >
> > > 1 error
> > >     at
> > com.google.inject.internal.InjectorImpl$4.get(InjectorImpl.java:987)
> > >     at
> > >
> >
> com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1013)
> > >     at
> > >
> > >
> >
> org.apache.isis.runtimes.dflt.webapp.IsisWebAppBootstrapper.contextInitialized(IsisWebAppBootstrapper.java:113)
> > >     at
> > >
> > >
> >
> org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:549)
> > >     at org.mortbay.jetty.servlet.Context.startContext(Context.java:136)
> > >     at
> > >
> > >
> >
> org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1282)
> > >     at
> > >
> org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:518)
> > >     at
> > > org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:499)
> > >     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 runjettyrun.Bootstrap.main(Bootstrap.java:97)
> > > Caused by:
> > > org.apache.isis.runtimes.dflt.runtime.services.InitialisationException:
> > > Cannot find class
> > > 'org.apache.isis.tck.dom.refs.AssociatedEntitiesRepository' for service
> > >     at
> > >
> > >
> >
> org.apache.isis.runtimes.dflt.runtime.services.ServicesInstallerFromConfiguration.loadClass(ServicesInstallerFromConfiguration.java:162)
> > >     at
> > >
> > >
> >
> org.apache.isis.runtimes.dflt.runtime.services.ServicesInstallerFromConfiguration.createService(ServicesInstallerFromConfiguration.java:145)
> > >     at
> > >
> > >
> >
> org.apache.isis.runtimes.dflt.runtime.services.ServicesInstallerFromConfiguration.appendConfiguredServices(ServicesInstallerFromConfiguration.java:104)
> > >     at
> > >
> > >
> >
> org.apache.isis.runtimes.dflt.runtime.services.ServicesInstallerFromConfiguration.appendServices(ServicesInstallerFromConfiguration.java:84)
> > >     at
> > >
> > >
> >
> org.apache.isis.runtimes.dflt.runtime.services.ServicesInstallerFromConfiguration.getServices(ServicesInstallerFromConfiguration.java:63)
> > >     at
> > >
> > >
> >
> org.apache.isis.runtimes.dflt.runtime.systemusinginstallers.IsisSystemUsingInstallers.obtainServices(IsisSystemUsingInstallers.java:231)
> > >     at
> > >
> > >
> >
> org.apache.isis.runtimes.dflt.runtime.systemusinginstallers.IsisSystemAbstract.createSessionFactory(IsisSystemAbstract.java:181)
> > >     at
> > >
> > >
> >
> org.apache.isis.runtimes.dflt.runtime.systemusinginstallers.IsisSystemAbstract.doCreateSessionFactory(IsisSystemAbstract.java:160)
> > >     at
> > >
> > >
> >
> org.apache.isis.runtimes.dflt.runtime.system.IsisSystemFixturesHookAbstract.init(IsisSystemFixturesHookAbstract.java:118)
> > >     at
> > >
> > >
> >
> org.apache.isis.runtimes.dflt.runtime.runner.IsisModule.provideIsisSystem(IsisModule.java:155)
> > >     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> > >     at
> > >
> > >
> >
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> > >     at
> > >
> > >
> >
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> > >     at java.lang.reflect.Method.invoke(Method.java:601)
> > >     at
> > > com.google.inject.internal.ProviderMethod.get(ProviderMethod.java:104)
> > >     at
> > >
> > >
> >
> com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)
> > >     at
> > >
> > >
> >
> com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
> > >     at
> > >
> > >
> >
> com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1031)
> > >     at
> > >
> > >
> >
> com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
> > >     at com.google.inject.Scopes$1$1.get(Scopes.java:65)
> > >     at
> > >
> > >
> >
> com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)
> > >     at
> > > com.google.inject.internal.InjectorImpl$4$1.call(InjectorImpl.java:978)
> > >     at
> > >
> > >
> >
> com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1024)
> > >     at
> > com.google.inject.internal.InjectorImpl$4.get(InjectorImpl.java:974)
> > >     ... 12 more
> > >
> > > Checked the source tree and there is no AssociatedEntitiesRepository
> > source
> > > file.
> > >
> > > The reference to AssociatedEntitiesRepository is in the isis.properties
> > in
> > > the WEB-INF of the restfulobjects-tck module.
> > >
> > > Let me know if i have missed anything while doing the setup or whether
> we
> > > need to fix anything.
> > >
> > > Thanks & Regards,
> > > Mukul
> > >
> > > On 24 September 2012 16:33, Dan Haywood <dan@haywood-associates.co.uk
> > > >wrote:
> > >
> > > > On 24 September 2012 06:40, mukul joshi <mukul.ashok.joshi@gmail.com
> >
> > > > wrote:
> > > >
> > > > >
> > > > > Thanks for the suggestions.
> > > > >
> > > > > I will start looking at the viewers i.e. Wicket and Restful
> Objects.
> > I
> > > > > guess an application will be required in both the areas. So will
> > start
> > > > with
> > > > > a sample application and then see how these viewers are
> > > built/triggered.
> > > >
> > > >
> > > > What we've been moving to - slowly - is to move these sample
> > applications
> > > > into the "tck" application (named after the technology compatibility
> > kits
> > > > that formal Java specifications have).  The ideas, eventually, is to
> > > have a
> > > > single standard application that contains all of the features
> supported
> > > by
> > > > Isis (eg choices, defaults, validation, hiding, disabling, hints such
> > as
> > > > memberorder, autocomplete, parent/child relations, polymorphic
> > relations,
> > > > aggregated entities, custom value types etc... );such that each
> > component
> > > > can use this same TCK app to write tests against.  (It might be
> > possible
> > > in
> > > > the future to write contract tests [1] so we can be assured that the
> > > > behaviour of different implementations of the objectstore API, say,
> is
> > > > identical.
> > > >
> > > > But in the first event, just to say that the tck app is the thing to
> > use
> > > as
> > > > your sample app.  You'll find that there is wicket-tck and
> > > > restfulobjects-tck projects that will boot up that app in their
> > > respective
> > > > viewers.
> > > >
> > > >
> > > >
> > > > > A
> > > > > selenium script will be applicable to both viewers - or will need
> > > > > customisation for both the viewers?
> > > > >
> > > >
> > > > I can see selenium as being relevant to Wicket, but I don't see it as
> > > being
> > > > relevant to the RestfulObjects viewer.  For the latter, you can use
> the
> > > RO
> > > > applib.  Some of the existing tests already use this.
> > > >
> > > > Even for the Wicket viewer, it might be possible to avoid the weight
> > and
> > > > complexity of Selenium by instead using a lighter-weight testing
> > library.
> > > >  On a (non-Isis) project I was on last year we used JSoup [2] with
> some
> > > > success.  It's licensed under MIT, so is compatible with ASF.
> > > >
> > > >
> > > >
> > > > > What is required to use the latest Restful Objects spec? Do we need
> > to
> > > > > implement the latest spec?
> > > > >
> > > >
> > > > Yes, we need to implement the latest spec.   The spec currently is at
> > > > v1.0.0, but the Isis implementation (ie viewer/restfulobjects) is
> > > currently
> > > > at v0.52.  In fact, given I wrote the spec, it'd be rather good if
> > > someone
> > > > other than me did the remainder of the implementation + tests ;-)
> > > >
> > > >
> > > > If you prefer to use git over svn, you might find it easiest to work
> > > using
> > > > a fork from my github copy of Isis [3]
> > > >
> > > > Cheers
> > > > Dan
> > > >
> > > > [1] http://martinfowler.com/bliki/IntegrationContractTest.html
> > > > [2] http://jsoup.org/
> > > > [3] https://github.com/danhaywood/apache-isis
> > > >
> > > >
> > > >
> > > >
> > > > > Thanks & Regards,
> > > > > Mukul
> > > > >
> > > > > On 20 September 2012 23:29, Dan Haywood <
> > dan@haywood-associates.co.uk
> > > > > >wrote:
> > > > >
> > > > > > Hi Mukul / anyone else...
> > > > > >
> > > > > > On 4 September 2012 11:17, mukul joshi <
> > mukul.ashok.joshi@gmail.com>
> > > > > > wrote:
> > > > > >
> > > > > > >
> > > > > > > Let me know if you need help in any areas where the design is
> > clear
> > > > and
> > > > > > the
> > > > > > > changes are clear cut. I can start with some simple things. I
> > have
> > > > just
> > > > > > > started to go through the organisation of Isis and its
> > > architecture.
> > > > > > >
> > > > > > >
> > > > > > Just wanted to pick up on your offer... are there any areas of
> Isis
> > > in
> > > > > > particular you feel like working on?  (Of course, not being a
> > > committer
> > > > > > these would need to be patches attached to JIRAs; but forking
> from
> > > > github
> > > > > > makes this relatively painless to do).
> > > > > >
> > > > > > Right now my own interests are in the Wicket viewer, and the JDO
> > > > > > objectstore.  So one thing that would be of help is just building
> > > some
> > > > > new
> > > > > > apps that use these particular components, and help test them by
> > > using
> > > > > > them.  Or, (though this doesn't sound like fun to me), writing
> some
> > > > > > end-to-end regression tests for the wicket viewer using Selenium
> or
> > > > JSoup
> > > > > > or something similar will be needed at some point.
> > > > > >
> > > > > > Another area that needs work is the Restful Objects viewer...
> > > currently
> > > > > it
> > > > > > doesn't implement the spec 1.0.0.  That's a nice little discrete
> > area
> > > > to
> > > > > > work on.
> > > > > >
> > > > > > Alternatively, there's a bunch of "newbie" issues up on Jira [1].
> >  A
> > > > lot
> > > > > of
> > > > > > them are to do with building "off-the-shelf" domain services
> and/or
> > > > > > entities.  Would all be valuable stuff.
> > > > > >
> > > > > > Let me know if any of this sounds of interest
> > > > > >
> > > > > > Dan
> > > > > >
> > > > > > PS: other committers... please feel free to suggest other ideas!
> > > > > >
> > > > > > [1] newbie issues query -
> > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
> https://issues.apache.org/jira/secure/IssueNavigator.jspa?mode=hide&requestId=12318871
> > > > > >
> > > > > >
> > > > > > Thanks & Regards,
> > > > > > > Mukul
> > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>

Re: Thinking of contributing? Some ideas.

Posted by mukul joshi <mu...@gmail.com>.
Hi Dan,

After removing 2 entries in isis.properties related to AssociatedEntities
(Repository and Fixture), am able to traverse the JSON resource
representation in the browser.

What are the next steps? Is there going to be any major changes in the
restfulobjects-viewer? Is there any change in the link from resource
representation to resource to domain objects? Or changes only limited to
the resource representation? This is all related to spec 1.0 vis-a-vis spec
0.52 which is the current implementation.

One observation regarding the web.xml in restfulobjects-viewer: This is
still using session filters from the nakedobjects package which presumably
is not there in the apache-isis project.

Still going through the isis architecture/organisation and site docs.

Thanks & Regards,
Mukul

On 3 October 2012 12:29, Dan Haywood <da...@haywood-associates.co.uk> wrote:

> Hi Mukul,
> it's probably just an incorrect entry in the isis.properties file for that
> project.  I'll take a deeper look and see if I can confirm for you.
> Cheers
> Dan
>
>
> On 1 October 2012 13:14, mukul joshi <mu...@gmail.com> wrote:
>
> > Hi Dan,
> >
> > Thanks for the clarifications.
> >
> > I have done the following:
> > 1. Created a fork of Apache Isis in GitHub
> > 2. Setup Eclipse Juno EE with M2E, JettyRunner, EclEmma and coding
> > templates
> > 3. Maven imported the "framework"
> > 4. On launching the restfulobjects-tck in Eclipse I am getting the
> > following error:
> >
> > Error in custom provider,
> > org.apache.isis.runtimes.dflt.runtime.services.InitialisationException:
> > Cannot find class
> > 'org.apache.isis.tck.dom.refs.AssociatedEntitiesRepository' for service
> >   at
> >
> >
> org.apache.isis.runtimes.dflt.runtime.runner.IsisModule.provideIsisSystem(IsisModule.java:154)
> >   at
> >
> >
> org.apache.isis.runtimes.dflt.runtime.runner.IsisModule.provideIsisSystem(IsisModule.java:154)
> >   while locating org.apache.isis.runtimes.dflt.runtime.system.IsisSystem
> >
> > 1 error
> >     at
> com.google.inject.internal.InjectorImpl$4.get(InjectorImpl.java:987)
> >     at
> >
> com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1013)
> >     at
> >
> >
> org.apache.isis.runtimes.dflt.webapp.IsisWebAppBootstrapper.contextInitialized(IsisWebAppBootstrapper.java:113)
> >     at
> >
> >
> org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:549)
> >     at org.mortbay.jetty.servlet.Context.startContext(Context.java:136)
> >     at
> >
> >
> org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1282)
> >     at
> > org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:518)
> >     at
> > org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:499)
> >     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 runjettyrun.Bootstrap.main(Bootstrap.java:97)
> > Caused by:
> > org.apache.isis.runtimes.dflt.runtime.services.InitialisationException:
> > Cannot find class
> > 'org.apache.isis.tck.dom.refs.AssociatedEntitiesRepository' for service
> >     at
> >
> >
> org.apache.isis.runtimes.dflt.runtime.services.ServicesInstallerFromConfiguration.loadClass(ServicesInstallerFromConfiguration.java:162)
> >     at
> >
> >
> org.apache.isis.runtimes.dflt.runtime.services.ServicesInstallerFromConfiguration.createService(ServicesInstallerFromConfiguration.java:145)
> >     at
> >
> >
> org.apache.isis.runtimes.dflt.runtime.services.ServicesInstallerFromConfiguration.appendConfiguredServices(ServicesInstallerFromConfiguration.java:104)
> >     at
> >
> >
> org.apache.isis.runtimes.dflt.runtime.services.ServicesInstallerFromConfiguration.appendServices(ServicesInstallerFromConfiguration.java:84)
> >     at
> >
> >
> org.apache.isis.runtimes.dflt.runtime.services.ServicesInstallerFromConfiguration.getServices(ServicesInstallerFromConfiguration.java:63)
> >     at
> >
> >
> org.apache.isis.runtimes.dflt.runtime.systemusinginstallers.IsisSystemUsingInstallers.obtainServices(IsisSystemUsingInstallers.java:231)
> >     at
> >
> >
> org.apache.isis.runtimes.dflt.runtime.systemusinginstallers.IsisSystemAbstract.createSessionFactory(IsisSystemAbstract.java:181)
> >     at
> >
> >
> org.apache.isis.runtimes.dflt.runtime.systemusinginstallers.IsisSystemAbstract.doCreateSessionFactory(IsisSystemAbstract.java:160)
> >     at
> >
> >
> org.apache.isis.runtimes.dflt.runtime.system.IsisSystemFixturesHookAbstract.init(IsisSystemFixturesHookAbstract.java:118)
> >     at
> >
> >
> org.apache.isis.runtimes.dflt.runtime.runner.IsisModule.provideIsisSystem(IsisModule.java:155)
> >     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> >     at
> >
> >
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> >     at
> >
> >
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> >     at java.lang.reflect.Method.invoke(Method.java:601)
> >     at
> > com.google.inject.internal.ProviderMethod.get(ProviderMethod.java:104)
> >     at
> >
> >
> com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)
> >     at
> >
> >
> com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
> >     at
> >
> >
> com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1031)
> >     at
> >
> >
> com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
> >     at com.google.inject.Scopes$1$1.get(Scopes.java:65)
> >     at
> >
> >
> com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)
> >     at
> > com.google.inject.internal.InjectorImpl$4$1.call(InjectorImpl.java:978)
> >     at
> >
> >
> com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1024)
> >     at
> com.google.inject.internal.InjectorImpl$4.get(InjectorImpl.java:974)
> >     ... 12 more
> >
> > Checked the source tree and there is no AssociatedEntitiesRepository
> source
> > file.
> >
> > The reference to AssociatedEntitiesRepository is in the isis.properties
> in
> > the WEB-INF of the restfulobjects-tck module.
> >
> > Let me know if i have missed anything while doing the setup or whether we
> > need to fix anything.
> >
> > Thanks & Regards,
> > Mukul
> >
> > On 24 September 2012 16:33, Dan Haywood <dan@haywood-associates.co.uk
> > >wrote:
> >
> > > On 24 September 2012 06:40, mukul joshi <mu...@gmail.com>
> > > wrote:
> > >
> > > >
> > > > Thanks for the suggestions.
> > > >
> > > > I will start looking at the viewers i.e. Wicket and Restful Objects.
> I
> > > > guess an application will be required in both the areas. So will
> start
> > > with
> > > > a sample application and then see how these viewers are
> > built/triggered.
> > >
> > >
> > > What we've been moving to - slowly - is to move these sample
> applications
> > > into the "tck" application (named after the technology compatibility
> kits
> > > that formal Java specifications have).  The ideas, eventually, is to
> > have a
> > > single standard application that contains all of the features supported
> > by
> > > Isis (eg choices, defaults, validation, hiding, disabling, hints such
> as
> > > memberorder, autocomplete, parent/child relations, polymorphic
> relations,
> > > aggregated entities, custom value types etc... );such that each
> component
> > > can use this same TCK app to write tests against.  (It might be
> possible
> > in
> > > the future to write contract tests [1] so we can be assured that the
> > > behaviour of different implementations of the objectstore API, say, is
> > > identical.
> > >
> > > But in the first event, just to say that the tck app is the thing to
> use
> > as
> > > your sample app.  You'll find that there is wicket-tck and
> > > restfulobjects-tck projects that will boot up that app in their
> > respective
> > > viewers.
> > >
> > >
> > >
> > > > A
> > > > selenium script will be applicable to both viewers - or will need
> > > > customisation for both the viewers?
> > > >
> > >
> > > I can see selenium as being relevant to Wicket, but I don't see it as
> > being
> > > relevant to the RestfulObjects viewer.  For the latter, you can use the
> > RO
> > > applib.  Some of the existing tests already use this.
> > >
> > > Even for the Wicket viewer, it might be possible to avoid the weight
> and
> > > complexity of Selenium by instead using a lighter-weight testing
> library.
> > >  On a (non-Isis) project I was on last year we used JSoup [2] with some
> > > success.  It's licensed under MIT, so is compatible with ASF.
> > >
> > >
> > >
> > > > What is required to use the latest Restful Objects spec? Do we need
> to
> > > > implement the latest spec?
> > > >
> > >
> > > Yes, we need to implement the latest spec.   The spec currently is at
> > > v1.0.0, but the Isis implementation (ie viewer/restfulobjects) is
> > currently
> > > at v0.52.  In fact, given I wrote the spec, it'd be rather good if
> > someone
> > > other than me did the remainder of the implementation + tests ;-)
> > >
> > >
> > > If you prefer to use git over svn, you might find it easiest to work
> > using
> > > a fork from my github copy of Isis [3]
> > >
> > > Cheers
> > > Dan
> > >
> > > [1] http://martinfowler.com/bliki/IntegrationContractTest.html
> > > [2] http://jsoup.org/
> > > [3] https://github.com/danhaywood/apache-isis
> > >
> > >
> > >
> > >
> > > > Thanks & Regards,
> > > > Mukul
> > > >
> > > > On 20 September 2012 23:29, Dan Haywood <
> dan@haywood-associates.co.uk
> > > > >wrote:
> > > >
> > > > > Hi Mukul / anyone else...
> > > > >
> > > > > On 4 September 2012 11:17, mukul joshi <
> mukul.ashok.joshi@gmail.com>
> > > > > wrote:
> > > > >
> > > > > >
> > > > > > Let me know if you need help in any areas where the design is
> clear
> > > and
> > > > > the
> > > > > > changes are clear cut. I can start with some simple things. I
> have
> > > just
> > > > > > started to go through the organisation of Isis and its
> > architecture.
> > > > > >
> > > > > >
> > > > > Just wanted to pick up on your offer... are there any areas of Isis
> > in
> > > > > particular you feel like working on?  (Of course, not being a
> > committer
> > > > > these would need to be patches attached to JIRAs; but forking from
> > > github
> > > > > makes this relatively painless to do).
> > > > >
> > > > > Right now my own interests are in the Wicket viewer, and the JDO
> > > > > objectstore.  So one thing that would be of help is just building
> > some
> > > > new
> > > > > apps that use these particular components, and help test them by
> > using
> > > > > them.  Or, (though this doesn't sound like fun to me), writing some
> > > > > end-to-end regression tests for the wicket viewer using Selenium or
> > > JSoup
> > > > > or something similar will be needed at some point.
> > > > >
> > > > > Another area that needs work is the Restful Objects viewer...
> > currently
> > > > it
> > > > > doesn't implement the spec 1.0.0.  That's a nice little discrete
> area
> > > to
> > > > > work on.
> > > > >
> > > > > Alternatively, there's a bunch of "newbie" issues up on Jira [1].
>  A
> > > lot
> > > > of
> > > > > them are to do with building "off-the-shelf" domain services and/or
> > > > > entities.  Would all be valuable stuff.
> > > > >
> > > > > Let me know if any of this sounds of interest
> > > > >
> > > > > Dan
> > > > >
> > > > > PS: other committers... please feel free to suggest other ideas!
> > > > >
> > > > > [1] newbie issues query -
> > > > >
> > > > >
> > > >
> > >
> >
> https://issues.apache.org/jira/secure/IssueNavigator.jspa?mode=hide&requestId=12318871
> > > > >
> > > > >
> > > > > Thanks & Regards,
> > > > > > Mukul
> > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>

Re: Thinking of contributing? Some ideas.

Posted by Dan Haywood <da...@haywood-associates.co.uk>.
Hi Mukul,
it's probably just an incorrect entry in the isis.properties file for that
project.  I'll take a deeper look and see if I can confirm for you.
Cheers
Dan


On 1 October 2012 13:14, mukul joshi <mu...@gmail.com> wrote:

> Hi Dan,
>
> Thanks for the clarifications.
>
> I have done the following:
> 1. Created a fork of Apache Isis in GitHub
> 2. Setup Eclipse Juno EE with M2E, JettyRunner, EclEmma and coding
> templates
> 3. Maven imported the "framework"
> 4. On launching the restfulobjects-tck in Eclipse I am getting the
> following error:
>
> Error in custom provider,
> org.apache.isis.runtimes.dflt.runtime.services.InitialisationException:
> Cannot find class
> 'org.apache.isis.tck.dom.refs.AssociatedEntitiesRepository' for service
>   at
>
> org.apache.isis.runtimes.dflt.runtime.runner.IsisModule.provideIsisSystem(IsisModule.java:154)
>   at
>
> org.apache.isis.runtimes.dflt.runtime.runner.IsisModule.provideIsisSystem(IsisModule.java:154)
>   while locating org.apache.isis.runtimes.dflt.runtime.system.IsisSystem
>
> 1 error
>     at com.google.inject.internal.InjectorImpl$4.get(InjectorImpl.java:987)
>     at
> com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1013)
>     at
>
> org.apache.isis.runtimes.dflt.webapp.IsisWebAppBootstrapper.contextInitialized(IsisWebAppBootstrapper.java:113)
>     at
>
> org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:549)
>     at org.mortbay.jetty.servlet.Context.startContext(Context.java:136)
>     at
>
> org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1282)
>     at
> org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:518)
>     at
> org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:499)
>     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 runjettyrun.Bootstrap.main(Bootstrap.java:97)
> Caused by:
> org.apache.isis.runtimes.dflt.runtime.services.InitialisationException:
> Cannot find class
> 'org.apache.isis.tck.dom.refs.AssociatedEntitiesRepository' for service
>     at
>
> org.apache.isis.runtimes.dflt.runtime.services.ServicesInstallerFromConfiguration.loadClass(ServicesInstallerFromConfiguration.java:162)
>     at
>
> org.apache.isis.runtimes.dflt.runtime.services.ServicesInstallerFromConfiguration.createService(ServicesInstallerFromConfiguration.java:145)
>     at
>
> org.apache.isis.runtimes.dflt.runtime.services.ServicesInstallerFromConfiguration.appendConfiguredServices(ServicesInstallerFromConfiguration.java:104)
>     at
>
> org.apache.isis.runtimes.dflt.runtime.services.ServicesInstallerFromConfiguration.appendServices(ServicesInstallerFromConfiguration.java:84)
>     at
>
> org.apache.isis.runtimes.dflt.runtime.services.ServicesInstallerFromConfiguration.getServices(ServicesInstallerFromConfiguration.java:63)
>     at
>
> org.apache.isis.runtimes.dflt.runtime.systemusinginstallers.IsisSystemUsingInstallers.obtainServices(IsisSystemUsingInstallers.java:231)
>     at
>
> org.apache.isis.runtimes.dflt.runtime.systemusinginstallers.IsisSystemAbstract.createSessionFactory(IsisSystemAbstract.java:181)
>     at
>
> org.apache.isis.runtimes.dflt.runtime.systemusinginstallers.IsisSystemAbstract.doCreateSessionFactory(IsisSystemAbstract.java:160)
>     at
>
> org.apache.isis.runtimes.dflt.runtime.system.IsisSystemFixturesHookAbstract.init(IsisSystemFixturesHookAbstract.java:118)
>     at
>
> org.apache.isis.runtimes.dflt.runtime.runner.IsisModule.provideIsisSystem(IsisModule.java:155)
>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>     at
>
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>     at
>
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>     at java.lang.reflect.Method.invoke(Method.java:601)
>     at
> com.google.inject.internal.ProviderMethod.get(ProviderMethod.java:104)
>     at
>
> com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)
>     at
>
> com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
>     at
>
> com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1031)
>     at
>
> com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
>     at com.google.inject.Scopes$1$1.get(Scopes.java:65)
>     at
>
> com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)
>     at
> com.google.inject.internal.InjectorImpl$4$1.call(InjectorImpl.java:978)
>     at
>
> com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1024)
>     at com.google.inject.internal.InjectorImpl$4.get(InjectorImpl.java:974)
>     ... 12 more
>
> Checked the source tree and there is no AssociatedEntitiesRepository source
> file.
>
> The reference to AssociatedEntitiesRepository is in the isis.properties in
> the WEB-INF of the restfulobjects-tck module.
>
> Let me know if i have missed anything while doing the setup or whether we
> need to fix anything.
>
> Thanks & Regards,
> Mukul
>
> On 24 September 2012 16:33, Dan Haywood <dan@haywood-associates.co.uk
> >wrote:
>
> > On 24 September 2012 06:40, mukul joshi <mu...@gmail.com>
> > wrote:
> >
> > >
> > > Thanks for the suggestions.
> > >
> > > I will start looking at the viewers i.e. Wicket and Restful Objects. I
> > > guess an application will be required in both the areas. So will start
> > with
> > > a sample application and then see how these viewers are
> built/triggered.
> >
> >
> > What we've been moving to - slowly - is to move these sample applications
> > into the "tck" application (named after the technology compatibility kits
> > that formal Java specifications have).  The ideas, eventually, is to
> have a
> > single standard application that contains all of the features supported
> by
> > Isis (eg choices, defaults, validation, hiding, disabling, hints such as
> > memberorder, autocomplete, parent/child relations, polymorphic relations,
> > aggregated entities, custom value types etc... );such that each component
> > can use this same TCK app to write tests against.  (It might be possible
> in
> > the future to write contract tests [1] so we can be assured that the
> > behaviour of different implementations of the objectstore API, say, is
> > identical.
> >
> > But in the first event, just to say that the tck app is the thing to use
> as
> > your sample app.  You'll find that there is wicket-tck and
> > restfulobjects-tck projects that will boot up that app in their
> respective
> > viewers.
> >
> >
> >
> > > A
> > > selenium script will be applicable to both viewers - or will need
> > > customisation for both the viewers?
> > >
> >
> > I can see selenium as being relevant to Wicket, but I don't see it as
> being
> > relevant to the RestfulObjects viewer.  For the latter, you can use the
> RO
> > applib.  Some of the existing tests already use this.
> >
> > Even for the Wicket viewer, it might be possible to avoid the weight and
> > complexity of Selenium by instead using a lighter-weight testing library.
> >  On a (non-Isis) project I was on last year we used JSoup [2] with some
> > success.  It's licensed under MIT, so is compatible with ASF.
> >
> >
> >
> > > What is required to use the latest Restful Objects spec? Do we need to
> > > implement the latest spec?
> > >
> >
> > Yes, we need to implement the latest spec.   The spec currently is at
> > v1.0.0, but the Isis implementation (ie viewer/restfulobjects) is
> currently
> > at v0.52.  In fact, given I wrote the spec, it'd be rather good if
> someone
> > other than me did the remainder of the implementation + tests ;-)
> >
> >
> > If you prefer to use git over svn, you might find it easiest to work
> using
> > a fork from my github copy of Isis [3]
> >
> > Cheers
> > Dan
> >
> > [1] http://martinfowler.com/bliki/IntegrationContractTest.html
> > [2] http://jsoup.org/
> > [3] https://github.com/danhaywood/apache-isis
> >
> >
> >
> >
> > > Thanks & Regards,
> > > Mukul
> > >
> > > On 20 September 2012 23:29, Dan Haywood <dan@haywood-associates.co.uk
> > > >wrote:
> > >
> > > > Hi Mukul / anyone else...
> > > >
> > > > On 4 September 2012 11:17, mukul joshi <mu...@gmail.com>
> > > > wrote:
> > > >
> > > > >
> > > > > Let me know if you need help in any areas where the design is clear
> > and
> > > > the
> > > > > changes are clear cut. I can start with some simple things. I have
> > just
> > > > > started to go through the organisation of Isis and its
> architecture.
> > > > >
> > > > >
> > > > Just wanted to pick up on your offer... are there any areas of Isis
> in
> > > > particular you feel like working on?  (Of course, not being a
> committer
> > > > these would need to be patches attached to JIRAs; but forking from
> > github
> > > > makes this relatively painless to do).
> > > >
> > > > Right now my own interests are in the Wicket viewer, and the JDO
> > > > objectstore.  So one thing that would be of help is just building
> some
> > > new
> > > > apps that use these particular components, and help test them by
> using
> > > > them.  Or, (though this doesn't sound like fun to me), writing some
> > > > end-to-end regression tests for the wicket viewer using Selenium or
> > JSoup
> > > > or something similar will be needed at some point.
> > > >
> > > > Another area that needs work is the Restful Objects viewer...
> currently
> > > it
> > > > doesn't implement the spec 1.0.0.  That's a nice little discrete area
> > to
> > > > work on.
> > > >
> > > > Alternatively, there's a bunch of "newbie" issues up on Jira [1].  A
> > lot
> > > of
> > > > them are to do with building "off-the-shelf" domain services and/or
> > > > entities.  Would all be valuable stuff.
> > > >
> > > > Let me know if any of this sounds of interest
> > > >
> > > > Dan
> > > >
> > > > PS: other committers... please feel free to suggest other ideas!
> > > >
> > > > [1] newbie issues query -
> > > >
> > > >
> > >
> >
> https://issues.apache.org/jira/secure/IssueNavigator.jspa?mode=hide&requestId=12318871
> > > >
> > > >
> > > > Thanks & Regards,
> > > > > Mukul
> > > > >
> > > > >
> > > >
> > >
> >
>