You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aries.apache.org by tj...@apache.org on 2014/06/30 18:55:06 UTC

svn commit: r1606837 [16/27] - in /aries/branches/subsystemsR6: ./ application/ application/application-api/ application/application-bundle/ application/application-converters/ application/application-default-local-platform/ application/application-dep...

Modified: aries/branches/subsystemsR6/jpa/jpa-container-testbundle/pom.xml
URL: http://svn.apache.org/viewvc/aries/branches/subsystemsR6/jpa/jpa-container-testbundle/pom.xml?rev=1606837&r1=1606836&r2=1606837&view=diff
==============================================================================
--- aries/branches/subsystemsR6/jpa/jpa-container-testbundle/pom.xml (original)
+++ aries/branches/subsystemsR6/jpa/jpa-container-testbundle/pom.xml Mon Jun 30 16:54:57 2014
@@ -1,45 +1,47 @@
 <?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.
+ 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</groupId>
-        <artifactId>java5-parent</artifactId>
-        <version>1.0.0</version>
-        <relativePath />
+        <artifactId>parent</artifactId>
+        <version>2.0.0-SNAPSHOT</version>
+        <relativePath>../../parent/pom.xml</relativePath>
     </parent>
-    <modelVersion>4.0.0</modelVersion>
+
     <groupId>org.apache.aries.jpa</groupId>
     <artifactId>org.apache.aries.jpa.container.itest.bundle</artifactId>
     <version>1.0.1-SNAPSHOT</version>
     <packaging>bundle</packaging>
     <name>Test Bundle for Aries JPA Container iTests</name>
 
-     <scm>
-         <connection>scm:svn:http://svn.apache.org/repos/asf/aries/trunk/jpa/jpa-container-testbundle</connection>
-         <developerConnection>scm:svn:https://svn.apache.org/repos/asf/aries/trunk/jpa/jpa-container-testbundle</developerConnection>
-         <url>http://svn.apache.org/viewvc/aries/trunk/jpa/jpa-container-testbundle</url>
-     </scm>
+    <scm>
+        <connection>scm:svn:http://svn.apache.org/repos/asf/aries/trunk/jpa/jpa-container-testbundle</connection>
+        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/aries/trunk/jpa/jpa-container-testbundle</developerConnection>
+        <url>http://svn.apache.org/viewvc/aries/trunk/jpa/jpa-container-testbundle</url>
+    </scm>
 
     <properties>
         <!-- Export package versions are maintained in packageinfo files -->
-
         <aries.osgi.export.pkg>
             org.apache.aries.jpa.container.itest.entities
         </aries.osgi.export.pkg>
@@ -50,6 +52,7 @@
         <aries.osgi.private.pkg />
         <aries.osgi.symbolic.name>${project.groupId}.${project.artifactId}</aries.osgi.symbolic.name>
     </properties>
+
     <dependencies>
         <dependency>
             <groupId>org.apache.geronimo.specs</groupId>
@@ -101,4 +104,5 @@
             </plugin>
         </plugins>
     </build>
+
 </project>

Modified: aries/branches/subsystemsR6/jpa/jpa-container-testbundle/src/main/resources/META-INF/persistence.xml
URL: http://svn.apache.org/viewvc/aries/branches/subsystemsR6/jpa/jpa-container-testbundle/src/main/resources/META-INF/persistence.xml?rev=1606837&r1=1606836&r2=1606837&view=diff
==============================================================================
--- aries/branches/subsystemsR6/jpa/jpa-container-testbundle/src/main/resources/META-INF/persistence.xml (original)
+++ aries/branches/subsystemsR6/jpa/jpa-container-testbundle/src/main/resources/META-INF/persistence.xml Mon Jun 30 16:54:57 2014
@@ -69,7 +69,7 @@
      <!-- These properties are creating the database on the fly. We are using them to avoid the tests having
           to create a database  -->
       <property name="javax.persistence.jdbc.driver" value="org.apache.derby.jdbc.EmbeddedDriver"/>
-      <property name="javax.persistence.jdbc.url" value="jdbc:derby:memory:TEST;create=true"/>
+      <property name="javax.persistence.jdbc.databaseName" value="memory:TEST;create=true"/>
      <property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema(ForeignKeys=true)"/>
      <property name="openjpa.jdbc.DBDictionary" value="derby"/>
     </properties>
@@ -83,7 +83,7 @@
      <!-- These properties are creating the database on the fly. We are using them to avoid the tests having
           to create a database  -->
       <property name="javax.persistence.jdbc.driver" value="org.apache.derby.jdbc.EmbeddedDriver"/>
-      <property name="javax.persistence.jdbc.url" value="jdbc:derby:memory:TEST;create=true"/>
+      <property name="javax.persistence.jdbc.databaseName" value="memory:TEST;create=true"/>
      <property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema(ForeignKeys=true)"/>
      <property name="openjpa.jdbc.DBDictionary" value="derby"/>
     </properties>

Modified: aries/branches/subsystemsR6/jpa/jpa-container/pom.xml
URL: http://svn.apache.org/viewvc/aries/branches/subsystemsR6/jpa/jpa-container/pom.xml?rev=1606837&r1=1606836&r2=1606837&view=diff
==============================================================================
--- aries/branches/subsystemsR6/jpa/jpa-container/pom.xml (original)
+++ aries/branches/subsystemsR6/jpa/jpa-container/pom.xml Mon Jun 30 16:54:57 2014
@@ -1,45 +1,47 @@
 <?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.
+ 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</groupId>
-        <artifactId>java6-parent</artifactId>
-        <version>1.0.0</version>
-        <relativePath />
+        <artifactId>parent</artifactId>
+        <version>2.0.0-SNAPSHOT</version>
+        <relativePath>../../parent/pom.xml</relativePath>
     </parent>
-    <modelVersion>4.0.0</modelVersion>
+
     <groupId>org.apache.aries.jpa</groupId>
     <artifactId>org.apache.aries.jpa.container</artifactId>
     <packaging>bundle</packaging>
     <version>1.0.1-SNAPSHOT</version>
     <name>Aries JPA Container</name>
     
-     <scm>
-         <connection>scm:svn:http://svn.apache.org/repos/asf/aries/trunk/jpa/jpa-container</connection>
-         <developerConnection>scm:svn:https://svn.apache.org/repos/asf/aries/trunk/jpa/jpa-container</developerConnection>
-         <url>http://svn.apache.org/viewvc/aries/trunk/jpa/jpa-container</url>
-     </scm>
+    <scm>
+        <connection>scm:svn:http://svn.apache.org/repos/asf/aries/trunk/jpa/jpa-container</connection>
+        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/aries/trunk/jpa/jpa-container</developerConnection>
+        <url>http://svn.apache.org/viewvc/aries/trunk/jpa/jpa-container</url>
+    </scm>
 
     <properties>
         <!-- Export package versions are maintained in packageinfo files -->
-
         <aries.osgi.export.pkg />
         <aries.osgi.import>
             javax.persistence;version="[1.0.0,2.1.0)",
@@ -62,18 +64,13 @@
       <aries.osgi.activator>
           org.apache.aries.jpa.container.impl.PersistenceBundleManager
       </aries.osgi.activator>
+      <lastReleaseVersion>1.0.0</lastReleaseVersion>
     </properties>
     
     <dependencies>
         <dependency>
             <groupId>org.osgi</groupId>
             <artifactId>org.osgi.core</artifactId>
-            <!-- 
-                 We override the version here because we need it
-                 to compile our weaving hook. We still want our
-                 bundles to be able to run with 4.2 though!
-            -->
-            <version>4.3.0</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
@@ -139,12 +136,12 @@
             <scope>provided</scope>
         </dependency>
     </dependencies>
+
     <build>
         <plugins>
             <plugin>
                 <groupId>org.apache.aries.versioning</groupId>
                 <artifactId>org.apache.aries.versioning.plugin</artifactId>
-                <version>0.1.0</version>
                 <executions>
                     <execution>
                         <id>default-verify</id>
@@ -152,9 +149,6 @@
                         <goals>
                             <goal>version-check</goal>
                         </goals>
-                        <configuration>
-                            <oldArtifact>org.apache.aries.jpa:org.apache.aries.jpa.container:1.0.0</oldArtifact>
-                        </configuration>
                     </execution>
                 </executions>
             </plugin>

