Annotation processing

View: New views
4 Messages — Rating Filter:   Alert me  

Annotation processing

by Le Duc Bao :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hello Joachim,

It seems being a problem with annotation processing because of there are no indicator representing an annotation. For example
 public class USPrice { 
@XmlAttribute
public java.math.BigDecimal getPrice() {...} ;
public void setPrice(java.math.BigDecimal ) {...};
}
So, the present of @XmlAttribute does not present in FieldInfo class so that we can not distinguish the above case with the code below during annotation processing:

 public class USPrice { 
public java.math.BigDecimal getPrice() {...} ;
public void setPrice(java.math.BigDecimal ) {...};
}

JAXB specification considers those two cases different.

At this time, this problem affects at least two annotations XmlRootElement and XmlAttribute.

Regards,
Bao

Re: Annotation processing

by Joachim Grüneis :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hello,

I'm just back from vacation... so I haven't really taken a look onto
the problem...

the focus of the current implementation was just onto what I needed to
un/marshal JAXB conform but I didn't care if there is enough
information to generate a schema from the Java sources

can you please tell me (maybe as a patch) what information is needed
for you and I will bring it into the code base?

I will have a look onto it during this week - as soon as I'm settled
again at home

Have fun

Joachim

2008/7/18 Le Duc Bao <leducbao@...>:

> Hello Joachim,
>
> It seems being a problem with annotation processing because of there are no
> indicator representing an annotation. For example
>
>  public class USPrice {
>          @XmlAttribute
>
>          public java.math.BigDecimal getPrice() {...} ;
>          public void setPrice(java.math.BigDecimal ) {...};
>      }
>
> So, the present of @XmlAttribute does not present in FieldInfo class so that
> we can not distinguish the above case with the code below during annotation
> processing:
>
>  public class USPrice {
>          public java.math.BigDecimal getPrice() {...} ;
>          public void setPrice(java.math.BigDecimal ) {...};
>      }
>
> JAXB specification considers those two cases different.
>
> At this time, this problem affects at least two annotations XmlRootElement
> and XmlAttribute.
>
> Regards,
> Bao
>

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email



Re: Annotation processing

by Le Duc Bao :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hello Joachim,

I attach a patch for the processing for XmlAttribute annotation by adding an indicator representing the existent of this annotation. Your feedbacks are warmly welcome.

Enjoys,
Bao

On Sun, Jul 20, 2008 at 12:56 PM, Joachim Grüneis <jgrueneis@...> wrote:
Hello,

I'm just back from vacation... so I haven't really taken a look onto
the problem...

the focus of the current implementation was just onto what I needed to
un/marshal JAXB conform but I didn't care if there is enough
information to generate a schema from the Java sources

can you please tell me (maybe as a patch) what information is needed
for you and I will bring it into the code base?

I will have a look onto it during this week - as soon as I'm settled
again at home

Have fun

Joachim

2008/7/18 Le Duc Bao <leducbao@...>:
> Hello Joachim,
>
> It seems being a problem with annotation processing because of there are no
> indicator representing an annotation. For example
>
>  public class USPrice {
>          @XmlAttribute
>
>          public java.math.BigDecimal getPrice() {...} ;
>          public void setPrice(java.math.BigDecimal ) {...};
>      }
>
> So, the present of @XmlAttribute does not present in FieldInfo class so that
> we can not distinguish the above case with the code below during annotation
> processing:
>
>  public class USPrice {
>          public java.math.BigDecimal getPrice() {...} ;
>          public void setPrice(java.math.BigDecimal ) {...};
>      }
>
> JAXB specification considers those two cases different.
>
> At this time, this problem affects at least two annotations XmlRootElement
> and XmlAttribute.
>
> Regards,
> Bao
>



Property changes on: C:\ldbao\castor\castor-jaxb-2.0\castor-jaxb-2.0
___________________________________________________________________
Name: svn:ignore
   - target
castor-log.txt

   + target
castor-log.txt
.classpath
.project
castor-log.txt
castor-log.txt.1
castor-log.txt.2
schema.xsd
.settings
bin
std
target
doc


