You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by ch...@apache.org on 2006/10/11 22:35:26 UTC

svn commit: r462934 - in /geronimo/xbean/sandbox: xbean-apt/src/main/java/org/apache/xbean/factory/FactoryBeanSupport.java xbean-apt/src/main/resources/FactoryBean.vm xbean-factory/src/test/java/org/apache/xbean/factory/XBeanJaxbTest.java

Author: chirino
Date: Wed Oct 11 13:35:24 2006
New Revision: 462934

URL: http://svn.apache.org/viewvc?view=rev&rev=462934
Log:
fix compile issue

Modified:
    geronimo/xbean/sandbox/xbean-apt/src/main/java/org/apache/xbean/factory/FactoryBeanSupport.java
    geronimo/xbean/sandbox/xbean-apt/src/main/resources/FactoryBean.vm
    geronimo/xbean/sandbox/xbean-factory/src/test/java/org/apache/xbean/factory/XBeanJaxbTest.java

Modified: geronimo/xbean/sandbox/xbean-apt/src/main/java/org/apache/xbean/factory/FactoryBeanSupport.java
URL: http://svn.apache.org/viewvc/geronimo/xbean/sandbox/xbean-apt/src/main/java/org/apache/xbean/factory/FactoryBeanSupport.java?view=diff&rev=462934&r1=462933&r2=462934
==============================================================================
--- geronimo/xbean/sandbox/xbean-apt/src/main/java/org/apache/xbean/factory/FactoryBeanSupport.java (original)
+++ geronimo/xbean/sandbox/xbean-apt/src/main/java/org/apache/xbean/factory/FactoryBeanSupport.java Wed Oct 11 13:35:24 2006
@@ -16,6 +16,9 @@
  */
 package org.apache.xbean.factory;
 
+import java.io.InputStream;
+import java.io.OutputStream;
+
 import javax.xml.bind.JAXBContext;
 import javax.xml.bind.JAXBException;
 import javax.xml.bind.Marshaller;
@@ -23,10 +26,6 @@
 import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlID;
 import javax.xml.bind.annotation.XmlTransient;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.lang.reflect.ParameterizedType;
-import java.lang.reflect.Type;
 
 /**
  * A base class for a code generated factory bean
@@ -37,18 +36,12 @@
 
     private String _id;
     private Boolean _singleton;
-    private Class _objectType;
-
-    public FactoryBeanSupport() {
-        ParameterizedType genericSuperclass = (ParameterizedType) getClass().getGenericSuperclass();
-        Type[] typeArguments = genericSuperclass.getActualTypeArguments();
-        this._objectType = (Class) typeArguments[0];
-    }
 
     @XmlTransient
-    public Class get_objectType() {
-        return _objectType;
-    }
+    abstract public Class get_objectType();
+    
+    @XmlTransient
+    abstract public T getObject();
 
     @XmlAttribute(name = "singleton", namespace = "http://www.springframework/beans/TODO", required = false)
     public Boolean get_singleton() {
@@ -69,16 +62,14 @@
         this._id = _id;
     }
 
-    @XmlTransient
-    public abstract T getObject();
-
     public void write(OutputStream out) throws JAXBException {
         Marshaller marshaller = createJAXBContext().createMarshaller();
         marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
         marshaller.marshal(this, out);
     }
 
-    public FactoryBeanSupport<T> read(InputStream in) throws JAXBException {
+    @SuppressWarnings("unchecked")
+	public FactoryBeanSupport<T> read(InputStream in) throws JAXBException {
         Unmarshaller unmarshaller = createJAXBContext().createUnmarshaller();
         return (FactoryBeanSupport<T>) unmarshaller.unmarshal(in);
     }
@@ -86,4 +77,5 @@
     protected JAXBContext createJAXBContext() throws JAXBException {
         return JAXBContext.newInstance(getClass());
     }
+
 }

Modified: geronimo/xbean/sandbox/xbean-apt/src/main/resources/FactoryBean.vm
URL: http://svn.apache.org/viewvc/geronimo/xbean/sandbox/xbean-apt/src/main/resources/FactoryBean.vm?view=diff&rev=462934&r1=462933&r2=462934
==============================================================================
--- geronimo/xbean/sandbox/xbean-apt/src/main/resources/FactoryBean.vm (original)
+++ geronimo/xbean/sandbox/xbean-apt/src/main/resources/FactoryBean.vm Wed Oct 11 13:35:24 2006
@@ -13,6 +13,14 @@
 @XmlRootElement
 public class $f.factoryName extends FactoryBeanSupport<$f.className> {
 
+	@XmlTransient
+	@Override
+	public Class get_objectType() {
+		return ${f.className}.class;
+	}
+
+	@XmlTransient
+	@Override
     public $f.className getObject() {
         ${f.className} _object = new ${f.className}();
 #foreach ( $prop in $f.properties)
@@ -21,13 +29,11 @@
         return _object;
     }
 
-
     public void configure($f.className _object) {
 #foreach ( $prop in $f.properties)
         ${prop.name} = _object.get${prop.name}();
 #end
     }
-
 
 #foreach ( $prop in $f.properties)
     private $prop.type $prop.name;

Modified: geronimo/xbean/sandbox/xbean-factory/src/test/java/org/apache/xbean/factory/XBeanJaxbTest.java
URL: http://svn.apache.org/viewvc/geronimo/xbean/sandbox/xbean-factory/src/test/java/org/apache/xbean/factory/XBeanJaxbTest.java?view=diff&rev=462934&r1=462933&r2=462934
==============================================================================
--- geronimo/xbean/sandbox/xbean-factory/src/test/java/org/apache/xbean/factory/XBeanJaxbTest.java (original)
+++ geronimo/xbean/sandbox/xbean-factory/src/test/java/org/apache/xbean/factory/XBeanJaxbTest.java Wed Oct 11 13:35:24 2006
@@ -37,7 +37,8 @@
 
         User user = super.loadUser();
         UserFactoryBean factory = new UserFactoryBean();
-        factory.write(new FileOutputStream(file), user);
+        factory.configure(user);
+        factory.write(new FileOutputStream(file));
 
         // in case there's caching, lets make another
         factory = new UserFactoryBean();