Modified: aries/branches/subsystemsR6/jpa/jpa-container/src/main/java/org/apache/aries/jpa/container/impl/EntityManagerFactoryManager.java
URL: http://svn.apache.org/viewvc/aries/branches/subsystemsR6/jpa/jpa-container/src/main/java/org/apache/aries/jpa/container/impl/EntityManagerFactoryManager.java?rev=1606837&r1=1606836&r2=1606837&view=diff
==============================================================================
--- aries/branches/subsystemsR6/jpa/jpa-container/src/main/java/org/apache/aries/jpa/container/impl/EntityManagerFactoryManager.java (original)
+++ aries/branches/subsystemsR6/jpa/jpa-container/src/main/java/org/apache/aries/jpa/container/impl/EntityManagerFactoryManager.java Mon Jun 30 16:54:57 2014
@@ -309,32 +309,34 @@ public class EntityManagerFactoryManager
    *  valid and should be destroyed
    */
   private void createEntityManagerFactories() throws InvalidPersistenceUnitException {
+    if (emfs == null) {  
+      emfs = new HashMap<String, CountingEntityManagerFactory>();
+    }
     //Only try if we have a provider and EMFs
-    if(provider != null) {
-      if(emfs == null && !quiesce) {
-        try {
-          emfs = new HashMap<String, CountingEntityManagerFactory>();
-        
-          //Get hold of the provider
-          PersistenceProvider providerService = (PersistenceProvider) containerContext.getService(provider);
-
-          if(providerService == null) {
-            _logger.warn(NLS.MESSAGES.getMessage("persistence.provider.gone.awol", bundle.getSymbolicName() + '/' + bundle.getVersion()));
-            throw new InvalidPersistenceUnitException();
-          }
+    if(provider == null || !emfs.isEmpty() || quiesce) {
+        return;
+    }
+    try {
+      //Get hold of the provider
+      PersistenceProvider providerService = (PersistenceProvider) containerContext.getService(provider);
 
-          for(Entry<String, ? extends ManagedPersistenceUnitInfo> entry : 
-               persistenceUnits.entrySet()){
-            ManagedPersistenceUnitInfo mpui = entry.getValue();
-            emfs.put(entry.getKey(), new CountingEntityManagerFactory(
-                providerService.createContainerEntityManagerFactory(
-                    mpui.getPersistenceUnitInfo(), mpui.getContainerProperties()), entry.getKey()));
-          }
-        } finally {
-          //Remember to unget the provider
-          containerContext.ungetService(provider);
+      if(providerService == null) {
+        _logger.warn(NLS.MESSAGES.getMessage("persistence.provider.gone.awol", bundle.getSymbolicName() + '/' + bundle.getVersion()));
+        throw new InvalidPersistenceUnitException();
+      }
+
+      for(String unitName : persistenceUnits.keySet()){
+        ManagedPersistenceUnitInfo mpui = persistenceUnits.get(unitName);
+        try {
+          EntityManagerFactory emf = providerService.createContainerEntityManagerFactory(mpui.getPersistenceUnitInfo(), mpui.getContainerProperties());
+          emfs.put(unitName, new CountingEntityManagerFactory(emf, unitName));
+        } catch (Exception e) {
+          _logger.warn("Error creating EntityManagerFactory", e);
         }
       }
+    } finally {
+      //Remember to unget the provider
+      containerContext.ungetService(provider);
     }
   }
 

Modified: aries/branches/subsystemsR6/jpa/jpa-container/src/main/java/org/apache/aries/jpa/container/impl/PersistenceBundleHelper.java
URL: http://svn.apache.org/viewvc/aries/branches/subsystemsR6/jpa/jpa-container/src/main/java/org/apache/aries/jpa/container/impl/PersistenceBundleHelper.java?rev=1606837&r1=1606836&r2=1606837&view=diff
==============================================================================
--- aries/branches/subsystemsR6/jpa/jpa-container/src/main/java/org/apache/aries/jpa/container/impl/PersistenceBundleHelper.java (original)
+++ aries/branches/subsystemsR6/jpa/jpa-container/src/main/java/org/apache/aries/jpa/container/impl/PersistenceBundleHelper.java Mon Jun 30 16:54:57 2014
@@ -131,7 +131,15 @@ public class PersistenceBundleHelper
       }     
     }
     
-    if (persistenceXmlFiles.isEmpty()) {
+    // Aries-1173: we always used to warn if persistenceXmlFiles.isEmpty(), but this caused many
+    // 'false positives' in which WABs with no persistence.xml by design generated warnings. 
+    // MN changing this so that the warning is only issued when the Meta-Persistence header is present: 
+    // i.e. there's good reason to believe that something is missing. Developers of WABs with no
+    // Meta-Persistence header, and missing persistence.xml files, will typically receive a resource
+    // injection failure at runtime with enough information to help identify the problem.
+    // (If logging is turned up to INFO, the wab.without.meta.persistence.header message issued 
+    // above should also be of help.)
+    if (persistenceXmlFiles.isEmpty() && metaPersistence != null) {
       _logger.warn(NLS.MESSAGES.getMessage("no.persistence.descriptor", bundleIdentity, locations.toString()));
     }
 

Modified: aries/branches/subsystemsR6/jpa/jpa-container/src/main/java/org/apache/aries/jpa/container/impl/PersistenceBundleManager.java
URL: http://svn.apache.org/viewvc/aries/branches/subsystemsR6/jpa/jpa-container/src/main/java/org/apache/aries/jpa/container/impl/PersistenceBundleManager.java?rev=1606837&r1=1606836&r2=1606837&view=diff
==============================================================================
--- aries/branches/subsystemsR6/jpa/jpa-container/src/main/java/org/apache/aries/jpa/container/impl/PersistenceBundleManager.java (original)
+++ aries/branches/subsystemsR6/jpa/jpa-container/src/main/java/org/apache/aries/jpa/container/impl/PersistenceBundleManager.java Mon Jun 30 16:54:57 2014
@@ -65,6 +65,8 @@ import org.slf4j.LoggerFactory;
 
 /**
  * This class locates, parses and manages persistence units defined in OSGi bundles.
+ * It also keeps track of PersistenceProvider services and delegates the EMF creation to the 
+ * matching PersistenceProvider
  */
 public class PersistenceBundleManager implements BundleTrackerCustomizer, ServiceTrackerCustomizer, BundleActivator
 {
@@ -177,7 +179,7 @@ public class PersistenceBundleManager im
       while(it.hasNext()) {
         EntityManagerFactoryManager mgr = it.next();
         ServiceReference reference = getProviderServiceReference(mgr.getParsedPersistenceUnits());
-        if(ref != null) {
+        if(reference != null) {
           managersToManage.put(mgr, reference);
           it.remove();
         }
@@ -310,7 +312,9 @@ public class PersistenceBundleManager im
   public void removedBundle(Bundle bundle, BundleEvent event, Object object) {
     EntityManagerFactoryManager mgr = (EntityManagerFactoryManager) object;   
     mgr.destroy();
-    persistenceUnitFactory.destroyPersistenceBundle(ctx, bundle);
+    if (!managersAwaitingProviders.contains(mgr)) {
+    	persistenceUnitFactory.destroyPersistenceBundle(ctx, bundle);
+    }
     //Remember to tidy up the map
     synchronized (this) {
       bundleToManagerMap.remove(bundle);

Modified: aries/branches/subsystemsR6/jpa/jpa-container/src/main/java/org/apache/aries/jpa/container/tx/impl/ConnectionWrapper.java
URL: http://svn.apache.org/viewvc/aries/branches/subsystemsR6/jpa/jpa-container/src/main/java/org/apache/aries/jpa/container/tx/impl/ConnectionWrapper.java?rev=1606837&r1=1606836&r2=1606837&view=diff
==============================================================================
--- aries/branches/subsystemsR6/jpa/jpa-container/src/main/java/org/apache/aries/jpa/container/tx/impl/ConnectionWrapper.java (original)
+++ aries/branches/subsystemsR6/jpa/jpa-container/src/main/java/org/apache/aries/jpa/container/tx/impl/ConnectionWrapper.java Mon Jun 30 16:54:57 2014
@@ -35,6 +35,7 @@ import java.sql.Statement;
 import java.sql.Struct;
 import java.util.Map;
 import java.util.Properties;
+import java.util.concurrent.Executor;
 
 import javax.transaction.xa.XAResource;
 
@@ -158,6 +159,51 @@ public class ConnectionWrapper implement
         return connection.createStruct(typeName, attributes);
     }
 
+    public void setSchema(String schema) throws SQLException {
+        invokeViaReflection("setSchema", new Class<?>[] {String.class},
+                            new Object[] {schema});
+    }
+
+    public String getSchema() throws SQLException {
+        return invokeViaReflection(String.class, "getSchema", new Class<?>[0],
+                            new Object[0]);
+    }
+
+    public void abort(Executor executor) throws SQLException {
+        invokeViaReflection("abort", new Class<?>[] {Executor.class},
+                            new Object[] {executor});
+    }
+
+    public void setNetworkTimeout(Executor executor, int milliseconds) throws SQLException {
+        invokeViaReflection("setNetworkTimeout", new Class<?>[] {Executor.class, Integer.TYPE},
+                            new Object[] {executor, milliseconds});
+    }
+
+    public int getNetworkTimeout() throws SQLException {
+        return invokeViaReflection(Integer.TYPE, "getNetworkTimeout", new Class<?>[0], new Object[0]);
+    }
+    
+    private <T> T invokeViaReflection(Class<T> retType, String name,
+                                      Class<?> argClasses[], Object args[]) throws SQLException {
+        try {
+            return retType.cast(connection.getClass().getMethod(name, argClasses).invoke(args));
+        } catch (RuntimeException re) {
+            throw re;
+        } catch (Throwable t) {
+            throw new SQLException(t);
+        }
+    }
+    private void invokeViaReflection(String name,
+                                    Class<?> argClasses[], Object args[]) throws SQLException {
+        try {
+            connection.getClass().getMethod(name, argClasses).invoke(args);
+        } catch (RuntimeException re) {
+            throw re;
+        } catch (Throwable t) {
+            throw new SQLException(t);
+        }
+    }
+
     public boolean getAutoCommit() throws SQLException {
         return connection.getAutoCommit();
     }

Modified: aries/branches/subsystemsR6/jpa/jpa-container/src/main/java/org/apache/aries/jpa/container/tx/impl/XADatasourceEnlistingWrapper.java
URL: http://svn.apache.org/viewvc/aries/branches/subsystemsR6/jpa/jpa-container/src/main/java/org/apache/aries/jpa/container/tx/impl/XADatasourceEnlistingWrapper.java?rev=1606837&r1=1606836&r2=1606837&view=diff
==============================================================================
--- aries/branches/subsystemsR6/jpa/jpa-container/src/main/java/org/apache/aries/jpa/container/tx/impl/XADatasourceEnlistingWrapper.java (original)
+++ aries/branches/subsystemsR6/jpa/jpa-container/src/main/java/org/apache/aries/jpa/container/tx/impl/XADatasourceEnlistingWrapper.java Mon Jun 30 16:54:57 2014
@@ -22,8 +22,10 @@ import java.io.PrintWriter;
 import java.io.Serializable;
 import java.sql.Connection;
 import java.sql.SQLException;
+import java.sql.SQLFeatureNotSupportedException;
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
+import java.util.logging.Logger;
 
 import javax.sql.DataSource;
 import javax.sql.XAConnection;
@@ -153,6 +155,10 @@ public class XADatasourceEnlistingWrappe
       return wrappedDS.getLoginTimeout();
     }
 
+    public Logger getParentLogger() throws SQLFeatureNotSupportedException {
+        return null;
+    }
+
     public void setLogWriter(PrintWriter out) throws SQLException
     {
       wrappedDS.setLogWriter(out);

Modified: aries/branches/subsystemsR6/jpa/jpa-container/src/main/java/org/apache/aries/jpa/container/unit/impl/DataSourceFactoryDataSource.java
URL: http://svn.apache.org/viewvc/aries/branches/subsystemsR6/jpa/jpa-container/src/main/java/org/apache/aries/jpa/container/unit/impl/DataSourceFactoryDataSource.java?rev=1606837&r1=1606836&r2=1606837&view=diff
==============================================================================
--- aries/branches/subsystemsR6/jpa/jpa-container/src/main/java/org/apache/aries/jpa/container/unit/impl/DataSourceFactoryDataSource.java (original)
+++ aries/branches/subsystemsR6/jpa/jpa-container/src/main/java/org/apache/aries/jpa/container/unit/impl/DataSourceFactoryDataSource.java Mon Jun 30 16:54:57 2014
@@ -19,6 +19,7 @@
 package org.apache.aries.jpa.container.unit.impl;
 
 import java.sql.SQLException;
+import java.sql.SQLFeatureNotSupportedException;
 import java.util.Properties;
 import java.util.concurrent.atomic.AtomicReference;
 
@@ -34,6 +35,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 public class DataSourceFactoryDataSource extends DelayedLookupDataSource implements SingleServiceListener {
+
   /** Logger */
   private static final Logger _logger = LoggerFactory.getLogger("org.apache.aries.jpa.container");
   
@@ -47,18 +49,10 @@ public class DataSourceFactoryDataSource
   private final AtomicReference<SingleServiceTracker<DataSourceFactory>> trackerRef =
     new AtomicReference<SingleServiceTracker<DataSourceFactory>>();
   
-  public DataSourceFactoryDataSource(Bundle bundle, String driverName, String dbURL, 
-      String dbUserName, String dbPassword, boolean jta) {
+  public DataSourceFactoryDataSource(Bundle bundle, String driverName, Properties props, boolean jta) {
     this.persistenceBundle = bundle;
     this.driverName = driverName;
-    props = new Properties();
-    if(dbURL != null)
-      props.setProperty(DataSourceFactory.JDBC_URL, dbURL);
-    if(dbUserName != null)
-      props.setProperty(DataSourceFactory.JDBC_USER, dbUserName);
-    if(dbPassword != null)
-      props.setProperty(DataSourceFactory.JDBC_PASSWORD, dbPassword);
-    
+    this.props = props;
     this.jta = jta;
   }
 
@@ -125,4 +119,9 @@ public class DataSourceFactoryDataSource
   public void serviceReplaced() {
     ds.set(null);
   }
+
+  public java.util.logging.Logger getParentLogger() throws SQLFeatureNotSupportedException {
+    return null;
+  }
+
 }

Modified: aries/branches/subsystemsR6/jpa/jpa-container/src/main/java/org/apache/aries/jpa/container/unit/impl/JndiDataSource.java
URL: http://svn.apache.org/viewvc/aries/branches/subsystemsR6/jpa/jpa-container/src/main/java/org/apache/aries/jpa/container/unit/impl/JndiDataSource.java?rev=1606837&r1=1606836&r2=1606837&view=diff
==============================================================================
--- aries/branches/subsystemsR6/jpa/jpa-container/src/main/java/org/apache/aries/jpa/container/unit/impl/JndiDataSource.java (original)
+++ aries/branches/subsystemsR6/jpa/jpa-container/src/main/java/org/apache/aries/jpa/container/unit/impl/JndiDataSource.java Mon Jun 30 16:54:57 2014
@@ -18,6 +18,7 @@
  */
 package org.apache.aries.jpa.container.unit.impl;
 
+import java.sql.SQLFeatureNotSupportedException;
 import java.util.Hashtable;
 import java.util.concurrent.atomic.AtomicReference;
 
@@ -89,4 +90,8 @@ public class JndiDataSource extends Dela
     return ds.get();
   }
 
+  public java.util.logging.Logger getParentLogger() throws SQLFeatureNotSupportedException {
+      return null;
+  }
+
 }

Modified: aries/branches/subsystemsR6/jpa/jpa-container/src/main/java/org/apache/aries/jpa/container/unit/impl/PersistenceUnitInfoImpl.java
URL: http://svn.apache.org/viewvc/aries/branches/subsystemsR6/jpa/jpa-container/src/main/java/org/apache/aries/jpa/container/unit/impl/PersistenceUnitInfoImpl.java?rev=1606837&r1=1606836&r2=1606837&view=diff
==============================================================================
--- aries/branches/subsystemsR6/jpa/jpa-container/src/main/java/org/apache/aries/jpa/container/unit/impl/PersistenceUnitInfoImpl.java (original)
+++ aries/branches/subsystemsR6/jpa/jpa-container/src/main/java/org/apache/aries/jpa/container/unit/impl/PersistenceUnitInfoImpl.java Mon Jun 30 16:54:57 2014
@@ -68,6 +68,7 @@ public class PersistenceUnitInfoImpl imp
   
   /** Logger */
   private static final Logger _logger = LoggerFactory.getLogger("org.apache.aries.jpa.container");
+  private static final String JDBC_PREFIX = "javax.persistence.jdbc.";
   
   public PersistenceUnitInfoImpl (Bundle b, ParsedPersistenceUnit parsedData, 
       final ServiceReference providerRef, Boolean globalUsedatasourcefactory)
@@ -141,11 +142,8 @@ public class PersistenceUnitInfoImpl imp
             _logger.debug(NLS.MESSAGES.getMessage("using.datasource.factory", getPersistenceUnitName(),
                 bundle.getSymbolicName(), bundle.getVersion()));
           
-          jtaDSFDS.compareAndSet(null, new DataSourceFactoryDataSource(bundle, driverName,
-              props.getProperty("javax.persistence.jdbc.url"), 
-              props.getProperty("javax.persistence.jdbc.user"), 
-              props.getProperty("javax.persistence.jdbc.password"),
-              getTransactionType() == PersistenceUnitTransactionType.JTA));
+          boolean jta = getTransactionType() == PersistenceUnitTransactionType.JTA;
+          jtaDSFDS.compareAndSet(null, new DataSourceFactoryDataSource(bundle, driverName, getDsProps(props), jta)); 
           toReturn = jtaDSFDS.get();
         }
       }
@@ -153,6 +151,7 @@ public class PersistenceUnitInfoImpl imp
     return toReturn;
   }
 
+
   @SuppressWarnings("unchecked")
   public List<String> getManagedClassNames() {
     List<String> classes = (List<String>) unit.getPersistenceXmlMetadata().get(ParsedPersistenceUnit.MANAGED_CLASSES);
@@ -197,11 +196,7 @@ public class PersistenceUnitInfoImpl imp
             _logger.debug(NLS.MESSAGES.getMessage("using.datasource.factory", getPersistenceUnitName(),
                 bundle.getSymbolicName(), bundle.getVersion()));
           
-          nonJtaDSFDS.compareAndSet(null, new DataSourceFactoryDataSource(bundle, driverName,
-              props.getProperty("javax.persistence.jdbc.url"), 
-              props.getProperty("javax.persistence.jdbc.user"), 
-              props.getProperty("javax.persistence.jdbc.password"),
-              false));
+          nonJtaDSFDS.compareAndSet(null, new DataSourceFactoryDataSource(bundle, driverName, getDsProps(props), false));
           toReturn = nonJtaDSFDS.get();
         }
       }
@@ -291,4 +286,22 @@ public class PersistenceUnitInfoImpl imp
     }
   }
   
