FELIX-3167 Support new Password type for attributes
- export the MetaType API as version 1.2 (from the OSGi R 4.3 Compendium library)
- import ServiceTracker instead of embedding it
git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@1399635 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/metatype/pom.xml b/metatype/pom.xml
index 27dfed6..fb934f2 100644
--- a/metatype/pom.xml
+++ b/metatype/pom.xml
@@ -39,11 +39,13 @@
<groupId>org.osgi</groupId>
<artifactId>org.osgi.core</artifactId>
<version>4.0.0</version>
+ <scope>provided</scope>
</dependency>
<dependency>
<groupId>org.osgi</groupId>
<artifactId>org.osgi.compendium</artifactId>
- <version>4.0.0</version>
+ <version>4.3.0</version>
+ <scope>provided</scope>
</dependency>
<dependency>
<groupId>net.sf.kxml</groupId>
@@ -57,7 +59,7 @@
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
- <version>2.3.5</version>
+ <version>2.3.7</version>
<extensions>true</extensions>
<configuration>
<instructions>
@@ -70,12 +72,11 @@
</Bundle-DocURL>
<Export-Package>
org.apache.felix.metatype; version=1.2,
- org.osgi.service.metatype; version=1.1;provide:=true
+ org.osgi.service.metatype; provide:=true
</Export-Package>
<Private-Package>
org.apache.felix.metatype.internal,
- org.apache.felix.metatype.internal.l10n,
- org.osgi.util.tracker
+ org.apache.felix.metatype.internal.l10n
</Private-Package>
<Bundle-Activator>
org.apache.felix.metatype.internal.Activator
diff --git a/metatype/src/main/java/org/apache/felix/metatype/AD.java b/metatype/src/main/java/org/apache/felix/metatype/AD.java
index 4e88897..15b40d0 100644
--- a/metatype/src/main/java/org/apache/felix/metatype/AD.java
+++ b/metatype/src/main/java/org/apache/felix/metatype/AD.java
@@ -379,6 +379,10 @@
{
return AttributeDefinition.SHORT;
}
+ else if ( "Password".equals( typeString ) )
+ {
+ return AttributeDefinition.PASSWORD;
+ }
// finally fall back to string for illegal values
return AttributeDefinition.STRING;
@@ -469,6 +473,7 @@
case AttributeDefinition.DOUBLE:
return Double.valueOf( value );
case AttributeDefinition.STRING:
+ case AttributeDefinition.PASSWORD:
default:
return value;
}
diff --git a/metatype/src/test/java/org/apache/felix/metatype/ADTest.java b/metatype/src/test/java/org/apache/felix/metatype/ADTest.java
index 77bfcfd..5c4980b 100644
--- a/metatype/src/test/java/org/apache/felix/metatype/ADTest.java
+++ b/metatype/src/test/java/org/apache/felix/metatype/ADTest.java
@@ -130,6 +130,7 @@
assertEquals( AttributeDefinition.CHARACTER, AD.toType( "Char" ) );
assertEquals( AttributeDefinition.BOOLEAN, AD.toType( "Boolean" ) );
assertEquals( AttributeDefinition.SHORT, AD.toType( "Short" ) );
+ assertEquals( AttributeDefinition.PASSWORD, AD.toType( "Password" ) );
assertEquals( AttributeDefinition.STRING, AD.toType( "JohnDoe" ) );
}
}