You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aries.apache.org by jb...@apache.org on 2010/02/05 20:05:56 UTC

svn commit: r907056 - in /incubator/aries/trunk/ariestrader-sample: ./ assemblies/ariestrader-all-equinox/src/main/resources/configuration/ assemblies/ariestrader-jdbc-equinox/ assemblies/ariestrader-jdbc-equinox/src/main/resources/configuration/ modul...

Author: jbohn
Date: Fri Feb  5 19:05:55 2010
New Revision: 907056

URL: http://svn.apache.org/viewvc?rev=907056&view=rev
Log:
remove injection of datasource, add new derby-ds bundle for equinox assemblies to define datasource, lookup datasource as an osgiservice

Added:
    incubator/aries/trunk/ariestrader-sample/modules/ariestrader-derby-ds/   (with props)
    incubator/aries/trunk/ariestrader-sample/modules/ariestrader-derby-ds/pom.xml   (with props)
    incubator/aries/trunk/ariestrader-sample/modules/ariestrader-derby-ds/src/
    incubator/aries/trunk/ariestrader-sample/modules/ariestrader-derby-ds/src/main/
    incubator/aries/trunk/ariestrader-sample/modules/ariestrader-derby-ds/src/main/java/
    incubator/aries/trunk/ariestrader-sample/modules/ariestrader-derby-ds/src/main/java/org/
    incubator/aries/trunk/ariestrader-sample/modules/ariestrader-derby-ds/src/main/java/org/apache/
    incubator/aries/trunk/ariestrader-sample/modules/ariestrader-derby-ds/src/main/java/org/apache/aries/
    incubator/aries/trunk/ariestrader-sample/modules/ariestrader-derby-ds/src/main/java/org/apache/aries/ariestrader/
    incubator/aries/trunk/ariestrader-sample/modules/ariestrader-derby-ds/src/main/java/org/apache/aries/ariestrader/datasource/
    incubator/aries/trunk/ariestrader-sample/modules/ariestrader-derby-ds/src/main/java/org/apache/aries/ariestrader/datasource/derby/
    incubator/aries/trunk/ariestrader-sample/modules/ariestrader-derby-ds/src/main/java/org/apache/aries/ariestrader/datasource/derby/DerbyActivator.java   (with props)
Modified:
    incubator/aries/trunk/ariestrader-sample/assemblies/ariestrader-all-equinox/src/main/resources/configuration/config.ini
    incubator/aries/trunk/ariestrader-sample/assemblies/ariestrader-jdbc-equinox/pom.xml
    incubator/aries/trunk/ariestrader-sample/assemblies/ariestrader-jdbc-equinox/src/main/resources/configuration/config.ini
    incubator/aries/trunk/ariestrader-sample/modules/ariestrader-api/pom.xml
    incubator/aries/trunk/ariestrader-sample/modules/ariestrader-core/pom.xml
    incubator/aries/trunk/ariestrader-sample/modules/ariestrader-core/src/main/java/org/apache/aries/samples/ariestrader/core/TradeDBManagerImpl.java
    incubator/aries/trunk/ariestrader-sample/modules/ariestrader-core/src/main/resources/OSGI-INF/blueprint/blueprint.xml
    incubator/aries/trunk/ariestrader-sample/modules/ariestrader-persist-jdbc/pom.xml
    incubator/aries/trunk/ariestrader-sample/modules/ariestrader-persist-jdbc/src/main/java/org/apache/aries/samples/ariestrader/persist/jdbc/TradeJdbc.java
    incubator/aries/trunk/ariestrader-sample/modules/ariestrader-persist-jdbc/src/main/resources/OSGI-INF/blueprint/blueprint.xml
    incubator/aries/trunk/ariestrader-sample/modules/ariestrader-web/src/main/java/org/apache/aries/samples/ariestrader/web/prims/PingServlet2JNDI.java
    incubator/aries/trunk/ariestrader-sample/modules/pom.xml
    incubator/aries/trunk/ariestrader-sample/pom.xml