+  /**
+   * Return all properties that start with the prefix JDBC_PREFIX and cut off that prefix.
+   * 
+   * @param props
+   * @return
+   */
+  private Properties getDsProps(Properties props) {
+	  Properties dsProps = new Properties();
+	  for (Object keyO : props.keySet()) {
+		  String key = (String)keyO;
+		  if (key.startsWith(JDBC_PREFIX) && !key.equals(JDBC_PREFIX + "driver")) {
+			  dsProps.put(key.substring(JDBC_PREFIX.length()), props.get(key));
+		  }
+	  }
+	  return dsProps;
+  }
+
+  
 }
\ No newline at end of file

Modified: aries/branches/subsystemsR6/jpa/pom.xml
URL: http://svn.apache.org/viewvc/aries/branches/subsystemsR6/jpa/pom.xml?rev=1606837&r1=1606836&r2=1606837&view=diff
==============================================================================
--- aries/branches/subsystemsR6/jpa/pom.xml (original)
+++ aries/branches/subsystemsR6/jpa/pom.xml Mon Jun 30 16:54:57 2014
@@ -1,30 +1,33 @@
 <?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.
+ 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</groupId>
-        <artifactId>java5-parent</artifactId>
-        <version>1.0.0</version>
-        <relativePath />
+        <artifactId>parent</artifactId>
+        <version>2.0.0-SNAPSHOT</version>
+        <relativePath>../parent/pom.xml</relativePath>
     </parent>
