Merge pull request #263 from bsinno/fix_entity_lock_exception_for_unassign_soft_module_from_DS

Fix entity lock exception for unassign soft module from ds
This commit is contained in:
Michael Hirsch
2016-08-08 08:46:39 +02:00
committed by GitHub
5 changed files with 18 additions and 12 deletions

View File

@@ -186,12 +186,17 @@ public class SoftwareModuleDetailsTable extends Table {
private void unassignSW(final ClickEvent event, final DistributionSet distributionSet, private void unassignSW(final ClickEvent event, final DistributionSet distributionSet,
final Set<SoftwareModule> alreadyAssignedSwModules) { final Set<SoftwareModule> alreadyAssignedSwModules) {
final SoftwareModule unAssignedSw = getSoftwareModule(event.getButton().getId(), alreadyAssignedSwModules); final SoftwareModule unAssignedSw = getSoftwareModule(event.getButton().getId(), alreadyAssignedSwModules);
final DistributionSet newDistributionSet = distributionSetManagement.unassignSoftwareModule(distributionSet, if (distributionSetManagement.isDistributionSetInUse(distributionSet)) {
unAssignedSw); uiNotification.displayValidationError(i18n.get("message.error.notification.ds.target.assigned",distributionSet.getName(), distributionSet.getVersion()));
manageDistUIState.setLastSelectedEntity(DistributionSetIdName.generate(newDistributionSet)); } else {
eventBus.publish(this, new DistributionTableEvent(BaseEntityEventType.SELECTED_ENTITY, newDistributionSet)); final DistributionSet newDistributionSet = distributionSetManagement.unassignSoftwareModule(distributionSet,
eventBus.publish(this, DistributionsUIEvent.ORDER_BY_DISTRIBUTION); unAssignedSw);
uiNotification.displaySuccess(i18n.get("message.sw.unassigned", unAssignedSw.getName())); manageDistUIState.setLastSelectedEntity(DistributionSetIdName.generate(newDistributionSet));
eventBus.publish(this, new DistributionTableEvent(BaseEntityEventType.SELECTED_ENTITY, newDistributionSet));
eventBus.publish(this, DistributionsUIEvent.ORDER_BY_DISTRIBUTION);
uiNotification.displaySuccess(i18n.get("message.sw.unassigned", unAssignedSw.getName()));
}
} }
private static boolean isSoftModAvaiableForSoftType(final Set<SoftwareModule> swModulesSet, private static boolean isSoftModAvaiableForSoftType(final Set<SoftwareModule> swModulesSet,

View File

@@ -334,9 +334,7 @@ public class DistributionSetTable extends AbstractNamedVersionTable<Distribution
} }
if (distributionSetManagement.isDistributionSetInUse(ds)) { if (distributionSetManagement.isDistributionSetInUse(ds)) {
notification.displayValidationError( notification.displayValidationError(i18n.get("message.error.notification.ds.target.assigned", ds.getName(), ds.getVersion()));
String.format("Distribution set %s:%s is already assigned to targets and cannot be changed",
ds.getName(), ds.getVersion()));
return false; return false;
} }
return true; return true;
@@ -506,7 +504,7 @@ public class DistributionSetTable extends AbstractNamedVersionTable<Distribution
return columnList; return columnList;
} }
private Button createManageMetadataButton(String nameVersionStr) { private Button createManageMetadataButton(final String nameVersionStr) {
final Button manageMetadataBtn = SPUIComponentProvider.getButton( final Button manageMetadataBtn = SPUIComponentProvider.getButton(
SPUIComponentIdProvider.DS_TABLE_MANAGE_METADATA_ID + "." + nameVersionStr, "", "", null, false, SPUIComponentIdProvider.DS_TABLE_MANAGE_METADATA_ID + "." + nameVersionStr, "", "", null, false,
FontAwesome.LIST_ALT, SPUIButtonStyleSmallNoBorder.class); FontAwesome.LIST_ALT, SPUIButtonStyleSmallNoBorder.class);
@@ -515,8 +513,8 @@ public class DistributionSetTable extends AbstractNamedVersionTable<Distribution
return manageMetadataBtn; return manageMetadataBtn;
} }
private void showMetadataDetails(Long itemId) { private void showMetadataDetails(final Long itemId) {
DistributionSet ds = distributionSetManagement.findDistributionSetByIdWithDetails(itemId); final DistributionSet ds = distributionSetManagement.findDistributionSetByIdWithDetails(itemId);
UI.getCurrent().addWindow(dsMetadataPopupLayout.getWindow(ds,null)); UI.getCurrent().addWindow(dsMetadataPopupLayout.getWindow(ds,null));
} }

View File

@@ -386,6 +386,7 @@ message.metadata.updated = Metadata with key {0} successfully updated !
message.metadata.duplicate.check = Metadata with key {0} already exists, please enter another value message.metadata.duplicate.check = Metadata with key {0} already exists, please enter another value
message.metadata.deleted.successfully = Metadata with key {0} successfully deleted ! message.metadata.deleted.successfully = Metadata with key {0} successfully deleted !
message.confirm.delete.metadata = Are you sure that you want to delete metadata with key {0} ? message.confirm.delete.metadata = Are you sure that you want to delete metadata with key {0} ?
message.error.notification.ds.target.assigned = Distribution set {0}:{1} is already assigned to targets and cannot be changed
# Login view # Login view
notification.login.title=Welcome to Bosch IoT Software Provisioning. notification.login.title=Welcome to Bosch IoT Software Provisioning.

View File

@@ -375,6 +375,7 @@ message.metadata.updated = Metadata with key {0} successfully updated !
message.metadata.duplicate.check = Metadata with key {0} already exists, please enter another value message.metadata.duplicate.check = Metadata with key {0} already exists, please enter another value
message.metadata.deleted.successfully = Metadata with key {0} successfully deleted ! message.metadata.deleted.successfully = Metadata with key {0} successfully deleted !
message.confirm.delete.metadata = Are you sure that you want to delete metadata with key {0} ? message.confirm.delete.metadata = Are you sure that you want to delete metadata with key {0} ?
message.error.notification.ds.target.assigned = Distribution set {0}:{1} is already assigned to targets and cannot be changed
# Login view # Login view

View File

@@ -371,6 +371,7 @@ message.metadata.updated = Metadata with key {0} successfully updated !
message.metadata.duplicate.check = Metadata with key {0} already exists, please enter another value message.metadata.duplicate.check = Metadata with key {0} already exists, please enter another value
message.metadata.deleted.successfully = Metadata with key {0} successfully deleted ! message.metadata.deleted.successfully = Metadata with key {0} successfully deleted !
message.confirm.delete.metadata = Are you sure that you want to delete metadata with key {0} ? message.confirm.delete.metadata = Are you sure that you want to delete metadata with key {0} ?
message.error.notification.ds.target.assigned = Distribution set {0}:{1} is already assigned to targets and cannot be changed
# Login view # Login view
notification.login.title=Welcome to Bosch IoT Software Provisioning. notification.login.title=Welcome to Bosch IoT Software Provisioning.