Modified: incubator/aries/trunk/ariestrader-sample/assemblies/ariestrader-all-equinox/src/main/resources/configuration/config.ini
URL: http://svn.apache.org/viewvc/incubator/aries/trunk/ariestrader-sample/assemblies/ariestrader-all-equinox/src/main/resources/configuration/config.ini?rev=907056&r1=907055&r2=907056&view=diff
==============================================================================
--- incubator/aries/trunk/ariestrader-sample/assemblies/ariestrader-all-equinox/src/main/resources/configuration/config.ini (original)
+++ incubator/aries/trunk/ariestrader-sample/assemblies/ariestrader-all-equinox/src/main/resources/configuration/config.ini Fri Feb  5 19:05:55 2010
@@ -1,3 +1,3 @@
-osgi.bundles=cm-3.2.0-v20070116.jar@start,services-3.1.200-v20070605.jar@start,pax-logging-api-1.4.jar@start,pax-logging-service-1.4.jar@start,derby-10.5.3.0_1.jar@start,pax-web-jetty-bundle-0.7.2.jar@start,pax-web-extender-war-0.7.2.jar@start,pax-web-jsp-0.7.2.jar@start,org.apache.aries.jndi-1.0.0-incubating-SNAPSHOT.jar@start,org.apache.aries.util-1.0.0-incubating-SNAPSHOT.jar@start,org.apache.aries.blueprint-1.0.0-incubating-SNAPSHOT.jar@start,ariestrader-util-1.0.0-incubating-SNAPSHOT.jar@start,ariestrader-entities-1.0.0-incubating-SNAPSHOT.jar@start,ariestrader-api-1.0.0-incubating-SNAPSHOT.jar@start,ariestrader-core-1.0.0-incubating-SNAPSHOT.jar@start,ariestrader-persist-jdbc-1.0.0-incubating-SNAPSHOT.jar@start,ariestrader-persist-jpa-am-1.0.0-incubating-SNAPSHOT.jar@start,ariestrader-web-1.0.0-incubating-SNAPSHOT.jar@start
+osgi.bundles=cm-3.2.0-v20070116.jar@start,services-3.1.200-v20070605.jar@start,pax-logging-api-1.4.jar@start,pax-logging-service-1.4.jar@start,derby-10.5.3.0_1.jar@start,pax-web-jetty-bundle-0.7.2.jar@start,pax-web-extender-war-0.7.2.jar@start,pax-web-jsp-0.7.2.jar@start,org.apache.aries.jndi-1.0.0-incubating-SNAPSHOT.jar@start,org.apache.aries.util-1.0.0-incubating-SNAPSHOT.jar@start,org.apache.aries.blueprint-1.0.0-incubating-SNAPSHOT.jar@start,ariestrader-derby-ds-1.0.0-incubating-SNAPSHOT.jar@start,ariestrader-util-1.0.0-incubating-SNAPSHOT.jar@start,ariestrader-entities-1.0.0-incubating-SNAPSHOT.jar@start,ariestrader-api-1.0.0-incubating-SNAPSHOT.jar@start,ariestrader-core-1.0.0-incubating-SNAPSHOT.jar@start,ariestrader-persist-jdbc-1.0.0-incubating-SNAPSHOT.jar@start,ariestrader-persist-jpa-am-1.0.0-incubating-SNAPSHOT.jar@start,ariestrader-web-1.0.0-incubating-SNAPSHOT.jar@start
 eclipse.ignoreApp=true
 org.ops4j.pax.logging.DefaultServiceLog.level=DEBUG
\ No newline at end of file

Modified: incubator/aries/trunk/ariestrader-sample/assemblies/ariestrader-jdbc-equinox/pom.xml
URL: http://svn.apache.org/viewvc/incubator/aries/trunk/ariestrader-sample/assemblies/ariestrader-jdbc-equinox/pom.xml?rev=907056&r1=907055&r2=907056&view=diff
==============================================================================
--- incubator/aries/trunk/ariestrader-sample/assemblies/ariestrader-jdbc-equinox/pom.xml (original)
+++ incubator/aries/trunk/ariestrader-sample/assemblies/ariestrader-jdbc-equinox/pom.xml Fri Feb  5 19:05:55 2010
@@ -112,6 +112,11 @@
 
         <dependency>
             <groupId>org.apache.aries.ariestrader.modules</groupId>
