Skip to content

Commit e3ea09f

Browse files
#1951367: [Test]It is not supported to link to portal in Azure explorer to create spring app service
1 parent f70b4d5 commit e3ea09f

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

PluginsAndFeatures/azure-toolkit-for-eclipse/com.microsoft.azuretools.springcloud/src/main/java/com/microsoft/azure/toolkit/eclipse/springcloud/EclipseSpringCloudActionsContributor.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,22 +11,38 @@
1111
import com.microsoft.azure.toolkit.ide.common.IActionsContributor;
1212
import com.microsoft.azure.toolkit.ide.common.action.ResourceCommonActionsContributor;
1313
import com.microsoft.azure.toolkit.ide.springcloud.SpringCloudActionsContributor;
14+
import com.microsoft.azure.toolkit.lib.Azure;
15+
import com.microsoft.azure.toolkit.lib.account.IAccount;
16+
import com.microsoft.azure.toolkit.lib.account.IAzureAccount;
1417
import com.microsoft.azure.toolkit.lib.common.action.AzureActionManager;
1518
import com.microsoft.azure.toolkit.lib.common.model.AzResource;
19+
import com.microsoft.azure.toolkit.lib.springcloud.AzureSpringCloud;
1620
import com.microsoft.azure.toolkit.lib.springcloud.SpringCloudApp;
1721
import com.microsoft.azure.toolkit.lib.springcloud.SpringCloudCluster;
1822

23+
import java.util.function.BiPredicate;
1924
import java.util.function.Consumer;
2025
import java.util.function.Predicate;
2126

2227
public class EclipseSpringCloudActionsContributor implements IActionsContributor {
2328
@Override
2429
public void registerHandlers(AzureActionManager am) {
30+
this.registerCreateServiceActionHandler(am);
2531
this.registerCreateAppActionHandler(am);
2632
this.registerDeployAppActionHandler(am);
2733
this.registerLogStreamingActionHandler(am);
2834
}
2935

36+
private void registerCreateServiceActionHandler(AzureActionManager am) {
37+
final Predicate<Object> condition = (r) -> r instanceof AzureSpringCloud;
38+
final Consumer<Object> handler = (r) -> {
39+
final IAccount account = Azure.az(IAzureAccount.class).account();
40+
final String url = String.format("%s/#create/Microsoft.AppPlatform", account.portalUrl());
41+
am.getAction(ResourceCommonActionsContributor.OPEN_URL).handle(url, null);
42+
};
43+
am.registerHandler(ResourceCommonActionsContributor.CREATE, condition, handler);
44+
}
45+
3046
private void registerCreateAppActionHandler(AzureActionManager am) {
3147
final Predicate<Object> condition = (r) -> r instanceof SpringCloudCluster;
3248
final Consumer<Object> handler = (c) -> CreateSpringCloudAppAction.createApp((SpringCloudCluster) c);

0 commit comments

Comments
 (0)