[jboss-cvs] JBossAS SVN: r88854 - in projects/jboss-osgi/trunk/bundle/blueprint/src: main/java/org/jboss/osgi/blueprint/parser and 3 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu May 14 03:58:42 EDT 2009


Author: thomas.diesler at jboss.com
Date: 2009-05-14 03:58:41 -0400 (Thu, 14 May 2009)
New Revision: 88854

Added:
   projects/jboss-osgi/trunk/bundle/blueprint/src/main/java/org/jboss/osgi/blueprint/model/Bean.java
   projects/jboss-osgi/trunk/bundle/blueprint/src/main/java/org/jboss/osgi/blueprint/model/Blueprint.java
   projects/jboss-osgi/trunk/bundle/blueprint/src/main/java/org/jboss/osgi/blueprint/model/Component.java
   projects/jboss-osgi/trunk/bundle/blueprint/src/test/java/org/jboss/test/osgi/blueprint/parser/BeanA.java
   projects/jboss-osgi/trunk/bundle/blueprint/src/test/java/org/jboss/test/osgi/blueprint/parser/BeanB.java
   projects/jboss-osgi/trunk/bundle/blueprint/src/test/resources/parser/blueprint-basic-beans.xml
   projects/jboss-osgi/trunk/bundle/blueprint/src/test/resources/parser/blueprint-basic-root.xml
Removed:
   projects/jboss-osgi/trunk/bundle/blueprint/src/main/java/org/jboss/osgi/blueprint/model/BlueprintType.java
   projects/jboss-osgi/trunk/bundle/blueprint/src/main/java/org/jboss/osgi/blueprint/model/Tbean.java
   projects/jboss-osgi/trunk/bundle/blueprint/src/main/java/org/jboss/osgi/blueprint/model/Tcomponent.java
   projects/jboss-osgi/trunk/bundle/blueprint/src/main/java/org/jboss/osgi/blueprint/model/Tdescription.java
   projects/jboss-osgi/trunk/bundle/blueprint/src/test/resources/parser/blueprint-basic.xml
Modified:
   projects/jboss-osgi/trunk/bundle/blueprint/src/main/java/org/jboss/osgi/blueprint/model/TReferenceListener.java
   projects/jboss-osgi/trunk/bundle/blueprint/src/main/java/org/jboss/osgi/blueprint/model/Targument.java
   projects/jboss-osgi/trunk/bundle/blueprint/src/main/java/org/jboss/osgi/blueprint/model/Tcollection.java
   projects/jboss-osgi/trunk/bundle/blueprint/src/main/java/org/jboss/osgi/blueprint/model/Tcomparator.java
   projects/jboss-osgi/trunk/bundle/blueprint/src/main/java/org/jboss/osgi/blueprint/model/Tkey.java
   projects/jboss-osgi/trunk/bundle/blueprint/src/main/java/org/jboss/osgi/blueprint/model/TmapEntry.java
   projects/jboss-osgi/trunk/bundle/blueprint/src/main/java/org/jboss/osgi/blueprint/model/Tproperty.java
   projects/jboss-osgi/trunk/bundle/blueprint/src/main/java/org/jboss/osgi/blueprint/model/TregistrationListener.java
   projects/jboss-osgi/trunk/bundle/blueprint/src/main/java/org/jboss/osgi/blueprint/model/Tservice.java
   projects/jboss-osgi/trunk/bundle/blueprint/src/main/java/org/jboss/osgi/blueprint/model/TservicePropertyEntry.java
   projects/jboss-osgi/trunk/bundle/blueprint/src/main/java/org/jboss/osgi/blueprint/model/TserviceReference.java
   projects/jboss-osgi/trunk/bundle/blueprint/src/main/java/org/jboss/osgi/blueprint/model/TtypeConverters.java
   projects/jboss-osgi/trunk/bundle/blueprint/src/main/java/org/jboss/osgi/blueprint/parser/BlueprintParser.java
   projects/jboss-osgi/trunk/bundle/blueprint/src/main/resources/schema/blueprint-jbxb.xsd
   projects/jboss-osgi/trunk/bundle/blueprint/src/test/java/org/jboss/test/osgi/blueprint/parser/ParserTestCase.java
Log:
BP: Add basic bean parsing

Copied: projects/jboss-osgi/trunk/bundle/blueprint/src/main/java/org/jboss/osgi/blueprint/model/Bean.java (from rev 88810, projects/jboss-osgi/trunk/bundle/blueprint/src/main/java/org/jboss/osgi/blueprint/model/Tbean.java)
===================================================================
--- projects/jboss-osgi/trunk/bundle/blueprint/src/main/java/org/jboss/osgi/blueprint/model/Bean.java	                        (rev 0)
+++ projects/jboss-osgi/trunk/bundle/blueprint/src/main/java/org/jboss/osgi/blueprint/model/Bean.java	2009-05-14 07:58:41 UTC (rev 88854)
@@ -0,0 +1,285 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.osgi.blueprint.model;
+
+// $Id$
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import javax.xml.bind.JAXBElement;
+import javax.xml.namespace.QName;
+
+/**
+ * The type defintion for a <bean> component.
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 13-May-2009
+ */
+public class Bean extends Component
+{
+   protected String description;
+   protected List<Object> argumentOrPropertyOrAny;
+   protected String className;
+   protected String dependsOn;
+   protected String initMethod;
+   protected String destroyMethod;
+   protected String factoryMethod;
+   protected String factoryComponent;
+   protected String scope;
+   protected Boolean lazyInit;
+   private Map<QName, String> otherAttributes = new HashMap<QName, String>();
+
+   /**
+    * Gets the value of the description property.
+    */
+   public String getDescription()
+   {
+      return description;
+   }
+
+   /**
+    * Sets the value of the description property.
+    */
+   public void setDescription(String value)
+   {
+      this.description = value;
+   }
+
+   /**
+    * Gets the value of the argumentOrPropertyOrAny property.
+    * 
+    * <p>
+    * This accessor method returns a reference to the live list, not a snapshot. Therefore any modification you make to the returned list will be present inside the
+    * JAXB object. This is why there is not a <CODE>set</CODE> method for the argumentOrPropertyOrAny property.
+    * 
+    * <p>
+    * For example, to add a new item, do as follows:
+    * 
+    * <pre>
+    * getArgumentOrPropertyOrAny().add(newItem);
+    * </pre>
+    * 
+    * 
+    * <p>
+    * Objects of the following type(s) are allowed in the list {@link Object } {@link JAXBElement }{@code <}{@link Targument }{@code >} {@link JAXBElement }{@code <}
+    * {@link Tproperty }{@code >}
+    * 
+    * 
+    */
+   public List<Object> getArgumentOrPropertyOrAny()
+   {
+      if (argumentOrPropertyOrAny == null)
+      {
+         argumentOrPropertyOrAny = new ArrayList<Object>();
+      }
+      return this.argumentOrPropertyOrAny;
+   }
+
+   /**
+    * Gets the value of the class property.
+    */
+   public String getClassName()
+   {
+      return className;
+   }
+
+   /**
+    * Sets the value of the class property.
+    */
+   public void setClassName(String value)
+   {
+      this.className = value;
+   }
+
+   /**
+    * Gets the value of the dependsOn property.
+    * 
+    * @return possible object is {@link String }
+    * 
+    */
+   public String getDependsOn()
+   {
+      return dependsOn;
+   }
+
+   /**
+    * Sets the value of the dependsOn property.
+    * 
+    * @param value allowed object is {@link String }
+    * 
+    */
+   public void setDependsOn(String value)
+   {
+      this.dependsOn = value;
+   }
+
+   /**
+    * Gets the value of the initMethod property.
+    * 
+    * @return possible object is {@link String }
+    * 
+    */
+   public String getInitMethod()
+   {
+      return initMethod;
+   }
+
+   /**
+    * Sets the value of the initMethod property.
+    * 
+    * @param value allowed object is {@link String }
+    * 
+    */
+   public void setInitMethod(String value)
+   {
+      this.initMethod = value;
+   }
+
+   /**
+    * Gets the value of the destroyMethod property.
+    * 
+    * @return possible object is {@link String }
+    * 
+    */
+   public String getDestroyMethod()
+   {
+      return destroyMethod;
+   }
+
+   /**
+    * Sets the value of the destroyMethod property.
+    * 
+    * @param value allowed object is {@link String }
+    * 
+    */
+   public void setDestroyMethod(String value)
+   {
+      this.destroyMethod = value;
+   }
+
+   /**
+    * Gets the value of the factoryMethod property.
+    * 
+    * @return possible object is {@link String }
+    * 
+    */
+   public String getFactoryMethod()
+   {
+      return factoryMethod;
+   }
+
+   /**
+    * Sets the value of the factoryMethod property.
+    * 
+    * @param value allowed object is {@link String }
+    * 
+    */
+   public void setFactoryMethod(String value)
+   {
+      this.factoryMethod = value;
+   }
+
+   /**
+    * Gets the value of the factoryComponent property.
+    * 
+    * @return possible object is {@link String }
+    * 
+    */
+   public String getFactoryComponent()
+   {
+      return factoryComponent;
+   }
+
+   /**
+    * Sets the value of the factoryComponent property.
+    * 
+    * @param value allowed object is {@link String }
+    * 
+    */
+   public void setFactoryComponent(String value)
+   {
+      this.factoryComponent = value;
+   }
+
+   /**
+    * Gets the value of the scope property.
+    * 
+    * @return possible object is {@link String }
+    * 
+    */
+   public String getScope()
+   {
+      return scope;
+   }
+
+   /**
+    * Sets the value of the scope property.
+    * 
+    * @param value allowed object is {@link String }
+    * 
+    */
+   public void setScope(String value)
+   {
+      this.scope = value;
+   }
+
+   /**
+    * Gets the value of the lazyInit property.
+    * 
+    * @return possible object is {@link Boolean }
+    * 
+    */
+   public Boolean isLazyInit()
+   {
+      return lazyInit;
+   }
+
+   /**
+    * Sets the value of the lazyInit property.
+    * 
+    * @param value allowed object is {@link Boolean }
+    * 
+    */
+   public void setLazyInit(Boolean value)
+   {
+      this.lazyInit = value;
+   }
+
+   /**
+    * Gets a map that contains attributes that aren't bound to any typed property on this class.
+    * 
+    * <p>
+    * the map is keyed by the name of the attribute and the value is the string value of the attribute.
+    * 
+    * the map returned by this method is live, and you can add new attribute by updating the map directly. Because of this design, there's no setter.
+    * 
+    * 
+    * @return always non-null
+    */
+   public Map<QName, String> getOtherAttributes()
+   {
+      return otherAttributes;
+   }
+}

