Java 类com.intellij.lang.ant.dom.AntDomElement 实例源码

项目:intellij-ce-playground    文件:BuildTask.java   
public BuildTask(final AntBuildTargetBase target, final AntDomElement task) {
  myTarget = target;
  myName = task.getXmlElementName();
  final DomTarget domTarget = DomTarget.getTarget(task);
  if (domTarget != null) {
    myOffset = domTarget.getTextOffset();
  }
  else {
    myOffset = task.getXmlTag().getTextOffset();
  }
}
项目:intellij-ce-playground    文件:AntBuildTargetImpl.java   
@Nullable
public BuildTask findTask(final String taskName) {
  final PsiFile psiFile = PsiManager.getInstance(myProject).findFile(myFile);
  final AntDomProject domProject = AntSupport.getAntDomProject(psiFile);
  if (domProject != null) {
    final AntDomTarget antTarget = domProject.findDeclaredTarget(myName);
    if (antTarget != null) {
      final Ref<AntDomElement> result = new Ref<AntDomElement>(null);
      antTarget.accept(new AntDomRecursiveVisitor() {
        public void visitAntDomElement(AntDomElement element) {
          if (result.get() != null) {
            return;
          }
          if (element.isTask() && taskName.equals(element.getXmlElementName())) {
            result.set(element);
            return;
          }
          super.visitAntDomElement(element);
        }
      });
      final AntDomElement task = result.get();
      if (task != null) {
        return new BuildTask(this, task);
      }
    }
  }
  return null;
}
项目:intellij-ce-playground    文件:AntDomDocumentationProvider.java   
@Nullable
private static String getAdditionalDocumentation(PsiElement elem) {
  final XmlTag xmlTag = PsiTreeUtil.getParentOfType(elem, XmlTag.class);
  if (xmlTag == null) {
    return null;
  }
  final AntDomElement antElement = AntSupport.getAntDomElement(xmlTag);
  if (antElement instanceof AntFilesProvider) {
    final List<File> list = ((AntFilesProvider)antElement).getFiles(new HashSet<AntFilesProvider>());
    if (list.size() > 0) {
      final @NonNls StringBuilder builder = StringBuilderSpinAllocator.alloc();
      try {
        final XmlTag tag = antElement.getXmlTag();
        if (tag != null) {
          builder.append("<b>");
          builder.append(tag.getName());
          builder.append(":</b>");
        }
        for (File file : list) {
          if (builder.length() > 0) {
            builder.append("<br>");
          }
          builder.append(file.getPath());
        }
        return builder.toString();
      }
      finally {
        StringBuilderSpinAllocator.dispose(builder);
      }
    }
  }
  return null;
}
项目:tools-idea    文件:BuildTask.java   
public BuildTask(final AntBuildTargetBase target, final AntDomElement task) {
  myTarget = target;
  myName = task.getXmlElementName();
  final DomTarget domTarget = DomTarget.getTarget(task);
  if (domTarget != null) {
    myOffset = domTarget.getTextOffset();
  }
  else {
    myOffset = task.getXmlTag().getTextOffset();
  }
}
项目:tools-idea    文件:AntBuildTargetImpl.java   
@Nullable
public BuildTask findTask(final String taskName) {
  final PsiFile psiFile = PsiManager.getInstance(myProject).findFile(myFile);
  final AntDomProject domProject = AntSupport.getAntDomProject(psiFile);
  if (domProject != null) {
    final AntDomTarget antTarget = domProject.findDeclaredTarget(myName);
    if (antTarget != null) {
      final Ref<AntDomElement> result = new Ref<AntDomElement>(null);
      antTarget.accept(new AntDomRecursiveVisitor() {
        public void visitAntDomElement(AntDomElement element) {
          if (result.get() != null) {
            return;
          }
          if (element.isTask() && taskName.equals(element.getXmlElementName())) {
            result.set(element);
            return;
          }
          super.visitAntDomElement(element);
        }
      });
      final AntDomElement task = result.get();
      if (task != null) {
        return new BuildTask(this, task);
      }
    }
  }
  return null;
}
项目:tools-idea    文件:AntDomDocumentationProvider.java   
@Nullable
private static String getAdditionalDocumentation(PsiElement elem) {
  final XmlTag xmlTag = PsiTreeUtil.getParentOfType(elem, XmlTag.class);
  if (xmlTag == null) {
    return null;
  }
  final AntDomElement antElement = AntSupport.getAntDomElement(xmlTag);
  if (antElement instanceof AntFilesProvider) {
    final List<File> list = ((AntFilesProvider)antElement).getFiles(new HashSet<AntFilesProvider>());
    if (list.size() > 0) {
      final @NonNls StringBuilder builder = StringBuilderSpinAllocator.alloc();
      try {
        final XmlTag tag = antElement.getXmlTag();
        if (tag != null) {
          builder.append("<b>");
          builder.append(tag.getName());
          builder.append(":</b>");
        }
        for (File file : list) {
          if (builder.length() > 0) {
            builder.append("<br>");
          }
          builder.append(file.getPath());
        }
        return builder.toString();
      }
      finally {
        StringBuilderSpinAllocator.dispose(builder);
      }
    }
  }
  return null;
}
项目:consulo-apache-ant    文件:BuildTask.java   
public BuildTask(final AntBuildTargetBase target, final AntDomElement task) {
  myTarget = target;
  myName = task.getXmlElementName();
  final DomTarget domTarget = DomTarget.getTarget(task);
  if (domTarget != null) {
    myOffset = domTarget.getTextOffset();
  }
  else {
    myOffset = task.getXmlTag().getTextOffset();
  }
}
项目:consulo-apache-ant    文件:AntBuildTargetImpl.java   
@Nullable
public BuildTask findTask(final String taskName) {
  final PsiFile psiFile = PsiManager.getInstance(myProject).findFile(myFile);
  final AntDomProject domProject = AntSupport.getAntDomProject(psiFile);
  if (domProject != null) {
    final AntDomTarget antTarget = domProject.findDeclaredTarget(myName);
    if (antTarget != null) {
      final Ref<AntDomElement> result = new Ref<AntDomElement>(null);
      antTarget.accept(new AntDomRecursiveVisitor() {
        public void visitAntDomElement(AntDomElement element) {
          if (result.get() != null) {
            return;
          }
          if (element.isTask() && taskName.equals(element.getXmlElementName())) {
            result.set(element);
            return;
          }
          super.visitAntDomElement(element);
        }
      });
      final AntDomElement task = result.get();
      if (task != null) {
        return new BuildTask(this, task);
      }
    }
  }
  return null;
}
项目:consulo-apache-ant    文件:AntDomDocumentationProvider.java   
@Nullable
private static String getAdditionalDocumentation(PsiElement elem) {
  final XmlTag xmlTag = PsiTreeUtil.getParentOfType(elem, XmlTag.class);
  if (xmlTag == null) {
    return null;
  }
  final AntDomElement antElement = AntSupport.getAntDomElement(xmlTag);
  if (antElement instanceof AntFilesProvider) {
    final List<File> list = ((AntFilesProvider)antElement).getFiles(new HashSet<AntFilesProvider>());
    if (list.size() > 0) {
      final @NonNls StringBuilder builder = StringBuilderSpinAllocator.alloc();
      try {
        final XmlTag tag = antElement.getXmlTag();
        if (tag != null) {
          builder.append("<b>");
          builder.append(tag.getName());
          builder.append(":</b>");
        }
        for (File file : list) {
          if (builder.length() > 0) {
            builder.append("<br>");
          }
          builder.append(file.getPath());
        }
        return builder.toString();
      }
      finally {
        StringBuilderSpinAllocator.dispose(builder);
      }
    }
  }
  return null;
}
项目:intellij-ce-playground    文件:AntSupport.java   
@Nullable
public static AntDomElement getAntDomElement(XmlTag xmlTag) {
  final DomElement domElement = DomManager.getDomManager(xmlTag.getProject()).getDomElement(xmlTag);
  return domElement instanceof AntDomElement? (AntDomElement)domElement : null;
}
项目:intellij-ce-playground    文件:AntSupport.java   
@Nullable
public static AntDomElement getInvocationAntDomElement(ConvertContext context) {
  return context.getInvocationElement().getParentOfType(AntDomElement.class, false);
}
项目:intellij-ce-playground    文件:AntDomDocumentationProvider.java   
@Nullable
private static VirtualFile getHelpFile(final PsiElement element) {
  final XmlTag xmlTag = PsiTreeUtil.getParentOfType(element, XmlTag.class);
  if (xmlTag == null) {
    return null;
  }
  final AntDomElement antElement = AntSupport.getAntDomElement(xmlTag);
  if (antElement == null) {
    return null;
  }
  final AntDomProject antProject = antElement.getAntProject();
  if (antProject == null) {
    return null;
  }
  final AntInstallation installation = antProject.getAntInstallation();
  if (installation == null) {
    return null; // not configured properly and bundled installation missing
  }
  final String antHomeDir = AntInstallation.HOME_DIR.get(installation.getProperties());

  if (antHomeDir == null) {
    return null;
  }

  @NonNls String path = antHomeDir + "/docs/manual";
  String url;
  if (new File(path).exists()) {
    url = VirtualFileManager.constructUrl(LocalFileSystem.PROTOCOL, FileUtil.toSystemIndependentName(path));
  }
  else {
    path = antHomeDir + "/docs.zip";
    if (new File(path).exists()) {
      url = VirtualFileManager.constructUrl(JarFileSystem.PROTOCOL, FileUtil.toSystemIndependentName(path) + JarFileSystem.JAR_SEPARATOR + "docs/manual");
    }
    else {
      return null;
    }
  }

  final VirtualFile documentationRoot = VirtualFileManager.getInstance().findFileByUrl(url);
  if (documentationRoot == null) {
    return null;
  }

  return getHelpFile(antElement, documentationRoot);
}
项目:tools-idea    文件:AntSupport.java   
@Nullable
public static AntDomElement getAntDomElement(XmlTag xmlTag) {
  final DomElement domElement = DomManager.getDomManager(xmlTag.getProject()).getDomElement(xmlTag);
  return domElement instanceof AntDomElement? (AntDomElement)domElement : null;
}
项目:tools-idea    文件:AntSupport.java   
@Nullable
public static AntDomElement getInvocationAntDomElement(ConvertContext context) {
  return context.getInvocationElement().getParentOfType(AntDomElement.class, false);
}
项目:tools-idea    文件:AntDomDocumentationProvider.java   
@Nullable
private static VirtualFile getHelpFile(final PsiElement element) {
  final XmlTag xmlTag = PsiTreeUtil.getParentOfType(element, XmlTag.class);
  if (xmlTag == null) {
    return null;
  }
  final AntDomElement antElement = AntSupport.getAntDomElement(xmlTag);
  if (antElement == null) {
    return null;
  }
  final AntDomProject antProject = antElement.getAntProject();
  if (antProject == null) {
    return null;
  }
  final AntInstallation installation = antProject.getAntInstallation();
  if (installation == null) {
    return null; // not configured properly and bundled installation missing
  }
  final String antHomeDir = AntInstallation.HOME_DIR.get(installation.getProperties());

  if (antHomeDir == null) {
    return null;
  }

  @NonNls String path = antHomeDir + "/docs/manual";
  String url;
  if (new File(path).exists()) {
    url = VirtualFileManager.constructUrl(LocalFileSystem.PROTOCOL, FileUtil.toSystemIndependentName(path));
  }
  else {
    path = antHomeDir + "/docs.zip";
    if (new File(path).exists()) {
      url = VirtualFileManager.constructUrl(JarFileSystem.PROTOCOL, FileUtil.toSystemIndependentName(path) + JarFileSystem.JAR_SEPARATOR + "docs/manual");
    }
    else {
      return null;
    }
  }

  final VirtualFile documentationRoot = VirtualFileManager.getInstance().findFileByUrl(url);
  if (documentationRoot == null) {
    return null;
  }

  return getHelpFile(antElement, documentationRoot);
}
项目:consulo-apache-ant    文件:AntSupport.java   
@Nullable
public static AntDomElement getAntDomElement(XmlTag xmlTag)
{
    final DomElement domElement = DomManager.getDomManager(xmlTag.getProject()).getDomElement(xmlTag);
    return domElement instanceof AntDomElement ? (AntDomElement) domElement : null;
}
项目:consulo-apache-ant    文件:AntSupport.java   
@Nullable
public static AntDomElement getInvocationAntDomElement(ConvertContext context)
{
    return context.getInvocationElement().getParentOfType(AntDomElement.class, false);
}
项目:consulo-apache-ant    文件:AntDomDocumentationProvider.java   
@Nullable
private static VirtualFile getHelpFile(final PsiElement element) {
  final XmlTag xmlTag = PsiTreeUtil.getParentOfType(element, XmlTag.class);
  if (xmlTag == null) {
    return null;
  }
  final AntDomElement antElement = AntSupport.getAntDomElement(xmlTag);
  if (antElement == null) {
    return null;
  }
  final AntDomProject antProject = antElement.getAntProject();
  if (antProject == null) {
    return null;
  }
  final Sdk installation = antProject.getAntInstallation();
  if (installation == null) {
    return null; // not configured properly and bundled installation missing
  }
  final String antHomeDir = installation.getHomePath();

  if (antHomeDir == null) {
    return null;
  }

  @NonNls String path = antHomeDir + "/docs/manual";
  String url;
  if (new File(path).exists()) {
    url = VirtualFileManager.constructUrl(LocalFileSystem.PROTOCOL, FileUtil.toSystemIndependentName(path));
  }
  else {
    path = antHomeDir + "/docs.zip";
    if (new File(path).exists()) {
      url = VirtualFileManager.constructUrl(ZipArchiveFileType.PROTOCOL, FileUtil.toSystemIndependentName(path) + URLUtil.ARCHIVE_SEPARATOR + "docs/manual");
    }
    else {
      return null;
    }
  }

  final VirtualFile documentationRoot = VirtualFileManager.getInstance().findFileByUrl(url);
  if (documentationRoot == null) {
    return null;
  }

  return getHelpFile(antElement, documentationRoot);
}