implemented meaningful toString method for filters
diff --git a/org.eclipse.rmf.reqif10.search.test/src/org/eclipse/rmf/reqif10/search/test/AbstractFilterTest.java b/org.eclipse.rmf.reqif10.search.test/src/org/eclipse/rmf/reqif10/search/test/AbstractFilterTest.java
index 01d1600..94443d2 100644
--- a/org.eclipse.rmf.reqif10.search.test/src/org/eclipse/rmf/reqif10/search/test/AbstractFilterTest.java
+++ b/org.eclipse.rmf.reqif10.search.test/src/org/eclipse/rmf/reqif10/search/test/AbstractFilterTest.java
@@ -27,6 +27,7 @@
 import org.eclipse.rmf.reqif10.SpecObject;
 import org.eclipse.rmf.reqif10.SpecObjectType;
 import org.eclipse.rmf.reqif10.pror.testframework.AbstractItemProviderTest;
+import org.eclipse.rmf.reqif10.search.filter.AbstractAttributeFilter;
 import org.eclipse.rmf.reqif10.search.filter.IFilter;
 import org.eclipse.rmf.reqif10.search.filter.IFilter.Operator;
 import org.junit.Test;
@@ -65,6 +66,16 @@
 		c = (c == null ? 1 : ++c);
 		operatorCounts.put(filter.getOperator(), c);
 		
+		//System.out.println("runnging Filter:");
+		System.out.println(filter.toString());
+		
+		if (filter instanceof AbstractAttributeFilter) {
+			AbstractAttributeFilter new_name = (AbstractAttributeFilter) filter;
+			//System.out.println(new_name.getFilterValue1AsString());
+			
+		}
+		//System.out.println(filter.getFilterValue1());
+		
 		assertEquals(expected, filter.match(getFixture()));
 	}
 	
diff --git a/org.eclipse.rmf.reqif10.search/src/org/eclipse/rmf/reqif10/search/filter/AbstractAttributeFilter.java b/org.eclipse.rmf.reqif10.search/src/org/eclipse/rmf/reqif10/search/filter/AbstractAttributeFilter.java
index aad0577..6f95861 100644
--- a/org.eclipse.rmf.reqif10.search/src/org/eclipse/rmf/reqif10/search/filter/AbstractAttributeFilter.java
+++ b/org.eclipse.rmf.reqif10.search/src/org/eclipse/rmf/reqif10/search/filter/AbstractAttributeFilter.java
@@ -90,4 +90,51 @@
 	public ImmutableSet<Operator> getSupportedOperators() {
 		return SUPPORTED_OPERATORS;
 	}
+	
+	
+	public String toString(){
+		StringBuilder sb = new StringBuilder();
+		
+		String attribute = null;
+		if (getAttribute() instanceof AttributeDefinition) {
+			AttributeDefinition ad = (AttributeDefinition) getAttribute();
+			attribute = ad.getLongName();
+			if (attribute == null){
+				attribute = ad.getDesc();
+			}
+			if (attribute == null){
+				attribute = "Attribute with ID="+ad.getIdentifier();
+			}
+		}else{
+			attribute = getAttribute().toString();
+		}
+		
+		sb.append(attribute);
+		sb.append(" ");
+		
+		sb.append(getOperator().toLocaleString());
+		
+		if (getOperator() == Operator.IS_SET || getOperator() == Operator.IS_NOT_SET){
+			// we dont want any values for these operations and return;
+			return sb.toString();
+		}
+		
+		sb.append(" ");
+		sb.append(getFilterValue1AsString());
+		if (getOperator().equals(Operator.BETWEEN)){
+			sb.append(" and ").append(getFilterValue2AsString());
+		}
+		
+		return sb.toString();
+	}
+	
+	public String getFilterValue1AsString() {
+		return getFilterValue1().toString();
+	}
+	
+	public String getFilterValue2AsString() {
+		return getFilterValue2().toString();
+	}	
+	
+	
 }
