Deployment view - tags :Fixed N+1 query issue

Bug fix: Deleted tag displayed in tag layout


Signed-off-by: asharani-murugesh <asharani.murugesh@in.bosch.com>
This commit is contained in:
asharani-murugesh
2016-03-21 13:02:23 +01:00
parent 061159f259
commit e236984d94
8 changed files with 21 additions and 29 deletions

View File

@@ -97,9 +97,9 @@ public class SMTypeFilterButtons extends AbstractFilterButtons {
} }
@Override @Override
protected boolean isClickedByDefault(final Long buttonId) { protected boolean isClickedByDefault(final String typeName) {
return artifactUploadState.getSoftwareModuleFilters().getSoftwareModuleType().isPresent() && artifactUploadState return artifactUploadState.getSoftwareModuleFilters().getSoftwareModuleType().isPresent() && artifactUploadState
.getSoftwareModuleFilters().getSoftwareModuleType().get().getId().equals(buttonId); .getSoftwareModuleFilters().getSoftwareModuleType().get().getName().equals(typeName);
} }
@Override @Override

View File

@@ -161,7 +161,6 @@ public class SoftwareModuleDetailsTable extends Table {
if (null != distributionSet) { if (null != distributionSet) {
if (isUnassignSoftModAllowed && permissionChecker.hasUpdateDistributionPermission()) { if (isUnassignSoftModAllowed && permissionChecker.hasUpdateDistributionPermission()) {
try { try {
distributionSetManagement.checkDistributionSetAlreadyUse(distributionSet);
isTargetAssigned = false; isTargetAssigned = false;
} catch (final EntityLockedException exception) { } catch (final EntityLockedException exception) {
isTargetAssigned = true; isTargetAssigned = true;

View File

@@ -114,7 +114,7 @@ public abstract class AbstractFilterButtons extends Table {
typeButton.addClickListener(event -> filterButtonClickBehaviour.processFilterButtonClick(event)); typeButton.addClickListener(event -> filterButtonClickBehaviour.processFilterButtonClick(event));
if (typeButton.getData().equals(SPUIDefinitions.NO_TAG_BUTTON_ID) && isNoTagSateSelected()) { if (typeButton.getData().equals(SPUIDefinitions.NO_TAG_BUTTON_ID) && isNoTagSateSelected()) {
filterButtonClickBehaviour.setDefaultClickedButton(typeButton); filterButtonClickBehaviour.setDefaultClickedButton(typeButton);
} else if (id != null && isClickedByDefault(id)) { } else if (id != null && isClickedByDefault(name)) {
filterButtonClickBehaviour.setDefaultClickedButton(typeButton); filterButtonClickBehaviour.setDefaultClickedButton(typeButton);
} }
final DragAndDropWrapper wrapper = createDragAndDropWrapper(typeButton, name, id); final DragAndDropWrapper wrapper = createDragAndDropWrapper(typeButton, name, id);
@@ -205,10 +205,11 @@ public abstract class AbstractFilterButtons extends Table {
/** /**
* Check if button should be displayed as clicked by default. * Check if button should be displayed as clicked by default.
* *
* @param id * @param buttonCaption
* @return * button caption
* @return true if button is clicked
*/ */
protected abstract boolean isClickedByDefault(final Long buttonId); protected abstract boolean isClickedByDefault(final String buttonCaption);
/** /**
* Get filter button Id. * Get filter button Id.

View File

@@ -79,10 +79,9 @@ public class DSTypeFilterButtons extends AbstractFilterButtons {
} }
@Override @Override
protected boolean isClickedByDefault(final Long buttonId) { protected boolean isClickedByDefault(final String typeName) {
return manageDistUIState.getManageDistFilters().getClickedDistSetType() != null return manageDistUIState.getManageDistFilters().getClickedDistSetType() != null
&& manageDistUIState.getManageDistFilters().getClickedDistSetType().getId().equals(buttonId); && manageDistUIState.getManageDistFilters().getClickedDistSetType().getName().equals(typeName);
} }
@Override @Override

View File

@@ -82,10 +82,9 @@ public class DistSMTypeFilterButtons extends AbstractFilterButtons {
} }
@Override @Override
protected boolean isClickedByDefault(final Long buttonId) { protected boolean isClickedByDefault(final String typeName) {
return manageDistUIState.getSoftwareModuleFilters().getSoftwareModuleType().isPresent() return manageDistUIState.getSoftwareModuleFilters().getSoftwareModuleType().isPresent()
&& manageDistUIState.getSoftwareModuleFilters().getSoftwareModuleType().get().getId().equals(buttonId); && manageDistUIState.getSoftwareModuleFilters().getSoftwareModuleType().get().getName().equals(typeName);
} }
@Override @Override

View File

@@ -9,6 +9,7 @@
package org.eclipse.hawkbit.ui.management.dstag; package org.eclipse.hawkbit.ui.management.dstag;
import java.util.HashMap; import java.util.HashMap;
import java.util.List;
import java.util.Map; import java.util.Map;
import javax.annotation.PreDestroy; import javax.annotation.PreDestroy;
@@ -16,7 +17,6 @@ import javax.annotation.PreDestroy;
import org.eclipse.hawkbit.eventbus.event.DistributionSetTagCreatedBulkEvent; import org.eclipse.hawkbit.eventbus.event.DistributionSetTagCreatedBulkEvent;
import org.eclipse.hawkbit.eventbus.event.DistributionSetTagDeletedEvent; import org.eclipse.hawkbit.eventbus.event.DistributionSetTagDeletedEvent;
import org.eclipse.hawkbit.eventbus.event.DistributionSetTagUpdateEvent; import org.eclipse.hawkbit.eventbus.event.DistributionSetTagUpdateEvent;
import org.eclipse.hawkbit.repository.TagManagement;
import org.eclipse.hawkbit.repository.model.DistributionSetTag; import org.eclipse.hawkbit.repository.model.DistributionSetTag;
import org.eclipse.hawkbit.ui.common.filterlayout.AbstractFilterButtonClickBehaviour; import org.eclipse.hawkbit.ui.common.filterlayout.AbstractFilterButtonClickBehaviour;
import org.eclipse.hawkbit.ui.common.filterlayout.AbstractFilterButtons; import org.eclipse.hawkbit.ui.common.filterlayout.AbstractFilterButtons;
@@ -58,9 +58,6 @@ public class DistributionTagButtons extends AbstractFilterButtons {
@Autowired @Autowired
private DistributionTagDropEvent spDistTagDropEvent; private DistributionTagDropEvent spDistTagDropEvent;
@Autowired
private transient TagManagement tagMgmtService;
@Autowired @Autowired
private ManagementUIState managementUIState; private ManagementUIState managementUIState;
@@ -121,10 +118,9 @@ public class DistributionTagButtons extends AbstractFilterButtons {
} }
@Override @Override
protected boolean isClickedByDefault(final Long buttonId) { protected boolean isClickedByDefault(final String tagName) {
final DistributionSetTag dsTagObject = tagMgmtService.findDistributionSetTagById(buttonId);
return null != managementUIState.getDistributionTableFilters().getDistSetTags() return null != managementUIState.getDistributionTableFilters().getDistSetTags()
&& managementUIState.getDistributionTableFilters().getDistSetTags().contains(dsTagObject.getName()); && managementUIState.getDistributionTableFilters().getDistSetTags().contains(tagName);
} }
@Override @Override

View File

@@ -15,11 +15,11 @@ import java.util.stream.Collectors;
import javax.annotation.PreDestroy; import javax.annotation.PreDestroy;
import org.eclipse.hawkbit.eventbus.event.TargetDeletedEvent;
import org.eclipse.hawkbit.eventbus.event.TargetTagCreatedBulkEvent; import org.eclipse.hawkbit.eventbus.event.TargetTagCreatedBulkEvent;
import org.eclipse.hawkbit.eventbus.event.TargetTagDeletedEvent; import org.eclipse.hawkbit.eventbus.event.TargetTagDeletedEvent;
import org.eclipse.hawkbit.eventbus.event.TargetTagUpdateEvent; import org.eclipse.hawkbit.eventbus.event.TargetTagUpdateEvent;
import org.eclipse.hawkbit.repository.SpPermissionChecker; import org.eclipse.hawkbit.repository.SpPermissionChecker;
import org.eclipse.hawkbit.repository.TagManagement;
import org.eclipse.hawkbit.repository.TargetManagement; import org.eclipse.hawkbit.repository.TargetManagement;
import org.eclipse.hawkbit.repository.model.TargetIdName; import org.eclipse.hawkbit.repository.model.TargetIdName;
import org.eclipse.hawkbit.repository.model.TargetTag; import org.eclipse.hawkbit.repository.model.TargetTag;
@@ -70,9 +70,6 @@ public class TargetTagFilterButtons extends AbstractFilterButtons {
@Autowired @Autowired
private ManagementUIState managementUIState; private ManagementUIState managementUIState;
@Autowired
private transient TagManagement tagMgmtService;
@Autowired @Autowired
private ManagementViewAcceptCriteria managementViewAcceptCriteria; private ManagementViewAcceptCriteria managementViewAcceptCriteria;
@@ -139,10 +136,9 @@ public class TargetTagFilterButtons extends AbstractFilterButtons {
} }
@Override @Override
protected boolean isClickedByDefault(final Long buttonId) { protected boolean isClickedByDefault(final String tagName) {
final TargetTag newTagClickedObj = tagMgmtService.findTargetTagById(buttonId); return managementUIState.getTargetTableFilters().getClickedTargetTags() != null
return managementUIState.getTargetTableFilters().getClickedTargetTags() != null && managementUIState && managementUIState.getTargetTableFilters().getClickedTargetTags().contains(tagName);
.getTargetTableFilters().getClickedTargetTags().contains(newTagClickedObj.getName());
} }
@Override @Override

View File

@@ -20,6 +20,7 @@ import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import org.eclipse.hawkbit.eventbus.event.DistributionSetTagCreatedBulkEvent; import org.eclipse.hawkbit.eventbus.event.DistributionSetTagCreatedBulkEvent;
import org.eclipse.hawkbit.eventbus.event.DistributionSetTagDeletedEvent;
import org.eclipse.hawkbit.eventbus.event.EntityEvent; import org.eclipse.hawkbit.eventbus.event.EntityEvent;
import org.eclipse.hawkbit.eventbus.event.RolloutChangeEvent; import org.eclipse.hawkbit.eventbus.event.RolloutChangeEvent;
import org.eclipse.hawkbit.eventbus.event.RolloutGroupChangeEvent; import org.eclipse.hawkbit.eventbus.event.RolloutGroupChangeEvent;
@@ -27,6 +28,7 @@ import org.eclipse.hawkbit.eventbus.event.TargetCreatedEvent;
import org.eclipse.hawkbit.eventbus.event.TargetDeletedEvent; import org.eclipse.hawkbit.eventbus.event.TargetDeletedEvent;
import org.eclipse.hawkbit.eventbus.event.TargetInfoUpdateEvent; import org.eclipse.hawkbit.eventbus.event.TargetInfoUpdateEvent;
import org.eclipse.hawkbit.eventbus.event.TargetTagCreatedBulkEvent; import org.eclipse.hawkbit.eventbus.event.TargetTagCreatedBulkEvent;
import org.eclipse.hawkbit.eventbus.event.TargetTagDeletedEvent;
import org.eclipse.hawkbit.im.authentication.TenantAwareAuthenticationDetails; import org.eclipse.hawkbit.im.authentication.TenantAwareAuthenticationDetails;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@@ -76,7 +78,7 @@ public class DelayedEventBusPushStrategy implements EventPushStrategy {
*/ */
private static final Set<Class<?>> UI_EVENTS = Sets.newHashSet(TargetInfoUpdateEvent.class, private static final Set<Class<?>> UI_EVENTS = Sets.newHashSet(TargetInfoUpdateEvent.class,
TargetCreatedEvent.class, TargetDeletedEvent.class, RolloutChangeEvent.class, RolloutGroupChangeEvent.class, TargetCreatedEvent.class, TargetDeletedEvent.class, RolloutChangeEvent.class, RolloutGroupChangeEvent.class,
TargetTagCreatedBulkEvent.class, DistributionSetTagCreatedBulkEvent.class); TargetTagCreatedBulkEvent.class, DistributionSetTagCreatedBulkEvent.class,TargetTagDeletedEvent.class,DistributionSetTagDeletedEvent.class);
/** /**
* Constructor. * Constructor.