parent
9175a7911f
commit
6ccd2a91a3
@ -0,0 +1,74 @@
|
||||
package info.bukova.isspst.filters;
|
||||
|
||||
import info.bukova.isspst.DateTimeUtils;
|
||||
import info.bukova.isspst.StringUtils;
|
||||
import info.bukova.isspst.data.Invoicing;
|
||||
import info.bukova.isspst.data.Requirement;
|
||||
import info.bukova.isspst.data.Workgroup;
|
||||
|
||||
import org.hamcrest.Description;
|
||||
import org.hamcrest.Factory;
|
||||
import org.hamcrest.Matcher;
|
||||
import org.hamcrest.TypeSafeMatcher;
|
||||
|
||||
public class InvoicingFilter implements Filter<Invoicing>
|
||||
{
|
||||
|
||||
private Invoicing condition;
|
||||
|
||||
public InvoicingFilter(Invoicing cond)
|
||||
{
|
||||
this.condition = cond;
|
||||
}
|
||||
|
||||
private static class InvoicingMatcher extends TypeSafeMatcher<Invoicing>
|
||||
{
|
||||
|
||||
private Invoicing condition;
|
||||
|
||||
public InvoicingMatcher(Invoicing cond)
|
||||
{
|
||||
this.condition = cond;
|
||||
|
||||
if (condition.getRequirement() == null) {
|
||||
condition.setRequirement(new Requirement());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void describeTo(Description desc)
|
||||
{
|
||||
desc.appendText("Invoicing matches");
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean matchesSafely(Invoicing item)
|
||||
{
|
||||
boolean foundNumser = StringUtils.isEqualForFilter(item.getRequirement().getNumser(), condition.getRequirement().getNumser());
|
||||
boolean foundReqDate = DateTimeUtils.isEqualByDateForFilter(item.getRequirement().getReqDate(), condition.getRequirement().getReqDate());
|
||||
boolean foundCenter = Workgroup.isEqualByWorkgroupForFilter(item.getRequirement().getCentre(), condition.getRequirement().getCentre());
|
||||
boolean foundWorkgroup = Workgroup.isEqualByWorkgroupForFilter(item.getRequirement().getWorkgroup(), condition.getRequirement().getWorkgroup());
|
||||
boolean foundDescription = StringUtils.isEqualForFilter(item.getRequirement().getDescription(), condition.getRequirement().getDescription());
|
||||
return (foundNumser && foundReqDate && foundCenter && foundDescription && foundWorkgroup);
|
||||
}
|
||||
|
||||
@Factory
|
||||
public static Matcher<Invoicing> matchBuilding(Invoicing building)
|
||||
{
|
||||
return new InvoicingMatcher(building);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public InvoicingMatcher matcher()
|
||||
{
|
||||
return new InvoicingMatcher(condition);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String queryString()
|
||||
{
|
||||
return "";
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in New Issue