From 16367d971416f2371a10d796802fcdd5274c4a11 Mon Sep 17 00:00:00 2001 From: Dave Hladky Date: Mon, 8 Dec 2014 14:09:15 -0600 Subject: [PATCH] Issue #3891 Special overlap handling for promotion of sub from site to shared Change-Id: Ifa8f4be3e9e0f172ee54c5ef7021b912d45c5de2 Former-commit-id: 4b7557498fc144a4c38c5c0cd5f53ab5df2d9b7d [formerly e897cb40df2ea5094eb87fa33d0ef57290ebc2b3] [formerly d81e3b0efad4e32a8381e41059dc3763e912cc01] [formerly 4b7557498fc144a4c38c5c0cd5f53ab5df2d9b7d [formerly e897cb40df2ea5094eb87fa33d0ef57290ebc2b3] [formerly d81e3b0efad4e32a8381e41059dc3763e912cc01] [formerly 8796705c6bf6bbd699dc7cff842cb01015ac8897 [formerly d81e3b0efad4e32a8381e41059dc3763e912cc01 [formerly 9a31befafe66a677b744fa9ae9ef7e134a758bd9]]]] Former-commit-id: 8796705c6bf6bbd699dc7cff842cb01015ac8897 Former-commit-id: 3b279c5c46215d1d02356e2735f2490b23201918 [formerly c57d63dbc5b6f64340ab72adf78cd22351e42fbf] [formerly 95be4db4f3feed3848fe1af3c5e26e5143c88aa2 [formerly 072c6223efe3ed8b825224996f780ff4a240bc4e]] Former-commit-id: 3ef73265f70d1dfad04feff94e49ab210fdba1fc [formerly 475e40f58fef3bf5b09c37977e94811d257b70d3] Former-commit-id: ea9a8900f066eb273bdeb26d4483e260dfda1a46 --- .../overlap/SubscriptionOverlapHandler.java | 21 ++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/edexOsgi/com.raytheon.uf.edex.datadelivery.service/src/com/raytheon/uf/edex/datadelivery/service/services/overlap/SubscriptionOverlapHandler.java b/edexOsgi/com.raytheon.uf.edex.datadelivery.service/src/com/raytheon/uf/edex/datadelivery/service/services/overlap/SubscriptionOverlapHandler.java index f4d004a034..98b0eb4b12 100644 --- a/edexOsgi/com.raytheon.uf.edex.datadelivery.service/src/com/raytheon/uf/edex/datadelivery/service/services/overlap/SubscriptionOverlapHandler.java +++ b/edexOsgi/com.raytheon.uf.edex.datadelivery.service/src/com/raytheon/uf/edex/datadelivery/service/services/overlap/SubscriptionOverlapHandler.java @@ -28,6 +28,8 @@ import java.util.Set; import com.raytheon.uf.common.datadelivery.registry.AdhocSubscription; import com.raytheon.uf.common.datadelivery.registry.DataType; +import com.raytheon.uf.common.datadelivery.registry.SharedSubscription; +import com.raytheon.uf.common.datadelivery.registry.SiteSubscription; import com.raytheon.uf.common.datadelivery.registry.Subscription; import com.raytheon.uf.common.datadelivery.registry.handlers.DataDeliveryHandlers; import com.raytheon.uf.common.datadelivery.registry.handlers.ISubscriptionHandler; @@ -48,6 +50,7 @@ import com.raytheon.uf.edex.registry.ebxml.util.RegistryIdUtil; * Oct 24, 2013 2292 mpduff Initial creation * Nov 01, 2013 2292 dhladky Don't check against yourself for duplication * Feb 11, 2014 2771 bgonzale Use Data Delivery ID instead of Site. + * Dec 08, 2014 3891 dhladky Allow for promotion of site subscriptions to shared. * * * @@ -80,9 +83,21 @@ public class SubscriptionOverlapHandler implements DataType dataType = subscription.getDataSetType(); Set overlappingSubscriptions = new HashSet(); for (Subscription potentialDuplicate : potentialDuplicates) { - // don't check against yourself - if (potentialDuplicate.getId().equals(subscription.getId())) { - continue; + // Check for special promotion case + if (subscription instanceof SharedSubscription + && potentialDuplicate instanceof SiteSubscription) { + // Not as stringent a check as the ID's won't be equal + // but the names still will + if (potentialDuplicate.getName().equals( + subscription.getName())) { + continue; + } + } else { + // Normal sequence, don't check self + if (potentialDuplicate.getId().equals( + subscription.getId())) { + continue; + } } OverlapData od = OverlapDataFactory.getOverlapData( subscription, potentialDuplicate);