@Override public boolean isProfileLoaded() { final InspectionProfile profile = getInspectionProfile(); final String name = profile.getName(); return profile.getProfileManager() == this ? myName2Profile.containsKey(name) : myAppName2Profile.containsKey(name); }
@NotNull public synchronized InspectionProfileWrapper getProfileWrapper() { final InspectionProfile profile = getInspectionProfile(); final String profileName = profile.getName(); if (profile.getProfileManager() == this) { if (!myName2Profile.containsKey(profileName)) { initProfileWrapper(profile); } return myName2Profile.get(profileName); } else { if (!myAppName2Profile.containsKey(profileName)) { initProfileWrapper(profile); } return myAppName2Profile.get(profileName); } }
public void updateCurrentProfile() { final String name = myInspectionProfile.getName(); myInspectionProfile = (InspectionProfile) myInspectionProfile.getProfileManager().getProfile(name); }
void readExternal( @NotNull Element toolElement, @NotNull InspectionProfile profile, Map<String, List<String>> dependencies) throws InvalidDataException { final String levelName = toolElement.getAttributeValue(LEVEL_ATTRIBUTE); final ProfileManager profileManager = profile.getProfileManager(); final SeverityRegistrar registrar = ((SeverityProvider) profileManager).getOwnSeverityRegistrar(); HighlightDisplayLevel level = levelName != null ? HighlightDisplayLevel.find(registrar.getSeverity(levelName)) : null; if (level == null) { level = HighlightDisplayLevel.WARNING; } myDefaultState.setLevel(level); final String enabled = toolElement.getAttributeValue(ENABLED_ATTRIBUTE); final boolean isEnabled = enabled != null && Boolean.parseBoolean(enabled); final String enabledTool = toolElement.getAttributeValue(ENABLED_BY_DEFAULT_ATTRIBUTE); myDefaultState.setEnabled(enabledTool != null ? Boolean.parseBoolean(enabledTool) : isEnabled); final InspectionToolWrapper toolWrapper = myDefaultState.getTool(); final List scopeElements = toolElement.getChildren(ProfileEx.SCOPE); final List<String> scopeNames = new ArrayList<String>(); for (Object sO : scopeElements) { final Element scopeElement = (Element) sO; final String scopeName = scopeElement.getAttributeValue(ProfileEx.NAME); if (scopeName == null) { continue; } final NamedScopesHolder scopesHolder = profileManager.getScopesManager(); NamedScope namedScope = null; if (scopesHolder != null) { namedScope = scopesHolder.getScope(scopeName); } final String errorLevel = scopeElement.getAttributeValue(LEVEL_ATTRIBUTE); final String enabledInScope = scopeElement.getAttributeValue(ENABLED_ATTRIBUTE); final InspectionToolWrapper copyToolWrapper = toolWrapper.createCopy(); // check if unknown children exists if (scopeElement.getAttributes().size() > 3 || !scopeElement.getChildren().isEmpty()) { copyToolWrapper.getTool().readSettings(scopeElement); } HighlightDisplayLevel scopeLevel = errorLevel != null ? HighlightDisplayLevel.find(registrar.getSeverity(errorLevel)) : null; if (scopeLevel == null) { scopeLevel = level; } if (namedScope != null) { addTool( namedScope, copyToolWrapper, enabledInScope != null && Boolean.parseBoolean(enabledInScope), scopeLevel); } else { addTool( scopeName, copyToolWrapper, enabledInScope != null && Boolean.parseBoolean(enabledInScope), scopeLevel); } scopeNames.add(scopeName); } for (int i = 0; i < scopeNames.size(); i++) { String scopeName = scopeNames.get(i); List<String> order = dependencies.get(scopeName); if (order == null) { order = new ArrayList<String>(); dependencies.put(scopeName, order); } for (int j = i + 1; j < scopeNames.size(); j++) { order.add(scopeNames.get(j)); } } // check if unknown children exists if (toolElement.getAttributes().size() > 4 || toolElement.getChildren().size() > scopeElements.size()) { toolWrapper.getTool().readSettings(toolElement); } myEnabled = isEnabled; }