diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/artifacts/upload/UploadConfirmationWindow.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/artifacts/upload/UploadConfirmationWindow.java index 1d0f56e4a..89885ed0f 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/artifacts/upload/UploadConfirmationWindow.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/artifacts/upload/UploadConfirmationWindow.java @@ -39,6 +39,7 @@ import org.eclipse.hawkbit.ui.utils.SpringContextHelper; import org.eclipse.hawkbit.ui.utils.UIComponentIdProvider; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.vaadin.spring.events.EventBus.UIEventBus; import com.vaadin.data.Item; import com.vaadin.data.util.IndexedContainer; @@ -116,6 +117,8 @@ public class UploadConfirmationWindow implements Button.ClickListener { private final ArtifactUploadState artifactUploadState; + private final UIEventBus eventBus; + /** * Initialize the upload confirmation window. * @@ -124,9 +127,11 @@ public class UploadConfirmationWindow implements Button.ClickListener { * @param artifactUploadState * reference of session variable {@link ArtifactUploadState}. */ - UploadConfirmationWindow(final UploadLayout artifactUploadView, final ArtifactUploadState artifactUploadState) { + UploadConfirmationWindow(final UploadLayout artifactUploadView, final ArtifactUploadState artifactUploadState, + final UIEventBus eventBus) { this.uploadLayout = artifactUploadView; this.artifactUploadState = artifactUploadState; + this.eventBus = eventBus; i18n = artifactUploadView.getI18n(); createRequiredComponents(); buildLayout(); @@ -601,7 +606,7 @@ public class UploadConfirmationWindow implements Button.ClickListener { uploadLayout.clearFileList(); window.close(); // call upload result window - currentUploadResultWindow = new UploadResultWindow(uploadResultList, i18n); + currentUploadResultWindow = new UploadResultWindow(uploadResultList, i18n, eventBus); UI.getCurrent().addWindow(currentUploadResultWindow.getUploadResultsWindow()); currentUploadResultWindow.getUploadResultsWindow().addCloseListener(event -> onResultDetailsPopupClose()); uploadLayout.setResultPopupHeightWidth(Page.getCurrent().getBrowserWindowWidth(), diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/artifacts/upload/UploadLayout.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/artifacts/upload/UploadLayout.java index 179fdcf9f..98887423b 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/artifacts/upload/UploadLayout.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/artifacts/upload/UploadLayout.java @@ -621,7 +621,7 @@ public class UploadLayout extends VerticalLayout { if (artifactUploadState.getFileSelected().isEmpty()) { uiNotification.displayValidationError(i18n.get("message.error.noFileSelected")); } else { - currentUploadConfirmationwindow = new UploadConfirmationWindow(this, artifactUploadState); + currentUploadConfirmationwindow = new UploadConfirmationWindow(this, artifactUploadState, eventBus); UI.getCurrent().addWindow(currentUploadConfirmationwindow.getUploadConfrimationWindow()); setConfirmationPopupHeightWidth(Page.getCurrent().getBrowserWindowWidth(), Page.getCurrent().getBrowserWindowHeight()); diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/artifacts/upload/UploadResultWindow.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/artifacts/upload/UploadResultWindow.java index ee38abbb9..74a2275e7 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/artifacts/upload/UploadResultWindow.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/artifacts/upload/UploadResultWindow.java @@ -19,7 +19,6 @@ import org.eclipse.hawkbit.ui.utils.I18N; import org.eclipse.hawkbit.ui.utils.SPUIDefinitions; import org.eclipse.hawkbit.ui.utils.SPUILabelDefinitions; import org.eclipse.hawkbit.ui.utils.SPUIStyleDefinitions; -import org.eclipse.hawkbit.ui.utils.SpringContextHelper; import org.eclipse.hawkbit.ui.utils.UIComponentIdProvider; import org.vaadin.spring.events.EventBus; @@ -72,10 +71,10 @@ public class UploadResultWindow implements Button.ClickListener { * @param i18n * I18N */ - UploadResultWindow(final List uploadResultList, final I18N i18n) { + UploadResultWindow(final List uploadResultList, final I18N i18n, final EventBus.UIEventBus eventBus) { this.uploadResultList = uploadResultList; this.i18n = i18n; - eventBus = SpringContextHelper.getBean(EventBus.UIEventBus.class); + this.eventBus = eventBus; createComponents(); createLayout(); } diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/common/detailslayout/SoftwareModuleDetailsTable.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/common/detailslayout/SoftwareModuleDetailsTable.java index 4c82b2894..c0eb14347 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/common/detailslayout/SoftwareModuleDetailsTable.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/common/detailslayout/SoftwareModuleDetailsTable.java @@ -26,7 +26,6 @@ import org.eclipse.hawkbit.ui.management.event.DistributionTableEvent; import org.eclipse.hawkbit.ui.utils.HawkbitCommonUtil; import org.eclipse.hawkbit.ui.utils.I18N; import org.eclipse.hawkbit.ui.utils.SPUIStyleDefinitions; -import org.eclipse.hawkbit.ui.utils.SpringContextHelper; import org.eclipse.hawkbit.ui.utils.UINotification; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -93,14 +92,15 @@ public class SoftwareModuleDetailsTable extends Table { */ public SoftwareModuleDetailsTable(final I18N i18n, final boolean isUnassignSoftModAllowed, final SpPermissionChecker permissionChecker, final DistributionSetManagement distributionSetManagement, - final EventBus.UIEventBus eventBus, final ManageDistUIState manageDistUIState) { + final EventBus.UIEventBus eventBus, final ManageDistUIState manageDistUIState, + final UINotification uiNotification) { this.i18n = i18n; this.isUnassignSoftModAllowed = isUnassignSoftModAllowed; this.permissionChecker = permissionChecker; this.distributionSetManagement = distributionSetManagement; this.manageDistUIState = manageDistUIState; this.eventBus = eventBus; - this.uiNotification = SpringContextHelper.getBean(UINotification.class); + this.uiNotification = uiNotification; createSwModuleTable(); } diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/distributions/dstable/DistributionSetDetails.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/distributions/dstable/DistributionSetDetails.java index 2bfaf4753..c0b27b7ba 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/distributions/dstable/DistributionSetDetails.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/distributions/dstable/DistributionSetDetails.java @@ -95,7 +95,7 @@ public class DistributionSetDetails extends AbstractNamedVersionedEntityTableDet final SoftwareManagement softwareManagement, final DistributionSetManagement distributionSetManagement, final TargetManagement targetManagement, final EntityFactory entityFactory, final UINotification uinotification, final TagManagement tagManagement, - final DsMetadataPopupLayout popupLayout) { + final DsMetadataPopupLayout popupLayout, final UINotification uiNotification) { super(i18n, eventBus, permissionChecker, managementUIState); this.manageDistUIState = manageDistUIState; this.distributionAddUpdateWindowLayout = distributionAddUpdateWindowLayout; @@ -107,7 +107,7 @@ public class DistributionSetDetails extends AbstractNamedVersionedEntityTableDet this.dsMetadataPopupLayout = popupLayout; softwareModuleTable = new SoftwareModuleDetailsTable(i18n, true, permissionChecker, distributionSetManagement, - eventBus, manageDistUIState); + eventBus, manageDistUIState, uiNotification); dsMetadataTable = new DistributionSetMetadatadetailslayout(i18n, permissionChecker, distributionSetManagement, dsMetadataPopupLayout, entityFactory); diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/distributions/dstable/DistributionSetTableLayout.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/distributions/dstable/DistributionSetTableLayout.java index 521dadf06..9505261e8 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/distributions/dstable/DistributionSetTableLayout.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/distributions/dstable/DistributionSetTableLayout.java @@ -38,21 +38,24 @@ public class DistributionSetTableLayout extends AbstractTableLayout { final DistributionsViewAcceptCriteria distributionsViewAcceptCriteria, final SystemManagement systemManagement) { - final DistributionAddUpdateWindowLayout distributionAddUpdateWindowLayout = new DistributionAddUpdateWindowLayout( - i18n, uiNotification, eventBus, distributionSetManagement, systemManagement, entityFactory); - final DsMetadataPopupLayout popupLayout = new DsMetadataPopupLayout(i18n, uiNotification, eventBus, distributionSetManagement, entityFactory, permissionChecker); + final DistributionSetTable distributionSetTable = new DistributionSetTable(eventBus, i18n, uiNotification, + permissionChecker, manageDistUIState, distributionSetManagement, softwareManagement, + distributionsViewAcceptCriteria, targetManagement, popupLayout); + + final DistributionAddUpdateWindowLayout distributionAddUpdateWindowLayout = new DistributionAddUpdateWindowLayout( + i18n, uiNotification, eventBus, distributionSetManagement, systemManagement, entityFactory, + distributionSetTable); + super.init( new DistributionSetTableHeader(i18n, permissionChecker, eventBus, manageDistUIState, distributionAddUpdateWindowLayout), - new DistributionSetTable(eventBus, i18n, uiNotification, permissionChecker, manageDistUIState, - distributionSetManagement, softwareManagement, distributionsViewAcceptCriteria, - targetManagement, popupLayout), + distributionSetTable, new DistributionSetDetails(i18n, eventBus, permissionChecker, manageDistUIState, null, distributionAddUpdateWindowLayout, softwareManagement, distributionSetManagement, - targetManagement, entityFactory, uiNotification, tagManagement, popupLayout)); + targetManagement, entityFactory, uiNotification, tagManagement, popupLayout, uiNotification)); } } diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/dstable/DistributionAddUpdateWindowLayout.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/dstable/DistributionAddUpdateWindowLayout.java index a346e0337..09b2cbb4b 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/dstable/DistributionAddUpdateWindowLayout.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/dstable/DistributionAddUpdateWindowLayout.java @@ -33,7 +33,6 @@ import org.eclipse.hawkbit.ui.utils.I18N; import org.eclipse.hawkbit.ui.utils.SPUIDefinitions; import org.eclipse.hawkbit.ui.utils.SPUILabelDefinitions; import org.eclipse.hawkbit.ui.utils.SPUIStyleDefinitions; -import org.eclipse.hawkbit.ui.utils.SpringContextHelper; import org.eclipse.hawkbit.ui.utils.UIComponentIdProvider; import org.eclipse.hawkbit.ui.utils.UINotification; import org.vaadin.addons.lazyquerycontainer.BeanQueryFactory; @@ -65,6 +64,8 @@ public class DistributionAddUpdateWindowLayout extends CustomComponent { private final transient SystemManagement systemManagement; private final transient EntityFactory entityFactory; + private final DistributionSetTable distributionSetTable; + private TextField distNameTextField; private TextField distVersionTextField; private TextArea descTextArea; @@ -77,13 +78,15 @@ public class DistributionAddUpdateWindowLayout extends CustomComponent { public DistributionAddUpdateWindowLayout(final I18N i18n, final UINotification notificationMessage, final UIEventBus eventBus, final DistributionSetManagement distributionSetManagement, - final SystemManagement systemManagement, final EntityFactory entityFactory) { + final SystemManagement systemManagement, final EntityFactory entityFactory, + final DistributionSetTable distributionSetTable) { this.i18n = i18n; this.notificationMessage = notificationMessage; this.eventBus = eventBus; this.distributionSetManagement = distributionSetManagement; this.systemManagement = systemManagement; this.entityFactory = entityFactory; + this.distributionSetTable = distributionSetTable; createRequiredComponents(); buildLayout(); } @@ -221,7 +224,6 @@ public class DistributionAddUpdateWindowLayout extends CustomComponent { notificationMessage.displaySuccess( i18n.get("message.new.dist.save.success", new Object[] { newDist.getName(), newDist.getVersion() })); - final DistributionSetTable distributionSetTable = SpringContextHelper.getBean(DistributionSetTable.class); distributionSetTable.setValue( Sets.newHashSet(new DistributionSetIdName(newDist.getId(), newDist.getName(), newDist.getVersion()))); } diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/dstable/DistributionDetails.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/dstable/DistributionDetails.java index e731c5ade..e23b9c955 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/dstable/DistributionDetails.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/dstable/DistributionDetails.java @@ -66,7 +66,8 @@ public class DistributionDetails extends AbstractNamedVersionedEntityTableDetail distributionSetManagement, entityFactory, permissionChecker); this.distributionAddUpdateWindowLayout = distributionAddUpdateWindowLayout; - softwareModuleTable = new SoftwareModuleDetailsTable(i18n, false, permissionChecker, null, null, null); + softwareModuleTable = new SoftwareModuleDetailsTable(i18n, false, permissionChecker, null, null, null, + notificationMessage); dsMetadataTable = new DistributionSetMetadatadetailslayout(i18n, permissionChecker, distributionSetManagement, dsMetadataPopupLayout, entityFactory); diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/dstable/DistributionTableLayout.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/dstable/DistributionTableLayout.java index 2ed7963f9..abee73f2d 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/dstable/DistributionTableLayout.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/dstable/DistributionTableLayout.java @@ -36,20 +36,17 @@ public class DistributionTableLayout extends AbstractTableLayout { final UINotification notification, final SystemManagement systemManagement, final TagManagement tagManagement, final TargetManagement targetService) { - final DistributionAddUpdateWindowLayout distributionAddUpdateWindowLayout = new DistributionAddUpdateWindowLayout( - i18n, notification, eventBus, distributionSetManagement, systemManagement, entityFactory); - final DsMetadataPopupLayout dsMetadataPopupLayout = new DsMetadataPopupLayout(i18n, notification, eventBus, distributionSetManagement, entityFactory, permissionChecker); - super.init( - new DistributionTableHeader(i18n, permissionChecker, eventBus, managementUIState, - distributionAddUpdateWindowLayout), - new DistributionTable(eventBus, i18n, permissionChecker, notification, managementUIState, - managementViewAcceptCriteria, targetService, dsMetadataPopupLayout, distributionSetManagement), + final DistributionTable distributionTable = new DistributionTable(eventBus, i18n, permissionChecker, + notification, managementUIState, managementViewAcceptCriteria, targetService, dsMetadataPopupLayout, + distributionSetManagement); + + super.init(new DistributionTableHeader(i18n, permissionChecker, eventBus, managementUIState, null), + distributionTable, new DistributionDetails(i18n, eventBus, permissionChecker, managementUIState, distributionSetManagement, - dsMetadataPopupLayout, entityFactory, notification, tagManagement, - distributionAddUpdateWindowLayout)); + dsMetadataPopupLayout, entityFactory, notification, tagManagement, null)); } } diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/targettable/TargetAddUpdateWindowLayout.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/targettable/TargetAddUpdateWindowLayout.java index 295e0cb67..40828a401 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/targettable/TargetAddUpdateWindowLayout.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/targettable/TargetAddUpdateWindowLayout.java @@ -27,7 +27,6 @@ import org.eclipse.hawkbit.ui.utils.HawkbitCommonUtil; import org.eclipse.hawkbit.ui.utils.I18N; import org.eclipse.hawkbit.ui.utils.SPUIDefinitions; import org.eclipse.hawkbit.ui.utils.SPUIStyleDefinitions; -import org.eclipse.hawkbit.ui.utils.SpringContextHelper; import org.eclipse.hawkbit.ui.utils.UIComponentIdProvider; import org.eclipse.hawkbit.ui.utils.UINotification; import org.vaadin.spring.events.EventBus; @@ -56,6 +55,8 @@ public class TargetAddUpdateWindowLayout extends CustomComponent { private final transient EntityFactory entityFactory; + private final TargetTable targetTable; + private TextField controllerIDTextField; private TextField nameTextField; private TextArea descTextArea; @@ -65,12 +66,13 @@ public class TargetAddUpdateWindowLayout extends CustomComponent { private CommonDialogWindow window; TargetAddUpdateWindowLayout(final I18N i18n, final TargetManagement targetManagement, final UIEventBus eventBus, - final UINotification uINotification, final EntityFactory entityFactory) { + final UINotification uINotification, final EntityFactory entityFactory, final TargetTable targetTable) { this.i18n = i18n; this.targetManagement = targetManagement; this.eventBus = eventBus; this.uINotification = uINotification; this.entityFactory = entityFactory; + this.targetTable = targetTable; createRequiredComponents(); buildLayout(); setCompositionRoot(formLayout); @@ -143,7 +145,7 @@ public class TargetAddUpdateWindowLayout extends CustomComponent { /* save new target */ final Target newTarget = targetManagement.createTarget( entityFactory.target().create().controllerId(newControllerId).name(newName).description(newDesc)); - final TargetTable targetTable = SpringContextHelper.getBean(TargetTable.class); + final Set s = new HashSet<>(); s.add(newTarget.getTargetIdName()); targetTable.setValue(s); diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/targettable/TargetDetails.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/targettable/TargetDetails.java index af6c76307..472b9dec5 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/targettable/TargetDetails.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/targettable/TargetDetails.java @@ -62,12 +62,12 @@ public class TargetDetails extends AbstractTableDetailsLayout { TargetDetails(final I18N i18n, final UIEventBus eventBus, final SpPermissionChecker permissionChecker, final ManagementUIState managementUIState, final UINotification uiNotification, final TagManagement tagManagement, final TargetManagement targetManagement, - final EntityFactory entityFactory) { + final EntityFactory entityFactory, final TargetTable targetTable) { super(i18n, eventBus, permissionChecker, managementUIState); this.targetTagToken = new TargetTagToken(permissionChecker, i18n, uiNotification, eventBus, managementUIState, tagManagement, targetManagement); targetAddUpdateWindowLayout = new TargetAddUpdateWindowLayout(i18n, targetManagement, eventBus, uiNotification, - entityFactory); + entityFactory, targetTable); addTabs(detailsTab); restoreState(); } diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/targettable/TargetTableHeader.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/targettable/TargetTableHeader.java index 7e500b257..40a2c4b6a 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/targettable/TargetTableHeader.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/targettable/TargetTableHeader.java @@ -75,12 +75,13 @@ public class TargetTableHeader extends AbstractTableHeader { final UINotification notification, final ManagementUIState managementUIState, final ManagementViewAcceptCriteria managementViewAcceptCriteria, final TargetManagement targetManagement, final DeploymentManagement deploymentManagement, final UiProperties uiproperties, final UIEventBus eventBus, - final EntityFactory entityFactory, final UINotification uinotification, final TagManagement tagManagement) { + final EntityFactory entityFactory, final UINotification uinotification, final TagManagement tagManagement, + final TargetTable targetTable) { super(i18n, permChecker, eventbus, managementUIState, null, null); this.notification = notification; this.managementViewAcceptCriteria = managementViewAcceptCriteria; this.targetAddUpdateWindow = new TargetAddUpdateWindowLayout(i18n, targetManagement, eventBus, uinotification, - entityFactory); + entityFactory, targetTable); this.targetBulkUpdateWindow = new TargetBulkUpdateWindowLayout(i18n, targetManagement, eventBus, managementUIState, deploymentManagement, uiproperties, permChecker, uinotification, tagManagement);