Search in sources :

Example 1 with File

use of com.microsoft.azure.toolkit.intellij.common.AzureArtifactType.File in project azure-tools-for-java by Microsoft.

the class AzureArtifactManager method getModuleFromAzureArtifact.

@Nullable
@AzureOperation(name = "common|artifact.get_module", params = { "azureArtifact.getName()" }, type = AzureOperation.Type.TASK)
public Module getModuleFromAzureArtifact(AzureArtifact azureArtifact) {
    if (azureArtifact == null || azureArtifact.getReferencedObject() == null) {
        return null;
    }
    switch(azureArtifact.getType()) {
        case Gradle:
            final String gradleModulePath = ((ExternalProjectPojo) azureArtifact.getReferencedObject()).getPath();
            final VirtualFile gradleVirtualFile = LocalFileSystem.getInstance().findFileByIoFile(new File(gradleModulePath));
            return ProjectFileIndex.getInstance(project).getModuleForFile(gradleVirtualFile);
        case Maven:
            return ProjectFileIndex.getInstance(project).getModuleForFile(((MavenProject) azureArtifact.getReferencedObject()).getFile());
        default:
            // IntelliJ artifact is bind to project, can not get the related module, same for File artifact
            return null;
    }
}
Also used : VirtualFile(com.intellij.openapi.vfs.VirtualFile) ExternalProjectPojo(com.intellij.openapi.externalSystem.model.project.ExternalProjectPojo) VirtualFile(com.intellij.openapi.vfs.VirtualFile) File(com.microsoft.azure.toolkit.intellij.common.AzureArtifactType.File) File(java.io.File) AzureOperation(com.microsoft.azure.toolkit.lib.common.operation.AzureOperation) Nullable(org.jetbrains.annotations.Nullable)

Aggregations

ExternalProjectPojo (com.intellij.openapi.externalSystem.model.project.ExternalProjectPojo)1 VirtualFile (com.intellij.openapi.vfs.VirtualFile)1 File (com.microsoft.azure.toolkit.intellij.common.AzureArtifactType.File)1 AzureOperation (com.microsoft.azure.toolkit.lib.common.operation.AzureOperation)1 File (java.io.File)1 Nullable (org.jetbrains.annotations.Nullable)1