Copied: projects/jboss-osgi/trunk/bundle/blueprint/src/main/java/org/jboss/osgi/blueprint/model/Blueprint.java (from rev 88821, projects/jboss-osgi/trunk/bundle/blueprint/src/main/java/org/jboss/osgi/blueprint/model/BlueprintType.java)
===================================================================
--- projects/jboss-osgi/trunk/bundle/blueprint/src/main/java/org/jboss/osgi/blueprint/model/Blueprint.java	                        (rev 0)
+++ projects/jboss-osgi/trunk/bundle/blueprint/src/main/java/org/jboss/osgi/blueprint/model/Blueprint.java	2009-05-14 07:58:41 UTC (rev 88854)
@@ -0,0 +1,243 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.osgi.blueprint.model;
+
+// $Id$
+
+import java.math.BigInteger;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import javax.xml.namespace.QName;
+
+/**
+ * The blueprint element is the top element. The definitions consist of two sections:
+ * the type-converter section and the components section.
+ * 
+ * blueprint ::= <type-converters> component *
+ * component ::= <bean> | <service> | service-reference
+ * service-reference ::= <reference> | <ref-list> | <ref-set>
+ * type-converter ::= <bean> | <ref> * 
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 13-May-2009
+ */
+public class Blueprint
+{
+   protected String description;
+   protected TtypeConverters typeConverters;
+   protected List<Component> components;
+   protected Boolean defaultLazyInit;
+   protected String defaultInitMethod;
+   protected String defaultDestroyMethod;
+   protected BigInteger defaultTimeout;
+   protected Availability defaultAvailability;
+   private Map<QName, String> otherAttributes = new HashMap<QName, String>();
+
+   /**
+    * Gets the value of the description property.
+    * 
+    */
+   public String getDescription()
+   {
+      return description;
+   }
+
+   /**
+    * Sets the value of the description property.
+    * 
+    */
+   public void setDescription(String value)
+   {
+      this.description = value;
+   }
+
+   /**
+    * Gets the value of the typeConverters property.
+    * 
+    * @return possible object is {@link TtypeConverters }
+    * 
+    */
+   public TtypeConverters getTypeConverters()
+   {
+      return typeConverters;
+   }
+
+   /**
+    * Sets the value of the typeConverters property.
+    * 
+    * @param value allowed object is {@link TtypeConverters }
+    * 
+    */
+   public void setTypeConverters(TtypeConverters value)
+   {
+      this.typeConverters = value;
+   }
+
+   /**
+    * Gets the value of components
+    */
+   public List<Component> getComponents()
+   {
+      if (components == null)
+      {
+         components = new ArrayList<Component>();
+      }
+      return this.components;
+   }
+
+   /**
+    * Gets the value of the defaultLazyInit property.
+    * 
+    * @return possible object is {@link Boolean }
+    * 
+    */
+   public Boolean isDefaultLazyInit()
+   {
+      return defaultLazyInit;
+   }
+
+   /**
+    * Sets the value of the defaultLazyInit property.
+    * 
+    * @param value allowed object is {@link Boolean }
+    * 
+    */
+   public void setDefaultLazyInit(Boolean value)
+   {
+      this.defaultLazyInit = value;
+   }
+
+   /**
+    * Gets the value of the defaultInitMethod property.
+    * 
+    * @return possible object is {@link String }
+    * 
+    */
+   public String getDefaultInitMethod()
+   {
+      return defaultInitMethod;
+   }
+
+   /**
+    * Sets the value of the defaultInitMethod property.
+    * 
+    * @param value allowed object is {@link String }
+    * 
+    */
+   public void setDefaultInitMethod(String value)
+   {
+      this.defaultInitMethod = value;
+   }
+
+   /**
+    * Gets the value of the defaultDestroyMethod property.
+    * 
+    * @return possible object is {@link String }
+    * 
+    */
+   public String getDefaultDestroyMethod()
+   {
+      return defaultDestroyMethod;
+   }
+
+   /**
+    * Sets the value of the defaultDestroyMethod property.
+    * 
+    * @param value allowed object is {@link String }
+    * 
+    */
+   public void setDefaultDestroyMethod(String value)
+   {
+      this.defaultDestroyMethod = value;
+   }
+
+   /**
+    * Gets the value of the defaultTimeout property.
+    */
+   public BigInteger getDefaultTimeout()
+   {
+      if (defaultTimeout == null)
+      {
+         return new BigInteger("300000");
+      }
+      else
+      {
+         return defaultTimeout;
+      }
+   }
+
+   /**
+    * Sets the value of the defaultTimeout property.
+    */
+   public void setDefaultTimeout(BigInteger value)
+   {
+      this.defaultTimeout = value;
+   }
+
+   /**
+    * Gets the value of the defaultAvailability property.
+    * 
+    * @return possible object is {@link Tavailability }
+    * 
+    */
+   public Availability getDefaultAvailability()
+   {
+      if (defaultAvailability == null)
+      {
+         return Availability.MANDATORY;
+      }
+      else
+      {
+         return defaultAvailability;
+      }
+   }
+
+   /**
+    * Sets the value of the defaultAvailability property.
+    * 
+    * @param value allowed object is {@link Tavailability }
+    * 
+    */
+   public void setDefaultAvailability(Availability value)
+   {
+      this.defaultAvailability = value;
+   }
+
+   /**
+    * Gets a map that contains attributes that aren't bound to any typed property on this class.
+    * 
+    * <p>
+    * the map is keyed by the name of the attribute and the value is the string value of the attribute.
+    * 
+    * the map returned by this method is live, and you can add new attribute by updating the map directly. Because of this design, there's no setter.
+    * 
+    * 
+    * @return always non-null
+    */
+   public Map<QName, String> getOtherAttributes()
+   {
+      return otherAttributes;
+   }
+}

