Implement static component properties - passed through without modification

Change-Id: I49a2c733648f53468a398be35d1fee4518bb2a8c
diff --git a/apps/dhcprelay/app/src/main/java/org/onosproject/dhcprelay/Dhcp4HandlerImpl.java b/apps/dhcprelay/app/src/main/java/org/onosproject/dhcprelay/Dhcp4HandlerImpl.java
index 990dea8..c9b2a57 100644
--- a/apps/dhcprelay/app/src/main/java/org/onosproject/dhcprelay/Dhcp4HandlerImpl.java
+++ b/apps/dhcprelay/app/src/main/java/org/onosproject/dhcprelay/Dhcp4HandlerImpl.java
@@ -123,6 +123,7 @@
 @Component(
     service = { DhcpHandler.class, HostProvider.class },
     property = {
+        "_version:Integer = 4",
         LEARN_ROUTE_FROM_LEASE_QUERY + ":Boolean=" + LEARN_ROUTE_FROM_LEASE_QUERY_DEFAULT
     }
 )
diff --git a/apps/dhcprelay/app/src/main/java/org/onosproject/dhcprelay/Dhcp6HandlerImpl.java b/apps/dhcprelay/app/src/main/java/org/onosproject/dhcprelay/Dhcp6HandlerImpl.java
index 5068eae..d8a3b16 100644
--- a/apps/dhcprelay/app/src/main/java/org/onosproject/dhcprelay/Dhcp6HandlerImpl.java
+++ b/apps/dhcprelay/app/src/main/java/org/onosproject/dhcprelay/Dhcp6HandlerImpl.java
@@ -128,6 +128,7 @@
 @Component(
     service = { DhcpHandler.class, HostProvider.class },
     property = {
+        "_version:Integer = 6",
         LEARN_ROUTE_FROM_LEASE_QUERY + ":Boolean=" + LEARN_ROUTE_FROM_LEASE_QUERY_DEFAULT
     }
 )
diff --git a/apps/dhcprelay/app/src/main/java/org/onosproject/dhcprelay/DhcpRelayManager.java b/apps/dhcprelay/app/src/main/java/org/onosproject/dhcprelay/DhcpRelayManager.java
index 7fe6983..a8541a6 100644
--- a/apps/dhcprelay/app/src/main/java/org/onosproject/dhcprelay/DhcpRelayManager.java
+++ b/apps/dhcprelay/app/src/main/java/org/onosproject/dhcprelay/DhcpRelayManager.java
@@ -198,11 +198,11 @@
     protected DhcpFpmPrefixStore dhcpFpmPrefixStore;
 
     @Reference(cardinality = ReferenceCardinality.MANDATORY,
-            target = "(version=4)")
+            target = "(_version=4)")
     protected DhcpHandler v4Handler;
 
     @Reference(cardinality = ReferenceCardinality.MANDATORY,
-            target = "(version=6)")
+            target = "(_version=6)")
     protected DhcpHandler v6Handler;
 
     /** Enable Address resolution protocol. */
diff --git a/apps/dhcprelay/app/src/main/java/org/onosproject/dhcprelay/store/DistributedFpmPrefixStore.java b/apps/dhcprelay/app/src/main/java/org/onosproject/dhcprelay/store/DistributedFpmPrefixStore.java
index 5a9bbb9..070748b 100644
--- a/apps/dhcprelay/app/src/main/java/org/onosproject/dhcprelay/store/DistributedFpmPrefixStore.java
+++ b/apps/dhcprelay/app/src/main/java/org/onosproject/dhcprelay/store/DistributedFpmPrefixStore.java
@@ -45,7 +45,10 @@
  */
 @Component(
     immediate = true,
-    service = DhcpFpmPrefixStore.class
+    service = DhcpFpmPrefixStore.class,
+    property = {
+        "_fpm_type=DHCP"
+    }
 )
 public class DistributedFpmPrefixStore implements DhcpFpmPrefixStore {
 
diff --git a/apps/routing/fpm/app/src/main/java/org/onosproject/routing/fpm/FpmManager.java b/apps/routing/fpm/app/src/main/java/org/onosproject/routing/fpm/FpmManager.java
index 9378854..c64ac92 100644
--- a/apps/routing/fpm/app/src/main/java/org/onosproject/routing/fpm/FpmManager.java
+++ b/apps/routing/fpm/app/src/main/java/org/onosproject/routing/fpm/FpmManager.java
@@ -147,14 +147,14 @@
                bind = "bindRipStore",
                unbind = "unbindRipStore",
                policy = ReferencePolicy.DYNAMIC,
-               target = "(fpm_type=RIP)")
+               target = "(_fpm_type=RIP)")
     protected volatile FpmPrefixStore ripStore;
 
     @Reference(cardinality = ReferenceCardinality.OPTIONAL,
                bind = "bindDhcpStore",
                unbind = "unbindDhcpStore",
                policy = ReferencePolicy.DYNAMIC,
-               target = "(fpm_type=DHCP)")
+               target = "(_fpm_type=DHCP)")
     protected volatile FpmPrefixStore dhcpStore;
 
     private final StoreDelegate<FpmPrefixStoreEvent> fpmPrefixStoreDelegate
diff --git a/tools/build/cfgdef/src/main/java/org/onosproject/cfgdef/CfgDefGenerator.java b/tools/build/cfgdef/src/main/java/org/onosproject/cfgdef/CfgDefGenerator.java
index 6b7017d..6fd7331 100644
--- a/tools/build/cfgdef/src/main/java/org/onosproject/cfgdef/CfgDefGenerator.java
+++ b/tools/build/cfgdef/src/main/java/org/onosproject/cfgdef/CfgDefGenerator.java
@@ -142,6 +142,10 @@
     // as the property or
     // TODO: from an annotated comment.
     private String description(JavaClass javaClass, String name) {
+        if (name.startsWith("_")) {
+            // Static property - just leave it as is, not for inclusion in the cfg defs
+            return null;
+        }
         JavaField field = javaClass.getFieldByName(name);
         if (field != null) {
             String comment = field.getComment();