You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by gn...@apache.org on 2018/06/08 15:26:57 UTC

svn commit: r1833192 - in /felix/trunk/tools/maven-bundle-plugin/src: main/java/org/apache/felix/bundleplugin/JpaPlugin.java main/resources/org/apache/felix/bundleplugin/jpa.xsl test/java/org/apache/felix/bundleplugin/JpaPluginTest.java

Author: gnodet
Date: Fri Jun  8 15:26:57 2018
New Revision: 1833192

URL: http://svn.apache.org/viewvc?rev=1833192&view=rev
Log:
[FELIX-5794] maven-bundle-plugin fails to parse meta-persistence

Modified:
    felix/trunk/tools/maven-bundle-plugin/src/main/java/org/apache/felix/bundleplugin/JpaPlugin.java
    felix/trunk/tools/maven-bundle-plugin/src/main/resources/org/apache/felix/bundleplugin/jpa.xsl
    felix/trunk/tools/maven-bundle-plugin/src/test/java/org/apache/felix/bundleplugin/JpaPluginTest.java

Modified: felix/trunk/tools/maven-bundle-plugin/src/main/java/org/apache/felix/bundleplugin/JpaPlugin.java
URL: http://svn.apache.org/viewvc/felix/trunk/tools/maven-bundle-plugin/src/main/java/org/apache/felix/bundleplugin/JpaPlugin.java?rev=1833192&r1=1833191&r2=1833192&view=diff
==============================================================================
--- felix/trunk/tools/maven-bundle-plugin/src/main/java/org/apache/felix/bundleplugin/JpaPlugin.java (original)
+++ felix/trunk/tools/maven-bundle-plugin/src/main/java/org/apache/felix/bundleplugin/JpaPlugin.java Fri Jun  8 15:26:57 2018
@@ -27,6 +27,7 @@ import java.io.InputStream;
 import java.io.InputStreamReader;
 import java.net.URL;
 import java.util.HashSet;
+import java.util.LinkedHashSet;
 import java.util.Map;
 import java.util.Set;
 
@@ -134,7 +135,7 @@ System.err.println("Output: " + set.toSt
 
     public Set<String> analyze( InputStream in ) throws Exception
     {
-        Set<String> refers = new HashSet<String>();
+        Set<String> refers = new LinkedHashSet<String>();
         ByteArrayOutputStream bout = new ByteArrayOutputStream();
         javax.xml.transform.Result r = new StreamResult( bout );
         javax.xml.transform.Source s = new StreamSource( in );

Modified: felix/trunk/tools/maven-bundle-plugin/src/main/resources/org/apache/felix/bundleplugin/jpa.xsl
URL: http://svn.apache.org/viewvc/felix/trunk/tools/maven-bundle-plugin/src/main/resources/org/apache/felix/bundleplugin/jpa.xsl?rev=1833192&r1=1833191&r2=1833192&view=diff
==============================================================================
--- felix/trunk/tools/maven-bundle-plugin/src/main/resources/org/apache/felix/bundleplugin/jpa.xsl (original)
+++ felix/trunk/tools/maven-bundle-plugin/src/main/resources/org/apache/felix/bundleplugin/jpa.xsl Fri Jun  8 15:26:57 2018
@@ -136,19 +136,31 @@
     <xsl:template name="service-capability">
         <xsl:param name="interface"/>
         <xsl:param name="attributes" select="''"/>
-        <xsl:value-of select="concat('Provide-Capability: osgi.service;effective:=active;',
-                                         'objectClass=', $interface, ';',
-                                         $attributes,
-                                         $nl)"/>
+        <xsl:choose>
+            <xsl:when test="string-length($attributes)>0">
+                <xsl:value-of select="concat('Provide-Capability: osgi.service;effective:=active;',
+                                         'objectClass=', $interface, ';', $attributes, $nl)"/>
+            </xsl:when>
+            <xsl:otherwise>
+                <xsl:value-of select="concat('Provide-Capability: osgi.service;effective:=active;',
+                                         'objectClass=', $interface, $nl)"/>
+            </xsl:otherwise>
+        </xsl:choose>
     </xsl:template>
 
     <xsl:template name="service-requirement">
         <xsl:param name="interface"/>
         <xsl:param name="attributes" select="''"/>
-        <xsl:value-of select="concat('Require-Capability: osgi.service;effective:=active;',
-                                         'objectClass=', $interface, ';',
-                                         $attributes,
-                                         $nl)"/>
+        <xsl:choose>
+            <xsl:when test="string-length($attributes)>0">
+                <xsl:value-of select="concat('Require-Capability: osgi.service;effective:=active;',
+                                         'objectClass=', $interface, ';', $attributes, $nl)"/>
+            </xsl:when>
+            <xsl:otherwise>
+                <xsl:value-of select="concat('Require-Capability: osgi.service;effective:=active;',
+                                         'objectClass=', $interface, $nl)"/>
+            </xsl:otherwise>
+        </xsl:choose>
     </xsl:template>
 
 </xsl:stylesheet>

Modified: felix/trunk/tools/maven-bundle-plugin/src/test/java/org/apache/felix/bundleplugin/JpaPluginTest.java
URL: http://svn.apache.org/viewvc/felix/trunk/tools/maven-bundle-plugin/src/test/java/org/apache/felix/bundleplugin/JpaPluginTest.java?rev=1833192&r1=1833191&r2=1833192&view=diff
==============================================================================
--- felix/trunk/tools/maven-bundle-plugin/src/test/java/org/apache/felix/bundleplugin/JpaPluginTest.java (original)
+++ felix/trunk/tools/maven-bundle-plugin/src/test/java/org/apache/felix/bundleplugin/JpaPluginTest.java Fri Jun  8 15:26:57 2018
@@ -35,7 +35,7 @@ public class JpaPluginTest {
                         "        <jta-data-source>osgi:service/jdbc/h2DS</jta-data-source>\n" +
                         "    </persistence-unit>\n" +
                         "</persistence>";
-        String expectedReqs = "osgi.extender;osgi.extender=aries.jpa,osgi.service;effective:=active;objectClass=javax.transaction.TransactionManager;";
+        String expectedReqs = "osgi.extender;osgi.extender=aries.jpa,osgi.service;effective:=active;objectClass=javax.transaction.TransactionManager";
         assertTransformation(xmlStr, expectedReqs);
     }
 
@@ -46,7 +46,7 @@ public class JpaPluginTest {
                         "        <jta-data-source>osgi:service/javax.sql.DataSource/(&amp;(db=mydb)(version=3.1))</jta-data-source>\n" +
                         "    </persistence-unit>\n" +
                         "</persistence>";
-        String expectedReqs = "osgi.extender;osgi.extender=aries.jpa,osgi.service;effective:=active;objectClass=javax.sql.DataSource;filter:=\"(&(db=mydb)(version=3.1))\",osgi.service;effective:=active;objectClass=javax.transaction.TransactionManager;";
+        String expectedReqs = "osgi.extender;osgi.extender=aries.jpa,osgi.service;effective:=active;objectClass=javax.transaction.TransactionManager,osgi.service;effective:=active;objectClass=javax.sql.DataSource;filter:=\"(&(db=mydb)(version=3.1))\"";
         assertTransformation(xmlStr, expectedReqs);
     }
 
@@ -68,5 +68,6 @@ public class JpaPluginTest {
         plugin.analyzeJar(analyzer);
 
         assertEquals(expectedReqs, analyzer.getProperty("Require-Capability"));
+
     }
 }