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 <da...@haywood-associates.co.uk> on 2012/11/04 21:12:09 UTC

Re: Thinking of contributing? Some ideas.

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