[dna-dev] java-source artifact CND
Michael Neale
michael.neale at gmail.com
Mon May 26 19:52:17 EDT 2008
The only problem I see with CND which is so granular is that it is
currently jackrabbit specific (I think? I could be wrong, am a bit out
of date) - also a side issue is how to handle migrations if a new
field of data is needed.
On Tue, May 27, 2008 at 6:54 AM, Serge Emmanuel Pagop
<serge.pagop at innoq.com> wrote:
> Hi Randall,
> sorry for the long weeks without my response of your last post. That was
> because of stress in my current project.
> But this weekend I have taken a little time for the refactory of the
> java-source-artifact CND and also taken a look at the Eclipse JDT library to
> see how we can smoothly and sequently get informations from a java source
> file and I'm also thereby to see how to use the Abstract Syntax Tree (AST)
> framework to parse the java source. What do you thing about AST as a parser?
> Here is the refactory CND schema and lets me know if something have to be
> enhanced or if we miss some important elements for the first Java sequencer
> release . Next week I will start with the implementation of the Java
> Sequencer.
> /*
> * JBoss, Home of Professional Open Source.
> * Copyright 2008, Red Hat Middleware LLC, and individual contributors
> * as indicated by the @author tags. See the copyright.txt file in the
> * distribution for a full listing of individual contributors.
> *
> * This is free software; you can redistribute it and/or modify it
> * under the terms of the GNU Lesser General Public License as
> * published by the Free Software Foundation; either version 2.1 of
> * the License, or (at your option) any later version.
> *
> * This software is distributed in the hope that it will be useful,
> * but WITHOUT ANY WARRANTY; without even the implied warranty of
> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
> * Lesser General Public License for more details.
> *
> * You should have received a copy of the GNU Lesser General Public
> * License along with this software; if not, write to the Free
> * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
> * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
> */
> /**
> * @author Serge Pagop (serge.pagop at innoq.com)
> */
> //------------------------------------------------------------------------------
> // N A M E S P A C E S
> //------------------------------------------------------------------------------
> <java='http://www.jboss.org/dna/java/1.0'>
> <nt='http://www.jcp.org/jcr/nt/1.0'>
> <mix='http://www.jcp.org/jcr/mix/1.0'>
> //------------------------------------------------------------------------------
> // B A S E T Y P E S
> //------------------------------------------------------------------------------
>
> //------------------------------------------------------------------------------
> // V E R S I O N I N G
> //------------------------------------------------------------------------------
>
> //------------------------------------------------------------------------------
> // N O D E T Y P E S
> //------------------------------------------------------------------------------
> /**
> * Formal paramter
> */
> [java:formalParameter] > nt:unstructured mixin
> - java:name (string)
> + java:type (java:primitiveType, java:referenceType) mandatory multiple
> /**
> * No Return type
> */
> [java:noReturnType]
> - java:noReturn (string)
> < 'void'
> /**
> * Integral type
> */
> [java:integralType]
> - java:predefinedIntegralType (string) mandatory
> < 'byte', 'short', 'int', 'long', 'char'
> /**
> * Floating point type
> */
> [java:floatingPointType]
> - java:predefinedFloatingType (string) mandatory
> < 'float', 'double'
> /**
> * Primitive type
> */
> [java:primitiveType]
> - java:booleanType (string)
> < 'boolean'
> + java:numericType (java:integralType, java:floatingPointType)
>
>
>
> /**
> * Reference type (TODO needs some enhancements)
> */
> [java:referenceType]
> /**
> * Field type
> */
> [java:fieldType]
> - java:description (string)
> - java:modifier (string)
> < 'public', 'protected', 'private'
> - java:declaredAs (string) multiple
> < 'static','final', 'transient', 'volatile'
> - java:name (string) mandatory
> + java:type (java:primitiveType, java:referenceType) mandatory multiple
>
>
>
> /**
> * Method declaration
> */
> [java:methodType]
> - java:description (string)
> - java:modifier (string)
> < 'public', 'protected', 'private'
> + java:resultType (java:noReturnType, java:primitiveType,
> java:referenceType) mandatory
> - java:name (string) mandatory
> - java:declaredAs (string) multiple
> < 'static','final', 'native', 'strictfp', 'synchronized'
> + java:parameter (java:formalParameter) multiple
> /**
> * Constructor declaration
> */
> [java:constructorType]
> - java:description (string)
> - java:modifier (string)
> < 'public', 'protected', 'private'
> - java:name (string) mandatory
> + java:parameter (java:formalParameter)
> /**
> * Mixin that defines the java source metadata
> */
> [java:metadata] > nt:unstructured mixin
> - java:description (string)
> - java:modifier = 'public'
> - java:declaredAs (string)
> < 'abstract', 'final'
> - java:name (string) mandatory
> + java:field (java:fieldType) = java:fieldType multiple
> + java:method (java:methodType) = java:methodType multiple
> + java:constructor (java:constructorType) = java:constructorType multiple
>
> P.S. Annatation is also one open issue
> -------
> |||| Serge Pagop
> |||| Senior Consultant
> ||||
> |||| JBUG Munich Founder
> ||||
> |||| innoQ Deutschland GmbH, Halskestr. 17, D-40880 Ratingen, Germany
> |||| Phone: +49 2102 77162-100, Mobile: +49 178 4049592, Fax: +49 2102
> 77160-1
> |||| Mail: serge.pagop at innoq.com, Web: http://www.innoq.com,
> |||| Weblog: http://www.innoq.com/blog/sp, JBug-munich:
> http://www.jbug-munich.org
>
> _______________________________________________
> dna-dev mailing list
> dna-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/dna-dev
>
>
--
Michael D Neale
home: www.michaelneale.net
blog: michaelneale.blogspot.com
More information about the dna-dev
mailing list