Author: cziegeler
Date: Wed Jul 24 06:56:26 2013
New Revision: 1506416

URL: http://svn.apache.org/r1506416
Log:
SLING-2976 :  Add support for instance name and description 

Modified:
    sling/trunk/bundles/extensions/discovery/support/pom.xml
    
sling/trunk/bundles/extensions/discovery/support/src/main/java/org/apache/sling/discovery/impl/support/StandardPropertyProvider.java

Modified: sling/trunk/bundles/extensions/discovery/support/pom.xml
URL: 
http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/discovery/support/pom.xml?rev=1506416&r1=1506415&r2=1506416&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/discovery/support/pom.xml (original)
+++ sling/trunk/bundles/extensions/discovery/support/pom.xml Wed Jul 24 
06:56:26 2013
@@ -82,5 +82,11 @@
             <version>1.0.0</version>
             <scope>provided</scope>
         </dependency>
+        <dependency>
+            <groupId>org.apache.sling</groupId>
+            <artifactId>org.apache.sling.settings</artifactId>
+            <version>1.2.3-SNAPSHOT</version>
+            <scope>provided</scope>
+        </dependency>
     </dependencies>
 </project>

Modified: 
sling/trunk/bundles/extensions/discovery/support/src/main/java/org/apache/sling/discovery/impl/support/StandardPropertyProvider.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/discovery/support/src/main/java/org/apache/sling/discovery/impl/support/StandardPropertyProvider.java?rev=1506416&r1=1506415&r2=1506416&view=diff
==============================================================================
--- 
sling/trunk/bundles/extensions/discovery/support/src/main/java/org/apache/sling/discovery/impl/support/StandardPropertyProvider.java
 (original)
+++ 
sling/trunk/bundles/extensions/discovery/support/src/main/java/org/apache/sling/discovery/impl/support/StandardPropertyProvider.java
 Wed Jul 24 06:56:26 2013
@@ -35,6 +35,7 @@ import org.apache.felix.scr.annotations.
 import org.apache.felix.scr.annotations.ReferencePolicy;
 import org.apache.sling.discovery.InstanceDescription;
 import org.apache.sling.discovery.PropertyProvider;
+import org.apache.sling.settings.SlingSettingsService;
 import org.osgi.framework.Constants;
 import org.osgi.framework.ServiceReference;
 import org.osgi.framework.ServiceRegistration;
@@ -55,24 +56,18 @@ public class StandardPropertyProvider {
 
     private volatile long changeCount;
 
-    private String instanceName;
-
-    private String instanceDescription;
-
     private ServiceRegistration propagationService;
 
     private final Map<Long, String[]> endpoints = new HashMap<Long, 
String[]>();
 
     private String endpointString;
 
+    @Reference SlingSettingsService settings;
+
     private Dictionary<String, Object> getRegistrationProperties() {
         final List<String> names = new ArrayList<String>();
-        if ( this.instanceName != null ) {
-            names.add(InstanceDescription.PROPERTY_NAME);
-        }
-        if ( this.instanceDescription != null ) {
-            names.add(InstanceDescription.PROPERTY_DESCRIPTION);
-        }
+        names.add(InstanceDescription.PROPERTY_NAME);
+        names.add(InstanceDescription.PROPERTY_DESCRIPTION);
         names.add(InstanceDescription.PROPERTY_ENDPOINTS);
 
         final StringBuilder sb = new StringBuilder();
@@ -101,17 +96,6 @@ public class StandardPropertyProvider {
         return serviceProps;
     }
 
-    private String getPropertyValue(final ComponentContext bc, final String 
key) {
-        Object value = bc.getProperties().get(key);
-        if ( value == null ) {
-            value = bc.getBundleContext().getProperty(key);
-        }
-        if ( value != null ) {
-            return value.toString();
-        }
-        return null;
-    }
-
     @Activate
     protected void activate(final ComponentContext cc) {
         this.modified(cc);
@@ -119,18 +103,15 @@ public class StandardPropertyProvider {
 
     @Modified
     protected void modified(final ComponentContext cc) {
-        this.instanceName = this.getPropertyValue(cc, "sling.name");
-        this.instanceDescription = this.getPropertyValue(cc, 
"sling.description");
-
         this.propagationService = 
cc.getBundleContext().registerService(PropertyProvider.class.getName(),
                 new PropertyProvider() {
 
                     public String getProperty(final String name) {
                         if ( 
InstanceDescription.PROPERTY_DESCRIPTION.equals(name) ) {
-                            return instanceDescription;
+                            return settings.getSlingDescription();
                         }
                         if ( InstanceDescription.PROPERTY_NAME.equals(name) ) {
-                            return instanceName;
+                            return settings.getSlingName();
                         }
                         if ( 
InstanceDescription.PROPERTY_ENDPOINTS.equals(name) ) {
                             return endpointString;


Reply via email to