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/(&(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"));
+
}
}