Added assignment quota error UI extractor (#1278)

* added assignment quota error UI extractor
* Verify amount of effected assignments instead of overall result count.

Signed-off-by: Bogdan Bondar <Bogdan.Bondar@bosch.io>
Co-authored-by: Michael Herdt <Michael.Herdt@bosch.com>
This commit is contained in:
Bondar Bogdan
2023-03-23 11:43:20 +01:00
committed by GitHub
parent 5af1fa1e1c
commit 5baf65c1f0
4 changed files with 62 additions and 13 deletions

View File

@@ -24,6 +24,7 @@ import org.eclipse.hawkbit.ui.error.extractors.EntityNotFoundErrorExtractor;
import org.eclipse.hawkbit.ui.error.extractors.IncompatibleTargetTypeErrorExtractor;
import org.eclipse.hawkbit.ui.error.extractors.InsufficientPermissionErrorExtractor;
import org.eclipse.hawkbit.ui.error.extractors.InvalidDistributionSetErrorExtractor;
import org.eclipse.hawkbit.ui.error.extractors.AssignmentQuotaExceededErrorExtractor;
import org.eclipse.hawkbit.ui.error.extractors.UiErrorDetailsExtractor;
import org.eclipse.hawkbit.ui.error.extractors.UploadErrorExtractor;
import org.eclipse.hawkbit.ui.utils.VaadinMessageSource;
@@ -195,6 +196,18 @@ public class MgmtUiConfiguration {
return new ArtifactEncryptionErrorExtractor(i18n);
}
/**
* UI Assignment Quota exceeded Error details extractor bean.
*
* @param i18n
* VaadinMessageSource
* @return UI Assignment Quota exceeded Error details extractor
*/
@Bean
UiErrorDetailsExtractor assignmentQuotaExceededErrorExtractor(final VaadinMessageSource i18n) {
return new AssignmentQuotaExceededErrorExtractor(i18n);
}
/**
* Vaadin4Spring servlet bean.
*

View File

@@ -0,0 +1,38 @@
/**
* Copyright (c) 2022 Bosch.IO GmbH and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*/
package org.eclipse.hawkbit.ui.error.extractors;
import java.util.Optional;
import org.eclipse.hawkbit.repository.exception.AssignmentQuotaExceededException;
import org.eclipse.hawkbit.ui.error.UiErrorDetails;
import org.eclipse.hawkbit.ui.utils.VaadinMessageSource;
/**
* UI error details extractor for {@link AssignmentQuotaExceededException}.
*/
public class AssignmentQuotaExceededErrorExtractor extends AbstractSingleUiErrorDetailsExtractor {
private final VaadinMessageSource i18n;
/**
* Constructor for AssignmentQuotaExceededErrorExtractor.
*
* @param i18n
* Message source used for localization
*/
public AssignmentQuotaExceededErrorExtractor(final VaadinMessageSource i18n) {
this.i18n = i18n;
}
@Override
protected Optional<UiErrorDetails> findDetails(final Throwable error) {
return findExceptionOf(error, AssignmentQuotaExceededException.class).map(
ex -> UiErrorDetails.create(i18n.getMessage("caption.quota.assignment.exceeded"), ex.getMessage()));
}
}

View File

@@ -113,6 +113,7 @@ caption.action.messages = Messages
caption.error = Error
caption.no.permission = Insufficient Permission
caption.entity.missing.error = Entity is missing
caption.quota.assignment.exceeded = Assignment quota exceeded
caption.new.softwaremodule.application = Configure New Application
caption.new.softwaremodule.os = Configure New OS
caption.filter.simple = Simple Filter