+            <artifactId>ariestrader-derby-ds</artifactId>
+            <version>${pom.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.aries.ariestrader.modules</groupId>
             <artifactId>ariestrader-util</artifactId>
             <version>${pom.version}</version>
         </dependency>

Modified: incubator/aries/trunk/ariestrader-sample/assemblies/ariestrader-jdbc-equinox/src/main/resources/configuration/config.ini
URL: http://svn.apache.org/viewvc/incubator/aries/trunk/ariestrader-sample/assemblies/ariestrader-jdbc-equinox/src/main/resources/configuration/config.ini?rev=907056&r1=907055&r2=907056&view=diff
==============================================================================
--- incubator/aries/trunk/ariestrader-sample/assemblies/ariestrader-jdbc-equinox/src/main/resources/configuration/config.ini (original)
+++ incubator/aries/trunk/ariestrader-sample/assemblies/ariestrader-jdbc-equinox/src/main/resources/configuration/config.ini Fri Feb  5 19:05:55 2010
@@ -1,3 +1,3 @@
-osgi.bundles=cm-3.2.0-v20070116.jar@start,services-3.1.200-v20070605.jar@start,pax-logging-api-1.4.jar@start,pax-logging-service-1.4.jar@start,derby-10.5.3.0_1.jar@start,pax-web-jetty-bundle-0.7.2.jar@start,pax-web-extender-war-0.7.2.jar@start,pax-web-jsp-0.7.2.jar@start,org.apache.aries.jndi-1.0.0-incubating-SNAPSHOT.jar@start,org.apache.aries.util-1.0.0-incubating-SNAPSHOT.jar@start,org.apache.aries.blueprint-1.0.0-incubating-SNAPSHOT.jar@start,ariestrader-util-1.0.0-incubating-SNAPSHOT.jar@start,ariestrader-beans-1.0.0-incubating-SNAPSHOT.jar@start,ariestrader-api-1.0.0-incubating-SNAPSHOT.jar@start,ariestrader-core-1.0.0-incubating-SNAPSHOT.jar@start,ariestrader-persist-jdbc-1.0.0-incubating-SNAPSHOT.jar@start,ariestrader-web-1.0.0-incubating-SNAPSHOT.jar@start
+osgi.bundles=cm-3.2.0-v20070116.jar@start,services-3.1.200-v20070605.jar@start,pax-logging-api-1.4.jar@start,pax-logging-service-1.4.jar@start,derby-10.5.3.0_1.jar@start,pax-web-jetty-bundle-0.7.2.jar@start,pax-web-extender-war-0.7.2.jar@start,pax-web-jsp-0.7.2.jar@start,org.apache.aries.jndi-1.0.0-incubating-SNAPSHOT.jar@start,org.apache.aries.util-1.0.0-incubating-SNAPSHOT.jar@start,org.apache.aries.blueprint-1.0.0-incubating-SNAPSHOT.jar@start,ariestrader-derby-ds-1.0.0-incubating-SNAPSHOT.jar@start,ariestrader-util-1.0.0-incubating-SNAPSHOT.jar@start,ariestrader-beans-1.0.0-incubating-SNAPSHOT.jar@start,ariestrader-api-1.0.0-incubating-SNAPSHOT.jar@start,ariestrader-core-1.0.0-incubating-SNAPSHOT.jar@start,ariestrader-persist-jdbc-1.0.0-incubating-SNAPSHOT.jar@start,ariestrader-web-1.0.0-incubating-SNAPSHOT.jar@start
 eclipse.ignoreApp=true
 org.ops4j.pax.logging.DefaultServiceLog.level=DEBUG
\ No newline at end of file

Modified: incubator/aries/trunk/ariestrader-sample/modules/ariestrader-api/pom.xml
URL: http://svn.apache.org/viewvc/incubator/aries/trunk/ariestrader-sample/modules/ariestrader-api/pom.xml?rev=907056&r1=907055&r2=907056&view=diff
==============================================================================
--- incubator/aries/trunk/ariestrader-sample/modules/ariestrader-api/pom.xml (original)
+++ incubator/aries/trunk/ariestrader-sample/modules/ariestrader-api/pom.xml Fri Feb  5 19:05:55 2010
@@ -40,12 +40,6 @@
     </dependencies>
 
     <build>
-        <resources>
-            <resource>
-                <directory>${basedir}/src/main/resources</directory>
-                <filtering>true</filtering>
-            </resource>
-        </resources>
         <plugins>
             <plugin>
                 <groupId>org.apache.felix</groupId>

Modified: incubator/aries/trunk/ariestrader-sample/modules/ariestrader-core/pom.xml
URL: http://svn.apache.org/viewvc/incubator/aries/trunk/ariestrader-sample/modules/ariestrader-core/pom.xml?rev=907056&r1=907055&r2=907056&view=diff
==============================================================================
--- incubator/aries/trunk/ariestrader-sample/modules/ariestrader-core/pom.xml (original)
+++ incubator/aries/trunk/ariestrader-sample/modules/ariestrader-core/pom.xml Fri Feb  5 19:05:55 2010
@@ -43,11 +43,6 @@
             <version>${pom.version}</version>
             <scope>provided</scope>
         </dependency>
-        <dependency>
-            <groupId>org.apache.derby</groupId>
-            <artifactId>derby</artifactId>
-            <scope>provided</scope>
-        </dependency>
     </dependencies>
 
     <build>
@@ -73,8 +68,7 @@
                             org.apache.aries.samples.ariestrader.persistence.api,
                             org.apache.aries.samples.ariestrader.util,
                             javax.naming,
-                            javax.sql,
-                           org.apache.derby.jdbc
+                            javax.sql
                         </Import-Package>
                         <Private-Package>
                             org.apache.aries.samples.ariestrader.core

Modified: incubator/aries/trunk/ariestrader-sample/modules/ariestrader-core/src/main/java/org/apache/aries/samples/ariestrader/core/TradeDBManagerImpl.java
URL: http://svn.apache.org/viewvc/incubator/aries/trunk/ariestrader-sample/modules/ariestrader-core/src/main/java/org/apache/aries/samples/ariestrader/core/TradeDBManagerImpl.java?rev=907056&r1=907055&r2=907056&view=diff
==============================================================================
--- incubator/aries/trunk/ariestrader-sample/modules/ariestrader-core/src/main/java/org/apache/aries/samples/ariestrader/core/TradeDBManagerImpl.java (original)
+++ incubator/aries/trunk/ariestrader-sample/modules/ariestrader-core/src/main/java/org/apache/aries/samples/ariestrader/core/TradeDBManagerImpl.java Fri Feb  5 19:05:55 2010
@@ -23,6 +23,7 @@
 import org.apache.aries.samples.ariestrader.persistence.api.RunStatsDataBean;
 import org.apache.aries.samples.ariestrader.util.Log;
 import org.apache.aries.samples.ariestrader.util.MDBStats;
+import org.apache.aries.samples.ariestrader.util.ServiceUtilities;
 import org.apache.aries.samples.ariestrader.util.TradeConfig;
 import org.apache.aries.samples.ariestrader.api.TradeDBManager;
 
@@ -385,8 +386,8 @@
      */
     private void lookupDataSource() throws Exception {
         if (dataSource == null) {
-            context = new InitialContext();
-            dataSource = (DataSource) context.lookup(dsName);
+//            dataSource = (DataSource) ServiceUtilities.getOSGIService(DataSource.class.getName(),"(osgi.jndi.serviceName=jdbc/TradeDataSource)");
+            dataSource = (DataSource) ServiceUtilities.getOSGIService(DataSource.class.getName(),TradeConfig.OSGI_DS_NAME_FILTER);
         }
     }
 

Modified: incubator/aries/trunk/ariestrader-sample/modules/ariestrader-core/src/main/resources/OSGI-INF/blueprint/blueprint.xml
URL: http://svn.apache.org/viewvc/incubator/aries/trunk/ariestrader-sample/modules/ariestrader-core/src/main/resources/OSGI-INF/blueprint/blueprint.xml?rev=907056&r1=907055&r2=907056&view=diff
==============================================================================
--- incubator/aries/trunk/ariestrader-sample/modules/ariestrader-core/src/main/resources/OSGI-INF/blueprint/blueprint.xml (original)
+++ incubator/aries/trunk/ariestrader-sample/modules/ariestrader-core/src/main/resources/OSGI-INF/blueprint/blueprint.xml Fri Feb  5 19:05:55 2010
@@ -8,13 +8,8 @@
   </bean>
 
   <service id="TradeServicesManager" ref="tradeServicesManagerBean" interface="org.apache.aries.samples.ariestrader.api.TradeServicesManager"/>
-  
-  <bean id="datasource" class="org.apache.derby.jdbc.EmbeddedConnectionPoolDataSource">
-     <property name="databaseName" value="tradeDB"/>
-  </bean>
 
   <bean id="tradeDBManagerBean" class="org.apache.aries.samples.ariestrader.core.TradeDBManagerImpl" init-method="init">
-      <property name="dataSource" ref="datasource" />
   </bean>
 
   <service id="TradeDBManager" ref="tradeDBManagerBean" interface="org.apache.aries.samples.ariestrader.api.TradeDBManager">

Propchange: incubator/aries/trunk/ariestrader-sample/modules/ariestrader-derby-ds/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Fri Feb  5 19:05:55 2010
@@ -0,0 +1,3 @@
+.classpath
+.project
+.settings

Added: incubator/aries/trunk/ariestrader-sample/modules/ariestrader-derby-ds/pom.xml
URL: http://svn.apache.org/viewvc/incubator/aries/trunk/ariestrader-sample/modules/ariestrader-derby-ds/pom.xml?rev=907056&view=auto
==============================================================================
--- incubator/aries/trunk/ariestrader-sample/modules/ariestrader-derby-ds/pom.xml (added)
+++ incubator/aries/trunk/ariestrader-sample/modules/ariestrader-derby-ds/pom.xml Fri Feb  5 19:05:55 2010
@@ -0,0 +1,76 @@
+<?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>
+    <parent>
+        <groupId>org.apache.aries.ariestrader</groupId>
+        <artifactId>modules</artifactId>
+        <version>1.0.0-incubating-SNAPSHOT</version>
+    </parent>
+
+    <groupId>org.apache.aries.ariestrader.modules</groupId>
+    <artifactId>ariestrader-derby-ds</artifactId>
+    <packaging>bundle</packaging>
+    <name>AriesTrader :: Modules - Derby DataSource</name>
+    <description>AriesTrader Derby DataSource</description>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.eclipse</groupId>
+            <artifactId>osgi</artifactId>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.derby</groupId>
+            <artifactId>derby</artifactId>
+            <scope>provided</scope>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.felix</groupId>
+                <artifactId>maven-bundle-plugin</artifactId>
+                <configuration>
+                    <instructions>
+                        <Bundle-SymbolicName>${pom.groupId}.${pom.artifactId}</Bundle-SymbolicName>
+                        <Bundle-Version>${pom.version}</Bundle-Version>
+                        <Bundle-Activator>org.apache.aries.ariestrader.datasource.derby.DerbyActivator</Bundle-Activator>
+						<Export-Service>javax.sql.DataSource</Export-Service>
+
+                        <Export-Package>
+                            <!--org.apache.aries.samples.ariestrader.datasource.derby;version="${pom.version}"-->
+                        </Export-Package>
+                        <Import-Package>
+                            <!--org.apache.aries.samples.ariestrader.datasource.derby,-->
+                            org.osgi.framework,
+                            javax.sql,
+                            org.apache.derby.jdbc
+                        </Import-Package>
+                        <Private-Package>
+                            org.apache.aries.ariestrader.datasource.derby
+                            <!--org.apache.aries.samples.ariestrader.datasource.derby"-->
+                        </Private-Package>
+                    </instructions>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+</project>

Propchange: incubator/aries/trunk/ariestrader-sample/modules/ariestrader-derby-ds/pom.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/aries/trunk/ariestrader-sample/modules/ariestrader-derby-ds/pom.xml
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: incubator/aries/trunk/ariestrader-sample/modules/ariestrader-derby-ds/pom.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: incubator/aries/trunk/ariestrader-sample/modules/ariestrader-derby-ds/src/main/java/org/apache/aries/ariestrader/datasource/derby/DerbyActivator.java
URL: http://svn.apache.org/viewvc/incubator/aries/trunk/ariestrader-sample/modules/ariestrader-derby-ds/src/main/java/org/apache/aries/ariestrader/datasource/derby/DerbyActivator.java?rev=907056&view=auto
==============================================================================
--- incubator/aries/trunk/ariestrader-sample/modules/ariestrader-derby-ds/src/main/java/org/apache/aries/ariestrader/datasource/derby/DerbyActivator.java (added)
+++ incubator/aries/trunk/ariestrader-sample/modules/ariestrader-derby-ds/src/main/java/org/apache/aries/ariestrader/datasource/derby/DerbyActivator.java Fri Feb  5 19:05:55 2010
@@ -0,0 +1,140 @@
+/**
+ * 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.aries.ariestrader.datasource.derby;
+
+import java.sql.Driver;
+import java.sql.DriverManager;
+import java.sql.SQLException;
+import java.util.Properties;
+
+import javax.sql.ConnectionPoolDataSource;
+import javax.sql.DataSource;
+import javax.sql.XADataSource;
+
+import org.apache.derby.jdbc.EmbeddedConnectionPoolDataSource;
+import org.apache.derby.jdbc.EmbeddedDataSource;
+import org.apache.derby.jdbc.EmbeddedDriver;
+import org.apache.derby.jdbc.EmbeddedXADataSource;
+import org.osgi.framework.BundleActivator;
+import org.osgi.framework.BundleContext;
+
+public class DerbyActivator implements BundleActivator {
+
+    /**
+     * Common property keys that DataSource clients should supply values for.
+     */
+    public static final String JDBC_URL = "url";
+    public static final String JDBC_USER = "user";
+    public static final String JDBC_PASSWORD = "password";
+    public static final String JDBC_DATABASE_NAME = "databaseName";
+    public static final String JDBC_DATASOURCE_NAME = "dataSourceName";
+    public static final String JDBC_DESCRIPTION = "description";
+    public static final String JDBC_NETWORK_PROTOCOL = "networkProtocol";
+    public static final String JDBC_PORT_NUMBER = "portNumber";
+    public static final String JDBC_ROLE_NAME = "roleName";
+    public static final String JDBC_SERVER_NAME = "serverName";
+
+    /**
+     * XA specific. Additional property keys that ConnectionPoolDataSource and
+     * XADataSource clients should supply values for
+     */
+    public static final String JDBC_INITIAL_POOL_SIZE = "initialPoolSize";
+    public static final String JDBC_MAX_IDLE_TIME = "maxIdleTime";
+    public static final String JDBC_MAX_POOL_SIZE = "maxPoolSize";
+    public static final String JDBC_MAX_STATEMENTS = "maxStatements";
+    public static final String JDBC_MIN_POOL_SIZE = "minPoolSize";
+    public static final String JDBC_PROPERTY_CYCLE = "propertyCycle";
+
+    /**
+     * Vendor-specific properties meant to further describe the driver. Clients
+     * may filter or test this property to determine if the driver is suitable,
+     * or the desired one.
+     */
+    public static final String JDBC_DRIVER_CLASS = "osgi.jdbc.driver.class";
+    public static final String JDBC_DRIVER_NAME = "osgi.jdbc.driver.name";
+    public static final String JDBC_DRIVER_VERSION = "osgi.jdbc.driver.version";
+    public static final String JDBC_CREATE_DATABASE = "createDatabase";
+
+    /**
+     * OSGi-specific properties
+     */
+    public static final String OSGI_JNDI_SERVICE_NAME = "osgi.jndi.serviceName";
+
+    public ConnectionPoolDataSource createConnectionPoolDataSource( Properties props) {
+        EmbeddedConnectionPoolDataSource embeddedCPDataSource = new EmbeddedConnectionPoolDataSource();
+        embeddedCPDataSource.setDataSourceName(props.getProperty(JDBC_DATASOURCE_NAME));
+        embeddedCPDataSource.setDatabaseName(props.getProperty(JDBC_DATABASE_NAME));
+        embeddedCPDataSource.setUser(props.getProperty(JDBC_USER));
+        embeddedCPDataSource.setPassword(props.getProperty(JDBC_PASSWORD));
+        embeddedCPDataSource.setCreateDatabase(props.getProperty(JDBC_CREATE_DATABASE));
+        return embeddedCPDataSource;
+    }
+
+    public DataSource createDataSource(Properties props) {
+        EmbeddedDataSource embeddedDataSource = new EmbeddedDataSource();
+        embeddedDataSource.setDataSourceName(props.getProperty(JDBC_DATASOURCE_NAME));
+        embeddedDataSource.setDatabaseName(props.getProperty(JDBC_DATABASE_NAME));
+        embeddedDataSource.setUser(props.getProperty(JDBC_USER));
+        embeddedDataSource.setPassword(props.getProperty(JDBC_PASSWORD));
+        return embeddedDataSource;
+    }
+
+    public XADataSource createXADataSource(Properties props) {
+        EmbeddedXADataSource embeddedXADataSource = new EmbeddedXADataSource();
+        embeddedXADataSource.setDataSourceName(props.getProperty(JDBC_DATASOURCE_NAME));
+        embeddedXADataSource.setDatabaseName(props.getProperty(JDBC_DATABASE_NAME));
+        embeddedXADataSource.setUser(props.getProperty(JDBC_USER));
+        embeddedXADataSource.setPassword(props.getProperty(JDBC_PASSWORD));
+        return embeddedXADataSource;
+    }
+
+    public Driver getDriver(Properties props) {
+        EmbeddedDriver embeddedDriver = new EmbeddedDriver();
+        return embeddedDriver;
+    }
+
+    public void start(BundleContext context) throws Exception {
+        new EmbeddedDriver();   
+
+        // Set the needed properties for the database connection
+        Properties db_props = new Properties();
+        db_props.put(JDBC_DATASOURCE_NAME, "TradeDataSource");
+        db_props.put(JDBC_DATABASE_NAME, "tradedb");
+        db_props.put(JDBC_USER, "");
+        db_props.put(JDBC_PASSWORD, "");
+        db_props.put(JDBC_CREATE_DATABASE, "create");
+
+        ConnectionPoolDataSource dataSource = createConnectionPoolDataSource(db_props);
+
+        Properties service_props = new Properties();
+        service_props.put(OSGI_JNDI_SERVICE_NAME, "jdbc/TradeDataSource");
+
+        context.registerService(DataSource.class.getName(), dataSource, service_props);
+    }
+
+    public void stop(BundleContext context) throws Exception {
+
+        try {
+            DriverManager.getConnection("jdbc:derby:;shutdown=true");
+        }
+        catch (SQLException sqlexception) {
+        }
+    }
+
+}

