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, 15 Oct 2012 10:58:51 GMT
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 <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