[322952] Hide system folders
diff --git a/plugins/org.eclipse.wst.common.modulecore.ui/schema/resourceMappingFilter.exsd b/plugins/org.eclipse.wst.common.modulecore.ui/schema/resourceMappingFilter.exsd
index f3ed607..38b775a 100644
--- a/plugins/org.eclipse.wst.common.modulecore.ui/schema/resourceMappingFilter.exsd
+++ b/plugins/org.eclipse.wst.common.modulecore.ui/schema/resourceMappingFilter.exsd
@@ -49,7 +49,7 @@
<attribute name="source-path" type="string" use="required">
<annotation>
<documentation>
- Project relative source path that should be filtered out represented as regular expression. (i.e. source-path="\.settings" would filter out the '.settings' folder and its contents)
+ Project relative source path that should be filtered out represented as regular expression. (i.e. source-path="\.settings" would filter out the '.settings' folder and its contents; Since it expects a relative path filtering source-path="/\.settings" would not filter out the '.settings' folder)
</documentation>
</annotation>
</attribute>
diff --git a/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/internal/propertypage/ResourceMappingFilterExtensionRegistry.java b/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/internal/propertypage/ResourceMappingFilterExtensionRegistry.java
index d516e79..9f4c316 100644
--- a/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/internal/propertypage/ResourceMappingFilterExtensionRegistry.java
+++ b/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/internal/propertypage/ResourceMappingFilterExtensionRegistry.java
@@ -14,6 +14,7 @@
import java.util.Iterator;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
+import java.util.regex.PatternSyntaxException;
import org.eclipse.core.runtime.IConfigurationElement;
import org.eclipse.core.runtime.IPath;
@@ -56,9 +57,14 @@
private static void addResourceMappingFilter(String filterRegExp) {
if(resourceMappingFilters == null)
resourceMappingFilters = new HashMap<String, Pattern>();
- String cleanFilter = makeFilterRelative(filterRegExp);
- if(cleanFilter != null)
- resourceMappingFilters.put(filterRegExp, Pattern.compile(cleanFilter));
+ if(filterRegExp != null) {
+ try {
+ Pattern pattern = Pattern.compile(filterRegExp);
+ resourceMappingFilters.put(filterRegExp, pattern);
+ } catch(PatternSyntaxException e) {
+ ModuleCoreUIPlugin.logError(e);
+ }
+ }
}
@@ -91,24 +97,6 @@
return false;
}
- private static String makeFilterRelative(String value) {
- if(value != null) {
- int start = -1;
- char [] filterChar = value.toCharArray();
- for(int i = 0; i < filterChar.length; i++) {
- start = i;
- if(filterChar[i] != '/') {
- break;
- }
- }
- if(start <= 0)
- return value;
- if(start < value.length() - 1)
- return value.substring(start);
- }
- return null;
- }
-
public static String[] getResourceMappingFiltersRegularExpressions() {
return resourceMappingFilters.keySet().toArray(new String[resourceMappingFilters.keySet().size()]);
}
diff --git a/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/propertypage/AddModuleDependenciesPropertiesPage.java b/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/propertypage/AddModuleDependenciesPropertiesPage.java
index d8105a7..6877fea 100644
--- a/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/propertypage/AddModuleDependenciesPropertiesPage.java
+++ b/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/propertypage/AddModuleDependenciesPropertiesPage.java
@@ -776,9 +776,11 @@
for( int i = 0; i < arr.length; i++ )
result[i] = (ComponentResource)arr[i];
return result;
- } catch(Exception e) {
+ } catch (NullPointerException e) {
+ ModuleCoreUIPlugin.logError(e);
} finally {
- structureEdit.dispose();
+ if(structureEdit != null)
+ structureEdit.dispose();
}
return new ComponentResource[]{};
}
@@ -797,9 +799,11 @@
}
}
return result.toArray(new ComponentResource[result.size()]);
- } catch(Exception e) {
+ } catch (NullPointerException e) {
+ ModuleCoreUIPlugin.logError(e);
} finally {
- structureEdit.dispose();
+ if(structureEdit != null)
+ structureEdit.dispose();
}
return new ComponentResource[]{};
}
@@ -818,9 +822,11 @@
}
}
return result.toArray(new ComponentResource[result.size()]);
- } catch(Exception e) {
+ } catch (NullPointerException e) {
+ ModuleCoreUIPlugin.logError(e);
} finally {
- structureEdit.dispose();
+ if(structureEdit != null)
+ structureEdit.dispose();
}
return new ComponentResource[]{};
}
@@ -909,6 +915,7 @@
try {
rootFolder.getFolder(proxies[i].runtimePath).createLink(proxies[i].source, 0, null);
} catch( CoreException ce ) {
+ ModuleCoreUIPlugin.logError(ce);
}
}
}
@@ -920,6 +927,7 @@
try {
rootFolder.getFolder(proxies[i].runtimePath).createLink(proxies[i].source, 0, null);
} catch( CoreException ce ) {
+ ModuleCoreUIPlugin.logError(ce);
}
}
resourceMappingsChanged = false;