|
11 | 11 | import com.microsoft.azure.toolkit.ide.common.IActionsContributor; |
12 | 12 | import com.microsoft.azure.toolkit.ide.common.action.ResourceCommonActionsContributor; |
13 | 13 | 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; |
14 | 17 | import com.microsoft.azure.toolkit.lib.common.action.AzureActionManager; |
15 | 18 | import com.microsoft.azure.toolkit.lib.common.model.AzResource; |
| 19 | +import com.microsoft.azure.toolkit.lib.springcloud.AzureSpringCloud; |
16 | 20 | import com.microsoft.azure.toolkit.lib.springcloud.SpringCloudApp; |
17 | 21 | import com.microsoft.azure.toolkit.lib.springcloud.SpringCloudCluster; |
18 | 22 |
|
| 23 | +import java.util.function.BiPredicate; |
19 | 24 | import java.util.function.Consumer; |
20 | 25 | import java.util.function.Predicate; |
21 | 26 |
|
22 | 27 | public class EclipseSpringCloudActionsContributor implements IActionsContributor { |
23 | 28 | @Override |
24 | 29 | public void registerHandlers(AzureActionManager am) { |
| 30 | + this.registerCreateServiceActionHandler(am); |
25 | 31 | this.registerCreateAppActionHandler(am); |
26 | 32 | this.registerDeployAppActionHandler(am); |
27 | 33 | this.registerLogStreamingActionHandler(am); |
28 | 34 | } |
29 | 35 |
|
| 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 | + |
30 | 46 | private void registerCreateAppActionHandler(AzureActionManager am) { |
31 | 47 | final Predicate<Object> condition = (r) -> r instanceof SpringCloudCluster; |
32 | 48 | final Consumer<Object> handler = (c) -> CreateSpringCloudAppAction.createApp((SpringCloudCluster) c); |
|
0 commit comments