diff --git a/java/compiler/impl/src/com/intellij/packaging/impl/artifacts/ArtifactImpl.java b/java/compiler/impl/src/com/intellij/packaging/impl/artifacts/ArtifactImpl.java index 31d3079227c7..39a9da53d7bd 100644 --- a/java/compiler/impl/src/com/intellij/packaging/impl/artifacts/ArtifactImpl.java +++ b/java/compiler/impl/src/com/intellij/packaging/impl/artifacts/ArtifactImpl.java @@ -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); } diff --git a/java/compiler/openapi/src/com/intellij/packaging/artifacts/ModifiableArtifact.java b/java/compiler/openapi/src/com/intellij/packaging/artifacts/ModifiableArtifact.java index 12d8c2e03f81..1f5bb5955d18 100644 --- a/java/compiler/openapi/src/com/intellij/packaging/artifacts/ModifiableArtifact.java +++ b/java/compiler/openapi/src/com/intellij/packaging/artifacts/ModifiableArtifact.java @@ -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); } diff --git a/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/artifacts/ArtifactPropertiesEditors.java b/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/artifacts/ArtifactPropertiesEditors.java index 6e314a7db8eb..a350fe01716d 100644 --- a/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/artifacts/ArtifactPropertiesEditors.java +++ b/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/artifacts/ArtifactPropertiesEditors.java @@ -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);