We updated our SonarQube Server to 8.7.1 on 15.3.2021
- SonarQube ID information
Server ID: A7EE8CF2-AWNfJ7jrUMoe9cI1imbB
Version: 8.7.1.42226
Now there are 14 new issues “Remove this unused import” but all of them are false, because the removal would result in a compilation error.
This java class produces : Remove this unused import ‘com.example.client.common.editor.view.BaseEditorPart.TRANSIENT_PARAMETER_READONLY’.
package com.example.client.selection.handler;
import static com.example.client.common.editor.view.BaseEditorPart.TRANSIENT_PARAMETER_READONLY;
import static java.util.Objects.nonNull;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.example.client.common.part.PartManager;
import com.example.shared.dto.DataSetVersionIdDTO;
public abstract class BasePartHandler {
private static final Logger LOGGER = LoggerFactory.getLogger(BasePartHandler.class);
protected final PartManager partManager;
protected BasePartHandler(PartManager partManager) {
this.partManager = partManager;
}
protected void displayPart(String partId) {
displayPartInternal(partId, null, null, null);
}
protected void displayPart(String partId, String parameterName, DataSetVersionIdDTO id) {
displayPartInternal(partId, parameterName, id, null);
}
protected void displayPartEditable(String partId) {
displayPartInternal(partId, null, null, false);
}
protected void displayPartEditable(String partId, String parameterName, DataSetVersionIdDTO id) {
displayPartInternal(partId, parameterName, id, false);
}
protected void displayPartReadOnly(String partId) {
displayPartInternal(partId, null, null, true);
}
protected void displayPartReadOnly(String partId, String parameterName, DataSetVersionIdDTO id) {
displayPartInternal(partId, parameterName, id, true);
}
private void displayPartInternal(String partId, String parameterName, DataSetVersionIdDTO id, Boolean readOnly) {
try {
partManager.displayPart(partId, partManager.createElementId(partId, id, readOnly),
part -> {
if (nonNull(parameterName) && nonNull(id)) {
part.getTransientData().put(parameterName, id);
}
if (nonNull(readOnly)) {
part.getTransientData().put(TRANSIENT_PARAMETER_READONLY, readOnly);
}
});
} catch (Exception ex) {
LOGGER.error(getErrorMessage(), ex);
}
}
protected void hidePart(String elementId) {
partManager.hidePart(elementId);
}
protected abstract String getErrorMessage();
}