diff --git a/org.eclipse.rmf.reqif10.search/src/org/eclipse/rmf/reqif10/search/filter/BoolFilter.java b/org.eclipse.rmf.reqif10.search/src/org/eclipse/rmf/reqif10/search/filter/BoolFilter.java
index fe9e632..321266b 100644
--- a/org.eclipse.rmf.reqif10.search/src/org/eclipse/rmf/reqif10/search/filter/BoolFilter.java
+++ b/org.eclipse.rmf.reqif10.search/src/org/eclipse/rmf/reqif10/search/filter/BoolFilter.java
@@ -108,4 +108,5 @@
 		return SUPPORTED_OPERATORS;
 	}
 
+	
 }
diff --git a/org.eclipse.rmf.reqif10.search/src/org/eclipse/rmf/reqif10/search/filter/DateFilter.java b/org.eclipse.rmf.reqif10.search/src/org/eclipse/rmf/reqif10/search/filter/DateFilter.java
index 4f7ae08..6d200f9 100644
--- a/org.eclipse.rmf.reqif10.search/src/org/eclipse/rmf/reqif10/search/filter/DateFilter.java
+++ b/org.eclipse.rmf.reqif10.search/src/org/eclipse/rmf/reqif10/search/filter/DateFilter.java
@@ -11,6 +11,7 @@
  ******************************************************************************/
 package org.eclipse.rmf.reqif10.search.filter;
 
+import java.text.SimpleDateFormat;
 import java.util.GregorianCalendar;
 
 import org.eclipse.rmf.reqif10.AttributeDefinitionDate;
@@ -59,6 +60,7 @@
 		if (null == attributeDefinition){
 			throw new IllegalArgumentException("AttributeDefinition can not be null");
 		}
+		System.out.println("Instatiated new Filter: " + toString());
 	}
 
 	/**
@@ -76,6 +78,7 @@
 		if (null == internalFeature){
 			throw new IllegalArgumentException("AttributeDefinition can not be null");
 		}
+		System.out.println("Instatiated new Filter: " + toString());
 	}
 	
 	private DateFilter(Operator operator, GregorianCalendar value1, GregorianCalendar value2, 
@@ -234,4 +237,16 @@
 	}
 
 
+	@Override
+	public String getFilterValue1AsString() {
+	    SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MMM-dd");
+	    return fmt.format(getFilterValue1().getTime());
+	}
+	
+	@Override
+	public String getFilterValue2AsString() {
+	    SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MMM-dd");
+	    return fmt.format(getFilterValue2().getTime());
+	}
+	
 }
diff --git a/org.eclipse.rmf.reqif10.search/src/org/eclipse/rmf/reqif10/search/filter/EnumFilter.java b/org.eclipse.rmf.reqif10.search/src/org/eclipse/rmf/reqif10/search/filter/EnumFilter.java
index 44d42e6..215b28d 100644
--- a/org.eclipse.rmf.reqif10.search/src/org/eclipse/rmf/reqif10/search/filter/EnumFilter.java
+++ b/org.eclipse.rmf.reqif10.search/src/org/eclipse/rmf/reqif10/search/filter/EnumFilter.java
@@ -13,6 +13,7 @@
 
 import java.util.Collection;
 import java.util.HashSet;
+import java.util.Iterator;
 
 import org.eclipse.rmf.reqif10.AttributeDefinitionEnumeration;
 import org.eclipse.rmf.reqif10.AttributeValueEnumeration;
@@ -150,5 +151,41 @@
 	public ImmutableSet<Operator> getSupportedOperators() {
 		return SUPPORTED_OPERATORS;
 	}
-
+	
+	
+		
+	@Override
+	public String getFilterValue1AsString() {
+		return enumValuesAsString(getFilterValue1());
+	}
+	
+	@Override
+	public String getFilterValue2AsString() {
+		return null;
+	}
+	
+	
+	private String enumValuesAsString(Collection<EnumValue> values){
+		StringBuilder sb = new StringBuilder("[");
+		for (Iterator<EnumValue> iterator = values.iterator(); iterator
+				.hasNext();) {
+			EnumValue enumValue = (EnumValue) iterator.next();
+			String label = enumValue.getLongName();
+			if (label == null){
+				label = enumValue.getDesc();
+			}
+			if (label == null){
+				label = "ID="+enumValue.getIdentifier();
+			}
+			sb.append(label);
+			
+			if (iterator.hasNext()){
+				sb.append(", ");
+			}
+		}
+		sb.append("]");
+		
+		return sb.toString();
+	}
+	
 }
diff --git a/org.eclipse.rmf.reqif10.search/src/org/eclipse/rmf/reqif10/search/filter/IFilter.java b/org.eclipse.rmf.reqif10.search/src/org/eclipse/rmf/reqif10/search/filter/IFilter.java
index 3fa61f9..57d447e 100644
--- a/org.eclipse.rmf.reqif10.search/src/org/eclipse/rmf/reqif10/search/filter/IFilter.java
+++ b/org.eclipse.rmf.reqif10.search/src/org/eclipse/rmf/reqif10/search/filter/IFilter.java
@@ -12,6 +12,7 @@
  ******************************************************************************/
 package org.eclipse.rmf.reqif10.search.filter;
 
