polygene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Prince Arora <aroraprince...@gmail.com>
Subject Re: Introduction
Date Fri, 19 Aug 2016 09:04:00 GMT
Hi Niclas,

Thank you for the reply. I have started looking at the documents and
working on COP consents. I guess documents and tutorials can be the first
thing that i can help with.
Thanks


On Fri, Aug 19, 2016 at 1:21 PM, Niclas Hedhman <niclas@hedhman.org> wrote:

> Hi and welcome to Apache Zest,
>
> I have good news, and perhaps less good news. The good news is that this is
> a small community with relatively slow progress, so it is easy to get to
> know everyone, get help and keep up with what is going on. I think we
> average one mail per day over a quarter, so not too hard.
> But, Zest is about Composite Oriented Programming (COP), a paradigm coined
> by this community (then Qi4j) about 9 years ago. And COP on Java is
> mind-bending, so you might be in for a shock therapeutic experience going
> forward.
>
> Now, regarding the "Migrate to Java 8"; Most of the work is done, but there
> are a LOT (too much!) of things we want to do in the 3.0 release.
>
> First of all, I think you need to familarize yourself with the Zest
> programming model. For instance, understanding that;
>
> public interface Person extends HasName, HasAge{}
>
> public interface HasName {
>     Property<String> name();
> }
>
> @Mixins( HasAge.Mixin.class )
> public interface HasAge {
>     int age();
>     int age( LocalDate at );
>
>     Property<LocalDate> birthdate();
>
>     abstract class Mixin
>         implements HasAge {
>
>         public int age(){
>             return age( LocalDate.now() );
>         }
>
>         public int age( LocalDate at ) {
>             return Period.between( birthdate().get(), at ).getYears();
>         }
>     }
> }
>
> With the above entity (of type Person), Zest will wire up this to actually
> work without additional code, and one could do;
>
> @UnitOfWorkPropagation( MANDATORY )  // if unit of work isn't in progress,
> this will fail
> public Iterator<Person> findPerson( String name )
> {
>     QueryBuilder qb = queryBuilderFactory.newQueryBuilder( Person.class );
>     HasName template = templateFor( HasName.class );
>     qb = qb.where( eq( template.name(), name ) );
>     Query<Person> q = unitOfWorkFactory.currentUnitOfWork().newQuery( qb
> );
>     return q.iterator();
> }
>
> To query for all person with a given name in the underlying entity store.
>
> To get these basics, I think that you should try out the Qi4j 2.1 release,
> and do some simple examples from the Tutorials section first. And please
> come back with questions and suggestions on how to improve the tutorials.
> That is something we really need at the moment.
>
> After that, if you are still at your senses, you might want to tackle
> relatively easy tasks first, such as "multi @Constraints, @Concerns and
> @Mixins annotations" or an extension for a new entity store. The latter
> having the advantage of a ready-made test kit. Or you might be interested
> in creating more tests to get the hang of how apps are written with Zest.
>
> Once again, welcome to a mind-blowing world of Composite Oriented
> Programming.
>
>
> Cheers
>
> On Fri, Aug 19, 2016 at 2:56 PM, Prince Arora <aroraprince151@gmail.com>
> wrote:
>
> > Hi Everyone,
> >
> > My self Prince Arora and i am working as senior developer in an IT
> services
> > based organisation in India. I have 4 years of experience working in Java
> > and really want to give my contribution to community.
> > I have worked with CMS like Adobe AEM, Jahia, products like Adobe Live
> > cycle, and other technologies and frameworks like Spring, JPA, Swing,
> > Digital Signing and Encryption, Mongo, SQL, Linux and application servers
> > like Apache Tomcat and Wildfly.
> > I have used some of Apache's frameworks like httpcomponents,
> commons-lang,
> > common-io, commons-net.
> >
> > I am going through the code and issues in Jira. I will be really happy to
> > give my contribution and open for suggestions.
> >
> > Since this is my first contribution in an open source project, i will be
> > needing little bit help with the procedures and best practices. Let me
> know
> > how and where i can start giving my contribution.
> >
> > Thanks.
> > Prince Arora
> >
>
>
>
> --
> Niclas Hedhman, Software Developer
> http://zest.apache.org - New Energy for Java
>

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