[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++;