From 4675ebf22cf515b1d4a8fe013ba7bc5b15927f19 Mon Sep 17 00:00:00 2001 From: Fabian Nonnenmacher Date: Tue, 19 Jan 2016 15:29:12 +0100 Subject: [PATCH] Refactoring of Authentification UI * modified AuthentificationUI to use same Interface as Polling Configuration UI * renaming of Interface "ConfigurationElement" -> "ConfigurationItem" Signed-off-by: Nonnenmacher Fabian --- .../AuthenticationConfigurationView.java | 12 ++++---- .../BaseConfigurationView.java | 6 ++-- .../ConfigurationGroup.java | 2 +- ...ionElement.java => ConfigurationItem.java} | 8 +++--- .../PollingConfigurationView.java | 5 ++-- .../TenantConfigurationDashboardView.java | 6 ++-- ...AuthenticationTenantConfigurationItem.java | 15 +++++++--- ...a => AuthenticationConfigurationItem.java} | 28 ++----------------- .../polling/DurationConfigField.java | 10 +++---- 9 files changed, 38 insertions(+), 54 deletions(-) rename hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/tenantconfiguration/{ConfigurationElement.java => ConfigurationItem.java} (76%) rename hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/tenantconfiguration/authentication/{TenantConfigurationItem.java => AuthenticationConfigurationItem.java} (55%) diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/tenantconfiguration/AuthenticationConfigurationView.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/tenantconfiguration/AuthenticationConfigurationView.java index ea228bbc7..e440251c9 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/tenantconfiguration/AuthenticationConfigurationView.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/tenantconfiguration/AuthenticationConfigurationView.java @@ -11,10 +11,10 @@ package org.eclipse.hawkbit.ui.tenantconfiguration; import javax.annotation.PostConstruct; import org.eclipse.hawkbit.ui.components.SPUIComponentProvider; +import org.eclipse.hawkbit.ui.tenantconfiguration.authentication.AuthenticationConfigurationItem; import org.eclipse.hawkbit.ui.tenantconfiguration.authentication.CertificateAuthenticationConfigurationItem; import org.eclipse.hawkbit.ui.tenantconfiguration.authentication.GatewaySecurityTokenAuthenticationConfigurationItem; import org.eclipse.hawkbit.ui.tenantconfiguration.authentication.TargetSecurityTokenAuthenticationConfigurationItem; -import org.eclipse.hawkbit.ui.tenantconfiguration.authentication.TenantConfigurationItem; import org.eclipse.hawkbit.ui.utils.I18N; import org.springframework.beans.factory.annotation.Autowired; @@ -37,7 +37,7 @@ import com.vaadin.ui.VerticalLayout; @SpringComponent @ViewScope public class AuthenticationConfigurationView extends BaseConfigurationView - implements ConfigurationGroup, TenantConfigurationItem.TenantConfigurationChangeListener, ValueChangeListener { + implements ConfigurationGroup, ConfigurationItem.ConfigurationItemChangeListener, ValueChangeListener { /** * @@ -95,14 +95,14 @@ public class AuthenticationConfigurationView extends BaseConfigurationView certificateAuthCheckbox = SPUIComponentProvider.getCheckBox("", DIST_CHECKBOX_STYLE, null, false, ""); certificateAuthCheckbox.setValue(certificateAuthenticationConfigurationItem.isConfigEnabled()); certificateAuthCheckbox.addValueChangeListener(this); - certificateAuthenticationConfigurationItem.addConfigurationChangeListener(this); + certificateAuthenticationConfigurationItem.addChangeListener(this); gridLayout.addComponent(certificateAuthCheckbox, 0, 0); gridLayout.addComponent(certificateAuthenticationConfigurationItem, 1, 0); targetSecTokenCheckBox = SPUIComponentProvider.getCheckBox("", DIST_CHECKBOX_STYLE, null, false, ""); targetSecTokenCheckBox.setValue(targetSecurityTokenAuthenticationConfigurationItem.isConfigEnabled()); targetSecTokenCheckBox.addValueChangeListener(this); - targetSecurityTokenAuthenticationConfigurationItem.addConfigurationChangeListener(this); + targetSecurityTokenAuthenticationConfigurationItem.addChangeListener(this); gridLayout.addComponent(targetSecTokenCheckBox, 0, 1); gridLayout.addComponent(targetSecurityTokenAuthenticationConfigurationItem, 1, 1); @@ -110,7 +110,7 @@ public class AuthenticationConfigurationView extends BaseConfigurationView gatewaySecTokenCheckBox.setId("gatewaysecuritycheckbox"); gatewaySecTokenCheckBox.setValue(gatewaySecurityTokenAuthenticationConfigurationItem.isConfigEnabled()); gatewaySecTokenCheckBox.addValueChangeListener(this); - gatewaySecurityTokenAuthenticationConfigurationItem.addConfigurationChangeListener(this); + gatewaySecurityTokenAuthenticationConfigurationItem.addChangeListener(this); gridLayout.addComponent(gatewaySecTokenCheckBox, 0, 2); gridLayout.addComponent(gatewaySecurityTokenAuthenticationConfigurationItem, 1, 2); @@ -168,7 +168,7 @@ public class AuthenticationConfigurationView extends BaseConfigurationView notifyConfigurationChanged(); CheckBox checkBox = (CheckBox) event.getProperty(); - TenantConfigurationItem configurationItem = null; + AuthenticationConfigurationItem configurationItem = null; if (checkBox == gatewaySecTokenCheckBox) { configurationItem = gatewaySecurityTokenAuthenticationConfigurationItem; diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/tenantconfiguration/BaseConfigurationView.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/tenantconfiguration/BaseConfigurationView.java index 11cc7d2a6..a3f313414 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/tenantconfiguration/BaseConfigurationView.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/tenantconfiguration/BaseConfigurationView.java @@ -15,14 +15,14 @@ public abstract class BaseConfigurationView extends CustomComponent implements C private static final long serialVersionUID = 1L; - private final List configurationChangeListeners = new ArrayList<>(); + private final List configurationChangeListeners = new ArrayList<>(); protected void notifyConfigurationChanged() { - configurationChangeListeners.forEach(listener -> listener.configurationChanged()); + configurationChangeListeners.forEach(listener -> listener.configurationHasChanged()); } @Override - public void addChangeListener(final ConfigurationGroupChangeListener listener) { + public void addChangeListener(final ConfigurationItemChangeListener listener) { configurationChangeListeners.add(listener); } diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/tenantconfiguration/ConfigurationGroup.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/tenantconfiguration/ConfigurationGroup.java index 1d2245394..90a38dd56 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/tenantconfiguration/ConfigurationGroup.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/tenantconfiguration/ConfigurationGroup.java @@ -15,7 +15,7 @@ import com.vaadin.ui.Component; * * */ -public interface ConfigurationGroup extends Component, ConfigurationElement { +public interface ConfigurationGroup extends Component, ConfigurationItem { /** * called to store any configuration changes. diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/tenantconfiguration/ConfigurationElement.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/tenantconfiguration/ConfigurationItem.java similarity index 76% rename from hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/tenantconfiguration/ConfigurationElement.java rename to hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/tenantconfiguration/ConfigurationItem.java index 7614f852f..746d52ca5 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/tenantconfiguration/ConfigurationElement.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/tenantconfiguration/ConfigurationItem.java @@ -2,7 +2,7 @@ package org.eclipse.hawkbit.ui.tenantconfiguration; import java.io.Serializable; -public interface ConfigurationElement { +public interface ConfigurationItem { /** * called to verify that the Input done by the user is valid @@ -19,17 +19,17 @@ public interface ConfigurationElement { * the listener to be notified in case the item changes some * configuration */ - void addChangeListener(ConfigurationGroupChangeListener listener); + void addChangeListener(final ConfigurationItemChangeListener listener); /** * Configuration Change Listener to be notified about configuration changes * in configuration group. * */ - interface ConfigurationGroupChangeListener extends Serializable { + interface ConfigurationItemChangeListener extends Serializable { /** * called to notify about configuration has been changed. */ - void configurationChanged(); + void configurationHasChanged(); } } \ No newline at end of file diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/tenantconfiguration/PollingConfigurationView.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/tenantconfiguration/PollingConfigurationView.java index b57c960a2..3363f1d23 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/tenantconfiguration/PollingConfigurationView.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/tenantconfiguration/PollingConfigurationView.java @@ -24,7 +24,7 @@ import com.vaadin.ui.VerticalLayout; @SpringComponent @ViewScope public class PollingConfigurationView extends BaseConfigurationView - implements ConfigurationGroup, ConfigurationElement.ConfigurationGroupChangeListener { + implements ConfigurationGroup, ConfigurationItem.ConfigurationItemChangeListener { private static final long serialVersionUID = 1L; @@ -97,6 +97,7 @@ public class PollingConfigurationView extends BaseConfigurationView tenantPollingOverdueTime = fieldPollingOverdueTime.getValue(); pollConfigurationHelper.setTenantOverduePollTimeIntervall(fieldPollingOverdueTime.getValue()); } + } @Override @@ -111,7 +112,7 @@ public class PollingConfigurationView extends BaseConfigurationView } @Override - public void configurationChanged() { + public void configurationHasChanged() { notifyConfigurationChanged(); } diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/tenantconfiguration/TenantConfigurationDashboardView.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/tenantconfiguration/TenantConfigurationDashboardView.java index b8873a5bb..d98aa8916 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/tenantconfiguration/TenantConfigurationDashboardView.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/tenantconfiguration/TenantConfigurationDashboardView.java @@ -17,7 +17,7 @@ import org.eclipse.hawkbit.ui.HawkbitUI; import org.eclipse.hawkbit.ui.components.SPUIComponentProvider; import org.eclipse.hawkbit.ui.decorators.SPUIButtonStyleSmallNoBorder; import org.eclipse.hawkbit.ui.documentation.DocumentationPageLink; -import org.eclipse.hawkbit.ui.tenantconfiguration.ConfigurationElement.ConfigurationGroupChangeListener; +import org.eclipse.hawkbit.ui.tenantconfiguration.ConfigurationItem.ConfigurationItemChangeListener; import org.eclipse.hawkbit.ui.utils.I18N; import org.eclipse.hawkbit.ui.utils.SPUIComponetIdProvider; import org.eclipse.hawkbit.ui.utils.UINotification; @@ -45,7 +45,7 @@ import com.vaadin.ui.VerticalLayout; @SpringView(name = TenantConfigurationDashboardView.VIEW_NAME, ui = HawkbitUI.class) @ViewScope public class TenantConfigurationDashboardView extends CustomComponent - implements View, ConfigurationGroupChangeListener { + implements View, ConfigurationItemChangeListener { public static final String VIEW_NAME = "spSystemConfig"; private static final long serialVersionUID = 1L; @@ -168,7 +168,7 @@ public class TenantConfigurationDashboardView extends CustomComponent * ConfigurationGroupChangeListener #configurationChanged() */ @Override - public void configurationChanged() { + public void configurationHasChanged() { saveConfigurationBtn.setEnabled(true); undoConfigurationBtn.setEnabled(true); } diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/tenantconfiguration/authentication/AbstractAuthenticationTenantConfigurationItem.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/tenantconfiguration/authentication/AbstractAuthenticationTenantConfigurationItem.java index 05d581267..aae5c592d 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/tenantconfiguration/authentication/AbstractAuthenticationTenantConfigurationItem.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/tenantconfiguration/authentication/AbstractAuthenticationTenantConfigurationItem.java @@ -25,7 +25,8 @@ import com.vaadin.ui.VerticalLayout; * * */ -abstract class AbstractAuthenticationTenantConfigurationItem extends VerticalLayout implements TenantConfigurationItem { +abstract class AbstractAuthenticationTenantConfigurationItem extends VerticalLayout + implements AuthenticationConfigurationItem { /** * @@ -35,7 +36,7 @@ abstract class AbstractAuthenticationTenantConfigurationItem extends VerticalLay private final TenantConfigurationKey configurationKey; private final transient SystemManagement systemManagement; - private final List configurationChangeListeners = new ArrayList<>(); + private final List configurationChangeListeners = new ArrayList<>(); /** * @param configurationKey @@ -65,7 +66,8 @@ abstract class AbstractAuthenticationTenantConfigurationItem extends VerticalLay */ @Override public boolean isConfigEnabled() { - return systemManagement.getConfigurationValue(configurationKey, Boolean.class); + boolean b = systemManagement.getConfigurationValue(configurationKey, Boolean.class); + return b; } /** @@ -95,7 +97,12 @@ abstract class AbstractAuthenticationTenantConfigurationItem extends VerticalLay * TenantConfigurationChangeListener) */ @Override - public void addConfigurationChangeListener(final TenantConfigurationChangeListener listener) { + public void addChangeListener(final ConfigurationItemChangeListener listener) { configurationChangeListeners.add(listener); } + + @Override + public boolean isUserInputValid() { + return true; + } } diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/tenantconfiguration/authentication/TenantConfigurationItem.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/tenantconfiguration/authentication/AuthenticationConfigurationItem.java similarity index 55% rename from hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/tenantconfiguration/authentication/TenantConfigurationItem.java rename to hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/tenantconfiguration/authentication/AuthenticationConfigurationItem.java index 911520e99..b6b045e1b 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/tenantconfiguration/authentication/TenantConfigurationItem.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/tenantconfiguration/authentication/AuthenticationConfigurationItem.java @@ -8,7 +8,7 @@ */ package org.eclipse.hawkbit.ui.tenantconfiguration.authentication; -import java.io.Serializable; +import org.eclipse.hawkbit.ui.tenantconfiguration.ConfigurationItem; import com.vaadin.ui.Component; @@ -20,7 +20,7 @@ import com.vaadin.ui.Component; * * */ -public interface TenantConfigurationItem extends Component { +public interface AuthenticationConfigurationItem extends Component, ConfigurationItem { /** * @return {@code true} if configuration is enabled, otherwise {@code false} @@ -47,28 +47,4 @@ public interface TenantConfigurationItem extends Component { */ void undo(); - /** - * Adds a configuration change listener to notify about configuration - * changes. - * - * @param listener - * the listener to be notified in case the item changes some - * configuration - */ - void addConfigurationChangeListener(TenantConfigurationChangeListener listener); - - /** - * Configuration Change Listener to be notified about configuration changes - * in configuration item. - * - * - * - */ - @FunctionalInterface - interface TenantConfigurationChangeListener extends Serializable { - /** - * called to notify about configuration has been changed. - */ - void configurationHasChanged(); - } } diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/tenantconfiguration/polling/DurationConfigField.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/tenantconfiguration/polling/DurationConfigField.java index 5555037a6..a16accbae 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/tenantconfiguration/polling/DurationConfigField.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/tenantconfiguration/polling/DurationConfigField.java @@ -8,7 +8,7 @@ import javax.annotation.PostConstruct; import javax.validation.constraints.NotNull; import org.eclipse.hawkbit.ui.components.SPUIComponentProvider; -import org.eclipse.hawkbit.ui.tenantconfiguration.ConfigurationElement; +import org.eclipse.hawkbit.ui.tenantconfiguration.ConfigurationItem; import org.eclipse.hawkbit.ui.utils.I18N; import org.eclipse.hawkbit.ui.utils.SPUILabelDefinitions; import org.springframework.beans.factory.annotation.Autowired; @@ -32,11 +32,11 @@ import com.vaadin.ui.Label; @SpringComponent @ViewScope @Scope("prototype") -public class DurationConfigField extends GridLayout implements ValueChangeListener, ConfigurationElement { +public class DurationConfigField extends GridLayout implements ValueChangeListener, ConfigurationItem { private static final long serialVersionUID = 1L; - private final List configurationChangeListeners = new ArrayList<>(); + private final List configurationChangeListeners = new ArrayList<>(); private CheckBox checkBox; private DurationField durationField; @@ -171,11 +171,11 @@ public class DurationConfigField extends GridLayout implements ValueChangeListen } private void notifyConfigurationChanged() { - configurationChangeListeners.forEach(listener -> listener.configurationChanged()); + configurationChangeListeners.forEach(listener -> listener.configurationHasChanged()); } @Override - public void addChangeListener(final ConfigurationGroupChangeListener listener) { + public void addChangeListener(final ConfigurationItemChangeListener listener) { configurationChangeListeners.add(listener); } }