+import java.util.MissingResourceException;
 import java.util.ResourceBundle;
 
 import org.eclipse.rmf.reqif10.SpecElementWithAttributes;
@@ -48,16 +49,22 @@
 		IS_NOT_SET("operator_is_not_set");
 		
 		private String label;
+		
 		private Operator(String label) {
 			this.label = label;
 		}
+		
 		@Override
 		public String toString() {
 			return label;
 		}
 		
 		public String toLocaleString(){
-			return ResourceBundle.getBundle("plugin").getString(label);
+			try{
+				return ResourceBundle.getBundle("plugin").getString(label);
+			}catch (MissingResourceException e){
+				return label;
+			}
 		}
 	}
 	
diff --git a/org.eclipse.rmf.reqif10.search/src/org/eclipse/rmf/reqif10/search/filter/SimpleCompoundFilter.java b/org.eclipse.rmf.reqif10.search/src/org/eclipse/rmf/reqif10/search/filter/SimpleCompoundFilter.java
index b9e0d07..eea0ead 100644
--- a/org.eclipse.rmf.reqif10.search/src/org/eclipse/rmf/reqif10/search/filter/SimpleCompoundFilter.java
+++ b/org.eclipse.rmf.reqif10.search/src/org/eclipse/rmf/reqif10/search/filter/SimpleCompoundFilter.java
@@ -12,6 +12,7 @@
 package org.eclipse.rmf.reqif10.search.filter;
 
 import java.util.Collections;
+import java.util.Iterator;
 import java.util.LinkedList;
 import java.util.List;
 
@@ -100,5 +101,17 @@
 	}
 
 	
-
+	public String toString(){
+		StringBuilder sb = new StringBuilder();
+		String op = orFilter ? " OR " : " AND ";
+		for (Iterator<IFilter> iterator = filters.iterator(); iterator.hasNext();) {
+			IFilter filter = (IFilter) iterator.next();
+			
+			sb.append(filter.toString());
+			if (iterator.hasNext()){
+				sb.append(op + System.getProperty("line.separator"));
+			}
+		}
+		return sb.toString();
+	}
 }
diff --git a/org.eclipse.rmf.reqif10.search/src/org/eclipse/rmf/reqif10/search/filter/XhtmlFilter.java b/org.eclipse.rmf.reqif10.search/src/org/eclipse/rmf/reqif10/search/filter/XhtmlFilter.java
index f905d76..a246049 100644
--- a/org.eclipse.rmf.reqif10.search/src/org/eclipse/rmf/reqif10/search/filter/XhtmlFilter.java
+++ b/org.eclipse.rmf.reqif10.search/src/org/eclipse/rmf/reqif10/search/filter/XhtmlFilter.java
@@ -73,7 +73,7 @@
 				simplifiedString = ProrXhtmlSimplifiedHelper.xhtmlToSimplifiedString(theValue);
 			}
 			
-			System.out.println(simplifiedString);
+			//System.out.println(simplifiedString);
 			
 			return matchRegexp(simplifiedString);
 		}else{