diff options
Diffstat (limited to 'eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/lint/GlobalLintConfiguration.java')
-rw-r--r-- | eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/lint/GlobalLintConfiguration.java | 176 |
1 files changed, 0 insertions, 176 deletions
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/lint/GlobalLintConfiguration.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/lint/GlobalLintConfiguration.java deleted file mode 100644 index 2f0261e7b..000000000 --- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/lint/GlobalLintConfiguration.java +++ /dev/null @@ -1,176 +0,0 @@ -/* - * Copyright (C) 2011 The Android Open Source Project - * - * Licensed under the Eclipse Public License, Version 1.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.eclipse.org/org/documents/epl-v10.php - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.android.ide.eclipse.adt.internal.lint; - -import com.android.annotations.NonNull; -import com.android.annotations.Nullable; -import com.android.ide.eclipse.adt.AdtPlugin; -import com.android.ide.eclipse.adt.internal.preferences.AdtPrefs; -import com.android.tools.lint.client.api.Configuration; -import com.android.tools.lint.client.api.IssueRegistry; -import com.android.tools.lint.detector.api.Context; -import com.android.tools.lint.detector.api.Issue; -import com.android.tools.lint.detector.api.Location; -import com.android.tools.lint.detector.api.Severity; - -import org.eclipse.jface.preference.IPreferenceStore; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -/** Global (non-project-specific) configuration for Lint in Eclipse */ -class GlobalLintConfiguration extends Configuration { - private static final GlobalLintConfiguration sInstance = new GlobalLintConfiguration(); - - private Map<Issue, Severity> mSeverities; - private boolean mBulkEditing; - - private GlobalLintConfiguration() { - } - - /** - * Obtain a reference to the singleton - * - * @return the singleton configuration - */ - @NonNull - public static GlobalLintConfiguration get() { - return sInstance; - } - - @Override - public Severity getSeverity(@NonNull Issue issue) { - if (mSeverities == null) { - IssueRegistry registry = EclipseLintClient.getRegistry(); - mSeverities = new HashMap<Issue, Severity>(); - IPreferenceStore store = getStore(); - String assignments = store.getString(AdtPrefs.PREFS_LINT_SEVERITIES); - if (assignments != null && assignments.length() > 0) { - for (String assignment : assignments.split(",")) { //$NON-NLS-1$ - String[] s = assignment.split("="); //$NON-NLS-1$ - if (s.length == 2) { - Issue d = registry.getIssue(s[0]); - if (d != null) { - Severity severity = Severity.valueOf(s[1]); - if (severity != null) { - mSeverities.put(d, severity); - } - } - } - } - } - } - - Severity severity = mSeverities.get(issue); - if (severity != null) { - return severity; - } - - if (!issue.isEnabledByDefault()) { - return Severity.IGNORE; - } - - return issue.getDefaultSeverity(); - } - - private IPreferenceStore getStore() { - IPreferenceStore store = AdtPlugin.getDefault().getPreferenceStore(); - return store; - } - - @Override - public void ignore(@NonNull Context context, @NonNull Issue issue, - @Nullable Location location, @NonNull String message) { - throw new UnsupportedOperationException( - "Can't ignore() in global configurations"); //$NON-NLS-1$ - } - - @Override - public void setSeverity(@NonNull Issue issue, @Nullable Severity severity) { - if (mSeverities == null) { - // Force initialization - getSeverity(issue); - } - - if (severity == null) { - mSeverities.remove(issue); - } else { - mSeverities.put(issue, severity); - } - - if (!mBulkEditing) { - setSeverities(mSeverities); - } - } - - /** - * Sets the custom severities for the given issues, in bulk. - * - * @param severities a map from detector to severity to use from now on - * @return true if something changed from the current settings - */ - private boolean setSeverities(Map<Issue, Severity> severities) { - mSeverities = severities; - - String value = ""; - if (severities.size() > 0) { - List<Issue> sortedKeys = new ArrayList<Issue>(severities.keySet()); - Collections.sort(sortedKeys); - - StringBuilder sb = new StringBuilder(severities.size() * 20); - for (Issue issue : sortedKeys) { - Severity severity = severities.get(issue); - if (severity != issue.getDefaultSeverity()) { - if (sb.length() > 0) { - sb.append(','); - } - sb.append(issue.getId()); - sb.append('='); - sb.append(severity.name()); - } - } - - value = sb.toString(); - } - - IPreferenceStore store = getStore(); - String previous = store.getString(AdtPrefs.PREFS_LINT_SEVERITIES); - boolean changed = !value.equals(previous); - if (changed) { - if (value.length() == 0) { - store.setToDefault(AdtPrefs.PREFS_LINT_SEVERITIES); - } else { - store.setValue(AdtPrefs.PREFS_LINT_SEVERITIES, value); - } - } - - return changed; - } - - @Override - public void startBulkEditing() { - mBulkEditing = true; - } - - @Override - public void finishBulkEditing() { - mBulkEditing = false; - setSeverities(mSeverities); - } -}
\ No newline at end of file |