Skip to content

Commit d195840

Browse files
angelozerrmickaelistria
authored andcommitted
Support for xml.downloadExternalResources.enabled
Fixes #781 Signed-off-by: azerr <[email protected]>
1 parent b316d5c commit d195840

File tree

5 files changed

+41
-10
lines changed

5 files changed

+41
-10
lines changed

org.eclipse.wildwebdeveloper.xml/src/org/eclipse/wildwebdeveloper/xml/internal/ui/Messages.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,13 @@
1515

1616
public class Messages extends NLS {
1717

18-
// --------- XML Catalog preference page
19-
18+
// --------- XML Preference page
2019
public static String XMLPreferencePage_XMLCatalogsLink;
20+
public static String XMLPreferencePage_downloadExternalResources_enabled;
21+
22+
// --------- XML Catalog preference page
2123

24+
2225
public static String XMLCatalogPreferencePage_Entries;
2326
public static String XMLCatalogPreferencePage_Edit;
2427
public static String XMLCatalogPreferencePage_OpenInEditorTitle;

org.eclipse.wildwebdeveloper.xml/src/org/eclipse/wildwebdeveloper/xml/internal/ui/messages.properties

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212

1313
# Preference page
1414
XMLPreferencePage_XMLCatalogsLink=See <A>'XML Catalogs'</A> for XML catalogs preferences
15+
XMLPreferencePage_downloadExternalResources_enabled=Download external resources like referenced DTD, XSD
1516

1617
# XML Catalog preference page
1718
XMLCatalogPreferencePage_Entries=Catalogs

org.eclipse.wildwebdeveloper.xml/src/org/eclipse/wildwebdeveloper/xml/internal/ui/preferences/XMLPreferenceConstants.java

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,10 @@ public void storeToLemminxOptions(Object value, Map<String, Object> options) {
6161
}
6262
}
6363

64+
65+
// General settings
66+
public static final LemminxPreference XML_PREFERENCES_DOWNLOAD_EXTERNAL_RESOURCES = new LemminxPreference("downloadExternalResources/enabled");
67+
6468
// Catalog settings
6569
public static final LemminxPreference XML_PREFERENCES_CATAGLOGS = new LemminxPreference("catalogs");
6670