-    <modelVersion>4.0.0</modelVersion>
+
     <groupId>org.apache.aries.jpa</groupId>
     <artifactId>jpa</artifactId>
     <packaging>pom</packaging>
@@ -36,9 +39,9 @@
         <module>jpa-container</module>
         <module>jpa-container-context</module>
         <module>jpa-blueprint-aries</module>
-<!--        <module>jpa-container-eclipselink-adapter</module> -->
+        <!--  <module>jpa-container-eclipselink-adapter</module> -->
         <module>jpa-container-testbundle</module>
-<!--        <module>jpa-container-testbundle-eclipselink</module> -->
+        <!--  <module>jpa-container-testbundle-eclipselink</module> -->
         <module>jpa-container-advancedtestbundle</module>
         <module>jpa-container-itest</module>
         <module>jpa-blueprint-testbundle</module>

Modified: aries/branches/subsystemsR6/parent/pom.xml
URL: http://svn.apache.org/viewvc/aries/branches/subsystemsR6/parent/pom.xml?rev=1606837&r1=1606836&r2=1606837&view=diff
==============================================================================
--- aries/branches/subsystemsR6/parent/pom.xml (original)
+++ aries/branches/subsystemsR6/parent/pom.xml Mon Jun 30 16:54:57 2014
@@ -25,18 +25,18 @@
     <parent>
         <groupId>org.apache</groupId>
         <artifactId>apache</artifactId>
-        <version>7</version>
+        <version>14</version>
         <relativePath />
     </parent>
 
     <groupId>org.apache.aries</groupId>
     <artifactId>parent</artifactId>
-    <name>Aries :: Top Parent POM</name>
-    <version>1.0.1-SNAPSHOT</version>
+    <name>Aries :: Parent POM</name>
+    <version>2.0.0-SNAPSHOT</version>
     <packaging>pom</packaging>
 
     <description>
-        Aries top-level parent pom
+        Aries parent pom
     </description>
 
     <url>http://aries.apache.org</url>
@@ -100,11 +100,11 @@
                 <enabled>false</enabled>
             </releases>
         </repository>
-        
+
         <repository>
-          <id>EclipseLink Repo</id>
-          <url>http://download.eclipse.org/rt/eclipselink/maven.repo/</url>
-        </repository>        
+            <id>EclipseLink Repo</id>
+            <url>http://download.eclipse.org/rt/eclipselink/maven.repo/</url>
+        </repository>
     </repositories>
 
     <pluginRepositories>
@@ -139,12 +139,141 @@
         </pluginRepository>
     </pluginRepositories>
 
-    <modules>
-        <module>default-parent</module>
-    </modules>
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>junit</groupId>
+                <artifactId>junit</artifactId>
+                <version>4.8.1</version>
+            </dependency>
+            <dependency>
+                <groupId>org.ops4j.pax.logging</groupId>
+                <artifactId>pax-logging-api</artifactId>
+                <version>1.7.2</version>
+            </dependency>
+            <dependency>
+                <groupId>org.ops4j.pax.logging</groupId>
+                <artifactId>pax-logging-service</artifactId>
+                <version>1.7.2</version>
+                <exclusions>
+                    <exclusion>
+                        <groupId>com.sun.jdmk</groupId>
+                        <artifactId>jmxtools</artifactId>
+                    </exclusion>
+                    <exclusion>
+                        <groupId>com.sun.jmx</groupId>
+                        <artifactId>jmxri</artifactId>
+                    </exclusion>
+                    <exclusion>
+                        <groupId>javax.mail</groupId>
+                        <artifactId>mail</artifactId>
+                    </exclusion>
+                    <exclusion>
+                        <groupId>log4j</groupId>
+                        <artifactId>log4j</artifactId>
+                    </exclusion>
+                </exclusions>
+            </dependency>
+            <dependency>
+                <groupId>org.osgi</groupId>
+                <artifactId>org.osgi.core</artifactId>
+                <version>4.3.1</version>
+            </dependency>
+            <dependency>
+                <groupId>org.osgi</groupId>
+                <artifactId>org.osgi.compendium</artifactId>
+                <version>4.3.1</version>
+            </dependency>
+            <dependency>
+                <groupId>org.slf4j</groupId>
+                <artifactId>slf4j-api</artifactId>
+                <version>1.7.5</version>
+            </dependency>
+            <dependency>
+                <groupId>org.slf4j</groupId>
+                <artifactId>slf4j-simple</artifactId>
+                <version>1.7.5</version>
+            </dependency>
+
+        </dependencies>
+    </dependencyManagement>
+
+    <properties>
+        <!-- OSGi bundles properties -->
+        <aries.osgi.import.defaults />
+        <aries.osgi.import.before.defaults />
+        <aries.osgi.import.additional />
+        <aries.osgi.import.pkg>
+            org.apache.aries.*,
+            ${aries.osgi.import.before.defaults},
+            ${aries.osgi.import.defaults},
+            ${aries.osgi.import.additional},
+            *
+        </aries.osgi.import.pkg>
+        <aries.osgi.activator />
+        <aries.osgi.failok>false</aries.osgi.failok>
+        <!--This is the default (consumer policy) range - override in the pom if you need a provider range -->
+        <aries.osgi.import.default.version>[$(version;==;$(@)),$(version;+;$(@)))</aries.osgi.import.default.version>
+        <aries.osgi.private.pkg>${project.artifactId}*.impl</aries.osgi.private.pkg>
+        <aries.osgi.export>${aries.osgi.export.pkg};-noimport:=true</aries.osgi.export>
+        <aries.osgi.export.pkg>!*.impl;${project.artifactId}*</aries.osgi.export.pkg>
+
+        <aries.osgi.version>version=${project.version}</aries.osgi.version>
+
+        <aries.osgi.split.pkg>-split-package:=first</aries.osgi.split.pkg>
+        <aries.osgi.import>${aries.osgi.import.pkg}</aries.osgi.import>
+        <aries.osgi.dynamic />
+        <aries.osgi.symbolic.name>${project.artifactId}</aries.osgi.symbolic.name>
+        <aries.osgi.exclude.dependencies>false</aries.osgi.exclude.dependencies>
+        <aries.osgi.remove.headers>Ignore-Package,Include-Resource,Private-Package,Bundle-DocURL</aries.osgi.remove.headers>
+        <aries.osgi.include.resource>{maven-resources}</aries.osgi.include.resource>
+        <aries.javadoc.exclude.packages>${aries.osgi.private.pkg}</aries.javadoc.exclude.packages>
+        <lastReleaseVersion>RELEASE</lastReleaseVersion>
+    </properties>
 
     <build>
         <defaultGoal>install</defaultGoal>
