Skip to content

Commit 7542baa

Browse files
committed
Compare azure artifact with artifact type
1 parent 1a8f612 commit 7542baa

File tree

3 files changed

+9
-4
lines changed

3 files changed

+9
-4
lines changed

PluginsAndFeatures/azure-toolkit-for-intellij/src/com/microsoft/azure/toolkit/intellij/common/AzureArtifactComboBox.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ private void addOrSelectExistingVirtualFile(VirtualFile virtualFile) {
126126
final List<AzureArtifact> artifacts = this.getItems();
127127
final AzureArtifactManager manager = AzureArtifactManager.getInstance(project);
128128
final AzureArtifact existingArtifact =
129-
artifacts.stream().filter(artifact -> manager.equalsAzureArtifactIdentifier(artifact, selectArtifact)).findFirst().orElse(null);
129+
artifacts.stream().filter(artifact -> manager.equalsAzureArtifact(artifact, selectArtifact)).findFirst().orElse(null);
130130
if (existingArtifact == null) {
131131
this.addItem(selectArtifact);
132132
this.setSelectedItem(selectArtifact);
@@ -141,7 +141,7 @@ private void resetDefaultValue(final AzureArtifact defaultArtifact) {
141141
}
142142
final List<AzureArtifact> artifacts = this.getItems();
143143
final AzureArtifactManager manager = AzureArtifactManager.getInstance(project);
144-
final Predicate<AzureArtifact> predicate = artifact -> manager.equalsAzureArtifactIdentifier(defaultArtifact, artifact);
144+
final Predicate<AzureArtifact> predicate = artifact -> manager.equalsAzureArtifact(defaultArtifact, artifact);
145145
final AzureArtifact toSelect = artifacts.stream().filter(predicate).findFirst().orElse(null);
146146
if (toSelect != null) {
147147
this.setSelectedItem(toSelect);

PluginsAndFeatures/azure-toolkit-for-intellij/src/com/microsoft/azure/toolkit/intellij/common/AzureArtifactManager.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,10 +116,15 @@ public String getPackaging(AzureArtifact artifact) {
116116
}
117117
}
118118

119-
public boolean equalsAzureArtifactIdentifier(AzureArtifact artifact1, AzureArtifact artifact2) {
119+
public boolean equalsAzureArtifact(AzureArtifact artifact1, AzureArtifact artifact2) {
120120
if (Objects.isNull(artifact1) || Objects.isNull(artifact2)) {
121121
return artifact1 == artifact2;
122122
}
123+
if (artifact1.getType() != artifact2.getType()) {
124+
// Artifact with different type may have same identifier, for instance, File and Artifact, both of them use file path as identifier
125+
// todo: re-design identifier, make it include the artifact type info
126+
return false;
127+
}
123128
return StringUtils.equals(getArtifactIdentifier(artifact1), getArtifactIdentifier(artifact2));
124129
}
125130

PluginsAndFeatures/azure-toolkit-for-intellij/src/com/microsoft/azure/toolkit/intellij/common/AzureSettingPanel.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,7 @@ protected void artifactActionPerformed(Artifact selectArtifact) {
160160
}
161161

162162
protected void syncBeforeRunTasks(AzureArtifact azureArtifact, @NotNull final RunConfiguration configuration) {
163-
if (!AzureArtifactManager.getInstance(configuration.getProject()).equalsAzureArtifactIdentifier(lastSelectedAzureArtifact, azureArtifact)) {
163+
if (!AzureArtifactManager.getInstance(configuration.getProject()).equalsAzureArtifact(lastSelectedAzureArtifact, azureArtifact)) {
164164
final JPanel pnlRoot = getMainPanel();
165165
final DataContext context = DataManager.getInstance().getDataContext(pnlRoot);
166166
final ConfigurationSettingsEditorWrapper editor = ConfigurationSettingsEditorWrapper.CONFIGURATION_EDITOR_KEY.getData(context);

0 commit comments

Comments
 (0)