Author: jochen
Date: Thu Aug 31 05:29:41 2006
New Revision: 438889
URL: http://svn.apache.org/viewvc?rev=438889&view=rev
Log:
The element jaxb:property/jaxb:baseType/jaxb:javaType wasn't honured.
Removed:
webservices/jaxme/branches/MAVEN/projects/jm/src/test/resources/bindings/bindings.jxb
Modified:
webservices/jaxme/branches/MAVEN/projects/jm/src/main/java/org/apache/ws/jaxme/generator/sg/SGFactory.java
webservices/jaxme/branches/MAVEN/projects/jm/src/main/java/org/apache/ws/jaxme/generator/sg/impl/JAXBAttributeSG.java
webservices/jaxme/branches/MAVEN/projects/jm/src/main/java/org/apache/ws/jaxme/generator/sg/impl/JAXBObjectSG.java
webservices/jaxme/branches/MAVEN/projects/jm/src/main/java/org/apache/ws/jaxme/generator/sg/impl/JAXBSGFactory.java
webservices/jaxme/branches/MAVEN/projects/jm/src/main/java/org/apache/ws/jaxme/generator/sg/impl/JAXBSchemaSG.java
webservices/jaxme/branches/MAVEN/projects/jm/src/main/java/org/apache/ws/jaxme/generator/sg/impl/JAXBSimpleContentTypeSG.java
webservices/jaxme/branches/MAVEN/projects/jm/src/main/java/org/apache/ws/jaxme/generator/sg/impl/JAXBTypeSG.java
webservices/jaxme/branches/MAVEN/projects/jm/src/main/java/org/apache/ws/jaxme/generator/types/ListTypeSGImpl.java
webservices/jaxme/branches/MAVEN/projects/jm/src/main/java/org/apache/ws/jaxme/generator/types/UnionTypeSGImpl.java
webservices/jaxme/branches/MAVEN/projects/jm/src/test/java/org/apache/ws/jaxme/junit/BindingsTest.java
webservices/jaxme/branches/MAVEN/projects/pm/src/main/java/org/apache/ws/jaxme/pm/generator/jdbc/JaxMeJdbcSG.java
webservices/jaxme/branches/MAVEN/status.xml
webservices/jaxme/branches/b0_5/src/jaxme/org/apache/ws/jaxme/generator/sg/SGFactory.java
webservices/jaxme/branches/b0_5/src/jaxme/org/apache/ws/jaxme/generator/sg/impl/JAXBAttributeSG.java
webservices/jaxme/branches/b0_5/src/jaxme/org/apache/ws/jaxme/generator/sg/impl/JAXBObjectSG.java
webservices/jaxme/branches/b0_5/src/jaxme/org/apache/ws/jaxme/generator/sg/impl/JAXBSGFactory.java
webservices/jaxme/branches/b0_5/src/jaxme/org/apache/ws/jaxme/generator/sg/impl/JAXBSchemaSG.java
webservices/jaxme/branches/b0_5/src/jaxme/org/apache/ws/jaxme/generator/sg/impl/JAXBSimpleContentTypeSG.java
webservices/jaxme/branches/b0_5/src/jaxme/org/apache/ws/jaxme/generator/sg/impl/JAXBTypeSG.java
webservices/jaxme/branches/b0_5/src/jaxme/org/apache/ws/jaxme/generator/types/ListTypeSGImpl.java
webservices/jaxme/branches/b0_5/src/jaxme/org/apache/ws/jaxme/generator/types/UnionTypeSGImpl.java
webservices/jaxme/branches/b0_5/src/jaxme/org/apache/ws/jaxme/junit/BindingsTest.java
webservices/jaxme/branches/b0_5/src/pm/org/apache/ws/jaxme/pm/generator/jdbc/JaxMeJdbcSG.java
webservices/jaxme/branches/b0_5/src/test/jaxb/bindings/bindings.jxb
webservices/jaxme/branches/b0_5/src/test/jaxb/bindings/bindings.xsd
webservices/jaxme/branches/b0_5/status.xml
Modified:
webservices/jaxme/branches/MAVEN/projects/jm/src/main/java/org/apache/ws/jaxme/generator/sg/SGFactory.java
URL:
http://svn.apache.org/viewvc/webservices/jaxme/branches/MAVEN/projects/jm/src/main/java/org/apache/ws/jaxme/generator/sg/SGFactory.java?rev=438889&r1=438888&r2=438889&view=diff
==============================================================================
---
webservices/jaxme/branches/MAVEN/projects/jm/src/main/java/org/apache/ws/jaxme/generator/sg/SGFactory.java
(original)
+++
webservices/jaxme/branches/MAVEN/projects/jm/src/main/java/org/apache/ws/jaxme/generator/sg/SGFactory.java
Thu Aug 31 05:29:41 2006
@@ -25,6 +25,7 @@
import org.apache.ws.jaxme.xs.XSParser;
import org.apache.ws.jaxme.xs.XSSchema;
import org.apache.ws.jaxme.xs.XSType;
+import org.apache.ws.jaxme.xs.jaxb.JAXBProperty;
import org.apache.ws.jaxme.xs.xml.XsObjectFactory;
import org.apache.ws.jaxme.xs.xml.XsQName;
import org.apache.ws.jaxme.generator.sg.Context;
@@ -136,12 +137,12 @@
* [EMAIL PROTECTED] org.apache.ws.jaxme.generator.sg.TypeSGChain}
* interface.</p>
*/
- public Object newTypeSG(XSType pType) throws SAXException;
+ public Object newTypeSG(XSType pType, JAXBProperty.BaseType pBaseType)
throws SAXException;
/** <p>Returns a global instance of [EMAIL PROTECTED] TypeSG} generating
* the given type.</p>
*/
- public TypeSG getTypeSG(XSType pType) throws SAXException;
+ public TypeSG getTypeSG(XSType pType, JAXBProperty.BaseType pBaseType)
throws SAXException;
/** <p>Creates a new, local instance of
* [EMAIL PROTECTED] org.apache.ws.jaxme.generator.sg.TypeSGChain},
@@ -154,12 +155,12 @@
* [EMAIL PROTECTED] org.apache.ws.jaxme.generator.sg.TypeSGChain}
* interface.</p>
*/
- public Object newTypeSG(XSType pType, Context pClassContext, XsQName pName)
throws SAXException;
+ public Object newTypeSG(XSType pType, Context pClassContext, XsQName pName,
JAXBProperty.BaseType pBaseType) throws SAXException;
/** <p>Returns a local instance of [EMAIL PROTECTED] TypeSG} generating
* the given type within the given [EMAIL PROTECTED] Context}.</p>
*/
- public TypeSG getTypeSG(XSType pType, Context pClassContext, XsQName pName)
throws SAXException;
+ public TypeSG getTypeSG(XSType pType, Context pClassContext, XsQName pName,
JAXBProperty.BaseType pBaseType) throws SAXException;
/** <p>Creates a new, local instance of
* [EMAIL PROTECTED] org.apache.ws.jaxme.generator.sg.TypeSGChain},
@@ -172,13 +173,13 @@
* [EMAIL PROTECTED] org.apache.ws.jaxme.generator.sg.TypeSGChain}
* interface.</p>
*/
- public Object newTypeSG(XSType pType, XsQName pName) throws SAXException;
+ public Object newTypeSG(XSType pType, XsQName pName, JAXBProperty.BaseType
pBaseType) throws SAXException;
/** <p>Returns a new instance of [EMAIL PROTECTED] TypeSG} generating
* the given type, as if it were a global type with the
* given name.</p>
*/
- public TypeSG getTypeSG(XSType pType, XsQName pName) throws SAXException;
+ public TypeSG getTypeSG(XSType pType, XsQName pName, JAXBProperty.BaseType
pBaseType) throws SAXException;
/** <p>Creates a new instance of [EMAIL PROTECTED] XSParser}.</p>
*/
Modified:
webservices/jaxme/branches/MAVEN/projects/jm/src/main/java/org/apache/ws/jaxme/generator/sg/impl/JAXBAttributeSG.java
URL:
http://svn.apache.org/viewvc/webservices/jaxme/branches/MAVEN/projects/jm/src/main/java/org/apache/ws/jaxme/generator/sg/impl/JAXBAttributeSG.java?rev=438889&r1=438888&r2=438889&view=diff
==============================================================================
---
webservices/jaxme/branches/MAVEN/projects/jm/src/main/java/org/apache/ws/jaxme/generator/sg/impl/JAXBAttributeSG.java
(original)
+++
webservices/jaxme/branches/MAVEN/projects/jm/src/main/java/org/apache/ws/jaxme/generator/sg/impl/JAXBAttributeSG.java
Thu Aug 31 05:29:41 2006
@@ -30,6 +30,8 @@
import org.apache.ws.jaxme.xs.XSAttribute;
import org.apache.ws.jaxme.xs.XSType;
import org.apache.ws.jaxme.xs.XSWildcard;
+import org.apache.ws.jaxme.xs.jaxb.JAXBProperty;
+import org.apache.ws.jaxme.xs.jaxb.JAXBPropertyOwner;
import org.apache.ws.jaxme.xs.xml.XsNamespaceList;
import org.apache.ws.jaxme.xs.xml.XsQName;
import org.apache.ws.jaxme.xs.xml.XsTWildcard;
@@ -62,13 +64,22 @@
if (type == null) {
throw new IllegalStateException("The attribute type must not be
null.");
}
+
+ final JAXBProperty.BaseType baseType;
+ if (pAttribute instanceof JAXBPropertyOwner) {
+ JAXBProperty property = ((JAXBPropertyOwner)
pAttribute).getJAXBProperty();
+ baseType = property == null ? null : property.getBaseType();
+ } else {
+ baseType = null;
+ }
+
if (type.isGlobal()) {
- typeSG = getFactory().getTypeSG(type);
+ typeSG = getFactory().getTypeSG(type, baseType);
if (typeSG == null) {
throw new IllegalStateException("Unknown global type: " +
type.getName());
}
} else {
- typeSG = getFactory().getTypeSG(pAttribute.getType(),
pClassContext, name);
+ typeSG = getFactory().getTypeSG(pAttribute.getType(),
pClassContext, name, baseType);
}
isWildcard = false;
namespaceList = null;
@@ -113,7 +124,7 @@
public SchemaSG getSchema(AttributeSG pController) { return
getSchema(); }
public Locator getLocator(AttributeSG pController) { return
getLocator(); }
public XsQName getName(AttributeSG pController) { return name; }
-
+
public boolean isRequired(AttributeSG pAttrController) { return
isRequired; }
public void forAllValues(AttributeSG pController, JavaMethod pMethod,
Modified:
webservices/jaxme/branches/MAVEN/projects/jm/src/main/java/org/apache/ws/jaxme/generator/sg/impl/JAXBObjectSG.java
URL:
http://svn.apache.org/viewvc/webservices/jaxme/branches/MAVEN/projects/jm/src/main/java/org/apache/ws/jaxme/generator/sg/impl/JAXBObjectSG.java?rev=438889&r1=438888&r2=438889&view=diff
==============================================================================
---
webservices/jaxme/branches/MAVEN/projects/jm/src/main/java/org/apache/ws/jaxme/generator/sg/impl/JAXBObjectSG.java
(original)
+++
webservices/jaxme/branches/MAVEN/projects/jm/src/main/java/org/apache/ws/jaxme/generator/sg/impl/JAXBObjectSG.java
Thu Aug 31 05:29:41 2006
@@ -37,8 +37,9 @@
import org.apache.ws.jaxme.xs.XSAttribute;
import org.apache.ws.jaxme.xs.XSElement;
import org.apache.ws.jaxme.xs.XSObject;
-import org.apache.ws.jaxme.xs.XSSimpleContentType;
import org.apache.ws.jaxme.xs.XSType;
+import org.apache.ws.jaxme.xs.jaxb.JAXBProperty;
+import org.apache.ws.jaxme.xs.jaxb.JAXBPropertyOwner;
import org.apache.ws.jaxme.xs.xml.XsQName;
import org.xml.sax.Locator;
import org.xml.sax.SAXException;
@@ -112,14 +113,22 @@
myClassContext = new GlobalContext(name, contextObject, null, null,
pSchema);
}
+ final JAXBProperty.BaseType baseType;
+ if (pObject instanceof JAXBPropertyOwner) {
+ JAXBProperty property = ((JAXBPropertyOwner) pObject).getJAXBProperty();
+ baseType = property == null ? null : property.getBaseType();
+ } else {
+ baseType = null;
+ }
+
if (isClassGlobal) {
if (type.isGlobal()) {
- typeSG = pFactory.getTypeSG(type);
+ typeSG = pFactory.getTypeSG(type, baseType);
} else {
- typeSG = pFactory.getTypeSG(type, myClassContext.getName());
+ typeSG = pFactory.getTypeSG(type, myClassContext.getName(), baseType);
}
} else {
- typeSG = pFactory.getTypeSG(type, myClassContext, name);
+ typeSG = pFactory.getTypeSG(type, myClassContext, name, baseType);
}
if (useTypesContext) {
@@ -139,20 +148,6 @@
classContext = null;
}
log.finest(mName, "<-", new Object[]{typeSG, classContext});
- }
-
- /** <p>Creates a new instance of JAXBObjectSG generating the given simple
- * content <code>pContent</code> of the given complex type
- * <code>pComplexType</code>.</p>
- */
- public JAXBObjectSG(SGFactory pFactory, SchemaSG pSchema, TypeSG
pComplexType,
- XSSimpleContentType pContainer, XSType pType) throws
SAXException {
- super(pFactory, pSchema, pType);
- global = false;
- type = pType;
- name = null;
- classContext = pComplexType.getComplexTypeSG().getClassContext();
- typeSG = pFactory.getTypeSG(type, classContext, null);
}
/** <p>Creates a new instance of JAXBObjectSG generating the given
Modified:
webservices/jaxme/branches/MAVEN/projects/jm/src/main/java/org/apache/ws/jaxme/generator/sg/impl/JAXBSGFactory.java
URL:
http://svn.apache.org/viewvc/webservices/jaxme/branches/MAVEN/projects/jm/src/main/java/org/apache/ws/jaxme/generator/sg/impl/JAXBSGFactory.java?rev=438889&r1=438888&r2=438889&view=diff
==============================================================================
---
webservices/jaxme/branches/MAVEN/projects/jm/src/main/java/org/apache/ws/jaxme/generator/sg/impl/JAXBSGFactory.java
(original)
+++
webservices/jaxme/branches/MAVEN/projects/jm/src/main/java/org/apache/ws/jaxme/generator/sg/impl/JAXBSGFactory.java
Thu Aug 31 05:29:41 2006
@@ -47,6 +47,7 @@
import org.apache.ws.jaxme.xs.XSParser;
import org.apache.ws.jaxme.xs.XSSchema;
import org.apache.ws.jaxme.xs.XSType;
+import org.apache.ws.jaxme.xs.jaxb.JAXBProperty;
import org.apache.ws.jaxme.xs.jaxb.impl.JAXBObjectFactoryImpl;
import org.apache.ws.jaxme.xs.jaxb.impl.JAXBParser;
import org.apache.ws.jaxme.xs.jaxb.impl.JAXBXsObjectFactoryImpl;
@@ -187,12 +188,12 @@
return new JAXBSchemaSG(pController, pSchema);
}
- public TypeSG getTypeSG(SGFactory pController, XSType pType) throws
SAXException {
+ public TypeSG getTypeSG(SGFactory pController, XSType pType,
JAXBProperty.BaseType pBaseType) throws SAXException {
final String mName = "getTypeSG(XSType)";
TypeSG result = (TypeSG) types.get(pType);
if (result == null) {
log.finest(mName, "->", pType.getName());
- TypeSGChain chain = (TypeSGChain)
pController.newTypeSG(pType);
+ TypeSGChain chain = (TypeSGChain)
pController.newTypeSG(pType, pBaseType);
result = new TypeSGImpl(chain);
types.put(pType, result);
typesByOrder.add(result);
@@ -202,17 +203,17 @@
return result;
}
- public Object newTypeSG(SGFactory pController, XSType pType) throws
SAXException {
+ public Object newTypeSG(SGFactory pController, XSType pType,
JAXBProperty.BaseType pBaseType) throws SAXException {
if (schemaSG == null) {
throw new IllegalStateException("A schema has not yet
been created");
}
- return new JAXBTypeSG(pController, schemaSG, pType);
+ return new JAXBTypeSG(pController, schemaSG, pType, pBaseType);
}
- public TypeSG getTypeSG(SGFactory pController, XSType pType, Context
pClassContext, XsQName pName) throws SAXException {
+ public TypeSG getTypeSG(SGFactory pController, XSType pType, Context
pClassContext, XsQName pName, JAXBProperty.BaseType pBaseType) throws
SAXException {
final String mName = "getTypeSG(XSType,ClassContext)";
log.finest(mName, "->", new Object[]{pType, pClassContext});
- TypeSGChain chain = (TypeSGChain) pController.newTypeSG(pType,
pClassContext, pName);
+ TypeSGChain chain = (TypeSGChain) pController.newTypeSG(pType,
pClassContext, pName, pBaseType);
TypeSG result = new TypeSGImpl(chain);
typesByOrder.add(result);
result.init();
@@ -220,22 +221,24 @@
return result;
}
- public Object newTypeSG(SGFactory pController, XSType pType, Context
pClassContext, XsQName pName) throws SAXException {
+ public Object newTypeSG(SGFactory pController, XSType pType, Context
pClassContext, XsQName pName,
+ JAXBProperty.BaseType pBaseType) throws SAXException {
if (schemaSG == null) {
throw new IllegalStateException("A schema has not yet
been created");
}
- return new JAXBTypeSG(pController, schemaSG, pType,
pClassContext, pName);
+ return new JAXBTypeSG(pController, schemaSG, pType,
pClassContext, pName, pBaseType);
}
- public Object newTypeSG(SGFactory pController, XSType pType, XsQName
pName) throws SAXException {
+ public Object newTypeSG(SGFactory pController, XSType pType, XsQName
pName,
+ JAXBProperty.BaseType pBaseType) throws SAXException {
if (schemaSG == null) {
throw new IllegalStateException("A schema has not yet
been created");
}
- return new JAXBTypeSG(pController, schemaSG, pType, pName);
+ return new JAXBTypeSG(pController, schemaSG, pType, pName,
pBaseType);
}
- public TypeSG getTypeSG(SGFactory pController, XSType pType, XsQName
pName) throws SAXException {
- TypeSGChain chain = (TypeSGChain) pController.newTypeSG(pType,
pName);
+ public TypeSG getTypeSG(SGFactory pController, XSType pType, XsQName
pName, JAXBProperty.BaseType pBaseType) throws SAXException {
+ TypeSGChain chain = (TypeSGChain) pController.newTypeSG(pType,
pName, pBaseType);
TypeSG result = new TypeSGImpl(chain);
typesByOrder.add(result);
result.init();
Modified:
webservices/jaxme/branches/MAVEN/projects/jm/src/main/java/org/apache/ws/jaxme/generator/sg/impl/JAXBSchemaSG.java
URL:
http://svn.apache.org/viewvc/webservices/jaxme/branches/MAVEN/projects/jm/src/main/java/org/apache/ws/jaxme/generator/sg/impl/JAXBSchemaSG.java?rev=438889&r1=438888&r2=438889&view=diff
==============================================================================
---
webservices/jaxme/branches/MAVEN/projects/jm/src/main/java/org/apache/ws/jaxme/generator/sg/impl/JAXBSchemaSG.java
(original)
+++
webservices/jaxme/branches/MAVEN/projects/jm/src/main/java/org/apache/ws/jaxme/generator/sg/impl/JAXBSchemaSG.java
Thu Aug 31 05:29:41 2006
@@ -157,7 +157,7 @@
if (type == null) {
return null;
}
- typeSG = pController.getFactory().getTypeSG(type);
+ typeSG = pController.getFactory().getTypeSG(type, null);
typesByName.put(pName, typeSG);
return typeSG;
}
Modified:
webservices/jaxme/branches/MAVEN/projects/jm/src/main/java/org/apache/ws/jaxme/generator/sg/impl/JAXBSimpleContentTypeSG.java
URL:
http://svn.apache.org/viewvc/webservices/jaxme/branches/MAVEN/projects/jm/src/main/java/org/apache/ws/jaxme/generator/sg/impl/JAXBSimpleContentTypeSG.java?rev=438889&r1=438888&r2=438889&view=diff
==============================================================================
---
webservices/jaxme/branches/MAVEN/projects/jm/src/main/java/org/apache/ws/jaxme/generator/sg/impl/JAXBSimpleContentTypeSG.java
(original)
+++
webservices/jaxme/branches/MAVEN/projects/jm/src/main/java/org/apache/ws/jaxme/generator/sg/impl/JAXBSimpleContentTypeSG.java
Thu Aug 31 05:29:41 2006
@@ -40,7 +40,7 @@
xsType = pType;
typeSG = pComplexTypeSG.getTypeSG();
XSType theSimpleType = pType.getComplexType().getSimpleContent().getType();
- contentTypeSG = typeSG.getFactory().getTypeSG(theSimpleType,
pComplexTypeSG.getClassContext(), null);
+ contentTypeSG = typeSG.getFactory().getTypeSG(theSimpleType,
pComplexTypeSG.getClassContext(), null, null);
}
public Object newPropertySGChain(SimpleContentSG pController) throws
SAXException {
Modified:
webservices/jaxme/branches/MAVEN/projects/jm/src/main/java/org/apache/ws/jaxme/generator/sg/impl/JAXBTypeSG.java
URL:
http://svn.apache.org/viewvc/webservices/jaxme/branches/MAVEN/projects/jm/src/main/java/org/apache/ws/jaxme/generator/sg/impl/JAXBTypeSG.java?rev=438889&r1=438888&r2=438889&view=diff
==============================================================================
---
webservices/jaxme/branches/MAVEN/projects/jm/src/main/java/org/apache/ws/jaxme/generator/sg/impl/JAXBTypeSG.java
(original)
+++
webservices/jaxme/branches/MAVEN/projects/jm/src/main/java/org/apache/ws/jaxme/generator/sg/impl/JAXBTypeSG.java
Thu Aug 31 05:29:41 2006
@@ -67,6 +67,7 @@
import org.apache.ws.jaxme.xs.jaxb.JAXBEnumeration;
import org.apache.ws.jaxme.xs.jaxb.JAXBGlobalBindings;
import org.apache.ws.jaxme.xs.jaxb.JAXBJavaType;
+import org.apache.ws.jaxme.xs.jaxb.JAXBProperty;
import org.apache.ws.jaxme.xs.jaxb.JAXBSchema;
import org.apache.ws.jaxme.xs.jaxb.JAXBSchemaBindings;
import org.apache.ws.jaxme.xs.jaxb.JAXBSimpleType;
@@ -135,17 +136,19 @@
private final XsQName name;
private Map properties;
private final XsSchemaHeader schemaHeader;
+ private final JAXBProperty.BaseType baseType;
/** <p>Creates a new, global instance of JAXBTypeSG.</p>
*/
- protected JAXBTypeSG(SGFactory pFactory, SchemaSG pSchema, XSType pType)
+ protected JAXBTypeSG(SGFactory pFactory, SchemaSG pSchema, XSType pType,
JAXBProperty.BaseType pBaseType)
throws SAXException {
- this(pFactory, pSchema, pType, null, pType.getName());
+ this(pFactory, pSchema, pType, null, pType.getName(), pBaseType);
isGlobalClass = true;
}
- protected JAXBTypeSG(SGFactory pFactory, SchemaSG pSchema, XSType pType,
XsQName pName) throws SAXException {
- this(pFactory, pSchema, pType, null, pName);
+ protected JAXBTypeSG(SGFactory pFactory, SchemaSG pSchema, XSType pType,
XsQName pName,
+ JAXBProperty.BaseType pBaseType) throws SAXException {
+ this(pFactory, pSchema, pType, null, pName, pBaseType);
isGlobalClass = true;
}
@@ -155,7 +158,7 @@
XsQName name = pReferencedType.getName();
TypeSG result;
if (pReferencedType.isGlobal()) {
- result = pFactory.getTypeSG(pReferencedType);
+ result = pFactory.getTypeSG(pReferencedType, null);
if (result == null) {
throw new SAXParseException("Unknown global type " + name,
pReferencingType.getLocator());
@@ -169,9 +172,11 @@
/** <p>Creates a new, local instance of JAXBTypeSG. Classes are generated
* into the given context.</p>
*/
- protected JAXBTypeSG(SGFactory pFactory, SchemaSG pSchema, XSType pType,
Context pClassContext, XsQName pName)
+ protected JAXBTypeSG(SGFactory pFactory, SchemaSG pSchema, XSType pType,
Context pClassContext, XsQName pName,
+ JAXBProperty.BaseType pBaseType)
throws SAXException {
super(pFactory, pSchema, pType);
+ baseType = pBaseType;
name = pName;
xsType = pType;
if (pType.isSimple()) {
@@ -628,6 +633,9 @@
private JAXBJavaType findJavaType(SchemaSG pSchema, XSType pType)
throws SAXException {
+ if (baseType != null && baseType.getJavaType() != null) {
+ return baseType.getJavaType();
+ }
JAXBJavaType[] globalJavaTypes = pSchema.getJAXBJavaTypes();
for (XSType currentType = pType; currentType != null; ) {
Modified:
webservices/jaxme/branches/MAVEN/projects/jm/src/main/java/org/apache/ws/jaxme/generator/types/ListTypeSGImpl.java
URL:
http://svn.apache.org/viewvc/webservices/jaxme/branches/MAVEN/projects/jm/src/main/java/org/apache/ws/jaxme/generator/types/ListTypeSGImpl.java?rev=438889&r1=438888&r2=438889&view=diff
==============================================================================
---
webservices/jaxme/branches/MAVEN/projects/jm/src/main/java/org/apache/ws/jaxme/generator/types/ListTypeSGImpl.java
(original)
+++
webservices/jaxme/branches/MAVEN/projects/jm/src/main/java/org/apache/ws/jaxme/generator/types/ListTypeSGImpl.java
Thu Aug 31 05:29:41 2006
@@ -83,7 +83,7 @@
}
public void init(SimpleTypeSG pController) throws SAXException {
- itemType = getFactory().getTypeSG(listType.getItemType(), classContext,
name);
+ itemType = getFactory().getTypeSG(listType.getItemType(), classContext,
name, null);
}
protected TypeSG getItemType() {
Modified:
webservices/jaxme/branches/MAVEN/projects/jm/src/main/java/org/apache/ws/jaxme/generator/types/UnionTypeSGImpl.java
URL:
http://svn.apache.org/viewvc/webservices/jaxme/branches/MAVEN/projects/jm/src/main/java/org/apache/ws/jaxme/generator/types/UnionTypeSGImpl.java?rev=438889&r1=438888&r2=438889&view=diff
==============================================================================
---
webservices/jaxme/branches/MAVEN/projects/jm/src/main/java/org/apache/ws/jaxme/generator/types/UnionTypeSGImpl.java
(original)
+++
webservices/jaxme/branches/MAVEN/projects/jm/src/main/java/org/apache/ws/jaxme/generator/types/UnionTypeSGImpl.java
Thu Aug 31 05:29:41 2006
@@ -57,7 +57,7 @@
XSType[] mTypes = unionType.getMemberTypes();
List members = new ArrayList();
for (int i = 0; i < mTypes.length; i++) {
- TypeSG typeSG = getFactory().getTypeSG(mTypes[i], pClassContext, pName);
+ TypeSG typeSG = getFactory().getTypeSG(mTypes[i], pClassContext, pName,
null);
typeSG.getSimpleTypeSG().setNullable(true);
members.add(typeSG);
}
Modified:
webservices/jaxme/branches/MAVEN/projects/jm/src/test/java/org/apache/ws/jaxme/junit/BindingsTest.java
URL:
http://svn.apache.org/viewvc/webservices/jaxme/branches/MAVEN/projects/jm/src/test/java/org/apache/ws/jaxme/junit/BindingsTest.java?rev=438889&r1=438888&r2=438889&view=diff
==============================================================================
---
webservices/jaxme/branches/MAVEN/projects/jm/src/test/java/org/apache/ws/jaxme/junit/BindingsTest.java
(original)
+++
webservices/jaxme/branches/MAVEN/projects/jm/src/test/java/org/apache/ws/jaxme/junit/BindingsTest.java
Thu Aug 31 05:29:41 2006
@@ -55,6 +55,7 @@
public void testBindings() throws Exception {
FooType foo = new ObjectFactory().createFoo();
foo.setBar(YesNoTypeClass.YES);
+ foo.setBool(Boolean.TRUE);
ImpFooType impFoo = new
org.apache.ws.jaxme.test.bindings.imported.vo.ObjectFactory().createImpFoo();
impFoo.setXyz(org.apache.ws.jaxme.test.bindings.imported.vo.YesNoTypeClass.NO);
}
Modified:
webservices/jaxme/branches/MAVEN/projects/pm/src/main/java/org/apache/ws/jaxme/pm/generator/jdbc/JaxMeJdbcSG.java
URL:
http://svn.apache.org/viewvc/webservices/jaxme/branches/MAVEN/projects/pm/src/main/java/org/apache/ws/jaxme/pm/generator/jdbc/JaxMeJdbcSG.java?rev=438889&r1=438888&r2=438889&view=diff
==============================================================================
---
webservices/jaxme/branches/MAVEN/projects/pm/src/main/java/org/apache/ws/jaxme/pm/generator/jdbc/JaxMeJdbcSG.java
(original)
+++
webservices/jaxme/branches/MAVEN/projects/pm/src/main/java/org/apache/ws/jaxme/pm/generator/jdbc/JaxMeJdbcSG.java
Thu Aug 31 05:29:41 2006
@@ -56,6 +56,7 @@
import org.apache.ws.jaxme.xs.XSObject;
import org.apache.ws.jaxme.xs.XSSchema;
import org.apache.ws.jaxme.xs.XSType;
+import org.apache.ws.jaxme.xs.jaxb.JAXBProperty;
import org.apache.ws.jaxme.xs.parser.XsObjectCreator;
import org.apache.ws.jaxme.xs.parser.impl.LocSAXException;
import org.apache.ws.jaxme.xs.types.XSBase64Binary;
@@ -544,16 +545,16 @@
}
}
- public Object newTypeSG(SGFactory pController, XSType pType) throws
SAXException {
- return new JdbcTypeSG(this, (TypeSGChain) super.newTypeSG(pController,
pType), pType);
+ public Object newTypeSG(SGFactory pController, XSType pType,
JAXBProperty.BaseType pBaseType) throws SAXException {
+ return new JdbcTypeSG(this, (TypeSGChain) super.newTypeSG(pController,
pType, pBaseType), pType);
}
- public Object newTypeSG(SGFactory pController, XSType pType, XsQName pName)
throws SAXException {
- return new JdbcTypeSG(this, (TypeSGChain) super.newTypeSG(pController,
pType, pName), pType);
+ public Object newTypeSG(SGFactory pController, XSType pType, XsQName pName,
JAXBProperty.BaseType pBaseType) throws SAXException {
+ return new JdbcTypeSG(this, (TypeSGChain) super.newTypeSG(pController,
pType, pName, pBaseType), pType);
}
- public Object newTypeSG(SGFactory pController, XSType pType, Context
pClassContext, XsQName pName) throws SAXException {
- return new JdbcTypeSG(this, (TypeSGChain) super.newTypeSG(pController,
pType, pClassContext, pName), pType);
+ public Object newTypeSG(SGFactory pController, XSType pType, Context
pClassContext, XsQName pName, JAXBProperty.BaseType pBaseType) throws
SAXException {
+ return new JdbcTypeSG(this, (TypeSGChain) super.newTypeSG(pController,
pType, pClassContext, pName, pBaseType), pType);
}
public Object newSchemaSG(SGFactory pController, XSSchema pSchema) throws
SAXException {
Modified: webservices/jaxme/branches/MAVEN/status.xml
URL:
http://svn.apache.org/viewvc/webservices/jaxme/branches/MAVEN/status.xml?rev=438889&r1=438888&r2=438889&view=diff
==============================================================================
--- webservices/jaxme/branches/MAVEN/status.xml (original)
+++ webservices/jaxme/branches/MAVEN/status.xml Thu Aug 31 05:29:41 2006
@@ -67,6 +67,9 @@
<action dev="JW" type="fix" context="generator">
The jaxb:class customization wasn't honoured by anonymous types.
</action>
+ <action dev="JW" type="fix" context="generator">
+ The element jaxb:property/jaxb:baseType/jaxb:javaType wasn't honured.
+ </action>
</release>
<release version="0.5.1" date="Not yet published">
<action dev="JW" type="enhancement" context="js">
Modified:
webservices/jaxme/branches/b0_5/src/jaxme/org/apache/ws/jaxme/generator/sg/SGFactory.java
URL:
http://svn.apache.org/viewvc/webservices/jaxme/branches/b0_5/src/jaxme/org/apache/ws/jaxme/generator/sg/SGFactory.java?rev=438889&r1=438888&r2=438889&view=diff
==============================================================================
---
webservices/jaxme/branches/b0_5/src/jaxme/org/apache/ws/jaxme/generator/sg/SGFactory.java
(original)
+++
webservices/jaxme/branches/b0_5/src/jaxme/org/apache/ws/jaxme/generator/sg/SGFactory.java
Thu Aug 31 05:29:41 2006
@@ -25,6 +25,7 @@
import org.apache.ws.jaxme.xs.XSParser;
import org.apache.ws.jaxme.xs.XSSchema;
import org.apache.ws.jaxme.xs.XSType;
+import org.apache.ws.jaxme.xs.jaxb.JAXBProperty;
import org.apache.ws.jaxme.xs.xml.XsObjectFactory;
import org.apache.ws.jaxme.xs.xml.XsQName;
import org.apache.ws.jaxme.generator.sg.Context;
@@ -136,12 +137,12 @@
* [EMAIL PROTECTED] org.apache.ws.jaxme.generator.sg.TypeSGChain}
* interface.</p>
*/
- public Object newTypeSG(XSType pType) throws SAXException;
+ public Object newTypeSG(XSType pType, JAXBProperty.BaseType pBaseType)
throws SAXException;
/** <p>Returns a global instance of [EMAIL PROTECTED] TypeSG} generating
* the given type.</p>
*/
- public TypeSG getTypeSG(XSType pType) throws SAXException;
+ public TypeSG getTypeSG(XSType pType, JAXBProperty.BaseType pBaseType)
throws SAXException;
/** <p>Creates a new, local instance of
* [EMAIL PROTECTED] org.apache.ws.jaxme.generator.sg.TypeSGChain},
@@ -154,12 +155,12 @@
* [EMAIL PROTECTED] org.apache.ws.jaxme.generator.sg.TypeSGChain}
* interface.</p>
*/
- public Object newTypeSG(XSType pType, Context pClassContext, XsQName pName)
throws SAXException;
+ public Object newTypeSG(XSType pType, Context pClassContext, XsQName pName,
JAXBProperty.BaseType pBaseType) throws SAXException;
/** <p>Returns a local instance of [EMAIL PROTECTED] TypeSG} generating
* the given type within the given [EMAIL PROTECTED] Context}.</p>
*/
- public TypeSG getTypeSG(XSType pType, Context pClassContext, XsQName pName)
throws SAXException;
+ public TypeSG getTypeSG(XSType pType, Context pClassContext, XsQName pName,
JAXBProperty.BaseType pBaseType) throws SAXException;
/** <p>Creates a new, local instance of
* [EMAIL PROTECTED] org.apache.ws.jaxme.generator.sg.TypeSGChain},
@@ -172,13 +173,13 @@
* [EMAIL PROTECTED] org.apache.ws.jaxme.generator.sg.TypeSGChain}
* interface.</p>
*/
- public Object newTypeSG(XSType pType, XsQName pName) throws SAXException;
+ public Object newTypeSG(XSType pType, XsQName pName, JAXBProperty.BaseType
pBaseType) throws SAXException;
/** <p>Returns a new instance of [EMAIL PROTECTED] TypeSG} generating
* the given type, as if it were a global type with the
* given name.</p>
*/
- public TypeSG getTypeSG(XSType pType, XsQName pName) throws SAXException;
+ public TypeSG getTypeSG(XSType pType, XsQName pName, JAXBProperty.BaseType
pBaseType) throws SAXException;
/** <p>Creates a new instance of [EMAIL PROTECTED] XSParser}.</p>
*/
Modified:
webservices/jaxme/branches/b0_5/src/jaxme/org/apache/ws/jaxme/generator/sg/impl/JAXBAttributeSG.java
URL:
http://svn.apache.org/viewvc/webservices/jaxme/branches/b0_5/src/jaxme/org/apache/ws/jaxme/generator/sg/impl/JAXBAttributeSG.java?rev=438889&r1=438888&r2=438889&view=diff
==============================================================================
---
webservices/jaxme/branches/b0_5/src/jaxme/org/apache/ws/jaxme/generator/sg/impl/JAXBAttributeSG.java
(original)
+++
webservices/jaxme/branches/b0_5/src/jaxme/org/apache/ws/jaxme/generator/sg/impl/JAXBAttributeSG.java
Thu Aug 31 05:29:41 2006
@@ -30,6 +30,8 @@
import org.apache.ws.jaxme.xs.XSAttribute;
import org.apache.ws.jaxme.xs.XSType;
import org.apache.ws.jaxme.xs.XSWildcard;
+import org.apache.ws.jaxme.xs.jaxb.JAXBProperty;
+import org.apache.ws.jaxme.xs.jaxb.JAXBPropertyOwner;
import org.apache.ws.jaxme.xs.xml.XsNamespaceList;
import org.apache.ws.jaxme.xs.xml.XsQName;
import org.apache.ws.jaxme.xs.xml.XsTWildcard;
@@ -62,13 +64,22 @@
if (type == null) {
throw new IllegalStateException("The attribute type must not be
null.");
}
+
+ final JAXBProperty.BaseType baseType;
+ if (pAttribute instanceof JAXBPropertyOwner) {
+ JAXBProperty property = ((JAXBPropertyOwner)
pAttribute).getJAXBProperty();
+ baseType = property == null ? null : property.getBaseType();
+ } else {
+ baseType = null;
+ }
+
if (type.isGlobal()) {
- typeSG = getFactory().getTypeSG(type);
+ typeSG = getFactory().getTypeSG(type, baseType);
if (typeSG == null) {
throw new IllegalStateException("Unknown global type: " +
type.getName());
}
} else {
- typeSG = getFactory().getTypeSG(pAttribute.getType(),
pClassContext, name);
+ typeSG = getFactory().getTypeSG(pAttribute.getType(),
pClassContext, name, baseType);
}
isWildcard = false;
namespaceList = null;
@@ -113,7 +124,7 @@
public SchemaSG getSchema(AttributeSG pController) { return
getSchema(); }
public Locator getLocator(AttributeSG pController) { return
getLocator(); }
public XsQName getName(AttributeSG pController) { return name; }
-
+
public boolean isRequired(AttributeSG pAttrController) { return
isRequired; }
public void forAllValues(AttributeSG pController, JavaMethod pMethod,
Modified:
webservices/jaxme/branches/b0_5/src/jaxme/org/apache/ws/jaxme/generator/sg/impl/JAXBObjectSG.java
URL:
http://svn.apache.org/viewvc/webservices/jaxme/branches/b0_5/src/jaxme/org/apache/ws/jaxme/generator/sg/impl/JAXBObjectSG.java?rev=438889&r1=438888&r2=438889&view=diff
==============================================================================
---
webservices/jaxme/branches/b0_5/src/jaxme/org/apache/ws/jaxme/generator/sg/impl/JAXBObjectSG.java
(original)
+++
webservices/jaxme/branches/b0_5/src/jaxme/org/apache/ws/jaxme/generator/sg/impl/JAXBObjectSG.java
Thu Aug 31 05:29:41 2006
@@ -39,6 +39,8 @@
import org.apache.ws.jaxme.xs.XSObject;
import org.apache.ws.jaxme.xs.XSSimpleContentType;
import org.apache.ws.jaxme.xs.XSType;
+import org.apache.ws.jaxme.xs.jaxb.JAXBProperty;
+import org.apache.ws.jaxme.xs.jaxb.JAXBPropertyOwner;
import org.apache.ws.jaxme.xs.xml.XsQName;
import org.xml.sax.Locator;
import org.xml.sax.SAXException;
@@ -112,14 +114,22 @@
myClassContext = new GlobalContext(name, contextObject, null, null,
pSchema);
}
+ final JAXBProperty.BaseType baseType;
+ if (pObject instanceof JAXBPropertyOwner) {
+ JAXBProperty property = ((JAXBPropertyOwner) pObject).getJAXBProperty();
+ baseType = property == null ? null : property.getBaseType();
+ } else {
+ baseType = null;
+ }
+
if (isClassGlobal) {
if (type.isGlobal()) {
- typeSG = pFactory.getTypeSG(type);
+ typeSG = pFactory.getTypeSG(type, baseType);
} else {
- typeSG = pFactory.getTypeSG(type, myClassContext.getName());
+ typeSG = pFactory.getTypeSG(type, myClassContext.getName(), baseType);
}
} else {
- typeSG = pFactory.getTypeSG(type, myClassContext, name);
+ typeSG = pFactory.getTypeSG(type, myClassContext, name, baseType);
}
if (useTypesContext) {
@@ -139,20 +149,6 @@
classContext = null;
}
log.finest(mName, "<-", new Object[]{typeSG, classContext});
- }
-
- /** <p>Creates a new instance of JAXBObjectSG generating the given simple
- * content <code>pContent</code> of the given complex type
- * <code>pComplexType</code>.</p>
- */
- public JAXBObjectSG(SGFactory pFactory, SchemaSG pSchema, TypeSG
pComplexType,
- XSSimpleContentType pContainer, XSType pType) throws
SAXException {
- super(pFactory, pSchema, pType);
- global = false;
- type = pType;
- name = null;
- classContext = pComplexType.getComplexTypeSG().getClassContext();
- typeSG = pFactory.getTypeSG(type, classContext, null);
}
/** <p>Creates a new instance of JAXBObjectSG generating the given
Modified:
webservices/jaxme/branches/b0_5/src/jaxme/org/apache/ws/jaxme/generator/sg/impl/JAXBSGFactory.java
URL:
http://svn.apache.org/viewvc/webservices/jaxme/branches/b0_5/src/jaxme/org/apache/ws/jaxme/generator/sg/impl/JAXBSGFactory.java?rev=438889&r1=438888&r2=438889&view=diff
==============================================================================
---
webservices/jaxme/branches/b0_5/src/jaxme/org/apache/ws/jaxme/generator/sg/impl/JAXBSGFactory.java
(original)
+++
webservices/jaxme/branches/b0_5/src/jaxme/org/apache/ws/jaxme/generator/sg/impl/JAXBSGFactory.java
Thu Aug 31 05:29:41 2006
@@ -47,6 +47,7 @@
import org.apache.ws.jaxme.xs.XSParser;
import org.apache.ws.jaxme.xs.XSSchema;
import org.apache.ws.jaxme.xs.XSType;
+import org.apache.ws.jaxme.xs.jaxb.JAXBProperty;
import org.apache.ws.jaxme.xs.jaxb.impl.JAXBObjectFactoryImpl;
import org.apache.ws.jaxme.xs.jaxb.impl.JAXBParser;
import org.apache.ws.jaxme.xs.jaxb.impl.JAXBXsObjectFactoryImpl;
@@ -187,12 +188,12 @@
return new JAXBSchemaSG(pController, pSchema);
}
- public TypeSG getTypeSG(SGFactory pController, XSType pType) throws
SAXException {
+ public TypeSG getTypeSG(SGFactory pController, XSType pType,
JAXBProperty.BaseType pBaseType) throws SAXException {
final String mName = "getTypeSG(XSType)";
TypeSG result = (TypeSG) types.get(pType);
if (result == null) {
log.finest(mName, "->", pType.getName());
- TypeSGChain chain = (TypeSGChain)
pController.newTypeSG(pType);
+ TypeSGChain chain = (TypeSGChain)
pController.newTypeSG(pType, pBaseType);
result = new TypeSGImpl(chain);
types.put(pType, result);
typesByOrder.add(result);
@@ -202,17 +203,17 @@
return result;
}
- public Object newTypeSG(SGFactory pController, XSType pType) throws
SAXException {
+ public Object newTypeSG(SGFactory pController, XSType pType,
JAXBProperty.BaseType pBaseType) throws SAXException {
if (schemaSG == null) {
throw new IllegalStateException("A schema has not yet
been created");
}
- return new JAXBTypeSG(pController, schemaSG, pType);
+ return new JAXBTypeSG(pController, schemaSG, pType, pBaseType);
}
- public TypeSG getTypeSG(SGFactory pController, XSType pType, Context
pClassContext, XsQName pName) throws SAXException {
+ public TypeSG getTypeSG(SGFactory pController, XSType pType, Context
pClassContext, XsQName pName, JAXBProperty.BaseType pBaseType) throws
SAXException {
final String mName = "getTypeSG(XSType,ClassContext)";
log.finest(mName, "->", new Object[]{pType, pClassContext});
- TypeSGChain chain = (TypeSGChain) pController.newTypeSG(pType,
pClassContext, pName);
+ TypeSGChain chain = (TypeSGChain) pController.newTypeSG(pType,
pClassContext, pName, pBaseType);
TypeSG result = new TypeSGImpl(chain);
typesByOrder.add(result);
result.init();
@@ -220,22 +221,24 @@
return result;
}
- public Object newTypeSG(SGFactory pController, XSType pType, Context
pClassContext, XsQName pName) throws SAXException {
+ public Object newTypeSG(SGFactory pController, XSType pType, Context
pClassContext, XsQName pName,
+ JAXBProperty.BaseType pBaseType) throws SAXException {
if (schemaSG == null) {
throw new IllegalStateException("A schema has not yet
been created");
}
- return new JAXBTypeSG(pController, schemaSG, pType,
pClassContext, pName);
+ return new JAXBTypeSG(pController, schemaSG, pType,
pClassContext, pName, pBaseType);
}
- public Object newTypeSG(SGFactory pController, XSType pType, XsQName
pName) throws SAXException {
+ public Object newTypeSG(SGFactory pController, XSType pType, XsQName
pName,
+ JAXBProperty.BaseType pBaseType) throws SAXException {
if (schemaSG == null) {
throw new IllegalStateException("A schema has not yet
been created");
}
- return new JAXBTypeSG(pController, schemaSG, pType, pName);
+ return new JAXBTypeSG(pController, schemaSG, pType, pName,
pBaseType);
}
- public TypeSG getTypeSG(SGFactory pController, XSType pType, XsQName
pName) throws SAXException {
- TypeSGChain chain = (TypeSGChain) pController.newTypeSG(pType,
pName);
+ public TypeSG getTypeSG(SGFactory pController, XSType pType, XsQName
pName, JAXBProperty.BaseType pBaseType) throws SAXException {
+ TypeSGChain chain = (TypeSGChain) pController.newTypeSG(pType,
pName, pBaseType);
TypeSG result = new TypeSGImpl(chain);
typesByOrder.add(result);
result.init();
Modified:
webservices/jaxme/branches/b0_5/src/jaxme/org/apache/ws/jaxme/generator/sg/impl/JAXBSchemaSG.java
URL:
http://svn.apache.org/viewvc/webservices/jaxme/branches/b0_5/src/jaxme/org/apache/ws/jaxme/generator/sg/impl/JAXBSchemaSG.java?rev=438889&r1=438888&r2=438889&view=diff
==============================================================================
---
webservices/jaxme/branches/b0_5/src/jaxme/org/apache/ws/jaxme/generator/sg/impl/JAXBSchemaSG.java
(original)
+++
webservices/jaxme/branches/b0_5/src/jaxme/org/apache/ws/jaxme/generator/sg/impl/JAXBSchemaSG.java
Thu Aug 31 05:29:41 2006
@@ -153,7 +153,7 @@
if (type == null) {
return null;
}
- typeSG = pController.getFactory().getTypeSG(type);
+ typeSG = pController.getFactory().getTypeSG(type, null);
typesByName.put(pName, typeSG);
return typeSG;
}
Modified:
webservices/jaxme/branches/b0_5/src/jaxme/org/apache/ws/jaxme/generator/sg/impl/JAXBSimpleContentTypeSG.java
URL:
http://svn.apache.org/viewvc/webservices/jaxme/branches/b0_5/src/jaxme/org/apache/ws/jaxme/generator/sg/impl/JAXBSimpleContentTypeSG.java?rev=438889&r1=438888&r2=438889&view=diff
==============================================================================
---
webservices/jaxme/branches/b0_5/src/jaxme/org/apache/ws/jaxme/generator/sg/impl/JAXBSimpleContentTypeSG.java
(original)
+++
webservices/jaxme/branches/b0_5/src/jaxme/org/apache/ws/jaxme/generator/sg/impl/JAXBSimpleContentTypeSG.java
Thu Aug 31 05:29:41 2006
@@ -40,7 +40,7 @@
xsType = pType;
typeSG = pComplexTypeSG.getTypeSG();
XSType theSimpleType = pType.getComplexType().getSimpleContent().getType();
- contentTypeSG = typeSG.getFactory().getTypeSG(theSimpleType,
pComplexTypeSG.getClassContext(), null);
+ contentTypeSG = typeSG.getFactory().getTypeSG(theSimpleType,
pComplexTypeSG.getClassContext(), null, null);
}
public Object newPropertySGChain(SimpleContentSG pController) throws
SAXException {
Modified:
webservices/jaxme/branches/b0_5/src/jaxme/org/apache/ws/jaxme/generator/sg/impl/JAXBTypeSG.java
URL:
http://svn.apache.org/viewvc/webservices/jaxme/branches/b0_5/src/jaxme/org/apache/ws/jaxme/generator/sg/impl/JAXBTypeSG.java?rev=438889&r1=438888&r2=438889&view=diff
==============================================================================
---
webservices/jaxme/branches/b0_5/src/jaxme/org/apache/ws/jaxme/generator/sg/impl/JAXBTypeSG.java
(original)
+++
webservices/jaxme/branches/b0_5/src/jaxme/org/apache/ws/jaxme/generator/sg/impl/JAXBTypeSG.java
Thu Aug 31 05:29:41 2006
@@ -67,6 +67,7 @@
import org.apache.ws.jaxme.xs.jaxb.JAXBEnumeration;
import org.apache.ws.jaxme.xs.jaxb.JAXBGlobalBindings;
import org.apache.ws.jaxme.xs.jaxb.JAXBJavaType;
+import org.apache.ws.jaxme.xs.jaxb.JAXBProperty;
import org.apache.ws.jaxme.xs.jaxb.JAXBSchema;
import org.apache.ws.jaxme.xs.jaxb.JAXBSchemaBindings;
import org.apache.ws.jaxme.xs.jaxb.JAXBSimpleType;
@@ -135,17 +136,19 @@
private final XsQName name;
private Map properties;
private final XsSchemaHeader schemaHeader;
+ private final JAXBProperty.BaseType baseType;
/** <p>Creates a new, global instance of JAXBTypeSG.</p>
*/
- protected JAXBTypeSG(SGFactory pFactory, SchemaSG pSchema, XSType pType)
+ protected JAXBTypeSG(SGFactory pFactory, SchemaSG pSchema, XSType pType,
JAXBProperty.BaseType pBaseType)
throws SAXException {
- this(pFactory, pSchema, pType, null, pType.getName());
+ this(pFactory, pSchema, pType, null, pType.getName(), pBaseType);
isGlobalClass = true;
}
- protected JAXBTypeSG(SGFactory pFactory, SchemaSG pSchema, XSType pType,
XsQName pName) throws SAXException {
- this(pFactory, pSchema, pType, null, pName);
+ protected JAXBTypeSG(SGFactory pFactory, SchemaSG pSchema, XSType pType,
XsQName pName,
+ JAXBProperty.BaseType pBaseType) throws SAXException {
+ this(pFactory, pSchema, pType, null, pName, pBaseType);
isGlobalClass = true;
}
@@ -155,7 +158,7 @@
XsQName name = pReferencedType.getName();
TypeSG result;
if (pReferencedType.isGlobal()) {
- result = pFactory.getTypeSG(pReferencedType);
+ result = pFactory.getTypeSG(pReferencedType, null);
if (result == null) {
throw new SAXParseException("Unknown global type " + name,
pReferencingType.getLocator());
@@ -169,9 +172,11 @@
/** <p>Creates a new, local instance of JAXBTypeSG. Classes are generated
* into the given context.</p>
*/
- protected JAXBTypeSG(SGFactory pFactory, SchemaSG pSchema, XSType pType,
Context pClassContext, XsQName pName)
+ protected JAXBTypeSG(SGFactory pFactory, SchemaSG pSchema, XSType pType,
Context pClassContext, XsQName pName,
+ JAXBProperty.BaseType pBaseType)
throws SAXException {
super(pFactory, pSchema, pType);
+ baseType = pBaseType;
name = pName;
xsType = pType;
if (pType.isSimple()) {
@@ -628,6 +633,9 @@
private JAXBJavaType findJavaType(SchemaSG pSchema, XSType pType)
throws SAXException {
+ if (baseType != null && baseType.getJavaType() != null) {
+ return baseType.getJavaType();
+ }
JAXBJavaType[] globalJavaTypes = pSchema.getJAXBJavaTypes();
for (XSType currentType = pType; currentType != null; ) {
Modified:
webservices/jaxme/branches/b0_5/src/jaxme/org/apache/ws/jaxme/generator/types/ListTypeSGImpl.java
URL:
http://svn.apache.org/viewvc/webservices/jaxme/branches/b0_5/src/jaxme/org/apache/ws/jaxme/generator/types/ListTypeSGImpl.java?rev=438889&r1=438888&r2=438889&view=diff
==============================================================================
---
webservices/jaxme/branches/b0_5/src/jaxme/org/apache/ws/jaxme/generator/types/ListTypeSGImpl.java
(original)
+++
webservices/jaxme/branches/b0_5/src/jaxme/org/apache/ws/jaxme/generator/types/ListTypeSGImpl.java
Thu Aug 31 05:29:41 2006
@@ -83,7 +83,7 @@
}
public void init(SimpleTypeSG pController) throws SAXException {
- itemType = getFactory().getTypeSG(listType.getItemType(), classContext,
name);
+ itemType = getFactory().getTypeSG(listType.getItemType(), classContext,
name, null);
}
protected TypeSG getItemType() {
Modified:
webservices/jaxme/branches/b0_5/src/jaxme/org/apache/ws/jaxme/generator/types/UnionTypeSGImpl.java
URL:
http://svn.apache.org/viewvc/webservices/jaxme/branches/b0_5/src/jaxme/org/apache/ws/jaxme/generator/types/UnionTypeSGImpl.java?rev=438889&r1=438888&r2=438889&view=diff
==============================================================================
---
webservices/jaxme/branches/b0_5/src/jaxme/org/apache/ws/jaxme/generator/types/UnionTypeSGImpl.java
(original)
+++
webservices/jaxme/branches/b0_5/src/jaxme/org/apache/ws/jaxme/generator/types/UnionTypeSGImpl.java
Thu Aug 31 05:29:41 2006
@@ -57,7 +57,7 @@
XSType[] mTypes = unionType.getMemberTypes();
List members = new ArrayList();
for (int i = 0; i < mTypes.length; i++) {
- TypeSG typeSG = getFactory().getTypeSG(mTypes[i], pClassContext, pName);
+ TypeSG typeSG = getFactory().getTypeSG(mTypes[i], pClassContext, pName,
null);
typeSG.getSimpleTypeSG().setNullable(true);
members.add(typeSG);
}
Modified:
webservices/jaxme/branches/b0_5/src/jaxme/org/apache/ws/jaxme/junit/BindingsTest.java
URL:
http://svn.apache.org/viewvc/webservices/jaxme/branches/b0_5/src/jaxme/org/apache/ws/jaxme/junit/BindingsTest.java?rev=438889&r1=438888&r2=438889&view=diff
==============================================================================
---
webservices/jaxme/branches/b0_5/src/jaxme/org/apache/ws/jaxme/junit/BindingsTest.java
(original)
+++
webservices/jaxme/branches/b0_5/src/jaxme/org/apache/ws/jaxme/junit/BindingsTest.java
Thu Aug 31 05:29:41 2006
@@ -55,6 +55,7 @@
public void testBindings() throws Exception {
FooType foo = new ObjectFactory().createFoo();
foo.setBar(YesNoTypeClass.YES);
+ foo.setBool(Boolean.TRUE);
ImpFooType impFoo = new
org.apache.ws.jaxme.test.bindings.imported.vo.ObjectFactory().createImpFoo();
impFoo.setXyz(org.apache.ws.jaxme.test.bindings.imported.vo.YesNoTypeClass.NO);
}
Modified:
webservices/jaxme/branches/b0_5/src/pm/org/apache/ws/jaxme/pm/generator/jdbc/JaxMeJdbcSG.java
URL:
http://svn.apache.org/viewvc/webservices/jaxme/branches/b0_5/src/pm/org/apache/ws/jaxme/pm/generator/jdbc/JaxMeJdbcSG.java?rev=438889&r1=438888&r2=438889&view=diff
==============================================================================
---
webservices/jaxme/branches/b0_5/src/pm/org/apache/ws/jaxme/pm/generator/jdbc/JaxMeJdbcSG.java
(original)
+++
webservices/jaxme/branches/b0_5/src/pm/org/apache/ws/jaxme/pm/generator/jdbc/JaxMeJdbcSG.java
Thu Aug 31 05:29:41 2006
@@ -56,6 +56,7 @@
import org.apache.ws.jaxme.xs.XSObject;
import org.apache.ws.jaxme.xs.XSSchema;
import org.apache.ws.jaxme.xs.XSType;
+import org.apache.ws.jaxme.xs.jaxb.JAXBProperty;
import org.apache.ws.jaxme.xs.parser.XsObjectCreator;
import org.apache.ws.jaxme.xs.parser.impl.LocSAXException;
import org.apache.ws.jaxme.xs.types.XSBase64Binary;
@@ -544,16 +545,16 @@
}
}
- public Object newTypeSG(SGFactory pController, XSType pType) throws
SAXException {
- return new JdbcTypeSG(this, (TypeSGChain) super.newTypeSG(pController,
pType), pType);
+ public Object newTypeSG(SGFactory pController, XSType pType,
JAXBProperty.BaseType pBaseType) throws SAXException {
+ return new JdbcTypeSG(this, (TypeSGChain) super.newTypeSG(pController,
pType, pBaseType), pType);
}
- public Object newTypeSG(SGFactory pController, XSType pType, XsQName pName)
throws SAXException {
- return new JdbcTypeSG(this, (TypeSGChain) super.newTypeSG(pController,
pType, pName), pType);
+ public Object newTypeSG(SGFactory pController, XSType pType, XsQName pName,
JAXBProperty.BaseType pBaseType) throws SAXException {
+ return new JdbcTypeSG(this, (TypeSGChain) super.newTypeSG(pController,
pType, pName, pBaseType), pType);
}
- public Object newTypeSG(SGFactory pController, XSType pType, Context
pClassContext, XsQName pName) throws SAXException {
- return new JdbcTypeSG(this, (TypeSGChain) super.newTypeSG(pController,
pType, pClassContext, pName), pType);
+ public Object newTypeSG(SGFactory pController, XSType pType, Context
pClassContext, XsQName pName, JAXBProperty.BaseType pBaseType) throws
SAXException {
+ return new JdbcTypeSG(this, (TypeSGChain) super.newTypeSG(pController,
pType, pClassContext, pName, pBaseType), pType);
}
public Object newSchemaSG(SGFactory pController, XSSchema pSchema) throws
SAXException {
Modified: webservices/jaxme/branches/b0_5/src/test/jaxb/bindings/bindings.jxb
URL:
http://svn.apache.org/viewvc/webservices/jaxme/branches/b0_5/src/test/jaxb/bindings/bindings.jxb?rev=438889&r1=438888&r2=438889&view=diff
==============================================================================
--- webservices/jaxme/branches/b0_5/src/test/jaxb/bindings/bindings.jxb
(original)
+++ webservices/jaxme/branches/b0_5/src/test/jaxb/bindings/bindings.jxb Thu Aug
31 05:29:41 2006
@@ -25,6 +25,13 @@
<jxb:bindings node="xs:[EMAIL PROTECTED]'YesNoType']">
<jxb:typesafeEnumClass/>
</jxb:bindings>
+ <jxb:bindings node="xs:[EMAIL PROTECTED]'foo']/xs:complexType/xs:[EMAIL
PROTECTED]'bool']">
+ <jxb:property>
+ <jxb:baseType>
+ <jxb:javaType name='java.lang.Boolean'/>
+ </jxb:baseType>
+ </jxb:property>
+ </jxb:bindings>
</jxb:bindings>
<jxb:bindings schemaLocation="imported.xsi" node="/xs:schema">
Modified: webservices/jaxme/branches/b0_5/src/test/jaxb/bindings/bindings.xsd
URL:
http://svn.apache.org/viewvc/webservices/jaxme/branches/b0_5/src/test/jaxb/bindings/bindings.xsd?rev=438889&r1=438888&r2=438889&view=diff
==============================================================================
--- webservices/jaxme/branches/b0_5/src/test/jaxb/bindings/bindings.xsd
(original)
+++ webservices/jaxme/branches/b0_5/src/test/jaxb/bindings/bindings.xsd Thu Aug
31 05:29:41 2006
@@ -30,6 +30,7 @@
</xs:sequence>
<xs:attribute name="bar" type="bnd:YesNoType"/>
<xs:attribute name="blabb" type="imp:YesNoType"/>
+ <xs:attribute name="bool" type="xs:boolean"/>
</xs:complexType>
</xs:element>
Modified: webservices/jaxme/branches/b0_5/status.xml
URL:
http://svn.apache.org/viewvc/webservices/jaxme/branches/b0_5/status.xml?rev=438889&r1=438888&r2=438889&view=diff
==============================================================================
--- webservices/jaxme/branches/b0_5/status.xml (original)
+++ webservices/jaxme/branches/b0_5/status.xml Thu Aug 31 05:29:41 2006
@@ -63,6 +63,9 @@
<action dev="JW" type="fix" context="generator">
The jaxb:class customization wasn't honoured by anonymous types.
</action>
+ <action dev="JW" type="fix" context="generator">
+ The element jaxb:property/jaxb:baseType/jaxb:javaType wasn't honured.
+ </action>
</release>
<release version="0.5.1" date="06-Jan-2006">
<action dev="JW" type="enhancement" context="js">
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]