+
+        <resources>
+            <resource>
+                <directory>${project.basedir}/src/main/resources</directory>
+                <filtering>false</filtering>
+                <includes>
+                    <include>**/*</include>
+                </includes>
+            </resource>
+            <resource>
+                <directory>${project.basedir}/src/main/filtered-resources</directory>
+                <filtering>true</filtering>
+                <includes>
+                    <include>**/*</include>
+                </includes>
+            </resource>
+            <resource>
+                <directory>${project.build.sourceDirectory}</directory>
+                <includes>
+                    <include>**/packageinfo</include>
+                </includes>
+            </resource>
+        </resources>
+
+        <testResources>
+            <testResource>
+                <directory>${project.basedir}/src/test/resources</directory>
+                <filtering>false</filtering>
+                <includes>
+                    <include>**/*</include>
+                </includes>
+            </testResource>
+            <testResource>
+                <directory>${project.basedir}/src/test/filtered-resources</directory>
+                <filtering>true</filtering>
+                <includes>
+                    <include>**/*</include>
+                </includes>
+            </testResource>
+        </testResources>
+
         <pluginManagement>
             <plugins>
                 <plugin>
@@ -155,9 +284,304 @@
                         <autoVersionSubmodules>true</autoVersionSubmodules>
                     </configuration>
                 </plugin>
+                <!--TODO TEXT. This plugin's configuration is used in m2e only.-->
+                <plugin>
+                    <groupId>org.eclipse.m2e</groupId>
+                    <artifactId>lifecycle-mapping</artifactId>
+                    <version>1.0.0</version>
+                    <configuration>
+                        <lifecycleMappingMetadata>
+                            <pluginExecutions>
+                                <pluginExecution>
+                                    <pluginExecutionFilter>
+                                        <groupId>
+                                            org.apache.servicemix.tooling
+                                        </groupId>
+                                        <artifactId>
+                                            depends-maven-plugin
+                                        </artifactId>
+                                        <versionRange>
+                                            [1.2,)
+                                        </versionRange>
+                                        <goals>
+                                            <goal>
+                                                generate-depends-file
+                                            </goal>
+                                        </goals>
+                                    </pluginExecutionFilter>
+                                    <action>
+                                        <ignore />
+                                    </action>
+                                </pluginExecution>
+                                <pluginExecution>
+                                    <pluginExecutionFilter>
+                                        <groupId>
+                                            org.apache.maven.plugins
+                                        </groupId>
+                                        <artifactId>
+                                            maven-antrun-plugin
+                                        </artifactId>
+                                        <versionRange>
+                                            [1.2,)
+                                        </versionRange>
+                                        <goals>
+                                            <goal>run</goal>
+                                        </goals>
+                                    </pluginExecutionFilter>
+                                    <action>
+                                        <ignore />
+                                    </action>
+                                </pluginExecution>
+                                <pluginExecution>
+                                    <pluginExecutionFilter>
+                                        <groupId>
+                                            org.codehaus.mojo
+                                        </groupId>
+                                        <artifactId>
+                                            properties-maven-plugin
+                                        </artifactId>
+                                        <versionRange>
+                                            [1.0-alpha-2,)
+                                        </versionRange>
+                                        <goals>
+                                            <goal>
+                                                read-project-properties
+                                            </goal>
+                                        </goals>
+                                    </pluginExecutionFilter>
+                                    <action>
+                                        <ignore />
+                                    </action>
+                                </pluginExecution>
+                                <pluginExecution>
+                                    <pluginExecutionFilter>
+                                        <groupId>
+                                            org.ops4j.pax.exam
+                                        </groupId>
+                                        <artifactId>
+                                            maven-paxexam-plugin
+                                        </artifactId>
+                                        <versionRange>
+                                            [1.2.3,)
+                                        </versionRange>
+                                        <goals>
+                                            <goal>
+                                                generate-depends-file
+                                            </goal>
+                                        </goals>
+                                    </pluginExecutionFilter>
+                                    <action>
+                                        <ignore />
+                                    </action>
+                                </pluginExecution>
+                            </pluginExecutions>
+                        </lifecycleMappingMetadata>
+                    </configuration>
+                </plugin>
+                <plugin>
+                    <groupId>org.apache.maven.plugins</groupId>
+                    <artifactId>maven-resources-plugin</artifactId>
+                    <configuration>
+                        <encoding>UTF-8</encoding>
+                    </configuration>
+                </plugin>
+                <plugin>
+                    <groupId>org.apache.maven.plugins</groupId>
+                    <artifactId>maven-shade-plugin</artifactId>
+                    <version>1.2.2</version>
+                </plugin>
+                <plugin>
+                    <groupId>org.apache.maven.plugins</groupId>
+                    <artifactId>maven-surefire-plugin</artifactId>
+                    <configuration>
+                        <redirectTestOutputToFile>true</redirectTestOutputToFile>
+                        <forkMode>once</forkMode>
+                        <argLine>-enableassertions</argLine>
+                        <failIfNoTests>false</failIfNoTests>
+                        <workingDirectory>${project.build.directory}</workingDirectory>
+                        <excludes>
+                            <exclude>**/Abstract*.java</exclude>
+                            <exclude>**/Test*.java</exclude>
+                        </excludes>
+                        <includes>
+                            <include>**/*Test.java</include>
+                        </includes>
+                    </configuration>
+                </plugin>
+                <plugin>
+                    <groupId>org.codehaus.mojo</groupId>
+                    <artifactId>versions-maven-plugin</artifactId>
+                    <version>1.1</version>
+                    <configuration>
+                        <excludes>
+                            <!--  3.5.0.v20090520 < 3.3.0-v20070530 -->
+                            <exclude>org.eclipse:osgi</exclude>
+                            <!-- 2.0.0-SNAPSHOT < 2.0.0-beta -->
+                            <exclude>org.apache.openjpa:openjpa</exclude>
+                            <!-- maven 3.0 components don't work with 2.0 -->
+                            <exclude>org.apache.maven:maven-plugin-api</exclude>
+                            <exclude>org.apache.maven:maven-project</exclude>
+                            <exclude>org.apache.maven:maven-artifact</exclude>
+                            <exclude>org.apache.maven:maven-archiver</exclude>
+                        </excludes>
+                    </configuration>
+                </plugin>
+                <plugin>
+                    <groupId>org.codehaus.mojo</groupId>
+                    <artifactId>findbugs-maven-plugin</artifactId>
+                    <version>2.3.1</version>
+                </plugin>
+                <plugin>
+                    <groupId>org.ops4j.pax.exam</groupId>
+                    <artifactId>maven-paxexam-plugin</artifactId>
+                    <version>1.2.3</version>
+                </plugin>
+                <plugin>
+                    <groupId>org.apache.maven.plugins</groupId>
+                    <artifactId>maven-javadoc-plugin</artifactId>
+                    <version>2.7</version>
+                </plugin>
+                <plugin>
+                    <groupId>org.apache.maven.plugins</groupId>
+                    <artifactId>maven-compiler-plugin</artifactId>
+                    <version>3.1</version>
+                    <configuration>
+                        <optimize>true</optimize>
+                        <debug>true</debug>
+                        <showDeprecation>true</showDeprecation>
+                        <showWarnings>true</showWarnings>
+                        <source>1.6</source>
+                        <target>1.6</target>
+                    </configuration>
+                </plugin>
+                <plugin>
+                    <groupId>org.apache.aries.versioning</groupId>
+                    <artifactId>org.apache.aries.versioning.plugin</artifactId>
+                    <version>0.3.0</version>
+                    <configuration>
+                        <oldArtifact>${project.groupId}:${project.artifactId}:${lastReleaseVersion}</oldArtifact>
+                    </configuration>
+                </plugin>
             </plugins>
         </pluginManagement>
-    </build> 
+        <plugins>
+            <plugin>
+                <groupId>org.apache.aries.versioning</groupId>
+                <artifactId>org.apache.aries.versioning.plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>default-verify</id>
+                        <phase>verify</phase>
+                        <goals>
+                            <goal>version-check</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-remote-resources-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <goals>
+                            <goal>process</goal>
+                        </goals>
+                        <configuration>
+                            <resourceBundles>
+                                <resourceBundle>org.apache:apache-jar-resource-bundle:1.4</resourceBundle>
+                            </resourceBundles>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-enforcer-plugin</artifactId>
+                <dependencies>
+                    <dependency>
+                        <groupId>org.codehaus.mojo</groupId>
+                        <artifactId>animal-sniffer-enforcer-rule</artifactId>
+                        <version>1.6</version>
+                    </dependency>
+                </dependencies>
+                <executions>
+                    <execution>
+                        <phase>validate</phase>
+                        <goals>
+                            <goal>enforce</goal>
+                        </goals>
+                        <configuration>
+                            <rules>
+                                <requireMavenVersion>
+                                    <version>[3.0,)</version>
+                                </requireMavenVersion>
+                                <requireJavaVersion>
+                                    <version>[1.6,)</version>
+                                </requireJavaVersion>
+                            </rules>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>ianal-maven-plugin</artifactId>
+                <version>1.0-alpha-1</version>
+                <executions>
+                    <execution>
+                        <goals>
+                            <goal>verify-legal-files</goal>
+                        </goals>
+                        <configuration>
+                            <strict>true</strict>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>findbugs-maven-plugin</artifactId>
+                <version>2.3.1</version>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.felix</groupId>
+                <artifactId>maven-bundle-plugin</artifactId>
+                <version>2.4.1-SNAPSHOT</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>$&lt;range;[==,=+)&gt;</_provider-policy>
+                        <Export-Service>${aries.osgi.export.service}</Export-Service>
+                        <Import-Service>${aries.osgi.import.service}</Import-Service>
+                    </instructions>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-javadoc-plugin</artifactId>
+                <configuration>
+                    <source>1.7</source>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
 
     <profiles>
         <profile>
@@ -168,7 +592,6 @@
                     <value>strict</value>
                 </property>
             </activation>
-
             <build>
                 <plugins>
                     <plugin>
@@ -221,22 +644,156 @@
                             <excludes>
                                 <exclude>**/target/**/*</exclude>
                                 <exclude>**/appended-resources/**/*</exclude>
