Hi Guys,<br><br>I've got a series of rules that compile fine but no rules seem to fire. The following is the rule file<br><br>/**************************<br>Working times rules<br>***************************/<br><br>package
au.com.codeprotechnology.online.ejb3.logic.crm<br><br>import au.com.codeprotechnology.online.bi.exception.ValidationError<br>import au.com.codeprotechnology.online.persistence.ejb.crm.WorkingTimes<br>import au.com.codeprotechnology.online.ejb3.logic.constants.WorkingTimesConstants
<br>import java.util.Calendar<br><br>rule "Invalid day of week" <br><br> when<br> obj : WorkingTimes(val : primaryKey -> (val.getDayId() == null || val.getDayId().intValue() < Calendar.SUNDAY ||
val.getDayId().intValue() > Calendar.SATURDAY))<br> then<br> obj.addValidationError(new ValidationError(WorkingTimesConstants.MSG_KEY_INVALID_DAY_OF_WEEK, WorkingTimesConstants.MSG_INVALID_DAY_OF_WEEK));<br><br>
end<br><br>rule "Invalid start hour"<br><br> when<br> obj : WorkingTimes(val : startHour -> (val.intValue() < WorkingTimesConstants.MIN_HOUR || val.intValue() > WorkingTimesConstants.MAX_HOUR))
<br> then<br> obj.addValidationError(new ValidationError(WorkingTimesConstants.MSG_KEY_INVALID_START_HOUR, WorkingTimesConstants.MSG_INVALID_START_HOUR));<br><br>end<br><br>rule "Invalid start min"<br>
<br> when<br> obj : WorkingTimes(val : startMin -> (val.intValue() < WorkingTimesConstants.MIN_MINUTE || val.intValue() > WorkingTimesConstants.MAX_MINUTE))<br> then<br> obj.addValidationError
(new ValidationError(WorkingTimesConstants.MSG_KEY_INVALID_START_MIN, WorkingTimesConstants.MSG_INVALID_START_MIN));<br><br>end<br><br>rule "Invalid stop hour"<br><br> when<br> obj : WorkingTimes(val : stopHour -> (
val.intValue() < WorkingTimesConstants.MIN_HOUR || val.intValue() > WorkingTimesConstants.MAX_HOUR))<br> then<br> obj.addValidationError(new ValidationError(WorkingTimesConstants.MSG_KEY_INVALID_STOP_HOUR,
WorkingTimesConstants.MSG_INVALID_STOP_HOUR));<br><br> <br>end<br><br>rule "Invalid stop min"<br><br> when<br> obj : WorkingTimes(val : stopMin -> (val.intValue() < WorkingTimesConstants.MIN_MINUTE
|| val.intValue() > WorkingTimesConstants.MAX_MINUTE))<br> then<br> obj.addValidationError(new ValidationError(WorkingTimesConstants.MSG_KEY_INVALID_STOP_MIN, WorkingTimesConstants.MSG_INVALID_STOP_MIN));<br>
<br>end<br><br>And this is the object I'm trying to assert<br><br>package au.com.codeprotechnology.online.persistence.ejb.crm;<br><br>import java.io.Serializable;<br><br>import javax.persistence.Column;<br>import
javax.persistence.Embeddable;<br>import javax.persistence.EmbeddedId;<br>import javax.persistence.Entity;<br>import javax.persistence.Table;<br>import javax.persistence.Transient;<br><br>import au.com.codeprotechnology.online.persistence.AbstractPersistenceBean
;<br><br>@Entity<br>@Table(name = "WORKING_TIMES")<br>public class WorkingTimes extends AbstractPersistenceBean implements Serializable {<br><br> private static final long serialVersionUID = -4972337627878376131L;
<br> private WorkingTimesPK primaryKey;<br> private Integer startHour;<br> private Integer stopMin;<br> private Integer stopHour;<br> private Integer startMin;<br><br> <br> public WorkingTimes() {<br>
this.primaryKey = new WorkingTimesPK();<br> }<br><br> @EmbeddedId<br> public WorkingTimesPK getPrimaryKey() {<br> return primaryKey;<br> }<br><br> public void setPrimaryKey(WorkingTimesPK primaryKey) {
<br> this.primaryKey = primaryKey;<br> } <br> <br> @Column(name = "START_HOUR")<br> public Integer getStartHour() {<br> return startHour;<br> }<br><br> public void setStartHour(Integer startHour) {
<br> this.startHour = startHour;<br> }<br><br> @Column(name = "START_MIN")<br> public Integer getStartMin() {<br> return startMin;<br> }<br><br> public void setStartMin(Integer startMin) {
<br> this.startMin = startMin;<br> }<br><br> @Column(name = "STOP_HOUR")<br> public Integer getStopHour() {<br> return stopHour;<br> }<br><br> public void setStopHour(Integer stopHour) {
<br> this.stopHour = stopHour;<br> }<br><br> @Column(name = "STOP_MIN")<br> public Integer getStopMin() {<br> return stopMin;<br> }<br><br> public void setStopMin(Integer stopMin) {<br>
this.stopMin = stopMin;<br> }<br> <br> @Embeddable<br> public static class WorkingTimesPK implements Serializable {<br> <br> private static final long serialVersionUID = -567654057787556805L;
<br> private Long supplierId;<br> private Integer dayId;<br> <br> @Column(name = "DAY_ID")<br> public Integer getDayId() {<br> return dayId;<br> }<br>
<br> public void setDayId(Integer dayId) {<br> this.dayId = dayId;<br> }<br> <br> @Column(name = "PREF_ID")<br> public Long getSupplierId() {<br> return supplierId;
<br> }<br> <br> public void setSupplierId(Long supplierId) {<br> this.supplierId = supplierId;<br> }<br> }<br><br> /**<br> * Not Implemented<br> */<br> <br> @Transient
<br> public Long getId() {<br> return null;<br> }<br><br> public void setId(Long id) {<br> <br> }<br>}<br><br>I've got stacks of similar rules and entity beans and it all works fine but this one doesn't seem to want to play. Does anybody have any ideas as to what is missing?
<br><br>