public static void writeFilters(Element parentNode, @NonNls String tagName, ClassFilter[] filters) throws WriteExternalException { for (ClassFilter filter : filters) { Element element = new Element(tagName); parentNode.addContent(element); DefaultJDOMExternalizer.writeExternal(filter, element); } }
public void writeExternal(Element element) throws WriteExternalException { for (final String name : myName2FavoritesRoots.keySet()) { Element list = new Element(ELEMENT_FAVORITES_LIST); list.setAttribute(ATTRIBUTE_NAME, name); writeRoots(list, myName2FavoritesRoots.get(name)); element.addContent(list); } DefaultJDOMExternalizer.writeExternal(this, element); }
public void readExternal(Element element) throws InvalidDataException { myName2FavoritesRoots.clear(); for (Object list : element.getChildren(ELEMENT_FAVORITES_LIST)) { final String name = ((Element) list).getAttributeValue(ATTRIBUTE_NAME); List<TreeItem<Pair<AbstractUrl, String>>> roots = readRoots((Element) list, myProject); myName2FavoritesRoots.put(name, roots); } DefaultJDOMExternalizer.readExternal(this, element); }
@Override public void writeExternal(Element element) throws WriteExternalException { final CodeStyleSettings parentSettings = new CodeStyleSettings(); DefaultJDOMExternalizer.writeExternal( this, element, new DifferenceFilter<CodeStyleSettings>(this, parentSettings)); List<CustomCodeStyleSettings> customSettings = new ArrayList<CustomCodeStyleSettings>(getCustomSettingsValues()); Collections.sort( customSettings, new Comparator<CustomCodeStyleSettings>() { @Override public int compare(final CustomCodeStyleSettings o1, final CustomCodeStyleSettings o2) { return o1.getTagName().compareTo(o2.getTagName()); } }); for (final CustomCodeStyleSettings settings : customSettings) { final CustomCodeStyleSettings parentCustomSettings = parentSettings.getCustomSettings(settings.getClass()); if (parentCustomSettings == null) { throw new WriteExternalException("Custom settings are null for " + settings.getClass()); } settings.writeExternal(element, parentCustomSettings); } final FileType[] fileTypes = myAdditionalIndentOptions .keySet() .toArray(new FileType[myAdditionalIndentOptions.keySet().size()]); Arrays.sort( fileTypes, new Comparator<FileType>() { @Override public int compare(final FileType o1, final FileType o2) { return o1.getDefaultExtension().compareTo(o2.getDefaultExtension()); } }); for (FileType fileType : fileTypes) { final IndentOptions indentOptions = myAdditionalIndentOptions.get(fileType); Element additionalIndentOptions = new Element(ADDITIONAL_INDENT_OPTIONS); indentOptions.serialize(additionalIndentOptions, getDefaultIndentOptions(fileType)); additionalIndentOptions.setAttribute(FILETYPE, fileType.getDefaultExtension()); if (!additionalIndentOptions.getChildren().isEmpty()) { element.addContent(additionalIndentOptions); } } myCommonSettingsManager.writeExternal(element); }
public void writeExternal(final Element element) throws WriteExternalException { super.writeExternal(element); JavaRunConfigurationExtensionManager.getInstance().writeExternal(this, element); writeModule(element); DefaultJDOMExternalizer.writeExternal(this, element); final Data persistentData = getPersistentData(); DefaultJDOMExternalizer.writeExternal(persistentData, element); EnvironmentVariablesComponent.writeExternal(element, persistentData.getEnvs()); final String dirName = persistentData.getDirName(); if (!dirName.isEmpty()) { final Element dirNameElement = new Element("dir"); dirNameElement.setAttribute("value", FileUtil.toSystemIndependentName(dirName)); element.addContent(dirNameElement); } final String categoryName = persistentData.getCategory(); if (!categoryName.isEmpty()) { final Element categoryNameElement = new Element("category"); categoryNameElement.setAttribute("value", categoryName); element.addContent(categoryNameElement); } final Element patternsElement = new Element(PATTERNS_EL_NAME); for (String o : persistentData.getPatterns()) { final Element patternElement = new Element(PATTERN_EL_NAME); patternElement.setAttribute(TEST_CLASS_ATT_NAME, o); patternsElement.addContent(patternElement); } final String forkMode = getForkMode(); if (!forkMode.equals("none")) { final Element forkModeElement = new Element("fork_mode"); forkModeElement.setAttribute("value", forkMode); element.addContent(forkModeElement); } element.addContent(patternsElement); PathMacroManager.getInstance(getProject()).collapsePathsRecursively(element); }
public void readExternal(final Element element) throws InvalidDataException { PathMacroManager.getInstance(getProject()).expandPaths(element); super.readExternal(element); JavaRunConfigurationExtensionManager.getInstance().readExternal(this, element); readModule(element); DefaultJDOMExternalizer.readExternal(this, element); DefaultJDOMExternalizer.readExternal(getPersistentData(), element); EnvironmentVariablesComponent.readExternal(element, getPersistentData().getEnvs()); final Element patternsElement = element.getChild(PATTERNS_EL_NAME); if (patternsElement != null) { final Set<String> tests = new LinkedHashSet<String>(); for (Object o : patternsElement.getChildren(PATTERN_EL_NAME)) { Element patternElement = (Element) o; tests.add(patternElement.getAttributeValue(TEST_CLASS_ATT_NAME)); } myData.setPatterns(tests); } final Element forkModeElement = element.getChild("fork_mode"); if (forkModeElement != null) { final String mode = forkModeElement.getAttributeValue("value"); if (mode != null) { setForkMode(mode); } } final Element dirNameElement = element.getChild("dir"); if (dirNameElement != null) { final String dirName = dirNameElement.getAttributeValue("value"); getPersistentData().setDirName(FileUtil.toSystemDependentName(dirName)); } final Element categoryNameElement = element.getChild("category"); if (categoryNameElement != null) { final String categoryName = categoryNameElement.getAttributeValue("value"); getPersistentData().setCategoryName(categoryName); } }
@SuppressWarnings({"HardCodedStringLiteral"}) public void writeExternal(Element element) throws WriteExternalException { DefaultJDOMExternalizer.writeExternal(this, element); if (ADD_PATHS != null) { for (String aADD_PATHS : ADD_PATHS) { Element elem = new Element("addpath"); elem.setAttribute("path", aADD_PATHS); element.addContent(elem); } } if (myConfigurationDirectory != null) { Element configurationDirectory = new Element("configuration"); configurationDirectory.setText(myConfigurationDirectory); configurationDirectory.setAttribute( "useDefault", myIsUseDefaultConfiguration ? "true" : "false"); element.addContent(configurationDirectory); } if (myIsKeepLocks) { element.addContent(new Element("keepLocks")); } if (myRemoteStatus) { element.addContent(new Element("remoteStatus")); } if (myUpgradeMode != null) { element.addContent(new Element("upgradeMode").setText(myUpgradeMode)); } element.addContent( new Element("myIsUseDefaultProxy").setText(myIsUseDefaultProxy ? "true" : "false")); if (mySupportOptions != null) { element.addContent(new Element("supportedVersion").setText("" + mySupportOptions.myVersion)); } element.setAttribute("maxAnnotateRevisions", "" + myMaxAnnotateRevisions); element.setAttribute("myUseAcceleration", "" + myUseAcceleration); element.setAttribute("myAutoUpdateAfterCommit", "" + myAutoUpdateAfterCommit); element.setAttribute(CLEANUP_ON_START_RUN, "" + myCleanupRun); element.setAttribute("SSL_PROTOCOLS", SSL_PROTOCOLS.name()); if (TREE_CONFLICT_MERGE_THEIRS_NEW_INTO_OLD_PLACE != null) { element.setAttribute( "TREE_CONFLICT_MERGE_THEIRS_NEW_INTO_OLD_PLACE", "" + TREE_CONFLICT_MERGE_THEIRS_NEW_INTO_OLD_PLACE); } }
@Override public void readExternal(Element element) throws InvalidDataException { DefaultJDOMExternalizer.readExternal(this, element); if (LAYOUT_STATIC_IMPORTS_SEPARATELY) { // add <all other static imports> entry if there is none boolean found = false; for (PackageEntry entry : IMPORT_LAYOUT_TABLE.getEntries()) { if (entry == PackageEntry.ALL_OTHER_STATIC_IMPORTS_ENTRY) { found = true; break; } } if (!found) { PackageEntry last = IMPORT_LAYOUT_TABLE.getEntryCount() == 0 ? null : IMPORT_LAYOUT_TABLE.getEntryAt(IMPORT_LAYOUT_TABLE.getEntryCount() - 1); if (last != PackageEntry.BLANK_LINE_ENTRY) { IMPORT_LAYOUT_TABLE.addEntry(PackageEntry.BLANK_LINE_ENTRY); } IMPORT_LAYOUT_TABLE.addEntry(PackageEntry.ALL_OTHER_STATIC_IMPORTS_ENTRY); } } boolean oldOptionsImported = importOldIndentOptions(element); for (final CustomCodeStyleSettings settings : getCustomSettingsValues()) { settings.readExternal(element); settings.importLegacySettings(); } final List list = element.getChildren(ADDITIONAL_INDENT_OPTIONS); if (list != null) { for (Object o : list) { if (o instanceof Element) { final Element additionalIndentElement = (Element) o; final String fileTypeId = additionalIndentElement.getAttributeValue(FILETYPE); if (fileTypeId != null && !fileTypeId.isEmpty()) { FileType target = FileTypeManager.getInstance().getFileTypeByExtension(fileTypeId); if (FileTypes.UNKNOWN == target || FileTypes.PLAIN_TEXT == target || target.getDefaultExtension().isEmpty()) { target = new TempFileType(fileTypeId); } final IndentOptions options = getDefaultIndentOptions(target); options.readExternal(additionalIndentElement); registerAdditionalIndentOptions(target, options); } } } } myCommonSettingsManager.readExternal(element); if (oldOptionsImported) { copyOldIndentOptions("java", JAVA_INDENT_OPTIONS); copyOldIndentOptions("jsp", JSP_INDENT_OPTIONS); copyOldIndentOptions("xml", XML_INDENT_OPTIONS); } if (USE_SAME_INDENTS) IGNORE_SAME_INDENTS_FOR_LANGUAGES = true; }
public static ClassFilter create(Element element) throws InvalidDataException { ClassFilter filter = new ClassFilter(); DefaultJDOMExternalizer.readExternal(filter, element); return filter; }
@SuppressWarnings({"HardCodedStringLiteral"}) public void readExternal(Element element) throws InvalidDataException { DefaultJDOMExternalizer.readExternal(this, element); List elems = element.getChildren("addpath"); LOG.debug(elems.toString()); ADD_PATHS = new String[elems.size()]; for (int i = 0; i < elems.size(); i++) { Element elem = (Element) elems.get(i); ADD_PATHS[i] = elem.getAttributeValue("path"); } Element configurationDirectory = element.getChild("configuration"); if (configurationDirectory != null) { myConfigurationDirectory = configurationDirectory.getText(); Attribute defaultAttr = configurationDirectory.getAttribute("useDefault"); try { myIsUseDefaultConfiguration = defaultAttr != null && defaultAttr.getBooleanValue(); } catch (DataConversionException e) { myIsUseDefaultConfiguration = false; } } else { myIsUseDefaultConfiguration = true; } // compatibility: this setting was moved from .iws to global settings List urls = element.getChildren("checkoutURL"); for (Object url1 : urls) { Element child = (Element) url1; String url = child.getText(); if (url != null) { SvnApplicationSettings.getInstance().addCheckoutURL(url); } } myIsKeepLocks = element.getChild("keepLocks") != null; myRemoteStatus = element.getChild("remoteStatus") != null; myUpgradeMode = element.getChild("upgradeMode") != null ? element.getChild("upgradeMode").getText() : null; final Element useProxy = element.getChild("myIsUseDefaultProxy"); if (useProxy == null) { myIsUseDefaultProxy = false; } else { myIsUseDefaultProxy = Boolean.parseBoolean(useProxy.getText()); } final Element supportedVersion = element.getChild("supportedVersion"); if (supportedVersion != null) { try { mySupportOptions = new SvnSupportOptions(Long.parseLong(supportedVersion.getText().trim())); } catch (NumberFormatException e) { mySupportOptions = new SvnSupportOptions(null); } } final Attribute maxAnnotateRevisions = element.getAttribute("maxAnnotateRevisions"); if (maxAnnotateRevisions != null) { try { myMaxAnnotateRevisions = maxAnnotateRevisions.getIntValue(); } catch (DataConversionException e) { // } final Attribute acceleration = element.getAttribute("myUseAcceleration"); if (acceleration != null) { try { myUseAcceleration = UseAcceleration.valueOf(acceleration.getValue()); } catch (IllegalArgumentException e) { // } } } final Attribute autoUpdateAfterCommit = element.getAttribute("myAutoUpdateAfterCommit"); if (autoUpdateAfterCommit != null) { myAutoUpdateAfterCommit = Boolean.parseBoolean(autoUpdateAfterCommit.getValue()); } final Attribute cleanupRun = element.getAttribute(CLEANUP_ON_START_RUN); if (cleanupRun != null) { myCleanupRun = Boolean.parseBoolean(cleanupRun.getValue()); } final Attribute treeConflictMergeNewFilesPlace = element.getAttribute("TREE_CONFLICT_MERGE_THEIRS_NEW_INTO_OLD_PLACE"); final Attribute protocols = element.getAttribute("SSL_PROTOCOLS"); if (protocols != null) { try { SSL_PROTOCOLS = SSLProtocols.valueOf(protocols.getValue()); } catch (IllegalArgumentException e) { // } } if (treeConflictMergeNewFilesPlace != null) { TREE_CONFLICT_MERGE_THEIRS_NEW_INTO_OLD_PLACE = Boolean.parseBoolean(treeConflictMergeNewFilesPlace.getValue()); } }