Index: C:/ldbao/castor/castor-jaxb-2.0/castor-jaxb-2.0/src/main/java/org/castor/jaxb/reflection/info/FieldInfo.java
===================================================================
--- C:/ldbao/castor/castor-jaxb-2.0/castor-jaxb-2.0/src/main/java/org/castor/jaxb/reflection/info/FieldInfo.java (revision 7702)
+++ C:/ldbao/castor/castor-jaxb-2.0/castor-jaxb-2.0/src/main/java/org/castor/jaxb/reflection/info/FieldInfo.java (working copy)
@@ -73,8 +73,19 @@
     private String _enumValue;
     /** The generic type - if any. */
     private Type _genericType;
-    
-    /**
+
+    /** indicator to XmlAttribute annotation */
+ private boolean _isAnnotatedXmlAttribute = false;
+
+    public boolean isAnnotatedXmlAttribute() {
+ return _isAnnotatedXmlAttribute;
+ }
+
+ public void setAnnotatedXmlAttribute(boolean isAnnotatedXmlAttribute) {
+ _isAnnotatedXmlAttribute = isAnnotatedXmlAttribute;
+ }
+
+ /**
      * Simple constructor.
      */
     public FieldInfo() {
Index: C:/ldbao/castor/castor-jaxb-2.0/castor-jaxb-2.0/src/main/java/org/castor/jaxb/reflection/FieldAnnotationProcessingService.java
===================================================================
--- C:/ldbao/castor/castor-jaxb-2.0/castor-jaxb-2.0/src/main/java/org/castor/jaxb/reflection/FieldAnnotationProcessingService.java (revision 7733)
+++ C:/ldbao/castor/castor-jaxb-2.0/castor-jaxb-2.0/src/main/java/org/castor/jaxb/reflection/FieldAnnotationProcessingService.java (working copy)
@@ -381,6 +381,7 @@
                 fieldInfo.setAttributeName(xmlAttribute.name());
                 fieldInfo.setAttributeNamespace(xmlAttribute.namespace());
                 fieldInfo.setAttributeRequired(xmlAttribute.required());
+                fieldInfo.setAnnotatedXmlAttribute(true);
             }
         } //-- processAnnotation
 