@@ -82,13 +86,15 @@ public void storeToLemminxOptions(Object value, Map<String, Object> options) {
8286

8387
// Validation settings
8488
public static final LemminxPreference XML_PREFERENCES_VALIDATION_ENABLED = new LemminxPreference("validation/enabled");
89+
8590
public static final LemminxPreference XML_PREFERENCES_VALIDATION_NAMESPACES_ENABLED = new LemminxPreference("validation/namespaces/enabled");
8691
public static final LemminxPreference XML_PREFERENCES_VALIDATION_SCHEMA_ENABLED = new LemminxPreference("validation/schema/enabled");
8792
public static final LemminxPreference XML_PREFERENCES_VALIDATION_DISALLOW_DOCTYPE_DECL = new LemminxPreference("validation/disallowDocTypeDecl");
8893
public static final LemminxPreference XML_PREFERENCES_VALIDATION_RESOLVE_EXTERNAL_ENTITIES = new LemminxPreference("validation/resolveExternalEntities");
8994
public static final LemminxPreference XML_PREFERENCES_VALIDATION_NO_GRAMMAR = new LemminxPreference("validation/noGrammar");
9095

9196
private static final LemminxPreference[] ALL_LEMMINX_PREFERENCES = {
97+
XML_PREFERENCES_DOWNLOAD_EXTERNAL_RESOURCES,
9298
XML_PREFERENCES_CATAGLOGS,
9399
XML_PREFERENCES_CODELENS_ENABLED,
94100
XML_PREFERENCES_FOLDING_INCLUDE_CLOSING_TAG_IN_FOLD,
@@ -117,7 +123,10 @@ private XMLPreferenceConstants() {
117123
}
118124

119125
public static void storePreferencesToLemminxOptions(IPreferenceStore store, Map<String, Object> xmlOpts) {
120-
// Catalo settings
126+
// General settings
127+
XML_PREFERENCES_DOWNLOAD_EXTERNAL_RESOURCES.storeToLemminxOptions(store.getBoolean(XML_PREFERENCES_DOWNLOAD_EXTERNAL_RESOURCES.preferenceId), xmlOpts);
128+
129+
// Catalog settings
121130
XML_PREFERENCES_CATAGLOGS.storeToLemminxOptions(
122131
XMLCatalogs.getAllCatalogs(store).stream().map(File::getAbsolutePath).toArray(String[]::new),
123132
xmlOpts);

org.eclipse.wildwebdeveloper.xml/src/org/eclipse/wildwebdeveloper/xml/internal/ui/preferences/XMLPreferenceInitializer.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313

1414
import static org.eclipse.wildwebdeveloper.xml.internal.ui.preferences.XMLPreferenceConstants.XML_PREFERENCES_CATAGLOGS;
1515
import static org.eclipse.wildwebdeveloper.xml.internal.ui.preferences.XMLPreferenceConstants.XML_PREFERENCES_CODELENS_ENABLED;
16+
import static org.eclipse.wildwebdeveloper.xml.internal.ui.preferences.XMLPreferenceConstants.XML_PREFERENCES_DOWNLOAD_EXTERNAL_RESOURCES;
1617
import static org.eclipse.wildwebdeveloper.xml.internal.ui.preferences.XMLPreferenceConstants.XML_PREFERENCES_FOLDING_INCLUDE_CLOSING_TAG_IN_FOLD;
1718
import static org.eclipse.wildwebdeveloper.xml.internal.ui.preferences.XMLPreferenceConstants.XML_PREFERENCES_FORMAT_CLOSING_BRACKET_NEW_LINE;
1819
import static org.eclipse.wildwebdeveloper.xml.internal.ui.preferences.XMLPreferenceConstants.XML_PREFERENCES_FORMAT_EMPTY_ELEMENTS;
@@ -38,6 +39,7 @@ public class XMLPreferenceInitializer extends AbstractPreferenceInitializer {
3839

3940
@Override
4041
public void initializeDefaultPreferences() {
42+
STORE.setDefault(XML_PREFERENCES_DOWNLOAD_EXTERNAL_RESOURCES.preferenceId, true);
4143
STORE.setDefault(XML_PREFERENCES_CATAGLOGS.preferenceId, "");
4244
STORE.setDefault(XML_PREFERENCES_CODELENS_ENABLED.preferenceId, false);
4345
STORE.setDefault(XML_PREFERENCES_FOLDING_INCLUDE_CLOSING_TAG_IN_FOLD.preferenceId, true);

org.eclipse.wildwebdeveloper.xml/src/org/eclipse/wildwebdeveloper/xml/internal/ui/preferences/XMLPreferencePage.java

Lines changed: 23 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,10 @@
1212
*******************************************************************************/
1313
package org.eclipse.wildwebdeveloper.xml.internal.ui.preferences;
1414

15-
import org.eclipse.jface.preference.PreferencePage;
15+
import static org.eclipse.wildwebdeveloper.xml.internal.ui.preferences.XMLPreferenceConstants.XML_PREFERENCES_DOWNLOAD_EXTERNAL_RESOURCES;
16+
17+
import org.eclipse.jface.preference.BooleanFieldEditor;
18+
import org.eclipse.jface.preference.FieldEditorPreferencePage;
1619
import org.eclipse.swt.SWT;
1720
import org.eclipse.swt.events.SelectionAdapter;
1821
import org.eclipse.swt.events.SelectionEvent;
@@ -23,15 +26,15 @@
2326
import org.eclipse.ui.IWorkbench;
2427
import org.eclipse.ui.IWorkbenchPreferencePage;
2528
import org.eclipse.ui.preferences.IWorkbenchPreferenceContainer;
29+
import org.eclipse.wildwebdeveloper.xml.internal.Activator;
2630
import org.eclipse.wildwebdeveloper.xml.internal.ui.Messages;
2731

28-
public class XMLPreferencePage extends PreferencePage implements IWorkbenchPreferencePage {
32+
public class XMLPreferencePage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage {
2933

30-
@Override
31-
public void init(IWorkbench workbench) {
32-
noDefaultAndApplyButton();
34+
public XMLPreferencePage() {
35+
super(GRID);
3336
}
34-
37+
3538
@Override
3639
protected Control createContents(Composite parent) {
3740
Composite composite = new Composite(parent, SWT.NONE);
@@ -50,7 +53,20 @@ public void widgetSelected(SelectionEvent e) {
5053
}
5154
}
5255
});
53-
56+
super.createContents(composite);
5457
return composite;
5558
}
59+
60+
@Override
61+
public void init(IWorkbench workbench) {
62+
setPreferenceStore(Activator.getDefault().getPreferenceStore());
63+
}
64+
65+
66+
@Override
67+
protected void createFieldEditors() {
68+
addField(new BooleanFieldEditor(XML_PREFERENCES_DOWNLOAD_EXTERNAL_RESOURCES.preferenceId,
69+
Messages.XMLPreferencePage_downloadExternalResources_enabled, getFieldEditorParent()));
70+
71+
}
5672
}

0 commit comments

Comments
 (0)