");
} else if (ServletUtil.isParameterEnabled(request, FAILED_TO_DERIVE_REDIRECT_URL_PARAMETER_NAME)) {
return skeleton.replace(ERROR_MESSAGE_PLACEHOLDER,
"
Failed to derive redirect URL.
");
diff --git a/bundles/org.openhab.binding.mielecloud/src/main/java/org/openhab/binding/mielecloud/internal/config/servlet/SuccessServlet.java b/bundles/org.openhab.binding.mielecloud/src/main/java/org/openhab/binding/mielecloud/internal/config/servlet/SuccessServlet.java
index d240f215ee7..a25c72fd398 100644
--- a/bundles/org.openhab.binding.mielecloud/src/main/java/org/openhab/binding/mielecloud/internal/config/servlet/SuccessServlet.java
+++ b/bundles/org.openhab.binding.mielecloud/src/main/java/org/openhab/binding/mielecloud/internal/config/servlet/SuccessServlet.java
@@ -23,7 +23,6 @@ import javax.servlet.http.HttpServletResponse;
import org.eclipse.jdt.annotation.NonNullByDefault;
import org.openhab.binding.mielecloud.internal.config.ThingsTemplateGenerator;
-import org.openhab.binding.mielecloud.internal.util.EmailValidator;
import org.openhab.binding.mielecloud.internal.webservice.language.LanguageProvider;
import org.openhab.core.thing.ThingUID;
import org.slf4j.Logger;
@@ -97,12 +96,6 @@ public class SuccessServlet extends AbstractShowPageServlet {
"Malformed bridge UID.");
}
- if (!EmailValidator.isValid(email)) {
- logger.warn("Success page received malformed e-mail address '{}'.", email);
- return getResourceLoader().loadResourceAsString("failure.html").replace(ERROR_MESSAGE_TEXT_PLACEHOLDER,
- "Malformed e-mail address.");
- }
-
String skeleton = getResourceLoader().loadResourceAsString("success.html");
skeleton = renderErrorMessage(request, skeleton);
skeleton = renderBridgeUid(skeleton, bridgeUid);
diff --git a/bundles/org.openhab.binding.mielecloud/src/main/java/org/openhab/binding/mielecloud/internal/handler/MieleBridgeHandler.java b/bundles/org.openhab.binding.mielecloud/src/main/java/org/openhab/binding/mielecloud/internal/handler/MieleBridgeHandler.java
index 03d93ee28c3..409e7239f91 100644
--- a/bundles/org.openhab.binding.mielecloud/src/main/java/org/openhab/binding/mielecloud/internal/handler/MieleBridgeHandler.java
+++ b/bundles/org.openhab.binding.mielecloud/src/main/java/org/openhab/binding/mielecloud/internal/handler/MieleBridgeHandler.java
@@ -30,7 +30,6 @@ import org.openhab.binding.mielecloud.internal.auth.OAuthException;
import org.openhab.binding.mielecloud.internal.auth.OAuthTokenRefreshListener;
import org.openhab.binding.mielecloud.internal.auth.OAuthTokenRefresher;
import org.openhab.binding.mielecloud.internal.discovery.ThingDiscoveryService;
-import org.openhab.binding.mielecloud.internal.util.EmailValidator;
import org.openhab.binding.mielecloud.internal.util.LocaleValidator;
import org.openhab.binding.mielecloud.internal.webservice.ConnectionError;
import org.openhab.binding.mielecloud.internal.webservice.ConnectionStatusListener;
@@ -58,7 +57,7 @@ import org.slf4j.LoggerFactory;
*
* @author Roland Edelhoff - Initial contribution
* @author Björn Lange - Introduced CombiningLanguageProvider field and interactions, added LanguageProvider super
- * interface, switched from polling to SSE, added support for multiple bridges
+ * interface, switched from polling to SSE, added support for multiple bridges, removed e-mail validation
*/
@NonNullByDefault
public class MieleBridgeHandler extends BaseBridgeHandler
@@ -122,14 +121,6 @@ public class MieleBridgeHandler extends BaseBridgeHandler
}
public void initializeWebservice() {
- if (!EmailValidator.isValid(getConfig().get(MieleCloudBindingConstants.CONFIG_PARAM_EMAIL).toString())) {
- updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.CONFIGURATION_ERROR,
- I18NKeys.BRIDGE_STATUS_DESCRIPTION_INVALID_EMAIL);
- // When the e-mail configuration is changed a new initialization will be triggered. Therefore, we can leave
- // the bridge in this state.
- return;
- }
-
try {
webService = webserviceFactory.get();
} catch (MieleWebserviceInitializationException e) {
diff --git a/bundles/org.openhab.binding.mielecloud/src/main/java/org/openhab/binding/mielecloud/internal/util/EmailValidator.java b/bundles/org.openhab.binding.mielecloud/src/main/java/org/openhab/binding/mielecloud/internal/util/EmailValidator.java
deleted file mode 100644
index 5cd7143b1f2..00000000000
--- a/bundles/org.openhab.binding.mielecloud/src/main/java/org/openhab/binding/mielecloud/internal/util/EmailValidator.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/**
- * Copyright (c) 2010-2021 Contributors to the openHAB project
- *
- * See the NOTICE file(s) distributed with this work for additional
- * information.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License 2.0 which is available at
- * http://www.eclipse.org/legal/epl-2.0
- *
- * SPDX-License-Identifier: EPL-2.0
- */
-package org.openhab.binding.mielecloud.internal.util;
-
-import java.util.regex.Pattern;
-
-import org.eclipse.jdt.annotation.NonNullByDefault;
-
-/**
- * Utility for validating e-mail addresses.
- *
- * @author Björn Lange - Initial Contribution
- */
-@NonNullByDefault
-public final class EmailValidator {
- private static final Pattern EMAIL_PATTERN = Pattern
- .compile("^[a-zA-Z_0-9\\.+%-]{3,}\\@([a-zA-Z_0-9-]+\\.)+[a-z]+$");
-
- private EmailValidator() {
- throw new UnsupportedOperationException();
- }
-
- public static boolean isValid(String emailAddress) {
- return EMAIL_PATTERN.matcher(emailAddress).matches();
- }
-}
diff --git a/bundles/org.openhab.binding.mielecloud/src/main/resources/OH-INF/i18n/mielecloud.properties b/bundles/org.openhab.binding.mielecloud/src/main/resources/OH-INF/i18n/mielecloud.properties
index 1413681b87e..bb407e3b18e 100644
--- a/bundles/org.openhab.binding.mielecloud/src/main/resources/OH-INF/i18n/mielecloud.properties
+++ b/bundles/org.openhab.binding.mielecloud/src/main/resources/OH-INF/i18n/mielecloud.properties
@@ -245,7 +245,6 @@ channel-type.mielecloud.battery_level.description=The battery level of the robot
mielecloud.bridge.status.access.token.not.configured=The OAuth2 access token is not configured.
mielecloud.bridge.status.account.not.authorized=The account has not been authorized. Please consult the documentation on how to do that.
mielecloud.bridge.status.access.token.refresh.failed=Failed to refresh the OAuth2 access token. Please authorize the account again.
-mielecloud.bridge.status.invalid.email=The configured e-mail address has an invalid format.
mielecloud.bridge.status.transient.http.error=An unexpected HTTP error occurred. Check the logs if this error persists.
mielecloud.thing.status.webservice.missing=The Miele webservice cannot be accessed over the bridge. Check the bridge configuration.
mielecloud.thing.status.removed=This Miele device has been removed from the Miele@home account.
diff --git a/bundles/org.openhab.binding.mielecloud/src/main/resources/org/openhab/binding/mielecloud/internal/config/pairing.html b/bundles/org.openhab.binding.mielecloud/src/main/resources/org/openhab/binding/mielecloud/internal/config/pairing.html
index 4565122e4ab..317efa7f1f9 100644
--- a/bundles/org.openhab.binding.mielecloud/src/main/resources/org/openhab/binding/mielecloud/internal/config/pairing.html
+++ b/bundles/org.openhab.binding.mielecloud/src/main/resources/org/openhab/binding/mielecloud/internal/config/pairing.html
@@ -53,7 +53,7 @@
-
+
diff --git a/bundles/org.openhab.binding.mielecloud/src/test/java/org/openhab/binding/mielecloud/internal/util/EmailValidatorTest.java b/bundles/org.openhab.binding.mielecloud/src/test/java/org/openhab/binding/mielecloud/internal/util/EmailValidatorTest.java
deleted file mode 100644
index 51c037c9e00..00000000000
--- a/bundles/org.openhab.binding.mielecloud/src/test/java/org/openhab/binding/mielecloud/internal/util/EmailValidatorTest.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/**
- * Copyright (c) 2010-2021 Contributors to the openHAB project
- *
- * See the NOTICE file(s) distributed with this work for additional
- * information.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License 2.0 which is available at
- * http://www.eclipse.org/legal/epl-2.0
- *
- * SPDX-License-Identifier: EPL-2.0
- */
-package org.openhab.binding.mielecloud.internal.util;
-
-import static org.junit.jupiter.api.Assertions.*;
-
-import org.eclipse.jdt.annotation.NonNullByDefault;
-import org.junit.jupiter.params.ParameterizedTest;
-import org.junit.jupiter.params.provider.ValueSource;
-
-/**
- * @author Björn Lange - Initial Contribution
- */
-@NonNullByDefault
-public class EmailValidatorTest {
- @ParameterizedTest
- @ValueSource(strings = { "example@openhab.org", "itsme@test24.com", "my-account@t-online.de", "Some@dDRESs.edu",
- "min@Length.com" })
- void validEmailAddress(String emailAddress) {
- // when:
- var valid = EmailValidator.isValid(emailAddress);
-
- // then:
- assertTrue(valid);
- }
-
- @ParameterizedTest
- @ValueSource(strings = { "examp!e@###.org", "to@o.short.com" })
- void invalidEmailAddress(String emailAddress) {
- // when:
- var valid = EmailValidator.isValid(emailAddress);
-
- // then:
- assertFalse(valid);
- }
-}
diff --git a/itests/org.openhab.binding.mielecloud.tests/src/main/java/org/openhab/binding/mielecloud/internal/config/servlet/CreateBridgeServletTest.java b/itests/org.openhab.binding.mielecloud.tests/src/main/java/org/openhab/binding/mielecloud/internal/config/servlet/CreateBridgeServletTest.java
index 5010aed71df..044c828a61f 100644
--- a/itests/org.openhab.binding.mielecloud.tests/src/main/java/org/openhab/binding/mielecloud/internal/config/servlet/CreateBridgeServletTest.java
+++ b/itests/org.openhab.binding.mielecloud.tests/src/main/java/org/openhab/binding/mielecloud/internal/config/servlet/CreateBridgeServletTest.java
@@ -225,18 +225,4 @@ public class CreateBridgeServletTest extends AbstractConfigFlowTest {
assertTrue(website.contains("Pairing failed!"));
assertTrue(website.contains("Missing e-mail address."));
}
-
- @Test
- public void whenAMalformedEmailIsPassedToBridgeCreationThenTheBrowserIsRedirectedToTheFailurePageAndAnErrorIsShown()
- throws Exception {
- // when:
- Website website = getCrawler()
- .doGetRelative("/mielecloud/createBridgeThing?" + CreateBridgeServlet.BRIDGE_UID_PARAMETER_NAME + "="
- + MieleCloudBindingIntegrationTestConstants.BRIDGE_THING_UID.getAsString() + "&"
- + CreateBridgeServlet.EMAIL_PARAMETER_NAME + "=openhab.openhab.org");
-
- // then:
- assertTrue(website.contains("Pairing failed!"));
- assertTrue(website.contains("Malformed e-mail address."));
- }
}
diff --git a/itests/org.openhab.binding.mielecloud.tests/src/main/java/org/openhab/binding/mielecloud/internal/config/servlet/ForwardToLoginServletTest.java b/itests/org.openhab.binding.mielecloud.tests/src/main/java/org/openhab/binding/mielecloud/internal/config/servlet/ForwardToLoginServletTest.java
index d0c281870a5..51f1ffcb4ae 100644
--- a/itests/org.openhab.binding.mielecloud.tests/src/main/java/org/openhab/binding/mielecloud/internal/config/servlet/ForwardToLoginServletTest.java
+++ b/itests/org.openhab.binding.mielecloud.tests/src/main/java/org/openhab/binding/mielecloud/internal/config/servlet/ForwardToLoginServletTest.java
@@ -267,23 +267,4 @@ public class ForwardToLoginServletTest extends AbstractConfigFlowTest {
"Go to the Miele developer portal to obtain your"));
assertTrue(maybePairAccountSite.contains("Missing e-mail address."));
}
-
- @Test
- public void whenAMalformedEmailIsPassedThenTheBrowserIsRedirectedToThePairSiteAndAWarningIsDisplayed()
- throws Exception {
- // when:
- Website maybePairAccountSite = getCrawler()
- .doGetRelative("/mielecloud/forwardToLogin?" + ForwardToLoginServlet.CLIENT_ID_PARAMETER_NAME + "="
- + MieleCloudBindingIntegrationTestConstants.CLIENT_ID + "&"
- + ForwardToLoginServlet.CLIENT_SECRET_PARAMETER_NAME + "="
- + MieleCloudBindingIntegrationTestConstants.CLIENT_SECRET + "&"
- + ForwardToLoginServlet.BRIDGE_ID_PARAMETER_NAME + "="
- + MieleCloudBindingIntegrationTestConstants.BRIDGE_ID + "&"
- + ForwardToLoginServlet.EMAIL_PARAMETER_NAME + "=not_an_Email");
-
- // then:
- assertTrue(maybePairAccountSite.contains(
- "Go to the Miele developer portal to obtain your"));
- assertTrue(maybePairAccountSite.contains("Malformed e-mail address"));
- }
}
diff --git a/itests/org.openhab.binding.mielecloud.tests/src/main/java/org/openhab/binding/mielecloud/internal/config/servlet/SuccessServletTest.java b/itests/org.openhab.binding.mielecloud.tests/src/main/java/org/openhab/binding/mielecloud/internal/config/servlet/SuccessServletTest.java
index 288aff71a90..f7395baebf8 100644
--- a/itests/org.openhab.binding.mielecloud.tests/src/main/java/org/openhab/binding/mielecloud/internal/config/servlet/SuccessServletTest.java
+++ b/itests/org.openhab.binding.mielecloud.tests/src/main/java/org/openhab/binding/mielecloud/internal/config/servlet/SuccessServletTest.java
@@ -131,16 +131,4 @@ public class SuccessServletTest extends AbstractConfigFlowTest {
assertTrue(website.contains("Pairing failed!"));
assertTrue(website.contains("Missing e-mail address."));
}
-
- @Test
- public void whenTheSuccessPageIsRequestedAndAMalformedEmailIsPassedThenTheFailurePageIsShown() throws Exception {
- // when:
- Website website = getCrawler().doGetRelative("/mielecloud/success?" + SuccessServlet.BRIDGE_UID_PARAMETER_NAME
- + "=" + MieleCloudBindingIntegrationTestConstants.BRIDGE_THING_UID.getAsString() + "&"
- + SuccessServlet.EMAIL_PARAMETER_NAME + "=not:an!email");
-
- // then:
- assertTrue(website.contains("Pairing failed!"));
- assertTrue(website.contains("Malformed e-mail address."));
- }
}
diff --git a/itests/org.openhab.binding.mielecloud.tests/src/main/java/org/openhab/binding/mielecloud/internal/handler/MieleBridgeHandlerTest.java b/itests/org.openhab.binding.mielecloud.tests/src/main/java/org/openhab/binding/mielecloud/internal/handler/MieleBridgeHandlerTest.java
index 2a8760767cf..66fa0f04e51 100644
--- a/itests/org.openhab.binding.mielecloud.tests/src/main/java/org/openhab/binding/mielecloud/internal/handler/MieleBridgeHandlerTest.java
+++ b/itests/org.openhab.binding.mielecloud.tests/src/main/java/org/openhab/binding/mielecloud/internal/handler/MieleBridgeHandlerTest.java
@@ -195,21 +195,6 @@ public class MieleBridgeHandlerTest extends OpenHabOsgiTest {
MieleCloudBindingConstants.I18NKeys.BRIDGE_STATUS_DESCRIPTION_ACCESS_TOKEN_NOT_CONFIGURED);
}
- @Test
- public void testThingStatusIsSetToOfflineWithDetailConfigurationErrorAndDescriptionWhenTheEmailAddressIsInvalid()
- throws Exception {
- // given:
- getBridge().getConfiguration().setProperties(
- Collections.singletonMap(MieleCloudBindingConstants.CONFIG_PARAM_EMAIL, "not!a!mail$address"));
-
- // when:
- getHandler().initialize();
-
- // then:
- assertThingStatusIs(ThingStatus.OFFLINE, ThingStatusDetail.CONFIGURATION_ERROR,
- MieleCloudBindingConstants.I18NKeys.BRIDGE_STATUS_DESCRIPTION_INVALID_EMAIL);
- }
-
@Test
public void testThingStatusIsSetToOfflineWithDetailConfigurationErrorAndDescriptionWhenTheMieleAccountHasNotBeenAuthorized()
throws Exception {