Merge branch 'master' of git@git.labs.intellij.net:idea/community

This commit is contained in:
Kirill Kalishev
2010-12-13 14:55:33 +03:00
3 changed files with 35 additions and 2 deletions
@@ -24,10 +24,12 @@ import com.intellij.openapi.project.IndexNotReadyException;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.roots.ModuleRootEvent;
import com.intellij.openapi.roots.ModuleRootListener;
import com.intellij.openapi.roots.ModuleRootManager;
import com.intellij.openapi.util.Key;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.ui.EditorNotificationPanel;
import com.intellij.ui.EditorNotifications;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.plugins.groovy.GroovyFileType;
import java.util.Collections;
@@ -77,6 +79,8 @@ public class ConfigureGroovyLibraryNotificationProvider implements EditorNotific
final Module module = ModuleUtil.findModuleForFile(file, myProject);
if (module == null) return null;
if (isMavenModule(module)) return null;
for (GroovyFrameworkConfigNotification configNotification : GroovyFrameworkConfigNotification.EP_NAME.getExtensions()) {
if (configNotification.hasFrameworkStructure(module)) {
if (!configNotification.hasFrameworkLibrary(module)) {
@@ -96,4 +100,12 @@ public class ConfigureGroovyLibraryNotificationProvider implements EditorNotific
return null;
}
private static boolean isMavenModule(@NotNull Module module) {
for (VirtualFile root : ModuleRootManager.getInstance(module).getContentRoots()) {
if (root.findChild("pom.xml") != null) return true;
}
return false;
}
}
@@ -84,6 +84,10 @@ public class GroovyPropertyUtils {
return null;
}
/**
* @deprecated use PropertyUtil.getAllProperties() instead.
*/
@Deprecated()
public static List<PsiMethod> getAllPropertyGetters(@NotNull PsiClass aClass, @Nullable Boolean isStatic, boolean checkSuperClasses) {
PsiMethod[] methods;
if (checkSuperClasses) {
@@ -21,6 +21,7 @@ import com.intellij.psi.xml.XmlAttribute;
import com.intellij.psi.xml.XmlTag;
import com.intellij.xml.util.XmlUtil;
import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import java.nio.charset.Charset;
@@ -47,8 +48,9 @@ public class HtmlAttributeValueGetter extends XmlAttributeValueGetter {
XmlAttribute attribute = (XmlAttribute)context;
@NonNls String name = attribute.getName();
final XmlTag tag = attribute.getParent();
if (tag == null) return null;
@NonNls String tagName = tag != null ? tag.getName() : "";
@NonNls String tagName = tag.getName();
if (!myCaseSensitive) {
name = name.toLowerCase();
tagName = tagName.toLowerCase();
@@ -84,7 +86,7 @@ public class HtmlAttributeValueGetter extends XmlAttributeValueGetter {
"Proxy-Authenticate", "Proxy-Authorization", "Range", "Referer", "Refresh", "Retry-After", "Server", "TE", "Trailer", "Transfer-Encoding",
"Upgrade", "User-Agent", "Vary", "Via", "Warning", "WWW-Authenticate"};
}
else if("content".equals(name) && "meta".equals(tagName)) {
else if("content".equals(name) && "meta".equals(tagName) && getAttribute(tag, "name") == null) {
return new String[] {"application/activemessage", "application/andrew-inset", "application/applefile", "application/atomicmail", "application/dca-rft", "application/dec-dx", "application/mac-binhex40"
, "application/mac-compactpro", "application/macwriteii", "application/msword", "application/news-message-id", "application/news-transmission", "application/octet-stream"
, "application/oda", "application/pdf", "application/postscript", "application/powerpoint", "application/remote-printing", "application/rtf"
@@ -114,4 +116,19 @@ public class HtmlAttributeValueGetter extends XmlAttributeValueGetter {
return null;
}
@Nullable
private XmlAttribute getAttribute(@NotNull XmlTag tag, @NotNull String attributeName) {
if (myCaseSensitive) {
return tag.getAttribute(attributeName);
}
for (XmlAttribute xmlAttribute : tag.getAttributes()) {
if (attributeName.equalsIgnoreCase(xmlAttribute.getName())) {
return xmlAttribute;
}
}
return null;
}
}