Index: C:/ldbao/castor/castor-jaxb-2.0/castor-jaxb-2.0/pom.xml
===================================================================
--- C:/ldbao/castor/castor-jaxb-2.0/castor-jaxb-2.0/pom.xml (revision 7702)
+++ C:/ldbao/castor/castor-jaxb-2.0/castor-jaxb-2.0/pom.xml (working copy)
@@ -1,425 +1,315 @@
-<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>
- <groupId>org.codehaus.castor</groupId>
- <artifactId>castor-jaxb</artifactId>
- <version>1.0-beta-1-SNAPSHOT</version>
- <packaging>jar</packaging>
-
- <name>Castor JAXB - An implementation of JAXB 2.1</name>
- <description>
- A layer to use Castor underneath and JAXB standard compliant API
- and mapping definition.
- </description>
- <url>http://castor.org</url>
-
- <licenses>
- <license>
- <name>The Apache Software License, Version 2.0</name>
- <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
- <distribution>repo</distribution>
- </license>
- </licenses>
-
- <issueManagement>
- <system>Jira</system>
- <url>http://jira.codehaus.org/browse/CASTOR</url>
- </issueManagement>
-
- <ciManagement>
- <system>bamboo</system>
- <url>
- http://bamboo.ci.codehaus.org/browse/CASTOR-XMLJAXB
- </url>
- </ciManagement>
-
- <developers>
-        <developer>
-            <id>wguttmn</id>
-            <name>Werner Guttmann</name>
-            <email>wguttmn@...</email>
-            <organization>Indoqa</organization>
-            <organizationUrl>http://www.indoqa.com</organizationUrl>
-            <roles>
-                <role>Castor JDO Lead</role>
-                <role>Castor XML Lead</role>
-            </roles>
-            <timezone>+1</timezone>
-        </developer>
- <developer>
- <id>jgrueneis</id>
- <name>Joachim Grueneis</name>
- <email>jgrueneis@...</email>
- <roles>
- <role>Castor XML Committer</role>
- </roles>
- <timezone>+1</timezone>
- </developer>
- </developers>
-
- <mailingLists>
- <mailingList>
- <name>User mailing list</name>
- <subscribe>user-subscribe@...</subscribe>
- <unsubscribe>
- user-unsubscribe@...
- </unsubscribe>
- <post>user@...</post>
- <archive>http://archive.castor.codehaus.org/user</archive>
- </mailingList>
- <mailingList>
- <name>Development mailing list</name>
- <subscribe>dev-subscribe@...</subscribe>
- <unsubscribe>
- dev-unsubscribe@...
- </unsubscribe>
- <post>dev@...</post>
- <archive>http://archive.castor.codehaus.org/dev</archive>
- </mailingList>
- <mailingList>
- <name>Announcement mailing list</name>
- <subscribe>
- announce-subscribe@...
- </subscribe>
- <unsubscribe>
- announce-unsubscribe@...
- </unsubscribe>
- <post>announce@...</post>
- <archive>
- http://archive.castor.codehaus.org/announce
- </archive>
- </mailingList>
- </mailingLists>
-
- <scm>
- <connection>
- scm:svn:http://svn.codehaus.org/castor/castor-jaxb-2.0/trunk/
- </connection>
- <developerConnection>
- scm:svn:https://svn.codehaus.org/castor/castor-jaxb-2.0/trunk/
- </developerConnection>
- <url>
- http://svn.castor.codehaus.org/viewrep/castor/castor-jaxb-2.0/trunk
- </url>
- </scm>
-
- <distributionManagement>
- <repository>
- <id>codehaus.org</id>
- <name>Castor Central Distribution Repository</name>
- <url>dav:https://dav.codehaus.org/repository/castor/</url>
- </repository>
- <snapshotRepository>
- <id>codehaus.org</id>
- <name>Castor Central Development Repository</name>
- <url>
- dav:https://dav.codehaus.org/snapshots.repository/castor/
- </url>
- </snapshotRepository>
- <site>
- <id>codehaus.org</id>
- <url>dav:https://dav.codehaus.org/castor/</url>
- </site>
- </distributionManagement>
-
- <dependencies>
-
- <dependency>
- <groupId>org.codehaus.castor</groupId>
- <artifactId>castor-xml</artifactId>
- <version>1.2.1-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>org.codehaus.castor</groupId>
- <artifactId>castor-codegen</artifactId>
- <version>1.2.1-SNAPSHOT</version>
- </dependency>
-
- <dependency>
- <groupId>commons-logging</groupId>
- <artifactId>commons-logging</artifactId>
- <version>1.1</version>
- </dependency>
-
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>3.8.1</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>xmlunit</groupId>
- <artifactId>xmlunit</artifactId>
- <version>1.1</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>log4j</groupId>
- <artifactId>log4j</artifactId>
- <version>1.2.13</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>javax.xml.bind</groupId>
- <artifactId>jaxb-api</artifactId>
- <version>2.1</version>
- </dependency>
-
- <!--
- <dependency>
- <groupId>javax.xml</groupId>
- <artifactId>jaxb-xjc</artifactId>
- <version>2.0EA3</version>
- </dependency>
- -->
-
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-core</artifactId>
- <version>2.5.1</version>
- </dependency>
-
- <dependency>
- <groupId>org.easymock</groupId>
- <artifactId>easymock</artifactId>
- <version>2.3</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.easymock</groupId>
- <artifactId>easymockclassextension</artifactId>
- <version>2.3</version>
- <scope>test</scope>
- </dependency>
- </dependencies>
-
- <repositories>
- <repository>
- <id>Maven</id>
- <name>Maven repo1</name>
- <url>http://repo1.maven.org/maven2</url>
- </repository>
- <repository>
- <id>java.net</id>
- <name>java.net Maven Repository</name>
- <url>
- https://maven-repository.dev.java.net/nonav/repository
- </url>
- <layout>legacy</layout>
- </repository>
- <repository>
- <id>maven2-repository.dev.java.net</id>
- <name>Java.net Repository for Maven 2</name>
- <url>
- https://maven2-repository.dev.java.net/nonav/repository
- </url>
- <layout>default</layout>
- </repository>
- <repository>
- <id>codehaus.org</id>
- <name>Maven Codehaus repository</name>
- <url>http://maven.codehaus.org/maven2/</url>
- </repository>
- <repository>
- <id>codehaus-snapshots</id>
- <name>Maven Codehaus Snapshots</name>
- <url>http://snapshots.maven.codehaus.org/maven2/</url>
- </repository>
- </repositories>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <configuration>
- <source>1.5</source>
- <target>1.5</target>
- <!--
- <excludes>
- <exclude implementation="java.lang.String">SourceGenerator/**</exclude>
- </excludes>
- <testExcludes>
- <exclude implementation="java.lang.String">xml/MasterTestSuite/**</exclude>
- <exclude implementation="java.lang.String">xml/RegressionTestSuite/**</exclude>
- </testExcludes>
- -->
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-source-plugin</artifactId>
- <executions>
- <execution>
- <phase>package</phase>
- <goals>
- <goal>jar</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-javadoc-plugin</artifactId>
- <configuration>
- <aggregate>true</aggregate>
- </configuration>
- <executions>
- <execution>
- <id>attach-javadocs</id>
- <goals>
- <goal>jar</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-eclipse-plugin</artifactId>
- <configuration>
- <downloadSources>true</downloadSources>
- <downloadJavadocs>true</downloadJavadocs>
- <additionalProjectnatures>
- <projectnature>
- com.atlassw.tools.eclipse.checkstyle.CheckstyleNature
- </projectnature>
- </additionalProjectnatures>
- <additionalBuildcommands>
- <buildcommand>
- com.atlassw.tools.eclipse.checkstyle.CheckstyleBuilder
- </buildcommand>
- </additionalBuildcommands>
- <workspace>${basedir}</workspace>
- <workspaceCodeStylesURL>src/tools/checkstyle/castor-main-checks.xml</workspaceCodeStylesURL>
- </configuration>
- </plugin>
- </plugins>
- </build>
-
- <reporting>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-javadoc-plugin</artifactId>
- </plugin>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>jxr-maven-plugin</artifactId>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <!--
- <configuration>
- <excludes>
- <exclude>org/castor/cache/simple/TestTimeLimited.java</exclude>
- </excludes>
- <includes>
- <include>org/exolab/castor/**/Test*.java</include>
- </includes>
- <systemProperties>
- <property>
- <name>test.category</name>
- <value>castor.mysql</value>
- </property>
- </systemProperties>                    
- </configuration>
- -->
- </plugin>
-
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-report-plugin</artifactId>
- </plugin>
-
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-checkstyle-plugin</artifactId>
- <configuration>
- <configLocation>src/tools/checkstyle/castor-main-checks.xml</configLocation>
- </configuration>
- </plugin>
-
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-pmd-plugin</artifactId>
- <configuration>
- <targetJdk>1.5</targetJdk>
- <rulesets>
- <ruleset>/rulesets/basic.xml</ruleset>
- <ruleset>/rulesets/controversial.xml</ruleset>
- </rulesets>
- <format>xml</format>
- <linkXref>true</linkXref>
- <sourceEncoding>utf-8</sourceEncoding>
- <minimumTokens>100</minimumTokens>
- </configuration>
- </plugin>
-
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>changes-maven-plugin</artifactId>
- <reportSets>
- <reportSet>
- <reports>
- <report>changes-report</report>
- </reports>
- </reportSet>
- </reportSets>
- </plugin>
-
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>changelog-maven-plugin</artifactId>
- </plugin>
-
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>taglist-maven-plugin</artifactId>
- <configuration>
- <tags>
- <tag>HACK</tag>
- <tag>TODO</tag>
- <tag>FIXME</tag>
- <tag>@todo</tag>
- <tag>@deprecated</tag>
- </tags>
- </configuration>
- </plugin>
-
-
- <!--
- <plugin>
- <artifactId>maven-clover-plugin</artifactId>
- <version>2.1</version>
- <configuration>          
- <jdk>1.5</jdk>
- <cloverDatabase>target/clover-db</cloverDatabase>          
- <licenseLocation>${basedir}/src/etc/CLOVER.LICENSE</licenseLocation>    
- </configuration>        
- </plugin>
- -->
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>jdepend-maven-plugin</artifactId>
- </plugin>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>cobertura-maven-plugin</artifactId>
- </plugin>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>javancss-maven-plugin</artifactId>
- </plugin>
- </plugins>
- </reporting>
-</project>
-
-
+<?xml version="1.0" encoding="UTF-8"?><project>
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>org.codehaus.castor</groupId>
+  <artifactId>castor-jaxb</artifactId>
+  <name>Castor JAXB - An implementation of JAXB 2.1</name>
+  <version>1.0-beta-1-SNAPSHOT</version>
+  <description>A layer to use Castor underneath and JAXB standard compliant API
+ and mapping definition.</description>
+  <url>http://castor.org</url>
+  <issueManagement>
+    <system>Jira</system>
+    <url>http://jira.codehaus.org/browse/CASTOR</url>
+  </issueManagement>
+  <ciManagement>
+    <system>bamboo</system>
+    <url>http://bamboo.ci.codehaus.org/browse/CASTOR-XMLJAXB</url>
+  </ciManagement>
+  <mailingLists>
+    <mailingList>
+      <name>User mailing list</name>
+      <subscribe>user-subscribe@...</subscribe>
+      <unsubscribe>user-unsubscribe@...</unsubscribe>
+      <post>user@...</post>
+      <archive>http://archive.castor.codehaus.org/user</archive>
+    </mailingList>
+    <mailingList>
+      <name>Development mailing list</name>
+      <subscribe>dev-subscribe@...</subscribe>
+      <unsubscribe>dev-unsubscribe@...</unsubscribe>
+      <post>dev@...</post>
+      <archive>http://archive.castor.codehaus.org/dev</archive>
+    </mailingList>
+    <mailingList>
+      <name>Announcement mailing list</name>
+      <subscribe>announce-subscribe@...</subscribe>
+      <unsubscribe>announce-unsubscribe@...</unsubscribe>
+      <post>announce@...</post>
+      <archive>http://archive.castor.codehaus.org/announce</archive>
+    </mailingList>
+  </mailingLists>
+  <developers>
+    <developer>
+      <id>wguttmn</id>
+      <name>Werner Guttmann</name>
+      <email>wguttmn@...</email>
+      <organization>Indoqa</organization>
+      <organizationUrl>http://www.indoqa.com</organizationUrl>
+      <roles>
+        <role>Castor JDO Lead</role>
+        <role>Castor XML Lead</role>
+      </roles>
+      <timezone>+1</timezone>
+    </developer>
+    <developer>
+      <id>jgrueneis</id>
+      <name>Joachim Grueneis</name>
+      <email>jgrueneis@...</email>
+      <roles>
+        <role>Castor XML Committer</role>
+      </roles>
+      <timezone>+1</timezone>
+    </developer>
+  </developers>
+  <licenses>
+    <license>
+      <name>The Apache Software License, Version 2.0</name>
+      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+      <distribution>repo</distribution>
+    </license>
+  </licenses>
+  <scm>
+    <connection>scm:svn:http://svn.codehaus.org/castor/castor-jaxb-2.0/trunk/</connection>
+    <developerConnection>scm:svn:https://svn.codehaus.org/castor/castor-jaxb-2.0/trunk/</developerConnection>
+    <url>http://svn.castor.codehaus.org/viewrep/castor/castor-jaxb-2.0/trunk</url>
+  </scm>
+  <build>
+    <plugins>
+      <plugin>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <configuration>
+          <source>1.5</source>
+          <target>1.5</target>
+        </configuration>
+      </plugin>
+      <plugin>
+        <artifactId>maven-source-plugin</artifactId>
+        <executions>
+          <execution>
+            <phase>package</phase>
+            <goals>
+              <goal>jar</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+        <artifactId>maven-javadoc-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>attach-javadocs</id>
+            <goals>
+              <goal>jar</goal>
+            </goals>
+          </execution>
+        </executions>
+        <configuration>
+          <aggregate>true</aggregate>
+        </configuration>
+      </plugin>
+      <plugin>
+        <artifactId>maven-eclipse-plugin</artifactId>
+        <configuration>
+          <downloadSources>true</downloadSources>
+          <downloadJavadocs>true</downloadJavadocs>
+          <additionalProjectnatures>
+            <projectnature>com.atlassw.tools.eclipse.checkstyle.CheckstyleNature</projectnature>
+          </additionalProjectnatures>
+          <additionalBuildcommands>
+            <buildcommand>com.atlassw.tools.eclipse.checkstyle.CheckstyleBuilder</buildcommand>
+          </additionalBuildcommands>
+          <workspace>${basedir}</workspace>
+          <workspaceCodeStylesURL>src/tools/checkstyle/castor-main-checks.xml</workspaceCodeStylesURL>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+  <repositories>
+    <repository>
+      <id>Maven</id>
+      <name>Maven repo1</name>
+      <url>http://repo1.maven.org/maven2</url>
+    </repository>
+    <repository>
+      <id>java.net</id>
+      <name>java.net Maven Repository</name>
+      <url>https://maven-repository.dev.java.net/nonav/repository</url>
+      <layout>legacy</layout>
+    </repository>
+    <repository>
+      <id>maven2-repository.dev.java.net</id>
+      <name>Java.net Repository for Maven 2</name>
+      <url>https://maven2-repository.dev.java.net/nonav/repository</url>
+    </repository>
+    <repository>
+      <id>codehaus.org</id>
+      <name>Maven Codehaus repository</name>
+      <url>http://maven.codehaus.org/maven2/</url>
+    </repository>
+    <repository>
+      <id>codehaus-snapshots</id>
+      <name>Maven Codehaus Snapshots</name>
+      <url>http://snapshots.maven.codehaus.org/maven2/</url>
+    </repository>
+  </repositories>
+  <dependencies>
+    <dependency>
+      <groupId>org.codehaus.castor</groupId>
+      <artifactId>castor-testsuite-xml-framework</artifactId>
+      <version>1.2.1-SNAPSHOT</version>
+    </dependency>
+    <dependency>
+      <groupId>org.codehaus.castor</groupId>
+      <artifactId>castor-xml</artifactId>
+      <version>1.2.1-SNAPSHOT</version>
+    </dependency>
+    <dependency>
+      <groupId>org.codehaus.castor</groupId>
+      <artifactId>castor-codegen</artifactId>
+      <version>1.2.1-SNAPSHOT</version>
+    </dependency>
+    <dependency>
+      <groupId>commons-logging</groupId>
+      <artifactId>commons-logging</artifactId>
+      <version>1.1</version>
+    </dependency>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>3.8.1</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>xmlunit</groupId>
+      <artifactId>xmlunit</artifactId>
+      <version>1.1</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>log4j</groupId>
+      <artifactId>log4j</artifactId>
+      <version>1.2.13</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>javax.xml.bind</groupId>
+      <artifactId>jaxb-api</artifactId>
+      <version>2.1</version>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework</groupId>
+      <artifactId>spring-core</artifactId>
+      <version>2.5.1</version>
+    </dependency>
+    <dependency>
+      <groupId>org.easymock</groupId>
+      <artifactId>easymock</artifactId>
+      <version>2.3</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.easymock</groupId>
+      <artifactId>easymockclassextension</artifactId>
+      <version>2.3</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>javax.xml</groupId>
+      <artifactId>jaxb-api</artifactId>
+      <version>2.0</version>
+    </dependency>
+  </dependencies>
+  <reporting>
+    <plugins>
+      <plugin>
+        <artifactId>maven-javadoc-plugin</artifactId>
+      </plugin>
+      <plugin>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>jxr-maven-plugin</artifactId>
+      </plugin>
+      <plugin>
+        <artifactId>maven-surefire-plugin</artifactId>
+      </plugin>
+      <plugin>
+        <artifactId>maven-surefire-report-plugin</artifactId>
+      </plugin>
+      <plugin>
+        <artifactId>maven-checkstyle-plugin</artifactId>
+        <configuration>
+          <configLocation>src/tools/checkstyle/castor-main-checks.xml</configLocation>
+        </configuration>
+      </plugin>
+      <plugin>
+        <artifactId>maven-pmd-plugin</artifactId>
+        <configuration>
+          <targetJdk>1.5</targetJdk>
+          <rulesets>
+            <ruleset>/rulesets/basic.xml</ruleset>
+            <ruleset>/rulesets/controversial.xml</ruleset>
+          </rulesets>
+          <format>xml</format>
+          <linkXref>true</linkXref>
+          <sourceEncoding>utf-8</sourceEncoding>
+          <minimumTokens>100</minimumTokens>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>changes-maven-plugin</artifactId>
+        <reportSets>
+          <reportSet>
+            <reports>
+              <report>changes-report</report>
+            </reports>
+          </reportSet>
+        </reportSets>
+      </plugin>
+      <plugin>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>changelog-maven-plugin</artifactId>
+      </plugin>
+      <plugin>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>taglist-maven-plugin</artifactId>
+        <configuration>
+          <tags>
+            <tag>HACK</tag>
+            <tag>TODO</tag>
+            <tag>FIXME</tag>
+            <tag>@todo</tag>
+            <tag>@deprecated</tag>
+          </tags>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>jdepend-maven-plugin</artifactId>
+      </plugin>
+      <plugin>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>cobertura-maven-plugin</artifactId>
+      </plugin>
+      <plugin>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>javancss-maven-plugin</artifactId>
+      </plugin>
+    </plugins>
+  </reporting>
+  <distributionManagement>
+    <repository>
+      <id>codehaus.org</id>
+      <name>Castor Central Distribution Repository</name>
+      <url>dav:https://dav.codehaus.org/repository/castor/</url>
+    </repository>
+    <snapshotRepository>
+      <id>codehaus.org</id>
+      <name>Castor Central Development Repository</name>
+      <url>dav:https://dav.codehaus.org/snapshots.repository/castor/</url>
+    </snapshotRepository>
+    <site>
+      <id>codehaus.org</id>
+      <url>dav:https://dav.codehaus.org/castor/</url>
+    </site>
+  </distributionManagement>
+</project>
\ No newline at end of file

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email

