You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by ga...@apache.org on 2009/04/08 19:06:58 UTC
svn commit: r763317 - in /geronimo/sandbox/gawor/rfc124: ./ extender/
extender/src/ extender/src/main/ extender/src/main/java/
extender/src/main/java/org/ extender/src/main/java/org/apache/
extender/src/main/java/org/apache/geronimo/ extender/src/main/...
Author: gawor
Date: Wed Apr 8 17:06:57 2009
New Revision: 763317
URL: http://svn.apache.org/viewvc?rev=763317&view=rev
Log:
rfc124 experiment
Added:
geronimo/sandbox/gawor/rfc124/
geronimo/sandbox/gawor/rfc124/README (with props)
geronimo/sandbox/gawor/rfc124/extender/
geronimo/sandbox/gawor/rfc124/extender/pom.xml (with props)
geronimo/sandbox/gawor/rfc124/extender/src/
geronimo/sandbox/gawor/rfc124/extender/src/main/
geronimo/sandbox/gawor/rfc124/extender/src/main/java/
geronimo/sandbox/gawor/rfc124/extender/src/main/java/org/
geronimo/sandbox/gawor/rfc124/extender/src/main/java/org/apache/
geronimo/sandbox/gawor/rfc124/extender/src/main/java/org/apache/geronimo/
geronimo/sandbox/gawor/rfc124/extender/src/main/java/org/apache/geronimo/osgi/
geronimo/sandbox/gawor/rfc124/extender/src/main/java/org/apache/geronimo/osgi/Activator.java (with props)
geronimo/sandbox/gawor/rfc124/extender/src/main/xsd/
geronimo/sandbox/gawor/rfc124/extender/src/main/xsd/blueprint.xsd (with props)
geronimo/sandbox/gawor/rfc124/pom.xml (with props)
geronimo/sandbox/gawor/rfc124/sample/
geronimo/sandbox/gawor/rfc124/sample/pom.xml (with props)
geronimo/sandbox/gawor/rfc124/sample/src/
geronimo/sandbox/gawor/rfc124/sample/src/main/
geronimo/sandbox/gawor/rfc124/sample/src/main/java/
geronimo/sandbox/gawor/rfc124/sample/src/main/java/org/
geronimo/sandbox/gawor/rfc124/sample/src/main/java/org/apache/
geronimo/sandbox/gawor/rfc124/sample/src/main/java/org/apache/geronimo/
geronimo/sandbox/gawor/rfc124/sample/src/main/java/org/apache/geronimo/osgi/
geronimo/sandbox/gawor/rfc124/sample/src/main/java/org/apache/geronimo/osgi/example/
geronimo/sandbox/gawor/rfc124/sample/src/main/java/org/apache/geronimo/osgi/example/Activator.java (with props)
geronimo/sandbox/gawor/rfc124/sample/src/main/java/org/apache/geronimo/osgi/example/Bar.java (with props)
geronimo/sandbox/gawor/rfc124/sample/src/main/java/org/apache/geronimo/osgi/example/Foo.java (with props)
geronimo/sandbox/gawor/rfc124/sample/src/main/resources/
geronimo/sandbox/gawor/rfc124/sample/src/main/resources/OSGI-INF/
geronimo/sandbox/gawor/rfc124/sample/src/main/resources/OSGI-INF/blueprint/
geronimo/sandbox/gawor/rfc124/sample/src/main/resources/OSGI-INF/blueprint/config.xml (with props)
Added: geronimo/sandbox/gawor/rfc124/README
URL: http://svn.apache.org/viewvc/geronimo/sandbox/gawor/rfc124/README?rev=763317&view=auto
==============================================================================
--- geronimo/sandbox/gawor/rfc124/README (added)
+++ geronimo/sandbox/gawor/rfc124/README Wed Apr 8 17:06:57 2009
@@ -0,0 +1,24 @@
+
+1) Start Felix under Java 6
+
+ java -jar bin/felix.jar
+
+2) Install the following bundles:
+
+ a) install http://repo1.maven.org/maven2/org/apache/xbean/xbean-reflect/3.5/xbean-reflect-3.5.jar
+ b) install http://www.springsource.com/repository/app/bundle/version/download?name=com.springsource.org.apache.commons.logging&version=1.1.1&type=binary
+ c) install http://www.springsource.com/repository/app/bundle/version/download?name=com.springsource.org.apache.log4j&version=1.2.15&type=binary
+ d) install http://www.springsource.com/repository/app/bundle/version/download?name=com.springsource.org.objectweb.asm&version=3.1.0&type=binary
+ e) install http://www.springsource.com/repository/app/bundle/version/download?name=com.springsource.org.objectweb.asm.tree&version=3.1.0&type=binary
+ f) install http://www.springsource.com/repository/app/bundle/version/download?name=com.springsource.org.objectweb.asm.commons&version=3.1.0&type=binary
+
+3) Build the rfc124 project and install the extender and sample bundles:
+
+ a) install file://<m2_repo>/org/apache/geronimo/osgi/extender/1.0-SNAPSHOT/extender-1.0-SNAPSHOT.jar
+ b) install file://<m2_repo>/org/apache/geronimo/osgi/sample/1.0-SNAPSHOT/sample-1.0-SNAPSHOT.jar
+
+4) Start the extender and sample bundles:
+
+ a) start <bundle id for extender bundle>
+ b) start <bundle id for sample bundle>
+
Propchange: geronimo/sandbox/gawor/rfc124/README
------------------------------------------------------------------------------
svn:executable =
Added: geronimo/sandbox/gawor/rfc124/extender/pom.xml
URL: http://svn.apache.org/viewvc/geronimo/sandbox/gawor/rfc124/extender/pom.xml?rev=763317&view=auto
==============================================================================
--- geronimo/sandbox/gawor/rfc124/extender/pom.xml (added)
+++ geronimo/sandbox/gawor/rfc124/extender/pom.xml Wed Apr 8 17:06:57 2009
@@ -0,0 +1,103 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.geronimo.osgi</groupId>
+ <artifactId>rfc124</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ </parent>
+ <artifactId>extender</artifactId>
+ <packaging>jar</packaging>
+ <name>Extender Bundle</name>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>maven-bundle-plugin</artifactId>
+ <extensions>true</extensions>
+ <configuration>
+ <instructions>
+ <Bundle-SymbolicName>${pom.artifactId}</Bundle-SymbolicName>
+ <Bundle-Activator>org.apache.geronimo.osgi.Activator</Bundle-Activator>
+ </instructions>
+ </configuration>
+ <executions>
+ <execution>
+ <id>bundle-manifest</id>
+ <phase>process-classes</phase>
+ <goals>
+ <goal>manifest</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <artifactId>maven-jar-plugin</artifactId>
+ <configuration>
+ <archive>
+ <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
+ </archive>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <inherited>true</inherited>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>jaxb2-maven-plugin</artifactId>
+ <version>1.2</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>xjc</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <packageName>org.apache.geronimo.blueprint</packageName>
+ <extension>true</extension>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>org.osgi.core</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>javax.xml.bind</groupId>
+ <artifactId>jaxb-api</artifactId>
+ <version>2.1</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.xbean</groupId>
+ <artifactId>xbean-reflect</artifactId>
+ <version>3.5</version>
+ <scope>provided</scope>
+ </dependency>
+ </dependencies>
+</project>
Propchange: geronimo/sandbox/gawor/rfc124/extender/pom.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/sandbox/gawor/rfc124/extender/pom.xml
------------------------------------------------------------------------------
svn:executable =
Propchange: geronimo/sandbox/gawor/rfc124/extender/pom.xml
------------------------------------------------------------------------------
svn:keywords = Date Revision
Propchange: geronimo/sandbox/gawor/rfc124/extender/pom.xml
------------------------------------------------------------------------------
svn:mime-type = text/xml
Added: geronimo/sandbox/gawor/rfc124/extender/src/main/java/org/apache/geronimo/osgi/Activator.java
URL: http://svn.apache.org/viewvc/geronimo/sandbox/gawor/rfc124/extender/src/main/java/org/apache/geronimo/osgi/Activator.java?rev=763317&view=auto
==============================================================================
--- geronimo/sandbox/gawor/rfc124/extender/src/main/java/org/apache/geronimo/osgi/Activator.java (added)
+++ geronimo/sandbox/gawor/rfc124/extender/src/main/java/org/apache/geronimo/osgi/Activator.java Wed Apr 8 17:06:57 2009
@@ -0,0 +1,167 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.geronimo.osgi;
+
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.Dictionary;
+import java.util.Enumeration;
+import java.util.List;
+
+import javax.xml.bind.JAXBContext;
+import javax.xml.bind.JAXBElement;
+import javax.xml.bind.Unmarshaller;
+
+import org.apache.geronimo.blueprint.Component;
+import org.apache.geronimo.blueprint.Components;
+import org.apache.geronimo.blueprint.ConstructorArg;
+import org.apache.geronimo.blueprint.TpropertyType;
+import org.apache.geronimo.blueprint.Value;
+import org.apache.xbean.recipe.DefaultRepository;
+import org.apache.xbean.recipe.ObjectGraph;
+import org.apache.xbean.recipe.ObjectRecipe;
+import org.apache.xbean.recipe.Option;
+import org.apache.xbean.recipe.ReferenceRecipe;
+import org.apache.xbean.recipe.Repository;
+import org.osgi.framework.Bundle;
+import org.osgi.framework.BundleActivator;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.BundleEvent;
+import org.osgi.framework.BundleListener;
+
+public class Activator implements BundleActivator, BundleListener {
+
+ public void start(BundleContext context) {
+ System.out.println("Starting to listen for bundle events.");
+ context.addBundleListener(this);
+
+ Bundle[] bundles = context.getBundles();
+ for (Bundle b : bundles) {
+ if (b.getState() == Bundle.ACTIVE) {
+ checkBundle(b);
+ }
+ }
+ }
+
+ public void stop(BundleContext context) {
+ context.removeBundleListener(this);
+ System.out.println("Stopped listening for bundle events.");
+ }
+
+ public void bundleChanged(BundleEvent event) {
+ System.out.println("bundle changed:" + event.getBundle().getSymbolicName() + " "+ event.getType());
+ if (event.getType() == BundleEvent.STARTED) {
+ checkBundle(event.getBundle());
+ }
+ }
+
+ private void checkBundle(Bundle b) {
+ System.out.println("Checking: " + b.getSymbolicName());
+
+ Enumeration e = b.findEntries("OSGI-INF/blueprint", "*.xml", true);
+ if (e != null) {
+ while (e.hasMoreElements()) {
+ URL u = (URL)e.nextElement();
+ System.out.println("found xml config:" + u);
+ try {
+ readConfig(b, u);
+ } catch (Exception ee) {
+ ee.printStackTrace();
+ }
+ }
+ }
+
+ Dictionary d = b.getHeaders();
+ System.out.println(d.get("Bundle-Blueprint"));
+ }
+
+
+ private void readConfig(Bundle bundle, URL u) throws Exception {
+ JAXBContext context = JAXBContext.newInstance("org.apache.geronimo.blueprint", getClass().getClassLoader());
+ Unmarshaller um = context.createUnmarshaller();
+ Object o = um.unmarshal(u);
+ Components components = (Components)o;
+ List<Object> objects = components.getComponentOrRefListOrRefSet();
+
+ Repository repository = new DefaultRepository();
+ ObjectGraph graph = new ObjectGraph(repository);
+ List<String> com = new ArrayList<String>();
+
+ for (Object obj : objects) {
+ if (obj instanceof Component) {
+ Component component = (Component)obj;
+ System.out.println(component.getId() + " " + component.getClazz());
+
+ Class clazz = bundle.loadClass(component.getClazz());
+ System.out.println(clazz);
+
+ ObjectRecipe objectRecipe = new ObjectRecipe(clazz);
+ objectRecipe.setName(component.getId());
+ objectRecipe.allow(Option.PRIVATE_PROPERTIES);
+ repository.add(component.getId(), objectRecipe);
+ com.add(component.getId());
+
+ List<Object> props = component.getConstructorArgOrPropertyOrAny();
+ for (Object prop : props) {
+ System.out.println(prop);
+ if (prop instanceof ConstructorArg) {
+ ConstructorArg carg = (ConstructorArg)prop;
+ } else if (prop instanceof JAXBElement) {
+ JAXBElement elem = (JAXBElement)prop;
+ System.out.println(elem.getValue());
+ TpropertyType trop = (TpropertyType)elem.getValue();
+
+ String refName = getRef(trop);
+ String propValue = getValue(trop);
+ System.out.println(trop.getName() + " " + propValue + " " + refName);
+
+ if (refName != null) {
+ objectRecipe.setProperty(trop.getName(), new ReferenceRecipe(refName));
+ } else {
+ objectRecipe.setProperty(trop.getName(), propValue);
+ }
+ }
+ }
+
+ }
+ }
+
+ System.out.println(graph.createAll(com));
+ }
+
+ private String getRef(TpropertyType prop) {
+ if (prop.getRef() != null) {
+ return prop.getRef();
+ } else if (prop.getRefElement() != null) {
+ return prop.getRefElement().getComponent();
+ } else {
+ return null;
+ }
+ }
+
+ private String getValue(TpropertyType prop) {
+ if (prop.getValue() != null) {
+ return prop.getValue();
+ } else if (prop.getValueElement() != null) {
+ Value v = prop.getValueElement();
+ return (v.getContent().isEmpty()) ? null : v.getContent().get(0);
+ } else {
+ return null;
+ }
+ }
+
+}
\ No newline at end of file
Propchange: geronimo/sandbox/gawor/rfc124/extender/src/main/java/org/apache/geronimo/osgi/Activator.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/sandbox/gawor/rfc124/extender/src/main/java/org/apache/geronimo/osgi/Activator.java
------------------------------------------------------------------------------
svn:executable =
Propchange: geronimo/sandbox/gawor/rfc124/extender/src/main/java/org/apache/geronimo/osgi/Activator.java
------------------------------------------------------------------------------
svn:keywords = Date Revision
Propchange: geronimo/sandbox/gawor/rfc124/extender/src/main/java/org/apache/geronimo/osgi/Activator.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: geronimo/sandbox/gawor/rfc124/extender/src/main/xsd/blueprint.xsd
URL: http://svn.apache.org/viewvc/geronimo/sandbox/gawor/rfc124/extender/src/main/xsd/blueprint.xsd?rev=763317&view=auto
==============================================================================
--- geronimo/sandbox/gawor/rfc124/extender/src/main/xsd/blueprint.xsd (added)
+++ geronimo/sandbox/gawor/rfc124/extender/src/main/xsd/blueprint.xsd Wed Apr 8 17:06:57 2009
@@ -0,0 +1,398 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xsd:schema xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:jxb="http://java.sun.com/xml/ns/jaxb" targetNamespace="http://www.osgi.org/xmlns/blueprint/v1.0.0" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0.0" jxb:version="1.0">
+ <!-- Schema elements for core component declarations -->
+ <xsd:complexType name="TidentifiedType" abstract="true">
+ <xsd:attribute name="id" type="xsd:ID">
+ </xsd:attribute>
+ </xsd:complexType>
+ <xsd:element name="components">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element ref="description" minOccurs="0"/>
+ <xsd:element ref="type-converters" minOccurs="0" maxOccurs="1"/>
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element ref="component"/>
+ <xsd:element ref="ref-list"/>
+ <xsd:element ref="ref-set"/>
+ <xsd:element ref="reference"/>
+ <xsd:element ref="service"/>
+ <xsd:any namespace="##other" processContents="strict" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:choice>
+ </xsd:sequence>
+ <xsd:attribute name="default-lazy-init" default="false" type="xsd:boolean"/>
+ <xsd:attribute name="default-init-method" type="xsd:string"/>
+ <xsd:attribute name="default-destroy-method" type="xsd:string"/>
+ <xsd:attributeGroup ref="defaults"/>
+ <xsd:anyAttribute namespace="##other" processContents="lax"/>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="description">
+ <xsd:complexType mixed="true">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="type-converters">
+ <xsd:complexType mixed="true">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element ref="component"/>
+ <xsd:element ref="ref"/>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:group name="componentElements">
+ <xsd:sequence>
+ <xsd:element ref="description" minOccurs="0"/>
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element ref="constructor-arg"/>
+ <xsd:element ref="property"/>
+ <xsd:any namespace="##other" processContents="strict" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:choice>
+ </xsd:sequence>
+ </xsd:group>
+ <xsd:attributeGroup name="componentAttributes">
+ <xsd:attribute name="class" type="xsd:string"/>
+ <xsd:attribute name="scope" type="xsd:string"/>
+ <xsd:attribute name="lazy-init" default="default" type="Tdefaultable-boolean"/>
+ <xsd:attribute name="depends-on" type="xsd:string"/>
+ <xsd:attribute name="init-method" type="xsd:string"/>
+ <xsd:attribute name="destroy-method" type="xsd:string"/>
+ <xsd:attribute name="factory-method" type="xsd:string"/>
+ <xsd:attribute name="factory-component" type="xsd:string"/>
+ <xsd:anyAttribute namespace="##other" processContents="lax"/>
+ </xsd:attributeGroup>
+ <xsd:element name="component">
+ <xsd:complexType>
+ <xsd:complexContent>
+ <xsd:extension base="TidentifiedType">
+ <xsd:group ref="componentElements"/>
+ <xsd:attributeGroup ref="componentAttributes"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:group name="valueElement">
+ <xsd:sequence>
+ <xsd:choice minOccurs="0" maxOccurs="1">
+ <xsd:element ref="component"/>
+ <xsd:element ref="ref"/>
+ <xsd:element ref="idref"/>
+ <xsd:element ref="value"/>
+ <xsd:element ref="null"/>
+ <xsd:element ref="list"/>
+ <xsd:element ref="set"/>
+ <xsd:element ref="map"/>
+ <xsd:element ref="array"/>
+ <xsd:element ref="props"/>
+ <xsd:element ref="ref-list"/>
+ <xsd:element ref="ref-set"/>
+ <xsd:element ref="reference"/>
+ <xsd:element ref="service"/>
+ <xsd:any namespace="##other" processContents="strict" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:choice>
+ </xsd:sequence>
+ </xsd:group>
+ <xsd:group name="keyElement">
+ <xsd:sequence>
+ <xsd:choice minOccurs="0" maxOccurs="1">
+ <xsd:element ref="component"/>
+ <xsd:element ref="ref"/>
+ <xsd:element ref="idref"/>
+ <xsd:element ref="value"/>
+ <xsd:element ref="list"/>
+ <xsd:element ref="set"/>
+ <xsd:element ref="map"/>
+ <xsd:element ref="array"/>
+ <xsd:element ref="props"/>
+ <xsd:element ref="ref-list"/>
+ <xsd:element ref="ref-set"/>
+ <xsd:element ref="reference"/>
+ <xsd:element ref="service"/>
+ <xsd:any namespace="##other" processContents="strict" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:choice>
+ </xsd:sequence>
+ </xsd:group>
+ <xsd:element name="constructor-arg">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element ref="description" minOccurs="0"/>
+ <xsd:group ref="valueElement"/>
+ </xsd:sequence>
+ <xsd:attribute name="index" type="xsd:string"/>
+ <xsd:attribute name="type" type="xsd:string"/>
+ <xsd:attribute name="ref" type="xsd:string"/>
+ <xsd:attribute name="value" type="xsd:string"/>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="property" type="TpropertyType"/>
+ <xsd:element name="ref">
+ <xsd:annotation>
+ <xsd:appinfo>
+ <jxb:property name="refElement"/>
+ </xsd:appinfo>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:complexContent>
+ <xsd:restriction base="xsd:anyType">
+ <xsd:attribute name="component" type="xsd:string" use="required"/>
+ </xsd:restriction>
+ </xsd:complexContent>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="idref">
+ <xsd:complexType>
+ <xsd:complexContent>
+ <xsd:restriction base="xsd:anyType">
+ <xsd:attribute name="component" type="xsd:string" use="required"/>
+ </xsd:restriction>
+ </xsd:complexContent>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="value">
+ <xsd:annotation>
+ <xsd:appinfo>
+ <jxb:property name="valueElement"/>
+ </xsd:appinfo>
+ </xsd:annotation>
+ <xsd:complexType mixed="true">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:attribute name="type" type="xsd:string"/>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="null">
+ <xsd:complexType mixed="true">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="list" type="TlistSetArrayType"/>
+ <xsd:element name="set" type="TlistSetArrayType"/>
+ <xsd:element name="map" type="TmapType"/>
+ <xsd:element name="array" type="TlistSetArrayType"/>
+ <xsd:element name="entry" type="TentryType"/>
+ <xsd:element name="props" type="TpropsType"/>
+ <xsd:element name="key">
+ <xsd:annotation>
+ <xsd:appinfo>
+ <jxb:property name="keyElement"/>
+ </xsd:appinfo>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:group ref="keyElement"/>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="prop">
+ <xsd:complexType mixed="true">
+ <xsd:attribute name="key" type="xsd:string" use="required"/>
+ <xsd:attribute name="value" type="xsd:string" use="optional"/>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="TpropertyType">
+ <xsd:sequence>
+ <xsd:element ref="description" minOccurs="0"/>
+ <xsd:group ref="valueElement"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ <xsd:attribute name="ref" type="xsd:string"/>
+ <xsd:attribute name="value" type="xsd:string"/>
+ </xsd:complexType>
+ <!-- Collection Types -->
+ <!-- base collection type -->
+ <xsd:complexType name="TbaseCollectionType"/>
+ <!-- base type for collections that have (possibly) typed nested values -->
+ <xsd:complexType name="TtypedCollectionType">
+ <xsd:complexContent>
+ <xsd:extension base="TbaseCollectionType">
+ <xsd:attribute name="value-type" type="xsd:string"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <!-- 'map' element type -->
+ <xsd:complexType name="TmapType">
+ <xsd:complexContent>
+ <xsd:extension base="TtypedCollectionType">
+ <xsd:sequence>
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element ref="entry"/>
+ </xsd:choice>
+ </xsd:sequence>
+ <xsd:attribute name="key-type" type="xsd:string"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <!-- 'entry' element type -->
+ <xsd:complexType name="TentryType">
+ <xsd:sequence>
+ <xsd:element ref="key" minOccurs="0"/>
+ <xsd:group ref="valueElement"/>
+ </xsd:sequence>
+ <xsd:attribute name="key" type="xsd:string"/>
+ <xsd:attribute name="key-ref" type="xsd:string"/>
+ <xsd:attribute name="value" type="xsd:string"/>
+ <xsd:attribute name="value-ref" type="xsd:string"/>
+ </xsd:complexType>
+ <!-- 'list' and 'set' collection type -->
+ <xsd:complexType name="TlistSetArrayType">
+ <xsd:complexContent>
+ <xsd:extension base="TtypedCollectionType">
+ <xsd:group ref="valueElement" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <!-- 'props' collection type -->
+ <xsd:complexType name="TpropsType">
+ <xsd:complexContent>
+ <xsd:extension base="TbaseCollectionType">
+ <xsd:sequence>
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element ref="prop"/>
+ </xsd:choice>
+ </xsd:sequence>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <!-- simple internal types -->
+ <xsd:simpleType name="Tdefaultable-boolean">
+ <xsd:restriction base="xsd:NMTOKEN">
+ <xsd:enumeration value="default"/>
+ <xsd:enumeration value="true"/>
+ <xsd:enumeration value="false"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:attributeGroup name="defaults">
+ <xsd:attribute name="default-timeout" type="xsd:long" default="300000"/>
+ <xsd:attribute name="default-availability" type="Tavailability" default="mandatory"/>
+ </xsd:attributeGroup>
+ <!-- reference -->
+ <xsd:element name="reference" type="TsingleReference"/>
+ <xsd:complexType name="Treference">
+ <xsd:complexContent>
+ <xsd:extension base="TidentifiedType">
+ <xsd:sequence minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="interfaces" type="TlistSetArrayType" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="listener" type="Tlistener" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="interface" use="optional" type="xsd:token"/>
+ <xsd:attribute name="filter" use="optional" type="xsd:string"/>
+ <xsd:attribute name="component-name" type="xsd:string" use="optional"/>
+ <xsd:attribute name="availability" use="optional" type="Tavailability" default="mandatory"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:complexType name="Tlistener">
+ <xsd:choice>
+ <xsd:element ref="ref"/>
+ <xsd:element ref="component"/>
+ <xsd:element ref="reference"/>
+ <xsd:element ref="service"/>
+ <xsd:sequence minOccurs="0" maxOccurs="1">
+ <!-- nested component declaration -->
+ <xsd:any namespace="##other" minOccurs="1" maxOccurs="1" processContents="skip"/>
+ </xsd:sequence>
+ </xsd:choice>
+ <!-- shortcut for component references -->
+ <xsd:attribute name="ref" type="xsd:string" use="optional"/>
+ <xsd:attribute name="bind-method" type="xsd:token" use="required"/>
+ <xsd:attribute name="unbind-method" type="xsd:token" use="required"/>
+ </xsd:complexType>
+ <!-- single reference -->
+ <xsd:complexType name="TsingleReference">
+ <xsd:complexContent>
+ <xsd:extension base="Treference">
+ <xsd:attribute name="timeout" use="optional" type="xsd:long"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:simpleType name="Tavailability">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="mandatory"/>
+ <xsd:enumeration value="optional"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <!-- reference collections (set, list) -->
+ <xsd:element name="ref-list" type="TreferenceCollection"/>
+ <xsd:element name="ref-set" type="TreferenceCollection"/>
+ <xsd:complexType name="TreferenceCollection">
+ <xsd:complexContent>
+ <xsd:extension base="Treference">
+ <xsd:sequence minOccurs="0" maxOccurs="1">
+ <xsd:element name="comparator" type="Tcomparator"/>
+ </xsd:sequence>
+ <xsd:attribute name="comparator-ref" type="xsd:string" use="optional"/>
+ <xsd:attribute name="member-type" type="TmemberType" use="optional"/>
+ <xsd:attribute name="ordering-basis" type="TorderingBasis" use="optional"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:simpleType name="TmemberType">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="service-instance"/>
+ <xsd:enumeration value="service-reference"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="Tcomparator">
+ <xsd:choice>
+ <xsd:element ref="ref"/>
+ <xsd:element ref="component"/>
+ <xsd:element ref="reference"/>
+ <xsd:element ref="service"/>
+ <xsd:sequence minOccurs="1" maxOccurs="1">
+ <!-- nested component declaration -->
+ <xsd:any namespace="##other" minOccurs="1" maxOccurs="1" processContents="skip"/>
+ </xsd:sequence>
+ </xsd:choice>
+ </xsd:complexType>
+ <xsd:simpleType name="TorderingBasis">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="service"/>
+ <xsd:enumeration value="service-reference"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <!-- service -->
+ <xsd:element name="service" type="Tservice"/>
+ <xsd:complexType name="Tservice">
+ <xsd:complexContent>
+ <xsd:extension base="TidentifiedType">
+ <xsd:choice>
+ <xsd:group ref="serviceElements"/>
+ <!-- nested component declaration -->
+ <xsd:any namespace="##other" minOccurs="0" maxOccurs="1" processContents="skip"/>
+ </xsd:choice>
+ <xsd:attribute name="interface" type="xsd:token" use="optional"/>
+ <xsd:attribute name="ref" type="xsd:string" use="optional"/>
+ <xsd:attribute name="depends-on" type="xsd:string" use="optional"/>
+ <xsd:attribute name="auto-export" type="TautoExportModes" default="disabled"/>
+ <xsd:attribute name="ranking" type="xsd:int" default="0"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:group name="serviceElements">
+ <xsd:sequence>
+ <xsd:element name="interfaces" type="TlistSetArrayType" minOccurs="0"/>
+ <xsd:element name="service-properties" minOccurs="0" type="TmapType"/>
+ <xsd:element name="registration-listener" type="TserviceRegistrationListener" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:group>
+ <xsd:complexType name="TserviceRegistrationListener">
+ <xsd:choice>
+ <xsd:element ref="ref"/>
+ <xsd:element ref="component"/>
+ <xsd:element ref="reference"/>
+ <xsd:element ref="service"/>
+ <xsd:sequence minOccurs="0" maxOccurs="1">
+ <!-- nested component declaration -->
+ <xsd:any namespace="##other" minOccurs="1" maxOccurs="1" processContents="skip"/>
+ </xsd:sequence>
+ </xsd:choice>
+ <!-- shortcut for component references -->
+ <xsd:attribute name="ref" type="xsd:string" use="optional"/>
+ <xsd:attribute name="registration-method" type="xsd:token" use="required"/>
+ <xsd:attribute name="unregistration-method" type="xsd:token" use="required"/>
+ </xsd:complexType>
+ <xsd:simpleType name="TautoExportModes">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="disabled"/>
+ <xsd:enumeration value="interfaces"/>
+ <xsd:enumeration value="class-hierarchy"/>
+ <xsd:enumeration value="all-classes"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+</xsd:schema>
Propchange: geronimo/sandbox/gawor/rfc124/extender/src/main/xsd/blueprint.xsd
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/sandbox/gawor/rfc124/extender/src/main/xsd/blueprint.xsd
------------------------------------------------------------------------------
svn:executable =
Propchange: geronimo/sandbox/gawor/rfc124/extender/src/main/xsd/blueprint.xsd
------------------------------------------------------------------------------
svn:keywords = Date Revision
Propchange: geronimo/sandbox/gawor/rfc124/extender/src/main/xsd/blueprint.xsd
------------------------------------------------------------------------------
svn:mime-type = text/xml
Added: geronimo/sandbox/gawor/rfc124/pom.xml
URL: http://svn.apache.org/viewvc/geronimo/sandbox/gawor/rfc124/pom.xml?rev=763317&view=auto
==============================================================================
--- geronimo/sandbox/gawor/rfc124/pom.xml (added)
+++ geronimo/sandbox/gawor/rfc124/pom.xml Wed Apr 8 17:06:57 2009
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.geronimo.osgi</groupId>
+ <artifactId>rfc124</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <packaging>pom</packaging>
+ <name>RFC 124</name>
+ <description>RFC 124</description>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>org.osgi.core</artifactId>
+ <version>1.2.0</version>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+
+ <modules>
+ <module>extender</module>
+ <module>sample</module>
+ </modules>
+
+</project>
Propchange: geronimo/sandbox/gawor/rfc124/pom.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/sandbox/gawor/rfc124/pom.xml
------------------------------------------------------------------------------
svn:executable =
Propchange: geronimo/sandbox/gawor/rfc124/pom.xml
------------------------------------------------------------------------------
svn:keywords = Date Revision
Propchange: geronimo/sandbox/gawor/rfc124/pom.xml
------------------------------------------------------------------------------
svn:mime-type = text/xml
Added: geronimo/sandbox/gawor/rfc124/sample/pom.xml
URL: http://svn.apache.org/viewvc/geronimo/sandbox/gawor/rfc124/sample/pom.xml?rev=763317&view=auto
==============================================================================
--- geronimo/sandbox/gawor/rfc124/sample/pom.xml (added)
+++ geronimo/sandbox/gawor/rfc124/sample/pom.xml Wed Apr 8 17:06:57 2009
@@ -0,0 +1,52 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.geronimo.osgi</groupId>
+ <artifactId>rfc124</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ </parent>
+ <artifactId>sample</artifactId>
+ <packaging>bundle</packaging>
+ <name>Sample RFC-124 Bundle</name>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>maven-bundle-plugin
+ </artifactId>
+ <extensions>true</extensions>
+ <configuration>
+ <instructions>
+ <Bundle-SymbolicName>${pom.artifactId}</Bundle-SymbolicName>
+ <Bundle-Activator>
+ org.apache.geronimo.osgi.example.Activator
+ </Bundle-Activator>
+ </instructions>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>org.osgi.core</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ </dependencies>
+</project>
Propchange: geronimo/sandbox/gawor/rfc124/sample/pom.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/sandbox/gawor/rfc124/sample/pom.xml
------------------------------------------------------------------------------
svn:executable =
Propchange: geronimo/sandbox/gawor/rfc124/sample/pom.xml
------------------------------------------------------------------------------
svn:keywords = Date Revision
Propchange: geronimo/sandbox/gawor/rfc124/sample/pom.xml
------------------------------------------------------------------------------
svn:mime-type = text/xml
Added: geronimo/sandbox/gawor/rfc124/sample/src/main/java/org/apache/geronimo/osgi/example/Activator.java
URL: http://svn.apache.org/viewvc/geronimo/sandbox/gawor/rfc124/sample/src/main/java/org/apache/geronimo/osgi/example/Activator.java?rev=763317&view=auto
==============================================================================
--- geronimo/sandbox/gawor/rfc124/sample/src/main/java/org/apache/geronimo/osgi/example/Activator.java (added)
+++ geronimo/sandbox/gawor/rfc124/sample/src/main/java/org/apache/geronimo/osgi/example/Activator.java Wed Apr 8 17:06:57 2009
@@ -0,0 +1,32 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.geronimo.osgi.example;
+
+import org.osgi.framework.BundleActivator;
+import org.osgi.framework.BundleContext;
+
+public class Activator implements BundleActivator {
+
+ public void start(BundleContext context) {
+ System.out.println("Bundle start");
+ }
+
+ public void stop(BundleContext context) {
+ System.out.println("Bundle stop");
+ }
+
+}
Propchange: geronimo/sandbox/gawor/rfc124/sample/src/main/java/org/apache/geronimo/osgi/example/Activator.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/sandbox/gawor/rfc124/sample/src/main/java/org/apache/geronimo/osgi/example/Activator.java
------------------------------------------------------------------------------
svn:executable =
Propchange: geronimo/sandbox/gawor/rfc124/sample/src/main/java/org/apache/geronimo/osgi/example/Activator.java
------------------------------------------------------------------------------
svn:keywords = Date Revision
Propchange: geronimo/sandbox/gawor/rfc124/sample/src/main/java/org/apache/geronimo/osgi/example/Activator.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: geronimo/sandbox/gawor/rfc124/sample/src/main/java/org/apache/geronimo/osgi/example/Bar.java
URL: http://svn.apache.org/viewvc/geronimo/sandbox/gawor/rfc124/sample/src/main/java/org/apache/geronimo/osgi/example/Bar.java?rev=763317&view=auto
==============================================================================
--- geronimo/sandbox/gawor/rfc124/sample/src/main/java/org/apache/geronimo/osgi/example/Bar.java (added)
+++ geronimo/sandbox/gawor/rfc124/sample/src/main/java/org/apache/geronimo/osgi/example/Bar.java Wed Apr 8 17:06:57 2009
@@ -0,0 +1,28 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.geronimo.osgi.example;
+
+public class Bar {
+
+ private String value;
+
+ public String toString() {
+ return hashCode() + ": " + value;
+ }
+
+}
+
Propchange: geronimo/sandbox/gawor/rfc124/sample/src/main/java/org/apache/geronimo/osgi/example/Bar.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/sandbox/gawor/rfc124/sample/src/main/java/org/apache/geronimo/osgi/example/Bar.java
------------------------------------------------------------------------------
svn:executable =
Propchange: geronimo/sandbox/gawor/rfc124/sample/src/main/java/org/apache/geronimo/osgi/example/Bar.java
------------------------------------------------------------------------------
svn:keywords = Date Revision
Propchange: geronimo/sandbox/gawor/rfc124/sample/src/main/java/org/apache/geronimo/osgi/example/Bar.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: geronimo/sandbox/gawor/rfc124/sample/src/main/java/org/apache/geronimo/osgi/example/Foo.java
URL: http://svn.apache.org/viewvc/geronimo/sandbox/gawor/rfc124/sample/src/main/java/org/apache/geronimo/osgi/example/Foo.java?rev=763317&view=auto
==============================================================================
--- geronimo/sandbox/gawor/rfc124/sample/src/main/java/org/apache/geronimo/osgi/example/Foo.java (added)
+++ geronimo/sandbox/gawor/rfc124/sample/src/main/java/org/apache/geronimo/osgi/example/Foo.java Wed Apr 8 17:06:57 2009
@@ -0,0 +1,30 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.geronimo.osgi.example;
+
+public class Foo {
+
+ private int a;
+ private int b;
+ private Bar bar;
+
+ public String toString() {
+ return a + " " + b + " " + bar;
+ }
+
+}
+
Propchange: geronimo/sandbox/gawor/rfc124/sample/src/main/java/org/apache/geronimo/osgi/example/Foo.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/sandbox/gawor/rfc124/sample/src/main/java/org/apache/geronimo/osgi/example/Foo.java
------------------------------------------------------------------------------
svn:executable =
Propchange: geronimo/sandbox/gawor/rfc124/sample/src/main/java/org/apache/geronimo/osgi/example/Foo.java
------------------------------------------------------------------------------
svn:keywords = Date Revision
Propchange: geronimo/sandbox/gawor/rfc124/sample/src/main/java/org/apache/geronimo/osgi/example/Foo.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: geronimo/sandbox/gawor/rfc124/sample/src/main/resources/OSGI-INF/blueprint/config.xml
URL: http://svn.apache.org/viewvc/geronimo/sandbox/gawor/rfc124/sample/src/main/resources/OSGI-INF/blueprint/config.xml?rev=763317&view=auto
==============================================================================
--- geronimo/sandbox/gawor/rfc124/sample/src/main/resources/OSGI-INF/blueprint/config.xml (added)
+++ geronimo/sandbox/gawor/rfc124/sample/src/main/resources/OSGI-INF/blueprint/config.xml Wed Apr 8 17:06:57 2009
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+
+<components xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0">
+
+ <component id="foo" class="org.apache.geronimo.osgi.example.Foo">
+ <property name="a" value="5" />
+ <property name="b" value="10" />
+ <property name="bar" ref="bar" />
+ </component>
+
+ <component id="bar" class="org.apache.geronimo.osgi.example.Bar">
+ <property name="value"><value>Hello FooBar</value></property>
+ </component>
+
+</components>
+
Propchange: geronimo/sandbox/gawor/rfc124/sample/src/main/resources/OSGI-INF/blueprint/config.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/sandbox/gawor/rfc124/sample/src/main/resources/OSGI-INF/blueprint/config.xml
------------------------------------------------------------------------------
svn:executable =
Propchange: geronimo/sandbox/gawor/rfc124/sample/src/main/resources/OSGI-INF/blueprint/config.xml
------------------------------------------------------------------------------
svn:keywords = Date Revision
Propchange: geronimo/sandbox/gawor/rfc124/sample/src/main/resources/OSGI-INF/blueprint/config.xml
------------------------------------------------------------------------------
svn:mime-type = text/xml