fix for failing JSF JUnits wrt resourceBundles on linux build machine.   Probably also fixes https://bugs.eclipse.org/bugs/show_bug.cgi?id=181751.
diff --git a/jsf/plugins/org.eclipse.jst.jsf.common/src/org/eclipse/jst/jsf/common/metadata/internal/IResourceBundleProvider.java b/jsf/plugins/org.eclipse.jst.jsf.common/src/org/eclipse/jst/jsf/common/metadata/internal/IResourceBundleProvider.java
index 1e862c1..640da35 100644
--- a/jsf/plugins/org.eclipse.jst.jsf.common/src/org/eclipse/jst/jsf/common/metadata/internal/IResourceBundleProvider.java
+++ b/jsf/plugins/org.eclipse.jst.jsf.common/src/org/eclipse/jst/jsf/common/metadata/internal/IResourceBundleProvider.java
@@ -10,8 +10,6 @@
  *******************************************************************************/
 package org.eclipse.jst.jsf.common.metadata.internal;
 
-import java.io.IOException;
-import java.net.MalformedURLException;
 import java.util.ResourceBundle;
 
 /**
@@ -21,5 +19,5 @@
 	/**
 	 * @return ResourceBundle - implementers should eat exceptions and return null whenever resourceBundle cannot be returned
 	 */
-	public ResourceBundle getResourceBundle() throws IOException, MalformedURLException;
+	public ResourceBundle getResourceBundle();
 }
diff --git a/jsf/plugins/org.eclipse.jst.jsf.common/src/org/eclipse/jst/jsf/common/metadata/internal/PluginRelativeStandardMetaDataSourceFileLocator.java b/jsf/plugins/org.eclipse.jst.jsf.common/src/org/eclipse/jst/jsf/common/metadata/internal/PluginRelativeStandardMetaDataSourceFileLocator.java
index 492099a..0fb939c 100644
--- a/jsf/plugins/org.eclipse.jst.jsf.common/src/org/eclipse/jst/jsf/common/metadata/internal/PluginRelativeStandardMetaDataSourceFileLocator.java
+++ b/jsf/plugins/org.eclipse.jst.jsf.common/src/org/eclipse/jst/jsf/common/metadata/internal/PluginRelativeStandardMetaDataSourceFileLocator.java
@@ -69,7 +69,7 @@
 		IPath annotationPath = Path.fromOSString(fileInfo.getLocation()); 
 		IPath annotationFolder = annotationPath.removeLastSegments(1);
 		IPath propertiesLocation = annotationPath.removeFirstSegments(annotationPath.segmentCount() - 1).removeFileExtension();
-		// append location of propertiles file
+		// append location of properties file
 		IPath propertiesFile = annotationFolder.append(propertiesLocation);
 	
 		// append .properties extension if needed
diff --git a/jsf/plugins/org.eclipse.jst.jsf.common/src/org/eclipse/jst/jsf/common/metadata/internal/ResourceBundleHelper.java b/jsf/plugins/org.eclipse.jst.jsf.common/src/org/eclipse/jst/jsf/common/metadata/internal/ResourceBundleHelper.java
index 229bc7d..8856bee 100644
--- a/jsf/plugins/org.eclipse.jst.jsf.common/src/org/eclipse/jst/jsf/common/metadata/internal/ResourceBundleHelper.java
+++ b/jsf/plugins/org.eclipse.jst.jsf.common/src/org/eclipse/jst/jsf/common/metadata/internal/ResourceBundleHelper.java
@@ -20,6 +20,8 @@
 import java.util.ResourceBundle;
 
 import org.eclipse.core.runtime.FileLocator;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.Path;
 
 /**
  * ResourceBundleHelper
@@ -49,6 +51,13 @@
 		// we make the assumption that the resourceURI points to the local
 		// file system
 
+		//in case of linux, let's change back to a path...
+		IPath resourcePath = new Path(resourceURI);
+		//ensure we have at least 2 segments... 1 for bundle/device, and 1 for propfile
+		if (resourcePath.segmentCount() < 2)
+			throw new IllegalArgumentException("Invalid resourceURI"); //$NON-NLS-1$
+		
+/* OLD CODE
 		int index = resourceURI.lastIndexOf("/"); //$NON-NLS-1$
 		if (index == -1) {
 			throw new IllegalArgumentException("Invalid resourceURI"); //$NON-NLS-1$
@@ -60,9 +69,13 @@
 		// Otherwise, the URL is assumed
 		// to refer to a JAR file which will be opened as needed.
 		//
-		String resourceDirectory = resourceURI.substring(0, index + 1);
-		String resourceBundleName = resourceURI.substring(index + 1);
-
+//		String resourceDirectory = resourceURI.substring(0, index + 1);
+//		String resourceBundleName = resourceURI.substring(index + 1);
+ 
+*/
+		String resourceDirectory 	= resourcePath.removeLastSegments(1).toString();
+		String resourceBundleName 	= resourcePath.lastSegment();
+	
 		// create a class loader with a class path that points to the resource
 		// bundle's location
 		//         