-                                <exclude>**/dependency-reduced-pom.xml</exclude> 
+                                <exclude>**/dependency-reduced-pom.xml</exclude>
                                 <exclude>**/velocity.log</exclude>
                                 <exclude>**/DEPENDENCIES</exclude>
+                                <!-- exclude IntelliJ IDEA generated files -->
+                                <exclude>**/*.iml</exclude>
+                                <exclude>**/*.ipr</exclude>
+                                <exclude>**/*.iws</exclude>
+                                <exclude>**/.idea/**/*</exclude>
+                                <!-- exclude Eclipse IDE generated files -->
+                                <exclude>**/.project</exclude>
+                                <exclude>**/.classpath</exclude>
+                                <exclude>**/eclipse-classes/**/*</exclude>
                                 <!-- manifest files don't support comments so don't contain the ASL2.0 header -->
                                 <exclude>**/APPLICATION.MF</exclude>
                                 <exclude>**/MANIFEST.MF</exclude>
                                 <exclude>**/*.MF</exclude>
                                 <!--RAT doesn't seem to recognize MIT style licenses-->
                                 <exclude>manual/src/styles/print.css</exclude>
+                                <!-- RAT doesn't recognize BSD license in transaction-manager logger -->
+                                <exclude>**/objectweb/howl/log/Logger.java</exclude>
                             </excludes>
                         </configuration>
                     </plugin>
                 </plugins>
             </build>
         </profile>
-
+        <profile>
+            <id>license-check</id>
+            <pluginRepositories>
+                <pluginRepository>
+                    <id>mc-release</id>
+                    <url>http://mc-repo.googlecode.com/svn/maven2/releases</url>
+                    <snapshots>
+                        <enabled>false</enabled>
+                    </snapshots>
+                    <releases>
+                        <enabled>true</enabled>
+                    </releases>
+                </pluginRepository>
+            </pluginRepositories>
+            <build>
+                <defaultGoal>license:check</defaultGoal>
+                <plugins>
+                    <plugin>
+                        <groupId>com.google.code.maven-license-plugin</groupId>
+                        <artifactId>maven-license-plugin</artifactId>
+                        <version>1.4.0</version>
+                        <executions>
+                            <execution>
+                                <goals>
+                                    <goal>check</goal>
+                                </goals>
+                            </execution>
+                        </executions>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
     </profiles>
+
+    <reporting>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-javadoc-plugin</artifactId>
+                <version>2.7</version>
+                <reportSets>
+                    <reportSet>
+                        <reports>
+                            <report>javadoc</report>
+                            <report>test-javadoc</report>
+                            <report>aggregate</report>
+                        </reports>
+                    </reportSet>
+                </reportSets>
+                <configuration>
+                    <excludePackageNames>${aries.javadoc.exclude.packages}</excludePackageNames>
+                    <quiet>true</quiet>
+                    <source>1.7</source>
+                    <links>
+                        <link>http://java.sun.com/j2se/1.7.0/docs/api</link>
+                        <link>http://www.osgi.org/javadoc/r4v43/</link>
+                    </links>
+                    <tags>
+                        <tag>
+                            <name>goal</name>
+                            <placement>Xt</placement>
+                        </tag>
+                        <tag>
+                            <name>phase</name>
+                            <placement>Xt</placement>
+                        </tag>
+                        <tag>
+                            <name>execute</name>
+                            <placement>Xt</placement>
+                        </tag>
+                        <tag>
+                            <name>requiresDependencyResolution</name>
+                            <placement>Xt</placement>
+                        </tag>
+                        <tag>
+                            <name>parameter</name>
+                            <placement>Xf</placement>
+                        </tag>
+                        <tag>
+                            <name>required</name>
+                            <placement>Xf</placement>
+                        </tag>
+                        <tag>
+                            <name>readonly</name>
+                            <placement>Xf</placement>
+                        </tag>
+                        <tag>
+                            <name>component</name>
+                            <placement>Xf</placement>
+                        </tag>
+                        <tag>
+                            <name>plexus.component</name>
+                            <placement>Xf</placement>
+                        </tag>
+                        <tag>
+                            <name>plexus.requirement</name>
+                            <placement>Xf</placement>
+                        </tag>
+                        <tag>
+                            <name>Immutable</name>
+                            <placement>t</placement>
+                        </tag>
+                        <tag>
+                            <name>ThreadSafe</name>
+                            <placement>t</placement>
+                        </tag>
+                    </tags>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>findbugs-maven-plugin</artifactId>
+                <version>2.3.1</version>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-pmd-plugin</artifactId>
+                <version>2.4</version>
+                <configuration>
+                    <targetJdk>1.7</targetJdk>
+                </configuration>
+            </plugin>
+        </plugins>
+    </reporting>
+
 </project>
 

Modified: aries/branches/subsystemsR6/pom.xml
URL: http://svn.apache.org/viewvc/aries/branches/subsystemsR6/pom.xml?rev=1606837&r1=1606836&r2=1606837&view=diff
==============================================================================
--- aries/branches/subsystemsR6/pom.xml (original)
+++ aries/branches/subsystemsR6/pom.xml Mon Jun 30 16:54:57 2014
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache</groupId>
         <artifactId>apache</artifactId>
-        <version>6</version>
+        <version>14</version>
     </parent>
 
     <!-- This pom is for convenience in building several aries subprojects at once.
@@ -41,7 +41,7 @@
         <module>eba-maven-plugin</module>
         <module>testsupport</module>
         <module>util</module>
-        <module>versioning</module>
+        <!--module>versioning</module-->
         <module>proxy</module>
         <module>quiesce</module>
         <module>blueprint</module>
@@ -58,6 +58,7 @@
     </modules>
 
     <build>
+        <defaultGoal>install</defaultGoal>
         <plugins>
             <plugin>
                 <artifactId>maven-deploy-plugin</artifactId>

