use of com.microsoft.azuretools.ijidea.ui.WarSelectDialog in project azure-tools-for-java by Microsoft.
the class AzureWebDeployAction method onActionPerformed.
public void onActionPerformed(AnActionEvent e) {
// Module module = LangDataKeys.MODULE.getData(e.getDataContext());
// Module module1 = e.getData(LangDataKeys.MODULE);
Project project = DataKeys.PROJECT.getData(e.getDataContext());
JFrame frame = WindowManager.getInstance().getFrame(project);
try {
if (!AzureSignInAction.doSignIn(AuthMethodManager.getInstance(), project))
return;
//Project project = module.getProject();
ModifiableArtifactModel artifactModel = ProjectStructureConfigurable.getInstance(project).getArtifactsStructureConfigurable().getModifiableArtifactModel();
Artifact artifactToDeploy = null;
Collection<? extends Artifact> artifacts = artifactModel.getArtifactsByType(ArtifactType.findById("war"));
List<String> issues = new LinkedList<>();
if (artifacts.size() == 0) {
issues.add("A web archive (WAR) Artifact has not been configured yet. The artifact configurations are managed in the <b>Project Structure</b> dialog (<b>File | Project Structure | Artifacts</b>).");
ArtifactValidationWindow.go(project, issues);
return;
} else if (artifacts.size() > 1) {
WarSelectDialog d = WarSelectDialog.go(project, new ArrayList<>(artifacts));
if (d == null) {
return;
}
artifactToDeploy = d.getSelectedArtifact();
} else {
artifactToDeploy = (Artifact) artifacts.toArray()[0];
}
// check artifact name is valid
String name = artifactToDeploy.getName();
if (!name.matches("^[A-Za-z0-9]*[A-Za-z0-9]$")) {
issues.add("The artifact name <b>'" + name + "'</b> is invalid. An artifact name may contain only the ASCII letters 'a' through 'z' (case-insensitive),\nand the digits '0' through '9'.");
}
boolean exists = Files.exists(Paths.get(artifactToDeploy.getOutputFilePath()));
if (!exists) {
issues.add("The Artifact has not been built yet. You can initiate building an artifact using <b>Build | Build Artifacts...</b> menu.");
}
if (issues.size() > 0) {
ArtifactValidationWindow.go(project, issues);
return;
}
WebAppDeployDialog d = WebAppDeployDialog.go(project, artifactToDeploy);
} catch (Exception ex) {
ex.printStackTrace();
//LOGGER.error("actionPerformed", ex);
ErrorWindow.show(project, ex.getMessage(), "Azure Web Deploy Action Error");
}
}
Aggregations