diff --git a/jsf/plugins/org.eclipse.jst.jsf.common/src/org/eclipse/jst/jsf/common/metadata/internal/StandardMetaDataFileRegistry.java b/jsf/plugins/org.eclipse.jst.jsf.common/src/org/eclipse/jst/jsf/common/metadata/internal/StandardMetaDataFileRegistry.java
index c8621e5..e49ca1a 100644
--- a/jsf/plugins/org.eclipse.jst.jsf.common/src/org/eclipse/jst/jsf/common/metadata/internal/StandardMetaDataFileRegistry.java
+++ b/jsf/plugins/org.eclipse.jst.jsf.common/src/org/eclipse/jst/jsf/common/metadata/internal/StandardMetaDataFileRegistry.java
@@ -16,12 +16,12 @@
 import java.io.FileNotFoundException;
 import java.io.IOException;
 import java.io.InputStream;
-import java.net.MalformedURLException;
 import java.net.URL;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.MissingResourceException;
 import java.util.ResourceBundle;
 
 import org.eclipse.core.runtime.FileLocator;
@@ -183,15 +183,15 @@
 	/* (non-Javadoc)
 	 * @see org.eclipse.jst.jsf.common.metadata.internal.IMetaDataSourceModelProvider#getResourceBundle()
 	 */
-	private ResourceBundle internalGetResourceBundle()throws IOException, MalformedURLException {
+	private ResourceBundle internalGetResourceBundle() {
 		if (getFileLocator() != null){
-//			try {
+			try {
 				return fileLocator.getResourceBundle();
-//			} catch (MissingResourceException e) {
-//				//eat it
-//			} catch (IOException e) {
-//				//eat it			
-//			}
+			} catch (MissingResourceException e) {
+				JSFCommonPlugin.log(IStatus.ERROR, "InternalGetResourceBundle1", e);
+			} catch (IOException e) {
+				JSFCommonPlugin.log(IStatus.ERROR, "InternalGetResourceBundle2", e);			
+			}
 		}
 		return null;
 	}
@@ -232,7 +232,7 @@
 		} else if (klass == IResourceBundleProvider.class) {
 			return new IResourceBundleProvider(){
 
-				public ResourceBundle getResourceBundle() throws IOException, MalformedURLException {
+				public ResourceBundle getResourceBundle() {
 					return mdp.internalGetResourceBundle();
 				}
 				
diff --git a/jsf/plugins/org.eclipse.jst.jsf.common/src/org/eclipse/jst/jsf/common/metadata/internal/TraitValueHelper.java b/jsf/plugins/org.eclipse.jst.jsf.common/src/org/eclipse/jst/jsf/common/metadata/internal/TraitValueHelper.java
index f3031b3..d45da0f 100644
--- a/jsf/plugins/org.eclipse.jst.jsf.common/src/org/eclipse/jst/jsf/common/metadata/internal/TraitValueHelper.java
+++ b/jsf/plugins/org.eclipse.jst.jsf.common/src/org/eclipse/jst/jsf/common/metadata/internal/TraitValueHelper.java
@@ -11,8 +11,6 @@
  ********************************************************************************/
 package org.eclipse.jst.jsf.common.metadata.internal;
 
-import java.io.IOException;
-import java.net.MalformedURLException;
 import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
@@ -162,10 +160,6 @@
 		} catch (MissingResourceException e){
 			//fall thru
 			JSFCommonPlugin.log(e,  NLS.bind(Messages.MissingResource_exception, new String[]{key}));
-		} catch (MalformedURLException e) {			
-			e.printStackTrace();
-		} catch (IOException e) {
-			e.printStackTrace();
 		}
 		return key + KEY_NOT_FOUND;
 	}