Re: Re: Annotation processing

by Werner Guttmann :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Bao,

can you please create a new Jira issue for this, and attach your patch
there ?

Thanks
Werner

Le Duc Bao wrote:

> Hello Joachim,
>
> I attach a patch for the processing for XmlAttribute annotation by adding an
> indicator representing the existent of this annotation. Your feedbacks are
> warmly welcome.
>
> Enjoys,
> Bao
>
> On Sun, Jul 20, 2008 at 12:56 PM, Joachim Grüneis <jgrueneis@...>
> wrote:
>
>> Hello,
>>
>> I'm just back from vacation... so I haven't really taken a look onto
>> the problem...
>>
>> the focus of the current implementation was just onto what I needed to
>> un/marshal JAXB conform but I didn't care if there is enough
>> information to generate a schema from the Java sources
>>
>> can you please tell me (maybe as a patch) what information is needed
>> for you and I will bring it into the code base?
>>
>> I will have a look onto it during this week - as soon as I'm settled
>> again at home
>>
>> Have fun
>>
>> Joachim
>>
>> 2008/7/18 Le Duc Bao <leducbao@...>:
>>> Hello Joachim,
>>>
>>> It seems being a problem with annotation processing because of there are
>> no
>>> indicator representing an annotation. For example
>>>
>>>  public class USPrice {
>>>          @XmlAttribute
>>>
>>>          public java.math.BigDecimal getPrice() {...} ;
>>>          public void setPrice(java.math.BigDecimal ) {...};
>>>      }
>>>
>>> So, the present of @XmlAttribute does not present in FieldInfo class so
>> that
>>> we can not distinguish the above case with the code below during
>> annotation
>>> processing:
>>>
>>>  public class USPrice {
>>>          public java.math.BigDecimal getPrice() {...} ;
>>>          public void setPrice(java.math.BigDecimal ) {...};
>>>      }
>>>
>>> JAXB specification considers those two cases different.
>>>
>>> At this time, this problem affects at least two annotations
>> XmlRootElement
>>> and XmlAttribute.
>>>
>>> Regards,
>>> Bao
>>>
>>
>> ------------------------------------------------------------------------
>>
>> ---------------------------------------------------------------------
>> To unsubscribe from this list, please visit:
>>
>>     http://xircles.codehaus.org/manage_email

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email


LightInTheBox - Buy quality products at wholesale price