BUG-6650: ep-ip/sgt, propose sxp-generator
[groupbasedpolicy.git] / sxp-integration / sxp-ep-provider / src / main / java / org / opendaylight / groupbasedpolicy / sxp / ep / provider / impl / listen / EPPolicyTemplateListenerImpl.java
index 9fa8be05c5865c18b25434a8e9d9b33bab328e19..4b70c55b68e96b94aa3af0551a74caf800d1d210 100644 (file)
@@ -32,6 +32,7 @@ import org.opendaylight.groupbasedpolicy.sxp.ep.provider.impl.util.EPTemplateUti
 import org.opendaylight.groupbasedpolicy.sxp.ep.provider.impl.util.L3EPServiceUtil;
 import org.opendaylight.groupbasedpolicy.sxp.ep.provider.impl.util.SxpListenerUtil;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpPrefix;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.groupbasedpolicy.sxp.integration.sxp.ep.provider.model.rev160302.TemplateGenerated;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.groupbasedpolicy.sxp.integration.sxp.ep.provider.model.rev160302.sxp.ep.mapper.EndpointForwardingTemplateBySubnet;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.groupbasedpolicy.sxp.integration.sxp.ep.provider.model.rev160302.sxp.ep.mapper.EndpointPolicyTemplateBySgt;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.sxp.database.rev160308.Sgt;
@@ -89,7 +90,13 @@ public class EPPolicyTemplateListenerImpl implements EPTemplateListener<Endpoint
             SxpListenerUtil.updateCachedDao(templateCachedDao, changeKey, change);
 
             final EndpointPolicyTemplateBySgt epPolicyTemplate = change.getRootNode().getDataAfter();
-            processWithEPTemplates(epPolicyTemplate);
+
+            // skip generated template
+            if (epPolicyTemplate != null && !TemplateGenerated.class.equals(epPolicyTemplate.getOrigin())) {
+                processWithEPTemplates(epPolicyTemplate);
+            } else {
+                LOG.trace("skipping ep-policy-template processing: {}", epPolicyTemplate);
+            }
         }
     }
 
@@ -141,7 +148,7 @@ public class EPPolicyTemplateListenerImpl implements EPTemplateListener<Endpoint
 
                 return result;
             }
-};
+        };
     }
 
     private AsyncFunction<Collection<MasterDatabaseBinding>, List<Pair<MasterDatabaseBinding, EndpointForwardingTemplateBySubnet>>>