Deleted: projects/jboss-osgi/trunk/bundle/blueprint/src/main/java/org/jboss/osgi/blueprint/model/BlueprintType.java
===================================================================
--- projects/jboss-osgi/trunk/bundle/blueprint/src/main/java/org/jboss/osgi/blueprint/model/BlueprintType.java	2009-05-14 06:31:22 UTC (rev 88853)
+++ projects/jboss-osgi/trunk/bundle/blueprint/src/main/java/org/jboss/osgi/blueprint/model/BlueprintType.java	2009-05-14 07:58:41 UTC (rev 88854)
@@ -1,286 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.osgi.blueprint.model;
-
-// $Id$
-
-import java.math.BigInteger;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import javax.xml.bind.JAXBElement;
-import javax.xml.namespace.QName;
-
-/**
- * <p>
- * Java class for Tblueprint complex type.
- * 
- * <p>
- * The following schema fragment specifies the expected content contained within this class.
- * 
- * <pre>
- * &lt;complexType name=&quot;Tblueprint&quot;&gt;
- *   &lt;complexContent&gt;
- *     &lt;restriction base=&quot;{http://www.w3.org/2001/XMLSchema}anyType&quot;&gt;
- *       &lt;sequence&gt;
- *         &lt;element name=&quot;description&quot; type=&quot;{http://www.osgi.org/xmlns/blueprint/v1.0.0}Tdescription&quot; minOccurs=&quot;0&quot;/&gt;
- *         &lt;element name=&quot;type-converters&quot; type=&quot;{http://www.osgi.org/xmlns/blueprint/v1.0.0}Ttype-converters&quot; minOccurs=&quot;0&quot;/&gt;
- *         &lt;choice maxOccurs=&quot;unbounded&quot; minOccurs=&quot;0&quot;&gt;
- *           &lt;group ref=&quot;{http://www.osgi.org/xmlns/blueprint/v1.0.0}allComponents&quot;/&gt;
- *         &lt;/choice&gt;
- *       &lt;/sequence&gt;
- *       &lt;attribute name=&quot;default-lazy-init&quot; type=&quot;{http://www.osgi.org/xmlns/blueprint/v1.0.0}Tlazy-init&quot; default=&quot;false&quot; /&gt;
- *       &lt;attribute name=&quot;default-init-method&quot; type=&quot;{http://www.osgi.org/xmlns/blueprint/v1.0.0}Tmethod&quot; /&gt;
- *       &lt;attribute name=&quot;default-destroy-method&quot; type=&quot;{http://www.osgi.org/xmlns/blueprint/v1.0.0}Tmethod&quot; /&gt;
- *       &lt;attribute name=&quot;default-timeout&quot; type=&quot;{http://www.osgi.org/xmlns/blueprint/v1.0.0}Ttimeout&quot; default=&quot;300000&quot; /&gt;
- *       &lt;attribute name=&quot;default-availability&quot; type=&quot;{http://www.osgi.org/xmlns/blueprint/v1.0.0}Tavailability&quot; default=&quot;mandatory&quot; /&gt;
- *       &lt;anyAttribute processContents='lax' namespace='##other'/&gt;
- *     &lt;/restriction&gt;
- *   &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * </pre>
- * 
- * 
- */
-public class BlueprintType
-{
-   protected Tdescription description;
-   protected TtypeConverters typeConverters;
-   protected List<Object> serviceOrRefListOrRefSet;
-   protected Boolean defaultLazyInit;
-   protected String defaultInitMethod;
-   protected String defaultDestroyMethod;
-   protected BigInteger defaultTimeout;
-   protected Availability defaultAvailability;
-   private Map<QName, String> otherAttributes = new HashMap<QName, String>();
-
-   /**
-    * Gets the value of the description property.
-    * 
-    * @return possible object is {@link Tdescription }
-    * 
-    */
-   public Tdescription getDescription()
-   {
-      return description;
-   }
-
-   /**
-    * Sets the value of the description property.
-    * 
-    * @param value allowed object is {@link Tdescription }
-    * 
-    */
-   public void setDescription(Tdescription value)
-   {
-      this.description = value;
-   }
-
-   /**
-    * Gets the value of the typeConverters property.
-    * 
-    * @return possible object is {@link TtypeConverters }
-    * 
-    */
-   public TtypeConverters getTypeConverters()
-   {
-      return typeConverters;
-   }
-
-   /**
-    * Sets the value of the typeConverters property.
-    * 
-    * @param value allowed object is {@link TtypeConverters }
-    * 
-    */
-   public void setTypeConverters(TtypeConverters value)
-   {
-      this.typeConverters = value;
-   }
-
-   /**
-    * Gets the value of the serviceOrRefListOrRefSet property.
-    * 
-    * <p>
-    * This accessor method returns a reference to the live list, not a snapshot. Therefore any modification you make to the returned list will be present inside the
-    * JAXB object. This is why there is not a <CODE>set</CODE> method for the serviceOrRefListOrRefSet property.
-    * 
-    * <p>
-    * For example, to add a new item, do as follows:
-    * 
-    * <pre>
-    * getServiceOrRefListOrRefSet().add(newItem);
-    * </pre>
-    * 
-    * 
-    * <p>
-    * Objects of the following type(s) are allowed in the list {@link JAXBElement }{@code <}{@link TrefCollection }{@code >} {@link JAXBElement }{@code <}
-    * {@link Treference }{@code >} {@link JAXBElement }{@code <}{@link Tservice }{@code >} {@link JAXBElement }{@code <}{@link TrefCollection }{@code >} {@link JAXBElement }
-    * {@code <}{@link Tref }{@code >} {@link Object } {@link JAXBElement }{@code <}{@link Tbean }{@code >}
-    * 
-    * 
-    */
-   public List<Object> getServiceOrRefListOrRefSet()
-   {
-      if (serviceOrRefListOrRefSet == null)
-      {
-         serviceOrRefListOrRefSet = new ArrayList<Object>();
-      }
-      return this.serviceOrRefListOrRefSet;
-   }
-
-   /**
-    * Gets the value of the defaultLazyInit property.
-    * 
-    * @return possible object is {@link Boolean }
-    * 
-    */
-   public Boolean isDefaultLazyInit()
-   {
-      return defaultLazyInit;
-   }
-
-   /**
-    * Sets the value of the defaultLazyInit property.
-    * 
-    * @param value allowed object is {@link Boolean }
-    * 
-    */
-   public void setDefaultLazyInit(Boolean value)
-   {
-      this.defaultLazyInit = value;
-   }
-
-   /**
-    * Gets the value of the defaultInitMethod property.
-    * 
-    * @return possible object is {@link String }
-    * 
-    */
-   public String getDefaultInitMethod()
-   {
-      return defaultInitMethod;
-   }
-
-   /**
-    * Sets the value of the defaultInitMethod property.
-    * 
-    * @param value allowed object is {@link String }
-    * 
-    */
-   public void setDefaultInitMethod(String value)
-   {
-      this.defaultInitMethod = value;
-   }
-
-   /**
-    * Gets the value of the defaultDestroyMethod property.
-    * 
-    * @return possible object is {@link String }
-    * 
-    */
-   public String getDefaultDestroyMethod()
-   {
-      return defaultDestroyMethod;
-   }
-
-   /**
-    * Sets the value of the defaultDestroyMethod property.
-    * 
-    * @param value allowed object is {@link String }
-    * 
-    */
-   public void setDefaultDestroyMethod(String value)
-   {
-      this.defaultDestroyMethod = value;
-   }
-
-   /**
-    * Gets the value of the defaultTimeout property.
-    */
-   public BigInteger getDefaultTimeout()
-   {
-      if (defaultTimeout == null)
-      {
-         return new BigInteger("300000");
-      }
-      else
-      {
-         return defaultTimeout;
-      }
-   }
-
-   /**
-    * Sets the value of the defaultTimeout property.
-    */
-   public void setDefaultTimeout(BigInteger value)
-   {
-      this.defaultTimeout = value;
-   }
-
-   /**
-    * Gets the value of the defaultAvailability property.
-    * 
-    * @return possible object is {@link Tavailability }
-    * 
-    */
-   public Availability getDefaultAvailability()
-   {
-      if (defaultAvailability == null)
-      {
-         return Availability.MANDATORY;
-      }
-      else
-      {
-         return defaultAvailability;
-      }
-   }
-
-   /**
-    * Sets the value of the defaultAvailability property.
-    * 
-    * @param value allowed object is {@link Tavailability }
-    * 
-    */
-   public void setDefaultAvailability(Availability value)
-   {
-      this.defaultAvailability = value;
-   }
-
-   /**
-    * Gets a map that contains attributes that aren't bound to any typed property on this class.
-    * 
-    * <p>
-    * the map is keyed by the name of the attribute and the value is the string value of the attribute.
-    * 
-    * the map returned by this method is live, and you can add new attribute by updating the map directly. Because of this design, there's no setter.
-    * 
-    * 
-    * @return always non-null
-    */
-   public Map<QName, String> getOtherAttributes()
-   {
-      return otherAttributes;
-   }
-}

Copied: projects/jboss-osgi/trunk/bundle/blueprint/src/main/java/org/jboss/osgi/blueprint/model/Component.java (from rev 88810, projects/jboss-osgi/trunk/bundle/blueprint/src/main/java/org/jboss/osgi/blueprint/model/Tcomponent.java)
===================================================================
--- projects/jboss-osgi/trunk/bundle/blueprint/src/main/java/org/jboss/osgi/blueprint/model/Component.java	                        (rev 0)
+++ projects/jboss-osgi/trunk/bundle/blueprint/src/main/java/org/jboss/osgi/blueprint/model/Component.java	2009-05-14 07:58:41 UTC (rev 88854)
@@ -0,0 +1,61 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.osgi.blueprint.model;
+
+import org.osgi.service.blueprint.reflect.ComponentMetadata;
+
+// $Id$
+
+/**
+ * The Component type is the base type for top-level
+ * Blueprint components.  The <bean> <reference>, <service>, <ref-set>, and <ref-list> 
+ * elements are all derived from the Component type.  
+ * 
+ * This type defines an id attributre that is used create references between different components.
+ * Component elements can also be inlined within other component definitions.
+ *   
+ * The id attribute is not valid when inliine.
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 13-May-2009
+ */
+public abstract class Component implements ComponentMetadata
+{
+   protected String id;
+
+   /**
+    * Gets the value of the id property.
+    */
+   public String getId()
+   {
+      return id;
+   }
+
+   /**
+    * Sets the value of the id property.
+    */
+   public void setId(String value)
+   {
+      this.id = value;
+   }
+
+}

