Add a test case for xercesImpl
git-svn-id: https://svn.apache.org/repos/asf/maven/shared/trunk@568694 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/main/java/org/apache/maven/shared/osgi/DefaultMaven2OsgiConverter.java b/src/main/java/org/apache/maven/shared/osgi/DefaultMaven2OsgiConverter.java
index 6b0402d..8e44c60 100644
--- a/src/main/java/org/apache/maven/shared/osgi/DefaultMaven2OsgiConverter.java
+++ b/src/main/java/org/apache/maven/shared/osgi/DefaultMaven2OsgiConverter.java
@@ -122,7 +122,7 @@
}
if ( artifact.getArtifactId().startsWith( lastSection ) )
{
- String artifactId = artifact.getArtifactId().substring( lastSection.length() + 1 );
+ String artifactId = artifact.getArtifactId().substring( lastSection.length() );
if ( Character.isLetterOrDigit( artifactId.charAt( 0 ) ) )
{
return getBundleSymbolicName( artifact.getGroupId(), artifactId );
@@ -193,6 +193,12 @@
return null;
}
+ /* only one section as id doesn't seem enough, so ignore it */
+ if ( groupIdSections.length == 1 )
+ {
+ return null;
+ }
+
StringBuffer sb = new StringBuffer();
for ( int i = 0; i < groupIdSections.length; i++ )
{
diff --git a/src/test/java/org/apache/maven/shared/osgi/Maven2OsgiConverterTest.java b/src/test/java/org/apache/maven/shared/osgi/Maven2OsgiConverterTest.java
index 6923c6b..7582b91 100644
--- a/src/test/java/org/apache/maven/shared/osgi/Maven2OsgiConverterTest.java
+++ b/src/test/java/org/apache/maven/shared/osgi/Maven2OsgiConverterTest.java
@@ -51,6 +51,7 @@
artifact.setFile( getTestFile( "junit-3.8.2.jar" ) );
artifact.setGroupId( "junit" );
+ artifact.setArtifactId( "junit" );
s = maven2Osgi.getBundleSymbolicName( artifact );
assertEquals( "junit", s );
@@ -65,6 +66,12 @@
artifact.setArtifactId( "test" );
s = maven2Osgi.getBundleSymbolicName( artifact );
assertEquals( "test", s );
+
+ artifact.setFile( getTestFile( "xercesImpl-2.6.2.jar" ) );
+ artifact.setGroupId( "xerces" );
+ artifact.setArtifactId( "xercesImpl" );
+ s = maven2Osgi.getBundleSymbolicName( artifact );
+ assertEquals( "xerces.Impl", s );
}
public void testGetBundleFileName()
diff --git a/src/test/resources/xercesImpl-2.6.2.jar b/src/test/resources/xercesImpl-2.6.2.jar
new file mode 100644
index 0000000..f0fb0e8
--- /dev/null
+++ b/src/test/resources/xercesImpl-2.6.2.jar
Binary files differ