DNA SVN: r336 - trunk/sequencers/dna-sequencer-java/src/test/java/org/jboss/dna/sequencer/java.
by dna-commits@lists.jboss.org
Author: spagop
Date: 2008-07-03 07:15:08 -0400 (Thu, 03 Jul 2008)
New Revision: 336
Modified:
trunk/sequencers/dna-sequencer-java/src/test/java/org/jboss/dna/sequencer/java/JavaMetadataTest.java
Log:
enhance the test unit for create top level type
Modified: trunk/sequencers/dna-sequencer-java/src/test/java/org/jboss/dna/sequencer/java/JavaMetadataTest.java
===================================================================
--- trunk/sequencers/dna-sequencer-java/src/test/java/org/jboss/dna/sequencer/java/JavaMetadataTest.java 2008-07-03 11:13:59 UTC (rev 335)
+++ trunk/sequencers/dna-sequencer-java/src/test/java/org/jboss/dna/sequencer/java/JavaMetadataTest.java 2008-07-03 11:15:08 UTC (rev 336)
@@ -23,6 +23,7 @@
import static org.hamcrest.core.Is.is;
import static org.hamcrest.core.IsNull.notNullValue;
+import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertThat;
import static org.junit.Assert.assertTrue;
import java.io.File;
@@ -31,19 +32,18 @@
import java.io.InputStream;
import java.util.Iterator;
import java.util.List;
-import java.util.Set;
+import java.util.Map;
import org.eclipse.jdt.core.dom.ASTNode;
-import org.eclipse.jdt.core.dom.Annotation;
import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jdt.core.dom.MarkerAnnotation;
-import org.jboss.dna.sequencer.java.annotationmetadata.AnnotationMetadata;
-import org.jboss.dna.sequencer.java.annotationmetadata.MarkerAnnotationMetadata;
-import org.jboss.dna.sequencer.java.fieldmetadata.FieldMetadata;
-import org.jboss.dna.sequencer.java.importmetadata.ImportMetadata;
-import org.jboss.dna.sequencer.java.importmetadata.ImportOnDemandMetadata;
-import org.jboss.dna.sequencer.java.importmetadata.SingleImportMetadata;
-import org.jboss.dna.sequencer.java.packagemetadata.PackageMetadata;
-import org.jboss.dna.sequencer.java.typemetadata.TypeMetadata;
+import org.jboss.dna.sequencer.java.metadata.AnnotationMetadata;
+import org.jboss.dna.sequencer.java.metadata.ClassMetadata;
+import org.jboss.dna.sequencer.java.metadata.ImportMetadata;
+import org.jboss.dna.sequencer.java.metadata.ImportOnDemandMetadata;
+import org.jboss.dna.sequencer.java.metadata.JavaMetadata;
+import org.jboss.dna.sequencer.java.metadata.MarkerAnnotationMetadata;
+import org.jboss.dna.sequencer.java.metadata.PackageMetadata;
+import org.jboss.dna.sequencer.java.metadata.SingleImportMetadata;
+import org.jboss.dna.sequencer.java.metadata.TypeMetadata;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
@@ -132,6 +132,27 @@
public void shouldCreateTopLevelTypeMetadata() throws Exception {
List<TypeMetadata> data = javaMetadata.createTypeMetadata((CompilationUnit)rootNode);
assertTrue(data.size() > 0);
+ for (TypeMetadata typeMetadata : data) {
+ // meta data of a top level class
+ if (typeMetadata instanceof ClassMetadata) {
+ ClassMetadata classMetadata = (ClassMetadata)typeMetadata;
+ assertThat(classMetadata.getName(), is("MySource"));
+ // modifiers of the top level class
+ Map<Integer, String> modifiers = classMetadata.getModifiers();
+ assertNotNull(modifiers);
+ assertTrue(!modifiers.isEmpty());
+ assertThat(modifiers.get(ClassMetadata.PUBLIC_MODIFIER), is("public"));
+ // annotations of the top level class
+ List<AnnotationMetadata> annotations = classMetadata.getAnnotationMetadata();
+ for (AnnotationMetadata annotationMetadata : annotations) {
+ if (annotationMetadata instanceof MarkerAnnotationMetadata) {
+ MarkerAnnotationMetadata marker = (MarkerAnnotationMetadata)annotationMetadata;
+ assertNotNull(marker);
+ assertThat(marker.getName(), is("MyClassAnnotation"));
+ }
+ }
+ }
+ }
}
}
15 years, 10 months
DNA SVN: r335 - trunk/sequencers/dna-sequencer-java/src/main/resources/org/jboss/dna/sequencer/java.
by dna-commits@lists.jboss.org
Author: spagop
Date: 2008-07-03 07:13:59 -0400 (Thu, 03 Jul 2008)
New Revision: 335
Modified:
trunk/sequencers/dna-sequencer-java/src/main/resources/org/jboss/dna/sequencer/java/java-source-artifact.cnd
Log:
enhance the cnd file
Modified: trunk/sequencers/dna-sequencer-java/src/main/resources/org/jboss/dna/sequencer/java/java-source-artifact.cnd
===================================================================
--- trunk/sequencers/dna-sequencer-java/src/main/resources/org/jboss/dna/sequencer/java/java-source-artifact.cnd 2008-07-03 11:12:35 UTC (rev 334)
+++ trunk/sequencers/dna-sequencer-java/src/main/resources/org/jboss/dna/sequencer/java/java-source-artifact.cnd 2008-07-03 11:13:59 UTC (rev 335)
@@ -213,7 +213,8 @@
*/
[java:normalClassDeclaration] > nt:unstructured
- java:description (string)
- - java:modifier = 'public'
+ - java:modifier (string)
+ < 'public'
- java:declaredAs (string)
< 'abstract', 'final'
- java:name (string) mandatory
15 years, 10 months
DNA SVN: r334 - in trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java: annotationmetadata and 6 other directories.
by dna-commits@lists.jboss.org
Author: spagop
Date: 2008-07-03 07:12:35 -0400 (Thu, 03 Jul 2008)
New Revision: 334
Added:
trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/AbstractJavaMetadata.java
trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/
trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/AnnotationMetadata.java
trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/ClassMetadata.java
trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/FieldMetadata.java
trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/ImportMetadata.java
trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/ImportOnDemandMetadata.java
trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/InterfaceMetadata.java
trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/JavaMetadata.java
trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/JavadocMetadata.java
trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/MarkerAnnotationMetadata.java
trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/NormalAnnotationMetadata.java
trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/PackageMetadata.java
trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/SingleImportMetadata.java
trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/SingleMemberAnnotationMetadata.java
trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/TypeMetadata.java
Removed:
trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/AbstractJavaMetadata.java
trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/JavaMetadata.java
trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/annotationmetadata/AnnotationMetadata.java
trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/annotationmetadata/MarkerAnnotationMetadata.java
trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/annotationmetadata/NormalAnnotationMetadata.java
trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/annotationmetadata/SingleMemberAnnotationMetadata.java
trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/fieldmetadata/FieldMetadata.java
trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/importmetadata/ImportMetadata.java
trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/importmetadata/ImportOnDemandMetadata.java
trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/importmetadata/SingleImportMetadata.java
trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/javadocmetadata/JavadocMetadata.java
trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/packagemetadata/PackageMetadata.java
trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/typemetadata/ClassMetadata.java
trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/typemetadata/InterfaceMetadata.java
trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/typemetadata/TypeMetadata.java
Modified:
trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/JavaMetadataSequencer.java
Log:
move some related metadata impl. into the metadata package and enhance the java metadata impl.
Deleted: trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/AbstractJavaMetadata.java
===================================================================
--- trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/AbstractJavaMetadata.java 2008-07-02 01:10:12 UTC (rev 333)
+++ trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/AbstractJavaMetadata.java 2008-07-03 11:12:35 UTC (rev 334)
@@ -1,150 +0,0 @@
-/*
- * 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.
- */
-package org.jboss.dna.sequencer.java;
-
-import java.util.ArrayList;
-import java.util.List;
-import org.eclipse.jdt.core.dom.Annotation;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jdt.core.dom.ImportDeclaration;
-import org.eclipse.jdt.core.dom.MarkerAnnotation;
-import org.eclipse.jdt.core.dom.NormalAnnotation;
-import org.eclipse.jdt.core.dom.PackageDeclaration;
-import org.eclipse.jdt.core.dom.SingleMemberAnnotation;
-import org.eclipse.jdt.core.dom.TypeDeclaration;
-import org.jboss.dna.sequencer.java.annotationmetadata.MarkerAnnotationMetadata;
-import org.jboss.dna.sequencer.java.annotationmetadata.NormalAnnotationMetadata;
-import org.jboss.dna.sequencer.java.annotationmetadata.SingleMemberAnnotationMetadata;
-import org.jboss.dna.sequencer.java.importmetadata.ImportMetadata;
-import org.jboss.dna.sequencer.java.importmetadata.ImportOnDemandMetadata;
-import org.jboss.dna.sequencer.java.importmetadata.SingleImportMetadata;
-import org.jboss.dna.sequencer.java.packagemetadata.PackageMetadata;
-import org.jboss.dna.sequencer.java.typemetadata.ClassMetadata;
-import org.jboss.dna.sequencer.java.typemetadata.InterfaceMetadata;
-import org.jboss.dna.sequencer.java.typemetadata.TypeMetadata;
-
-/**
- * @author Serge Pagop
- */
-public abstract class AbstractJavaMetadata {
-
- /**
- * Create a set of <code>ImportMetadata</code> of a compilation unit.
- *
- * @param unit - the compilation unit.
- * @return all static import declarations from the compilation unit.
- */
- @SuppressWarnings( "unchecked" )
- protected List<ImportMetadata> createImportMetadata( CompilationUnit unit ) {
- List<ImportMetadata> metadata = new ArrayList<ImportMetadata>();
- List<ImportDeclaration> imports = unit.imports();
- if (!imports.isEmpty()) {
- for (ImportDeclaration importDeclaration : imports) {
- if (importDeclaration.isOnDemand()) {
- // typeImportOnDemand and staticImportOnDemand
- ImportOnDemandMetadata onDemandMetadata = new ImportOnDemandMetadata();
- onDemandMetadata.setName(JavaMetadataUtil.getName(importDeclaration.getName()));
- metadata.add(onDemandMetadata);
- } else {
- // singleTypeImport and singleStaticImport
- SingleImportMetadata singleImportMetadata = new SingleImportMetadata();
- singleImportMetadata.setName(JavaMetadataUtil.getName(importDeclaration.getName()));
- metadata.add(singleImportMetadata);
- }
-
- }
- }
- return metadata;
- }
-
- /**
- * Create a <code>PackageMetadata</code> of a compilation unit.
- *
- * @param unit - the compilation unit.
- * @return the package meta data of a compilation unit.
- */
- @SuppressWarnings( "unchecked" )
- protected PackageMetadata createPackageMetadata( CompilationUnit unit ) {
- PackageMetadata packageMetadata = null;
- List<Annotation> annotations = null;
- PackageDeclaration packageDeclaration = unit.getPackage();
- if (packageDeclaration != null) {
- annotations = packageDeclaration.annotations();
- packageMetadata = new PackageMetadata();
- packageMetadata.setName(JavaMetadataUtil.getName(unit.getPackage().getName()));
- if (!annotations.isEmpty()) {
- for (Object object : annotations) {
-
- if (object instanceof NormalAnnotation) {
- NormalAnnotation normalAnnotation = (NormalAnnotation)object;
- NormalAnnotationMetadata normalAnnotationMetadata = new NormalAnnotationMetadata();
- normalAnnotationMetadata.setName(JavaMetadataUtil.getName(normalAnnotation.getTypeName()));
- normalAnnotationMetadata.setNormal(Boolean.TRUE);
- packageMetadata.getAnnotationMetada().add(normalAnnotationMetadata);
- }
- if (object instanceof MarkerAnnotation) {
- MarkerAnnotation markerAnnotation = (MarkerAnnotation)object;
- MarkerAnnotationMetadata markerAnnotationMetadata = new MarkerAnnotationMetadata();
- markerAnnotationMetadata.setName(JavaMetadataUtil.getName(markerAnnotation.getTypeName()));
- markerAnnotationMetadata.setMarker(Boolean.TRUE);
- packageMetadata.getAnnotationMetada().add(markerAnnotationMetadata);
- }
- if (object instanceof SingleMemberAnnotation) {
- SingleMemberAnnotation singleMemberAnnotation = (SingleMemberAnnotation)object;
- SingleMemberAnnotationMetadata singleMemberAnnotationMetadata = new SingleMemberAnnotationMetadata();
- singleMemberAnnotationMetadata.setName(JavaMetadataUtil.getName(singleMemberAnnotation.getTypeName()));
- singleMemberAnnotationMetadata.setSingle(Boolean.TRUE);
- packageMetadata.getAnnotationMetada().add(singleMemberAnnotationMetadata);
-
- }
- }
- }
- }
- return packageMetadata;
- }
-
- /**
- * Create a list with all top level types of a compilation unit.
- *
- * @param unit - the compilation unit.
- * @return meta data for types in this compilation unit.
- */
- @SuppressWarnings( "unchecked" )
- protected List<TypeMetadata> createTypeMetadata( CompilationUnit unit ) {
- List<TypeMetadata> metadata = new ArrayList<TypeMetadata>();
- List<TypeDeclaration> topLevelType = unit.types();
- for (TypeDeclaration typeDeclaration : topLevelType) {
- if (typeDeclaration.isInterface()) {
- // is an interface top level type
- InterfaceMetadata interfaceMetadata = new InterfaceMetadata();
- interfaceMetadata.setName(JavaMetadataUtil.getName(typeDeclaration.getName()));
- metadata.add(interfaceMetadata);
- } else {
- // is a class top level type
- ClassMetadata classMetadata = new ClassMetadata();
- classMetadata.setName(JavaMetadataUtil.getName(typeDeclaration.getName()));
- metadata.add(classMetadata);
- }
- }
- return metadata;
- }
-}
Added: trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/AbstractJavaMetadata.java
===================================================================
--- trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/AbstractJavaMetadata.java (rev 0)
+++ trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/AbstractJavaMetadata.java 2008-07-03 11:12:35 UTC (rev 334)
@@ -0,0 +1,190 @@
+/*
+ * 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.
+ */
+package org.jboss.dna.sequencer.java;
+
+import java.util.ArrayList;
+import java.util.List;
+import org.eclipse.jdt.core.dom.AbstractTypeDeclaration;
+import org.eclipse.jdt.core.dom.Annotation;
+import org.eclipse.jdt.core.dom.AnnotationTypeDeclaration;
+import org.eclipse.jdt.core.dom.CompilationUnit;
+import org.eclipse.jdt.core.dom.EnumDeclaration;
+import org.eclipse.jdt.core.dom.ImportDeclaration;
+import org.eclipse.jdt.core.dom.MarkerAnnotation;
+import org.eclipse.jdt.core.dom.Modifier;
+import org.eclipse.jdt.core.dom.NormalAnnotation;
+import org.eclipse.jdt.core.dom.PackageDeclaration;
+import org.eclipse.jdt.core.dom.SingleMemberAnnotation;
+import org.eclipse.jdt.core.dom.TypeDeclaration;
+import org.jboss.dna.sequencer.java.metadata.ClassMetadata;
+import org.jboss.dna.sequencer.java.metadata.ImportMetadata;
+import org.jboss.dna.sequencer.java.metadata.ImportOnDemandMetadata;
+import org.jboss.dna.sequencer.java.metadata.InterfaceMetadata;
+import org.jboss.dna.sequencer.java.metadata.MarkerAnnotationMetadata;
+import org.jboss.dna.sequencer.java.metadata.NormalAnnotationMetadata;
+import org.jboss.dna.sequencer.java.metadata.PackageMetadata;
+import org.jboss.dna.sequencer.java.metadata.SingleImportMetadata;
+import org.jboss.dna.sequencer.java.metadata.SingleMemberAnnotationMetadata;
+import org.jboss.dna.sequencer.java.metadata.TypeMetadata;
+
+/**
+ * Abstract definition of a <tt>JavaMetadata<tt>. This class exposes some useful methods, that can
+ * be used to create meta data of a compilation unit. Methods can also separately be used.
+ *
+ * @author Serge Pagop
+ */
+public abstract class AbstractJavaMetadata {
+
+ /**
+ * Create a set of <code>ImportMetadata</code> of a compilation unit.
+ *
+ * @param unit - the compilation unit.
+ * @return all static import declarations from the compilation unit.
+ */
+ @SuppressWarnings( "unchecked" )
+ protected List<ImportMetadata> createImportMetadata( CompilationUnit unit ) {
+ List<ImportMetadata> metadata = new ArrayList<ImportMetadata>();
+ List<ImportDeclaration> imports = unit.imports();
+ if (!imports.isEmpty()) {
+ for (ImportDeclaration importDeclaration : imports) {
+ if (importDeclaration.isOnDemand()) {
+ // typeImportOnDemand and staticImportOnDemand
+ ImportOnDemandMetadata onDemandMetadata = new ImportOnDemandMetadata();
+ onDemandMetadata.setName(JavaMetadataUtil.getName(importDeclaration.getName()));
+ metadata.add(onDemandMetadata);
+ } else {
+ // singleTypeImport and singleStaticImport
+ SingleImportMetadata singleImportMetadata = new SingleImportMetadata();
+ singleImportMetadata.setName(JavaMetadataUtil.getName(importDeclaration.getName()));
+ metadata.add(singleImportMetadata);
+ }
+
+ }
+ }
+ return metadata;
+ }
+
+ /**
+ * Create a <code>PackageMetadata</code> of a compilation unit.
+ *
+ * @param unit - the compilation unit.
+ * @return the package meta data of a compilation unit.
+ */
+ @SuppressWarnings( "unchecked" )
+ protected PackageMetadata createPackageMetadata( CompilationUnit unit ) {
+ PackageMetadata packageMetadata = null;
+ List<Annotation> annotations = null;
+ PackageDeclaration packageDeclaration = unit.getPackage();
+ if (packageDeclaration != null) {
+ annotations = packageDeclaration.annotations();
+ packageMetadata = new PackageMetadata();
+ packageMetadata.setName(JavaMetadataUtil.getName(unit.getPackage().getName()));
+ if (!annotations.isEmpty()) {
+ for (Object object : annotations) {
+
+ if (object instanceof NormalAnnotation) {
+ NormalAnnotation normalAnnotation = (NormalAnnotation)object;
+ NormalAnnotationMetadata normalAnnotationMetadata = new NormalAnnotationMetadata();
+ normalAnnotationMetadata.setName(JavaMetadataUtil.getName(normalAnnotation.getTypeName()));
+ normalAnnotationMetadata.setNormal(Boolean.TRUE);
+ packageMetadata.getAnnotationMetada().add(normalAnnotationMetadata);
+ }
+ if (object instanceof MarkerAnnotation) {
+ MarkerAnnotation markerAnnotation = (MarkerAnnotation)object;
+ MarkerAnnotationMetadata markerAnnotationMetadata = new MarkerAnnotationMetadata();
+ markerAnnotationMetadata.setName(JavaMetadataUtil.getName(markerAnnotation.getTypeName()));
+ markerAnnotationMetadata.setMarker(Boolean.TRUE);
+ packageMetadata.getAnnotationMetada().add(markerAnnotationMetadata);
+ }
+ if (object instanceof SingleMemberAnnotation) {
+ SingleMemberAnnotation singleMemberAnnotation = (SingleMemberAnnotation)object;
+ SingleMemberAnnotationMetadata singleMemberAnnotationMetadata = new SingleMemberAnnotationMetadata();
+ singleMemberAnnotationMetadata.setName(JavaMetadataUtil.getName(singleMemberAnnotation.getTypeName()));
+ singleMemberAnnotationMetadata.setSingle(Boolean.TRUE);
+ packageMetadata.getAnnotationMetada().add(singleMemberAnnotationMetadata);
+
+ }
+ }
+ }
+ }
+ return packageMetadata;
+ }
+
+ /**
+ * Create a list with all top level types of a compilation unit.
+ *
+ * @param unit - the compilation unit.
+ * @return meta data for types in this compilation unit.
+ */
+ @SuppressWarnings( "unchecked" )
+ protected List<TypeMetadata> createTypeMetadata( CompilationUnit unit ) {
+ List<TypeMetadata> metadata = new ArrayList<TypeMetadata>();
+ List<AbstractTypeDeclaration> topLevelType = unit.types();
+ for (AbstractTypeDeclaration abstractTypeDeclaration : topLevelType) {
+
+ // process TypeDeclaration (class, interface)
+ if (abstractTypeDeclaration instanceof TypeDeclaration) {
+ TypeDeclaration typeDeclaration = (TypeDeclaration)abstractTypeDeclaration;
+ if (typeDeclaration.isInterface()) {
+
+ // is an interface top level type
+ InterfaceMetadata interfaceMetadata = new InterfaceMetadata();
+ interfaceMetadata.setName(JavaMetadataUtil.getName(typeDeclaration.getName()));
+ metadata.add(interfaceMetadata);
+ } else {
+ // is a class top level type
+ ClassMetadata classMetadata = new ClassMetadata();
+ classMetadata.setName(JavaMetadataUtil.getName(typeDeclaration.getName()));
+ List modifiers = typeDeclaration.modifiers();
+ for (Object object : modifiers) {
+ if (object instanceof Modifier) {
+ Modifier modifier = (Modifier)object;
+ if (modifier.isPublic()) {
+ classMetadata.getModifiers().put(TypeMetadata.PUBLIC_MODIFIER, modifier.getKeyword().toString());
+ }
+ }
+ if (object instanceof MarkerAnnotation) {
+ MarkerAnnotation marker = (MarkerAnnotation)object;
+ MarkerAnnotationMetadata markerAnnotationMetadata = new MarkerAnnotationMetadata();
+ markerAnnotationMetadata.setName(JavaMetadataUtil.getName(marker.getTypeName()));
+ classMetadata.getAnnotationMetadata().add(markerAnnotationMetadata);
+ }
+ }
+ metadata.add(classMetadata);
+ }
+ }
+
+ // process EnumDeclaration
+ if (abstractTypeDeclaration instanceof EnumDeclaration) {
+ EnumDeclaration enumDeclaration = (EnumDeclaration)abstractTypeDeclaration;
+ // TODO get infos from enum declaration and create a enum meta data object.
+ }
+
+ // process annotationTypeDeclaration
+ if (abstractTypeDeclaration instanceof AnnotationTypeDeclaration) {
+ AnnotationTypeDeclaration annotationTypeDeclaration = (AnnotationTypeDeclaration)abstractTypeDeclaration;
+ // TODO get infos from annotation type declaration and create a annotation meta data object.
+ }
+ }
+ return metadata;
+ }
+}
Deleted: trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/JavaMetadata.java
===================================================================
--- trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/JavaMetadata.java 2008-07-02 01:10:12 UTC (rev 333)
+++ trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/JavaMetadata.java 2008-07-03 11:12:35 UTC (rev 334)
@@ -1,100 +0,0 @@
-/*
- * 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.
- */
-package org.jboss.dna.sequencer.java;
-
-import java.io.InputStream;
-import java.util.List;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.jboss.dna.common.monitor.ProgressMonitor;
-import org.jboss.dna.sequencer.java.importmetadata.ImportMetadata;
-import org.jboss.dna.sequencer.java.packagemetadata.PackageMetadata;
-
-/**
- * @author Serge Pagop
- */
-public class JavaMetadata extends AbstractJavaMetadata {
-
- /** The package representation of a compilation unit. */
- private PackageMetadata packageMetadata;
-
- /** All the import declarations of a compilation unit. */
- private List<ImportMetadata> importMetadata;
-
- /** variables */
-
- /** methods */
-
- private JavaMetadata() {
- }
-
- /**
- * Creates a new instance of <code>JavaMetadata</code>, that will be used to get informations of a compilation unit.
- *
- * @param inputStream - the <code>InputStream</code> in our case a <code>FileInputStream</code> of the java file.
- * @param length - the length of the java file.
- * @param encoding - the encoding that can be used.
- * @param progressMonitor - The basic <code>ProgressMonitor</code> that facilitates the updating and monitoring of progress
- * towards the completion of an activity.
- * @return the new instace of <code>JavaMetadata</code>
- * @see java.io.File#length()
- */
- public static JavaMetadata instance( InputStream inputStream,
- long length,
- String encoding,
- ProgressMonitor progressMonitor ) {
-
- JavaMetadata javaMetadata = new JavaMetadata();
- char[] source = null;
- try {
- source = JavaMetadataUtil.getJavaSourceFromTheInputStream(inputStream, length, encoding);
- } catch (Exception e) {
- e.printStackTrace();
- return null;
- }
-
- CompilationUnit unit = (CompilationUnit)CompilationUnitParser.runJLS3Conversion(source, true);
- if (unit != null) {
- javaMetadata.packageMetadata = javaMetadata.createPackageMetadata(unit);
- javaMetadata.importMetadata = javaMetadata.createImportMetadata(unit);
- }
-
- return javaMetadata;
- }
-
- /**
- * Gets the <code>PackageMetadata</code>.
- *
- * @return the PackageMetadata or null if there is not package declaration for the unit.
- */
- public final PackageMetadata getPackageMetadata() {
- return packageMetadata;
- }
-
- /**
- * Gets a list of <code>ImportMetadata</code>.
- *
- * @return all the importMetadata of this unit if there is one.
- */
- public List<ImportMetadata> getImportMetadata() {
- return importMetadata;
- }
-}
Modified: trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/JavaMetadataSequencer.java
===================================================================
--- trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/JavaMetadataSequencer.java 2008-07-02 01:10:12 UTC (rev 333)
+++ trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/JavaMetadataSequencer.java 2008-07-03 11:12:35 UTC (rev 334)
@@ -26,11 +26,12 @@
import java.util.List;
import org.apache.commons.lang.StringUtils;
import org.jboss.dna.common.monitor.ProgressMonitor;
-import org.jboss.dna.sequencer.java.annotationmetadata.AnnotationMetadata;
-import org.jboss.dna.sequencer.java.annotationmetadata.MarkerAnnotationMetadata;
-import org.jboss.dna.sequencer.java.annotationmetadata.NormalAnnotationMetadata;
-import org.jboss.dna.sequencer.java.annotationmetadata.SingleMemberAnnotationMetadata;
-import org.jboss.dna.sequencer.java.packagemetadata.PackageMetadata;
+import org.jboss.dna.sequencer.java.metadata.AnnotationMetadata;
+import org.jboss.dna.sequencer.java.metadata.JavaMetadata;
+import org.jboss.dna.sequencer.java.metadata.MarkerAnnotationMetadata;
+import org.jboss.dna.sequencer.java.metadata.NormalAnnotationMetadata;
+import org.jboss.dna.sequencer.java.metadata.PackageMetadata;
+import org.jboss.dna.sequencer.java.metadata.SingleMemberAnnotationMetadata;
import org.jboss.dna.spi.graph.NameFactory;
import org.jboss.dna.spi.graph.Path;
import org.jboss.dna.spi.graph.PathFactory;
@@ -138,7 +139,6 @@
+ JAVA_ANNOTATION_DECLARATION_CHILD_NODE + SLASH
+ JAVA_ANNOTATION_TYPE_CHILD_NODE + SLASH
+ JAVA_MARKER_ANNOTATION_CHILD_NODE);
- System.out.println("markerAnnotationChildNode: " + markerAnnotationChildNode.getString());
output.setProperty(markerAnnotationChildNode,
nameFactory.create(JAVA_ANNOTATION_TYPE_NAME),
markerAnnotationMetadata.getName());
Deleted: trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/annotationmetadata/AnnotationMetadata.java
===================================================================
--- trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/annotationmetadata/AnnotationMetadata.java 2008-07-02 01:10:12 UTC (rev 333)
+++ trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/annotationmetadata/AnnotationMetadata.java 2008-07-03 11:12:35 UTC (rev 334)
@@ -1,45 +0,0 @@
-/*
- * 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.
- */
-package org.jboss.dna.sequencer.java.annotationmetadata;
-
-/**
- * @author Serge Pagop
- */
-public abstract class AnnotationMetadata {
-
- private String name;
-
- /**
- * @return name
- */
- public String getName() {
- return name;
- }
-
- /**
- * @param name Sets name to the specified value.
- */
- public void setName( String name ) {
- this.name = name;
- }
-
-}
Deleted: trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/annotationmetadata/MarkerAnnotationMetadata.java
===================================================================
--- trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/annotationmetadata/MarkerAnnotationMetadata.java 2008-07-02 01:10:12 UTC (rev 333)
+++ trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/annotationmetadata/MarkerAnnotationMetadata.java 2008-07-03 11:12:35 UTC (rev 334)
@@ -1,44 +0,0 @@
-/*
- * 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.
- */
-package org.jboss.dna.sequencer.java.annotationmetadata;
-
-
-/**
- *
- */
-public class MarkerAnnotationMetadata extends AnnotationMetadata {
- private boolean marker;
-
- /**
- * @return marker
- */
- public boolean isMarker() {
- return marker;
- }
-
- /**
- * @param marker Sets marker to the specified value.
- */
- public void setMarker( boolean marker ) {
- this.marker = marker;
- }
-}
Deleted: trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/annotationmetadata/NormalAnnotationMetadata.java
===================================================================
--- trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/annotationmetadata/NormalAnnotationMetadata.java 2008-07-02 01:10:12 UTC (rev 333)
+++ trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/annotationmetadata/NormalAnnotationMetadata.java 2008-07-03 11:12:35 UTC (rev 334)
@@ -1,44 +0,0 @@
-/*
- * 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.
- */
-package org.jboss.dna.sequencer.java.annotationmetadata;
-
-
-/**
- *
- */
-public class NormalAnnotationMetadata extends AnnotationMetadata {
- private boolean normal;
-
- /**
- * @return normal
- */
- public boolean isNormal() {
- return normal;
- }
-
- /**
- * @param normal Sets normal to the specified value.
- */
- public void setNormal( boolean normal ) {
- this.normal = normal;
- }
-}
Deleted: trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/annotationmetadata/SingleMemberAnnotationMetadata.java
===================================================================
--- trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/annotationmetadata/SingleMemberAnnotationMetadata.java 2008-07-02 01:10:12 UTC (rev 333)
+++ trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/annotationmetadata/SingleMemberAnnotationMetadata.java 2008-07-03 11:12:35 UTC (rev 334)
@@ -1,44 +0,0 @@
-/*
- * 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.
- */
-package org.jboss.dna.sequencer.java.annotationmetadata;
-
-
-/**
- *
- */
-public class SingleMemberAnnotationMetadata extends AnnotationMetadata {
- private boolean single;
-
- /**
- * @return single
- */
- public boolean isSingle() {
- return single;
- }
-
- /**
- * @param single Sets single to the specified value.
- */
- public void setSingle( boolean single ) {
- this.single = single;
- }
-}
Deleted: trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/fieldmetadata/FieldMetadata.java
===================================================================
--- trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/fieldmetadata/FieldMetadata.java 2008-07-02 01:10:12 UTC (rev 333)
+++ trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/fieldmetadata/FieldMetadata.java 2008-07-03 11:12:35 UTC (rev 334)
@@ -1,45 +0,0 @@
-/*
- * 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.
- */
-package org.jboss.dna.sequencer.java.fieldmetadata;
-
-/**
- * @author Serge Pagop
- */
-public class FieldMetadata {
-
- /** The name */
- private String name;
-
- /**
- * @return name
- */
- public String getName() {
- return name;
- }
-
- /**
- * @param name Sets name to the specified value.
- */
- public void setName( String name ) {
- this.name = name;
- }
-}
Deleted: trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/importmetadata/ImportMetadata.java
===================================================================
--- trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/importmetadata/ImportMetadata.java 2008-07-02 01:10:12 UTC (rev 333)
+++ trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/importmetadata/ImportMetadata.java 2008-07-03 11:12:35 UTC (rev 334)
@@ -1,42 +0,0 @@
-/*
- * 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.
- */
-package org.jboss.dna.sequencer.java.importmetadata;
-
-/**
- * @author Serge Pagop
- */
-public abstract class ImportMetadata {
-
- private String name;
-
- public String getName() {
- return this.name;
- }
-
- public void setName( String name ) {
- this.name = name;
- }
-
- protected abstract boolean isOnDemand();
-
- protected abstract boolean isSingle();
-}
Deleted: trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/importmetadata/ImportOnDemandMetadata.java
===================================================================
--- trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/importmetadata/ImportOnDemandMetadata.java 2008-07-02 01:10:12 UTC (rev 333)
+++ trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/importmetadata/ImportOnDemandMetadata.java 2008-07-03 11:12:35 UTC (rev 334)
@@ -1,50 +0,0 @@
-/*
- * 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.
- */
-package org.jboss.dna.sequencer.java.importmetadata;
-
-
-/**
- * @author Serge Pagop
- */
-public class ImportOnDemandMetadata extends ImportMetadata {
-
- /**
- * {@inheritDoc}
- *
- * @see org.jboss.dna.sequencer.java.importmetadata.ImportMetadata#isOnDemand()
- */
- @Override
- protected boolean isOnDemand() {
- return true;
- }
-
- /**
- * {@inheritDoc}
- *
- * @see org.jboss.dna.sequencer.java.importmetadata.ImportMetadata#isSingle()
- */
- @Override
- protected boolean isSingle() {
- return false;
- }
-
-}
Deleted: trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/importmetadata/SingleImportMetadata.java
===================================================================
--- trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/importmetadata/SingleImportMetadata.java 2008-07-02 01:10:12 UTC (rev 333)
+++ trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/importmetadata/SingleImportMetadata.java 2008-07-03 11:12:35 UTC (rev 334)
@@ -1,50 +0,0 @@
-/*
- * 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.
- */
-package org.jboss.dna.sequencer.java.importmetadata;
-
-
-/**
- * Serge Pagop
- */
-public class SingleImportMetadata extends ImportMetadata {
-
- /**
- * {@inheritDoc}
- *
- * @see org.jboss.dna.sequencer.java.importmetadata.ImportMetadata#isOnDemand()
- */
- @Override
- protected boolean isOnDemand() {
- return false;
- }
-
- /**
- * {@inheritDoc}
- *
- * @see org.jboss.dna.sequencer.java.importmetadata.ImportMetadata#isSingle()
- */
- @Override
- protected boolean isSingle() {
- return true;
- }
-
-}
Deleted: trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/javadocmetadata/JavadocMetadata.java
===================================================================
--- trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/javadocmetadata/JavadocMetadata.java 2008-07-02 01:10:12 UTC (rev 333)
+++ trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/javadocmetadata/JavadocMetadata.java 2008-07-03 11:12:35 UTC (rev 334)
@@ -1,29 +0,0 @@
-/*
- * 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.
- */
-package org.jboss.dna.sequencer.java.javadocmetadata;
-
-/**
- *
- */
-public class JavadocMetadata {
-
-}
Copied: trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/AnnotationMetadata.java (from rev 325, trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/annotationmetadata/AnnotationMetadata.java)
===================================================================
--- trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/AnnotationMetadata.java (rev 0)
+++ trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/AnnotationMetadata.java 2008-07-03 11:12:35 UTC (rev 334)
@@ -0,0 +1,45 @@
+/*
+ * 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.
+ */
+package org.jboss.dna.sequencer.java.metadata;
+
+/**
+ * @author Serge Pagop
+ */
+public abstract class AnnotationMetadata {
+
+ private String name;
+
+ /**
+ * @return name
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * @param name Sets name to the specified value.
+ */
+ public void setName( String name ) {
+ this.name = name;
+ }
+
+}
Copied: trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/ClassMetadata.java (from rev 325, trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/typemetadata/ClassMetadata.java)
===================================================================
--- trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/ClassMetadata.java (rev 0)
+++ trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/ClassMetadata.java 2008-07-03 11:12:35 UTC (rev 334)
@@ -0,0 +1,29 @@
+/*
+ * 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.
+ */
+package org.jboss.dna.sequencer.java.metadata;
+
+/**
+ * @author Serge Pagop
+ */
+public class ClassMetadata extends TypeMetadata {
+
+}
Copied: trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/FieldMetadata.java (from rev 327, trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/fieldmetadata/FieldMetadata.java)
===================================================================
--- trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/FieldMetadata.java (rev 0)
+++ trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/FieldMetadata.java 2008-07-03 11:12:35 UTC (rev 334)
@@ -0,0 +1,45 @@
+/*
+ * 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.
+ */
+package org.jboss.dna.sequencer.java.metadata;
+
+/**
+ * @author Serge Pagop
+ */
+public class FieldMetadata {
+
+ /** The name */
+ private String name;
+
+ /**
+ * @return name
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * @param name Sets name to the specified value.
+ */
+ public void setName( String name ) {
+ this.name = name;
+ }
+}
Copied: trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/ImportMetadata.java (from rev 325, trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/importmetadata/ImportMetadata.java)
===================================================================
--- trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/ImportMetadata.java (rev 0)
+++ trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/ImportMetadata.java 2008-07-03 11:12:35 UTC (rev 334)
@@ -0,0 +1,42 @@
+/*
+ * 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.
+ */
+package org.jboss.dna.sequencer.java.metadata;
+
+/**
+ * @author Serge Pagop
+ */
+public abstract class ImportMetadata {
+
+ private String name;
+
+ public String getName() {
+ return this.name;
+ }
+
+ public void setName( String name ) {
+ this.name = name;
+ }
+
+ protected abstract boolean isOnDemand();
+
+ protected abstract boolean isSingle();
+}
Copied: trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/ImportOnDemandMetadata.java (from rev 325, trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/importmetadata/ImportOnDemandMetadata.java)
===================================================================
--- trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/ImportOnDemandMetadata.java (rev 0)
+++ trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/ImportOnDemandMetadata.java 2008-07-03 11:12:35 UTC (rev 334)
@@ -0,0 +1,50 @@
+/*
+ * 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.
+ */
+package org.jboss.dna.sequencer.java.metadata;
+
+
+/**
+ * @author Serge Pagop
+ */
+public class ImportOnDemandMetadata extends ImportMetadata {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.jboss.dna.sequencer.java.metadata.ImportMetadata#isOnDemand()
+ */
+ @Override
+ protected boolean isOnDemand() {
+ return true;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.jboss.dna.sequencer.java.metadata.ImportMetadata#isSingle()
+ */
+ @Override
+ protected boolean isSingle() {
+ return false;
+ }
+
+}
Copied: trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/InterfaceMetadata.java (from rev 325, trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/typemetadata/InterfaceMetadata.java)
===================================================================
--- trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/InterfaceMetadata.java (rev 0)
+++ trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/InterfaceMetadata.java 2008-07-03 11:12:35 UTC (rev 334)
@@ -0,0 +1,29 @@
+/*
+ * 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.
+ */
+package org.jboss.dna.sequencer.java.metadata;
+
+/**
+ * @author Serge Pagop
+ */
+public class InterfaceMetadata extends TypeMetadata {
+
+}
Copied: trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/JavaMetadata.java (from rev 326, trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/JavaMetadata.java)
===================================================================
--- trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/JavaMetadata.java (rev 0)
+++ trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/JavaMetadata.java 2008-07-03 11:12:35 UTC (rev 334)
@@ -0,0 +1,101 @@
+/*
+ * 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.
+ */
+package org.jboss.dna.sequencer.java.metadata;
+
+import java.io.InputStream;
+import java.util.List;
+import org.eclipse.jdt.core.dom.CompilationUnit;
+import org.jboss.dna.common.monitor.ProgressMonitor;
+import org.jboss.dna.sequencer.java.AbstractJavaMetadata;
+import org.jboss.dna.sequencer.java.CompilationUnitParser;
+import org.jboss.dna.sequencer.java.JavaMetadataUtil;
+
+/**
+ * @author Serge Pagop
+ */
+public class JavaMetadata extends AbstractJavaMetadata {
+
+ /** The package representation of a compilation unit. */
+ private PackageMetadata packageMetadata;
+
+ /** All the import declarations of a compilation unit. */
+ private List<ImportMetadata> importMetadata;
+
+ /** variables */
+
+ /** methods */
+
+ private JavaMetadata() {
+ }
+
+ /**
+ * Creates a new instance of <code>JavaMetadata</code>, that will be used to get informations of a compilation unit.
+ *
+ * @param inputStream - the <code>InputStream</code> in our case a <code>FileInputStream</code> of the java file.
+ * @param length - the length of the java file.
+ * @param encoding - the encoding that can be used.
+ * @param progressMonitor - The basic <code>ProgressMonitor</code> that facilitates the updating and monitoring of progress
+ * towards the completion of an activity.
+ * @return the new instace of <code>JavaMetadata</code>
+ * @see java.io.File#length()
+ */
+ public static JavaMetadata instance( InputStream inputStream,
+ long length,
+ String encoding,
+ ProgressMonitor progressMonitor ) {
+
+ JavaMetadata javaMetadata = new JavaMetadata();
+ char[] source = null;
+ try {
+ source = JavaMetadataUtil.getJavaSourceFromTheInputStream(inputStream, length, encoding);
+ } catch (Exception e) {
+ e.printStackTrace();
+ return null;
+ }
+
+ CompilationUnit unit = (CompilationUnit)CompilationUnitParser.runJLS3Conversion(source, true);
+ if (unit != null) {
+ javaMetadata.packageMetadata = javaMetadata.createPackageMetadata(unit);
+ javaMetadata.importMetadata = javaMetadata.createImportMetadata(unit);
+ }
+
+ return javaMetadata;
+ }
+
+ /**
+ * Gets the <code>PackageMetadata</code>.
+ *
+ * @return the PackageMetadata or null if there is not package declaration for the unit.
+ */
+ public final PackageMetadata getPackageMetadata() {
+ return packageMetadata;
+ }
+
+ /**
+ * Gets a list of <code>ImportMetadata</code>.
+ *
+ * @return all the importMetadata of this unit if there is one.
+ */
+ public List<ImportMetadata> getImportMetadata() {
+ return importMetadata;
+ }
+}
Copied: trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/JavadocMetadata.java (from rev 325, trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/javadocmetadata/JavadocMetadata.java)
===================================================================
--- trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/JavadocMetadata.java (rev 0)
+++ trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/JavadocMetadata.java 2008-07-03 11:12:35 UTC (rev 334)
@@ -0,0 +1,29 @@
+/*
+ * 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.
+ */
+package org.jboss.dna.sequencer.java.metadata;
+
+/**
+ *
+ */
+public class JavadocMetadata {
+
+}
Copied: trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/MarkerAnnotationMetadata.java (from rev 325, trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/annotationmetadata/MarkerAnnotationMetadata.java)
===================================================================
--- trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/MarkerAnnotationMetadata.java (rev 0)
+++ trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/MarkerAnnotationMetadata.java 2008-07-03 11:12:35 UTC (rev 334)
@@ -0,0 +1,44 @@
+/*
+ * 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.
+ */
+package org.jboss.dna.sequencer.java.metadata;
+
+
+/**
+ *
+ */
+public class MarkerAnnotationMetadata extends AnnotationMetadata {
+ private boolean marker;
+
+ /**
+ * @return marker
+ */
+ public boolean isMarker() {
+ return marker;
+ }
+
+ /**
+ * @param marker Sets marker to the specified value.
+ */
+ public void setMarker( boolean marker ) {
+ this.marker = marker;
+ }
+}
Copied: trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/NormalAnnotationMetadata.java (from rev 325, trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/annotationmetadata/NormalAnnotationMetadata.java)
===================================================================
--- trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/NormalAnnotationMetadata.java (rev 0)
+++ trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/NormalAnnotationMetadata.java 2008-07-03 11:12:35 UTC (rev 334)
@@ -0,0 +1,44 @@
+/*
+ * 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.
+ */
+package org.jboss.dna.sequencer.java.metadata;
+
+
+/**
+ *
+ */
+public class NormalAnnotationMetadata extends AnnotationMetadata {
+ private boolean normal;
+
+ /**
+ * @return normal
+ */
+ public boolean isNormal() {
+ return normal;
+ }
+
+ /**
+ * @param normal Sets normal to the specified value.
+ */
+ public void setNormal( boolean normal ) {
+ this.normal = normal;
+ }
+}
Copied: trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/PackageMetadata.java (from rev 325, trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/packagemetadata/PackageMetadata.java)
===================================================================
--- trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/PackageMetadata.java (rev 0)
+++ trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/PackageMetadata.java 2008-07-03 11:12:35 UTC (rev 334)
@@ -0,0 +1,82 @@
+/*
+ * 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.
+ */
+package org.jboss.dna.sequencer.java.metadata;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Package meta data.
+ *
+ * @author Serge Pagop.
+ */
+public class PackageMetadata {
+ private JavadocMetadata javadocMetadata;
+ private List<AnnotationMetadata> annotationMetada = new ArrayList<AnnotationMetadata>();
+ private String name;
+
+ // No-Arg
+ public PackageMetadata() {
+ }
+
+ public PackageMetadata( String name ) {
+ this.name = name;
+ }
+
+ public void setName( String name ) {
+ this.name = name;
+
+ }
+
+ public String getName() {
+ return this.name;
+ }
+
+ /**
+ * @return annotationMetada
+ */
+ public List<AnnotationMetadata> getAnnotationMetada() {
+ return annotationMetada;
+ }
+
+ /**
+ * @param annotationMetada Sets annotationMetada to the specified value.
+ */
+ public void setAnnotationMetada( List<AnnotationMetadata> annotationMetada ) {
+ this.annotationMetada = annotationMetada;
+ }
+
+ /**
+ * @return javadocMetadata
+ */
+ public JavadocMetadata getJavadocMetadata() {
+ return javadocMetadata;
+ }
+
+ /**
+ * @param javadocMetadata Sets javadocMetadata to the specified value.
+ */
+ public void setJavadocMetadata( JavadocMetadata javadocMetadata ) {
+ this.javadocMetadata = javadocMetadata;
+ }
+
+}
Copied: trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/SingleImportMetadata.java (from rev 325, trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/importmetadata/SingleImportMetadata.java)
===================================================================
--- trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/SingleImportMetadata.java (rev 0)
+++ trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/SingleImportMetadata.java 2008-07-03 11:12:35 UTC (rev 334)
@@ -0,0 +1,50 @@
+/*
+ * 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.
+ */
+package org.jboss.dna.sequencer.java.metadata;
+
+
+/**
+ * Serge Pagop
+ */
+public class SingleImportMetadata extends ImportMetadata {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.jboss.dna.sequencer.java.metadata.ImportMetadata#isOnDemand()
+ */
+ @Override
+ protected boolean isOnDemand() {
+ return false;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.jboss.dna.sequencer.java.metadata.ImportMetadata#isSingle()
+ */
+ @Override
+ protected boolean isSingle() {
+ return true;
+ }
+
+}
Copied: trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/SingleMemberAnnotationMetadata.java (from rev 325, trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/annotationmetadata/SingleMemberAnnotationMetadata.java)
===================================================================
--- trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/SingleMemberAnnotationMetadata.java (rev 0)
+++ trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/SingleMemberAnnotationMetadata.java 2008-07-03 11:12:35 UTC (rev 334)
@@ -0,0 +1,44 @@
+/*
+ * 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.
+ */
+package org.jboss.dna.sequencer.java.metadata;
+
+
+/**
+ *
+ */
+public class SingleMemberAnnotationMetadata extends AnnotationMetadata {
+ private boolean single;
+
+ /**
+ * @return single
+ */
+ public boolean isSingle() {
+ return single;
+ }
+
+ /**
+ * @param single Sets single to the specified value.
+ */
+ public void setSingle( boolean single ) {
+ this.single = single;
+ }
+}
Copied: trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/TypeMetadata.java (from rev 325, trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/typemetadata/TypeMetadata.java)
===================================================================
--- trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/TypeMetadata.java (rev 0)
+++ trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/TypeMetadata.java 2008-07-03 11:12:35 UTC (rev 334)
@@ -0,0 +1,93 @@
+/*
+ * 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.
+ */
+package org.jboss.dna.sequencer.java.metadata;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * Exposes meta data of a top level type.
+ *
+ * @author Serge Pagop
+ */
+public class TypeMetadata {
+
+ public static final int PUBLIC_MODIFIER = 0;
+
+ /** The name. */
+ private String name;
+
+ /** All modifiers of a top level type */
+ private Map<Integer, String> modifiers = new HashMap<Integer, String>();
+
+ /** All annotations of the type meta data */
+ private List<AnnotationMetadata> annotationMetadata = new ArrayList<AnnotationMetadata>();
+
+ /**
+ * Get the name.
+ *
+ * @return the name.
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * Set the name.
+ *
+ * @param name Sets name to the specified value.
+ */
+ public void setName( String name ) {
+ this.name = name;
+ }
+
+ /**
+ * @return annotationMetadata
+ */
+ public List<AnnotationMetadata> getAnnotationMetadata() {
+ return annotationMetadata;
+ }
+
+ /**
+ * @param annotationMetadata Sets annotationMetadata to the specified value.
+ */
+ public void setAnnotationMetadata( List<AnnotationMetadata> annotationMetadata ) {
+ this.annotationMetadata = annotationMetadata;
+ }
+
+ /**
+ * @return modifiers
+ */
+ public Map<Integer, String> getModifiers() {
+ return modifiers;
+ }
+
+ /**
+ * @param modifiers Sets modifiers to the specified value.
+ */
+ public void setModifiers( Map<Integer, String> modifiers ) {
+ this.modifiers = modifiers;
+ }
+
+}
Deleted: trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/packagemetadata/PackageMetadata.java
===================================================================
--- trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/packagemetadata/PackageMetadata.java 2008-07-02 01:10:12 UTC (rev 333)
+++ trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/packagemetadata/PackageMetadata.java 2008-07-03 11:12:35 UTC (rev 334)
@@ -1,84 +0,0 @@
-/*
- * 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.
- */
-package org.jboss.dna.sequencer.java.packagemetadata;
-
-import java.util.ArrayList;
-import java.util.List;
-import org.jboss.dna.sequencer.java.annotationmetadata.AnnotationMetadata;
-import org.jboss.dna.sequencer.java.javadocmetadata.JavadocMetadata;
-
-/**
- * Package meta data.
- *
- * @author Serge Pagop.
- */
-public class PackageMetadata {
- private JavadocMetadata javadocMetadata;
- private List<AnnotationMetadata> annotationMetada = new ArrayList<AnnotationMetadata>();
- private String name;
-
- // No-Arg
- public PackageMetadata() {
- }
-
- public PackageMetadata( String name ) {
- this.name = name;
- }
-
- public void setName( String name ) {
- this.name = name;
-
- }
-
- public String getName() {
- return this.name;
- }
-
- /**
- * @return annotationMetada
- */
- public List<AnnotationMetadata> getAnnotationMetada() {
- return annotationMetada;
- }
-
- /**
- * @param annotationMetada Sets annotationMetada to the specified value.
- */
- public void setAnnotationMetada( List<AnnotationMetadata> annotationMetada ) {
- this.annotationMetada = annotationMetada;
- }
-
- /**
- * @return javadocMetadata
- */
- public JavadocMetadata getJavadocMetadata() {
- return javadocMetadata;
- }
-
- /**
- * @param javadocMetadata Sets javadocMetadata to the specified value.
- */
- public void setJavadocMetadata( JavadocMetadata javadocMetadata ) {
- this.javadocMetadata = javadocMetadata;
- }
-
-}
Deleted: trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/typemetadata/ClassMetadata.java
===================================================================
--- trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/typemetadata/ClassMetadata.java 2008-07-02 01:10:12 UTC (rev 333)
+++ trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/typemetadata/ClassMetadata.java 2008-07-03 11:12:35 UTC (rev 334)
@@ -1,29 +0,0 @@
-/*
- * 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.
- */
-package org.jboss.dna.sequencer.java.typemetadata;
-
-/**
- * @author Serge Pagop
- */
-public class ClassMetadata extends TypeMetadata {
-
-}
Deleted: trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/typemetadata/InterfaceMetadata.java
===================================================================
--- trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/typemetadata/InterfaceMetadata.java 2008-07-02 01:10:12 UTC (rev 333)
+++ trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/typemetadata/InterfaceMetadata.java 2008-07-03 11:12:35 UTC (rev 334)
@@ -1,29 +0,0 @@
-/*
- * 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.
- */
-package org.jboss.dna.sequencer.java.typemetadata;
-
-/**
- * @author Serge Pagop
- */
-public class InterfaceMetadata extends TypeMetadata {
-
-}
Deleted: trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/typemetadata/TypeMetadata.java
===================================================================
--- trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/typemetadata/TypeMetadata.java 2008-07-02 01:10:12 UTC (rev 333)
+++ trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/typemetadata/TypeMetadata.java 2008-07-03 11:12:35 UTC (rev 334)
@@ -1,49 +0,0 @@
-/*
- * 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.
- */
-package org.jboss.dna.sequencer.java.typemetadata;
-
-/**
- * @author Serge Pagop
- */
-public class TypeMetadata {
-
- /** The name. */
- private String name;
-
- /**
- * Get the name.
- *
- * @return the name.
- */
- public String getName() {
- return name;
- }
-
- /**
- * Set the name.
- *
- * @param name Sets name to the specified value.
- */
- public void setName( String name ) {
- this.name = name;
- }
-}
15 years, 10 months
DNA SVN: r333 - trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java.
by dna-commits@lists.jboss.org
Author: spagop
Date: 2008-07-01 21:10:12 -0400 (Tue, 01 Jul 2008)
New Revision: 333
Removed:
trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/PackageMetadata.java
Log:
transfer PackageMetadata into another package "packagemetadata"
Deleted: trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/PackageMetadata.java
===================================================================
--- trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/PackageMetadata.java 2008-07-02 01:08:05 UTC (rev 332)
+++ trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/PackageMetadata.java 2008-07-02 01:10:12 UTC (rev 333)
@@ -1,64 +0,0 @@
-/*
- * 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.
- */
-package org.jboss.dna.sequencer.java;
-
-import java.util.List;
-import org.eclipse.jdt.core.dom.Annotation;
-import org.eclipse.jdt.core.dom.Javadoc;
-
-/**
- * Package meta data.
- *
- * @author Serge Pagop.
- */
-public class PackageMetadata {
- private Javadoc javadoc;
- private List<Annotation> annotations;
- private String name;
-
- public void setName( String name ) {
- this.name = name;
-
- }
-
- public String getName() {
- return this.name;
- }
-
- public void setAnnotations( List<Annotation> annotations ) {
- this.annotations = annotations;
- }
-
- public List<Annotation> getAnnotations() {
- return this.annotations;
- }
-
- public void setJavadoc( Javadoc javadoc ) {
- this.javadoc = javadoc;
-
- }
-
- public Javadoc getJavadoc() {
- return this.javadoc;
- }
-
-}
15 years, 10 months
DNA SVN: r332 - trunk/sequencers/dna-sequencer-java.
by dna-commits@lists.jboss.org
Author: spagop
Date: 2008-07-01 21:08:05 -0400 (Tue, 01 Jul 2008)
New Revision: 332
Modified:
trunk/sequencers/dna-sequencer-java/pom.xml
Log:
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>2.4</version>
</dependency>
Modified: trunk/sequencers/dna-sequencer-java/pom.xml
===================================================================
--- trunk/sequencers/dna-sequencer-java/pom.xml 2008-07-02 00:57:10 UTC (rev 331)
+++ trunk/sequencers/dna-sequencer-java/pom.xml 2008-07-02 01:08:05 UTC (rev 332)
@@ -1,5 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.jboss.dna</groupId>
@@ -11,7 +13,9 @@
<artifactId>dna-sequencer-java</artifactId>
<packaging>jar</packaging>
<name>JBoss DNA Java Sequencer</name>
- <description> JBoss DNA Sequencer that processes java sources </description>
+ <description>
+ JBoss DNA Sequencer that processes java sources
+ </description>
<url>http://labs.jboss.org/dna</url>
<properties>
<dna-version>0.2-SNAPSHOT</dna-version>
@@ -63,10 +67,10 @@
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-library</artifactId>
</dependency>
- <dependency>
- <groupId>org.mockito</groupId>
- <artifactId>mockito-all</artifactId>
- </dependency>
+ <dependency>
+ <groupId>org.mockito</groupId>
+ <artifactId>mockito-all</artifactId>
+ </dependency>
<!--
Logging (require SLF4J API for compiling, but use Log4J and its SLF4J binding for testing)
-->
@@ -116,6 +120,11 @@
<artifactId>commons-io</artifactId>
<version>1.4</version>
</dependency>
+ <dependency>
+ <groupId>commons-lang</groupId>
+ <artifactId>commons-lang</artifactId>
+ <version>2.4</version>
+ </dependency>
<!--
Apache Jackrabbit (JCR Implementation)
-->
15 years, 10 months
DNA SVN: r331 - trunk/sequencers/dna-sequencer-java/src/test/java/org/jboss/dna/sequencer/java.
by dna-commits@lists.jboss.org
Author: spagop
Date: 2008-07-01 20:57:10 -0400 (Tue, 01 Jul 2008)
New Revision: 331
Modified:
trunk/sequencers/dna-sequencer-java/src/test/java/org/jboss/dna/sequencer/java/JavaMetadataSequencerTest.java
trunk/sequencers/dna-sequencer-java/src/test/java/org/jboss/dna/sequencer/java/JavaMetadataTest.java
Log:
more metadata for a compilation unit: import metadata, starting with programming of top level type (class, interface) metadata and enhancement of the unit test for metadata
Modified: trunk/sequencers/dna-sequencer-java/src/test/java/org/jboss/dna/sequencer/java/JavaMetadataSequencerTest.java
===================================================================
--- trunk/sequencers/dna-sequencer-java/src/test/java/org/jboss/dna/sequencer/java/JavaMetadataSequencerTest.java 2008-07-02 00:55:39 UTC (rev 330)
+++ trunk/sequencers/dna-sequencer-java/src/test/java/org/jboss/dna/sequencer/java/JavaMetadataSequencerTest.java 2008-07-02 00:57:10 UTC (rev 331)
@@ -86,6 +86,10 @@
assertThat(output.getPropertyValues("java:compilationUnit", "jcr:primaryType"), is(new Object[] {"java:compilationUnit"}));
assertThat(output.getPropertyValues("java:compilationUnit/java:package/java:packageDeclaration", "java:packageName"),
is(new Object[] {"org.acme"}));
+ assertThat(output.getPropertyValues("java:compilationUnit/java:package/java:packageDeclaration/java:annotation/java:annotationDeclaration/java:annotationType/java:markerAnnotation",
+ "java:typeName"),
+ is(new Object[] {"org.acme.annotation.MyPackageAnnotation"}));
+
}
}
Modified: trunk/sequencers/dna-sequencer-java/src/test/java/org/jboss/dna/sequencer/java/JavaMetadataTest.java
===================================================================
--- trunk/sequencers/dna-sequencer-java/src/test/java/org/jboss/dna/sequencer/java/JavaMetadataTest.java 2008-07-02 00:55:39 UTC (rev 330)
+++ trunk/sequencers/dna-sequencer-java/src/test/java/org/jboss/dna/sequencer/java/JavaMetadataTest.java 2008-07-02 00:57:10 UTC (rev 331)
@@ -29,11 +29,21 @@
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;
+import java.util.Iterator;
import java.util.List;
+import java.util.Set;
import org.eclipse.jdt.core.dom.ASTNode;
import org.eclipse.jdt.core.dom.Annotation;
import org.eclipse.jdt.core.dom.CompilationUnit;
import org.eclipse.jdt.core.dom.MarkerAnnotation;
+import org.jboss.dna.sequencer.java.annotationmetadata.AnnotationMetadata;
+import org.jboss.dna.sequencer.java.annotationmetadata.MarkerAnnotationMetadata;
+import org.jboss.dna.sequencer.java.fieldmetadata.FieldMetadata;
+import org.jboss.dna.sequencer.java.importmetadata.ImportMetadata;
+import org.jboss.dna.sequencer.java.importmetadata.ImportOnDemandMetadata;
+import org.jboss.dna.sequencer.java.importmetadata.SingleImportMetadata;
+import org.jboss.dna.sequencer.java.packagemetadata.PackageMetadata;
+import org.jboss.dna.sequencer.java.typemetadata.TypeMetadata;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
@@ -44,12 +54,17 @@
public class JavaMetadataTest {
private File source;
private InputStream stream;
- JavaMetadata javaMetadata;
+ private JavaMetadata javaMetadata;
+ private ASTNode rootNode = null;
@Before
public void beforeEach() throws Exception {
source = new File("src/test/resources/org/acme/MySource.java");
stream = getJavaSrc(source);
+ javaMetadata = JavaMetadata.instance(stream, JavaMetadataUtil.length(stream), null, null);
+ rootNode = CompilationUnitParser.runJLS3Conversion(JavaMetadataUtil.getJavaSourceFromTheInputStream(getJavaSrc(source),
+ source.length(),
+ null), true);
}
@@ -77,10 +92,6 @@
@Test
public void shouldRunJLS3Conversion() throws Exception {
- ASTNode rootNode = CompilationUnitParser.runJLS3Conversion(JavaMetadataUtil.getJavaSourceFromTheInputStream(getJavaSrc(source),
- source.length(),
- null),
- true);
assertThat(rootNode, is(notNullValue()));
// Verify we get a compilation unit node and that binding are correct
assertTrue("Not a compilation unit", rootNode.getNodeType() == ASTNode.COMPILATION_UNIT);
@@ -88,19 +99,39 @@
@Test
public void shouldCreatePackageMetadata() throws Exception {
- javaMetadata = JavaMetadata.instance(stream, JavaMetadataUtil.length(stream), null, null);
- ASTNode rootNode = CompilationUnitParser.runJLS3Conversion(JavaMetadataUtil.getJavaSourceFromTheInputStream(getJavaSrc(source),
- source.length(),
- null),
- true);
PackageMetadata packageMetadata = javaMetadata.createPackageMetadata((CompilationUnit)rootNode);
assertThat(packageMetadata, is(notNullValue()));
assertThat(packageMetadata.getName(), is("org.acme"));
- List<Annotation> annotations = packageMetadata.getAnnotations();
- for (Annotation annotation : annotations) {
- if (annotation instanceof MarkerAnnotation) {
- assertThat(annotation.getTypeName().getFullyQualifiedName(), is("org.acme.annotation.MyPackageAnnotation"));
+ List<AnnotationMetadata> annotations = packageMetadata.getAnnotationMetada();
+ for (AnnotationMetadata annotationMetadata : annotations) {
+ if (annotationMetadata instanceof MarkerAnnotationMetadata) {
+ MarkerAnnotationMetadata maker = (MarkerAnnotationMetadata)annotationMetadata;
+ assertThat(maker.getName(), is("org.acme.annotation.MyPackageAnnotation"));
+
}
}
}
+
+ @Test
+ public void shouldCreateImportMetadata() throws Exception {
+ List<ImportMetadata> data = javaMetadata.createImportMetadata((CompilationUnit)rootNode);
+ for (Iterator<ImportMetadata> i = data.iterator(); i.hasNext();) {
+ Object o = i.next();
+ if (o instanceof ImportOnDemandMetadata) {
+ ImportOnDemandMetadata onDemand = (ImportOnDemandMetadata)o;
+ assertThat(onDemand.getName(), is("java.util"));
+ } else {
+ SingleImportMetadata singleImport = (SingleImportMetadata)o;
+ assertThat(singleImport.getName(), is("org.acme.annotation.MyClassAnnotation"));
+ }
+
+ }
+ }
+
+ @Test
+ public void shouldCreateTopLevelTypeMetadata() throws Exception {
+ List<TypeMetadata> data = javaMetadata.createTypeMetadata((CompilationUnit)rootNode);
+ assertTrue(data.size() > 0);
+ }
+
}
15 years, 10 months
DNA SVN: r330 - trunk/sequencers/dna-sequencer-java/src/test/resources/org/acme.
by dna-commits@lists.jboss.org
Author: spagop
Date: 2008-07-01 20:55:39 -0400 (Tue, 01 Jul 2008)
New Revision: 330
Modified:
trunk/sequencers/dna-sequencer-java/src/test/resources/org/acme/MySource.java
Log:
add this annotation @org.acme.annotation.MyPackageAnnotation
Modified: trunk/sequencers/dna-sequencer-java/src/test/resources/org/acme/MySource.java
===================================================================
--- trunk/sequencers/dna-sequencer-java/src/test/resources/org/acme/MySource.java 2008-07-02 00:54:55 UTC (rev 329)
+++ trunk/sequencers/dna-sequencer-java/src/test/resources/org/acme/MySource.java 2008-07-02 00:55:39 UTC (rev 330)
@@ -19,9 +19,10 @@
* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
*/
-package org.acme;
+(a)org.acme.annotation.MyPackageAnnotation package org.acme;
import org.acme.annotation.MyClassAnnotation;
+import static import java.util.*;
/**
* @author Serge Pagop
@@ -29,7 +30,7 @@
@MyClassAnnotation
public class MySource {
private int i;
-
+ private List<String> l;
public int getI() {
return this.i;
}
@@ -37,4 +38,9 @@
public void setI( int i ) {
this.i = i;
}
+
+ public void doSomething() {
+ l= new ArrayList<String>();
+ l.add("N1");
+ }
}
15 years, 10 months
DNA SVN: r329 - trunk/sequencers/dna-sequencer-java/src/main/resources/org/jboss/dna/sequencer/java.
by dna-commits@lists.jboss.org
Author: spagop
Date: 2008-07-01 20:54:55 -0400 (Tue, 01 Jul 2008)
New Revision: 329
Modified:
trunk/sequencers/dna-sequencer-java/src/main/resources/org/jboss/dna/sequencer/java/java-source-artifact.cnd
Log:
enhance the cnd document
Modified: trunk/sequencers/dna-sequencer-java/src/main/resources/org/jboss/dna/sequencer/java/java-source-artifact.cnd
===================================================================
--- trunk/sequencers/dna-sequencer-java/src/main/resources/org/jboss/dna/sequencer/java/java-source-artifact.cnd 2008-07-02 00:54:18 UTC (rev 328)
+++ trunk/sequencers/dna-sequencer-java/src/main/resources/org/jboss/dna/sequencer/java/java-source-artifact.cnd 2008-07-02 00:54:55 UTC (rev 329)
@@ -79,8 +79,8 @@
/**
* Annotation type
*/
-[java:annotationType] > nt:unstructured
- + java:annotation (java:normalAnnotation, java:markerAnnotation, java:singleElementAnnotation) mandatory
+[java:annotationDeclaration] > nt:unstructured
+ + java:annotationType (java:normalAnnotation, java:markerAnnotation, java:singleElementAnnotation) mandatory
/**
* Normal annotation e.g. @Entity(name="Customer")
@@ -93,7 +93,7 @@
* Marker annotation e.g. @GET
*/
[java:markerAnnotation] > nt:unstructured
- - typeName (string)
+ - java:typeName (string) mandatory
/**
* Single element annotation e.g. @Path("/book")
@@ -183,7 +183,7 @@
* Package declarations
*/
[java:packageDeclaration] > nt:unstructured
- + java:annotation (java:annotationType) = java:annotationType
+ + java:annotation (java:annotationDeclaration) = java:annotationDeclaration
- java:keyword (string)
< 'package'
- java:packageName (string) mandatory
@@ -196,29 +196,14 @@
< 'import'
- typeName (string) mandatory
-// TODO: needs to be enhance
[java:typeImportOnDemandDeclaration] > nt:unstructured
- keyword (string) mandatory
< 'import'
- - packageOrTypeName (string) mandatory
-
-// TODO: needs to be enhance
-[java:singleStaticImportDeclaration] > nt:unstructured
- - single_static (string) mandatory
- < 'import static'
- typeName (string) mandatory
-// TODO: needs to be enhance
-[java:staticImportOnDemandDeclaration] > nt:unstructured
- - static_import (string) mandatory
- < 'import static'
- - typeName (string) mandatory
-
-[java:importDeclaration] > nt:unstructured
- + java:singleTypeImport (java:singleTypeImportDeclaration) = java:singleTypeImportDeclaration
- + java:typeImportOnDemand (java:typeImportOnDemandDeclaration) = java:typeImportOnDemandDeclaration
- + java:singleStaticImport (java:singleStaticImportDeclaration) = java:singleStaticImportDeclaration
- + java:staticImportOnDemand (java:staticImportOnDemandDeclaration) = java:staticImportOnDemandDeclaration
+ [java:importDeclaration] > nt:unstructured
+ + java:singleImport (java:singleTypeImportDeclaration) = java:singleTypeImportDeclaration
+ + java:importOnDemand (java:typeImportOnDemandDeclaration) = java:typeImportOnDemandDeclaration
/**
* Class declaration
15 years, 10 months
DNA SVN: r327 - in trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java: fieldmetadata and 1 other directory.
by dna-commits@lists.jboss.org
Author: spagop
Date: 2008-07-01 20:53:50 -0400 (Tue, 01 Jul 2008)
New Revision: 327
Added:
trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/fieldmetadata/
Modified:
trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/fieldmetadata/FieldMetadata.java
Log:
rename the package org.jboss.dna.sequencer.java.field to org.jboss.dna.sequencer.java.fieldmetadata
Copied: trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/fieldmetadata (from rev 325, trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/field)
Modified: trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/fieldmetadata/FieldMetadata.java
===================================================================
--- trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/field/FieldMetadata.java 2008-07-02 00:50:09 UTC (rev 325)
+++ trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/fieldmetadata/FieldMetadata.java 2008-07-02 00:53:50 UTC (rev 327)
@@ -19,7 +19,7 @@
* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
*/
-package org.jboss.dna.sequencer.java.field;
+package org.jboss.dna.sequencer.java.fieldmetadata;
/**
* @author Serge Pagop
15 years, 10 months