Author: rob.stryker(a)jboss.com
Date: 2009-03-16 03:45:24 -0400 (Mon, 16 Mar 2009)
New Revision: 14214
Modified:
trunk/archives/plugins/org.jboss.ide.eclipse.archives.ui/src/main/org/jboss/ide/eclipse/archives/ui/ArchivesUIMessages.java
trunk/archives/plugins/org.jboss.ide.eclipse.archives.ui/src/main/org/jboss/ide/eclipse/archives/ui/ArchivesUIMessages.properties
trunk/archives/plugins/org.jboss.ide.eclipse.archives.ui/src/main/org/jboss/ide/eclipse/archives/ui/PrefsInitializer.java
trunk/archives/plugins/org.jboss.ide.eclipse.archives.ui/src/main/org/jboss/ide/eclipse/archives/ui/preferences/MainPreferencePage.java
trunk/archives/plugins/org.jboss.ide.eclipse.archives.ui/src/main/org/jboss/ide/eclipse/archives/ui/providers/ArchivesRootBridgeContentProvider.java
trunk/archives/plugins/org.jboss.ide.eclipse.archives.ui/src/main/org/jboss/ide/eclipse/archives/ui/views/ProjectArchivesCommonView.java
trunk/archives/plugins/org.jboss.ide.eclipse.archives.ui/src/main/org/jboss/ide/eclipse/archives/ui/wizards/pages/FilesetInfoWizardPage.java
Log:
JBIDE-2095 - adding default excludes. This is a workspace preference however the default
excludes are added to the "excludes" section of the fileset wizard and can be
removed. If it's in the wizard's textbox at saving time, it will be persisted to
the descriptor
Modified:
trunk/archives/plugins/org.jboss.ide.eclipse.archives.ui/src/main/org/jboss/ide/eclipse/archives/ui/ArchivesUIMessages.java
===================================================================
---
trunk/archives/plugins/org.jboss.ide.eclipse.archives.ui/src/main/org/jboss/ide/eclipse/archives/ui/ArchivesUIMessages.java 2009-03-16
07:41:00 UTC (rev 14213)
+++
trunk/archives/plugins/org.jboss.ide.eclipse.archives.ui/src/main/org/jboss/ide/eclipse/archives/ui/ArchivesUIMessages.java 2009-03-16
07:45:24 UTC (rev 14214)
@@ -136,6 +136,9 @@
public static String ShowRootDirectory;
public static String ShowRootProject;
public static String ShowAllProjects;
+ public static String FilesetPreferences;
+ public static String EnableDefaultExcludes;
+
public static String ArchivesVariables;
public static String VariablesGroup;
public static String Add;
Modified:
trunk/archives/plugins/org.jboss.ide.eclipse.archives.ui/src/main/org/jboss/ide/eclipse/archives/ui/ArchivesUIMessages.properties
===================================================================
---
trunk/archives/plugins/org.jboss.ide.eclipse.archives.ui/src/main/org/jboss/ide/eclipse/archives/ui/ArchivesUIMessages.properties 2009-03-16
07:41:00 UTC (rev 14213)
+++
trunk/archives/plugins/org.jboss.ide.eclipse.archives.ui/src/main/org/jboss/ide/eclipse/archives/ui/ArchivesUIMessages.properties 2009-03-16
07:45:24 UTC (rev 14214)
@@ -120,6 +120,8 @@
ShowRootDirectory=Show the root directory of filesets.
ShowRootProject=Show project at the root
ShowAllProjects=Show all projects that contain packages
+FilesetPreferences=Fileset Preferences
+EnableDefaultExcludes=Enable Default Excludes
ArchivesVariables=Archives Variables
VariablesGroup=Enabled Variables
Add=Add
Modified:
trunk/archives/plugins/org.jboss.ide.eclipse.archives.ui/src/main/org/jboss/ide/eclipse/archives/ui/PrefsInitializer.java
===================================================================
---
trunk/archives/plugins/org.jboss.ide.eclipse.archives.ui/src/main/org/jboss/ide/eclipse/archives/ui/PrefsInitializer.java 2009-03-16
07:41:00 UTC (rev 14213)
+++
trunk/archives/plugins/org.jboss.ide.eclipse.archives.ui/src/main/org/jboss/ide/eclipse/archives/ui/PrefsInitializer.java 2009-03-16
07:45:24 UTC (rev 14214)
@@ -22,6 +22,7 @@
import org.eclipse.core.runtime.preferences.IEclipsePreferences;
import org.eclipse.core.runtime.preferences.InstanceScope;
import org.jboss.ide.eclipse.archives.core.ArchivesCore;
+import org.jboss.ide.eclipse.archives.core.asf.DirectoryScanner;
public class PrefsInitializer extends AbstractPreferenceInitializer {
@@ -33,10 +34,14 @@
public static final String PREF_SHOW_ALL_PROJECTS =
"showAllProjects";//$NON-NLS-1$
public static final String PREF_SHOW_BUILD_ERROR_DIALOG =
"showBuildErrorDialog";//$NON-NLS-1$
public static final String PREF_ALWAYS_SHOW_PROJECT_EXPLORER_NODE =
"alwaysShowProjectExplorerNode";//$NON-NLS-1$
+ public static final String PREF_USE_DEFAULT_EXCLUDES =
"useDefaultExcludes";//$NON-NLS-1$
+ public static final String PREF_DEFAULT_EXCLUDE_LIST =
"defaultExcludesList";//$NON-NLS-1$
+
public static final ArrayList<IArchivesPreferenceListener> listeners = new
ArrayList<IArchivesPreferenceListener>();
public static interface IArchivesPreferenceListener {
public void preferenceChanged(String key, boolean val);
+ public void preferenceChanged(String key, String val);
}
public void initializeDefaultPreferences() {
@@ -47,6 +52,9 @@
prefs.putBoolean(PREF_SHOW_ALL_PROJECTS, false);
prefs.putBoolean(PREF_SHOW_BUILD_ERROR_DIALOG, true);
prefs.putBoolean(PREF_ALWAYS_SHOW_PROJECT_EXPLORER_NODE, false);
+ prefs.putBoolean(PREF_USE_DEFAULT_EXCLUDES, true);
+ prefs.put(PREF_DEFAULT_EXCLUDE_LIST,
DirectoryScanner.implodeStrings(DirectoryScanner.getDefaultExcludes()));
+
try {
prefs.flush();
} catch (org.osgi.service.prefs.BackingStoreException e) {
@@ -76,13 +84,45 @@
} catch (org.osgi.service.prefs.BackingStoreException e) { } // swallow
fireChanged(key, val);
}
+
+ public static void setString(String key, String val) {
+ setString(key, val, null);
+ }
+ public static void setString(String key, String val, IAdaptable adaptable) {
+ QualifiedName name = new QualifiedName(PackagesUIPlugin.PLUGIN_ID, key);
+ if( adaptable != null ) {
+ IResource project = (IResource)adaptable.getAdapter(IResource.class);
+ try {
+ if( project != null && project.getPersistentProperty(name) != null) {
+ project.setPersistentProperty(name, val);
+ return;
+ }
+ } catch(CoreException ce) {}
+ }
+ IEclipsePreferences prefs = new InstanceScope().getNode(PackagesUIPlugin.PLUGIN_ID);
+ prefs.put(key, val);
+ try {
+ prefs.flush();
+ } catch (org.osgi.service.prefs.BackingStoreException e) { } // swallow
+ fireChanged(key, val);
+ }
+
protected static void fireChanged(String key, boolean val) {
Iterator<IArchivesPreferenceListener> i = listeners.iterator();
while(i.hasNext()) {
i.next().preferenceChanged(key, val);
}
}
+
+ protected static void fireChanged(String key, String val) {
+ Iterator<IArchivesPreferenceListener> i = listeners.iterator();
+ while(i.hasNext()) {
+ i.next().preferenceChanged(key, val);
+ }
+ }
+
+
public static void addListener(IArchivesPreferenceListener listener) {
if( !listeners.contains(listener))
@@ -127,4 +167,26 @@
boolean defaultVal = new
DefaultScope().getNode(PackagesUIPlugin.PLUGIN_ID).getBoolean(key, false);
return new InstanceScope().getNode(PackagesUIPlugin.PLUGIN_ID).getBoolean(key,
defaultVal);
}
+
+ public static String getString(String key) {
+ return getString(key, null, true);
+ }
+
+ public static String getString(String key, IAdaptable adaptable, boolean effective ) {
+ QualifiedName name = new QualifiedName(PackagesUIPlugin.PLUGIN_ID, key);
+ if( adaptable != null ) {
+ IResource project = (IResource)adaptable.getAdapter(IResource.class);
+ boolean specific =
ArchivesCore.getInstance().getPreferenceManager().areProjectSpecificPrefsEnabled(project.getLocation());
+ //if( adaptable != null &&
WorkspacePreferenceManager.areProjectSpecificPrefsEnabled(project.getLocation())) {
+ if( specific ) {
+ try {
+ if( project != null && project.getPersistentProperty(name) != null) {
+ return project.getPersistentProperty(name);
+ }
+ } catch(CoreException ce) {}
+ }
+ }
+ String defaultVal = new DefaultScope().getNode(PackagesUIPlugin.PLUGIN_ID).get(key,
""); //$NON-NLS-1$
+ return new InstanceScope().getNode(PackagesUIPlugin.PLUGIN_ID).get(key, defaultVal);
+ }
}
Modified:
trunk/archives/plugins/org.jboss.ide.eclipse.archives.ui/src/main/org/jboss/ide/eclipse/archives/ui/preferences/MainPreferencePage.java
===================================================================
---
trunk/archives/plugins/org.jboss.ide.eclipse.archives.ui/src/main/org/jboss/ide/eclipse/archives/ui/preferences/MainPreferencePage.java 2009-03-16
07:41:00 UTC (rev 14213)
+++
trunk/archives/plugins/org.jboss.ide.eclipse.archives.ui/src/main/org/jboss/ide/eclipse/archives/ui/preferences/MainPreferencePage.java 2009-03-16
07:45:24 UTC (rev 14214)
@@ -17,16 +17,21 @@
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.events.SelectionListener;
import org.eclipse.swt.layout.FillLayout;
+import org.eclipse.swt.layout.FormAttachment;
+import org.eclipse.swt.layout.FormData;
+import org.eclipse.swt.layout.FormLayout;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Group;
+import org.eclipse.swt.widgets.Text;
import org.eclipse.ui.IWorkbench;
import org.eclipse.ui.IWorkbenchPreferencePage;
import org.eclipse.ui.dialogs.PropertyPage;
import org.jboss.ide.eclipse.archives.core.ArchivesCore;
+import org.jboss.ide.eclipse.archives.core.asf.DirectoryScanner;
import org.jboss.ide.eclipse.archives.core.model.IPreferenceManager;
import org.jboss.ide.eclipse.archives.ui.ArchivesSharedImages;
import org.jboss.ide.eclipse.archives.ui.ArchivesUIMessages;
@@ -44,7 +49,9 @@
private Button showProjectRoot, showAllProjects;
private Button automaticBuilder, showErrorDialog, overrideButton;
private Button showNodeOnAllProjects;
- private Group corePrefGroup, viewPrefGroup, packageExplorerGroup;
+ private Button enableDefaultExcludes;
+ private Text defaultExcludes;
+ private Group corePrefGroup, viewPrefGroup, packageExplorerGroup, filesetGroup;
private Composite overrideComp;
@@ -62,6 +69,7 @@
createCorePrefs(main);
createViewPrefs(main);
createProjectExplorerPrefs(main);
+ createFilesetPrefs(main);
fillValues();
return main;
}
@@ -89,7 +97,8 @@
PrefsInitializer.getBoolean(PrefsInitializer.PREF_SHOW_FULL_FILESET_ROOT_DIR,
getElement(), false));
showProjectRoot.setSelection(
PrefsInitializer.getBoolean(PrefsInitializer.PREF_SHOW_PROJECT_ROOT, getElement(),
false));
-
+ enableDefaultExcludes.setSelection(PrefsInitializer.getBoolean(PrefsInitializer.PREF_USE_DEFAULT_EXCLUDES,
getElement(), false));
+ defaultExcludes.setText(PrefsInitializer.getString(PrefsInitializer.PREF_DEFAULT_EXCLUDE_LIST,
getElement(), true));
showAllProjects.setEnabled(showProjectRoot.getSelection());
if (!showProjectRoot.getSelection())
showAllProjects.setSelection(false);
@@ -148,6 +157,29 @@
showNodeOnAllProjects = new Button(packageExplorerGroup, SWT.CHECK);
showNodeOnAllProjects.setText(ArchivesUIMessages.EnableNodeAlways);
}
+
+ protected void createFilesetPrefs(Composite main) {
+ filesetGroup = new Group(main, SWT.NONE);
+ filesetGroup.setText(ArchivesUIMessages.FilesetPreferences);
+ filesetGroup.setLayout(new FormLayout());
+ filesetGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+
+ enableDefaultExcludes = new Button(filesetGroup, SWT.CHECK);
+ enableDefaultExcludes.setText(ArchivesUIMessages.EnableDefaultExcludes);
+ defaultExcludes = new Text(filesetGroup, SWT.DEFAULT);
+ FormData fd = new FormData();
+ fd.top = new FormAttachment(0,5);
+ fd.left = new FormAttachment(0,5);
+ enableDefaultExcludes.setLayoutData(fd);
+
+ fd = new FormData();
+ fd.left = new FormAttachment(0,5);
+ fd.top = new FormAttachment(enableDefaultExcludes, 5);
+ fd.right = new FormAttachment(0,350);
+ fd.bottom = new FormAttachment(100,-10);
+ defaultExcludes.setLayoutData(fd);
+
+ }
protected void createViewPrefs(Composite main) {
@@ -198,6 +230,8 @@
showProjectRoot.setSelection(true);
showAllProjects.setSelection(false);
showNodeOnAllProjects.setSelection(false);
+ enableDefaultExcludes.setSelection(false);
+ defaultExcludes.setText(DirectoryScanner.implodeStrings(DirectoryScanner.getDefaultExcludes()));
if( getResourceLocationIfExists() != null ) {
overrideButton.setSelection(false);
setWidgetsEnabled(overrideButton.getSelection());
@@ -217,6 +251,8 @@
PrefsInitializer.setBoolean(PrefsInitializer.PREF_SHOW_PROJECT_ROOT,
showProjectRoot.getSelection(), getElement());
PrefsInitializer.setBoolean(PrefsInitializer.PREF_SHOW_ALL_PROJECTS,
showAllProjects.getSelection(), getElement());
PrefsInitializer.setBoolean(PrefsInitializer.PREF_ALWAYS_SHOW_PROJECT_EXPLORER_NODE,
showNodeOnAllProjects.getSelection(), getElement());
+ PrefsInitializer.setBoolean(PrefsInitializer.PREF_USE_DEFAULT_EXCLUDES,
enableDefaultExcludes.getSelection(), getElement());
+ PrefsInitializer.setString(PrefsInitializer.PREF_DEFAULT_EXCLUDE_LIST,
defaultExcludes.getText(), getElement());
return true;
}
}
Modified:
trunk/archives/plugins/org.jboss.ide.eclipse.archives.ui/src/main/org/jboss/ide/eclipse/archives/ui/providers/ArchivesRootBridgeContentProvider.java
===================================================================
---
trunk/archives/plugins/org.jboss.ide.eclipse.archives.ui/src/main/org/jboss/ide/eclipse/archives/ui/providers/ArchivesRootBridgeContentProvider.java 2009-03-16
07:41:00 UTC (rev 14213)
+++
trunk/archives/plugins/org.jboss.ide.eclipse.archives.ui/src/main/org/jboss/ide/eclipse/archives/ui/providers/ArchivesRootBridgeContentProvider.java 2009-03-16
07:45:24 UTC (rev 14214)
@@ -72,4 +72,7 @@
viewer.refresh();
}
+ public void preferenceChanged(String key, String val) {
+ viewer.refresh();
+ }
}
Modified:
trunk/archives/plugins/org.jboss.ide.eclipse.archives.ui/src/main/org/jboss/ide/eclipse/archives/ui/views/ProjectArchivesCommonView.java
===================================================================
---
trunk/archives/plugins/org.jboss.ide.eclipse.archives.ui/src/main/org/jboss/ide/eclipse/archives/ui/views/ProjectArchivesCommonView.java 2009-03-16
07:41:00 UTC (rev 14213)
+++
trunk/archives/plugins/org.jboss.ide.eclipse.archives.ui/src/main/org/jboss/ide/eclipse/archives/ui/views/ProjectArchivesCommonView.java 2009-03-16
07:45:24 UTC (rev 14214)
@@ -167,4 +167,7 @@
public void preferenceChanged(String key, boolean val) {
jiggleViewerInput();
}
+ public void preferenceChanged(String key, String val) {
+ jiggleViewerInput();
+ }
}
Modified:
trunk/archives/plugins/org.jboss.ide.eclipse.archives.ui/src/main/org/jboss/ide/eclipse/archives/ui/wizards/pages/FilesetInfoWizardPage.java
===================================================================
---
trunk/archives/plugins/org.jboss.ide.eclipse.archives.ui/src/main/org/jboss/ide/eclipse/archives/ui/wizards/pages/FilesetInfoWizardPage.java 2009-03-16
07:41:00 UTC (rev 14213)
+++
trunk/archives/plugins/org.jboss.ide.eclipse.archives.ui/src/main/org/jboss/ide/eclipse/archives/ui/wizards/pages/FilesetInfoWizardPage.java 2009-03-16
07:45:24 UTC (rev 14214)
@@ -44,6 +44,7 @@
import
org.jboss.ide.eclipse.archives.core.model.DirectoryScannerFactory.DirectoryScannerExtension.FileWrapper;
import org.jboss.ide.eclipse.archives.ui.ArchivesSharedImages;
import org.jboss.ide.eclipse.archives.ui.ArchivesUIMessages;
+import org.jboss.ide.eclipse.archives.ui.PrefsInitializer;
import
org.jboss.ide.eclipse.archives.ui.util.composites.ArchiveFilesetDestinationComposite;
import
org.jboss.ide.eclipse.archives.ui.util.composites.ArchiveSourceDestinationComposite;
import org.jboss.ide.eclipse.archives.ui.util.composites.FilesetPreviewComposite;
@@ -96,9 +97,18 @@
mainComposite.setLayoutData(new GridData(GridData.FILL_BOTH));
mainComposite.setLayout(new FormLayout());
- Group info = createInfoGroup(mainComposite);
- createPreviewGroup(mainComposite, info);
-
+ Composite restrainer = new Composite(mainComposite, SWT.NONE);
+ restrainer.setLayout(new FormLayout());
+ FormData restrainerData = new FormData();
+ restrainerData.left = new FormAttachment(0,5);
+ restrainerData.top = new FormAttachment(0,5);
+ restrainerData.bottom = new FormAttachment(100,-5);
+ restrainerData.right = new FormAttachment(0,600);
+ restrainer.setLayoutData(restrainerData);
+
+ Group info = createInfoGroup(restrainer);
+ createPreviewGroup(restrainer, info);
+ mainComposite.layout();
fillDefaults();
addListeners();
changePreview();
@@ -322,6 +332,9 @@
flattenedNo.setSelection(!flattened);
includes = "**"; //$NON-NLS-1$
includesText.setText(includes);
+ boolean useDefaultExcludes =
PrefsInitializer.getBoolean(PrefsInitializer.PREF_USE_DEFAULT_EXCLUDES);
+ if( useDefaultExcludes)
+ excludesText.setText(PrefsInitializer.getString(PrefsInitializer.PREF_DEFAULT_EXCLUDE_LIST));
}
}