[project model] mark first parameter of ModifiableArtifact::setProperties as @NotNull

Otherwise 'null' key in myProperties map will cause exceptions later (see IDEA-240496).

GitOrigin-RevId: 742258b412fce199fbb278fcf61a6d3f30a787b8
This commit is contained in:
Nikolay Chashnikov
2020-05-12 13:48:41 +00:00
committed by intellij-monorepo-bot
parent 5f4078a256
commit eed6716e2e
3 changed files with 9 additions and 3 deletions
@@ -141,7 +141,7 @@ public class ArtifactImpl extends UserDataHolderBase implements ModifiableArtifa
}
@Override
public void setProperties(ArtifactPropertiesProvider provider, ArtifactProperties<?> properties) {
public void setProperties(@NotNull ArtifactPropertiesProvider provider, @Nullable ArtifactProperties<?> properties) {
if (properties != null) {
myProperties.put(provider, properties);
}
@@ -17,6 +17,7 @@ package com.intellij.packaging.artifacts;
import com.intellij.packaging.elements.CompositePackagingElement;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
public interface ModifiableArtifact extends Artifact {
@@ -28,7 +29,11 @@ public interface ModifiableArtifact extends Artifact {
void setRootElement(CompositePackagingElement<?> root);
void setProperties(ArtifactPropertiesProvider provider, ArtifactProperties<?> properties);
/**
* Sets custom properties corresponding to {@code provider} in the artifact configuration. If {@code properties} is {@code null} custom
* properties corresponding to {@code provider} are removed.
*/
void setProperties(@NotNull ArtifactPropertiesProvider provider, @Nullable ArtifactProperties<?> properties);
void setArtifactType(@NotNull ArtifactType selected);
}
@@ -11,6 +11,7 @@ import com.intellij.packaging.ui.ArtifactEditorContext;
import com.intellij.packaging.ui.ArtifactPropertiesEditor;
import com.intellij.ui.TabbedPaneWrapper;
import com.intellij.ui.components.JBScrollPane;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import javax.swing.*;
@@ -113,7 +114,7 @@ public class ArtifactPropertiesEditors {
private final ArtifactProperties<?> myProperties;
private final ArtifactPropertiesProvider myProvider;
private PropertiesEditorInfo(ArtifactPropertiesProvider provider) {
private PropertiesEditorInfo(@NotNull ArtifactPropertiesProvider provider) {
myProvider = provider;
myProperties = provider.createProperties(myOriginalArtifact.getArtifactType());
final ArtifactProperties<?> originalProperties = myOriginalArtifact.getProperties(provider);