Propchange: incubator/aries/trunk/ariestrader-sample/modules/ariestrader-derby-ds/src/main/java/org/apache/aries/ariestrader/datasource/derby/DerbyActivator.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/aries/trunk/ariestrader-sample/modules/ariestrader-derby-ds/src/main/java/org/apache/aries/ariestrader/datasource/derby/DerbyActivator.java
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: incubator/aries/trunk/ariestrader-sample/modules/ariestrader-derby-ds/src/main/java/org/apache/aries/ariestrader/datasource/derby/DerbyActivator.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: incubator/aries/trunk/ariestrader-sample/modules/ariestrader-persist-jdbc/pom.xml
URL: http://svn.apache.org/viewvc/incubator/aries/trunk/ariestrader-sample/modules/ariestrader-persist-jdbc/pom.xml?rev=907056&r1=907055&r2=907056&view=diff
==============================================================================
--- incubator/aries/trunk/ariestrader-sample/modules/ariestrader-persist-jdbc/pom.xml (original)
+++ incubator/aries/trunk/ariestrader-sample/modules/ariestrader-persist-jdbc/pom.xml Fri Feb  5 19:05:55 2010
@@ -49,11 +49,6 @@
             <version>${pom.version}</version>
             <scope>provided</scope>
         </dependency>