Modified: aries/branches/subsystemsR6/proxy/pom.xml
URL: http://svn.apache.org/viewvc/aries/branches/subsystemsR6/proxy/pom.xml?rev=1606837&r1=1606836&r2=1606837&view=diff
==============================================================================
--- aries/branches/subsystemsR6/proxy/pom.xml (original)
+++ aries/branches/subsystemsR6/proxy/pom.xml Mon Jun 30 16:54:57 2014
@@ -1,3 +1,4 @@
+<?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
@@ -18,29 +19,29 @@
 -->
 <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</groupId>
-        <artifactId>java5-parent</artifactId>
-        <version>1.0.0</version>
-        <relativePath />
+        <artifactId>parent</artifactId>
+        <version>2.0.0-SNAPSHOT</version>
+        <relativePath>../parent/pom.xml</relativePath>
     </parent>  
 
-    <modelVersion>4.0.0</modelVersion>
     <groupId>org.apache.aries.proxy</groupId>
     <artifactId>proxy</artifactId>
     <name>Apache Aries Class Proxy</name>
     <packaging>pom</packaging>
     <version>1.0.1-SNAPSHOT</version>
-
     <description>
        A common proxy class generation service that can be used by blueprint and jndi and others.
     </description>
 
     <modules>
-      <module>proxy-api</module>
-      <module>proxy-impl</module>
-      <module>proxy-bundle</module>
-      <module>proxy-itests</module>
+        <module>proxy-api</module>
+        <module>proxy-impl</module>
+        <module>proxy-bundle</module>
+        <module>proxy-itests</module>
     </modules>
 
 </project>

Modified: aries/branches/subsystemsR6/proxy/proxy-api/pom.xml
URL: http://svn.apache.org/viewvc/aries/branches/subsystemsR6/proxy/proxy-api/pom.xml?rev=1606837&r1=1606836&r2=1606837&view=diff
==============================================================================
--- aries/branches/subsystemsR6/proxy/proxy-api/pom.xml (original)
+++ aries/branches/subsystemsR6/proxy/proxy-api/pom.xml Mon Jun 30 16:54:57 2014
@@ -1,3 +1,4 @@
+<?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
@@ -17,12 +18,14 @@
  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</groupId>
-        <artifactId>java5-parent</artifactId>
-        <version>1.0.0</version>
-        <relativePath />
+        <groupId>org.apache.aries</groupId>
+        <artifactId>parent</artifactId>
+        <version>2.0.0-SNAPSHOT</version>
+        <relativePath>../../parent/pom.xml</relativePath>
     </parent>
 
     <groupId>org.apache.aries.proxy</groupId>
@@ -34,16 +37,14 @@
         This bundle contains the Apache Aries Proxy service API.
     </description>
 
-     <scm>
-         <connection>scm:svn:http://svn.apache.org/repos/asf/aries/trunk/proxy/proxy-api</connection>
-         <developerConnection>scm:svn:https://svn.apache.org/repos/asf/aries/trunk/proxy/proxy-api</developerConnection>
-         <url>http://svn.apache.org/viewvc/aries/trunk/proxy/proxy-api</url>
-     </scm>
-
+    <scm>
+        <connection>scm:svn:http://svn.apache.org/repos/asf/aries/trunk/proxy/proxy-api</connection>
+        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/aries/trunk/proxy/proxy-api</developerConnection>
+        <url>http://svn.apache.org/viewvc/aries/trunk/proxy/proxy-api</url>
+    </scm>
 
     <properties>
         <!-- Export package versions are maintained in packageinfo files -->
-
         <aries.osgi.export.pkg>
             org.apache.aries.proxy*
         </aries.osgi.export.pkg>
@@ -56,15 +57,14 @@
             org.osgi.framework.hooks.weaving;resolution:=optional,
             *
         </aries.osgi.import.pkg>
-        <aries.osgi.private.pkg>
-        </aries.osgi.private.pkg>
+        <aries.osgi.private.pkg></aries.osgi.private.pkg>
+        <lastReleaseVersion>1.0.0</lastReleaseVersion>
     </properties>
 
     <dependencies>
         <dependency>
             <groupId>org.osgi</groupId>
             <artifactId>org.osgi.core</artifactId>
-            <version>4.3.0</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
@@ -79,7 +79,6 @@
             <plugin>
                 <groupId>org.apache.aries.versioning</groupId>
                 <artifactId>org.apache.aries.versioning.plugin</artifactId>
-                <version>0.1.0</version>
                 <executions>
                     <execution>
                         <id>default-verify</id>
@@ -87,15 +86,10 @@
                         <goals>
                             <goal>version-check</goal>
                         </goals>
-                        <configuration>
-                            <oldArtifact>org.apache.aries.proxy:org.apache.aries.proxy.api:1.0.0</oldArtifact>
-                        </configuration>
                     </execution>
                 </executions>
             </plugin>
         </plugins>
     </build>
-    
-    
-     
+
 </project>

Modified: aries/branches/subsystemsR6/proxy/proxy-bundle/pom.xml
URL: http://svn.apache.org/viewvc/aries/branches/subsystemsR6/proxy/proxy-bundle/pom.xml?rev=1606837&r1=1606836&r2=1606837&view=diff
==============================================================================
--- aries/branches/subsystemsR6/proxy/proxy-bundle/pom.xml (original)
+++ aries/branches/subsystemsR6/proxy/proxy-bundle/pom.xml Mon Jun 30 16:54:57 2014
@@ -1,3 +1,4 @@
+<?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
@@ -17,12 +18,14 @@
  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</groupId>
-          <artifactId>java5-parent</artifactId>
-          <version>1.0.0</version>
-          <relativePath />
+        <groupId>org.apache.aries</groupId>
+        <artifactId>parent</artifactId>
+        <version>2.0.0-SNAPSHOT</version>
+        <relativePath>../../parent/pom.xml</relativePath>
     </parent>
 
     <groupId>org.apache.aries.proxy</groupId>
@@ -40,7 +43,6 @@
         <url>http://svn.apache.org/viewvc/aries/trunk/proxy/proxy-bundle</url>
     </scm>
 
-
     <properties>
         <!-- Export package versions are maintained in packageinfo files -->
         <aries.osgi.activator>
@@ -57,31 +59,32 @@
             org.osgi.framework;version="[1.5,2)",
             org.osgi.framework.hooks.weaving;resolution:=optional,
             org.osgi.framework.wiring;resolution:=optional,
+            org.slf4j;version="[1.6,2)";resolution:=optional,
             *
         </aries.osgi.import.pkg>
         <aries.osgi.private.pkg>
             org.apache.aries.proxy.impl*,
             org.apache.aries.proxy.nls
         </aries.osgi.private.pkg>
+        <lastReleaseVersion>1.0.1</lastReleaseVersion>
     </properties>
 
     <dependencies>
         <dependency>
             <groupId>org.apache.aries.proxy</groupId>
             <artifactId>org.apache.aries.proxy.api</artifactId>
-            <version>1.0.0</version>
+            <version>1.0.1-SNAPSHOT</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
             <groupId>org.apache.aries.proxy</groupId>
             <artifactId>org.apache.aries.proxy.impl</artifactId>
-            <version>1.0.2-SNAPSHOT</version>
+            <version>1.0.3-SNAPSHOT</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
             <groupId>org.osgi</groupId>
             <artifactId>org.osgi.core</artifactId>
-            <version>4.3.0</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
@@ -91,9 +94,9 @@
         </dependency>
         <dependency>
             <groupId>org.ow2.asm</groupId>
-            <artifactId>asm-all</artifactId>
+            <artifactId>asm-debug-all</artifactId>
             <optional>true</optional>
-            <version>4.0</version>
+            <version>5.0.3</version>
         </dependency>
         <dependency>
             <groupId>org.slf4j</groupId>
@@ -102,13 +105,11 @@
         </dependency>
     </dependencies>
 
-  
     <build>
         <plugins>
             <plugin>
                 <groupId>org.apache.aries.versioning</groupId>
                 <artifactId>org.apache.aries.versioning.plugin</artifactId>
-                <version>0.1.0</version>
                 <executions>
                     <execution>
                         <id>default-verify</id>
@@ -116,12 +117,10 @@
                         <goals>
                             <goal>version-check</goal>
                         </goals>
-                        <configuration>
-                            <oldArtifact>org.apache.aries.proxy:org.apache.aries.proxy:1.0.1</oldArtifact>
-                        </configuration>
                     </execution>
                 </executions>
             </plugin>
         </plugins>
     </build>
+
 </project>