Modified: projects/jboss-osgi/trunk/bundle/blueprint/src/main/java/org/jboss/osgi/blueprint/model/TReferenceListener.java
===================================================================
--- projects/jboss-osgi/trunk/bundle/blueprint/src/main/java/org/jboss/osgi/blueprint/model/TReferenceListener.java	2009-05-14 06:31:22 UTC (rev 88853)
+++ projects/jboss-osgi/trunk/bundle/blueprint/src/main/java/org/jboss/osgi/blueprint/model/TReferenceListener.java	2009-05-14 07:58:41 UTC (rev 88854)
@@ -44,7 +44,7 @@
  */
 public class TReferenceListener {
 
-    protected Tbean bean;
+    protected Bean bean;
     protected Treference reference;
     protected Tref refFIXME;
     protected List<Object> any;
@@ -57,10 +57,10 @@
      * 
      * @return
      *     possible object is
-     *     {@link Tbean }
+     *     {@link Bean }
      *     
      */
-    public Tbean getBean() {
+    public Bean getBean() {
         return bean;
     }
 
@@ -69,10 +69,10 @@
      * 
      * @param value
      *     allowed object is
-     *     {@link Tbean }
+     *     {@link Bean }
      *     
      */
-    public void setBean(Tbean value) {
+    public void setBean(Bean value) {
         this.bean = value;
     }
 

Modified: projects/jboss-osgi/trunk/bundle/blueprint/src/main/java/org/jboss/osgi/blueprint/model/Targument.java
===================================================================
--- projects/jboss-osgi/trunk/bundle/blueprint/src/main/java/org/jboss/osgi/blueprint/model/Targument.java	2009-05-14 06:31:22 UTC (rev 88853)
+++ projects/jboss-osgi/trunk/bundle/blueprint/src/main/java/org/jboss/osgi/blueprint/model/Targument.java	2009-05-14 07:58:41 UTC (rev 88854)
@@ -42,7 +42,7 @@
  *   &lt;complexContent>
  *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
  *       &lt;sequence>
- *         &lt;element name="description" type="{http://www.osgi.org/xmlns/blueprint/v1.0.0}Tdescription" minOccurs="0"/>
+ *         &lt;element name="description" type="{http://www.osgi.org/xmlns/blueprint/v1.0.0}String" minOccurs="0"/>
  *         &lt;group ref="{http://www.osgi.org/xmlns/blueprint/v1.0.0}value"/>
  *       &lt;/sequence>
  *       &lt;attribute name="index" type="{http://www.w3.org/2001/XMLSchema}nonNegativeInteger" />
@@ -58,11 +58,11 @@
  */
 public class Targument {
 
-    protected Tdescription description;
+    protected String description;
     protected Tservice service;
     protected TrefCollection refList;
     protected TrefCollection refSet;
-    protected Tbean bean;
+    protected Bean bean;
     protected Treference reference;
     protected Tref refFIXME;
     protected List<Object> any;
@@ -84,10 +84,10 @@
      * 
      * @return
      *     possible object is
-     *     {@link Tdescription }
+     *     {@link String }
      *     
      */
-    public Tdescription getDescription() {
+    public String getDescription() {
         return description;
     }
 
@@ -96,10 +96,10 @@
      * 
      * @param value
      *     allowed object is
-     *     {@link Tdescription }
+     *     {@link String }
      *     
      */
-    public void setDescription(Tdescription value) {
+    public void setDescription(String value) {
         this.description = value;
     }
 
@@ -180,10 +180,10 @@
      * 
      * @return
      *     possible object is
-     *     {@link Tbean }
+     *     {@link Bean }
      *     
      */
-    public Tbean getBean() {
+    public Bean getBean() {
         return bean;
     }
 
@@ -192,10 +192,10 @@
      * 
      * @param value
      *     allowed object is
-     *     {@link Tbean }
+     *     {@link Bean }
      *     
      */
-    public void setBean(Tbean value) {
+    public void setBean(Bean value) {
         this.bean = value;
     }
 

Deleted: projects/jboss-osgi/trunk/bundle/blueprint/src/main/java/org/jboss/osgi/blueprint/model/Tbean.java
===================================================================
--- projects/jboss-osgi/trunk/bundle/blueprint/src/main/java/org/jboss/osgi/blueprint/model/Tbean.java	2009-05-14 06:31:22 UTC (rev 88853)
+++ projects/jboss-osgi/trunk/bundle/blueprint/src/main/java/org/jboss/osgi/blueprint/model/Tbean.java	2009-05-14 07:58:41 UTC (rev 88854)
@@ -1,344 +0,0 @@
-//
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-793 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
-// Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2009.05.13 at 02:16:52 PM CEST 
-//
-
-
-package org.jboss.osgi.blueprint.model;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import javax.xml.namespace.QName;
-
-
-/**
- * 
- *               
- *               The type defintion for a <bean> component.
- *               This definition is also used by the <bpcm:managed-component>
- *               element used in the blueprint-cm schema.  The <bean> attributes
- *               provide the characteristics for how to create a bean instance.
- *               Constructor arguments and injected properties are specified
- *               via child <argument> and <property> elements.
- *               
- *             
- * 
- * <p>Java class for Tbean complex type.
- * 
- * <p>The following schema fragment specifies the expected content contained within this class.
- * 
- * <pre>
- * &lt;complexType name="Tbean">
- *   &lt;complexContent>
- *     &lt;extension base="{http://www.osgi.org/xmlns/blueprint/v1.0.0}Tcomponent">
- *       &lt;group ref="{http://www.osgi.org/xmlns/blueprint/v1.0.0}beanElements"/>
- *       &lt;attribute name="class" type="{http://www.osgi.org/xmlns/blueprint/v1.0.0}Tclass" />
- *       &lt;attribute name="depends-on" type="{http://www.osgi.org/xmlns/blueprint/v1.0.0}TdependsOn" />
- *       &lt;attribute name="init-method" type="{http://www.osgi.org/xmlns/blueprint/v1.0.0}TnullableMethod" />
- *       &lt;attribute name="destroy-method" type="{http://www.osgi.org/xmlns/blueprint/v1.0.0}TnullableMethod" />
- *       &lt;attribute name="factory-method" type="{http://www.osgi.org/xmlns/blueprint/v1.0.0}Tmethod" />
- *       &lt;attribute name="factory-component" type="{http://www.osgi.org/xmlns/blueprint/v1.0.0}Tidref" />
- *       &lt;attribute name="scope">
- *         &lt;simpleType>
- *           &lt;restriction base="{http://www.w3.org/2001/XMLSchema}NMTOKEN">
- *             &lt;enumeration value="singleton"/>
- *             &lt;enumeration value="prototype"/>
- *             &lt;enumeration value="bundle"/>
- *           &lt;/restriction>
- *         &lt;/simpleType>
- *       &lt;/attribute>
- *       &lt;attribute name="lazy-init" type="{http://www.osgi.org/xmlns/blueprint/v1.0.0}Tlazy-init" />
- *       &lt;anyAttribute processContents='lax' namespace='##other'/>
- *     &lt;/extension>
- *   &lt;/complexContent>
- * &lt;/complexType>
- * </pre>
- * 
- * 
- */
-public class Tbean
-    extends Tcomponent
-{
-
-    protected Tdescription description;
-    protected List<Object> argumentOrPropertyOrAny;
-    protected String clazz;
-    protected String dependsOn;
-    protected String initMethod;
-    protected String destroyMethod;
-    protected String factoryMethod;
-    protected String factoryComponent;
-    protected String scope;
-    protected Boolean lazyInit;
-    private Map<QName, String> otherAttributes = new HashMap<QName, String>();
-
-    /**
-     * Gets the value of the description property.
-     * 
-     * @return
-     *     possible object is
-     *     {@link Tdescription }
-     *     
-     */
-    public Tdescription getDescription() {
-        return description;
-    }
-
-    /**
-     * Sets the value of the description property.
-     * 
-     * @param value
-     *     allowed object is
-     *     {@link Tdescription }
-     *     
-     */
-    public void setDescription(Tdescription value) {
-        this.description = value;
-    }
-
-    /**
-     * Gets the value of the argumentOrPropertyOrAny property.
-     * 
-     * <p>
-     * This accessor method returns a reference to the live list,
-     * not a snapshot. Therefore any modification you make to the
-     * returned list will be present inside the JAXB object.
-     * This is why there is not a <CODE>set</CODE> method for the argumentOrPropertyOrAny property.
-     * 
-     * <p>
-     * For example, to add a new item, do as follows:
-     * <pre>
-     *    getArgumentOrPropertyOrAny().add(newItem);
-     * </pre>
-     * 
-     * 
-     * <p>
-     * Objects of the following type(s) are allowed in the list
-     * {@link Object }
-     * {@link JAXBElement }{@code <}{@link Targument }{@code >}
-     * {@link JAXBElement }{@code <}{@link Tproperty }{@code >}
-     * 
-     * 
-     */
-    public List<Object> getArgumentOrPropertyOrAny() {
-        if (argumentOrPropertyOrAny == null) {
-            argumentOrPropertyOrAny = new ArrayList<Object>();
-        }
-        return this.argumentOrPropertyOrAny;
-    }
-
-    /**
-     * Gets the value of the clazz property.
-     * 
-     * @return
-     *     possible object is
-     *     {@link String }
-     *     
-     */
-    public String getClazz() {
-        return clazz;
-    }
-
-    /**
-     * Sets the value of the clazz property.
-     * 
-     * @param value
-     *     allowed object is
-     *     {@link String }
-     *     
-     */
-    public void setClazz(String value) {
-        this.clazz = value;
-    }
-
-    /**
-     * Gets the value of the dependsOn property.
-     * 
-     * @return
-     *     possible object is
-     *     {@link String }
-     *     
-     */
-    public String getDependsOn() {
-        return dependsOn;
-    }
-
-    /**
-     * Sets the value of the dependsOn property.
-     * 
-     * @param value
-     *     allowed object is
-     *     {@link String }
-     *     
-     */
-    public void setDependsOn(String value) {
-        this.dependsOn = value;
-    }
-
-    /**
-     * Gets the value of the initMethod property.
-     * 
-     * @return
-     *     possible object is
-     *     {@link String }
-     *     
-     */
-    public String getInitMethod() {
-        return initMethod;
-    }
-
-    /**
-     * Sets the value of the initMethod property.
-     * 
-     * @param value
-     *     allowed object is
-     *     {@link String }
-     *     
-     */
-    public void setInitMethod(String value) {
-        this.initMethod = value;
-    }
-
-    /**
-     * Gets the value of the destroyMethod property.
-     * 
-     * @return
-     *     possible object is
-     *     {@link String }
-     *     
-     */
-    public String getDestroyMethod() {
-        return destroyMethod;
-    }
-
-    /**
-     * Sets the value of the destroyMethod property.
-     * 
-     * @param value
-     *     allowed object is
-     *     {@link String }
-     *     
-     */
-    public void setDestroyMethod(String value) {
-        this.destroyMethod = value;
-    }
-
-    /**
-     * Gets the value of the factoryMethod property.
-     * 
-     * @return
-     *     possible object is
-     *     {@link String }
-     *     
-     */
-    public String getFactoryMethod() {
-        return factoryMethod;
-    }
-
-    /**
-     * Sets the value of the factoryMethod property.
-     * 
-     * @param value
-     *     allowed object is
-     *     {@link String }
-     *     
-     */
-    public void setFactoryMethod(String value) {
-        this.factoryMethod = value;
-    }
-
-    /**
-     * Gets the value of the factoryComponent property.
-     * 
-     * @return
-     *     possible object is
-     *     {@link String }
-     *     
-     */
-    public String getFactoryComponent() {
-        return factoryComponent;
-    }
-
-    /**
-     * Sets the value of the factoryComponent property.
-     * 
-     * @param value
-     *     allowed object is
-     *     {@link String }
-     *     
-     */
-    public void setFactoryComponent(String value) {
-        this.factoryComponent = value;
-    }
-
-    /**
-     * Gets the value of the scope property.
-     * 
-     * @return
-     *     possible object is
-     *     {@link String }
-     *     
-     */
-    public String getScope() {
-        return scope;
-    }
-
-    /**
-     * Sets the value of the scope property.
-     * 
-     * @param value
-     *     allowed object is
-     *     {@link String }
-     *     
-     */
-    public void setScope(String value) {
-        this.scope = value;
-    }
-
-    /**
-     * Gets the value of the lazyInit property.
-     * 
-     * @return
-     *     possible object is
-     *     {@link Boolean }
-     *     
-     */
-    public Boolean isLazyInit() {
-        return lazyInit;
-    }
-
-    /**
-     * Sets the value of the lazyInit property.
-     * 
-     * @param value
-     *     allowed object is
-     *     {@link Boolean }
-     *     
-     */
-    public void setLazyInit(Boolean value) {
-        this.lazyInit = value;
-    }
-
-    /**
-     * Gets a map that contains attributes that aren't bound to any typed property on this class.
-     * 
-     * <p>
-     * the map is keyed by the name of the attribute and 
-     * the value is the string value of the attribute.
-     * 
-     * the map returned by this method is live, and you can add new attribute
-     * by updating the map directly. Because of this design, there's no setter.
-     * 
-     * 
-     * @return
-     *     always non-null
-     */
-    public Map<QName, String> getOtherAttributes() {
-        return otherAttributes;
-    }
-
-}

Modified: projects/jboss-osgi/trunk/bundle/blueprint/src/main/java/org/jboss/osgi/blueprint/model/Tcollection.java
===================================================================
--- projects/jboss-osgi/trunk/bundle/blueprint/src/main/java/org/jboss/osgi/blueprint/model/Tcollection.java	2009-05-14 06:31:22 UTC (rev 88853)
+++ projects/jboss-osgi/trunk/bundle/blueprint/src/main/java/org/jboss/osgi/blueprint/model/Tcollection.java	2009-05-14 07:58:41 UTC (rev 88854)
@@ -65,7 +65,7 @@
      * {@link JAXBElement }{@code <}{@link Treference }{@code >}
      * {@link JAXBElement }{@code <}{@link Tref }{@code >}
      * {@link JAXBElement }{@code <}{@link Tmap }{@code >}
-     * {@link JAXBElement }{@code <}{@link Tbean }{@code >}
+     * {@link JAXBElement }{@code <}{@link Bean }{@code >}
      * {@link JAXBElement }{@code <}{@link Tnull }{@code >}
      * {@link JAXBElement }{@code <}{@link TrefCollection }{@code >}
      * {@link JAXBElement }{@code <}{@link TrefCollection }{@code >}

Modified: projects/jboss-osgi/trunk/bundle/blueprint/src/main/java/org/jboss/osgi/blueprint/model/Tcomparator.java
===================================================================
--- projects/jboss-osgi/trunk/bundle/blueprint/src/main/java/org/jboss/osgi/blueprint/model/Tcomparator.java	2009-05-14 06:31:22 UTC (rev 88853)
+++ projects/jboss-osgi/trunk/bundle/blueprint/src/main/java/org/jboss/osgi/blueprint/model/Tcomparator.java	2009-05-14 07:58:41 UTC (rev 88854)
@@ -31,7 +31,7 @@
  */
 public class Tcomparator {
 
-    protected Tbean bean;
+    protected Bean bean;
     protected Treference reference;
     protected Tref refFIXME;
     protected List<Object> any;
@@ -41,10 +41,10 @@
      * 
      * @return
      *     possible object is
-     *     {@link Tbean }
+     *     {@link Bean }
      *     
      */
-    public Tbean getBean() {
+    public Bean getBean() {
         return bean;
     }
 
@@ -53,10 +53,10 @@
      * 
      * @param value
      *     allowed object is
-     *     {@link Tbean }
+     *     {@link Bean }
      *     
      */
-    public void setBean(Tbean value) {
+    public void setBean(Bean value) {
         this.bean = value;
     }
 

Deleted: projects/jboss-osgi/trunk/bundle/blueprint/src/main/java/org/jboss/osgi/blueprint/model/Tcomponent.java
===================================================================
--- projects/jboss-osgi/trunk/bundle/blueprint/src/main/java/org/jboss/osgi/blueprint/model/Tcomponent.java	2009-05-14 06:31:22 UTC (rev 88853)
+++ projects/jboss-osgi/trunk/bundle/blueprint/src/main/java/org/jboss/osgi/blueprint/model/Tcomponent.java	2009-05-14 07:58:41 UTC (rev 88854)
@@ -1,69 +0,0 @@
-//
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-793 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
-// Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2009.05.13 at 02:16:52 PM CEST 
-//
-
-
-package org.jboss.osgi.blueprint.model;
-
-/**
- * 
- *             
- * 
- *           The Tcomponent type is the base type for top-level
- *           Blueprint components.  The <bean> <reference>, <service>,
- *           <ref-set>, and <ref-list> elements are all derived from
- *           the Tcomponent type.  This type defines an id attributre
- *           that is used create references between different components.
- *           Component elements can also be inlined within other component
- *           definitions.  The id attribute is not valid when inliine.
- *           
- *             
- * 
- * <p>Java class for Tcomponent complex type.
- * 
- * <p>The following schema fragment specifies the expected content contained within this class.
- * 
- * <pre>
- * &lt;complexType name="Tcomponent">
- *   &lt;complexContent>
- *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
- *       &lt;attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
- *     &lt;/restriction>
- *   &lt;/complexContent>
- * &lt;/complexType>
- * </pre>
- * 
- * 
- */
-public abstract class Tcomponent {
-
-    protected String id;
-
-    /**
-     * Gets the value of the id property.
-     * 
-     * @return
-     *     possible object is
-     *     {@link String }
-     *     
-     */
-    public String getId() {
-        return id;
-    }
-
-    /**
-     * Sets the value of the id property.
-     * 
-     * @param value
-     *     allowed object is
-     *     {@link String }
-     *     
-     */
-    public void setId(String value) {
-        this.id = value;
-    }
-
-}

Deleted: projects/jboss-osgi/trunk/bundle/blueprint/src/main/java/org/jboss/osgi/blueprint/model/Tdescription.java
===================================================================
--- projects/jboss-osgi/trunk/bundle/blueprint/src/main/java/org/jboss/osgi/blueprint/model/Tdescription.java	2009-05-14 06:31:22 UTC (rev 88853)
+++ projects/jboss-osgi/trunk/bundle/blueprint/src/main/java/org/jboss/osgi/blueprint/model/Tdescription.java	2009-05-14 07:58:41 UTC (rev 88854)
@@ -1,78 +0,0 @@
-//
-// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-793 
-// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
-// Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2009.05.13 at 02:16:52 PM CEST 
-//
-
-
-package org.jboss.osgi.blueprint.model;
-
-import java.util.ArrayList;
-import java.util.List;
-
-
-/**
- * 
- *               
- *               A generic <description> element type to allow documentation to added to the
- *               blueprint configuration.
- *               
- *             
- * 
- * <p>Java class for Tdescription complex type.
- * 
- * <p>The following schema fragment specifies the expected content contained within this class.
- * 
- * <pre>
- * &lt;complexType name="Tdescription">
- *   &lt;complexContent>
- *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
- *       &lt;choice maxOccurs="unbounded" minOccurs="0">
- *       &lt;/choice>
- *     &lt;/restriction>
- *   &lt;/complexContent>
- * &lt;/complexType>
- * </pre>
- * 
- * 
- */
-public class Tdescription {
-
-    protected List<String> content;
-
-    /**
-     * 
-     *               
-     *               A generic <description> element type to allow documentation to added to the
-     *               blueprint configuration.
-     *               
-     *             Gets the value of the content property.
-     * 
-     * <p>
-     * This accessor method returns a reference to the live list,
-     * not a snapshot. Therefore any modification you make to the
-     * returned list will be present inside the JAXB object.
-     * This is why there is not a <CODE>set</CODE> method for the content property.
-     * 
-     * <p>
-     * For example, to add a new item, do as follows:
-     * <pre>
-     *    getContent().add(newItem);
-     * </pre>
-     * 
-     * 
-     * <p>
-     * Objects of the following type(s) are allowed in the list
-     * {@link String }
-     * 
-     * 
-     */
-    public List<String> getContent() {
-        if (content == null) {
-            content = new ArrayList<String>();
-        }
-        return this.content;
-    }
-
-}

Modified: projects/jboss-osgi/trunk/bundle/blueprint/src/main/java/org/jboss/osgi/blueprint/model/Tkey.java
===================================================================
--- projects/jboss-osgi/trunk/bundle/blueprint/src/main/java/org/jboss/osgi/blueprint/model/Tkey.java	2009-05-14 06:31:22 UTC (rev 88853)
+++ projects/jboss-osgi/trunk/bundle/blueprint/src/main/java/org/jboss/osgi/blueprint/model/Tkey.java	2009-05-14 07:58:41 UTC (rev 88854)
@@ -42,7 +42,7 @@
     protected Tservice service;
     protected TrefCollection refList;
     protected TrefCollection refSet;
-    protected Tbean bean;
+    protected Bean bean;
     protected Treference reference;
     protected Tref refFIXME;
     protected List<Object> any;
@@ -131,10 +131,10 @@
      * 
      * @return
      *     possible object is
-     *     {@link Tbean }
+     *     {@link Bean }
      *     
      */
-    public Tbean getBean() {
+    public Bean getBean() {
         return bean;
     }
 
@@ -143,10 +143,10 @@
      * 
      * @param value
      *     allowed object is
-     *     {@link Tbean }
+     *     {@link Bean }
      *     
      */
-    public void setBean(Tbean value) {
+    public void setBean(Bean value) {
         this.bean = value;
     }
 

Modified: projects/jboss-osgi/trunk/bundle/blueprint/src/main/java/org/jboss/osgi/blueprint/model/TmapEntry.java
===================================================================
--- projects/jboss-osgi/trunk/bundle/blueprint/src/main/java/org/jboss/osgi/blueprint/model/TmapEntry.java	2009-05-14 06:31:22 UTC (rev 88853)
+++ projects/jboss-osgi/trunk/bundle/blueprint/src/main/java/org/jboss/osgi/blueprint/model/TmapEntry.java	2009-05-14 07:58:41 UTC (rev 88854)
@@ -53,7 +53,7 @@
     protected Tservice service;
     protected TrefCollection refList;
     protected TrefCollection refSet;
-    protected Tbean bean;
+    protected Bean bean;
     protected Treference reference;
     protected Tref refFIXME;
     protected List<Object> any;
@@ -171,10 +171,10 @@
      * 
      * @return
      *     possible object is
-     *     {@link Tbean }
+     *     {@link Bean }
      *     
      */
-    public Tbean getBean() {
+    public Bean getBean() {
         return bean;
     }
 
@@ -183,10 +183,10 @@
      * 
      * @param value
      *     allowed object is
-     *     {@link Tbean }
+     *     {@link Bean }
      *     
      */
-    public void setBean(Tbean value) {
+    public void setBean(Bean value) {
         this.bean = value;
     }
 

Modified: projects/jboss-osgi/trunk/bundle/blueprint/src/main/java/org/jboss/osgi/blueprint/model/Tproperty.java
===================================================================
--- projects/jboss-osgi/trunk/bundle/blueprint/src/main/java/org/jboss/osgi/blueprint/model/Tproperty.java	2009-05-14 06:31:22 UTC (rev 88853)
+++ projects/jboss-osgi/trunk/bundle/blueprint/src/main/java/org/jboss/osgi/blueprint/model/Tproperty.java	2009-05-14 07:58:41 UTC (rev 88854)
@@ -35,7 +35,7 @@
  *   &lt;complexContent>
  *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
  *       &lt;sequence>
- *         &lt;element name="description" type="{http://www.osgi.org/xmlns/blueprint/v1.0.0}Tdescription" minOccurs="0"/>
+ *         &lt;element name="description" type="{http://www.osgi.org/xmlns/blueprint/v1.0.0}String" minOccurs="0"/>
  *         &lt;group ref="{http://www.osgi.org/xmlns/blueprint/v1.0.0}value"/>
  *       &lt;/sequence>
  *       &lt;attribute name="name" use="required" type="{http://www.osgi.org/xmlns/blueprint/v1.0.0}Tmethod" />
@@ -50,11 +50,11 @@
  */
 public class Tproperty {
 
-    protected Tdescription description;
+    protected String description;
     protected Tservice service;
     protected TrefCollection refList;
     protected TrefCollection refSet;
-    protected Tbean bean;
+    protected Bean bean;
     protected Treference reference;
     protected Tref refFIXME;
     protected List<Object> any;
@@ -75,10 +75,10 @@
      * 
      * @return
      *     possible object is
-     *     {@link Tdescription }
+     *     {@link String }
      *     
      */
-    public Tdescription getDescription() {
+    public String getDescription() {
         return description;
     }
 
@@ -87,10 +87,10 @@
      * 
      * @param value
      *     allowed object is
-     *     {@link Tdescription }
+     *     {@link String }
      *     
      */
-    public void setDescription(Tdescription value) {
+    public void setDescription(String value) {
         this.description = value;
     }
 
@@ -171,10 +171,10 @@
      * 
      * @return
      *     possible object is
-     *     {@link Tbean }
+     *     {@link Bean }
      *     
      */
-    public Tbean getBean() {
+    public Bean getBean() {
         return bean;
     }
 
@@ -183,10 +183,10 @@
      * 
      * @param value
      *     allowed object is
-     *     {@link Tbean }
+     *     {@link Bean }
      *     
      */
-    public void setBean(Tbean value) {
+    public void setBean(Bean value) {
         this.bean = value;
     }
 

Modified: projects/jboss-osgi/trunk/bundle/blueprint/src/main/java/org/jboss/osgi/blueprint/model/TregistrationListener.java
===================================================================
--- projects/jboss-osgi/trunk/bundle/blueprint/src/main/java/org/jboss/osgi/blueprint/model/TregistrationListener.java	2009-05-14 06:31:22 UTC (rev 88853)
+++ projects/jboss-osgi/trunk/bundle/blueprint/src/main/java/org/jboss/osgi/blueprint/model/TregistrationListener.java	2009-05-14 07:58:41 UTC (rev 88854)
@@ -46,7 +46,7 @@
  */
 public class TregistrationListener {
 
-    protected Tbean bean;
+    protected Bean bean;
     protected Treference reference;
     protected Tref refFIXME;
     protected List<Object> any;
@@ -59,10 +59,10 @@
      * 
      * @return
      *     possible object is
-     *     {@link Tbean }
+     *     {@link Bean }
      *     
      */
-    public Tbean getBean() {
+    public Bean getBean() {
         return bean;
     }
 
@@ -71,10 +71,10 @@
      * 
      * @param value
      *     allowed object is
-     *     {@link Tbean }
+     *     {@link Bean }
      *     
      */
-    public void setBean(Tbean value) {
+    public void setBean(Bean value) {
         this.bean = value;
     }
 

Modified: projects/jboss-osgi/trunk/bundle/blueprint/src/main/java/org/jboss/osgi/blueprint/model/Tservice.java
===================================================================
--- projects/jboss-osgi/trunk/bundle/blueprint/src/main/java/org/jboss/osgi/blueprint/model/Tservice.java	2009-05-14 06:31:22 UTC (rev 88853)
+++ projects/jboss-osgi/trunk/bundle/blueprint/src/main/java/org/jboss/osgi/blueprint/model/Tservice.java	2009-05-14 07:58:41 UTC (rev 88854)
@@ -51,14 +51,14 @@
  * 
  */
 public class Tservice
-    extends Tcomponent
+    extends Component
 {
 
-    protected Tdescription description;
+    protected String description;
     protected Tinterfaces interfaces;
     protected TserviceProperties serviceProperties;
     protected List<TregistrationListener> registrationListener;
-    protected Tbean bean;
+    protected Bean bean;
     protected Tref refFIXME;
     protected List<Object> any;
     protected String _interface;
@@ -73,10 +73,10 @@
      * 
      * @return
      *     possible object is
-     *     {@link Tdescription }
+     *     {@link String }
      *     
      */
-    public Tdescription getDescription() {
+    public String getDescription() {
         return description;
     }
 
@@ -85,10 +85,10 @@
      * 
      * @param value
      *     allowed object is
-     *     {@link Tdescription }
+     *     {@link String }
      *     
      */
-    public void setDescription(Tdescription value) {
+    public void setDescription(String value) {
         this.description = value;
     }
 
@@ -174,10 +174,10 @@
      * 
      * @return
      *     possible object is
-     *     {@link Tbean }
+     *     {@link Bean }
      *     
      */
-    public Tbean getBean() {
+    public Bean getBean() {
         return bean;
     }
 
@@ -186,10 +186,10 @@
      * 
      * @param value
      *     allowed object is
-     *     {@link Tbean }
+     *     {@link Bean }
      *     
      */
-    public void setBean(Tbean value) {
+    public void setBean(Bean value) {
         this.bean = value;
     }
 

Modified: projects/jboss-osgi/trunk/bundle/blueprint/src/main/java/org/jboss/osgi/blueprint/model/TservicePropertyEntry.java
===================================================================
--- projects/jboss-osgi/trunk/bundle/blueprint/src/main/java/org/jboss/osgi/blueprint/model/TservicePropertyEntry.java	2009-05-14 06:31:22 UTC (rev 88853)
+++ projects/jboss-osgi/trunk/bundle/blueprint/src/main/java/org/jboss/osgi/blueprint/model/TservicePropertyEntry.java	2009-05-14 07:58:41 UTC (rev 88854)
@@ -45,7 +45,7 @@
     protected Tservice service;
     protected TrefCollection refList;
     protected TrefCollection refSet;
-    protected Tbean bean;
+    protected Bean bean;
     protected Treference reference;
     protected Tref refFIXME;
     protected List<Object> any;
@@ -137,10 +137,10 @@
      * 
      * @return
      *     possible object is
-     *     {@link Tbean }
+     *     {@link Bean }
      *     
      */
-    public Tbean getBean() {
+    public Bean getBean() {
         return bean;
     }
 
@@ -149,10 +149,10 @@
      * 
      * @param value
      *     allowed object is
-     *     {@link Tbean }
+     *     {@link Bean }
      *     
      */
-    public void setBean(Tbean value) {
+    public void setBean(Bean value) {
         this.bean = value;
     }
 

Modified: projects/jboss-osgi/trunk/bundle/blueprint/src/main/java/org/jboss/osgi/blueprint/model/TserviceReference.java
===================================================================
--- projects/jboss-osgi/trunk/bundle/blueprint/src/main/java/org/jboss/osgi/blueprint/model/TserviceReference.java	2009-05-14 06:31:22 UTC (rev 88853)
+++ projects/jboss-osgi/trunk/bundle/blueprint/src/main/java/org/jboss/osgi/blueprint/model/TserviceReference.java	2009-05-14 07:58:41 UTC (rev 88854)
@@ -35,7 +35,7 @@
  *   &lt;complexContent&gt;
  *     &lt;extension base=&quot;{http://www.osgi.org/xmlns/blueprint/v1.0.0}Tcomponent&quot;&gt;
  *       &lt;sequence&gt;
- *         &lt;element name=&quot;description&quot; type=&quot;{http://www.osgi.org/xmlns/blueprint/v1.0.0}Tdescription&quot; minOccurs=&quot;0&quot;/&gt;
+ *         &lt;element name=&quot;description&quot; type=&quot;{http://www.osgi.org/xmlns/blueprint/v1.0.0}String&quot; minOccurs=&quot;0&quot;/&gt;
  *         &lt;element name=&quot;interfaces&quot; type=&quot;{http://www.osgi.org/xmlns/blueprint/v1.0.0}Tinterfaces&quot; minOccurs=&quot;0&quot;/&gt;
  *         &lt;element name=&quot;listener&quot; type=&quot;{http://www.osgi.org/xmlns/blueprint/v1.0.0}TReferenceListener&quot; maxOccurs=&quot;unbounded&quot; minOccurs=&quot;0&quot;/&gt;
  *         &lt;any processContents='lax' namespace='##other' maxOccurs=&quot;unbounded&quot; minOccurs=&quot;0&quot;/&gt;
@@ -52,10 +52,10 @@
  * 
  * 
  */
-public class TserviceReference extends Tcomponent
+public class TserviceReference extends Component
 {
 
-   protected Tdescription description;
+   protected String description;
    protected Tinterfaces interfaces;
    protected List<TReferenceListener> listener;
    protected List<Object> any;
@@ -68,10 +68,10 @@
    /**
     * Gets the value of the description property.
     * 
-    * @return possible object is {@link Tdescription }
+    * @return possible object is {@link String }
     * 
     */
-   public Tdescription getDescription()
+   public String getDescription()
    {
       return description;
    }
@@ -79,10 +79,10 @@
    /**
     * Sets the value of the description property.
     * 
-    * @param value allowed object is {@link Tdescription }
+    * @param value allowed object is {@link String }
     * 
     */
-   public void setDescription(Tdescription value)
+   public void setDescription(String value)
    {
       this.description = value;
    }

Modified: projects/jboss-osgi/trunk/bundle/blueprint/src/main/java/org/jboss/osgi/blueprint/model/TtypeConverters.java
===================================================================
--- projects/jboss-osgi/trunk/bundle/blueprint/src/main/java/org/jboss/osgi/blueprint/model/TtypeConverters.java	2009-05-14 06:31:22 UTC (rev 88853)
+++ projects/jboss-osgi/trunk/bundle/blueprint/src/main/java/org/jboss/osgi/blueprint/model/TtypeConverters.java	2009-05-14 07:58:41 UTC (rev 88854)
@@ -62,7 +62,7 @@
      * 
      * <p>
      * Objects of the following type(s) are allowed in the list
-     * {@link JAXBElement }{@code <}{@link Tbean }{@code >}
+     * {@link JAXBElement }{@code <}{@link Bean }{@code >}
      * {@link JAXBElement }{@code <}{@link Treference }{@code >}
      * {@link Object }
      * {@link JAXBElement }{@code <}{@link Tref }{@code >}

Modified: projects/jboss-osgi/trunk/bundle/blueprint/src/main/java/org/jboss/osgi/blueprint/parser/BlueprintParser.java
===================================================================
--- projects/jboss-osgi/trunk/bundle/blueprint/src/main/java/org/jboss/osgi/blueprint/parser/BlueprintParser.java	2009-05-14 06:31:22 UTC (rev 88853)
+++ projects/jboss-osgi/trunk/bundle/blueprint/src/main/java/org/jboss/osgi/blueprint/parser/BlueprintParser.java	2009-05-14 07:58:41 UTC (rev 88854)
@@ -25,7 +25,7 @@
 
 import java.net.URL;
 
-import org.jboss.osgi.blueprint.model.BlueprintType;
+import org.jboss.osgi.blueprint.model.Blueprint;
 import org.jboss.xb.binding.JBossXBException;
 import org.jboss.xb.binding.Unmarshaller;
 import org.jboss.xb.binding.UnmarshallerFactory;
@@ -40,24 +40,33 @@
  */
 public class BlueprintParser 
 {
+   private static SchemaBinding schemaBinding;
+   
+   public BlueprintParser()
+   {
+      if (schemaBinding == null)
+      {
+         ClassLoader resourceLoader = getClass().getClassLoader();
+         URL schemaXSD = resourceLoader.getResource("schema/blueprint-jbxb.xsd");
+         if (schemaXSD == null)
+            throw new BlueprintException("Cannot get blueprint schema from: " + resourceLoader);
+         
+         schemaBinding = XsdBinder.bind(schemaXSD.toExternalForm());
+      }
+   }
+
    /**
     * Parse a blueprint descriptor 
     */
-   public BlueprintType parse(URL xmlURL)  
+   public Blueprint parse(URL xmlURL)  
    {
       if (xmlURL == null)
          throw new IllegalArgumentException("Cannot parse null descriptor URL");
       
       try
       {
-         ClassLoader resourceLoader = getClass().getClassLoader();
-         URL schemaXSD = resourceLoader.getResource("schema/blueprint-jbxb.xsd");
-         if (schemaXSD == null)
-            throw new BlueprintException("Cannot get blueprint schema from: " + resourceLoader);
-         
-         SchemaBinding schema = XsdBinder.bind(schemaXSD.toExternalForm());
          Unmarshaller unmarshaller = UnmarshallerFactory.newInstance().newUnmarshaller();
-         return (BlueprintType)unmarshaller.unmarshal(xmlURL.toExternalForm(), schema);
+         return (Blueprint)unmarshaller.unmarshal(xmlURL.toExternalForm(), schemaBinding);
       }
       catch (JBossXBException ex)
       {

Modified: projects/jboss-osgi/trunk/bundle/blueprint/src/main/resources/schema/blueprint-jbxb.xsd
===================================================================
--- projects/jboss-osgi/trunk/bundle/blueprint/src/main/resources/schema/blueprint-jbxb.xsd	2009-05-14 06:31:22 UTC (rev 88853)
+++ projects/jboss-osgi/trunk/bundle/blueprint/src/main/resources/schema/blueprint-jbxb.xsd	2009-05-14 07:58:41 UTC (rev 88854)
@@ -64,7 +64,7 @@
     <xsd:element name="blueprint" type="Tblueprint">
         <xsd:annotation>
             <xsd:appinfo>
-              <jbxb:class impl="org.jboss.osgi.blueprint.model.BlueprintType"></jbxb:class>
+              <jbxb:class impl="org.jboss.osgi.blueprint.model.Blueprint"></jbxb:class>
             </xsd:appinfo>
             <xsd:documentation>
             <![CDATA[
@@ -202,7 +202,13 @@
             </xsd:documentation>
         </xsd:annotation>
         <xsd:choice>
-            <xsd:element name="bean" type="Tbean" />
+            <xsd:element name="bean" type="Tbean" >
+                <xsd:annotation>
+                    <xsd:appinfo>
+                        <jbxb:property name="components"/>
+                    </xsd:appinfo>
+                </xsd:annotation>
+            </xsd:element>
             <xsd:element name="reference" type="Treference" />
             <xsd:element name="refFIXME" type="Tref" />
             <xsd:any namespace="##other" processContents="strict" minOccurs="0" maxOccurs="unbounded" />
@@ -250,6 +256,9 @@
 
     <xsd:complexType name="Tbean">
         <xsd:annotation>
+            <xsd:appinfo>
+              <jbxb:class impl="org.jboss.osgi.blueprint.model.Bean"></jbxb:class>
+            </xsd:appinfo>
             <xsd:documentation>
               <![CDATA[
               The type defintion for a <bean> component.
@@ -264,7 +273,13 @@
         <xsd:complexContent>
             <xsd:extension base="Tcomponent">
                 <xsd:group ref="beanElements" />
-                <xsd:attribute name="class" type="Tclass" />
+                <xsd:attribute name="class" type="Tclass">
+                    <xsd:annotation>
+                        <xsd:appinfo>
+                            <jbxb:property name="className"/>
+                        </xsd:appinfo>
+                    </xsd:annotation>
+                </xsd:attribute>
                 <xsd:attribute name="depends-on" type="TdependsOn" />
                 <xsd:attribute name="init-method" type="TnullableMethod" />
                 <xsd:attribute name="destroy-method" type="TnullableMethod" />

Added: projects/jboss-osgi/trunk/bundle/blueprint/src/test/java/org/jboss/test/osgi/blueprint/parser/BeanA.java
===================================================================
--- projects/jboss-osgi/trunk/bundle/blueprint/src/test/java/org/jboss/test/osgi/blueprint/parser/BeanA.java	                        (rev 0)
+++ projects/jboss-osgi/trunk/bundle/blueprint/src/test/java/org/jboss/test/osgi/blueprint/parser/BeanA.java	2009-05-14 07:58:41 UTC (rev 88854)
@@ -0,0 +1,45 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.test.osgi.blueprint.parser;
+
+//$Id$
+
+/**
+ * A basic bean
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 13-May-2009
+ */
+public class BeanA 
+{
+   private BeanB beanB;
+
+   public BeanB getBeanB()
+   {
+      return beanB;
+   }
+
+   public void setBeanB(BeanB beanB)
+   {
+      this.beanB = beanB;
+   }
+}
\ No newline at end of file


Property changes on: projects/jboss-osgi/trunk/bundle/blueprint/src/test/java/org/jboss/test/osgi/blueprint/parser/BeanA.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: projects/jboss-osgi/trunk/bundle/blueprint/src/test/java/org/jboss/test/osgi/blueprint/parser/BeanB.java
===================================================================
--- projects/jboss-osgi/trunk/bundle/blueprint/src/test/java/org/jboss/test/osgi/blueprint/parser/BeanB.java	                        (rev 0)
+++ projects/jboss-osgi/trunk/bundle/blueprint/src/test/java/org/jboss/test/osgi/blueprint/parser/BeanB.java	2009-05-14 07:58:41 UTC (rev 88854)
@@ -0,0 +1,45 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.test.osgi.blueprint.parser;
+
+//$Id$
+
+/**
+ * A basic bean
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 13-May-2009
+ */
+public class BeanB 
+{
+   private BeanA beanA;
+
+   public BeanA getBeanA()
+   {
+      return beanA;
+   }
+
+   public void setBeanA(BeanA beanA)
+   {
+      this.beanA = beanA;
+   }
+}
\ No newline at end of file


Property changes on: projects/jboss-osgi/trunk/bundle/blueprint/src/test/java/org/jboss/test/osgi/blueprint/parser/BeanB.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Modified: projects/jboss-osgi/trunk/bundle/blueprint/src/test/java/org/jboss/test/osgi/blueprint/parser/ParserTestCase.java
===================================================================
--- projects/jboss-osgi/trunk/bundle/blueprint/src/test/java/org/jboss/test/osgi/blueprint/parser/ParserTestCase.java	2009-05-14 06:31:22 UTC (rev 88853)
+++ projects/jboss-osgi/trunk/bundle/blueprint/src/test/java/org/jboss/test/osgi/blueprint/parser/ParserTestCase.java	2009-05-14 07:58:41 UTC (rev 88854)
@@ -25,9 +25,12 @@
 
 import java.math.BigInteger;
 import java.net.URL;
+import java.util.List;
 
 import org.jboss.osgi.blueprint.model.Availability;
-import org.jboss.osgi.blueprint.model.BlueprintType;
+import org.jboss.osgi.blueprint.model.Bean;
+import org.jboss.osgi.blueprint.model.Blueprint;
+import org.jboss.osgi.blueprint.model.Component;
 import org.jboss.osgi.blueprint.parser.BlueprintParser;
 import org.jboss.osgi.spi.testing.OSGiTest;
 
@@ -39,14 +42,42 @@
  */
 public class ParserTestCase extends OSGiTest
 {
-   public void testBlueprintDefaults() throws Exception
+   public void testBlueprintDefaultAttributes() throws Exception
    {
-      URL xmlURL = getResourceURL("parser/blueprint-basic.xml");
-      BlueprintType blueprint = new BlueprintParser().parse(xmlURL);
+      URL xmlURL = getResourceURL("parser/blueprint-basic-root.xml");
+      Blueprint blueprint = new BlueprintParser().parse(xmlURL);
       
+      // assert default attributes
       assertEquals(Availability.MANDATORY, blueprint.getDefaultAvailability());
+      assertEquals(new BigInteger("300000"), blueprint.getDefaultTimeout());
+      assertEquals(Boolean.FALSE, blueprint.isDefaultLazyInit());
+      assertNull(blueprint.getDefaultInitMethod());
       assertNull(blueprint.getDefaultDestroyMethod());
-      assertNull(blueprint.getDefaultInitMethod());
-      assertEquals(new BigInteger("300000"), blueprint.getDefaultTimeout());
    }
+
+   public void testBlueprintDescription() throws Exception
+   {
+      URL xmlURL = getResourceURL("parser/blueprint-basic-root.xml");
+      Blueprint blueprint = new BlueprintParser().parse(xmlURL);
+      
+      // assert description
+      assertEquals("some text", blueprint.getDescription());
+   }
+   
+   public void testBasicBeans() throws Exception
+   {
+      URL xmlURL = getResourceURL("parser/blueprint-basic-beans.xml");
+      Blueprint blueprint = new BlueprintParser().parse(xmlURL);
+      
+      List<Component> compList = blueprint.getComponents();
+      assertTrue(compList.size() > 0);
+      
+      Bean beanA = (Bean)compList.get(0);
+      assertEquals(BeanA.class.getName(), beanA.getClassName());
+      assertEquals("A", beanA.getId());
+      
+      Bean beanB = (Bean)compList.get(1);
+      assertEquals(BeanB.class.getName(), beanB.getClassName());
+      assertEquals("B", beanB.getId());
+   }
 }
\ No newline at end of file

Added: projects/jboss-osgi/trunk/bundle/blueprint/src/test/resources/parser/blueprint-basic-beans.xml
===================================================================
--- projects/jboss-osgi/trunk/bundle/blueprint/src/test/resources/parser/blueprint-basic-beans.xml	                        (rev 0)
+++ projects/jboss-osgi/trunk/bundle/blueprint/src/test/resources/parser/blueprint-basic-beans.xml	2009-05-14 07:58:41 UTC (rev 88854)
@@ -0,0 +1,11 @@
+<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+  xsi:schemaLocation="http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd schema/blueprint.xsd">
+  
+  <bean id="A" class="org.jboss.test.osgi.blueprint.parser.BeanA">
+  </bean>
+  
+  <bean id="B" class="org.jboss.test.osgi.blueprint.parser.BeanB">
+    <property name="beanA" ref="A"/>
+  </bean>
+  
+</blueprint>
\ No newline at end of file


Property changes on: projects/jboss-osgi/trunk/bundle/blueprint/src/test/resources/parser/blueprint-basic-beans.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Copied: projects/jboss-osgi/trunk/bundle/blueprint/src/test/resources/parser/blueprint-basic-root.xml (from rev 88817, projects/jboss-osgi/trunk/bundle/blueprint/src/test/resources/parser/blueprint-basic.xml)
===================================================================
--- projects/jboss-osgi/trunk/bundle/blueprint/src/test/resources/parser/blueprint-basic-root.xml	                        (rev 0)
+++ projects/jboss-osgi/trunk/bundle/blueprint/src/test/resources/parser/blueprint-basic-root.xml	2009-05-14 07:58:41 UTC (rev 88854)
@@ -0,0 +1,6 @@
+<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+  xsi:schemaLocation="http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd schema/blueprint.xsd">
+  
+  <description>some text</description>
+  
+</blueprint>
\ No newline at end of file

Deleted: projects/jboss-osgi/trunk/bundle/blueprint/src/test/resources/parser/blueprint-basic.xml
===================================================================
--- projects/jboss-osgi/trunk/bundle/blueprint/src/test/resources/parser/blueprint-basic.xml	2009-05-14 06:31:22 UTC (rev 88853)
+++ projects/jboss-osgi/trunk/bundle/blueprint/src/test/resources/parser/blueprint-basic.xml	2009-05-14 07:58:41 UTC (rev 88854)
@@ -1,3 +0,0 @@
-<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd schema/blueprint.xsd">
-
-</blueprint>
\ No newline at end of file




More information about the jboss-cvs-commits mailing list