-        <dependency>
-            <groupId>org.apache.derby</groupId>
-            <artifactId>derby</artifactId>
-            <scope>provided</scope>
-        </dependency>
     </dependencies>
 
     <build>
@@ -80,8 +75,7 @@
                             org.apache.aries.samples.ariestrader.persistence.api,
                             org.apache.aries.samples.ariestrader.util,
                             javax.naming,
-                            javax.sql,
-                            org.apache.derby.jdbc
+                            javax.sql
                         </Import-Package>
                         <Private-Package>
                             org.apache.aries.samples.ariestrader.persist.jdbc

Modified: incubator/aries/trunk/ariestrader-sample/modules/ariestrader-persist-jdbc/src/main/java/org/apache/aries/samples/ariestrader/persist/jdbc/TradeJdbc.java
URL: http://svn.apache.org/viewvc/incubator/aries/trunk/ariestrader-sample/modules/ariestrader-persist-jdbc/src/main/java/org/apache/aries/samples/ariestrader/persist/jdbc/TradeJdbc.java?rev=907056&r1=907055&r2=907056&view=diff
==============================================================================
--- incubator/aries/trunk/ariestrader-sample/modules/ariestrader-persist-jdbc/src/main/java/org/apache/aries/samples/ariestrader/persist/jdbc/TradeJdbc.java (original)
+++ incubator/aries/trunk/ariestrader-sample/modules/ariestrader-persist-jdbc/src/main/java/org/apache/aries/samples/ariestrader/persist/jdbc/TradeJdbc.java Fri Feb  5 19:05:55 2010
@@ -37,6 +37,7 @@
 import org.apache.aries.samples.ariestrader.persistence.api.QuoteDataBean;
 import org.apache.aries.samples.ariestrader.util.FinancialUtils;
 import org.apache.aries.samples.ariestrader.util.Log;
