[294898] -  MessageCategory is broken in the validation framework
diff --git a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/ValPrefManagerGlobal.java b/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/ValPrefManagerGlobal.java
index 5fcbaf3..344ed0f 100644
--- a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/ValPrefManagerGlobal.java
+++ b/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/ValPrefManagerGlobal.java
@@ -173,6 +173,18 @@
 				while(des.hasNext())list.add(FilterGroup.create(des));
 				v2.setGroups(list);
 			}
+			
+			String settings = vp.get(PrefConstants.msgs, ""); //$NON-NLS-1$
+			if (settings.length() >0)
+			{
+				Map<String, MessageSeveritySetting.Severity> map = Msgs.deserialize(settings);
+				Map<String, MessageSeveritySetting> msg = base.getMessageSettings();
+			
+				for (Map.Entry<String, MessageSeveritySetting.Severity> me : map.entrySet()){
+					MessageSeveritySetting ms = msg.get(me.getKey());
+					if (ms != null)ms.setCurrent(me.getValue());
+				}	
+			}
 		}					
 		return base;
 	}
@@ -365,6 +377,13 @@
 				vp.put(PrefConstants.groups, ser.toString());
 			}
 		}
+		if (validator.getChangeCountMessages() > 0){
+			Collection<MessageSeveritySetting> msgs = validator.getMessageSettings().values();
+			if (msgs.size() > 0){
+				vp.put(PrefConstants.msgs, Msgs.serialize(msgs));
+			}
+		}
+		
 	}
 	
 	public void saveAsPrefs(Validator[] val) {
diff --git a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/ValidatorMutable.java b/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/ValidatorMutable.java
index d18b0c5..5ab29c5 100644
--- a/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/ValidatorMutable.java
+++ b/plugins/org.eclipse.wst.validation/vf2/org/eclipse/wst/validation/internal/ValidatorMutable.java
@@ -215,6 +215,10 @@
 	public Map<String, MessageSeveritySetting> getMessageSettings() {
 		return _messageSettings;
 	}
+
+	public int getChangeCountMessages(){
+		return _changeCountMessages;
+	}
 	
 	public void bumpChangeCountMessages(){
 		_changeCountMessages++;