added Insufficient Permissions UI error extractor (#1196)
Signed-off-by: Bogdan Bondar <Bogdan.Bondar@bosch.io>
This commit is contained in:
@@ -20,6 +20,7 @@ import org.eclipse.hawkbit.ui.common.data.suppliers.TargetManagementStateDataSup
|
||||
import org.eclipse.hawkbit.ui.error.HawkbitUIErrorHandler;
|
||||
import org.eclipse.hawkbit.ui.error.extractors.ConstraintViolationErrorExtractor;
|
||||
import org.eclipse.hawkbit.ui.error.extractors.EntityNotFoundErrorExtractor;
|
||||
import org.eclipse.hawkbit.ui.error.extractors.InsufficientPermissionErrorExtractor;
|
||||
import org.eclipse.hawkbit.ui.error.extractors.InvalidDistributionSetErrorExtractor;
|
||||
import org.eclipse.hawkbit.ui.error.extractors.UiErrorDetailsExtractor;
|
||||
import org.eclipse.hawkbit.ui.error.extractors.UploadErrorExtractor;
|
||||
@@ -143,6 +144,18 @@ public class MgmtUiConfiguration {
|
||||
return new EntityNotFoundErrorExtractor(i18n);
|
||||
}
|
||||
|
||||
/**
|
||||
* UI Insufficient Permission Error details extractor bean.
|
||||
*
|
||||
* @param i18n
|
||||
* VaadinMessageSource
|
||||
* @return UI InsufficientPermission Error details extractor
|
||||
*/
|
||||
@Bean
|
||||
UiErrorDetailsExtractor insufficientPermissionErrorExtractor(final VaadinMessageSource i18n) {
|
||||
return new InsufficientPermissionErrorExtractor(i18n);
|
||||
}
|
||||
|
||||
/**
|
||||
* Details extractor bean for action not possible because of distribution
|
||||
* set is invalid.
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
/**
|
||||
* Copyright (c) 2021 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.InsufficientPermissionException;
|
||||
import org.eclipse.hawkbit.ui.error.UiErrorDetails;
|
||||
import org.eclipse.hawkbit.ui.utils.UIMessageIdProvider;
|
||||
import org.eclipse.hawkbit.ui.utils.VaadinMessageSource;
|
||||
|
||||
/**
|
||||
* UI error details extractor for {@link InsufficientPermissionException}.
|
||||
*/
|
||||
public class InsufficientPermissionErrorExtractor extends AbstractSingleUiErrorDetailsExtractor {
|
||||
private final VaadinMessageSource i18n;
|
||||
|
||||
/**
|
||||
* Constructor for InsufficientPermissionErrorExtractor.
|
||||
*
|
||||
* @param i18n
|
||||
* Message source used for localization
|
||||
*/
|
||||
public InsufficientPermissionErrorExtractor(final VaadinMessageSource i18n) {
|
||||
this.i18n = i18n;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Optional<UiErrorDetails> findDetails(final Throwable error) {
|
||||
return findExceptionOf(error, InsufficientPermissionException.class)
|
||||
.map(ex -> UiErrorDetails.create(i18n.getMessage(UIMessageIdProvider.CAPTION_INSUFFICIENT_PERMISSION),
|
||||
i18n.getMessage(UIMessageIdProvider.MESSAGE_ACTION_NOT_ALLOWED)));
|
||||
}
|
||||
}
|
||||
@@ -89,6 +89,10 @@ public final class UIMessageIdProvider {
|
||||
|
||||
public static final String CAPTION_TAG = "caption.tag";
|
||||
|
||||
public static final String CAPTION_ERROR = "caption.error";
|
||||
|
||||
public static final String CAPTION_INSUFFICIENT_PERMISSION = "caption.no.permission";
|
||||
|
||||
public static final String CAPTION_TYPE = "caption.type";
|
||||
|
||||
public static final String LABEL_DROP_AREA_UPLOAD = "label.drop.area.upload";
|
||||
@@ -155,6 +159,8 @@ public final class UIMessageIdProvider {
|
||||
|
||||
public static final String MESSAGE_ERROR_ENTITY_READONLY = "message.entity.error.readonly";
|
||||
|
||||
public static final String MESSAGE_ERROR = "message.error";
|
||||
|
||||
public static final String MESSAGE_ERROR_PERMISSION_INSUFFICIENT = "message.permission.insufficient";
|
||||
|
||||
public static final String CRON_VALIDATION_ERROR = "message.maintenancewindow.schedule.validation.error";
|
||||
@@ -277,10 +283,6 @@ public final class UIMessageIdProvider {
|
||||
|
||||
public static final String CAPTION_SOFTWARE_MODULE = "caption.software.module";
|
||||
|
||||
public static final String CAPTION_ERROR = "caption.error";
|
||||
|
||||
public static final String MESSAGE_ERROR = "message.error";
|
||||
|
||||
public static final String MESSAGE_TARGET_BULKUPLOAD_RESULT_SUCCESS = "message.bulk.upload.result.success";
|
||||
|
||||
public static final String MESSAGE_TARGET_BULKUPLOAD_RESULT_FAIL = "message.bulk.upload.result.fail";
|
||||
|
||||
@@ -110,6 +110,7 @@ caption.artifact.details.of = Artifact Details of
|
||||
caption.action.states= Action States
|
||||
caption.action.messages = Messages
|
||||
caption.error = Error
|
||||
caption.no.permission = Insufficient Permission
|
||||
caption.entity.missing.error = Entity is missing
|
||||
caption.new.softwaremodule.application = Configure New Application
|
||||
caption.new.softwaremodule.os = Configure New OS
|
||||
|
||||
Reference in New Issue
Block a user