+import org.apache.aries.samples.ariestrader.util.ServiceUtilities;
 import org.apache.aries.samples.ariestrader.util.TradeConfig;
 
 import java.rmi.RemoteException;
@@ -1481,8 +1482,8 @@
      */
     private void lookupDataSource() throws Exception {
         if (dataSource == null) {
-            context = new InitialContext();
-            dataSource = (DataSource) context.lookup(dsName);
+//            dataSource = (DataSource) ServiceUtilities.getOSGIService(DataSource.class.getName(),"(osgi.jndi.serviceName=jdbc/TradeDataSource)");
+            dataSource = (DataSource) ServiceUtilities.getOSGIService(DataSource.class.getName(),TradeConfig.OSGI_DS_NAME_FILTER);
         }
     }
 

Modified: incubator/aries/trunk/ariestrader-sample/modules/ariestrader-persist-jdbc/src/main/resources/OSGI-INF/blueprint/blueprint.xml
URL: http://svn.apache.org/viewvc/incubator/aries/trunk/ariestrader-sample/modules/ariestrader-persist-jdbc/src/main/resources/OSGI-INF/blueprint/blueprint.xml?rev=907056&r1=907055&r2=907056&view=diff
==============================================================================
--- incubator/aries/trunk/ariestrader-sample/modules/ariestrader-persist-jdbc/src/main/resources/OSGI-INF/blueprint/blueprint.xml (original)
+++ incubator/aries/trunk/ariestrader-sample/modules/ariestrader-persist-jdbc/src/main/resources/OSGI-INF/blueprint/blueprint.xml Fri Feb  5 19:05:55 2010
@@ -3,13 +3,8 @@
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://www.osgi.org/xmlns/blueprint/v1.0.0">
 
