You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicemix.apache.org by gn...@apache.org on 2008/04/22 19:09:39 UTC
svn commit: r650577 [2/3] - in /servicemix/smx4/specs: ./ branches/ tags/
trunk/ trunk/jaxb-api/ trunk/jaxb-api/src/ trunk/jaxb-api/src/main/
trunk/jaxb-api/src/main/java/ trunk/jaxb-api/src/main/java/javax/
trunk/jaxb-api/src/main/java/javax/xml/ trun...
Added: servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlElements.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlElements.java?rev=650577&view=auto
==============================================================================
--- servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlElements.java (added)
+++ servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlElements.java Tue Apr 22 10:09:14 2008
@@ -0,0 +1,20 @@
+package javax.xml.bind.annotation;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+import java.lang.annotation.ElementType;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: gnodet
+ * Date: Apr 17, 2008
+ * Time: 11:14:29 AM
+ * To change this template use File | Settings | File Templates.
+ */
+@Retention(RetentionPolicy.RUNTIME)
+@Target(value = {ElementType.FIELD, ElementType.METHOD})
+public @interface XmlElements {
+
+ XmlElement[] value();
+}
Added: servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlEnum.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlEnum.java?rev=650577&view=auto
==============================================================================
--- servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlEnum.java (added)
+++ servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlEnum.java Tue Apr 22 10:09:14 2008
@@ -0,0 +1,20 @@
+package javax.xml.bind.annotation;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+import java.lang.annotation.ElementType;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: gnodet
+ * Date: Apr 17, 2008
+ * Time: 11:15:49 AM
+ * To change this template use File | Settings | File Templates.
+ */
+@Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.TYPE)
+public @interface XmlEnum {
+
+ Class value();
+}
Added: servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlEnumValue.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlEnumValue.java?rev=650577&view=auto
==============================================================================
--- servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlEnumValue.java (added)
+++ servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlEnumValue.java Tue Apr 22 10:09:14 2008
@@ -0,0 +1,20 @@
+package javax.xml.bind.annotation;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+import java.lang.annotation.ElementType;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: gnodet
+ * Date: Apr 17, 2008
+ * Time: 11:16:24 AM
+ * To change this template use File | Settings | File Templates.
+ */
+@Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.FIELD)
+public @interface XmlEnumValue {
+
+ String value();
+}
Added: servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlID.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlID.java?rev=650577&view=auto
==============================================================================
--- servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlID.java (added)
+++ servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlID.java Tue Apr 22 10:09:14 2008
@@ -0,0 +1,18 @@
+package javax.xml.bind.annotation;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+import java.lang.annotation.ElementType;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: gnodet
+ * Date: Apr 17, 2008
+ * Time: 11:16:50 AM
+ * To change this template use File | Settings | File Templates.
+ */
+@Retention(RetentionPolicy.RUNTIME)
+@Target(value = {ElementType.FIELD, ElementType.METHOD})
+public @interface XmlID {
+}
Added: servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlIDREF.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlIDREF.java?rev=650577&view=auto
==============================================================================
--- servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlIDREF.java (added)
+++ servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlIDREF.java Tue Apr 22 10:09:14 2008
@@ -0,0 +1,18 @@
+package javax.xml.bind.annotation;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+import java.lang.annotation.ElementType;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: gnodet
+ * Date: Apr 17, 2008
+ * Time: 11:17:08 AM
+ * To change this template use File | Settings | File Templates.
+ */
+@Retention(RetentionPolicy.RUNTIME)
+@Target(value = {ElementType.FIELD, ElementType.METHOD})
+public @interface XmlIDREF {
+}
Added: servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlInlineBinaryData.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlInlineBinaryData.java?rev=650577&view=auto
==============================================================================
--- servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlInlineBinaryData.java (added)
+++ servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlInlineBinaryData.java Tue Apr 22 10:09:14 2008
@@ -0,0 +1,18 @@
+package javax.xml.bind.annotation;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+import java.lang.annotation.ElementType;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: gnodet
+ * Date: Apr 17, 2008
+ * Time: 11:17:34 AM
+ * To change this template use File | Settings | File Templates.
+ */
+@Retention(RetentionPolicy.RUNTIME)
+@Target(value = {ElementType.FIELD, ElementType.METHOD, ElementType.TYPE})
+public @interface XmlInlineBinaryData {
+}
Added: servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlList.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlList.java?rev=650577&view=auto
==============================================================================
--- servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlList.java (added)
+++ servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlList.java Tue Apr 22 10:09:14 2008
@@ -0,0 +1,19 @@
+package javax.xml.bind.annotation;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+import java.lang.annotation.ElementType;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: gnodet
+ * Date: Apr 17, 2008
+ * Time: 11:18:05 AM
+ * To change this template use File | Settings | File Templates.
+ */
+@Retention(RetentionPolicy.RUNTIME)
+@Target(value = {ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER})
+public @interface XmlList {
+
+}
Added: servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlMimeType.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlMimeType.java?rev=650577&view=auto
==============================================================================
--- servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlMimeType.java (added)
+++ servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlMimeType.java Tue Apr 22 10:09:14 2008
@@ -0,0 +1,20 @@
+package javax.xml.bind.annotation;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+import java.lang.annotation.ElementType;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: gnodet
+ * Date: Apr 17, 2008
+ * Time: 11:18:29 AM
+ * To change this template use File | Settings | File Templates.
+ */
+@Retention(RetentionPolicy.RUNTIME)
+@Target(value = {ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER})
+public @interface XmlMimeType {
+
+ String value();
+}
Added: servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlMixed.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlMixed.java?rev=650577&view=auto
==============================================================================
--- servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlMixed.java (added)
+++ servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlMixed.java Tue Apr 22 10:09:14 2008
@@ -0,0 +1,18 @@
+package javax.xml.bind.annotation;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+import java.lang.annotation.ElementType;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: gnodet
+ * Date: Apr 17, 2008
+ * Time: 11:19:00 AM
+ * To change this template use File | Settings | File Templates.
+ */
+@Retention(RetentionPolicy.RUNTIME)
+@Target(value = {ElementType.FIELD, ElementType.METHOD})
+public @interface XmlMixed {
+}
Added: servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlNs.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlNs.java?rev=650577&view=auto
==============================================================================
--- servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlNs.java (added)
+++ servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlNs.java Tue Apr 22 10:09:14 2008
@@ -0,0 +1,22 @@
+package javax.xml.bind.annotation;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+import java.lang.annotation.ElementType;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: gnodet
+ * Date: Apr 17, 2008
+ * Time: 11:19:17 AM
+ * To change this template use File | Settings | File Templates.
+ */
+@Retention(RetentionPolicy.RUNTIME)
+@Target(value = {})
+public @interface XmlNs {
+
+ String namespaceURI();
+
+ String prefix();
+}
Added: servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlNsForm.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlNsForm.java?rev=650577&view=auto
==============================================================================
--- servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlNsForm.java (added)
+++ servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlNsForm.java Tue Apr 22 10:09:14 2008
@@ -0,0 +1,16 @@
+package javax.xml.bind.annotation;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: gnodet
+ * Date: Apr 17, 2008
+ * Time: 11:01:53 AM
+ * To change this template use File | Settings | File Templates.
+ */
+public enum XmlNsForm {
+
+ UNQUALIFIED,
+ QUALIFIED,
+ UNSET
+
+}
Added: servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlRegistry.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlRegistry.java?rev=650577&view=auto
==============================================================================
--- servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlRegistry.java (added)
+++ servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlRegistry.java Tue Apr 22 10:09:14 2008
@@ -0,0 +1,18 @@
+package javax.xml.bind.annotation;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+import java.lang.annotation.ElementType;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: gnodet
+ * Date: Apr 17, 2008
+ * Time: 11:20:00 AM
+ * To change this template use File | Settings | File Templates.
+ */
+@Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.TYPE)
+public @interface XmlRegistry {
+}
Added: servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlRootElement.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlRootElement.java?rev=650577&view=auto
==============================================================================
--- servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlRootElement.java (added)
+++ servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlRootElement.java Tue Apr 22 10:09:14 2008
@@ -0,0 +1,22 @@
+package javax.xml.bind.annotation;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+import java.lang.annotation.ElementType;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: gnodet
+ * Date: Apr 17, 2008
+ * Time: 11:20:25 AM
+ * To change this template use File | Settings | File Templates.
+ */
+@Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.TYPE)
+public @interface XmlRootElement {
+
+ String name() default "##default";
+
+ String namespace() default "##default";
+}
Added: servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlSchema.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlSchema.java?rev=650577&view=auto
==============================================================================
--- servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlSchema.java (added)
+++ servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlSchema.java Tue Apr 22 10:09:14 2008
@@ -0,0 +1,26 @@
+package javax.xml.bind.annotation;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+import java.lang.annotation.ElementType;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: gnodet
+ * Date: Apr 17, 2008
+ * Time: 11:21:08 AM
+ * To change this template use File | Settings | File Templates.
+ */
+@Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.PACKAGE)
+public @interface XmlSchema {
+
+ XmlNsForm attributFormDefault() default XmlNsForm.UNSET;
+
+ XmlNsForm elementFormDefault() default XmlNsForm.UNSET;
+
+ String namespace() default "";
+
+ XmlNs[] xmlns() default {};
+}
Added: servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlSchemaType.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlSchemaType.java?rev=650577&view=auto
==============================================================================
--- servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlSchemaType.java (added)
+++ servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlSchemaType.java Tue Apr 22 10:09:14 2008
@@ -0,0 +1,27 @@
+package javax.xml.bind.annotation;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+import java.lang.annotation.ElementType;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: gnodet
+ * Date: Apr 17, 2008
+ * Time: 11:22:32 AM
+ * To change this template use File | Settings | File Templates.
+ */
+@Retention(RetentionPolicy.RUNTIME)
+@Target(value = {ElementType.FIELD, ElementType.METHOD, ElementType.PACKAGE})
+public @interface XmlSchemaType {
+
+ class DEFAULT {
+ }
+
+ String name();
+
+ String namespace() default "http://www.w3.org/2001/XMLSchema";
+
+ Class type() default DEFAULT.class;
+}
Added: servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlSchemaTypes.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlSchemaTypes.java?rev=650577&view=auto
==============================================================================
--- servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlSchemaTypes.java (added)
+++ servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlSchemaTypes.java Tue Apr 22 10:09:14 2008
@@ -0,0 +1,20 @@
+package javax.xml.bind.annotation;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+import java.lang.annotation.ElementType;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: gnodet
+ * Date: Apr 17, 2008
+ * Time: 11:23:36 AM
+ * To change this template use File | Settings | File Templates.
+ */
+@Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.PACKAGE)
+public @interface XmlSchemaTypes {
+
+ XmlSchemaType[] value();
+}
Added: servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlTransient.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlTransient.java?rev=650577&view=auto
==============================================================================
--- servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlTransient.java (added)
+++ servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlTransient.java Tue Apr 22 10:09:14 2008
@@ -0,0 +1,18 @@
+package javax.xml.bind.annotation;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+import java.lang.annotation.ElementType;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: gnodet
+ * Date: Apr 17, 2008
+ * Time: 11:24:11 AM
+ * To change this template use File | Settings | File Templates.
+ */
+@Retention(RetentionPolicy.RUNTIME)
+@Target(value = {ElementType.FIELD, ElementType.METHOD})
+public @interface XmlTransient {
+}
Added: servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlType.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlType.java?rev=650577&view=auto
==============================================================================
--- servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlType.java (added)
+++ servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlType.java Tue Apr 22 10:09:14 2008
@@ -0,0 +1,31 @@
+package javax.xml.bind.annotation;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+import java.lang.annotation.ElementType;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: gnodet
+ * Date: Apr 17, 2008
+ * Time: 11:24:30 AM
+ * To change this template use File | Settings | File Templates.
+ */
+@Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.TYPE)
+public @interface XmlType {
+
+ class DEFAULT {
+ }
+
+ Class factoryClass() default DEFAULT.class;
+
+ String factoryMethod() default "";
+
+ String name() default "##default";
+
+ String namespace() default "##default";
+
+ String[] propOrder() default "";
+}
Added: servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlValue.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlValue.java?rev=650577&view=auto
==============================================================================
--- servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlValue.java (added)
+++ servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/XmlValue.java Tue Apr 22 10:09:14 2008
@@ -0,0 +1,18 @@
+package javax.xml.bind.annotation;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+import java.lang.annotation.ElementType;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: gnodet
+ * Date: Apr 17, 2008
+ * Time: 11:26:14 AM
+ * To change this template use File | Settings | File Templates.
+ */
+@Retention(RetentionPolicy.RUNTIME)
+@Target(value = {ElementType.FIELD, ElementType.METHOD})
+public @interface XmlValue {
+}
Added: servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/adapters/CollapsedStringAdapter.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/adapters/CollapsedStringAdapter.java?rev=650577&view=auto
==============================================================================
--- servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/adapters/CollapsedStringAdapter.java (added)
+++ servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/adapters/CollapsedStringAdapter.java Tue Apr 22 10:09:14 2008
@@ -0,0 +1,58 @@
+package javax.xml.bind.annotation.adapters;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: gnodet
+ * Date: Apr 17, 2008
+ * Time: 12:08:08 PM
+ * To change this template use File | Settings | File Templates.
+ */
+public class CollapsedStringAdapter extends XmlAdapter<String, String> {
+
+ public String marshal(String v) {
+ return v;
+ }
+
+ public String unmarshal(String v) {
+ if(v == null) {
+ return null;
+ }
+ int len = v.length();
+ int s;
+ for (s = 0; s < len && !isWhiteSpace(v.charAt(s)); s++);
+ if (s == len) {
+ return v;
+ }
+ StringBuffer result = new StringBuffer(len);
+ if (s != 0) {
+ for(int i = 0; i < s; i++) {
+ result.append(v.charAt(i));
+ }
+ result.append(' ');
+ }
+ boolean inStripMode = true;
+ for (int i = s + 1; i < len; i++) {
+ char ch = v.charAt(i);
+ boolean b = isWhiteSpace(ch);
+ if (inStripMode && b) {
+ continue;
+ }
+ inStripMode = b;
+ result.append(inStripMode ? ' ' : ch);
+ }
+ len = result.length();
+ if (len > 0 && result.charAt(len - 1) == ' ') {
+ result.setLength(len - 1);
+ }
+ return result.toString();
+ }
+
+ protected static boolean isWhiteSpace(char ch) {
+ if (ch > ' ') {
+ return false;
+ } else {
+ return ch == '\t' || ch == '\n' || ch == '\r' || ch == ' ';
+ }
+ }
+
+}
Added: servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/adapters/HexBinaryAdapter.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/adapters/HexBinaryAdapter.java?rev=650577&view=auto
==============================================================================
--- servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/adapters/HexBinaryAdapter.java (added)
+++ servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/adapters/HexBinaryAdapter.java Tue Apr 22 10:09:14 2008
@@ -0,0 +1,21 @@
+package javax.xml.bind.annotation.adapters;
+
+import javax.xml.bind.DatatypeConverter;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: gnodet
+ * Date: Apr 17, 2008
+ * Time: 11:38:25 AM
+ * To change this template use File | Settings | File Templates.
+ */
+public class HexBinaryAdapter extends XmlAdapter<String, byte[]> {
+
+ public String marshal(byte[] v) {
+ return DatatypeConverter.printHexBinary(v);
+ }
+
+ public byte[] unmarshal(String v) {
+ return DatatypeConverter.parseHexBinary(v);
+ }
+}
Added: servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/adapters/NormalizedStringAdapter.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/adapters/NormalizedStringAdapter.java?rev=650577&view=auto
==============================================================================
--- servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/adapters/NormalizedStringAdapter.java (added)
+++ servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/adapters/NormalizedStringAdapter.java Tue Apr 22 10:09:14 2008
@@ -0,0 +1,43 @@
+package javax.xml.bind.annotation.adapters;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: gnodet
+ * Date: Apr 17, 2008
+ * Time: 11:28:50 AM
+ * To change this template use File | Settings | File Templates.
+ */
+public class NormalizedStringAdapter extends XmlAdapter<String, String> {
+
+ public String marshal(String v) {
+ return v;
+ }
+
+ public String unmarshal(String v) {
+ if (v == null) {
+ return null;
+ }
+ int i;
+ for (i = v.length() - 1; i >= 0 && !isWhiteSpaceExceptSpace(v.charAt(i)); i--);
+ if (i < 0) {
+ return v;
+ }
+ char buf[] = v.toCharArray();
+ buf[i--] = ' ';
+ for(; i >= 0; i--) {
+ if(isWhiteSpaceExceptSpace(buf[i])) {
+ buf[i] = ' ';
+ }
+ }
+ return new String(buf);
+ }
+
+ protected static boolean isWhiteSpaceExceptSpace(char ch) {
+ if (ch >= ' ') {
+ return false;
+ } else {
+ return ch == '\t' || ch == '\n' || ch == '\r';
+ }
+ }
+
+}
Added: servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/adapters/XmlAdapter.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/adapters/XmlAdapter.java?rev=650577&view=auto
==============================================================================
--- servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/adapters/XmlAdapter.java (added)
+++ servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/adapters/XmlAdapter.java Tue Apr 22 10:09:14 2008
@@ -0,0 +1,18 @@
+package javax.xml.bind.annotation.adapters;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: gnodet
+ * Date: Apr 17, 2008
+ * Time: 9:10:25 AM
+ * To change this template use File | Settings | File Templates.
+ */
+public abstract class XmlAdapter<ValueType, BoundType> {
+
+ protected XmlAdapter() {
+ }
+
+ public abstract ValueType marshal(BoundType v);
+
+ public abstract BoundType unmarshal(ValueType v);
+}
Added: servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/adapters/XmlJavaTypeAdapter.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/adapters/XmlJavaTypeAdapter.java?rev=650577&view=auto
==============================================================================
--- servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/adapters/XmlJavaTypeAdapter.java (added)
+++ servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/adapters/XmlJavaTypeAdapter.java Tue Apr 22 10:09:14 2008
@@ -0,0 +1,25 @@
+package javax.xml.bind.annotation.adapters;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+import java.lang.annotation.ElementType;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: gnodet
+ * Date: Apr 17, 2008
+ * Time: 11:26:54 AM
+ * To change this template use File | Settings | File Templates.
+ */
+@Retention(RetentionPolicy.RUNTIME)
+@Target(value = {ElementType.PACKAGE, ElementType.FIELD, ElementType.METHOD, ElementType.TYPE, ElementType.PARAMETER})
+public @interface XmlJavaTypeAdapter {
+
+ class DEFAULT {
+ }
+
+ Class<? extends XmlAdapter> value();
+
+ Class type() default DEFAULT.class;
+}
Added: servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/adapters/XmlJavaTypeAdapters.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/adapters/XmlJavaTypeAdapters.java?rev=650577&view=auto
==============================================================================
--- servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/adapters/XmlJavaTypeAdapters.java (added)
+++ servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/annotation/adapters/XmlJavaTypeAdapters.java Tue Apr 22 10:09:14 2008
@@ -0,0 +1,20 @@
+package javax.xml.bind.annotation.adapters;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+import java.lang.annotation.ElementType;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: gnodet
+ * Date: Apr 17, 2008
+ * Time: 11:28:17 AM
+ * To change this template use File | Settings | File Templates.
+ */
+@Retention(RetentionPolicy.RUNTIME)
+@Target(value = {ElementType.PACKAGE})
+public @interface XmlJavaTypeAdapters {
+
+ XmlJavaTypeAdapter[] value();
+}
Added: servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/attachment/AttachmentMarshaller.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/attachment/AttachmentMarshaller.java?rev=650577&view=auto
==============================================================================
--- servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/attachment/AttachmentMarshaller.java (added)
+++ servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/attachment/AttachmentMarshaller.java Tue Apr 22 10:09:14 2008
@@ -0,0 +1,23 @@
+package javax.xml.bind.attachment;
+
+import javax.activation.DataHandler;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: gnodet
+ * Date: Apr 17, 2008
+ * Time: 9:18:43 AM
+ * To change this template use File | Settings | File Templates.
+ */
+public abstract class AttachmentMarshaller {
+
+ public abstract String addMtomAttachment(byte[] data, int offset, int length, String mimeType, String elementNamespace, String elementLocalName);
+
+ public abstract String addMtomAttachment(DataHandler data, String elementNamespace, String elementLocalName);
+
+ public abstract String addSwaRefAttachment(DataHandler data);
+
+ public boolean isXOPPackage() {
+ return false;
+ }
+}
Added: servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/attachment/AttachmentUnmarshaller.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/attachment/AttachmentUnmarshaller.java?rev=650577&view=auto
==============================================================================
--- servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/attachment/AttachmentUnmarshaller.java (added)
+++ servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/attachment/AttachmentUnmarshaller.java Tue Apr 22 10:09:14 2008
@@ -0,0 +1,21 @@
+package javax.xml.bind.attachment;
+
+import javax.activation.DataHandler;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: gnodet
+ * Date: Apr 17, 2008
+ * Time: 9:23:53 AM
+ * To change this template use File | Settings | File Templates.
+ */
+public abstract class AttachmentUnmarshaller {
+
+ public abstract byte[] getAttachmentAsByteArray(String cid);
+
+ public abstract DataHandler getAttachmentAsDataHandler(String cid);
+
+ public boolean isXOPPackage() {
+ return false;
+ }
+}
Added: servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/helpers/AbstractMarshallerImpl.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/helpers/AbstractMarshallerImpl.java?rev=650577&view=auto
==============================================================================
--- servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/helpers/AbstractMarshallerImpl.java (added)
+++ servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/helpers/AbstractMarshallerImpl.java Tue Apr 22 10:09:14 2008
@@ -0,0 +1,275 @@
+package javax.xml.bind.helpers;
+
+import java.io.OutputStream;
+import java.io.UnsupportedEncodingException;
+import java.io.Writer;
+
+import javax.xml.bind.JAXBException;
+import javax.xml.bind.Marshaller;
+import javax.xml.bind.PropertyException;
+import javax.xml.bind.ValidationEventHandler;
+import javax.xml.bind.annotation.adapters.XmlAdapter;
+import javax.xml.bind.attachment.AttachmentMarshaller;
+import javax.xml.stream.XMLEventWriter;
+import javax.xml.stream.XMLStreamWriter;
+import javax.xml.transform.dom.DOMResult;
+import javax.xml.transform.sax.SAXResult;
+import javax.xml.transform.stream.StreamResult;
+import javax.xml.transform.Result;
+import javax.xml.validation.Schema;
+
+import org.w3c.dom.Node;
+
+import org.xml.sax.ContentHandler;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: gnodet
+ * Date: Apr 17, 2008
+ * Time: 12:11:11 PM
+ * To change this template use File | Settings | File Templates.
+ */
+public abstract class AbstractMarshallerImpl implements Marshaller {
+
+ static String aliases[] = {
+ "UTF-8", "UTF8",
+ "UTF-16", "Unicode",
+ "UTF-16BE", "UnicodeBigUnmarked",
+ "UTF-16LE", "UnicodeLittleUnmarked",
+ "US-ASCII", "ASCII",
+ "TIS-620", "TIS620",
+ "ISO-10646-UCS-2", "Unicode",
+ "EBCDIC-CP-US", "cp037",
+ "EBCDIC-CP-CA", "cp037",
+ "EBCDIC-CP-NL", "cp037",
+ "EBCDIC-CP-WT", "cp037",
+ "EBCDIC-CP-DK", "cp277",
+ "EBCDIC-CP-NO", "cp277",
+ "EBCDIC-CP-FI", "cp278",
+ "EBCDIC-CP-SE", "cp278",
+ "EBCDIC-CP-IT", "cp280",
+ "EBCDIC-CP-ES", "cp284",
+ "EBCDIC-CP-GB", "cp285",
+ "EBCDIC-CP-FR", "cp297",
+ "EBCDIC-CP-AR1", "cp420",
+ "EBCDIC-CP-HE", "cp424",
+ "EBCDIC-CP-BE", "cp500",
+ "EBCDIC-CP-CH", "cp500",
+ "EBCDIC-CP-ROECE", "cp870",
+ "EBCDIC-CP-YU", "cp870",
+ "EBCDIC-CP-IS", "cp871",
+ "EBCDIC-CP-AR2", "cp918"
+ };
+
+ private ValidationEventHandler eventHandler = new DefaultValidationEventHandler();
+ private String encoding = "UTF-8";
+ private String schemaLocation;
+ private String noNSSchemaLocation;
+ private boolean formattedOutput;
+ private boolean fragment;
+
+ public final void marshal(Object obj, OutputStream os) throws JAXBException {
+ checkNotNull(obj, "obj", os, "os");
+ marshal(obj, new StreamResult(os));
+ }
+
+ public final void marshal(Object obj, Writer w) throws JAXBException {
+ checkNotNull(obj, "obj", w, "writer");
+ marshal(obj, new StreamResult(w));
+ }
+
+ public final void marshal(Object obj, ContentHandler handler) throws JAXBException {
+ checkNotNull(obj, "obj", handler, "handler");
+ marshal(obj, new SAXResult(handler));
+ }
+
+ public final void marshal(Object obj, Node node) throws JAXBException {
+ checkNotNull(obj, "obj", node, "node");
+ marshal(obj, new DOMResult(node));
+ }
+
+ public Node getNode(Object obj) throws JAXBException {
+ checkNotNull(obj, "obj", "foo", "bar");
+ throw new UnsupportedOperationException();
+ }
+
+ protected String getEncoding() {
+ return encoding;
+ }
+
+ protected void setEncoding(String encoding) {
+ this.encoding = encoding;
+ }
+
+ protected String getSchemaLocation() {
+ return schemaLocation;
+ }
+
+ protected void setSchemaLocation(String location) {
+ schemaLocation = location;
+ }
+
+ protected String getNoNSSchemaLocation() {
+ return noNSSchemaLocation;
+ }
+
+ protected void setNoNSSchemaLocation(String location) {
+ noNSSchemaLocation = location;
+ }
+
+ protected boolean isFormattedOutput() {
+ return formattedOutput;
+ }
+
+ protected void setFormattedOutput(boolean v) {
+ formattedOutput = v;
+ }
+
+ protected boolean isFragment() {
+ return fragment;
+ }
+
+ protected void setFragment(boolean v) {
+ fragment = v;
+ }
+
+ protected String getJavaEncoding(String encoding) throws UnsupportedEncodingException {
+ try {
+ "1".getBytes(encoding);
+ return encoding;
+ }
+ catch (UnsupportedEncodingException e) {
+ }
+ for (int i = 0; i < aliases.length; i += 2) {
+ if (encoding.equals(aliases[i])) {
+ "1".getBytes(aliases[i + 1]);
+ return aliases[i + 1];
+ }
+ }
+ throw new UnsupportedEncodingException(encoding);
+ }
+
+ public void setProperty(String name, Object value) throws PropertyException {
+ if (name == null) {
+ throw new IllegalArgumentException("name must not be null");
+ }
+ if (JAXB_ENCODING.equals(name)) {
+ checkString(name, value);
+ setEncoding((String) value);
+ } else if (JAXB_FORMATTED_OUTPUT.equals(name)) {
+ checkBoolean(name, value);
+ setFormattedOutput(((Boolean) value).booleanValue());
+ } else if (JAXB_NO_NAMESPACE_SCHEMA_LOCATION.equals(name)) {
+ checkString(name, value);
+ setNoNSSchemaLocation((String) value);
+ } else if (JAXB_SCHEMA_LOCATION.equals(name)) {
+ checkString(name, value);
+ setSchemaLocation((String) value);
+ } else if (JAXB_FRAGMENT.equals(name)) {
+ checkBoolean(name, value);
+ setFragment(((Boolean) value).booleanValue());
+ } else {
+ throw new PropertyException(name, value);
+ }
+ }
+
+ public Object getProperty(String name) throws PropertyException {
+ if (name == null) {
+ throw new IllegalArgumentException("name must not be null");
+ }
+ if (JAXB_ENCODING.equals(name)) {
+ return getEncoding();
+ } else if (JAXB_FORMATTED_OUTPUT.equals(name)) {
+ return isFormattedOutput() ? Boolean.TRUE : Boolean.FALSE;
+ } else if (JAXB_NO_NAMESPACE_SCHEMA_LOCATION.equals(name)) {
+ return getNoNSSchemaLocation();
+ } else if (JAXB_SCHEMA_LOCATION.equals(name)) {
+ return getSchemaLocation();
+ } else if (JAXB_FRAGMENT.equals(name)) {
+ return isFragment() ? Boolean.TRUE : Boolean.FALSE;
+ } else {
+ throw new PropertyException(name);
+ }
+ }
+
+ public ValidationEventHandler getEventHandler() throws JAXBException {
+ return eventHandler;
+ }
+
+ public void setEventHandler(ValidationEventHandler handler) throws JAXBException {
+ if (handler == null) {
+ eventHandler = new DefaultValidationEventHandler();
+ } else {
+ eventHandler = handler;
+ }
+ }
+
+ private void checkBoolean(String name, Object value) throws PropertyException {
+ if (!(value instanceof Boolean)) {
+ throw new PropertyException(name + " must be a boolean");
+ }
+ }
+
+ private void checkString(String name, Object value) throws PropertyException {
+ if (!(value instanceof String)) {
+ throw new PropertyException(name + " must be a string");
+ }
+ }
+
+ private void checkNotNull(Object o1, String o1Name, Object o2, String o2Name) {
+ if (o1 == null) {
+ throw new IllegalArgumentException(o1Name + " must not be null");
+ }
+ if (o2 == null) {
+ throw new IllegalArgumentException(o2Name + " must not be null");
+ }
+ }
+
+ public void marshal(Object obj, XMLEventWriter writer)
+ throws JAXBException {
+ throw new UnsupportedOperationException();
+ }
+
+ public void marshal(Object obj, XMLStreamWriter writer) throws JAXBException {
+ throw new UnsupportedOperationException();
+ }
+
+ public void setSchema(Schema schema) {
+ throw new UnsupportedOperationException();
+ }
+
+ public Schema getSchema() {
+ throw new UnsupportedOperationException();
+ }
+
+ public void setAdapter(XmlAdapter adapter) {
+ if (adapter == null) {
+ throw new IllegalArgumentException();
+ }
+ setAdapter(adapter.getClass(), adapter);
+ }
+
+ public void setAdapter(Class type, XmlAdapter adapter) {
+ throw new UnsupportedOperationException();
+ }
+
+ public XmlAdapter getAdapter(Class type) {
+ throw new UnsupportedOperationException();
+ }
+
+ public void setAttachmentMarshaller(AttachmentMarshaller am) {
+ throw new UnsupportedOperationException();
+ }
+
+ public AttachmentMarshaller getAttachmentMarshaller() {
+ throw new UnsupportedOperationException();
+ }
+
+ public void setListener(javax.xml.bind.Marshaller.Listener listener) {
+ throw new UnsupportedOperationException();
+ }
+
+ public javax.xml.bind.Marshaller.Listener getListener() {
+ throw new UnsupportedOperationException();
+ }
+}
Added: servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/helpers/AbstractUnmarshallerImpl.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/helpers/AbstractUnmarshallerImpl.java?rev=650577&view=auto
==============================================================================
--- servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/helpers/AbstractUnmarshallerImpl.java (added)
+++ servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/helpers/AbstractUnmarshallerImpl.java Tue Apr 22 10:09:14 2008
@@ -0,0 +1,251 @@
+package javax.xml.bind.helpers;
+
+import java.io.File;
+import java.io.InputStream;
+import java.io.Reader;
+import java.net.URL;
+import java.net.MalformedURLException;
+
+import javax.xml.bind.Unmarshaller;
+import javax.xml.bind.ValidationEventHandler;
+import javax.xml.bind.UnmarshallerHandler;
+import javax.xml.bind.JAXBElement;
+import javax.xml.bind.UnmarshalException;
+import javax.xml.bind.JAXBException;
+import javax.xml.bind.PropertyException;
+import javax.xml.bind.attachment.AttachmentUnmarshaller;
+import javax.xml.bind.annotation.adapters.XmlAdapter;
+import javax.xml.validation.Schema;
+import javax.xml.transform.Source;
+import javax.xml.transform.stream.StreamSource;
+import javax.xml.transform.sax.SAXSource;
+import javax.xml.transform.dom.DOMSource;
+import javax.xml.stream.XMLEventReader;
+import javax.xml.stream.XMLStreamReader;
+import javax.xml.parsers.ParserConfigurationException;
+import javax.xml.parsers.SAXParserFactory;
+
+import org.w3c.dom.Node;
+
+import org.xml.sax.InputSource;
+import org.xml.sax.SAXException;
+import org.xml.sax.XMLReader;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: gnodet
+ * Date: Apr 17, 2008
+ * Time: 12:36:46 PM
+ * To change this template use File | Settings | File Templates.
+ */
+public abstract class AbstractUnmarshallerImpl implements Unmarshaller {
+
+ protected boolean validating;
+ private ValidationEventHandler eventHandler;
+ private XMLReader reader;
+
+ protected UnmarshalException createUnmarshalException(SAXException e) {
+ Exception nested = e.getException();
+ if (nested instanceof UnmarshalException) {
+ return (UnmarshalException)nested;
+ } else if(nested instanceof RuntimeException) {
+ throw (RuntimeException)nested;
+ } else if (nested != null) {
+ return new UnmarshalException(nested);
+ } else {
+ return new UnmarshalException(e);
+ }
+ }
+
+ protected XMLReader getXMLReader() throws JAXBException {
+ if (reader == null) {
+ try {
+ SAXParserFactory parserFactory = SAXParserFactory.newInstance();
+ parserFactory.setNamespaceAware(true);
+ parserFactory.setValidating(false);
+ reader = parserFactory.newSAXParser().getXMLReader();
+ } catch(ParserConfigurationException e) {
+ throw new JAXBException(e);
+ } catch(SAXException e) {
+ throw new JAXBException(e);
+ }
+ }
+ return reader;
+ }
+
+ public <A extends XmlAdapter> A getAdapter(Class<A> type) {
+ throw new UnsupportedOperationException();
+ }
+
+ public AttachmentUnmarshaller getAttachmentUnmarshaller() {
+ throw new UnsupportedOperationException();
+ }
+
+ public ValidationEventHandler getEventHandler() {
+ return eventHandler;
+ }
+
+ public Listener getListener() {
+ throw new UnsupportedOperationException();
+ }
+
+ public Object getProperty(String name) throws PropertyException {
+ if(name == null) {
+ throw new IllegalArgumentException("name must not be null");
+ }
+ throw new PropertyException(name);
+ }
+
+ public Schema getSchema() {
+ throw new UnsupportedOperationException();
+ }
+
+ public UnmarshallerHandler getUnmarshallerHandler() {
+ throw new UnsupportedOperationException();
+ }
+
+ public boolean isValidating() throws JAXBException {
+ return validating;
+ }
+
+ public <A extends XmlAdapter> void setAdapter(Class<A> type, A adapter) {
+ throw new UnsupportedOperationException();
+ }
+
+ public void setAdapter(XmlAdapter adapter) {
+ if (adapter == null) {
+ throw new IllegalArgumentException();
+ }
+ setAdapter((Class<XmlAdapter>) adapter.getClass(), adapter);
+ }
+
+ public void setAttachmentUnmarshaller(AttachmentUnmarshaller au) {
+ throw new UnsupportedOperationException();
+ }
+
+ public void setEventHandler(ValidationEventHandler handler) throws JAXBException {
+ if (handler == null) {
+ handler = new DefaultValidationEventHandler();
+ }
+ eventHandler = handler;
+ }
+
+ public void setListener(Listener listener) {
+ throw new UnsupportedOperationException();
+ }
+
+ public void setProperty(String name, Object value) throws PropertyException {
+ if(name == null) {
+ throw new IllegalArgumentException("name must not be null");
+ }
+ throw new PropertyException(name, value);
+ }
+
+ public void setSchema(Schema schema) {
+ throw new UnsupportedOperationException();
+ }
+
+ public void setValidating(boolean validating) {
+ this.validating = validating;
+ }
+
+ public Object unmarshal(File file) throws JAXBException {
+ if (file == null) {
+ throw new IllegalArgumentException("file must not be null");
+ }
+ try
+ {
+ String path = file.getAbsolutePath();
+ if (File.separatorChar != '/') {
+ path = path.replace(File.separatorChar, '/');
+ }
+ if (!path.startsWith("/")) {
+ path = "/" + path;
+ }
+ if (!path.endsWith("/") && file.isDirectory()) {
+ path = path + "/";
+ }
+ return unmarshal(new URL("file", "", path));
+ }
+ catch(MalformedURLException e) {
+ throw new IllegalArgumentException(e.getMessage());
+ }
+ }
+
+ public Object unmarshal(InputSource source) throws JAXBException {
+ if (source == null) {
+ throw new IllegalArgumentException("source must not be null");
+ }
+ return unmarshal(getXMLReader(), source);
+ }
+
+ public Object unmarshal(InputStream is) throws JAXBException {
+ if (reader == null) {
+ throw new IllegalArgumentException("is must not be null");
+ }
+ return unmarshal(new InputSource(is));
+ }
+
+ public <T> JAXBElement<T> unmarshal(Node node, Class<T> declaredType) throws JAXBException {
+ throw new UnsupportedOperationException();
+ }
+
+ public Object unmarshal(Reader reader) throws JAXBException {
+ if (reader == null) {
+ throw new IllegalArgumentException("reader must not be null");
+ }
+ return unmarshal(new InputSource(reader));
+ }
+
+ public Object unmarshal(Source source) throws JAXBException {
+ if (source == null) {
+ throw new IllegalArgumentException("source must not be null");
+ } else if (source instanceof SAXSource) {
+ SAXSource saxSource = (SAXSource) source;
+ XMLReader reader = saxSource.getXMLReader();
+ if (reader == null) {
+ reader = getXMLReader();
+ }
+ return unmarshal(reader, saxSource.getInputSource());
+ } else if (source instanceof StreamSource) {
+ StreamSource ss = (StreamSource) source;
+ InputSource is = new InputSource();
+ is.setSystemId(ss.getSystemId());
+ is.setByteStream(ss.getInputStream());
+ is.setCharacterStream(ss.getReader());
+ return unmarshal(is);
+ } else if (source instanceof DOMSource)
+ return unmarshal(((DOMSource) source).getNode());
+ else
+ throw new IllegalArgumentException();
+ }
+
+ protected abstract Object unmarshal(XMLReader xmlreader, InputSource inputsource) throws JAXBException;
+
+ public <T> JAXBElement<T> unmarshal(Source source, Class<T> declaredType) throws JAXBException {
+ throw new UnsupportedOperationException();
+ }
+
+ public Object unmarshal(URL url) throws JAXBException {
+ if(url == null) {
+ throw new IllegalArgumentException("url must not be null");
+ }
+ return unmarshal(new InputSource(url.toExternalForm()));
+ }
+
+ public Object unmarshal(XMLEventReader reader) throws JAXBException {
+ throw new UnsupportedOperationException();
+ }
+
+ public <T> JAXBElement<T> unmarshal(XMLEventReader reader, Class<T> declaredType) throws JAXBException {
+ throw new UnsupportedOperationException();
+ }
+
+ public Object unmarshal(XMLStreamReader reader) throws JAXBException {
+ throw new UnsupportedOperationException();
+ }
+
+ public <T> JAXBElement<T> unmarshal(XMLStreamReader reader, Class<T> declaredType) throws JAXBException {
+ throw new UnsupportedOperationException();
+ }
+}
Added: servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/helpers/DefaultValidationEventHandler.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/helpers/DefaultValidationEventHandler.java?rev=650577&view=auto
==============================================================================
--- servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/helpers/DefaultValidationEventHandler.java (added)
+++ servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/helpers/DefaultValidationEventHandler.java Tue Apr 22 10:09:14 2008
@@ -0,0 +1,73 @@
+package javax.xml.bind.helpers;
+
+import java.net.URL;
+
+import javax.xml.bind.ValidationEventHandler;
+import javax.xml.bind.ValidationEvent;
+import javax.xml.bind.ValidationEventLocator;
+
+import org.w3c.dom.Node;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: gnodet
+ * Date: Apr 17, 2008
+ * Time: 12:23:24 PM
+ * To change this template use File | Settings | File Templates.
+ */
+public class DefaultValidationEventHandler implements ValidationEventHandler {
+
+ public boolean handleEvent(ValidationEvent event) {
+ if (event == null) {
+ throw new IllegalArgumentException();
+ }
+ String severity = null;
+ boolean retVal = false;
+ switch(event.getSeverity()) {
+ case ValidationEvent.WARNING: // '\0'
+ severity = "[WARNING]: ";
+ retVal = true;
+ break;
+
+ case ValidationEvent.ERROR: // '\001'
+ severity = "[ERROR]: ";
+ retVal = false;
+ break;
+
+ case ValidationEvent.FATAL_ERROR: // '\002'
+ severity = "[FATAL_ERROR]: ";
+ retVal = false;
+ break;
+ }
+ String location = getLocation(event);
+ System.out.println("DefaultValidationEventHandler " + severity + " " + event.getMessage() + "\n Location: " + location);
+ return retVal;
+ }
+
+ private String getLocation(ValidationEvent event) {
+ StringBuffer msg = new StringBuffer();
+ ValidationEventLocator locator = event.getLocator();
+ if (locator != null) {
+ URL url = locator.getURL();
+ Object obj = locator.getObject();
+ Node node = locator.getNode();
+ int line = locator.getLineNumber();
+ if(url != null || line != -1) {
+ msg.append("line ").append(line);
+ if(url != null) {
+ msg.append(" of ").append(url);
+ }
+ } else {
+ if (obj != null) {
+ msg.append(" obj: ").append(obj.toString());
+ } else if(node != null) {
+ msg.append(" node: ").append(node.toString());
+ }
+ }
+ } else {
+ msg.append("unavailable");
+ }
+ return msg.toString();
+ }
+
+}
Added: servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/helpers/NotIdentifiableEventImpl.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/helpers/NotIdentifiableEventImpl.java?rev=650577&view=auto
==============================================================================
--- servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/helpers/NotIdentifiableEventImpl.java (added)
+++ servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/helpers/NotIdentifiableEventImpl.java Tue Apr 22 10:09:14 2008
@@ -0,0 +1,22 @@
+package javax.xml.bind.helpers;
+
+import javax.xml.bind.NotIdentifiableEvent;
+import javax.xml.bind.ValidationEventLocator;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: gnodet
+ * Date: Apr 17, 2008
+ * Time: 1:20:52 PM
+ * To change this template use File | Settings | File Templates.
+ */
+public class NotIdentifiableEventImpl extends ValidationEventImpl implements NotIdentifiableEvent {
+
+ public NotIdentifiableEventImpl(int severity, String message, ValidationEventLocator locator) {
+ super(severity, message, locator);
+ }
+
+ public NotIdentifiableEventImpl(int severity, String message, ValidationEventLocator locator, Throwable linkedException) {
+ super(severity, message, locator, linkedException);
+ }
+}
Added: servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/helpers/ParseConversionEventImpl.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/helpers/ParseConversionEventImpl.java?rev=650577&view=auto
==============================================================================
--- servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/helpers/ParseConversionEventImpl.java (added)
+++ servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/helpers/ParseConversionEventImpl.java Tue Apr 22 10:09:14 2008
@@ -0,0 +1,22 @@
+package javax.xml.bind.helpers;
+
+import javax.xml.bind.ParseConversionEvent;
+import javax.xml.bind.ValidationEventLocator;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: gnodet
+ * Date: Apr 17, 2008
+ * Time: 1:21:45 PM
+ * To change this template use File | Settings | File Templates.
+ */
+public class ParseConversionEventImpl extends ValidationEventImpl implements ParseConversionEvent {
+
+ public ParseConversionEventImpl(int severity, String message, ValidationEventLocator locator) {
+ super(severity, message, locator);
+ }
+
+ public ParseConversionEventImpl(int severity, String message, ValidationEventLocator locator, Throwable linkedException) {
+ super(severity, message, locator, linkedException);
+ }
+}
Added: servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/helpers/PrintConversionEventImpl.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/helpers/PrintConversionEventImpl.java?rev=650577&view=auto
==============================================================================
--- servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/helpers/PrintConversionEventImpl.java (added)
+++ servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/helpers/PrintConversionEventImpl.java Tue Apr 22 10:09:14 2008
@@ -0,0 +1,22 @@
+package javax.xml.bind.helpers;
+
+import javax.xml.bind.PrintConversionEvent;
+import javax.xml.bind.ValidationEventLocator;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: gnodet
+ * Date: Apr 17, 2008
+ * Time: 1:22:17 PM
+ * To change this template use File | Settings | File Templates.
+ */
+public class PrintConversionEventImpl extends ValidationEventImpl implements PrintConversionEvent {
+
+ public PrintConversionEventImpl(int severity, String message, ValidationEventLocator locator) {
+ super(severity, message, locator);
+ }
+
+ public PrintConversionEventImpl(int severity, String message, ValidationEventLocator locator, Throwable linkedException) {
+ super(severity, message, locator, linkedException);
+ }
+}
Added: servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/helpers/ValidationEventImpl.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/helpers/ValidationEventImpl.java?rev=650577&view=auto
==============================================================================
--- servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/helpers/ValidationEventImpl.java (added)
+++ servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/helpers/ValidationEventImpl.java Tue Apr 22 10:09:14 2008
@@ -0,0 +1,85 @@
+package javax.xml.bind.helpers;
+
+import javax.xml.bind.ValidationEvent;
+import javax.xml.bind.ValidationEventLocator;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: gnodet
+ * Date: Apr 17, 2008
+ * Time: 1:15:49 PM
+ * To change this template use File | Settings | File Templates.
+ */
+public class ValidationEventImpl implements ValidationEvent {
+
+ private int severity;
+ private String message;
+ private Throwable linkedException;
+ private ValidationEventLocator locator;
+
+ public ValidationEventImpl(int severity, String message, ValidationEventLocator locator) {
+ this(severity, message, locator, null);
+ }
+
+ public ValidationEventImpl(int severity, String message, ValidationEventLocator locator, Throwable linkedException) {
+ setSeverity(severity);
+ this.message = message;
+ this.locator = locator;
+ this.linkedException = linkedException;
+ }
+
+ public int getSeverity() {
+ return severity;
+ }
+
+ public void setSeverity(int severity) {
+ if (severity != 0 && severity != 1 && severity != 2) {
+ throw new IllegalArgumentException("Illegal severity");
+ }
+ this.severity = severity;
+ }
+
+ public String getMessage() {
+ return message;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+ public Throwable getLinkedException() {
+ return linkedException;
+ }
+
+ public void setLinkedException(Throwable linkedException) {
+ this.linkedException = linkedException;
+ }
+
+ public ValidationEventLocator getLocator() {
+ return locator;
+ }
+
+ public void setLocator(ValidationEventLocator locator) {
+ this.locator = locator;
+ }
+
+ public String toString() {
+ String s;
+ switch (getSeverity()) {
+ case WARNING:
+ s = "WARNING";
+ break;
+ case ERROR:
+ s = "ERROR";
+ break;
+ case FATAL_ERROR:
+ s = "FATAL_ERROR";
+ break;
+ default:
+ s = String.valueOf(getSeverity());
+ break;
+ }
+ return "[severity=" + s + ", message=" + getMessage() + ", locator=" + getLocator() + "]";
+ }
+
+}
Added: servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/helpers/ValidationEventLocatorImpl.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/helpers/ValidationEventLocatorImpl.java?rev=650577&view=auto
==============================================================================
--- servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/helpers/ValidationEventLocatorImpl.java (added)
+++ servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/helpers/ValidationEventLocatorImpl.java Tue Apr 22 10:09:14 2008
@@ -0,0 +1,130 @@
+package javax.xml.bind.helpers;
+
+import java.net.URL;
+import java.net.MalformedURLException;
+
+import javax.xml.bind.ValidationEventLocator;
+
+import org.w3c.dom.Node;
+
+import org.xml.sax.SAXParseException;
+import org.xml.sax.Locator;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: gnodet
+ * Date: Apr 17, 2008
+ * Time: 1:22:54 PM
+ * To change this template use File | Settings | File Templates.
+ */
+public class ValidationEventLocatorImpl implements ValidationEventLocator {
+
+ private URL url;
+ private int offset = -1;
+ private int lineNumber = -1;
+ private int columnNumber = -1;
+ private Object object;
+ private Node node;
+
+ public ValidationEventLocatorImpl() {
+ }
+
+ public ValidationEventLocatorImpl(Locator loc) {
+ if (loc == null) {
+ throw new IllegalArgumentException("loc must not be null");
+ }
+ url = toURL(loc.getSystemId());
+ columnNumber = loc.getColumnNumber();
+ lineNumber = loc.getLineNumber();
+ }
+
+ public ValidationEventLocatorImpl(SAXParseException e) {
+ if (e == null) {
+ throw new IllegalArgumentException("e must not be null");
+ }
+ url = toURL(e.getSystemId());
+ columnNumber = e.getColumnNumber();
+ lineNumber = e.getLineNumber();
+ }
+
+ public ValidationEventLocatorImpl(Node node) {
+ if (node == null) {
+ throw new IllegalArgumentException("node must not be null");
+ }
+ this.node = node;
+ }
+
+ public ValidationEventLocatorImpl(Object object) {
+ if (object == null) {
+ throw new IllegalArgumentException("object must not be null");
+ }
+ this.object = object;
+ }
+
+ private static URL toURL(String systemId) {
+ try {
+ return new URL(systemId);
+ }
+ catch (MalformedURLException e) {
+ return null;
+ }
+ }
+
+ public URL getURL() {
+ return url;
+ }
+
+ public void setURL(URL _url) {
+ url = _url;
+ }
+
+ public int getOffset() {
+ return offset;
+ }
+
+ public void setOffset(int offset) {
+ this.offset = offset;
+ }
+
+ public int getLineNumber() {
+ return lineNumber;
+ }
+
+ public void setLineNumber(int lineNumber) {
+ this.lineNumber = lineNumber;
+ }
+
+ public int getColumnNumber() {
+ return columnNumber;
+ }
+
+ public void setColumnNumber(int columnNumber) {
+ this.columnNumber = columnNumber;
+ }
+
+ public Object getObject() {
+ return object;
+ }
+
+ public void setObject(Object object) {
+ this.object = object;
+ }
+
+ public Node getNode() {
+ return node;
+ }
+
+ public void setNode(Node node) {
+ this.node = node;
+ }
+
+ public String toString() {
+ return "[node=" + getNode() + ", " +
+ "object=" + getObject() + ", " +
+ "url=" + getURL() + ", " +
+ "line=" + String.valueOf(getLineNumber()) + "," +
+ "col=" + String.valueOf(getColumnNumber()) + "," +
+ "offset=" + String.valueOf(getOffset()) + "]";
+ }
+
+}
Added: servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/util/JAXBResult.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/util/JAXBResult.java?rev=650577&view=auto
==============================================================================
--- servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/util/JAXBResult.java (added)
+++ servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/util/JAXBResult.java Tue Apr 22 10:09:14 2008
@@ -0,0 +1,41 @@
+package javax.xml.bind.util;
+
+import javax.xml.transform.Result;
+import javax.xml.transform.sax.SAXResult;
+import javax.xml.bind.UnmarshallerHandler;
+import javax.xml.bind.JAXBContext;
+import javax.xml.bind.JAXBException;
+import javax.xml.bind.Unmarshaller;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: gnodet
+ * Date: Apr 17, 2008
+ * Time: 1:31:11 PM
+ * To change this template use File | Settings | File Templates.
+ */
+public class JAXBResult extends SAXResult {
+
+ private final UnmarshallerHandler unmarshallerHandler;
+
+ public JAXBResult(JAXBContext context) throws JAXBException {
+ if (context == null) {
+ throw new JAXBException("context must not be null");
+ }
+ unmarshallerHandler = context.createUnmarshaller().getUnmarshallerHandler();
+ super.setHandler(unmarshallerHandler);
+ }
+
+ public JAXBResult(Unmarshaller unmarshaller) throws JAXBException {
+ if (unmarshaller == null) {
+ throw new JAXBException("unmarshaller must not be null");
+ }
+ unmarshallerHandler = unmarshaller.getUnmarshallerHandler();
+ super.setHandler(unmarshallerHandler);
+ }
+
+ public Object getResult() throws JAXBException {
+ return unmarshallerHandler.getResult();
+ }
+
+}
Added: servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/util/JAXBSource.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/util/JAXBSource.java?rev=650577&view=auto
==============================================================================
--- servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/util/JAXBSource.java (added)
+++ servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/util/JAXBSource.java Tue Apr 22 10:09:14 2008
@@ -0,0 +1,156 @@
+package javax.xml.bind.util;
+
+import javax.xml.transform.Source;
+import javax.xml.transform.sax.SAXSource;
+import javax.xml.bind.Marshaller;
+import javax.xml.bind.JAXBContext;
+import javax.xml.bind.JAXBException;
+
+import org.xml.sax.XMLReader;
+import org.xml.sax.SAXNotRecognizedException;
+import org.xml.sax.EntityResolver;
+import org.xml.sax.DTDHandler;
+import org.xml.sax.ContentHandler;
+import org.xml.sax.ErrorHandler;
+import org.xml.sax.SAXException;
+import org.xml.sax.InputSource;
+import org.xml.sax.SAXParseException;
+import org.xml.sax.helpers.XMLFilterImpl;
+import org.xml.sax.ext.LexicalHandler;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: gnodet
+ * Date: Apr 17, 2008
+ * Time: 1:31:38 PM
+ * To change this template use File | Settings | File Templates.
+ */
+public class JAXBSource extends SAXSource {
+
+ public JAXBSource(JAXBContext context, Object contentObject) throws JAXBException {
+ if (context == null) {
+ throw new JAXBException("context must not be null");
+ }
+ if (contentObject == null) {
+ throw new JAXBException("contentObject must not be null");
+ }
+ setXMLReader(new Reader(context.createMarshaller(), contentObject));
+ setInputSource(new InputSource());
+ }
+
+ public JAXBSource(final Marshaller marshaller, final Object contentObject) throws JAXBException {
+ if (marshaller == null) {
+ throw new JAXBException("marshaller must not be null");
+ }
+ if (contentObject == null) {
+ throw new JAXBException("contentObject must not be null");
+ }
+ setXMLReader(new Reader(marshaller, contentObject));
+ setInputSource(new InputSource());
+ }
+
+ private static class Reader implements XMLReader {
+
+ private LexicalHandler lexicalHandler;
+ private EntityResolver entityResolver;
+ private DTDHandler dtdHandler;
+ private XMLFilterImpl repeater;
+ private ErrorHandler errorHandler;
+ private final Marshaller marshaller;
+ private final Object contentObject;
+
+ public Reader(Marshaller marshaller, Object contentObject) {
+ this.marshaller = marshaller;
+ this.contentObject = contentObject;
+ repeater = new XMLFilterImpl();
+ }
+
+ public boolean getFeature(String name) throws SAXNotRecognizedException {
+ if (name.equals("http://xml.org/sax/features/namespaces")) {
+ return true;
+ }
+ if (name.equals("http://xml.org/sax/features/namespace-prefixes")) {
+ return false;
+ }
+ throw new SAXNotRecognizedException(name);
+ }
+
+ public void setFeature(String name, boolean value) throws SAXNotRecognizedException {
+ if (name.equals("http://xml.org/sax/features/namespaces") && value) {
+ return;
+ }
+ if (name.equals("http://xml.org/sax/features/namespace-prefixes") && !value) {
+ return;
+ }
+ throw new SAXNotRecognizedException(name);
+ }
+
+ public Object getProperty(String name) throws SAXNotRecognizedException {
+ if("http://xml.org/sax/properties/lexical-handler".equals(name)) {
+ return lexicalHandler;
+ }
+ throw new SAXNotRecognizedException(name);
+ }
+
+ public void setProperty(String name, Object value) throws SAXNotRecognizedException {
+ if("http://xml.org/sax/properties/lexical-handler".equals(name)) {
+ lexicalHandler = (LexicalHandler) value;
+ return;
+ }
+ throw new SAXNotRecognizedException(name);
+ }
+
+ public void setEntityResolver(EntityResolver resolver) {
+ entityResolver = resolver;
+ }
+
+ public EntityResolver getEntityResolver() {
+ return entityResolver;
+ }
+
+ public void setDTDHandler(DTDHandler handler) {
+ dtdHandler = handler;
+ }
+
+ public DTDHandler getDTDHandler() {
+ return dtdHandler;
+ }
+
+ public void setContentHandler(ContentHandler handler) {
+ repeater.setContentHandler(handler);
+ }
+
+ public ContentHandler getContentHandler() {
+ return repeater.getContentHandler();
+ }
+
+ public void setErrorHandler(ErrorHandler handler) {
+ errorHandler = handler;
+ }
+
+ public ErrorHandler getErrorHandler() {
+ return errorHandler;
+ }
+
+ public void parse(InputSource input) throws SAXException {
+ parse();
+ }
+
+ public void parse(String systemId) throws SAXException {
+ parse();
+ }
+
+ public void parse() throws SAXException {
+ try {
+ marshaller.marshal(contentObject, repeater);
+ } catch(JAXBException e) {
+ SAXParseException se = new SAXParseException(e.getMessage(), null, null, -1, -1, e);
+ if (errorHandler != null) {
+ errorHandler.fatalError(se);
+ }
+ throw se;
+ }
+ }
+
+ }
+}
Added: servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/util/ValidationEventCollector.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/util/ValidationEventCollector.java?rev=650577&view=auto
==============================================================================
--- servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/util/ValidationEventCollector.java (added)
+++ servicemix/smx4/specs/trunk/jaxb-api/src/main/java/javax/xml/bind/util/ValidationEventCollector.java Tue Apr 22 10:09:14 2008
@@ -0,0 +1,35 @@
+package javax.xml.bind.util;
+
+import java.util.ArrayList;
+
+import javax.xml.bind.ValidationEventHandler;
+import javax.xml.bind.ValidationEvent;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: gnodet
+ * Date: Apr 17, 2008
+ * Time: 1:31:52 PM
+ * To change this template use File | Settings | File Templates.
+ */
+public class ValidationEventCollector implements ValidationEventHandler {
+
+ private ArrayList<ValidationEvent> events = new ArrayList<ValidationEvent>();
+
+ public ValidationEvent[] getEvents() {
+ return events.toArray(new ValidationEvent[events.size()]);
+ }
+
+ public boolean handleEvent(ValidationEvent event) {
+ events.add(event);
+ return event.getSeverity() != ValidationEvent.FATAL_ERROR;
+ }
+
+ public boolean hasEvents() {
+ return !events.isEmpty();
+ }
+
+ public void reset() {
+ events.clear();
+ }
+}
Propchange: servicemix/smx4/specs/trunk/jaxws-api/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Tue Apr 22 10:09:14 2008
@@ -0,0 +1,9 @@
+target
+*.iml
+*.ipr
+*.iws
+.classpath
+.project
+.settings
+
+
Added: servicemix/smx4/specs/trunk/jaxws-api/pom.xml
URL: http://svn.apache.org/viewvc/servicemix/smx4/specs/trunk/jaxws-api/pom.xml?rev=650577&view=auto
==============================================================================
--- servicemix/smx4/specs/trunk/jaxws-api/pom.xml (added)
+++ servicemix/smx4/specs/trunk/jaxws-api/pom.xml Tue Apr 22 10:09:14 2008
@@ -0,0 +1,77 @@
+<?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">
+
+ <!--
+
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.servicemix.specs</groupId>
+ <artifactId>specs</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ </parent>
+
+ <groupId>org.apache.servicemix.specs</groupId>
+ <artifactId>org.apache.servicemix.specs.jaxws-api-2.0</artifactId>
+ <packaging>bundle</packaging>
+ <version>1.0-SNAPSHOT</version>
+ <name>Apache ServiceMix Specs :: JAXWS API</name>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.axis2</groupId>
+ <artifactId>axis2-jaxws-api</artifactId>
+ <version>1.3</version>
+ <optional>true</optional>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.servicemix.specs</groupId>
+ <artifactId>org.apache.servicemix.specs.locator</artifactId>
+ <version>${project.version}</version>
+ <optional>true</optional>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>maven-bundle-plugin</artifactId>
+ <executions>
+ <execution>
+ <goals>
+ <goal>bundle</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <instructions>
+ <Bundle-SymbolicName>${pom.artifactId}</Bundle-SymbolicName>
+ <Export-Package>javax.xml.ws*;version=2.0;-split-package:=merge-first</Export-Package>
+ <Import-Package>*</Import-Package>
+ <Private-Package>org.apache.servicemix.specs.locator</Private-Package>
+ <Bundle-Activator>org.apache.servicemix.specs.locator.Activator</Bundle-Activator>
+ </instructions>
+ <unpackBundle>true</unpackBundle>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
Added: servicemix/smx4/specs/trunk/jaxws-api/src/main/java/javax/xml/ws/spi/FactoryFinder.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/specs/trunk/jaxws-api/src/main/java/javax/xml/ws/spi/FactoryFinder.java?rev=650577&view=auto
==============================================================================
--- servicemix/smx4/specs/trunk/jaxws-api/src/main/java/javax/xml/ws/spi/FactoryFinder.java (added)
+++ servicemix/smx4/specs/trunk/jaxws-api/src/main/java/javax/xml/ws/spi/FactoryFinder.java Tue Apr 22 10:09:14 2008
@@ -0,0 +1,115 @@
+/*
+ **
+ ** Licensed to the Apache Software Foundation (ASF) under one
+ ** or more contributor license agreements. See the NOTICE file
+ ** distributed with this work for additional information
+ ** regarding copyright ownership. The ASF licenses this file
+ ** to you under the Apache License, Version 2.0 (the
+ ** "License"); you may not use this file except in compliance
+ ** with the License. You may obtain a copy of the License at
+ **
+ ** http://www.apache.org/licenses/LICENSE-2.0
+ **
+ ** Unless required by applicable law or agreed to in writing,
+ ** software distributed under the License is distributed on an
+ ** "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ ** KIND, either express or implied. See the License for the
+ ** specific language governing permissions and limitations
+ ** under the License.
+ */
+package javax.xml.ws.spi;
+
+import java.io.InputStream;
+import java.io.File;
+import java.io.FileInputStream;
+
+import java.util.Properties;
+import java.io.BufferedReader;
+import java.io.InputStreamReader;
+
+import javax.xml.ws.WebServiceException;
+
+class FactoryFinder {
+ static Object locate(String factoryId) {
+ return locate(factoryId, null);
+ }
+
+ static Object locate(String factoryId, String altClassName) {
+ return locate(factoryId, altClassName, Thread.currentThread().getContextClassLoader());
+ }
+
+ static Object locate(String factoryId, String altClassName, ClassLoader classLoader) {
+ try {
+ // If we are deployed into an OSGi environment, leverage it
+ Class spiClass = org.apache.servicemix.specs.locator.OsgiLocator.locate(factoryId);
+ if (spiClass != null) {
+ return spiClass.newInstance();
+ }
+ } catch (Throwable e) {
+ }
+
+ String serviceId = "META-INF/services/" + factoryId;
+ try {
+ InputStream is = null;
+
+ if (classLoader == null) {
+ is = ClassLoader.getSystemResourceAsStream(serviceId);
+ } else {
+ is = classLoader.getResourceAsStream(serviceId);
+ }
+
+ if (is != null) {
+ BufferedReader br = new BufferedReader(new InputStreamReader(is, "UTF-8"));
+ String factoryClassName = br.readLine();
+ br.close();
+
+ if (factoryClassName != null && !"".equals(factoryClassName)) {
+ return loadFactory(factoryClassName, classLoader);
+ }
+ }
+ } catch (Exception ex) {
+ }
+
+ try {
+ String configFile = System.getProperty("java.home")
+ + File.separator + "lib" + File.separator
+ + "jaxws.properties";
+ File f = new File(configFile);
+ if (f.exists()) {
+ Properties props = new Properties();
+ props.load(new FileInputStream(f));
+ String factoryClassName = props.getProperty(factoryId);
+ return loadFactory(factoryClassName, classLoader);
+ }
+ } catch (Exception e) {
+ }
+
+ try {
+ String prop = System.getProperty(factoryId);
+ if (prop != null) {
+ return loadFactory(prop, classLoader);
+ }
+ } catch (Exception e) {
+ }
+
+ if (altClassName == null) {
+ throw new WebServiceException("Unable to locate factory for " + factoryId + ".", null);
+ }
+ return loadFactory(altClassName, classLoader);
+ }
+
+ private static Object loadFactory(String className, ClassLoader classLoader) {
+ try {
+ Class factoryClass = classLoader == null ? Class.forName(className)
+ : classLoader.loadClass(className);
+ return factoryClass.newInstance();
+ } catch (ClassNotFoundException x) {
+ throw new WebServiceException("Requested factory "
+ + className + " cannot be located. Classloader ="
+ + classLoader.toString(), x);
+ } catch (Exception x) {
+ throw new WebServiceException("Requested factory "
+ + className + " could not be instantiated: " + x, x);
+ }
+ }
+}
Added: servicemix/smx4/specs/trunk/locator/pom.xml
URL: http://svn.apache.org/viewvc/servicemix/smx4/specs/trunk/locator/pom.xml?rev=650577&view=auto
==============================================================================
--- servicemix/smx4/specs/trunk/locator/pom.xml (added)
+++ servicemix/smx4/specs/trunk/locator/pom.xml Tue Apr 22 10:09:14 2008
@@ -0,0 +1,62 @@
+<?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">
+
+ <!--
+
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.servicemix.specs</groupId>
+ <artifactId>specs</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ </parent>
+
+ <groupId>org.apache.servicemix.specs</groupId>
+ <artifactId>org.apache.servicemix.specs.locator</artifactId>
+ <packaging>jar</packaging>
+ <version>1.0-SNAPSHOT</version>
+ <name>Apache ServiceMix Specs :: Locator</name>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>org.osgi.core</artifactId>
+ <version>${felix.osgi.version}</version>
+ <scope>provided</scope>
+ </dependency>
+ </dependencies>
+
+ <properties>
+ <pkgArtifactId>woodstox</pkgArtifactId>
+ <pkgVersion>${woodstox.version}</pkgVersion>
+ <servicemix.osgi.import.pkg>
+ com.sun.msv*;resolution:=optional,
+ org.relaxng*;resolution:=optional,
+ *
+ </servicemix.osgi.import.pkg>
+ <servicemix.osgi.export>
+ com.ctc.wstx*;version=${pkgVersion};-split-package:=merge-first,
+ org.codehaus.stax2*;version=${pkgVersion};-split-package:=merge-first,
+ </servicemix.osgi.export>
+ <servicemix.osgi.private.pkg>
+ META-INF*
+ </servicemix.osgi.private.pkg>
+ </properties>
+
+</project>