Modified: aries/branches/subsystemsR6/proxy/proxy-impl/pom.xml
URL: http://svn.apache.org/viewvc/aries/branches/subsystemsR6/proxy/proxy-impl/pom.xml?rev=1606837&r1=1606836&r2=1606837&view=diff
==============================================================================
--- aries/branches/subsystemsR6/proxy/proxy-impl/pom.xml (original)
+++ aries/branches/subsystemsR6/proxy/proxy-impl/pom.xml Mon Jun 30 16:54:57 2014
@@ -1,3 +1,4 @@
+<?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
@@ -17,12 +18,14 @@
  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</groupId>
-         <artifactId>java5-parent</artifactId>
-         <version>1.0.0</version>
-         <relativePath />
+        <groupId>org.apache.aries</groupId>
+        <artifactId>parent</artifactId>
+        <version>2.0.0-SNAPSHOT</version>
+        <relativePath>../../parent/pom.xml</relativePath>
     </parent>
 
     <groupId>org.apache.aries.proxy</groupId>
@@ -35,15 +38,14 @@
     </description>
 
     <scm>
-         <connection>scm:svn:http://svn.apache.org/repos/asf/aries/trunk/proxy/proxy-impl</connection>
-         <developerConnection>scm:svn:https://svn.apache.org/repos/asf/aries/trunk/proxy/proxy-impl</developerConnection>
-         <url>http://svn.apache.org/viewvc/aries/trunk/proxy/proxy-impl</url>
+        <connection>scm:svn:http://svn.apache.org/repos/asf/aries/trunk/proxy/proxy-impl</connection>
+        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/aries/trunk/proxy/proxy-impl</developerConnection>
+        <url>http://svn.apache.org/viewvc/aries/trunk/proxy/proxy-impl</url>
     </scm>
 
-
     <properties>
         <aries.osgi.export.pkg>
-          org.apache.aries.proxy.weaving;
+            org.apache.aries.proxy.weaving;
         </aries.osgi.export.pkg>
         <aries.osgi.activator>
             org.apache.aries.proxy.impl.ProxyManagerActivator
@@ -60,19 +62,21 @@
             org.osgi.framework;version="[1.5,2)",
             org.osgi.framework.hooks.weaving;resolution:=optional,
             org.osgi.framework.wiring;resolution:=optional,
+            org.slf4j;version="[1.6,2)";resolution:=optional,
             *
         </aries.osgi.import.pkg>
         <aries.osgi.private.pkg>
             org.apache.aries.proxy.impl*
         </aries.osgi.private.pkg>
+        <lastReleaseVersion>1.0.2</lastReleaseVersion>
     </properties>
 
     <dependencies>
         <dependency>
             <groupId>org.ow2.asm</groupId>
-            <artifactId>asm-all</artifactId>
+            <artifactId>asm-debug-all</artifactId>
             <optional>true</optional>
-            <version>4.0</version>
+            <version>5.0.3</version>
         </dependency>
         <dependency>
             <groupId>org.slf4j</groupId>
@@ -84,20 +88,19 @@
             <artifactId>slf4j-simple</artifactId>
             <scope>test</scope>
         </dependency>
-        
+
         <dependency>
             <groupId>org.osgi</groupId>
             <artifactId>org.osgi.core</artifactId>
-            <version>4.3.0</version>
             <scope>provided</scope>
         </dependency>
-        
+
         <dependency>
             <groupId>org.osgi</groupId>
             <artifactId>org.osgi.compendium</artifactId>
             <scope>provided</scope>
         </dependency>
-        
+
         <dependency>
             <groupId>junit</groupId>
             <artifactId>junit</artifactId>
@@ -110,83 +113,91 @@
             <scope>test</scope>
         </dependency>
         <dependency>
-        	<groupId>org.apache.aries.proxy</groupId>
-        	<artifactId>org.apache.aries.proxy.api</artifactId>
-            <version>1.0.0</version>
+            <groupId>org.apache.aries.proxy</groupId>
+            <artifactId>org.apache.aries.proxy.api</artifactId>
+            <version>1.0.1-SNAPSHOT</version>
         </dependency>
     </dependencies>
 
     <build>
-     <plugins>
-       <plugin>
-            <groupId>org.apache.maven.plugins</groupId>
-            <artifactId>maven-antrun-plugin</artifactId>
-         <executions>
-           <execution>
-             <phase>process-classes</phase>
-             <configuration>
-               <tasks>
-                 <!-- run the Synthesizer on the WovenProxy class -->
-                 <java classname="org.apache.aries.proxy.synthesizer.Synthesizer" classpathref="maven.runtime.classpath" fork="false">
-                       <arg value="${project.build.outputDirectory}/org/apache/aries/proxy/weaving/WovenProxy.class" />
-                 </java>
-                 
-                 <delete dir="${project.build.outputDirectory}/org/apache/aries/proxy/synthesizer" />
-                 
-               </tasks>
-             </configuration>
-             <goals>
-               <goal>run</goal>
-             </goals>
-           </execution>
-         </executions>
-       </plugin>
-
-       <plugin>
-	       <groupId>org.apache.maven.plugins</groupId>
-	       <artifactId>maven-enforcer-plugin</artifactId>
-	       <executions>
-	           <execution>
-	               <phase>validate</phase>
-	               <goals>
-	                   <goal>enforce</goal>
-	               </goals>
-	               <configuration>
-	                   <rules>
-	                       <requireJavaVersion>
-	                           <version>[1.5,)</version>
-	                       </requireJavaVersion>
-	                   </rules>
-	               </configuration>
-	           </execution>
-	           <execution>
-	             <id>check-java15</id>
-	             <phase>test</phase>
-	             <goals>
-	               <goal>enforce</goal>
-	             </goals>
-	             <configuration>
-	               <rules>
-	                 <checkSignatureRule implementation="org.codehaus.mojo.animal_sniffer.enforcer.CheckSignatureRule">
-	                   <ignoreDependencies>true</ignoreDependencies>
-	                   <ignores>
-	    			  <ignore>sun.reflect.*</ignore>
-	  				</ignores>
-	                   <signature>
-	                     <groupId>org.codehaus.mojo.signature</groupId>
-	                     <artifactId>java15</artifactId>
-	                     <version>1.0</version>
-	                   </signature>
-	                 </checkSignatureRule>
-	               </rules>
-	             </configuration>
-	           </execution>
-	       </executions>	       
-	   </plugin>
-	   <plugin>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <version>3.1</version>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-antrun-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <phase>process-classes</phase>
+                        <configuration>
+                            <tasks>
+                                <!-- run the Synthesizer on the WovenProxy class -->
+                                <java classname="org.apache.aries.proxy.synthesizer.Synthesizer"
+                                      classpathref="maven.runtime.classpath" fork="false">
+                                    <arg value="${project.build.outputDirectory}/org/apache/aries/proxy/weaving/WovenProxy.class"/>
+                                </java>
+
+                                <delete dir="${project.build.outputDirectory}/org/apache/aries/proxy/synthesizer"/>
+
+                            </tasks>
+                        </configuration>
+                        <goals>
+                            <goal>run</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-enforcer-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <phase>validate</phase>
+                        <goals>
+                            <goal>enforce</goal>
+                        </goals>
+                        <configuration>
+                            <rules>
+                                <requireJavaVersion>
+                                    <version>[1.6,)</version>
+                                </requireJavaVersion>
+                            </rules>
+                        </configuration>
+                    </execution>
+                    <!--
+                    <execution>
+                        <id>check-java15</id>
+                        <phase>test</phase>
+                        <goals>
+                            <goal>enforce</goal>
+                        </goals>
+                        <configuration>
+                            <rules>
+                                <checkSignatureRule
+                                        implementation="org.codehaus.mojo.animal_sniffer.enforcer.CheckSignatureRule">
+                                    <ignoreDependencies>true</ignoreDependencies>
+                                    <ignores>
+                                        <ignore>sun.reflect.*</ignore>
+                                    </ignores>
+                                    <signature>
+                                        <groupId>org.codehaus.mojo.signature</groupId>
+                                        <artifactId>java15</artifactId>
+                                        <version>1.0</version>
+                                    </signature>
+                                </checkSignatureRule>
+                            </rules>
+                        </configuration>
+                    </execution>
+                    -->
+                </executions>
+            </plugin>
+            <plugin>
                 <groupId>org.apache.aries.versioning</groupId>
                 <artifactId>org.apache.aries.versioning.plugin</artifactId>
-                <version>0.1.0</version>
                 <executions>
                     <execution>
                         <id>default-verify</id>
@@ -194,13 +205,10 @@
                         <goals>
                             <goal>version-check</goal>
                         </goals>
-                        <configuration>
-                            <oldArtifact>org.apache.aries.proxy:org.apache.aries.proxy.impl:1.0.1</oldArtifact>
-                        </configuration>
                     </execution>
                 </executions>
             </plugin>
-     </plugins>
+        </plugins>
     </build>
 
 </project>