-   <bean id="datasource" class="org.apache.derby.jdbc.EmbeddedConnectionPoolDataSource">
-      <property name="databaseName" value="tradeDB"/>
-   </bean>
-
   <bean id="tradeServicesBeanJDBC" class="org.apache.aries.samples.ariestrader.persist.jdbc.TradeJdbc" init-method="init">
       <!--<property name="inSession" value="true"/>-->
-      <property name="dataSource" ref="datasource" />
   </bean>
 
   <service id="tradeServicesJDBC" ref="tradeServicesBeanJDBC" interface="org.apache.aries.samples.ariestrader.api.TradeServices">

Modified: incubator/aries/trunk/ariestrader-sample/modules/ariestrader-web/src/main/java/org/apache/aries/samples/ariestrader/web/prims/PingServlet2JNDI.java
URL: http://svn.apache.org/viewvc/incubator/aries/trunk/ariestrader-sample/modules/ariestrader-web/src/main/java/org/apache/aries/samples/ariestrader/web/prims/PingServlet2JNDI.java?rev=907056&r1=907055&r2=907056&view=diff
==============================================================================
--- incubator/aries/trunk/ariestrader-sample/modules/ariestrader-web/src/main/java/org/apache/aries/samples/ariestrader/web/prims/PingServlet2JNDI.java (original)
+++ incubator/aries/trunk/ariestrader-sample/modules/ariestrader-web/src/main/java/org/apache/aries/samples/ariestrader/web/prims/PingServlet2JNDI.java Fri Feb  5 19:05:55 2010
@@ -67,8 +67,7 @@
 
 			int iter = TradeConfig.getPrimIterations();
 			for (int ii = 0; ii < iter; ii++) {
-				InitialContext context = new InitialContext();
-				DataSource datasource = (DataSource) context.lookup(TradeConfig.DS_NAME);
+                            DataSource dataSource = (DataSource) ServiceUtilities.getOSGIService(DataSource.class.getName(),TradeConfig.OSGI_DS_NAME_FILTER);
 			}			
 
 			output.append(

Modified: incubator/aries/trunk/ariestrader-sample/modules/pom.xml
URL: http://svn.apache.org/viewvc/incubator/aries/trunk/ariestrader-sample/modules/pom.xml?rev=907056&r1=907055&r2=907056&view=diff
==============================================================================
--- incubator/aries/trunk/ariestrader-sample/modules/pom.xml (original)
+++ incubator/aries/trunk/ariestrader-sample/modules/pom.xml Fri Feb  5 19:05:55 2010
@@ -37,6 +37,7 @@
         <module>ariestrader-web</module>
         <module>ariestrader-beans</module>
         <module>ariestrader-entities</module>
+        <module>ariestrader-derby-ds</module>
         <module>ariestrader-persist-jdbc</module>
         <module>ariestrader-persist-jpa-am</module>
     </modules>

Modified: incubator/aries/trunk/ariestrader-sample/pom.xml
URL: http://svn.apache.org/viewvc/incubator/aries/trunk/ariestrader-sample/pom.xml?rev=907056&r1=907055&r2=907056&view=diff
==============================================================================
--- incubator/aries/trunk/ariestrader-sample/pom.xml (original)
+++ incubator/aries/trunk/ariestrader-sample/pom.xml Fri Feb  5 19:05:55 2010
@@ -26,6 +26,7 @@
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.apache.aries.ariestrader</groupId>
     <artifactId>ariestrader-parent</artifactId>
+    <version>1.0.0-incubating-SNAPSHOT</version>
     <name>AriesTrader :: Performance Benchmark Sample</name>
     <packaging>pom</packaging>
     <description>Java EE 5.0 Performance Benchmark Sample Application</description>
@@ -98,6 +99,11 @@
                 <artifactId>commons-collections</artifactId>
                 <version>3.2.1</version>
             </dependency>
+            <dependency>
+                <groupId>org.eclipse</groupId>
+                <artifactId>osgi</artifactId>
+                <version>3.5.0.v20090520</version>
+            </dependency>
         </dependencies>
     </dependencyManagement>