in src/main/java/org/jetbrains/plugins/spotbugs/gui/settings/SettingsImporter.java [48:101]
public final boolean doImport(
@NotNull final InputStream input,
@NotNull final AbstractSettings settings,
@NotNull final String importFilePathKey
) throws JDOMException, IOException {
final Element root = JDOMUtil.load(input);
boolean success = false;
if (SonarProfileImporter.isValid(root)) {
success = new SonarProfileImporter() {
@Override
protected void handleError(@NotNull final String message) {
SettingsImporter.this.handleError(ResourcesLoader.getString("sonar.import.error.title"), message);
}
}.doImport(root, settings);
} else {
boolean legacy = false;
PersistencePreferencesBean legacyPrefs = null;
Element legacyIdea = getLegacyIdea(root);
if (legacyIdea != null) {
legacy = true;
legacyPrefs = XmlSerializer.deserialize(legacyIdea, PersistencePreferencesBean.class);
} else if (isLegacyExport(root)) {
legacy = true;
legacyPrefs = XmlSerializer.deserialize(root, PersistencePreferencesBean.class);
}
if (legacy) {
if (legacyPrefs != null) {
LegacyAbstractSettingsConverter.applyTo(
legacyPrefs,
settings,
WorkspaceSettings.getInstance(project),
importFilePathKey
);
success = true;
} else {
handleError(ResourcesLoader.getString("sonar.import.error.legacyInvalid.title"), ResourcesLoader.getString("sonar.import.error.legacyInvalid.text"));
}
} else {
Element findBugsRoot = root;
if (!"findbugs".equalsIgnoreCase(root.getName())) {
findBugsRoot = getIdea(root);
}
if (findBugsRoot != null) {
new SmartSerializer().readExternal(settings, root);
success = true;
} else {
handleError(ResourcesLoader.getString("sonar.import.error.invalid.title"), ResourcesLoader.getString("sonar.import.error.invalid.text"));
}
}
}
return success;
}