Modified: aries/branches/subsystemsR6/transaction/transaction-jdbc/src/main/java/org/apache/aries/transaction/jdbc/internal/ManagedDataSourceFactory.java URL: http://svn.apache.org/viewvc/aries/branches/subsystemsR6/transaction/transaction-jdbc/src/main/java/org/apache/aries/transaction/jdbc/internal/ManagedDataSourceFactory.java?rev=1650143&r1=1650142&r2=1650143&view=diff ============================================================================== --- aries/branches/subsystemsR6/transaction/transaction-jdbc/src/main/java/org/apache/aries/transaction/jdbc/internal/ManagedDataSourceFactory.java (original) +++ aries/branches/subsystemsR6/transaction/transaction-jdbc/src/main/java/org/apache/aries/transaction/jdbc/internal/ManagedDataSourceFactory.java Wed Jan 7 19:37:42 2015 @@ -24,6 +24,7 @@ import org.osgi.framework.Constants; import org.osgi.framework.ServiceReference; import org.osgi.framework.ServiceRegistration; +import javax.sql.CommonDataSource; import javax.sql.DataSource; import javax.sql.XADataSource; import java.util.Hashtable; @@ -33,9 +34,12 @@ public class ManagedDataSourceFactory { private final ServiceReference reference; private final AriesTransactionManager transactionManager; - private final XADataSource dataSource; + private final CommonDataSource dataSource; private final Map<String, Object> properties; + private ServiceRegistration<DataSource> registration; + private ConnectionManagerFactory cm; + public ManagedDataSourceFactory(ServiceReference reference, AriesTransactionManager transactionManager) { this.reference = reference; @@ -44,14 +48,14 @@ public class ManagedDataSourceFactory { for (String key : reference.getPropertyKeys()) { this.properties.put(key, reference.getProperty(key)); } - this.dataSource = (XADataSource) reference.getBundle().getBundleContext().getService(reference); + this.dataSource = (CommonDataSource) reference.getBundle().getBundleContext().getService(reference); } public AriesTransactionManager getTransactionManager() { return transactionManager; } - public XADataSource getDataSource() { + public CommonDataSource getDataSource() { return dataSource; } @@ -90,19 +94,24 @@ public class ManagedDataSourceFactory { } } - public ServiceRegistration register() throws Exception { + public void register() throws Exception { + boolean isXaDataSource = (dataSource instanceof XADataSource); + Hashtable<String, Object> props = new Hashtable<String, Object>(this.properties); - props.put("aries.xa.aware", "true"); + props.put("aries.managed", "true"); + if (isXaDataSource) { + props.put("aries.xa.aware", "true"); + } props.put(Constants.SERVICE_RANKING, getInt(Constants.SERVICE_RANKING, 0) + 1000); - XADataSourceMCFFactory mcf = new XADataSourceMCFFactory(); + AbstractMCFFactory mcf = isXaDataSource ? new XADataSourceMCFFactory() : new DataSourceMCFFactory(); mcf.setDataSource(dataSource); mcf.setExceptionSorterAsString(getString("aries.xa.exceptionSorter", "all")); mcf.setUserName(getString("aries.xa.username", null)); mcf.setPassword(getString("aries.xa.password", null)); mcf.init(); - ConnectionManagerFactory cm = new ConnectionManagerFactory(); + cm = new ConnectionManagerFactory(); cm.setManagedConnectionFactory(mcf.getConnectionFactory()); cm.setTransactionManager(transactionManager); cm.setAllConnectionsEqual(getBool("aries.xa.allConnectionsEquals", true)); @@ -115,15 +124,27 @@ public class ManagedDataSourceFactory { cm.setValidateOnMatch(getBool("aries.xa.validateOnMatch", true)); cm.setBackgroundValidation(getBool("aries.xa.backgroundValidation", false)); cm.setBackgroundValidationMilliseconds(getInt("aries.xa.backgroundValidationMilliseconds", 600000)); - cm.setTransaction(getString("aries.xa.transaction", "xa")); + cm.setTransaction(getString("aries.xa.transaction", isXaDataSource ? "xa" : "local")); + cm.setName(getResourceName()); cm.init(); BundleContext context = reference.getBundle().getBundleContext(); DataSource ds = (DataSource) mcf.getConnectionFactory().createConnectionFactory(cm.getConnectionManager()); - ServiceRegistration registration = context.registerService(DataSource.class.getName(), ds, props); - Recovery.recover(getResourceName(), dataSource, transactionManager); - return registration; + registration = context.registerService(DataSource.class, ds, props); + + if (isXaDataSource) { + Recovery.recover(getResourceName(), (XADataSource) dataSource, transactionManager); + } + } + public void unregister() throws Exception { + if (registration != null) { + registration.unregister(); + registration = null; + } + if (cm != null) { + cm.destroy(); + } } }
Modified: aries/branches/subsystemsR6/transaction/transaction-jms/pom.xml URL: http://svn.apache.org/viewvc/aries/branches/subsystemsR6/transaction/transaction-jms/pom.xml?rev=1650143&r1=1650142&r2=1650143&view=diff ============================================================================== --- aries/branches/subsystemsR6/transaction/transaction-jms/pom.xml (original) +++ aries/branches/subsystemsR6/transaction/transaction-jms/pom.xml Wed Jan 7 19:37:42 2015 @@ -32,7 +32,7 @@ <artifactId>org.apache.aries.transaction.jms</artifactId> <packaging>bundle</packaging> <name>Apache Aries JMS Pool</name> - <version>2.0.0-SNAPSHOT</version> + <version>2.0.1-SNAPSHOT</version> <scm> <connection>scm:svn:http://svn.apache.org/repos/asf/aries/trunk/transaction/transaction-jms</connection> @@ -50,14 +50,28 @@ <aries.osgi.private.pkg> org.apache.aries.transaction.jms.internal </aries.osgi.private.pkg> + <aries.osgi.require.capability> + osgi.service; effective:=active; filter:="(objectClass=org.apache.aries.transaction.AriesTransactionManager)" + </aries.osgi.require.capability> + <aries.osgi.provide.capability> + osg.service; effective:=active; objectClass=org.apache.aries.blueprint.NamespaceHandler; osgi.service.blueprint.namespace="http://aries.apache.org/xmlns/transaction-jms/2.0" + </aries.osgi.provide.capability> + <aries.osgi.activator> + org.apache.aries.transaction.jms.internal.Activator + </aries.osgi.activator> <lastReleaseVersion>1.0.0</lastReleaseVersion> </properties> <dependencies> <dependency> + <groupId>org.osgi</groupId> + <artifactId>org.osgi.core</artifactId> + <scope>provided</scope> + </dependency> + <dependency> <groupId>org.apache.aries.transaction</groupId> <artifactId>org.apache.aries.transaction.manager</artifactId> - <version>1.1.1-SNAPSHOT</version> + <version>1.1.1</version> </dependency> <dependency> <groupId>org.apache.geronimo.specs</groupId> @@ -128,6 +142,38 @@ </execution> </executions> </plugin> + <plugin> + <groupId>org.apache.felix</groupId> + <artifactId>maven-bundle-plugin</artifactId> + <version>2.5.3</version> + <extensions>true</extensions> + <inherited>true</inherited> + <configuration> + <excludeDependencies>${aries.osgi.exclude.dependencies}</excludeDependencies> + <instructions> + <Bundle-Name>${project.name}</Bundle-Name> + <Bundle-SymbolicName>${aries.osgi.symbolic.name}</Bundle-SymbolicName> + <Bundle-Activator>${aries.osgi.activator}</Bundle-Activator> + <Export-Package>${aries.osgi.export}</Export-Package> + <Import-Package>${aries.osgi.import}</Import-Package> + <DynamicImport-Package>${aries.osgi.dynamic}</DynamicImport-Package> + <Private-Package>${aries.osgi.private.pkg}</Private-Package> + <Implementation-Title>Apache Aries</Implementation-Title> + <Implementation-Version>${project.version}</Implementation-Version> + <Bundle-Vendor>The Apache Software Foundation</Bundle-Vendor> + <Include-Resource>${aries.osgi.include.resource}</Include-Resource> + <_removeheaders>${aries.osgi.remove.headers}}</_removeheaders> + <_failok>${aries.osgi.failok}</_failok> + <_consumer-policy>${aries.osgi.import.default.version}</_consumer-policy> + <_provider-policy>$<range;[==,=+)></_provider-policy> + <Export-Service>${aries.osgi.export.service}</Export-Service> + <Import-Service>${aries.osgi.import.service}</Import-Service> + <Provide-Capability>${aries.osgi.provide.capability}</Provide-Capability> + <Require-Capability>${aries.osgi.require.capability}</Require-Capability> + <service_mode>generic</service_mode> + </instructions> + </configuration> + </plugin> </plugins> </build> Modified: aries/branches/subsystemsR6/transaction/transaction-manager/pom.xml URL: http://svn.apache.org/viewvc/aries/branches/subsystemsR6/transaction/transaction-manager/pom.xml?rev=1650143&r1=1650142&r2=1650143&view=diff ============================================================================== --- aries/branches/subsystemsR6/transaction/transaction-manager/pom.xml (original) +++ aries/branches/subsystemsR6/transaction/transaction-manager/pom.xml Wed Jan 7 19:37:42 2015 @@ -31,7 +31,7 @@ <artifactId>org.apache.aries.transaction.manager</artifactId> <packaging>bundle</packaging> <name>Apache Aries Transaction Manager</name> - <version>1.1.1-SNAPSHOT</version> + <version>1.1.2-SNAPSHOT</version> <scm> <connection>scm:svn:http://svn.apache.org/repos/asf/aries/trunk/transaction/transaction-manager</connection> @@ -47,7 +47,7 @@ javax.transaction*;version="1.1.0" </aries.osgi.export> <aries.osgi.import> - org.springframework.*;resolution:=optional;version="[2.5,4)", + org.springframework.*;resolution:=optional;version="[2.5,5)", !org.apache.geronimo.transaction*, javax.resource.spi;resolution:=optional, org.osgi.framework, @@ -62,14 +62,9 @@ <aries.osgi.activator> org.apache.aries.transaction.internal.Activator </aries.osgi.activator> - <aries.osgi.export.service> - org.apache.aries.transaction.AriesTransactionManager, - javax.transaction.TransactionManager, - javax.transaction.TransactionSynchronizationRegistry, - javax.transaction.UserTransaction, - org.apache.geronimo.transaction.manager.RecoverableTransactionManager, - org.springframework.transaction.PlatformTransactionManager - </aries.osgi.export.service> + <aries.osgi.provide.capability> + osgi.service; effective:=active; objectClass:List<String>="org.apache.aries.transaction.AriesTransactionManager,javax.transaction.TransactionManager,javax.transaction.TransactionSynchronizationRegistry,javax.transaction.UserTransaction,org.apache.geronimo.transaction.manager.RecoverableTransactionManager,org.springframework.transaction.PlatformTransactionManager" + </aries.osgi.provide.capability> <aries.osgi.include.resource> {maven-resources}, javax/resource/spi/XATerminator.class=target/classes/javax/resource/spi/XATerminator.class @@ -170,7 +165,7 @@ <configuration> <tasks> <copy todir="${project.build.directory}/sources"> - <fileset dir="${basedir}/src/main/java"/> + <fileset dir="${basedir}/src/main/java" /> </copy> </tasks> </configuration> @@ -263,6 +258,38 @@ </execution> </executions> </plugin> + <plugin> + <groupId>org.apache.felix</groupId> + <artifactId>maven-bundle-plugin</artifactId> + <version>2.5.3</version> + <extensions>true</extensions> + <inherited>true</inherited> + <configuration> + <excludeDependencies>${aries.osgi.exclude.dependencies}</excludeDependencies> + <instructions> + <Bundle-Name>${project.name}</Bundle-Name> + <Bundle-SymbolicName>${aries.osgi.symbolic.name}</Bundle-SymbolicName> + <Bundle-Activator>${aries.osgi.activator}</Bundle-Activator> + <Export-Package>${aries.osgi.export}</Export-Package> + <Import-Package>${aries.osgi.import}</Import-Package> + <DynamicImport-Package>${aries.osgi.dynamic}</DynamicImport-Package> + <Private-Package>${aries.osgi.private.pkg}</Private-Package> + <Implementation-Title>Apache Aries</Implementation-Title> + <Implementation-Version>${project.version}</Implementation-Version> + <Bundle-Vendor>The Apache Software Foundation</Bundle-Vendor> + <Include-Resource>${aries.osgi.include.resource}</Include-Resource> + <_removeheaders>${aries.osgi.remove.headers}}</_removeheaders> + <_failok>${aries.osgi.failok}</_failok> + <_consumer-policy>${aries.osgi.import.default.version}</_consumer-policy> + <_provider-policy>$<range;[==,=+)></_provider-policy> + <Export-Service>${aries.osgi.export.service}</Export-Service> + <Import-Service>${aries.osgi.import.service}</Import-Service> + <Provide-Capability>${aries.osgi.provide.capability}</Provide-Capability> + <Require-Capability>${aries.osgi.require.capability}</Require-Capability> + <service_mode>generic</service_mode> + </instructions> + </configuration> + </plugin> </plugins> </build> Modified: aries/branches/subsystemsR6/versioning/pom.xml URL: http://svn.apache.org/viewvc/aries/branches/subsystemsR6/versioning/pom.xml?rev=1650143&r1=1650142&r2=1650143&view=diff ============================================================================== --- aries/branches/subsystemsR6/versioning/pom.xml (original) +++ aries/branches/subsystemsR6/versioning/pom.xml Wed Jan 7 19:37:42 2015 @@ -24,7 +24,7 @@ <parent> <groupId>org.apache.aries</groupId> <artifactId>parent</artifactId> - <version>2.0.0-SNAPSHOT</version> + <version>2.0.0</version> <relativePath>../parent/pom.xml</relativePath> </parent> Modified: aries/branches/subsystemsR6/web/web-itests/pom.xml URL: http://svn.apache.org/viewvc/aries/branches/subsystemsR6/web/web-itests/pom.xml?rev=1650143&r1=1650142&r2=1650143&view=diff ============================================================================== --- aries/branches/subsystemsR6/web/web-itests/pom.xml (original) +++ aries/branches/subsystemsR6/web/web-itests/pom.xml Wed Jan 7 19:37:42 2015 @@ -94,7 +94,7 @@ <groupId>org.apache.aries.proxy</groupId> <artifactId>org.apache.aries.proxy</artifactId> <scope>test</scope> - <version>1.0.2-SNAPSHOT</version> + <version>1.0.1</version> </dependency> <dependency> <groupId>org.apache.aries.blueprint</groupId> @@ -117,7 +117,7 @@ </dependency> <dependency> <groupId>org.ops4j.pax.exam</groupId> - <artifactId>pax-exam-container-forked</artifactId> + <artifactId>pax-exam-container-native</artifactId> <version>${exam.version}</version> <scope>test</scope> </dependency> Modified: aries/branches/subsystemsR6/web/web-itests/src/test/java/org/apache/aries/web/converter/itest/WabConverterITest.java URL: http://svn.apache.org/viewvc/aries/branches/subsystemsR6/web/web-itests/src/test/java/org/apache/aries/web/converter/itest/WabConverterITest.java?rev=1650143&r1=1650142&r2=1650143&view=diff ============================================================================== --- aries/branches/subsystemsR6/web/web-itests/src/test/java/org/apache/aries/web/converter/itest/WabConverterITest.java (original) +++ aries/branches/subsystemsR6/web/web-itests/src/test/java/org/apache/aries/web/converter/itest/WabConverterITest.java Wed Jan 7 19:37:42 2015 @@ -128,7 +128,6 @@ public class WabConverterITest extends A mavenBundle("org.apache.aries", "org.apache.aries.util"), mavenBundle("org.ow2.asm", "asm-debug-all"), mavenBundle("org.apache.aries.proxy", "org.apache.aries.proxy"), - mavenBundle("org.apache.aries.blueprint", "org.apache.aries.blueprint"), mavenBundle("org.apache.aries.testsupport", "org.apache.aries.testsupport.unit")); } Modified: aries/branches/subsystemsR6/web/web-urlhandler/pom.xml URL: http://svn.apache.org/viewvc/aries/branches/subsystemsR6/web/web-urlhandler/pom.xml?rev=1650143&r1=1650142&r2=1650143&view=diff ============================================================================== --- aries/branches/subsystemsR6/web/web-urlhandler/pom.xml (original) +++ aries/branches/subsystemsR6/web/web-urlhandler/pom.xml Wed Jan 7 19:37:42 2015 @@ -49,6 +49,7 @@ org.apache.aries.web.converter.impl, org.apache.aries.web.url </aries.osgi.private.pkg> + <aries.osgi.activator>org.apache.aries.web.converter.impl.Activator</aries.osgi.activator> <lastReleaseVersion>1.0.0</lastReleaseVersion> </properties> @@ -68,12 +69,6 @@ <artifactId>asm-debug-all</artifactId> <version>5.0.3</version> </dependency> - <dependency> - <groupId>org.apache.aries.testsupport</groupId> - <artifactId>org.apache.aries.testsupport.unit</artifactId> - <scope>test</scope> - <version>1.0.0</version> - </dependency> </dependencies> <build> Modified: aries/branches/subsystemsR6/web/web-urlhandler/src/main/java/org/apache/aries/web/converter/impl/CaseInsensitiveMap.java URL: http://svn.apache.org/viewvc/aries/branches/subsystemsR6/web/web-urlhandler/src/main/java/org/apache/aries/web/converter/impl/CaseInsensitiveMap.java?rev=1650143&r1=1650142&r2=1650143&view=diff ============================================================================== --- aries/branches/subsystemsR6/web/web-urlhandler/src/main/java/org/apache/aries/web/converter/impl/CaseInsensitiveMap.java (original) +++ aries/branches/subsystemsR6/web/web-urlhandler/src/main/java/org/apache/aries/web/converter/impl/CaseInsensitiveMap.java Wed Jan 7 19:37:42 2015 @@ -29,6 +29,7 @@ import org.osgi.framework.Constants; * Simple key case-insensitive map where only selected set of keys are * treated in case-insensitive way. */ +@SuppressWarnings("serial") public class CaseInsensitiveMap extends HashMap<String, String> { private static final Map<String, String> DEFAULT_KEY_MAP = new HashMap<String, String>(); Modified: aries/branches/subsystemsR6/web/web-urlhandler/src/main/java/org/apache/aries/web/converter/impl/PackageFinder.java URL: http://svn.apache.org/viewvc/aries/branches/subsystemsR6/web/web-urlhandler/src/main/java/org/apache/aries/web/converter/impl/PackageFinder.java?rev=1650143&r1=1650142&r2=1650143&view=diff ============================================================================== --- aries/branches/subsystemsR6/web/web-urlhandler/src/main/java/org/apache/aries/web/converter/impl/PackageFinder.java (original) +++ aries/branches/subsystemsR6/web/web-urlhandler/src/main/java/org/apache/aries/web/converter/impl/PackageFinder.java Wed Jan 7 19:37:42 2015 @@ -487,7 +487,7 @@ public class PackageFinder extends Class return pfav; } - public void visitTableSwitchInsn(int arg0, int arg1, Label arg2, Label[] arg3) + public void visitTableSwitchInsn(int min, int max, Label dflt, Label... labels) { //no-op } Modified: aries/branches/subsystemsR6/web/web-urlhandler/src/main/java/org/apache/aries/web/converter/impl/WarToWabConverterImpl.java URL: http://svn.apache.org/viewvc/aries/branches/subsystemsR6/web/web-urlhandler/src/main/java/org/apache/aries/web/converter/impl/WarToWabConverterImpl.java?rev=1650143&r1=1650142&r2=1650143&view=diff ============================================================================== --- aries/branches/subsystemsR6/web/web-urlhandler/src/main/java/org/apache/aries/web/converter/impl/WarToWabConverterImpl.java (original) +++ aries/branches/subsystemsR6/web/web-urlhandler/src/main/java/org/apache/aries/web/converter/impl/WarToWabConverterImpl.java Wed Jan 7 19:37:42 2015 @@ -339,6 +339,7 @@ public class WarToWabConverterImpl imple properties.put(Constants.BUNDLE_CLASSPATH, classPathValue.toString().substring(1)); } + @SuppressWarnings("serial") ArrayList<String> packages = new ArrayList<String>() { @Override public boolean contains(Object elem) { Modified: aries/branches/subsystemsR6/web/web-urlhandler/src/main/java/org/apache/aries/web/url/WAR_URLServiceHandler.java URL: http://svn.apache.org/viewvc/aries/branches/subsystemsR6/web/web-urlhandler/src/main/java/org/apache/aries/web/url/WAR_URLServiceHandler.java?rev=1650143&r1=1650142&r2=1650143&view=diff ============================================================================== --- aries/branches/subsystemsR6/web/web-urlhandler/src/main/java/org/apache/aries/web/url/WAR_URLServiceHandler.java (original) +++ aries/branches/subsystemsR6/web/web-urlhandler/src/main/java/org/apache/aries/web/url/WAR_URLServiceHandler.java Wed Jan 7 19:37:42 2015 @@ -96,7 +96,7 @@ public class WAR_URLServiceHandler exten public void start(BundleContext context) throws Exception { - Dictionary properties = new Hashtable(); + Dictionary<String, Object> properties = new Hashtable<String, Object>(); properties.put( URLConstants.URL_HANDLER_PROTOCOL, new String[] {urlScheme}); context.registerService(URLStreamHandlerService.class.getName(), this, properties); } Modified: aries/branches/subsystemsR6/web/web-urlhandler/src/test/java/org/apache/aries/web/converter/impl/WabConverterTest.java URL: http://svn.apache.org/viewvc/aries/branches/subsystemsR6/web/web-urlhandler/src/test/java/org/apache/aries/web/converter/impl/WabConverterTest.java?rev=1650143&r1=1650142&r2=1650143&view=diff ============================================================================== --- aries/branches/subsystemsR6/web/web-urlhandler/src/test/java/org/apache/aries/web/converter/impl/WabConverterTest.java (original) +++ aries/branches/subsystemsR6/web/web-urlhandler/src/test/java/org/apache/aries/web/converter/impl/WabConverterTest.java Wed Jan 7 19:37:42 2015 @@ -132,6 +132,7 @@ public class WabConverterTest props.put(Constants.BUNDLE_SYMBOLICNAME, "test.bundle"); WarToWabConverterImpl sut = new WarToWabConverterImpl(input, WAR_FILE_NAME, props); + @SuppressWarnings("resource") Manifest m = new JarInputStream(sut.getWAB()).getManifest(); assertEquals("test.bundle", m.getMainAttributes().getValue(Constants.BUNDLE_SYMBOLICNAME)); }
