fix bug 263782
diff --git a/org.eclipse.babel.editor/src/org/eclipse/babel/editor/MessagesEditorMarkers.java b/org.eclipse.babel.editor/src/org/eclipse/babel/editor/MessagesEditorMarkers.java
index fc60fea..e2d1109 100644
--- a/org.eclipse.babel.editor/src/org/eclipse/babel/editor/MessagesEditorMarkers.java
+++ b/org.eclipse.babel.editor/src/org/eclipse/babel/editor/MessagesEditorMarkers.java
@@ -22,6 +22,7 @@
import org.eclipse.babel.core.message.MessagesBundle;
import org.eclipse.babel.core.message.MessagesBundleGroup;
import org.eclipse.babel.core.message.MessagesBundleGroupAdapter;
+import org.eclipse.babel.core.message.checks.IMessageCheck;
import org.eclipse.babel.core.message.checks.MissingValueCheck;
import org.eclipse.babel.editor.resource.validator.IValidationMarkerStrategy;
import org.eclipse.babel.editor.resource.validator.MessagesBundleGroupValidator;
@@ -41,10 +42,10 @@
// private Map<String,Set<ValidationFailureEvent>> markersIndex = new HashMap();
/** index is the name of the key. value is the collection of markers on that key */
- private Map markersIndex = new HashMap();
+ private Map<String, Collection<IMessageCheck>> markersIndex = new HashMap<String, Collection<IMessageCheck>>();
/** index is the concat of the locale and the key.
* value is the collection of markers for that key and that locale */
- private Map localizedMarkersIndex = new HashMap();
+ private Map<String, Collection<IMessageCheck>> localizedMarkersIndex = new HashMap<String, Collection<IMessageCheck>>();
/**
* @param messagesBundleGroup
@@ -89,20 +90,20 @@
* @see org.eclipse.babel.editor.resource.validator.IValidationMarkerStrategy#markFailed(org.eclipse.core.resources.IResource, org.eclipse.babel.core.bundle.checks.IBundleEntryCheck)
*/
public void markFailed(ValidationFailureEvent event) {
- Collection markersForKey = (Collection) markersIndex.get(event.getKey());
+ Collection<IMessageCheck> markersForKey = markersIndex.get(event.getKey());
if (markersForKey == null) {
- markersForKey = new HashSet();
+ markersForKey = new HashSet<IMessageCheck>();
markersIndex.put(event.getKey(), markersForKey);
}
- markersForKey.add(event);
+ markersForKey.add(event.getCheck());
String localizedKey = hash(event.getLocale(), event.getKey());
- markersForKey = (Collection) localizedMarkersIndex.get(localizedKey);
+ markersForKey = localizedMarkersIndex.get(localizedKey);
if (markersForKey == null) {
- markersForKey = new HashSet();
+ markersForKey = new HashSet<IMessageCheck>();
localizedMarkersIndex.put(localizedKey, markersForKey);
}
- markersForKey.add(event);
+ markersForKey.add(event.getCheck());
//System.out.println("CREATE EDITOR MARKER");
setChanged();
@@ -120,11 +121,11 @@
return markersIndex.containsKey(key);
}
- public Collection getFailedChecks(String key) {
- return (Collection)markersIndex.get(key);
+ public Collection<IMessageCheck> getFailedChecks(String key) {
+ return markersIndex.get(key);
}
- public Collection getFailedChecks(final String key, final Locale locale) {
- return (Collection)localizedMarkersIndex.get(hash(locale, key));
+ public Collection<IMessageCheck> getFailedChecks(final String key, final Locale locale) {
+ return localizedMarkersIndex.get(hash(locale, key));
}
private void validate() {
@@ -137,7 +138,7 @@
* @return true when the key has a missing or unused issue
*/
public boolean isMissingOrUnusedKey(String key) {
- Collection markers = getFailedChecks(key);
+ Collection<IMessageCheck> markers = getFailedChecks(key);
return markers != null && markersContainMissing(markers);
}
@@ -151,7 +152,7 @@
if (!isMissingOrUnused) {
return false;
}
- Collection markers = getFailedChecks(key, UIUtils.ROOT_LOCALE);
+ Collection<IMessageCheck> markers = getFailedChecks(key, UIUtils.ROOT_LOCALE);
//if we get a missing on the root locale, it means the
//that some localized resources are referring to a key that is not in
//the default locale anymore: in other words, assuming the
@@ -160,9 +161,9 @@
return markers != null && markersContainMissing(markers);
}
- private boolean markersContainMissing(Collection markers) {
- for (Iterator it = markers.iterator(); it.hasNext(); ) {
- if (((ValidationFailureEvent) it.next()).getCheck() == MissingValueCheck.MISSING_KEY) {
+ private boolean markersContainMissing(Collection<IMessageCheck> markers) {
+ for (IMessageCheck marker : markers) {
+ if (marker == MissingValueCheck.MISSING_KEY) {
return true;
}
}
diff --git a/org.eclipse.babel.editor/src/org/eclipse/babel/editor/i18n/EntryRightBanner.java b/org.eclipse.babel.editor/src/org/eclipse/babel/editor/i18n/EntryRightBanner.java
index 6f0689b..f7699aa 100644
--- a/org.eclipse.babel.editor/src/org/eclipse/babel/editor/i18n/EntryRightBanner.java
+++ b/org.eclipse.babel.editor/src/org/eclipse/babel/editor/i18n/EntryRightBanner.java
@@ -109,11 +109,9 @@
toolBarMgr.removeAll();
actionByMarkerIds.clear();
String key = editor.getSelectedKey();
- Collection checks = editor.getMarkers().getFailedChecks(
+ Collection<IMessageCheck> checks = editor.getMarkers().getFailedChecks(
key, locale);
- for (Iterator iter = checks.iterator(); iter.hasNext();) {
- IMessageCheck check =
- (IMessageCheck) iter.next();
+ for (IMessageCheck check : checks) {
Action action = getCheckAction(key, check);
if (action != null) {
toolBarMgr.add(action);
diff --git a/org.eclipse.babel.editor/src/org/eclipse/babel/editor/resource/validator/ValidationFailureEvent.java b/org.eclipse.babel.editor/src/org/eclipse/babel/editor/resource/validator/ValidationFailureEvent.java
index 4a61e68..b8b6afe 100644
--- a/org.eclipse.babel.editor/src/org/eclipse/babel/editor/resource/validator/ValidationFailureEvent.java
+++ b/org.eclipse.babel.editor/src/org/eclipse/babel/editor/resource/validator/ValidationFailureEvent.java
@@ -32,7 +32,7 @@
* @param locale
* @param key
* @param resource
- * @param check
+ * @param check not null
*/
/*default*/ ValidationFailureEvent(
final MessagesBundleGroup messagesBundleGroup,
@@ -54,7 +54,7 @@
return messagesBundleGroup;
}
/**
- * @return the check
+ * @return the check, never null
*/
public IMessageCheck getCheck() {
return check;
diff --git a/org.eclipse.babel.editor/src/org/eclipse/babel/editor/tree/KeyTreeLabelProvider.java b/org.eclipse.babel.editor/src/org/eclipse/babel/editor/tree/KeyTreeLabelProvider.java
index 88f31c8..1bb6932 100644
--- a/org.eclipse.babel.editor/src/org/eclipse/babel/editor/tree/KeyTreeLabelProvider.java
+++ b/org.eclipse.babel.editor/src/org/eclipse/babel/editor/tree/KeyTreeLabelProvider.java
@@ -13,6 +13,7 @@
import java.util.Collection;
import org.eclipse.babel.core.message.MessagesBundleGroup;
+import org.eclipse.babel.core.message.checks.IMessageCheck;
import org.eclipse.babel.core.message.tree.IKeyTreeModel;
import org.eclipse.babel.core.message.tree.KeyTreeNode;
import org.eclipse.babel.editor.MessagesEditor;
@@ -65,7 +66,7 @@
public Image getImage(Object element) {
if (element instanceof KeyTreeNode) {
KeyTreeNode node = (KeyTreeNode)element;
- Collection c = editor.getMarkers().getFailedChecks(node.getMessageKey());
+ Collection<IMessageCheck> c = editor.getMarkers().getFailedChecks(node.getMessageKey());
if (c == null || c.isEmpty()) {
return UIUtils.getImage(UIUtils.IMAGE_KEY);
}