incubator-isis-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From mukul joshi <mukul.ashok.jo...@gmail.com>
Subject Re: Thinking of contributing? Some ideas.
Date Mon, 22 Oct 2012 04:42:17 GMT
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 <dan@haywood-associates.co.uk> wrote:

> Hi Mukul,
>
>
> On 15 October 2012 11:58, mukul joshi <mukul.ashok.joshi@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 <dan@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 <mukul.ashok.joshi@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
> > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message