diff --git a/client/src/com/mirth/connect/client/ui/ChannelPanel.java b/client/src/com/mirth/connect/client/ui/ChannelPanel.java index e0de345f6..803fb2f70 100644 --- a/client/src/com/mirth/connect/client/ui/ChannelPanel.java +++ b/client/src/com/mirth/connect/client/ui/ChannelPanel.java @@ -1928,7 +1928,9 @@ private void addTagsToChannel(Channel channel) { List channelTags = new ArrayList(); for (ChannelTag channelTag : getCachedChannelTags()) { if (channelTag.getChannelIds().contains(channel.getId())) { - channelTags.add(channelTag); + ChannelTag exportTag = new ChannelTag(channelTag); + exportTag.setChannelIds(Collections.singleton(channel.getId())); + channelTags.add(exportTag); } } diff --git a/server/src/com/mirth/connect/server/api/servlets/ChannelServlet.java b/server/src/com/mirth/connect/server/api/servlets/ChannelServlet.java index 52bd63fc0..67827a3f2 100644 --- a/server/src/com/mirth/connect/server/api/servlets/ChannelServlet.java +++ b/server/src/com/mirth/connect/server/api/servlets/ChannelServlet.java @@ -312,6 +312,11 @@ protected void addExportData(Channel channel, Map chann channel.getExportData().setChannelTags(channelTags .stream() .filter(tag -> tag.getChannelIds().contains(channel.getId())) + .map(tag -> { + ChannelTag exportTag = new ChannelTag(tag); + exportTag.setChannelIds(Collections.singleton(channel.getId())); + return exportTag; + }) .collect(Collectors.toList())); channel.getExportData().setDependencyIds(channelDependencies @@ -347,4 +352,4 @@ private List getCodeTemplateLibraries() { } return codeTemplateLibraries; } -} \ No newline at end of file +} diff --git a/server/test/com/mirth/connect/server/api/servlets/ChannelServletTest.java b/server/test/com/mirth/connect/server/api/servlets/ChannelServletTest.java index cb264b600..27509922b 100644 --- a/server/test/com/mirth/connect/server/api/servlets/ChannelServletTest.java +++ b/server/test/com/mirth/connect/server/api/servlets/ChannelServletTest.java @@ -200,8 +200,8 @@ private void verifyChannel1(Channel channel, boolean includeCodeTemplateLibrarie assertEquals(Integer.valueOf(7), exportData.getMetadata().getPruningSettings().getPruneContentDays()); assertEquals(2, exportData.getChannelTags().size()); - assertTrue(exportData.getChannelTags().contains(new ChannelTag("tag1", "Tag 1", new HashSet<>(Arrays.asList(new String[] { CHANNEL_ID_1, CHANNEL_ID_2 }))))); - assertTrue(exportData.getChannelTags().contains(new ChannelTag("tag2", "Tag 2", new HashSet<>(Arrays.asList(new String[] { CHANNEL_ID_1, CHANNEL_ID_3 }))))); + assertTrue(exportData.getChannelTags().contains(new ChannelTag("tag1", "Tag 1", new HashSet<>(Arrays.asList(new String[] { CHANNEL_ID_1 }))))); + assertTrue(exportData.getChannelTags().contains(new ChannelTag("tag2", "Tag 2", new HashSet<>(Arrays.asList(new String[] { CHANNEL_ID_1 }))))); assertEquals(1, exportData.getDependencyIds().size()); assertTrue(exportData.getDependencyIds().contains(CHANNEL_ID_2)); @@ -234,3 +234,4 @@ protected boolean isUserAuthorized() { } } +